Fix C/C++ compiler choosing on AIX. (Bob Halley)
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Fri, 18 Nov 2005 04:58:55 +0000 (04:58 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Fri, 18 Nov 2005 04:58:55 +0000 (04:58 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@1391 fdb21ef1-2011-0410-befe-b5e4ea1792b1

src/CHANGES.txt
src/engine/SCons/Platform/aix.py

index d75008abc8c30c92b4029f27392ef60eb05ad41f..d087d741d1e8d59ecda26acd568ff8763ded0f64 100644 (file)
@@ -99,6 +99,11 @@ RELEASE 0.97 - XXX
   - Remove unneceesary (and incorrect) SCons.Util strings on some function
     calls in SCons.Util.
 
+  From Bob Halley:
+
+  - Fix C/C++ compiler selection on AIX to not always use the external $CC
+    environment variable.
+
   From August Hörandl:
 
   - Add a scanner for \include and \import files, with support for
index cc1146664d2e06e8f78bfd923954f31d88d680aa..3f77e3b3083b127cfd7cf0a7aca8dc903f6de04c 100644 (file)
@@ -37,13 +37,16 @@ import string
 
 import posix
 
-def get_xlc(env, xlc, xlc_r, packages):
+def get_xlc(env, xlc=None, xlc_r=None, packages=[]):
     # Use the AIX package installer tool lslpp to figure out where a
     # given xl* compiler is installed and what version it is.
     xlcPath = None
     xlcVersion = None
 
-    xlc = env.get('CC', 'xlc')
+    if xlc is None:
+        xlc = env.get('CC', 'xlc')
+    if xlc_r is None:
+        xlc_r = xlc + '_r'
     for package in packages:
         cmd = "lslpp -fc " + package + " 2>/dev/null | egrep '" + xlc + "([^-_a-zA-Z0-9].*)?$'"
         line = os.popen(cmd).readline()