mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 11:49:12 +00:00 
			
		
		
		
	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
							
								
									56992e5638
								
							
						
					
					
						commit
						af77a2f371
					
				
					 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,12 +286,12 @@ 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]
 | 
				
			||||||
        elif compiler[:3] == "gcc" or compiler[:3] == "g++":
 | 
					        elif 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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -194,6 +194,10 @@ C-API
 | 
				
			||||||
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