diff options
author | Brian Paul <[email protected]> | 2010-05-20 10:25:17 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2010-05-20 10:27:12 -0600 |
commit | 5c682485b872537277951a1f6418d97d211a2651 (patch) | |
tree | 3b549c035af751df03ace877943c674c5b10b50b | |
parent | 846b2fccc2a67b08acc6da51f4970fe66ed4559b (diff) |
scons: fix llvm detection
The test for env['platform'] caused an exception since 'env' is not
defined at that point. Instead, determine the target platform by
scanning sys.argv[].
-rw-r--r-- | common.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/common.py b/common.py index 300e91a3766..e396ad94910 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 @@ -37,9 +38,18 @@ default_machine = _machine_map.get(default_machine, 'generic') 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 env['platform'] != 'windows' and 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 |