• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

MakefileD05-Feb-20052.2 KiB6951

Makefile.SH.patchD30-Jun-20066.5 KiB190160

READMED30-Jun-20063 KiB9165

TODOD05-Feb-200563 21

configD05-Feb-2005494 2419

config.sh-arm-linuxD30-Jun-200624 KiB1,0441,028

generate_config_shD05-Feb-20053.7 KiB13388

installperl.patchD05-Feb-2005538 2321

warpD05-Feb-2005377 156

README

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
37The Obvious Ommissions
38----------------------
39
40This does NOT perform any installation as site installation method
41will be dependent on the target architecture and OS.
42
43make test will NOT work as the binaries and libraries will not execute
44on your BUILD machine.
45
46Due to space limitations on the Zaurus (it's a PDA) we do not provide
47documentation in the core - Therefore man pages are not even generated.
48
49Other Targets (For Developers)
50------------------------------
51
52It is possible to extend the cross-compilation to other targets.
53We have successfully compiled for the target solaris2.8/x86
54on linux/x86 build system.
55
56To attempt a cross-compile for another target using the methods
57in this directory:
58
591)	Copy the Perl source code onto your TARGET machine.
602)	Execute sh Configure as normal and configure as required,
61	do not "make".
623)	Copy the config.sh file that is generated to your BUILD
63	machine and place it in the Cross directory with the
64	filename config.sh-ARCH-OS.  For example,
65	config.sh-i386-pc-solaris2.8.  For the appropriate ARCH
66	and OS please refer to your cross-compiler documentation.
674)	Edit Cross/config to reflect your new target and continue
68	with build as above.
69
70Should you wish to produce optimised binaries for different
71architectures you can add the appropriate compiler flags to
72the Makefile in a new ifeq ($(ARCH),...) ... endif block.
73
74
75Please refer to your cross-compiler documentation for details.
76
77
78	Note that the Cross/ directory is also used by a different
79	cross-compilation setup described in the INSTALL file, and
80	executed by Configure.  There should be no conflicts since
81	it is unlikely both that cross-compilation setups are used
82	simultaneously.
83
84Enjoy!
85
86References
87----------
88Redvers Davies <red@criticalintegration.com>
89Open Zaurus http://www.openzaurus.org/
90Perl OZ Packages http://www.criticalintegration.com/perl-oz/
91