diff options
Diffstat (limited to 'src/engine/SCons/Tool/clangxx.py')
| -rw-r--r-- | src/engine/SCons/Tool/clangxx.py | 17 | 
1 files changed, 14 insertions, 3 deletions
diff --git a/src/engine/SCons/Tool/clangxx.py b/src/engine/SCons/Tool/clangxx.py index f56c9e5..7899228 100644 --- a/src/engine/SCons/Tool/clangxx.py +++ b/src/engine/SCons/Tool/clangxx.py @@ -11,7 +11,7 @@ selection method.  """  # -# Copyright (c) 2001 - 2017 The SCons Foundation +# Copyright (c) 2001 - 2019 The SCons Foundation  #  # Permission is hereby granted, free of charge, to any person obtaining  # a copy of this software and associated documentation files (the @@ -33,7 +33,7 @@ selection method.  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  # -# __revision__ = "src/engine/SCons/Tool/clangxx.py rel_3.0.0:4395:8972f6a2f699 2017/09/18 12:59:24 bdbaddog" +# __revision__ = "src/engine/SCons/Tool/clangxx.py 103260fce95bf5db1c35fb2371983087d85dd611 2019-07-13 18:25:30 bdbaddog"  # Based on SCons/Tool/g++.py by Paweł Tomulik 2014 as a separate tool.  # Brought into the SCons mainline by Russel Winder 2017. @@ -46,6 +46,8 @@ import sys  import SCons.Tool  import SCons.Util  import SCons.Tool.cxx +from SCons.Tool.clangCommon import get_clang_install_dirs +  compilers = ['clang++'] @@ -66,13 +68,22 @@ def generate(env):          env['SHOBJSUFFIX'] = '.pic.o'      elif env['PLATFORM'] == 'sunos':          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=get_clang_install_dirs(env['PLATFORM'])) +        if clangxx: +            clangxx_bin_dir = os.path.dirname(clangxx) +            env.AppendENVPath('PATH', clangxx_bin_dir) +      # determine compiler version      if env['CXX']:          pipe = SCons.Action._subproc(env, [env['CXX'], '--version'],                                       stdin='devnull',                                       stderr='devnull',                                       stdout=subprocess.PIPE) -        if pipe.wait() != 0: return +        if pipe.wait() != 0:  +            return +                  # clang -dumpversion is of no use          line = pipe.stdout.readline()          if sys.version_info[0] > 2:  | 
