distutils-sysconfig
authorMatthias Klose <doko@debian.org>
Mon, 10 Jan 2022 10:55:59 +0000 (10:55 +0000)
committerMatthias Klose <doko@debian.org>
Mon, 10 Jan 2022 10:55:59 +0000 (10:55 +0000)
# DP: Get CONFIGURE_CFLAGS, CONFIGURE_CPPFLAGS, CONFIGURE_LDFLAGS from
# DP: the python build, when CFLAGS, CPPFLAGS, LDSHARED) are not set
# DP: in the environment.

# DP: Get CONFIGURE_CFLAGS, CONFIGURE_CPPFLAGS, CONFIGURE_LDFLAGS from
# DP: the python build, when CFLAGS, CPPFLAGS, LDSHARED) are not set
# DP: in the environment.

Gbp-Pq: Name distutils-sysconfig.diff

Lib/distutils/sysconfig.py
Lib/distutils/tests/test_sysconfig.py

index 6edad79ab05dd6299af2075be64d4f9f08f91295..6e7ddaa9b3093e4286d5cb5a91588f87277c6ece 100644 (file)
@@ -200,9 +200,11 @@ def customize_compiler(compiler):
                 _osx_support.customize_compiler(_config_vars)
                 _config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True'
 
-        (cc, cxx, cflags, ccshared, ldshared, shlib_suffix, ar, ar_flags) = \
+        (cc, cxx, cflags, ccshared, ldshared, shlib_suffix, ar, ar_flags,
+         configure_cppflags, configure_cflags, configure_ldflags) = \
             get_config_vars('CC', 'CXX', 'CFLAGS',
-                            'CCSHARED', 'LDSHARED', 'SHLIB_SUFFIX', 'AR', 'ARFLAGS')
+                            'CCSHARED', 'LDSHARED', 'SHLIB_SUFFIX', 'AR', 'ARFLAGS',
+                            'CONFIGURE_CPPFLAGS', 'CONFIGURE_CFLAGS', 'CONFIGURE_LDFLAGS')
 
         if 'CC' in os.environ:
             newcc = os.environ['CC']
@@ -223,13 +225,22 @@ def customize_compiler(compiler):
             cpp = cc + " -E"           # not always
         if 'LDFLAGS' in os.environ:
             ldshared = ldshared + ' ' + os.environ['LDFLAGS']
+        elif configure_ldflags:
+            ldshared = ldshared + ' ' + configure_ldflags
         if 'CFLAGS' in os.environ:
             cflags = cflags + ' ' + os.environ['CFLAGS']
             ldshared = ldshared + ' ' + os.environ['CFLAGS']
+        elif configure_cflags:
+            cflags = cflags + ' ' + configure_cflags
+            ldshared = ldshared + ' ' + configure_cflags
         if 'CPPFLAGS' in os.environ:
             cpp = cpp + ' ' + os.environ['CPPFLAGS']
             cflags = cflags + ' ' + os.environ['CPPFLAGS']
             ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
+        elif configure_cppflags:
+            cpp = cpp + ' ' + configure_cppflags
+            cflags = cflags + ' ' + configure_cppflags
+            ldshared = ldshared + ' ' + configure_cppflags
         if 'AR' in os.environ:
             ar = os.environ['AR']
         if 'ARFLAGS' in os.environ:
@@ -243,7 +254,7 @@ def customize_compiler(compiler):
             compiler=cc_cmd,
             compiler_so=cc_cmd + ' ' + ccshared,
             compiler_cxx=cxx,
-            linker_so=ldshared,
+            linker_so=ldshared + ' ' + ccshared,
             linker_exe=cc,
             archiver=archiver)
 
index 236755d095272fa1dbc9bd2719b6ee4b1597132f..6389ffc05dccbe93fb86631de4184d374fa69918 100644 (file)
@@ -153,18 +153,18 @@ class SysconfigTestCase(support.EnvironGuard, unittest.TestCase):
         comp = self.customize_compiler()
         self.assertEqual(comp.exes['archiver'],
                          'sc_ar --sc-arflags')
-        self.assertEqual(comp.exes['preprocessor'],
-                         'sc_cc -E')
-        self.assertEqual(comp.exes['compiler'],
-                         'sc_cc --sc-cflags')
-        self.assertEqual(comp.exes['compiler_so'],
-                         'sc_cc --sc-cflags --sc-ccshared')
+        self.assertRegex(comp.exes['preprocessor'],
+                         '^sc_cc -E.*')
+        self.assertRegex(comp.exes['compiler'],
+                         '^sc_cc --sc-cflags.*')
+        self.assertRegex(comp.exes['compiler_so'],
+                         '^sc_cc --sc-cflags .* --sc-ccshared')
         self.assertEqual(comp.exes['compiler_cxx'],
                          'sc_cxx')
         self.assertEqual(comp.exes['linker_exe'],
                          'sc_cc')
-        self.assertEqual(comp.exes['linker_so'],
-                         'sc_ldshared')
+        self.assertRegex(comp.exes['linker_so'],
+                         'sc_ldshared.*')
         self.assertEqual(comp.shared_lib_extension, 'sc_shutil_suffix')
 
     def test_parse_makefile_base(self):