diff options
author | Tarek Ziadé <ziade.tarek@gmail.com> | 2009-06-28 21:30:52 (GMT) |
---|---|---|
committer | Tarek Ziadé <ziade.tarek@gmail.com> | 2009-06-28 21:30:52 (GMT) |
commit | 8f480e54016cee1ad30dec42eb1d768523266271 (patch) | |
tree | 047ee02298769b3965ab24506465971f5d186375 /Lib | |
parent | cc9144a9165a84a7f4d3e122096b7763a35b5efa (diff) | |
download | cpython-8f480e54016cee1ad30dec42eb1d768523266271.zip cpython-8f480e54016cee1ad30dec42eb1d768523266271.tar.gz cpython-8f480e54016cee1ad30dec42eb1d768523266271.tar.bz2 |
Merged revisions 73490 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r73490 | tarek.ziade | 2009-06-20 15:57:20 +0200 (Sat, 20 Jun 2009) | 1 line
Fixed #6164 AIX specific linker argument in Distutils unixcompiler
........
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/distutils/tests/test_unixccompiler.py | 8 | ||||
-rw-r--r-- | Lib/distutils/unixccompiler.py | 33 |
2 files changed, 25 insertions, 16 deletions
diff --git a/Lib/distutils/tests/test_unixccompiler.py b/Lib/distutils/tests/test_unixccompiler.py index 94e9edf..96f5454 100644 --- a/Lib/distutils/tests/test_unixccompiler.py +++ b/Lib/distutils/tests/test_unixccompiler.py @@ -86,6 +86,14 @@ class UnixCCompilerTestCase(unittest.TestCase): 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) diff --git a/Lib/distutils/unixccompiler.py b/Lib/distutils/unixccompiler.py index c11544d..26d2856 100644 --- a/Lib/distutils/unixccompiler.py +++ b/Lib/distutils/unixccompiler.py @@ -286,23 +286,24 @@ class UnixCCompiler(CCompiler): 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 |