@@ -196,20 +196,38 @@ macOS
196
196
197
197
macOS uses the ``macosx `` family of tags (the ``x `` suffix is a historical
198
198
artefact of Apple's official macOS naming scheme). The schema for compatibility
199
- tags is :file: `macosx_{ x } _{ y } _{ arch } ` `, indicating that the wheel is compatible with
200
- macOS ``x.y `` or later on the architecture ``arch ``. The version number always
201
- includes a major and minor version, even if Apple's official version numbering
202
- only refers to the major value. For example, a ``macosx_11_0_arm64 `` indicates
203
- compatibility with macOS 11 or later, on arm64 (i.e., Apple Silicon) hardware.
204
-
205
- macOS also supports the use of a combined, or "fat" architecture specification.
206
- For example, specifying an architecture of ``universal2 `` indicates that
207
- binaries support *both * x86_64 *and * arm64.
199
+ tags is :file: `macosx_{ x } _{ y } _{ arch } ` `, indicating that the wheel is compatible
200
+ with macOS ``x.y `` or later on the architecture ``arch ``.
201
+
202
+ The value of ``x `` and ``y `` correspond to the major and minor version number of
203
+ the macOS release, respectively. They must both be positive integers, with the
204
+ ``x `` value being ``>= 10 ``. The version number always includes a major *and *
205
+ minor version, even if Apple's official version numbering only refers to
206
+ the major value. For example, a ``macosx_11_0_arm64 `` indicates compatibility
207
+ with macOS 11 or later.
208
+
209
+ macOS binaries can be compiled for a single architecture, or can include support
210
+ for multiple architectures in the same binary (sometimes called "fat" binaries).
211
+ To indicate support for a single architecture, the value of ``arch `` must match
212
+ the value of :py:func: `sysconfig.get_platform() ` on the system. To indicate
213
+ support multiple architectures, the ``arch `` tag should be an identifier from
214
+ the following list that describes the set of supported architectures:
215
+
216
+ ============== ========================================
217
+ ``arch `` Architectures supported
218
+ ============== ========================================
219
+ ``universal2 `` ``arm64 ``, ``x86-64 ``
220
+ ``universal `` ``ppc64 ``, ``i386 ``, ``x86-64 ``
221
+ ``intel `` ``i386 ``, ``x86-64 ``
222
+ ``fat `` ``ppc ``, ``ppc64 ``, ``i386 ``, ``x86-64 ``
223
+ ``fat32 `` ``ppc ``, ``i386 ``
224
+ ``fat64 `` ``ppc64 ``, ``x86-64 ``
225
+ ============== ========================================
208
226
209
227
The minimum supported macOS version may also be constrained by architecture. For
210
228
example, macOS 11 (Big Sur) was the first release to support arm64. These
211
229
additional constraints are enforced transparently by the macOS compilation
212
- toolchain when building a `` universal2 `` binary .
230
+ toolchain when building binaries that support multiple architectures .
213
231
214
232
.. _android :
215
233
0 commit comments