Author martin.panter
Recipients Alex.Willmer, Arfrever, Link Mauve, benjamin.peterson, doko, freakboy3742, georg.brandl, koobs, mancoast, martin.panter, pitrou, rbcollins
Date 2016-03-14.02:02:59
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1457920980.8.0.131436277041.issue22625@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2016-03-14 02:03:00martin.pantersetrecipients: + martin.panter, georg.brandl, doko, pitrou, rbcollins, benjamin.peterson, Arfrever, freakboy3742, koobs, Alex.Willmer, Link Mauve, mancoast
2016-03-14 02:03:00martin.pantersetmessageid: <1457920980.8.0.131436277041.issue22625@psf.upfronthosting.co.za>
2016-03-14 02:03:00martin.panterlinkissue22625 messages
2016-03-14 02:02:59martin.pantercreate