mirror of https://github.com/python/cpython
Fixed #7617: all flavors of gcc should be recognized now
This commit is contained in:
parent
5b77d6dfa3
commit
c25417f644
|
@ -82,6 +82,18 @@ class UnixCCompilerTestCase(unittest.TestCase):
|
|||
sysconfig.get_config_var = gcv
|
||||
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
|
||||
sys.platform = 'bar'
|
||||
def gcv(v):
|
||||
|
|
|
@ -266,6 +266,9 @@ class UnixCCompiler(CCompiler):
|
|||
def library_dir_option(self, 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):
|
||||
# XXX Hackish, at the very least. See Python bug #445902:
|
||||
# http://sourceforge.net/tracker/index.php
|
||||
|
@ -285,12 +288,12 @@ class UnixCCompiler(CCompiler):
|
|||
# MacOSX's linker doesn't understand the -R flag at all
|
||||
return "-L" + dir
|
||||
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 ["+s", "-L" + dir]
|
||||
elif sys.platform[:7] == "irix646" or sys.platform[:6] == "osf1V5":
|
||||
return ["-rpath", dir]
|
||||
elif compiler[:3] == "gcc" or compiler[:3] == "g++":
|
||||
elif self._is_gcc(compiler):
|
||||
# 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
|
||||
|
|
|
@ -65,6 +65,10 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #7617: Make sure distutils.unixccompiler.UnixCCompiler recognizes
|
||||
gcc when it has a fully qualified configuration prefix. Initial patch
|
||||
by Arfrever.
|
||||
|
||||
- Issue #7092: Remove py3k warning when importing cPickle. 2to3 handles
|
||||
renaming of `cPickle` to `pickle`. The warning was annoying since there's
|
||||
no alternative to cPickle if you care about performance. Patch by Florent
|
||||
|
|
Loading…
Reference in New Issue