Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 511036 | Differences between
and this patch

Collapse All | Expand All

(-)a/src/engine/SCons/Tool/aixlink.py (-7 / +8 lines)
Lines 37-43 Link Here
37
37
38
import SCons.Util
38
import SCons.Util
39
39
40
import aixcc
41
import link
40
import link
42
41
43
cplusplus = __import__('c++', globals(), locals(), [])
42
cplusplus = __import__('c++', globals(), locals(), [])
Lines 62-73 Link Here
62
    env['SHLIBSUFFIX']    = '.a'
61
    env['SHLIBSUFFIX']    = '.a'
63
62
64
def exists(env):
63
def exists(env):
65
    path, _cc, _shcc, version = aixcc.get_xlc(env)
64
    # TODO: sync with link.smart_link() to choose a linker
66
    if path and _cc:
65
    linkers = { 'CXX': ['aixc++'], 'CC': ['aixcc'] }
67
        xlc = os.path.join(path, _cc)
66
    alltools = []
68
        if os.path.exists(xlc):
67
    for langvar, linktools in linkers.items():
69
            return xlc
68
        if langvar in env: # use CC over CXX when user specified CC but not CXX
70
    return None
69
            return SCons.Tool.FindTool(linktools, env)
70
        alltools.extend(linktools)
71
    return SCons.Tool.FindTool(alltools, env)
71
72
72
# Local Variables:
73
# Local Variables:
73
# tab-width:4
74
# tab-width:4
(-)a/src/engine/SCons/Tool/gnulink.py (-3 / +8 lines)
Lines 37-44 Link Here
37
37
38
import link
38
import link
39
39
40
linkers = ['g++', 'gcc']
41
42
def generate(env):
40
def generate(env):
43
    """Add Builders and construction variables for gnulink to an Environment."""
41
    """Add Builders and construction variables for gnulink to an Environment."""
44
    link.generate(env)
42
    link.generate(env)
Lines 53-59 Link Here
53
    env['_RPATH'] = '${_concat(RPATHPREFIX, RPATH, RPATHSUFFIX, __env__)}'
51
    env['_RPATH'] = '${_concat(RPATHPREFIX, RPATH, RPATHSUFFIX, __env__)}'
54
    
52
    
55
def exists(env):
53
def exists(env):
56
    return env.Detect(linkers)
54
    # TODO: sync with link.smart_link() to choose a linker
55
    linkers = { 'CXX': ['g++'], 'CC': ['gcc'] }
56
    alltools = []
57
    for langvar, linktools in linkers.items():
58
        if langvar in env: # use CC over CXX when user specified CC but not CXX
59
            return SCons.Tool.FindTool(linktools, env)
60
        alltools.extend(linktools)
61
    return SCons.Tool.FindTool(alltools, env) # find CXX or CC
57
62
58
# Local Variables:
63
# Local Variables:
59
# tab-width:4
64
# tab-width:4

Return to bug 511036