Skip to content

Commit fe0e1a3

Browse files
authored
DOC: clarify mapping in build_platform and provider
Clarify that provider is a mapping from build_platform (not target) to CI provider. Remove osx_arm64 from the build_platform list because it is not an available build platform; it is only a target platform. Use full platform names (include _64) in provider documentation
1 parent 4a69be5 commit fe0e1a3

File tree

1 file changed

+22
-23
lines changed

1 file changed

+22
-23
lines changed

src/maintainer/conda_forge_yml.rst

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ automatic version updates/migrations for feedstocks. The current options are
128128

129129
build_platform
130130
--------------
131-
This is a mapping from the build platform to the host platform of the package
131+
This is a mapping from the target platform to the build platform for the package
132132
to be built. e.g. the following builds a ``osx-64`` package on the ``linux-64``
133133
build platform using cross-compiling.
134134

@@ -149,6 +149,7 @@ Leaving this field empty implicitly requests to build a package natively. i.e.
149149
osx_arm64: osx_arm64
150150
win_64: win_64
151151
152+
152153
.. _build_with_mambabuild:
153154

154155
build_with_mambabuild
@@ -342,59 +343,57 @@ Currently only:
342343

343344
provider
344345
--------
345-
The ``provider`` field is a mapping from arch (operating system) to CI service.
346-
This thus controls where a package is built. The following are available as
347-
arches:
346+
The ``provider`` field is a mapping from build platform (not target platform) to CI service.
347+
It determines which service handles each build platform. The following are available as
348+
build platforms:
348349

349-
* ``linux``
350-
* ``osx``
351-
* ``win``
350+
* ``linux_64``
351+
* ``osx_64``
352+
* ``win_64``
352353
* ``linux_aarch64``
353354
* ``linux_ppc64le``
354-
* ``osx_arm64``
355355

356356
The following CI services are available:
357357

358358
* ``azure``
359359
* ``circle``
360360
* ``travis``
361361
* ``appveyor``
362-
* ``None`` or ``False`` to disable a platform.
363-
* ``default`` to enable a platform and choose an appropriate CI
362+
* ``None`` or ``False`` to disable a build platform.
363+
* ``default`` to choose an appropriate CI (only if available)
364364

365-
For example, switching linux & osx to build on Travis Ci, with win on Appveyor:
365+
For example, switching linux_64 & osx_64 to build on Travis CI, with win_64 on Appveyor:
366366

367367
.. code-block:: yaml
368368
369369
provider:
370-
linux: travis
371-
osx: travis
372-
win: appveyor
370+
linux_64: travis
371+
osx_64: travis
372+
win_64: appveyor
373373
374-
Currently, x86_64 are enabled, but other arches are disabled by default. i.e. an empty
374+
Currently, x86_64 platforms are enabled, but other build platforms are disabled by default. i.e. an empty
375375
provider entry is equivalent to the following:
376376

377377
.. code-block:: yaml
378378
379379
provider:
380-
linux: azure
381-
osx: azure
382-
win: azure
380+
linux_64: azure
381+
osx_64: azure
382+
win_64: azure
383383
linux_ppc64le: None
384384
linux_aarch64: None
385-
osx_arm64: None
386385
387-
To enable ``linux_ppc64le`` and ``linux_aarch64`` and the following:
386+
To enable ``linux_ppc64le`` and ``linux_aarch64`` add the following:
388387

389388
.. code-block:: yaml
390389
391390
provider:
392391
linux_ppc64le: default
393392
linux_aarch64: default
394393
395-
If the ``build_platform`` for an arch is not available with the selected provider
396-
(either natively or with emulation), the build will be disabled; cross-compilation
397-
must be specified manually.
394+
If a desired build platform is not available with a selected provider
395+
(either natively or with emulation), the build will be disabled. Use the ``build_platform``
396+
field to manually specify cross-compilation when no providers offer a desired build platform.
398397

399398
.. _recipe_dir:
400399

0 commit comments

Comments
 (0)