diff options
author | William Deegan <bill@baddogconsulting.com> | 2018-02-14 16:44:59 (GMT) |
---|---|---|
committer | William Deegan <bill@baddogconsulting.com> | 2018-02-14 16:44:59 (GMT) |
commit | 4685be01723dd4ef4917217e8aff25e92a55f1a5 (patch) | |
tree | eaa531ea1982603d84149fb0c3c0521b622beb6b /src/engine/SCons | |
parent | 2b4d15d103e31f1ac8d7d8f7e19115e5387300b6 (diff) | |
download | SCons-4685be01723dd4ef4917217e8aff25e92a55f1a5.zip SCons-4685be01723dd4ef4917217e8aff25e92a55f1a5.tar.gz SCons-4685be01723dd4ef4917217e8aff25e92a55f1a5.tar.bz2 |
Update default paths for clang compilers. This should hopefully fix some appveyor failures.
Diffstat (limited to 'src/engine/SCons')
-rw-r--r-- | src/engine/SCons/Tool/clang.py | 5 | ||||
-rw-r--r-- | src/engine/SCons/Tool/clang/__init__.py | 16 | ||||
-rw-r--r-- | src/engine/SCons/Tool/clangxx.py | 4 |
3 files changed, 23 insertions, 2 deletions
diff --git a/src/engine/SCons/Tool/clang.py b/src/engine/SCons/Tool/clang.py index a6bae43..aba5598 100644 --- a/src/engine/SCons/Tool/clang.py +++ b/src/engine/SCons/Tool/clang.py @@ -45,6 +45,8 @@ import sys import SCons.Util import SCons.Tool.cc +from SCons.Tool.clang import get_clang_install_dirs + compilers = ['clang'] @@ -54,7 +56,7 @@ def generate(env): if env['PLATFORM'] == 'win32': # Ensure that we have a proper path for clang - clang = SCons.Tool.find_program_path(env, compilers[0], default_paths=[r'C:\Program Files\LLVM\bin',]) + clang = SCons.Tool.find_program_path(env, compilers[0], default_paths=get_clang_install_dirs(env['PLATFORM'])) if clang: clang_bin_dir = os.path.dirname(clang) env.AppendENVPath('PATH', clang_bin_dir) @@ -64,6 +66,7 @@ def generate(env): env['SHCCFLAGS'] = SCons.Util.CLVar('$CCFLAGS') else: env['SHCCFLAGS'] = SCons.Util.CLVar('$CCFLAGS -fPIC') + # determine compiler version if env['CC']: #pipe = SCons.Action._subproc(env, [env['CC'], '-dumpversion'], diff --git a/src/engine/SCons/Tool/clang/__init__.py b/src/engine/SCons/Tool/clang/__init__.py new file mode 100644 index 0000000..775ba80 --- /dev/null +++ b/src/engine/SCons/Tool/clang/__init__.py @@ -0,0 +1,16 @@ +""" +Common routines and data for clang tools +""" + +clang_win32_dirs = [ + r'C:\Program Files\LLVM\bin', + r'C:\cygwin64\bin', + r'C:\msys64', + r'C:\cygwin\bin', + r'C:\msys', +] + +def get_clang_install_dirs(platform): + if platform == 'win32': + return clang_win32_dirs + else return []
\ No newline at end of file diff --git a/src/engine/SCons/Tool/clangxx.py b/src/engine/SCons/Tool/clangxx.py index 63f1b0d..2bf4cf4 100644 --- a/src/engine/SCons/Tool/clangxx.py +++ b/src/engine/SCons/Tool/clangxx.py @@ -46,6 +46,8 @@ import sys import SCons.Tool import SCons.Util import SCons.Tool.cxx +from SCons.Tool.clang import get_clang_install_dirs + compilers = ['clang++'] @@ -68,7 +70,7 @@ def generate(env): env['SHOBJSUFFIX'] = '.pic.o' elif env['PLATFORM'] == 'win32': # Ensure that we have a proper path for clang++ - clangxx = SCons.Tool.find_program_path(env, compilers[0], default_paths=[r'C:\Program Files\LLVM\bin',]) + clangxx = SCons.Tool.find_program_path(env, compilers[0], default_paths=get_clang_install_dirs(env['PLATFORM'])) if clangxx: clangxx_bin_dir = os.path.dirname(clangxx) env.AppendENVPath('PATH', clangxx_bin_dir) |