44
55 .. _how-to-guides-config-settings :
66
7- *************************
8- Use build config settings
9- *************************
7+ ***************************
8+ Using build config settings
9+ ***************************
1010
11- Build config settings are settings you can pass to `` meson-python `` when
12- building your project. They can be use to customize the build in some
13- aspect .
11+ Build config settings can be used to customize some aspects of the
12+ build. See the :doc: ` ../reference/config-settings ` reference for a list
13+ of the settings implemented by `` meson-python `` .
1414
15- Several Python build front-ends exist, with different ways to pass
16- configuration settings to the build back-end. The most popular are
17- `pypa/build `_, which uses the ``-C `` command line option, and `pip `_,
18- which uses the ``--config-settings `` option. For example:
19-
20- .. _pypa/build : https://github.com/pypa/build
21- .. _pip : https://github.com/pypa/pip
15+ How build config settings are specified depends on the Python package
16+ build front-end used. The most popular build front-end are `build `_ and
17+ `pip `_. These use the ``--config-settings `` long command line option or
18+ the ``-C `` short command line option:
2219
2320.. tab-set ::
2421
@@ -41,29 +38,24 @@ which uses the ``--config-settings`` option. For example:
4138 --config-settings=setup-args="-Doption=disable" \
4239 --config-settings=compile-args="-j6"
4340
44- This examples use the ``python -m pip wheel `` command to build a Python
45- wheel that can be later installed or distributed. To build a package and
46- immediately install it, just replace ``wheel `` with ``install ``.
4741
48- See the :ref: `how-to-guides-meson-args ` guide for more examples. Refer to
49- the `pypa/build documentation `_ or to the `pip documentation `_ for more
50- information.
42+ Refer to the `build `_ and `pip `_ documentation for details. This
43+ example uses the ``python -m pip wheel `` command to build a Python wheel
44+ that can be later installed or distributed. To build a package and
45+ immediately install it, replace ``wheel `` with ``install ``. See the
46+ :ref: `how-to-guides-meson-args ` guide for more examples.
5147
52- .. _pypa/build documentation : https://pypa-build.readthedocs.io/en/stable/
53- .. _pip documentation : https://pip.pypa.io/
5448
5549.. admonition :: Passing multiple settings
5650 :class: caution
5751
58- Please note that, while ``pypa/build `` concatenates arguments for the
59- same key passed to the ``-C `` option, ``pip `` up to version 23.0.1 does
60- not offer any way to set a build config setting to a list of strings:
61- later values for the same key passed to ``--config-settings `` override
62- earlier ones.
52+ Please note that ``pip `` prior to 23.1 did not offer a way to set a
53+ build config setting to a list of strings: later values for the
54+ same key passed to ``--config-settings `` override earlier ones,
55+ effectively limiting the number of options that can be passed to
56+ each command invoked in the build process to one. This limitation
57+ has been lifted in ``pip `` release 23.1.
6358
64- This effectively limits the number of options that can be passed to each
65- command invoked in the build process to one. This limitation is tracked
66- in `pip issue #11681 `_. This limitation should be removed in the next
67- version of pip.
6859
69- .. _pip issue #11681 : https://github.com/pypa/pip/issues/11681
60+ .. _build : https://pypa-build.readthedocs.io/en/stable/
61+ .. _pip : https://pip.pypa.io/
0 commit comments