Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3.8] bpo-41100: Support macOS 11 and Apple Silicon #25274

Closed
wants to merge 3 commits into from

Conversation

maxbelanger
Copy link
Contributor

@maxbelanger maxbelanger commented Apr 8, 2021

This is a partial backport of bpo-41100 changes e8b1c038b14b5fc8120aab62c9bf5fb840274cb6 and 96d906b144e6e6aa96c5ffebecbcc5d38034bbda for Python 3.8. We introduce the ability to build Python from source for arm64 on macOS, but we do not make a promise of support. This allows us to omit support for weak-linking of symbols from the macOS SDK based on the deployment target, which are larger changes much more difficult to merge.

This also includes a backport of subsequent bpo-42688 change 7e729978fa08a360cbf936dc215ba7dd25a06a08 to fix build errors with external libffi.

https://bugs.python.org/issue41100

This is a partial backport of bpo-41100 changes `e8b1c038b14b5fc8120aab62c9bf5fb840274cb6` and `96d906b144e6e6aa96c5ffebecbcc5d38034bbda` for Python 3.8. We introduce the ability to build Python from source for `arm64` on macOS, but we do not make a promise of support. This allows us to omit support for Universal2 binaries as well as weak-linking of symbols from the macOS SDK based on the deployment target, which are larger changes much more difficult to merge.

This also includes a backport of subsequent bpo-42688 change `7e729978fa08a360cbf936dc215ba7dd25a06a08` to fix build errors with external `libffi`.
Comment on lines +514 to +515
elif archs == ('arm64', 'x86_64'):
machine = 'universal2'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ronaldoussoren I'm uncertain whether I should leave in the changes to allow universal2? I don't believe Homebrew requires this, nor would we (Dropbox).

I also don't think universal2 would be very practical given I am not back porting the weak linking changes.

@ambv
Copy link
Contributor

ambv commented Apr 26, 2021

We have less than a week to merge this before 3.8 goes into security fixes only mode.

@ned-deily ned-deily self-assigned this Apr 28, 2021
@ned-deily
Copy link
Member

ned-deily commented May 2, 2021

Thanks, @maxbelanger! As noted in bpo-41100, the contents of this PR have been rolled up into #25806. When that PR is resolved, we can close this one.

@ambv ambv closed this May 2, 2021
@maxbelanger
Copy link
Contributor Author

Thanks for getting this over the finish line, @ned-deily!

@maxbelanger maxbelanger deleted the mac-arm64-py38 branch May 2, 2021 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants