From f182b5e2f6e492cd13eed98d7f248d4146456d8c Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Thu, 16 Sep 2021 14:57:08 -0500 Subject: [PATCH] Split CC to make sure we get the correct basename of the compiler --- distutils/tests/test_unixccompiler.py | 8 ++++++++ distutils/unixccompiler.py | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/distutils/tests/test_unixccompiler.py b/distutils/tests/test_unixccompiler.py index ebd7c161e0..fb9ac03224 100644 --- a/distutils/tests/test_unixccompiler.py +++ b/distutils/tests/test_unixccompiler.py @@ -140,6 +140,14 @@ def gcv(v): sysconfig.get_config_var = gcv self.assertEqual(self.cc.rpath_foo(), '-Wl,--enable-new-dtags,-R/foo') + def gcv(v): + if v == 'CC': + return 'gcc -pthread -B /bar' + elif v == 'GNULD': + return 'yes' + sysconfig.get_config_var = gcv + self.assertEqual(self.cc.rpath_foo(), '-Wl,--enable-new-dtags,-R/foo') + # GCC non-GNULD sys.platform = 'bar' def gcv(v): diff --git a/distutils/unixccompiler.py b/distutils/unixccompiler.py index f51977a5ae..c6f1f0d66a 100644 --- a/distutils/unixccompiler.py +++ b/distutils/unixccompiler.py @@ -231,7 +231,7 @@ def runtime_library_dir_option(self, dir): # this time, there's no way to determine this information from # the configuration data stored in the Python installation, so # we use this hack. - compiler = os.path.basename(sysconfig.get_config_var("CC")) + compiler = os.path.basename(sysconfig.get_config_var("CC").split(" ")[0]) if sys.platform[:6] == "darwin": from distutils.util import get_macosx_target_ver, split_version macosx_target_ver = get_macosx_target_ver()