X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;ds=sidebyside;f=common.py;h=9141699ffec994e1f914103c0f1b504b4e9e9221;hb=49330fc5ac13e25cb201e62995329cffaf5046f0;hp=742dabf4c45d38d269b5935375297c314436f14d;hpb=c7f5c9a3dc6350252e73b541bb85ab3ed9e64a9c;p=mesa.git diff --git a/common.py b/common.py index 742dabf4c45..9141699ffec 100644 --- a/common.py +++ b/common.py @@ -3,6 +3,7 @@ import os import os.path +import re import subprocess import sys import platform as _platform @@ -28,22 +29,38 @@ _machine_map = { 'ppc' : 'ppc', 'x86_64': 'x86_64', } + + +# find default_machine value if 'PROCESSOR_ARCHITECTURE' in os.environ: default_machine = os.environ['PROCESSOR_ARCHITECTURE'] else: default_machine = _platform.machine() default_machine = _machine_map.get(default_machine, 'generic') + +# find default_llvm value if 'LLVM' in os.environ: default_llvm = 'yes' else: + # Search sys.argv[] for a "platform=foo" argument since we don't have + # an 'env' variable at this point. + platform = default_platform + pattern = re.compile("(platform=)(.*)") + for arg in sys.argv: + m = pattern.match(arg) + if m: + platform = m.group(2) + default_llvm = 'no' try: - if subprocess.call(['llvm-config', '--version'], stdout=subprocess.PIPE) == 0: + if platform != 'windows' and subprocess.call(['llvm-config', '--version'], stdout=subprocess.PIPE) == 0: default_llvm = 'yes' except: pass + +# find default_dri value if default_platform in ('linux', 'freebsd'): default_dri = 'yes' elif default_platform in ('winddk', 'windows', 'wince', 'darwin'): @@ -70,7 +87,7 @@ def AddOptions(opts): opts.Add(EnumOption('machine', 'use machine-specific assembly code', default_machine, allowed_values=('generic', 'ppc', 'x86', 'x86_64'))) opts.Add(EnumOption('platform', 'target platform', default_platform, - allowed_values=('linux', 'cell', 'windows', 'winddk', 'wince', 'darwin', 'embedded'))) + allowed_values=('linux', 'cell', 'windows', 'winddk', 'wince', 'darwin', 'embedded', 'cygwin', 'sunos5'))) opts.Add('toolchain', 'compiler toolchain', 'default') opts.Add(BoolOption('llvm', 'use LLVM', default_llvm)) opts.Add(BoolOption('dri', 'build DRI drivers', default_dri))