diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2014-07-26 16:31:31 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2014-07-26 16:31:31 +0200 |
commit | df608fa858819f84924451b6a97559671303e8b0 (patch) | |
tree | 931f0ae1302ff7d45e41a1aa4b6dbc96be174744 /src/engine/SCons/Tool/gnulink.py | |
parent | 9d8eae9f5bf53a4a80e29d7a3a1d2c7d7197688a (diff) | |
parent | 78989ebb445af2c6462ae2bf05ffd588d76610e4 (diff) |
Merge tag 'upstream/2.3.2'
Upstream version 2.3.2
Diffstat (limited to 'src/engine/SCons/Tool/gnulink.py')
-rw-r--r-- | src/engine/SCons/Tool/gnulink.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/engine/SCons/Tool/gnulink.py b/src/engine/SCons/Tool/gnulink.py index d475de4..a0cf937 100644 --- a/src/engine/SCons/Tool/gnulink.py +++ b/src/engine/SCons/Tool/gnulink.py @@ -9,7 +9,7 @@ selection method. """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 The SCons Foundation +# Copyright (c) 2001 - 2014 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,14 +31,12 @@ selection method. # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/gnulink.py 2014/03/02 14:18:15 garyo" +__revision__ = "src/engine/SCons/Tool/gnulink.py 2014/07/05 09:42:21 garyo" import SCons.Util import link -linkers = ['g++', 'gcc'] - def generate(env): """Add Builders and construction variables for gnulink to an Environment.""" link.generate(env) @@ -53,7 +51,14 @@ def generate(env): env['_RPATH'] = '${_concat(RPATHPREFIX, RPATH, RPATHSUFFIX, __env__)}' def exists(env): - return env.Detect(linkers) + # TODO: sync with link.smart_link() to choose a linker + linkers = { 'CXX': ['g++'], 'CC': ['gcc'] } + alltools = [] + for langvar, linktools in linkers.items(): + if langvar in env: # use CC over CXX when user specified CC but not CXX + return SCons.Tool.FindTool(linktools, env) + alltools.extend(linktools) + return SCons.Tool.FindTool(alltools, env) # find CXX or CC # Local Variables: # tab-width:4 |