
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@229114 91177308-0d34-0410-b5e6-96231b3b80d8
56 lines
1.3 KiB
Python
56 lines
1.3 KiB
Python
import locale
|
|
import platform
|
|
import sys
|
|
|
|
class TargetInfo(object):
|
|
def platform(self):
|
|
raise NotImplementedError
|
|
|
|
def system(self):
|
|
raise NotImplementedError
|
|
|
|
def platform_ver(self):
|
|
raise NotImplementedError
|
|
|
|
def platform_name(self):
|
|
raise NotImplementedError
|
|
|
|
def supports_locale(self, loc):
|
|
raise NotImplementedError
|
|
|
|
|
|
class LocalTI(TargetInfo):
|
|
def platform(self):
|
|
platform_name = sys.platform.lower().strip()
|
|
# Strip the '2' from linux2.
|
|
if platform_name.startswith('linux'):
|
|
platform_name = 'linux'
|
|
return platform_name
|
|
|
|
def system(self):
|
|
return platform.system()
|
|
|
|
def platform_name(self):
|
|
if self.platform() == 'linux':
|
|
name, _, _ = platform.linux_distribution()
|
|
name = name.lower().strip()
|
|
if name:
|
|
return name
|
|
return None
|
|
|
|
def platform_ver(self):
|
|
if self.platform() == 'linux':
|
|
_, ver, _ = platform.linux_distribution()
|
|
ver = ver.lower().strip()
|
|
if ver:
|
|
return ver
|
|
return None
|
|
|
|
def supports_locale(self, loc):
|
|
try:
|
|
locale.setlocale(locale.LC_ALL, loc)
|
|
return True
|
|
except locale.Error:
|
|
return False
|
|
|