|
|
|
@ -624,7 +624,7 @@ def get_config_vars(*args): |
|
|
|
# are in CFLAGS or LDFLAGS and remove them if they are. |
|
|
|
# This is needed when building extensions on a 10.3 system |
|
|
|
# using a universal build of python. |
|
|
|
for key in ('LDFLAGS', 'BASECFLAGS', |
|
|
|
for key in ('LDFLAGS', 'BASECFLAGS', 'LDSHARED', |
|
|
|
# a number of derived variables. These need to be |
|
|
|
# patched up as well. |
|
|
|
'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'): |
|
|
|
@ -669,16 +669,39 @@ def get_config_vars(*args): |
|
|
|
# that OS release. |
|
|
|
if 'ARCHFLAGS' in os.environ: |
|
|
|
arch = os.environ['ARCHFLAGS'] |
|
|
|
for key in ('LDFLAGS', 'BASECFLAGS', |
|
|
|
for key in ('LDFLAGS', 'BASECFLAGS', 'LDSHARED', |
|
|
|
# a number of derived variables. These need to be |
|
|
|
# patched up as well. |
|
|
|
'CFLAGS', 'PY_CFLAGS', 'BLDSHARED', 'LDSHARED'): |
|
|
|
'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'): |
|
|
|
|
|
|
|
flags = _config_vars[key] |
|
|
|
flags = re.sub('-arch\s+\w+\s', ' ', flags) |
|
|
|
flags = flags + ' ' + arch |
|
|
|
_config_vars[key] = flags |
|
|
|
|
|
|
|
# If we're on OSX 10.5 or later and the user tries to |
|
|
|
# compiles an extension using an SDK that is not present |
|
|
|
# on the current machine it is better to not use an SDK |
|
|
|
# than to fail. |
|
|
|
# |
|
|
|
# The major usecase for this is users using a Python.org |
|
|
|
# binary installer on OSX 10.6: that installer uses |
|
|
|
# the 10.4u SDK, but that SDK is not installed by default |
|
|
|
# when you install Xcode. |
|
|
|
# |
|
|
|
m = re.search('-isysroot\s+(\S+)', _config_vars['CFLAGS']) |
|
|
|
if m is not None: |
|
|
|
sdk = m.group(1) |
|
|
|
if not os.path.exists(sdk): |
|
|
|
for key in ('LDFLAGS', 'BASECFLAGS', 'LDSHARED', |
|
|
|
# a number of derived variables. These need to be |
|
|
|
# patched up as well. |
|
|
|
'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'): |
|
|
|
|
|
|
|
flags = _config_vars[key] |
|
|
|
flags = re.sub('-isysroot\s+\S+(\s|$)', ' ', flags) |
|
|
|
_config_vars[key] = flags |
|
|
|
|
|
|
|
if args: |
|
|
|
vals = [] |
|
|
|
for name in args: |
|
|
|
|