Message261710
Thanks Robert. Russell also pointed out on python-dev that the patches at Issue 23670 show how he is doing cross compilation, via a new high-level iOS/Makefile file. Here is a cut-down version of the parts that I find relevant:
# Build for the native build host
host/bin/python*:
make -C .. distclean
cd .. && ./configure --prefix=host ...
make -C .. Programs/_freeze_importlib
# Main makefile is patched to use this copy (3.5+ only):
cp ../Programs/_freeze_importlib .
make -C .. install
tar czf host.tar.gz host && rm -rf host
# Build for a foreign target host
ios-%.tar.gz: host/bin/python*
make -C .. distclean
tar xzf host.tar.gz
cd .. && PATH=host/bin:$(PATH) ./configure \
--host=%-apple-ios --build=$(BUILD_OS_ID) CC=% LD=% \
--prefix=$* ...
PATH=host/bin:$(PATH) make -C .. install
tar czf $*.tar.gz $* && rm -rf $*
Something I just realized is that the output of pgen is actually committed to the Mercurial repository. It seems that Russell’s cross-compilation was relying on this to avoid rerunning pgen. Same with the output of _freeze_importlib, except Russell is working around that differently. It does not seem right to have files in the repository that are also generated by the normal build process. |
|
Date |
User |
Action |
Args |
2016-03-14 02:03:00 | martin.panter | set | recipients:
+ martin.panter, georg.brandl, doko, pitrou, rbcollins, benjamin.peterson, Arfrever, freakboy3742, koobs, Alex.Willmer, Link Mauve, mancoast |
2016-03-14 02:03:00 | martin.panter | set | messageid: <1457920980.8.0.131436277041.issue22625@psf.upfronthosting.co.za> |
2016-03-14 02:03:00 | martin.panter | link | issue22625 messages |
2016-03-14 02:02:59 | martin.panter | create | |
|