@@ -356,23 +356,17 @@ The git repo for ``python-flint`` has a script `bin/cibw_before_all_windows.sh
356356<https://github.com/flintlib/python-flint/blob/master/bin/cibw_before_all_windows.sh> `_
357357that installs the dependencies under MSYS2 and builds ``GMP ``, ``MPFR ``,
358358``FLINT ``. This script is used for building the Windows binaries for PyPI. We
359- use the ``MinGW64 `` (``mingw-w64-x86_64 ``) toolchain for building on Windows
360- rather than MSVC because it makes it possible to have a fat build of ``GMP ``
359+ use the ``UCRT64 `` (``mingw-w64-ucrt-x86_64 ``) toolchain under MSYS2 to build
360+ ``GMP ``, ``MPFR `` and ``FLINT `` because it makes it possible to have a fat
361+ build of ``GMP ``
361362(``--enable-fat ``) which bundles micro-architecture specific optimisations for
362363``x86_64 `` in a redistributable shared library. This is important for
363364performance on modern ``x86_64 `` CPUs and is not possible if building ``GMP ``
364- with MSVC. Since we need to use ``MinGW64 `` for building ``GMP `` it is simplest
365- to use it for building ``MPFR ``, ``FLINT `` and ``python-flint `` as well and
366- means that the same Unix-style build scripts can be used for all platforms.
367-
368- The ``python-flint `` project does not have much experience using MSVC. Possibly
369- it would be better to build ``GMP `` using ``MinGW64 `` and then build ``MPFR ``,
370- ``FLINT `` and ``python-flint `` using MSVC. It is also possible that it would be
371- better to build ``GMP ``, ``MPFR ``, ``FLINT `` using MinGW64 and then build
372- ``python-flint `` using MSVC. Someone with more experience with MSVC would need
373- to help with this. We would welcome contributions that explain how to build
374- ``python-flint `` and its dependencies using MSVC and/or that improve the build
375- process for distributed binaries on Windows.
365+ with MSVC. The Python extension modules themselves are then built with MSVC via
366+ ``meson --vsenv `` while linking against the MSYS2-built ``GMP ``, ``MPFR `` and
367+ ``FLINT `` libraries through ``pkg-config ``. This mixed-toolchain arrangement
368+ keeps the ``GMP `` fat build while using the standard Windows compiler for the
369+ extension modules.
376370
377371
378372.. _non_standard_location :
0 commit comments