[Python-checkins] r73490 - in python/trunk: Lib/distutils/tests/test_unixccompiler.py Lib/distutils/unixccompiler.py Misc/NEWS

tarek.ziade python-checkins at python.org
Sat Jun 20 15:57:26 CEST 2009


Author: tarek.ziade
Date: Sat Jun 20 15:57:20 2009
New Revision: 73490

Log:
Fixed #6164 AIX specific linker argument in Distutils unixcompiler

Modified:
   python/trunk/Lib/distutils/tests/test_unixccompiler.py
   python/trunk/Lib/distutils/unixccompiler.py
   python/trunk/Misc/NEWS

Modified: python/trunk/Lib/distutils/tests/test_unixccompiler.py
==============================================================================
--- python/trunk/Lib/distutils/tests/test_unixccompiler.py	(original)
+++ python/trunk/Lib/distutils/tests/test_unixccompiler.py	Sat Jun 20 15:57:20 2009
@@ -86,6 +86,14 @@
         sysconfig.get_config_var = gcv
         self.assertEqual(self.cc.rpath_foo(), '-R/foo')
 
+        # AIX C/C++ linker
+        sys.platform = 'aix'
+        def gcv(v):
+            return 'xxx'
+        sysconfig.get_config_var = gcv
+        self.assertEqual(self.cc.rpath_foo(), '-blibpath:/foo')
+
+
 def test_suite():
     return unittest.makeSuite(UnixCCompilerTestCase)
 

Modified: python/trunk/Lib/distutils/unixccompiler.py
==============================================================================
--- python/trunk/Lib/distutils/unixccompiler.py	(original)
+++ python/trunk/Lib/distutils/unixccompiler.py	Sat Jun 20 15:57:20 2009
@@ -288,23 +288,24 @@
             return "+s -L" + dir
         elif sys.platform[:7] == "irix646" or sys.platform[:6] == "osf1V5":
             return ["-rpath", dir]
-        else:
-            if compiler[:3] == "gcc" or compiler[:3] == "g++":
-                # gcc on non-GNU systems does not need -Wl, but can
-                # use it anyway.  Since distutils has always passed in
-                # -Wl whenever gcc was used in the past it is probably
-                # safest to keep doing so.
-                if sysconfig.get_config_var("GNULD") == "yes":
-                    # GNU ld needs an extra option to get a RUNPATH
-                    # instead of just an RPATH.
-                    return "-Wl,--enable-new-dtags,-R" + dir
-                else:
-                    return "-Wl,-R" + dir
+        elif compiler[:3] == "gcc" or compiler[:3] == "g++":
+            # gcc on non-GNU systems does not need -Wl, but can
+            # use it anyway.  Since distutils has always passed in
+            # -Wl whenever gcc was used in the past it is probably
+            # safest to keep doing so.
+            if sysconfig.get_config_var("GNULD") == "yes":
+                # GNU ld needs an extra option to get a RUNPATH
+                # instead of just an RPATH.
+                return "-Wl,--enable-new-dtags,-R" + dir
             else:
-                # No idea how --enable-new-dtags would be passed on to
-                # ld if this system was using GNU ld.  Don't know if a
-                # system like this even exists.
-                return "-R" + dir
+                return "-Wl,-R" + dir
+        elif sys.platform[:3] == "aix":
+            return "-blibpath:" + dir
+        else:
+            # No idea how --enable-new-dtags would be passed on to
+            # ld if this system was using GNU ld.  Don't know if a
+            # system like this even exists.
+            return "-R" + dir
 
     def library_option(self, lib):
         return "-l" + lib

Modified: python/trunk/Misc/NEWS
==============================================================================
--- python/trunk/Misc/NEWS	(original)
+++ python/trunk/Misc/NEWS	Sat Jun 20 15:57:20 2009
@@ -327,6 +327,9 @@
 Library
 -------
 
+- Issue #6164: Added an AIX specific linker argument in Distutils 
+  unixcompiler. Original patch by Sridhar Ratnakumar.
+
 - Issue #6274: Fixed possible file descriptors leak in subprocess.py
 
 - Issue #6189: Restored compatibility of subprocess.py with Python 2.2.


More information about the Python-checkins mailing list