From dc3b6cbceef13243845661c2d39fd142c74db8c5 Mon Sep 17 00:00:00 2001 From: Matthias Klose Date: Sun, 28 Feb 2021 17:03:44 +0000 Subject: [PATCH] distutils-sysconfig # 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 | 17 ++++++++++++++--- Lib/distutils/tests/test_sysconfig.py | 16 ++++++++-------- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py index 6edad79..6e7ddaa 100644 --- a/Lib/distutils/sysconfig.py +++ b/Lib/distutils/sysconfig.py @@ -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) diff --git a/Lib/distutils/tests/test_sysconfig.py b/Lib/distutils/tests/test_sysconfig.py index 236755d..6389ffc 100644 --- a/Lib/distutils/tests/test_sysconfig.py +++ b/Lib/distutils/tests/test_sysconfig.py @@ -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): -- 2.30.2