Alternative meson based build script for the CPython interpreter.
The aspiration of this script is to have a modular and easy to customize build script that facilitates cross compilation of the CPython interpreter.
Make sure meson is installed :
    sudo dnf install meson ninja-build
Download and unzip the Python source code.
Start the build script by pointing it to the Python source code :
    meson -Dsource=../cpython builddir
    ninja -C builddir
In the example above it is assumed the CPython source code is checked out in ../cpython.
Meson definitions are the following :
- 
build machine is the computer that is doing the actual compiling.
 - 
host machine is the machine on which the compiled binary will run.
 - 
target machine is the machine on which the compiled binary's output will run. Only meaningful if the program produces machine-specific output.
 
Different configuration files for cross compiling are in the cross-files directory
- 
binfmt-misc: allows running .exe files under linux if wine is installed. It creates /proc/sys/fs/binfmt_misc/wine which allows the configure tests to work. On Debian there's the package
wine-binfmt. On other distros you can doecho ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register.(run as root). - 
https://tecadmin.net/steps-install-wine-centos-rhel-fedora-systems/
 - 
the default configuration of wine might need to be changed to allow the CPython interpreter to start :
- start 
winecfg - Go to the 
Librariestab - Select 
api-ms-win-core-path-<WHATEVER>from the menu inNew override for library - Press 
Add - Select the library in 
Existing overrides, pressEdit - Set the library to 
disabled 
 - start 
 
Start the build script by using a cross-file:
    meson -Dsource=../cpython --cross-file cross-files/x86_64-w64-mingw32.txt --prefix="${PWD}/x86_64-w64-mingw32" builddir-x86_64-w64-mingw32
    ninja -C builddir-x86_64-w64-mingw32
    ninja -C builddir-x86_64-w64-mingw32 install
Note that install doesn't install it to the system, only locally reorganize the files into a working tree.
To run the Python for Windows build, the mingw runtime library and dependencies need to be available on the path:
    cd x86_64-w64-mingw32/bin
    export WINEPATH=/usr/x86_64-w64-mingw32/sys-root/mingw/bin/
    ./python.exe
BSD-3-Clause
https://mingwpy.github.io/motivation.html
https://github.com/numpy/numpy/wiki/Numerical-software-on-Windows