diff options
author | Tarek Ziadé <ziade.tarek@gmail.com> | 2009-09-09 08:14:20 (GMT) |
---|---|---|
committer | Tarek Ziadé <ziade.tarek@gmail.com> | 2009-09-09 08:14:20 (GMT) |
commit | bed26a3ce371d5244898e1d160a3ca566aec4486 (patch) | |
tree | ead8771e511d3cc67813dd06fa8d1dc7e9a9e1bf /Lib | |
parent | 7f6d0834f987f1f1599347131de4f5e9e8cb4864 (diff) | |
download | cpython-bed26a3ce371d5244898e1d160a3ca566aec4486.zip cpython-bed26a3ce371d5244898e1d160a3ca566aec4486.tar.gz cpython-bed26a3ce371d5244898e1d160a3ca566aec4486.tar.bz2 |
Issue #6163: Fixed HP-UX runtime library dir options in distutils.unixcompiler
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/distutils/tests/test_unixccompiler.py | 18 | ||||
-rw-r--r-- | Lib/distutils/unixccompiler.py | 4 |
2 files changed, 20 insertions, 2 deletions
diff --git a/Lib/distutils/tests/test_unixccompiler.py b/Lib/distutils/tests/test_unixccompiler.py index 96f5454..1b7dd4c 100644 --- a/Lib/distutils/tests/test_unixccompiler.py +++ b/Lib/distutils/tests/test_unixccompiler.py @@ -36,7 +36,23 @@ class UnixCCompilerTestCase(unittest.TestCase): # hp-ux sys.platform = 'hp-ux' - self.assertEqual(self.cc.rpath_foo(), '+s -L/foo') + old_gcv = sysconfig.get_config_var + def gcv(v): + return 'xxx' + sysconfig.get_config_var = gcv + self.assertEqual(self.cc.rpath_foo(), ['+s', '-L/foo']) + + def gcv(v): + return 'gcc' + sysconfig.get_config_var = gcv + self.assertEqual(self.cc.rpath_foo(), ['-Wl,+s', '-L/foo']) + + def gcv(v): + return 'g++' + sysconfig.get_config_var = gcv + self.assertEqual(self.cc.rpath_foo(), ['-Wl,+s', '-L/foo']) + + sysconfig.get_config_var = old_gcv # irix646 sys.platform = 'irix646' diff --git a/Lib/distutils/unixccompiler.py b/Lib/distutils/unixccompiler.py index 129ac8c..2083f82 100644 --- a/Lib/distutils/unixccompiler.py +++ b/Lib/distutils/unixccompiler.py @@ -285,7 +285,9 @@ class UnixCCompiler(CCompiler): # MacOSX's linker doesn't understand the -R flag at all return "-L" + dir elif sys.platform[:5] == "hp-ux": - return "+s -L" + dir + if "gcc" in compiler or "g++" in compiler: + return ["-Wl,+s", "-L" + dir] + return ["+s", "-L" + dir] elif sys.platform[:7] == "irix646" or sys.platform[:6] == "osf1V5": return ["-rpath", dir] elif compiler[:3] == "gcc" or compiler[:3] == "g++": |