1Building for arm-linux 2---------------------- 3 4The files in this directory add another cross-compilation 5target to the Perl buildsystem. It was built as a part of 6the Open Zaurus (http://www.openzaurus.com/) distribution. 7Most / All of the arm compiler optimisations are "borrowed" 8from this excellent project. 9 10(Further discussion about cross-compiling Perl in the top level 11INSTALL file, see the section "Cross-compilation".) 12 13The main target is arm-linux but I have also managed to 14successfully cross-compile Perl for Solaris x86 using the same 15buildsystem. 16 17We are currently dependent on an existing working local copy of 18Perl ** of the same version and revision ** which is available 19as /usr/bin/perl. 20 21You need a working and tested cross-compiler for your build 22and target combination. The binary directory must be in 23your path. 24 251) You should be reading me (README) in perl-5.x.y/Cross 26 272) Make sure you are in the Cross directory. 28 293) Edit the file 'config' to contain your target platform information. 30 314) make patch ## This will patch the existing source-tree. 325) make perl ## Will make perl 33 34Your built Perl environment is in install_me_here/ in your build 35directory. From here you can package and deploy as you wish. 36 37Omissions 38---------- 39 40This does NOT perform any installation. 41 42Make test will NOT work. 43 44We do not provide documentation in the core, man pages are not generated. 45 46Other Targets (For Developers) 47------------------------------ 48 49It is possible to extend the cross-compilation to other targets. 50We have successfully compiled for the target solaris2.8/x86 51on linux/x86 build system. 52 53To attempt a cross-compile for another target using the methods 54in this directory: 55 561) Copy the Perl source code onto your TARGET machine. 572) Execute sh Configure as normal and configure as required, 58 do not "make". 593) Copy the config.sh file that is generated to your BUILD 60 machine and place it in the Cross directory with the 61 filename config.sh-ARCH-OS. For example, 62 config.sh-i386-pc-solaris2.8. For the appropriate ARCH 63 and OS please refer to your cross-compiler documentation. 644) Edit Cross/config to reflect your new target and continue 65 with build as above. 66 67Should you wish to produce optimised binaries for different 68architectures you can add the appropriate compiler flags to 69the Makefile in a new ifeq ($(ARCH),...) ... endif block. 70 71 72Please refer to your cross-compiler documentation for details. 73 74 75 Note that the Cross/ directory is also used by a different 76 cross-compilation setup described in the INSTALL file, and 77 executed by Configure. There should be no conflicts since 78 it is unlikely both that cross-compilation setups are used 79 simultaneously. 80 81Enjoy! 82 83References 84---------- 85Redvers Davies <red@criticalintegration.com> 86Open Zaurus http://www.openzaurus.org/ 87