summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Tool
diff options
context:
space:
mode:
authorGary Oberbrunner <garyo@oberbrunner.com>2014-05-18 23:51:34 (GMT)
committerGary Oberbrunner <garyo@oberbrunner.com>2014-05-18 23:51:34 (GMT)
commit995d4d8d85125e9cf30dca84979c78cc1735c8ee (patch)
treebb47ccb7b4705f82724646b5952c439bdd9f5650 /src/engine/SCons/Tool
parent506f2c73e916b87e2755e7840bc114027a332381 (diff)
parent7f96f0f6c890a58a1a58c76b0e636024dec2628f (diff)
downloadSCons-995d4d8d85125e9cf30dca84979c78cc1735c8ee.zip
SCons-995d4d8d85125e9cf30dca84979c78cc1735c8ee.tar.gz
SCons-995d4d8d85125e9cf30dca84979c78cc1735c8ee.tar.bz2
Merged in haubi/scons/aix-xlc_r-is-for-threads (pull request #140)
The _r in AIX xlc_r means reentrant, not relocatable.
Diffstat (limited to 'src/engine/SCons/Tool')
-rw-r--r--src/engine/SCons/Tool/aixc++.py19
-rw-r--r--src/engine/SCons/Tool/aixcc.py18
2 files changed, 18 insertions, 19 deletions
diff --git a/src/engine/SCons/Tool/aixc++.py b/src/engine/SCons/Tool/aixc++.py
index 5aa1eeec..c86d530 100644
--- a/src/engine/SCons/Tool/aixc++.py
+++ b/src/engine/SCons/Tool/aixc++.py
@@ -43,8 +43,7 @@ packages = ['vacpp.cmp.core', 'vacpp.cmp.batch', 'vacpp.cmp.C', 'ibmcxx.cmp']
def get_xlc(env):
xlc = env.get('CXX', 'xlC')
- xlc_r = env.get('SHCXX', 'xlC_r')
- return SCons.Platform.aix.get_xlc(env, xlc, xlc_r, packages)
+ return SCons.Platform.aix.get_xlc(env, xlc, packages)
def smart_cxxflags(source, target, env, for_signature):
build_dir = env.GetBuildPath()
@@ -55,20 +54,20 @@ def smart_cxxflags(source, target, env, for_signature):
def generate(env):
"""Add Builders and construction variables for xlC / Visual Age
suite to an Environment."""
- path, _cxx, _shcxx, version = get_xlc(env)
- if path:
+ path, _cxx, version = get_xlc(env)
+ if path and _cxx:
_cxx = os.path.join(path, _cxx)
- _shcxx = os.path.join(path, _shcxx)
+
+ if 'CXX' not in env:
+ env['CXX'] = _cxx
cplusplus.generate(env)
- env['CXX'] = _cxx
- env['SHCXX'] = _shcxx
- env['CXXVERSION'] = version
- env['SHOBJSUFFIX'] = '.pic.o'
+ if version:
+ env['CXXVERSION'] = version
def exists(env):
- path, _cxx, _shcxx, version = get_xlc(env)
+ path, _cxx, version = get_xlc(env)
if path and _cxx:
xlc = os.path.join(path, _cxx)
if os.path.exists(xlc):
diff --git a/src/engine/SCons/Tool/aixcc.py b/src/engine/SCons/Tool/aixcc.py
index 9668f79..a89a97e 100644
--- a/src/engine/SCons/Tool/aixcc.py
+++ b/src/engine/SCons/Tool/aixcc.py
@@ -42,25 +42,25 @@ packages = ['vac.C', 'ibmcxx.cmp']
def get_xlc(env):
xlc = env.get('CC', 'xlc')
- xlc_r = env.get('SHCC', 'xlc_r')
- return SCons.Platform.aix.get_xlc(env, xlc, xlc_r, packages)
+ return SCons.Platform.aix.get_xlc(env, xlc, packages)
def generate(env):
"""Add Builders and construction variables for xlc / Visual Age
suite to an Environment."""
- path, _cc, _shcc, version = get_xlc(env)
- if path:
+ path, _cc, version = get_xlc(env)
+ if path and _cc:
_cc = os.path.join(path, _cc)
- _shcc = os.path.join(path, _shcc)
+
+ if 'CC' not in env:
+ env['CC'] = _cc
cc.generate(env)
- env['CC'] = _cc
- env['SHCC'] = _shcc
- env['CCVERSION'] = version
+ if version:
+ env['CCVERSION'] = version
def exists(env):
- path, _cc, _shcc, version = get_xlc(env)
+ path, _cc, version = get_xlc(env)
if path and _cc:
xlc = os.path.join(path, _cc)
if os.path.exists(xlc):