Skip to content

Commit 972b185

Browse files
authored
Switch to using .dylib format for iOS binary modules (#187)
Switch to using .dylib format for iOS binary modules. This work is substantially built upon the work done by @alibeyram (and team). Other changes: * Create aliases for CC and other xcrun-based binaries. * Rationalize usage of platform and multiarch. * Rework output locations to make sharing of output easier.
1 parent a8c93fe commit 972b185

22 files changed

+1058
-608
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
*.swp
33
.envrc
44
.vscode/
5+
alias/*
56
archive/*
67
build/*
78
diff/*
@@ -17,3 +18,6 @@ wheels/*
1718
__pycache__
1819
tests/testbed/macOS
1920
tests/testbed/iOS
21+
*.log
22+
*.gz
23+
*.DS_Store

Makefile

Lines changed: 175 additions & 111 deletions
Large diffs are not rendered by default.

README.rst

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,10 @@ repository:
1212
* `Python 3.9 <https://github.com/beeware/Python-Apple-support/tree/3.9>`__
1313
* `Python 3.10 <https://github.com/beeware/Python-Apple-support/tree/3.10>`__
1414

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

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

@@ -90,7 +89,7 @@ Each support package contains:
9089

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

0 commit comments

Comments
 (0)