scons: Make LLVM a black-white dependency.
Now that draw depends on llvm it is very difficult to correctly handle
broken llvm installations. Either the user requests LLVM and it needs to
supply a working installation. Or it doesn't, and it gets no LLVM
accelerate pipe drivers.
diff --git a/common.py b/common.py
index 97389ed..4b6960c 100644
--- a/common.py
+++ b/common.py
@@ -3,6 +3,7 @@
import os
import os.path
+import subprocess
import sys
import platform as _platform
@@ -33,6 +34,11 @@
default_machine = _platform.machine()
default_machine = _machine_map.get(default_machine, 'generic')
+if 'LLVM' in os.environ or subprocess.call(['llvm-config', '--version'], stdout=subprocess.PIPE) == 0:
+ default_llvm = 'yes'
+else:
+ default_llvm = 'no'
+
if default_platform in ('linux', 'freebsd'):
default_dri = 'yes'
elif default_platform in ('winddk', 'windows', 'wince', 'darwin'):
@@ -61,5 +67,5 @@
opts.Add(EnumOption('platform', 'target platform', default_platform,
allowed_values=('linux', 'cell', 'windows', 'winddk', 'wince', 'darwin', 'embedded')))
opts.Add('toolchain', 'compiler toolchain', 'default')
- opts.Add(BoolOption('llvm', 'use LLVM', 'no'))
+ opts.Add(BoolOption('llvm', 'use LLVM', default_llvm))
opts.Add(BoolOption('dri', 'build DRI drivers', default_dri))