summaryrefslogtreecommitdiffstats
path: root/configure.py
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2014-09-19 15:49:00 (GMT)
committerNico Weber <nicolasweber@gmx.de>2014-09-19 15:50:24 (GMT)
commit13dfea4f8ddb38dae127e023d5d25292c4fefb14 (patch)
tree2ecd5c1807a2cd55e825a6b3e162389f422b4ae3 /configure.py
parent213c44a51c1309f0b03a7c2763a7599c8cb9a41f (diff)
downloadNinja-13dfea4f8ddb38dae127e023d5d25292c4fefb14.zip
Ninja-13dfea4f8ddb38dae127e023d5d25292c4fefb14.tar.gz
Ninja-13dfea4f8ddb38dae127e023d5d25292c4fefb14.tar.bz2
Make auto-reconfiguring work if CFLAGS contains more than one flag.
When using an open-source clang on OS X, one has to pass an isysroot flag so that it can find system headers (stdio.h), like so: CXX=path/to/clang++ CFLAGS="-isysroot $(xcrun -show-sdk-path)" ./configure.py Previously, configure.py wouldn't quote envvars containing spaces, so it'd rerun this as CXX=path/to/clang++ CFLAGS=-isysroot /sysroot/path ./configure.py which would then die because /sysroot/path wasn't excecutable.
Diffstat (limited to 'configure.py')
-rwxr-xr-xconfigure.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/configure.py b/configure.py
index a307043..01fd301 100755
--- a/configure.py
+++ b/configure.py
@@ -23,6 +23,7 @@ from __future__ import print_function
from optparse import OptionParser
import os
+import pipes
import sys
import platform_helper
sys.path.insert(0, 'misc')
@@ -77,7 +78,8 @@ n.variable('configure_args', ' '.join(sys.argv[1:]))
env_keys = set(['CXX', 'AR', 'CFLAGS', 'LDFLAGS'])
configure_env = dict((k, os.environ[k]) for k in os.environ if k in env_keys)
if configure_env:
- config_str = ' '.join([k + '=' + configure_env[k] for k in configure_env])
+ config_str = ' '.join([k + '=' + pipes.quote(configure_env[k])
+ for k in configure_env])
n.variable('configure_env', config_str + '$ ')
n.newline()