mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Merged revisions 77380 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r77380 | tarek.ziade | 2010-01-09 00:57:53 +0100 (Sat, 09 Jan 2010) | 9 lines Merged revisions 77377 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r77377 | tarek.ziade | 2010-01-09 00:42:23 +0100 (Sat, 09 Jan 2010) | 1 line Fixed #7617: all flavors of gcc should be recognized now ........ ................
This commit is contained in:
parent
1a2d3563f9
commit
5e9615fa60
3 changed files with 21 additions and 2 deletions
|
@ -82,6 +82,18 @@ class UnixCCompilerTestCase(unittest.TestCase):
|
||||||
sysconfig.get_config_var = gcv
|
sysconfig.get_config_var = gcv
|
||||||
self.assertEqual(self.cc.rpath_foo(), '-Wl,-R/foo')
|
self.assertEqual(self.cc.rpath_foo(), '-Wl,-R/foo')
|
||||||
|
|
||||||
|
# GCC GNULD with fully qualified configuration prefix
|
||||||
|
# see #7617
|
||||||
|
sys.platform = 'bar'
|
||||||
|
def gcv(v):
|
||||||
|
if v == 'CC':
|
||||||
|
return 'x86_64-pc-linux-gnu-gcc-4.4.2'
|
||||||
|
elif v == 'GNULD':
|
||||||
|
return 'yes'
|
||||||
|
sysconfig.get_config_var = gcv
|
||||||
|
self.assertEqual(self.cc.rpath_foo(), '-Wl,--enable-new-dtags,-R/foo')
|
||||||
|
|
||||||
|
|
||||||
# non-GCC GNULD
|
# non-GCC GNULD
|
||||||
sys.platform = 'bar'
|
sys.platform = 'bar'
|
||||||
def gcv(v):
|
def gcv(v):
|
||||||
|
|
|
@ -264,6 +264,9 @@ class UnixCCompiler(CCompiler):
|
||||||
def library_dir_option(self, dir):
|
def library_dir_option(self, dir):
|
||||||
return "-L" + dir
|
return "-L" + dir
|
||||||
|
|
||||||
|
def _is_gcc(self, compiler_name):
|
||||||
|
return "gcc" in compiler_name or "g++" in compiler_name
|
||||||
|
|
||||||
def runtime_library_dir_option(self, dir):
|
def runtime_library_dir_option(self, dir):
|
||||||
# XXX Hackish, at the very least. See Python bug #445902:
|
# XXX Hackish, at the very least. See Python bug #445902:
|
||||||
# http://sourceforge.net/tracker/index.php
|
# http://sourceforge.net/tracker/index.php
|
||||||
|
@ -283,13 +286,13 @@ class UnixCCompiler(CCompiler):
|
||||||
# MacOSX's linker doesn't understand the -R flag at all
|
# MacOSX's linker doesn't understand the -R flag at all
|
||||||
return "-L" + dir
|
return "-L" + dir
|
||||||
elif sys.platform[:5] == "hp-ux":
|
elif sys.platform[:5] == "hp-ux":
|
||||||
if "gcc" in compiler or "g++" in compiler:
|
if self._is_gcc(compiler):
|
||||||
return ["-Wl,+s", "-L" + dir]
|
return ["-Wl,+s", "-L" + dir]
|
||||||
return ["+s", "-L" + dir]
|
return ["+s", "-L" + dir]
|
||||||
elif sys.platform[:7] == "irix646" or sys.platform[:6] == "osf1V5":
|
elif sys.platform[:7] == "irix646" or sys.platform[:6] == "osf1V5":
|
||||||
return ["-rpath", dir]
|
return ["-rpath", dir]
|
||||||
else:
|
else:
|
||||||
if compiler[:3] == "gcc" or compiler[:3] == "g++":
|
if self._is_gcc(compiler):
|
||||||
# gcc on non-GNU systems does not need -Wl, but can
|
# gcc on non-GNU systems does not need -Wl, but can
|
||||||
# use it anyway. Since distutils has always passed in
|
# use it anyway. Since distutils has always passed in
|
||||||
# -Wl whenever gcc was used in the past it is probably
|
# -Wl whenever gcc was used in the past it is probably
|
||||||
|
|
|
@ -61,6 +61,10 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #7617: Make sure distutils.unixccompiler.UnixCCompiler recognizes
|
||||||
|
gcc when it has a fully qualified configuration prefix. Initial patch
|
||||||
|
by Arfrever.
|
||||||
|
|
||||||
- Issue #7105: Make WeakKeyDictionary and WeakValueDictionary robust against
|
- Issue #7105: Make WeakKeyDictionary and WeakValueDictionary robust against
|
||||||
the destruction of weakref'ed objects while iterating.
|
the destruction of weakref'ed objects while iterating.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue