Skip to content

Commit 72d5748

Browse files
dnicolodirgommers
authored andcommitted
DOC: limitations: reword paragraph about shared libraries on Windows
Mention delvewheel as a possible solution.
1 parent 8d832cf commit 72d5748

File tree

1 file changed

+12
-14
lines changed

1 file changed

+12
-14
lines changed

docs/reference/limitations.rst

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,24 +18,22 @@ requires them, and use :py:mod:`importlib.resources` (or the
1818
:py:mod:`importlib_resources` backport) to access it.
1919

2020

21-
Platform-specific limitations
22-
=============================
21+
Shared libraries on Windows
22+
===========================
2323

24+
On Windows, ``meson-python`` cannot encapsulate shared libraries
25+
installed as part of the Meson project into the Python wheel for
26+
Python extension modules or executables, in a way suitable for them to
27+
be found at run-time.
2428

25-
Executables with internal dependencies :bdg-warning:`Windows`
26-
-------------------------------------------------------------
29+
This limitation can be overcome with static linking or using
30+
`delvewheel`_ to post-process the Python wheel to bundle the required
31+
shared libraries and include the setup code to properly set the
32+
library search path.
2733

2834

29-
If you have an executable that links against a shared library provided by your
30-
project, on Windows ``meson-python`` will not be able to correctly bundle it
31-
into the *wheel*.
32-
33-
The executable will be included in the *wheel*, but it
34-
will not be able to find the project libraries it links against.
35-
36-
This is, however, easily solved by using a static library for the executable in
37-
question.
38-
3935
.. _install_data: https://mesonbuild.com/Reference-manual_functions.html#install_data
36+
.. _importlib-resources: https://importlib-resources.readthedocs.io/en/latest/index.html
37+
.. _delvewheel: https://github.com/adang1345/delvewheel
4038

4139
.. |install_data| replace:: ``install_data``

0 commit comments

Comments
 (0)