mirror of
https://github.com/python/cpython.git
synced 2025-10-15 03:10:29 +00:00
[3.9] bpo-41100: Support macOS 11 and Apple Silicon (GH-22855) (GH-23295)
* [3.9] 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..
(cherry picked from commit 41761933c1
)
Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com>
* Back port of changes to _decimal to support arm64
* temp_dir is in test.support in 3.9
This commit is contained in:
parent
0aab3522b2
commit
e8b1c038b1
28 changed files with 1659 additions and 413 deletions
|
@ -95,9 +95,6 @@ setup_spawnattr(posix_spawnattr_t* spawnattr)
|
|||
size_t count;
|
||||
cpu_type_t cpu_types[1];
|
||||
short flags = 0;
|
||||
#ifdef __LP64__
|
||||
int ch;
|
||||
#endif
|
||||
|
||||
if ((errno = posix_spawnattr_init(spawnattr)) != 0) {
|
||||
err(2, "posix_spawnattr_int");
|
||||
|
@ -119,10 +116,16 @@ setup_spawnattr(posix_spawnattr_t* spawnattr)
|
|||
|
||||
#elif defined(__ppc__)
|
||||
cpu_types[0] = CPU_TYPE_POWERPC;
|
||||
|
||||
#elif defined(__i386__)
|
||||
cpu_types[0] = CPU_TYPE_X86;
|
||||
|
||||
#elif defined(__arm64__)
|
||||
cpu_types[0] = CPU_TYPE_ARM64;
|
||||
|
||||
#else
|
||||
# error "Unknown CPU"
|
||||
|
||||
#endif
|
||||
|
||||
if (posix_spawnattr_setbinpref_np(spawnattr, count,
|
||||
|
@ -220,7 +223,8 @@ main(int argc, char **argv) {
|
|||
/* We're weak-linking to posix-spawnv to ensure that
|
||||
* an executable build on 10.5 can work on 10.4.
|
||||
*/
|
||||
if (posix_spawn != NULL) {
|
||||
|
||||
if (&posix_spawn != NULL) {
|
||||
posix_spawnattr_t spawnattr = NULL;
|
||||
|
||||
setup_spawnattr(&spawnattr);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue