summaryrefslogtreecommitdiff
path: root/common.py
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2010-05-20 10:25:17 -0600
committerBrian Paul <brianp@vmware.com>2010-05-20 10:27:12 -0600
commit5c682485b872537277951a1f6418d97d211a2651 (patch)
tree3b549c035af751df03ace877943c674c5b10b50b /common.py
parent846b2fccc2a67b08acc6da51f4970fe66ed4559b (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[].
Diffstat (limited to 'common.py')
-rw-r--r--common.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/common.py b/common.py
index 300e91a376..e396ad9491 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