diff options
author | Ralf Gommers <ralf.gommers@gmail.com> | 2021-11-12 15:45:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-12 15:45:08 +0100 |
commit | 689d905f501b7abbddf0fdef241fa586a83e5cd6 (patch) | |
tree | c3a1d1b6831365b2a8520dbb493693ac61701045 /numpy/distutils | |
parent | 2513620bfbb30fa55bbbba1902f29284adab650c (diff) | |
parent | 7dcf62379f41407d8f9583d1c2016e3d8ec48384 (diff) | |
download | numpy-689d905f501b7abbddf0fdef241fa586a83e5cd6.tar.gz |
Merge pull request #20116 from marcan/fix-ccompiler
MAINT: Fix issue with C compiler args containing spaces
Diffstat (limited to 'numpy/distutils')
-rw-r--r-- | numpy/distutils/unixccompiler.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/numpy/distutils/unixccompiler.py b/numpy/distutils/unixccompiler.py index 733a9fc50..4884960fd 100644 --- a/numpy/distutils/unixccompiler.py +++ b/numpy/distutils/unixccompiler.py @@ -5,6 +5,7 @@ unixccompiler - can handle very long argument lists for ar. import os import sys import subprocess +import shlex from distutils.errors import CompileError, DistutilsExecError, LibError from distutils.unixccompiler import UnixCCompiler @@ -30,15 +31,15 @@ def UnixCCompiler__compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts if 'OPT' in os.environ: # XXX who uses this? from sysconfig import get_config_vars - opt = " ".join(os.environ['OPT'].split()) - gcv_opt = " ".join(get_config_vars('OPT')[0].split()) - ccomp_s = " ".join(self.compiler_so) + opt = shlex.join(shlex.split(os.environ['OPT'])) + gcv_opt = shlex.join(shlex.split(get_config_vars('OPT')[0])) + ccomp_s = shlex.join(self.compiler_so) if opt not in ccomp_s: ccomp_s = ccomp_s.replace(gcv_opt, opt) - self.compiler_so = ccomp_s.split() - llink_s = " ".join(self.linker_so) + self.compiler_so = shlex.split(ccomp_s) + llink_s = shlex.join(self.linker_so) if opt not in llink_s: - self.linker_so = llink_s.split() + opt.split() + self.linker_so = self.linker_so + shlex.split(opt) display = '%s: %s' % (os.path.basename(self.compiler_so[0]), src) |