From a39c2cb4f2881351fb8844d5e5a49e5bc80e2f8a Mon Sep 17 00:00:00 2001 From: Masood Malekghassemi Date: Sat, 16 Jul 2016 00:17:10 -0700 Subject: Handle distutils command idiosyncracies --- src/python/grpcio/_unixccompiler_patch.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/python/grpcio/_unixccompiler_patch.py') diff --git a/src/python/grpcio/_unixccompiler_patch.py b/src/python/grpcio/_unixccompiler_patch.py index 0ce5d63e98..894c3ef395 100644 --- a/src/python/grpcio/_unixccompiler_patch.py +++ b/src/python/grpcio/_unixccompiler_patch.py @@ -34,6 +34,7 @@ from distutils import errors from distutils import unixccompiler import os import os.path +import shlex import shutil import sys import tempfile @@ -47,6 +48,9 @@ def _unix_commandfile_spawn(self, command): Some commands like `gcc` (and friends like `clang`) support command files to work around shell command length limits. """ + # Sometimes distutils embeds the executables as full strings including some + # hard-coded flags rather than as lists. + command = list(shlex.split(command[0])) + list(command[1:]) command_base = os.path.basename(command[0].strip()) if command_base == 'ccache': command_base = command[:2] -- cgit v1.2.3