This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Convert t/op/die_except.t to test.pl, strict and warnings.
[perl5.git] / Cross / README
CommitLineData
136febd5
JH
1Building for arm-linux
2----------------------
58a21a9b 3
136febd5
JH
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.
6a809565 9
e7a3c61b
JH
10(Further discussion about cross-compiling Perl in the top level
11INSTALL file, see the section "Cross-compilation".)
12
6a809565 13The main target is arm-linux but I have also managed to
136febd5 14successfully cross-compile Perl for Solaris x86 using the same
6a809565
JH
15buildsystem.
16
17We are currently dependent on an existing working local copy of
136febd5
JH
18Perl ** of the same version and revision ** which is available
19as /usr/bin/perl.
6a809565 20
136febd5
JH
21You need a working and tested cross-compiler for your build
22and target combination. The binary directory must be in
6a809565
JH
23your path.
24
e7a3c61b 251) You should be reading me (README) in perl-5.x.y/Cross
6a809565
JH
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
136febd5
JH
34Your built Perl environment is in install_me_here/ in your build
35directory. From here you can package and deploy as you wish.
36
608969de
VK
37Omissions
38----------
6a809565 39
608969de 40This does NOT perform any installation.
6a809565 41
608969de 42Make test will NOT work.
6a809565 43
608969de 44We do not provide documentation in the core, man pages are not generated.
6a809565 45
136febd5
JH
46Other Targets (For Developers)
47------------------------------
48
49It is possible to extend the cross-compilation to other targets.
8534470b 50We have successfully compiled for the target solaris2.8/x86
136febd5
JH
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
e4568ebb 71
136febd5
JH
72Please refer to your cross-compiler documentation for details.
73
74
6a809565
JH
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
e42fa77b 84----------
6a809565
JH
85Redvers Davies <red@criticalintegration.com>
86Open Zaurus http://www.openzaurus.org/