mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
bpo-41100: Support macOS 11 and Apple Silicon (GH-22855)
Co-authored-by: Lawrence D’Anna <lawrence_danna@apple.com> * Add support for macOS 11 and Apple Silicon (aka arm64) As a side effect of this work use the system copy of libffi on macOS, and remove the vendored copy * Support building on recent versions of macOS while deploying to older versions This allows building installers on macOS 11 while still supporting macOS 10.9.
This commit is contained in:
parent
fd6f6fa403
commit
41761933c1
27 changed files with 1654 additions and 412 deletions
45
configure
vendored
45
configure
vendored
|
@ -1511,8 +1511,8 @@ Optional Packages:
|
|||
specify the kind of universal binary that should be
|
||||
created. this option is only valid when
|
||||
--enable-universalsdk is set; options are:
|
||||
("32-bit", "64-bit", "3-way", "intel", "intel-32",
|
||||
"intel-64", or "all") see Mac/README.rst
|
||||
("universal2", "32-bit", "64-bit", "3-way", "intel",
|
||||
"intel-32", "intel-64", or "all") see Mac/README.rst
|
||||
--with-framework-name=FRAMEWORK
|
||||
specify the name for the python framework on macOS
|
||||
only valid when --enable-framework is set. see
|
||||
|
@ -7002,7 +7002,7 @@ fi
|
|||
|
||||
|
||||
|
||||
# The -arch flags for universal builds on OSX
|
||||
# The -arch flags for universal builds on macOS
|
||||
UNIVERSAL_ARCH_FLAGS=
|
||||
|
||||
|
||||
|
@ -7529,6 +7529,11 @@ $as_echo "$CC" >&6; }
|
|||
LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386"
|
||||
ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc"
|
||||
;;
|
||||
universal2)
|
||||
UNIVERSAL_ARCH_FLAGS="-arch arm64 -arch x86_64"
|
||||
LIPO_32BIT_FLAGS=""
|
||||
ARCH_RUN_32BIT="true"
|
||||
;;
|
||||
intel)
|
||||
UNIVERSAL_ARCH_FLAGS="-arch i386 -arch x86_64"
|
||||
LIPO_32BIT_FLAGS="-extract i386"
|
||||
|
@ -7550,7 +7555,7 @@ $as_echo "$CC" >&6; }
|
|||
ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc"
|
||||
;;
|
||||
*)
|
||||
as_fn_error $? "proper usage is --with-universal-arch=32-bit|64-bit|all|intel|3-way" "$LINENO" 5
|
||||
as_fn_error $? "proper usage is --with-universal-arch=universal2|32-bit|64-bit|all|intel|3-way" "$LINENO" 5
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -9382,7 +9387,7 @@ fi
|
|||
MACOSX_DEFAULT_ARCH="ppc"
|
||||
;;
|
||||
*)
|
||||
as_fn_error $? "Unexpected output of 'arch' on OSX" "$LINENO" 5
|
||||
as_fn_error $? "Unexpected output of 'arch' on macOS" "$LINENO" 5
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
@ -9392,9 +9397,12 @@ fi
|
|||
;;
|
||||
ppc)
|
||||
MACOSX_DEFAULT_ARCH="ppc64"
|
||||
;;
|
||||
arm64)
|
||||
MACOSX_DEFAULT_ARCH="arm64"
|
||||
;;
|
||||
*)
|
||||
as_fn_error $? "Unexpected output of 'arch' on OSX" "$LINENO" 5
|
||||
as_fn_error $? "Unexpected output of 'arch' on macOS" "$LINENO" 5
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -12029,6 +12037,31 @@ else
|
|||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _dyld_shared_cache_contains_path" >&5
|
||||
$as_echo_n "checking for _dyld_shared_cache_contains_path... " >&6; }
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <mach-o/dyld.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
void *x=_dyld_shared_cache_contains_path
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
|
||||
$as_echo "#define HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH 1" >>confdefs.h
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue