summaryrefslogtreecommitdiff
path: root/Cross/README
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2003-09-06 19:56:53 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2003-09-06 19:56:53 +0000
commit136febd582f8c09e243429ab77e54be8b75a494c (patch)
tree4354f083a59aa4251d63c757aa7be8f40d86a74d /Cross/README
parent10af26ed7d2d22f70c94a019ecda11475f1745de (diff)
downloadperl-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/README65
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