Martin Panter added the comment:

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.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue22625>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to