diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2003-09-06 19:56:53 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2003-09-06 19:56:53 +0000 |
commit | 136febd582f8c09e243429ab77e54be8b75a494c (patch) | |
tree | 4354f083a59aa4251d63c757aa7be8f40d86a74d /Cross/README | |
parent | 10af26ed7d2d22f70c94a019ecda11475f1745de (diff) | |
download | perl-136febd582f8c09e243429ab77e54be8b75a494c.tar.gz |
Updated Sharp Zaurus cross-compilation from Redvers Davies.
p4raw-id: //depot/perl@21057
Diffstat (limited to 'Cross/README')
-rw-r--r-- | Cross/README | 65 |
1 files changed, 48 insertions, 17 deletions
diff --git a/Cross/README b/Cross/README index e113380ff1..4c5d25a2ff 100644 --- a/Cross/README +++ b/Cross/README @@ -1,26 +1,25 @@ -Summary -------- +Building for arm-linux +---------------------- -This is a patch set which adds cross-compilation to the perl -buildsystem. It was built as a part of the Open Zaurus -(http://www.openzaurus.com/) distribution. Most / All of the -arm compiler optimisations are "borrowed" from this excellent -project. +The files in this directory add another cross-compilation +target to the Perl buildsystem. It was built as a part of +the Open Zaurus (http://www.openzaurus.com/) distribution. +Most / All of the arm compiler optimisations are "borrowed" +from this excellent project. The main target is arm-linux but I have also managed to -successfully cross-compile perl for solaris x86 using the same +successfully cross-compile Perl for Solaris x86 using the same buildsystem. We are currently dependent on an existing working local copy of -perl ** of the same version and revision ** which is available -as /usr/bin/perl. This could be migrated to using native -miniperl with some additional effort. +Perl ** of the same version and revision ** which is available +as /usr/bin/perl. -Obviously you need a working and tested cross-compiler for your -build and target combination. The binary directory must be in +You need a working and tested cross-compiler for your build +and target combination. The binary directory must be in your path. -1) You should be reading me (README) in perl-5.x.x/Cross +1) You should be reading me (README) in perl-5.8.1/Cross 2) Make sure you are in the Cross directory. @@ -29,17 +28,49 @@ your path. 4) make patch ## This will patch the existing source-tree. 5) make perl ## Will make perl +Your built Perl environment is in install_me_here/ in your build +directory. From here you can package and deploy as you wish. + The Obvious Ommissions ---------------------- -This does NOT perform any installation as site installation method will -be dependant on the target arch and OS. +This does NOT perform any installation as site installation method +will be dependent on the target architecture and OS. -make test will NOT work as the binaries and libraries will not execute. +make test will NOT work as the binaries and libraries will not execute +on your BUILD machine. Due to space limitations on the Zaurus (it's a PDA) we do not provide documentation in the core - Therefore man pages are not even generated. +Other Targets (For Developers) +------------------------------ + +It is possible to extend the cross-compilation to other targets. +We have sucessfully compiled for the target solaris2.8/x86 +on linux/x86 build system. + +To attempt a cross-compile for another target using the methods +in this directory: + +1) Copy the Perl source code onto your TARGET machine. +2) Execute sh Configure as normal and configure as required, + do not "make". +3) Copy the config.sh file that is generated to your BUILD + machine and place it in the Cross directory with the + filename config.sh-ARCH-OS. For example, + config.sh-i386-pc-solaris2.8. For the appropriate ARCH + and OS please refer to your cross-compiler documentation. +4) Edit Cross/config to reflect your new target and continue + with build as above. + +Should you wish to produce optimised binaries for different +architectures you can add the appropriate compiler flags to +the Makefile in a new ifeq ($(ARCH),...) ... endif block. + +Please refer to your cross-compiler documentation for details. + + Note that the Cross/ directory is also used by a different cross-compilation setup described in the INSTALL file, and executed by Configure. There should be no conflicts since |