mirror of
https://github.com/python/cpython.git
synced 2025-10-21 14:12:27 +00:00
Issue #13590: Improve support for OS X Xcode 4:
- Try to avoid building Python or extension modules with problematic llvm-gcc compiler. - Since Xcode 4 removes ppc support, extension module builds now check for ppc compiler support and automatically remove ppc and ppc64 archs when not available. - Since Xcode 4 no longer install SDKs in default locations, extension module builds now revert to using installed headers and libs if the SDK used to build the interpreter is not available. - Update ./configure to use better defaults for universal builds; in particular, --enable-universalsdk=yes uses the Xcode default SDK and --with-universal-archs now defaults to "intel" if ppc not available.
This commit is contained in:
parent
88bc0d2640
commit
cbfb9a56e6
5 changed files with 493 additions and 172 deletions
|
@ -83,9 +83,8 @@ def _darwin_compiler_fixup(compiler_so, cc_args):
|
|||
except ValueError:
|
||||
pass
|
||||
|
||||
# Check if the SDK that is used during compilation actually exists,
|
||||
# the universal build requires the usage of a universal SDK and not all
|
||||
# users have that installed by default.
|
||||
# Check if the SDK that is used during compilation actually exists.
|
||||
# If not, revert to using the installed headers and hope for the best.
|
||||
sysroot = None
|
||||
if '-isysroot' in cc_args:
|
||||
idx = cc_args.index('-isysroot')
|
||||
|
@ -97,7 +96,21 @@ def _darwin_compiler_fixup(compiler_so, cc_args):
|
|||
if sysroot and not os.path.isdir(sysroot):
|
||||
log.warn("Compiling with an SDK that doesn't seem to exist: %s",
|
||||
sysroot)
|
||||
log.warn("Please check your Xcode installation")
|
||||
log.warn("Attempting to compile without the SDK")
|
||||
while True:
|
||||
try:
|
||||
index = cc_args.index('-isysroot')
|
||||
# Strip this argument and the next one:
|
||||
del cc_args[index:index+2]
|
||||
except ValueError:
|
||||
break
|
||||
while True:
|
||||
try:
|
||||
index = compiler_so.index('-isysroot')
|
||||
# Strip this argument and the next one:
|
||||
del compiler_so[index:index+2]
|
||||
except ValueError:
|
||||
break
|
||||
|
||||
return compiler_so
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue