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

Switch to using .dylib format for iOS binary modules #187

Merged
merged 9 commits into from
Sep 26, 2023
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
*.swp
.envrc
.vscode/
alias/*
archive/*
build/*
diff/*
Expand All @@ -17,3 +18,6 @@ wheels/*
__pycache__
tests/testbed/macOS
tests/testbed/iOS
*.log
*.gz
*.DS_Store
286 changes: 175 additions & 111 deletions Makefile

Large diffs are not rendered by default.

11 changes: 5 additions & 6 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,10 @@ repository:
* `Python 3.9 <https://github.com/beeware/Python-Apple-support/tree/3.9>`__
* `Python 3.10 <https://github.com/beeware/Python-Apple-support/tree/3.10>`__

It works by downloading, patching, and building a fat binary of Python and
selected pre-requisites, and packaging them as static libraries that can be
incorporated into an Xcode project. The binary modules in the Python standard
library are statically compiled, but are distribted as ``.so`` objects that
can be dynamically loaded at runtime.
It works by downloading, patching, and building a fat binary of Python and selected
pre-requisites, and packaging them as static libraries that can be incorporated into an
XCode project. The binary modules in the Python standard library are statically
compiled, but are distributed as objects that can be dynamically loaded at runtime.

It exposes *almost* all the modules in the Python standard library except for:

Expand Down Expand Up @@ -90,7 +89,7 @@ Each support package contains:

* ``VERSIONS``, a text file describing the specific versions of code used to
build the support package;
* ``Python.xcframework``, a multi-architecture build of libPython3.11.a
* ``Python.xcframework``, a multi-architecture build of the Python runtime library
* ``python-stdlib``, the code and binary modules comprising the Python standard
library. On iOS, tvOS and watchOS, there are 2 copies of every binary module -
one for physical devices, and one for the simulator. The simulator binaries
Expand Down
Loading