Cross-compiling perl
Current version of perl-cross is 1.5.3
Most recent supported perl version: perl-5.40.0
Most recent supported cperl version: cperl-5.26.1
To use, unpack over an appropriate perl distribution, overwriting the original Makefile.
Use one of supported perl versions; there are version-specific patches inside.
For older releases, check GitHub releases
branch.
Changelog
- 1.5.3 (2024-06-10)
- 1.5.2 (2023-11-29)
- perl-5.38.2, perl-5.36.3, perl-5.34.3
- 1.5.1 (2023-11-26)
- perl-5.38.1, perl-5.36.2, perl-5.34.2
- misc fixes
- 1.5 (2023-07-03)
- 1.4.1 (2023-04-25)
- perl-5.36.1, perl-5.37.11
- reworked modules-clean targets
- enable multiplicity whenever ithreads are enabled
- minor fixes
- 1.4 (2022-05-28)
- 1.3.7 (2022-03-15)
- perl-5.34.1, perl-5.35.9
- all-static fixes to support static-only targets
- configure changes to accomodate lib32/lib64
- use ldflags as the default value for lddlflags
- misc fixes
- 1.3.6 (2021-05-24)
- 1.3.5 (2021-01-24)
- perl-5.32.1
- Time::HiRes fixes
- default_inc_excludes_dot by default in all cases
- miniperl make rules fix
- 1.3.4 (2020-06-02)
- perl-5.32.0, perl-5.30.3, perl-5.28.3
- 1.3.3 (2020-04-17)
- fix static module handling issue introduced in 1.3.2
- 1.3.2 (2020-03-21)
- perl-5.30.2, perl-5.31.10
- mainline perl compatible extensions lists in config.sh
- Yocto related fixes
- 1.3.1 (2019-11-22)
- perl-5.30.1, perl-5.31.6
- updated config.sub and config.guess
- 1.3 (2019-05-25)
- 1.2.3 (2019-04-21)
- perl-5.28.2, perl-5.29.10
- 1.2.2 (2019-01-28)
- multiple Makefile fixes for parallel builds
- testpack fix that wasn't included in 1.2.1
- perl-5.29.7
- 1.2.1 (2018-12-02)
- perl-5.28.1, perl-5.29.3
- some fixes for Darwin-based builds
- 1.2 (2018-06-27)
- perl-5.28.0, perl-5.29.0
- fixed Config.pl dependencies affecting some parallel builds
- 1.1.9 (2018-04-16)
- perl-5.27.{7,8,9,10}, 5.26.2, 5.24.4
- fixed gcc-7 detection
- fix for static modules building as dynamic in some perl versions
- 1.1.8 (2017-10-29)
- perl-5.27.5
- fix for lib.pm dependency issue potentially affecting all
static/no-dynaloader builds
- fix for perl_langinfo.h including config.h unconditionally
- 1.1.7 (2017-09-26)
- perl-5.27.4, perl-5.26.1, perl-5.24.3
- cperl-5.26.1
- support for -Duserelocatableinc
- 1.1.6 (2017-07-17)
- perl-5.22.4, cperl-5.24.2
- 1.1.5 (2017-06-06)
- perl-5.26.0, cperl-5.26.0
- 1.1.4 (2017-02-13)
- perl-5.22.3
- signal names fix
- 1.1.3 (2017-01-23)
- perl-5.24.1, perl-5.25.9, cperl-5.25.1
- common patches in cnf/diffs/ are now symlinked to a single copy
- 1.1.2 (2017-01-03)
- use64bitint should work properly now
- Fixed SysV message queues detection
- Fixed timezone issues due to skipped tzset
- perl-5.25.8 and cperl-5.24.2
- 1.1.1 (2016-10-10)
- Fixed long double handling for targets without long doubles
- Restored CCFLAGS and LDFLAGS capture from environment
- config.sh values cleanup to pass all tests
- Changes in installed perl binary names: versioned binaries
like perl5.24.0 are not installed anymore;
for cperl builds, perl -> cperl symlink added.
- 1.1.0 (2016-09-12)
- Major code cleanup
- Package name changed to perl-cross-N.M.tar.gz
- Support for multiple perl versions
- Experimental cperl support
- General list of config.sh variables (configure_genc.sh) removed;
values are now written to config.sh immediately
- bash is no longer necessary to run configure;
dash or busybox sh should be enough
- Extended -A support removed (prepend and such)
- Build host info (cf_by, cf_email etc) is no longer passed to config.sh
- Various test fixes, and some new tests
- Hints re-arranged, support for compiler hints removed
- Newer gcc get -fwrapv -fno-strict-aliasing in ccflags
- 1.0.3 (2016-06-30)
- perl-5.24.0
- Android detection and proper osname
- Errno.pm building fixed for Android
- fixed rpath handling in presence of --sysroot
- busybox sed may be used now instead of GNU sed
- 1.0.2 (2015-12-15)
- perl-5.22.1
- Berkeley DB detection fix (DB::File)
- 1.0.1 (2015-11-03)
- poisoned paths patch from Buildroot
- disable gcc built-ins to avoid false positives in hasfunc
- proper escaping for values written to config.sh
- 1.0.0 (2015-08-26)
- perl-5.22.0
- floating-point functions detection and minor updates
- absolutely nothing special about this release
- 0.9.7 (2015-06-28)
- MakeMaker library detection fixes
- better --no-dynaloader / --all-static options handling
- 0.9.6 (2015-03-07)
- a2p yacc invocation suppressed for 5.20.2 sources
- 0.9.5 (2015-02-24)
- perl 5.20.2
- --sysroot handling fixed
- 0.9.4 (2014-11-04)
- 0.9.3 (2014-10-14)
- perl 5.20.1
- bigendian target byteorder detection fix
- 0.9.2 (2014-09-20)
- minor updates to handle perl 5.20.1-RC1
- soname'd libperl installation
- 0.9.1 (2014-08-26)
- module cleanup for 5.20.0
- host-installed miniperl stuff removed
- 0.9 (2014-08-01)
- 0.8.5 (2014-02-23)
- out-of-source builds with absolute path to the source
- patch --follow-symlinks is not used anymore
- 0.8.4 (2014-02-20)
- variable/versioned libperl.so
- out-of-source building support
- default paths fixed (sitescript/vendorscript)
- some Makefile fixes
- project moved to GitHub
- 0.8.3 (2013-10-19)
- Testpack for on-target testing
- $extensions, ${static,dynamic,nonxs}_ext format changed to match Configure
- $sharepath default fixed
- 0.8.2 (2013-09-09)
- NV-related tests added
- C++ and ELF format test added
- largefile flags are now passed correctly to tests & modules
- $ccdefines variable dropped in favor of $ccflags
- hint files handling changed
- config.sh variables list updated to match current Configure closely
- --with-*, --host-* options handling fixed
- 0.8.1 (2013-09-05)
- perl-5.18.1 (with no changes to perl-cross)
- test-related fixes
- 0.8 (2013-08-08)
- perl-5.18.0
- module stubs are provided for ExtUtils::* to make them usable with miniperl
- patch application is now done as a bulk phony target;
patching the files in-place doen't translate well into make-dependencies
- module paths fixes
- Makefile dependencies cleaned up
- 0.7.4 (2013-04-11)
- shared libperl support; enable with -Duseshrplib
- nv_preserves_uv stuff reset to safe defaults; it can't be tested for currently, but at least it won't cause precision issues
- 0.7.3 (2013-04-05)
- libs/perllibs split, and libswanted handling fixes; NDBM is properly linked now
- standard format for extensions lists in $Config
- install paths adjusted to match mainline perl
- $libpth default value added, DynaLoader::dl_findfile should work now
- drop-in replacement for Digest::MD5, calling Digest::Perl::MD5; no need to alter existing scripts anymore
- patched Liblist now warns about non-usable libraries (and passes relevant tests)
- minor config.sh tweaks
- 0.7.2 (2013-03-25)
- perl-5.16.3
- preliminary "make test" support (native builds only for now)
- specifying --mode manually should work as expected in most cases
- various configure/Makefile fixes
- 0.7.1 (2012-12-15)
- use gcc for dynalinking modules
- 0.7 (2012-07-06)
- perl-5.16.0
- original perl files are now patched (vs. supplying modified versions)
- Digest::Perl::MD5 added to allow using install{perl,man} with miniperl
- Module name handling fixed in make_ext_Makefile.pl
- archlib is now $prefix/lib/perl/$archname, instead of just $prefix/lib/perl/arch
- d_csh set to undef, to prevent glob() failures
- useithreads and use5005threads handling added
- 0.6.5 (2012-02-16)
- inttypes.h added in byte order test
- 0.6.4 (2011-12-05)
- /bin/sh changed to /bin/bash, take 2
- 0.6.3 (2011-11-02)
- perl-5.14.2 (without any actual changes to perl-cross)
- /bin/sh changed to /bin/bash everywhere
- 0.6.2 (2011-09-03)
- Android and Intel CC builds support
- --sysroot is now passed to compiler/linker
- target specifications not recognized by config.sub are allowed
- several configure tests fixes
- no-DynaLoader configuration support
- 0.6.1 (2011-08-24)
- static modules handling fixed
- --all-static option for configure
- 0.6 (2011-08-20)
- perl-5.14 support
- make rules to build disabled modules
- hints switched to flat directory style, added compiler and mode hints
- libswanted handling fixed
- configure now reads patchlevel.h to get perl version
- minor fixes & cleanup
- 0.5 (2011-07-23)
- need_va_copy bug fixed (this is what caused build errors on x86_64)
- configure can now load configuration from a file (-f, -O)
- support for most of the original Configure options (inc. -D, -U, -A)
- --set/-D now allow passing arbitrary variables to config.sh
- make rules to track MakeMaker dependencies
- ccflags/ldflags support fixed
- -DEBUGGING support added
- environment clean-up added, configure no longer stumbles upon stray environment variables
- Time::HiRes specific hints to allow successful builds
- removed module tests for miniperl
- 0.4.1 (2011-04-25)
- make rules for xsubpp changed
- fixed static modules handling
- 0.4 (2011-03-11)
- perl-5.12 support
- miniperl_top introduced
- make rules for all modules, make_ext is no longer used
- 0.3 (2011-03-04)
- threads support
- various fixes done after the demise of the old site
- 0.2 (2009-12-06)
- make rules for DynaLoader fixed
- other minor fixes to allow MIPS build
- 0.1 (2009-01-05)