Merged revisions 75022 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75022 | ronald.oussoren | 2009-09-22 21:27:44 +0200 (Tue, 22 Sep 2009) | 8 lines

  Half of the fix for issue 6957: ensure that distutils
  ignores the '-isysroot' option on OSX when the
  corresponding SDK is not installed.

  This ensures that the user can compile extensions
  on OSX 10.6 using the Python.org installer and a
  default installation of Xcode.
........
This commit is contained in:
Ronald Oussoren 2009-09-22 19:31:34 +00:00
parent 5270fce038
commit d787abffc0
1 changed files with 23 additions and 0 deletions

View File

@ -566,6 +566,29 @@ def get_config_vars(*args):
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',
# 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: