On 05/31/2015 11:01 AM, Niko Tyni wrote: > On Sat, Jul 20, 2013 at 10:40:37PM +0200, Matthias Klose wrote:
> commit 173be8889b4f256204d60769f15c34f49c23b4cc > Author: Niko Tyni <nt...@debian.org> > Date: Fri May 29 20:12:44 2015 +0300 > > Link Config.pm to /usr/lib/<triplet>/perl/cross-config-5.22.0/ (Closes: > #717433) > > This provides infrastructure to cross compile XS module packages. > The recipe is broadly to install libperl5.22:hostarch and do something > like > > DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture > -qDEB_BUILD_GNU_TYPE) > DEB_HOST_GNU_TYPE := $(shell dpkg-architecture > -qDEB_HOST_GNU_TYPE) > PERL_VER := $(shell perl -MConfig -e'print "$$Config{version}\n"') > > ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE)) > export > PERL5LIB=/usr/lib/$(DEB_HOST_GNU_TYPE)/perl/cross-config-$(PERL_VER) > endif > > in debian/rules and then proceed normally with 'perl Makefile.PL' etc. > This gets the right cross compiler and include path from the host > Config.pm. > > The above snippet could eventually be pushed into debhelper, giving > out-of-the-box cross buildability for most Perl XS module packages in > the archive. > > Note that we can't just set PERL5LIB to the host archlib path > (/usr/lib/<triplet>/perl/5.22) because that would make the host arch XS > modules override the build arch ones, breaking ExtUtils::MakeMaker etc. > This is why we need a separate directory with just Config.pm (and its > backend, Config_heavy.pl). yes, that's the same idea I used for python: - putting the _sysconfigdata.py into /usr/lib/python/plat-<multiarch>. - and then setting this in the rules file: SET_CROSS_ENV = PYTHONPATH=/usr/lib/python$$pv/plat-$(DEB_HOST_MULTIARCH) works as long as the build system relies on the sysconfig module, and doesn't get information about the build from other modules (e.g. sys). -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org