Commit 6512d9fd authored by Tarek Ziadé's avatar Tarek Ziadé

Merged revisions 69342 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r69342 | tarek.ziade | 2009-02-06 02:15:51 +0100 (Fri, 06 Feb 2009) | 1 line

  fixed #1520877: now distutils reads Read  from the environment/Makefile
........
parent b01bd469
...@@ -160,9 +160,9 @@ def customize_compiler(compiler): ...@@ -160,9 +160,9 @@ def customize_compiler(compiler):
varies across Unices and is stored in Python's Makefile. varies across Unices and is stored in Python's Makefile.
""" """
if compiler.compiler_type == "unix": if compiler.compiler_type == "unix":
(cc, cxx, opt, cflags, ccshared, ldshared, so_ext) = \ (cc, cxx, opt, cflags, ccshared, ldshared, so_ext, ar) = \
get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS', get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
'CCSHARED', 'LDSHARED', 'SO') 'CCSHARED', 'LDSHARED', 'SO', 'AR')
if 'CC' in os.environ: if 'CC' in os.environ:
cc = os.environ['CC'] cc = os.environ['CC']
...@@ -183,6 +183,8 @@ def customize_compiler(compiler): ...@@ -183,6 +183,8 @@ def customize_compiler(compiler):
cpp = cpp + ' ' + os.environ['CPPFLAGS'] cpp = cpp + ' ' + os.environ['CPPFLAGS']
cflags = cflags + ' ' + os.environ['CPPFLAGS'] cflags = cflags + ' ' + os.environ['CPPFLAGS']
ldshared = ldshared + ' ' + os.environ['CPPFLAGS'] ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
if 'AR' in os.environ:
ar = os.environ['AR']
cc_cmd = cc + ' ' + cflags cc_cmd = cc + ' ' + cflags
compiler.set_executables( compiler.set_executables(
...@@ -191,7 +193,8 @@ def customize_compiler(compiler): ...@@ -191,7 +193,8 @@ def customize_compiler(compiler):
compiler_so=cc_cmd + ' ' + ccshared, compiler_so=cc_cmd + ' ' + ccshared,
compiler_cxx=cxx, compiler_cxx=cxx,
linker_so=ldshared, linker_so=ldshared,
linker_exe=cc) linker_exe=cc,
archiver=ar)
compiler.shared_lib_extension = so_ext compiler.shared_lib_extension = so_ext
......
...@@ -8,6 +8,13 @@ from test.support import TESTFN ...@@ -8,6 +8,13 @@ from test.support import TESTFN
class SysconfigTestCase(unittest.TestCase): class SysconfigTestCase(unittest.TestCase):
def setUp(self):
self.old_AR = os.environ.get('AR')
def tearDown(self):
if self.old_AR is not None:
os.environ['AR'] = self.old_AR
def test_get_config_h_filename(self): def test_get_config_h_filename(self):
config_h = sysconfig.get_config_h_filename() config_h = sysconfig.get_config_h_filename()
self.assert_(os.path.isfile(config_h), config_h) self.assert_(os.path.isfile(config_h), config_h)
...@@ -32,6 +39,21 @@ class SysconfigTestCase(unittest.TestCase): ...@@ -32,6 +39,21 @@ class SysconfigTestCase(unittest.TestCase):
self.assert_(isinstance(cvars, dict)) self.assert_(isinstance(cvars, dict))
self.assert_(cvars) self.assert_(cvars)
def test_customize_compiler(self):
os.environ['AR'] = 'xxx'
# make sure AR gets caught
class compiler:
compiler_type = 'unix'
def set_executables(self, **kw):
self.exes = kw
comp = compiler()
sysconfig.customize_compiler(comp)
self.assertEquals(comp.exes['archiver'], 'xxx')
def test_suite(): def test_suite():
suite = unittest.TestSuite() suite = unittest.TestSuite()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment