summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2005-04-25 07:14:03 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2005-04-25 07:14:03 (GMT)
commitd7c795e72966f7c72b94b919f3539be66495e6c3 (patch)
treea2cea19622186e95faeb32553e1635d185ad8d4c /Lib
parent08cd598c2145d00f1517c93cabf80a5d7d2a4bc0 (diff)
downloadcpython-d7c795e72966f7c72b94b919f3539be66495e6c3.zip
cpython-d7c795e72966f7c72b94b919f3539be66495e6c3.tar.gz
cpython-d7c795e72966f7c72b94b919f3539be66495e6c3.tar.bz2
Make parse_makefile fallback to environment variables if nothing is
defined in the makefile. Get CFLAGS from the Makefile, instead of getting OPT, BASE_CFLAGS and EXTRA_CFLAGS individually.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/distutils/sysconfig.py35
1 files changed, 14 insertions, 21 deletions
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
index 1bd6209..0be5b6b 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -146,8 +146,8 @@ def customize_compiler(compiler):
varies across Unices and is stored in Python's Makefile.
"""
if compiler.compiler_type == "unix":
- (cc, cxx, opt, extra_cflags, basecflags, ccshared, ldshared, so_ext) = \
- get_config_vars('CC', 'CXX', 'OPT', 'EXTRA_CFLAGS', 'BASECFLAGS',
+ (cc, cxx, opt, cflags, ccshared, ldshared, so_ext) = \
+ get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
'CCSHARED', 'LDSHARED', 'SO')
if os.environ.has_key('CC'):
@@ -162,17 +162,15 @@ def customize_compiler(compiler):
cpp = cc + " -E" # not always
if os.environ.has_key('LDFLAGS'):
ldshared = ldshared + ' ' + os.environ['LDFLAGS']
- if basecflags:
- opt = basecflags + ' ' + opt
if os.environ.has_key('CFLAGS'):
- opt = opt + ' ' + os.environ['CFLAGS']
+ cflags = opt + ' ' + os.environ['CFLAGS']
ldshared = ldshared + ' ' + os.environ['CFLAGS']
if os.environ.has_key('CPPFLAGS'):
cpp = cpp + ' ' + os.environ['CPPFLAGS']
- opt = opt + ' ' + os.environ['CPPFLAGS']
+ cflags = cflags + ' ' + os.environ['CPPFLAGS']
ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
- cc_cmd = ' '.join(str(x) for x in (cc, opt, extra_cflags) if x)
+ cc_cmd = cc + ' ' + cflags
compiler.set_executables(
preprocessor=cpp,
compiler=cc_cmd,
@@ -278,25 +276,20 @@ def parse_makefile(fn, g=None):
m = _findvar1_rx.search(value) or _findvar2_rx.search(value)
if m:
n = m.group(1)
+ found = True
if done.has_key(n):
- after = value[m.end():]
- value = value[:m.start()] + str(done[n]) + after
- if "$" in after:
- notdone[name] = value
- else:
- try: value = int(value)
- except ValueError:
- done[name] = string.strip(value)
- else:
- done[name] = value
- del notdone[name]
+ item = str(done[n])
elif notdone.has_key(n):
# get it on a subsequent round
- pass
+ found = False
+ elif os.environ.has_key(n):
+ # do it like make: fall back to environment
+ item = os.environ[n]
else:
- done[n] = ""
+ done[n] = item = ""
+ if found:
after = value[m.end():]
- value = value[:m.start()] + after
+ value = value[:m.start()] + item + after
if "$" in after:
notdone[name] = value
else: