Message406893
The build process creates the binary Program/_freeze_module, which is used to create frozen modules. The program takes a Python file, compiles it, and stores its marshalled output in a header file.
The approach does not work when cross compiling Python. In cross building case Program/_freeze_module cannot be executed on the build host. For example a cross build with build host "x86_64" and target host "aarch64" would create a aarch64 Program/_freeze_module. The current x86_64 host cannot executed binary (unless you use qemu and binfmt, which I'm deliberately ignoring here).
To unblock cross building and until we find a better solution, I propose that we allow developers to override the freeze module command on the command line. This allows developers to use a freeze_module program from a non-cross build:
../../configure -C --host=aarch64-linux-gnu-gcc --build=x86_64-pc-linux-gnu
make FREEZE_MODULE=../x86_64/Program/_freeze_module |
|
Date |
User |
Action |
Args |
2021-11-23 22:35:22 | christian.heimes | set | recipients:
+ christian.heimes |
2021-11-23 22:35:22 | christian.heimes | set | messageid: <1637706922.21.0.951800087197.issue45886@roundup.psfhosted.org> |
2021-11-23 22:35:22 | christian.heimes | link | issue45886 messages |
2021-11-23 22:35:22 | christian.heimes | create | |
|