## Toplevel Makefile for cross-compilation of perl
#
-## $Id: Makefile,v 1.1 2003/04/15 00:38:39 red Exp red $
+## $Id: Makefile,v 1.3 2003/05/27 21:23:19 red Exp red $
export TOPDIR?=${shell pwd}
include $(TOPDIR)/config
---- ../Makefile.SH 2002-06-09 17:04:06.000000000 +0000
-+++ Makefile.SH 2003-04-15 00:30:58.000000000 +0000
-@@ -329,9 +329,20 @@
+--- ../Makefile.SH 2003-04-22 14:13:52.000000000 +0000
++++ Makefile.SH 2003-05-27 21:07:07.000000000 +0000
+@@ -104,16 +104,17 @@
+
+ case "$osname" in
+ linux)
+- rm -f preload
+- cat <<-'EOT' > preload
+- #! /bin/sh
+- lib=$1
+- shift
+- test -r $lib && export LD_PRELOAD="$lib $LD_PRELOAD"
+- exec "$@"
+- EOT
+- chmod 755 preload
+- ldlibpth="$ldlibpth `pwd`/preload `pwd`/$libperl"
++# rm -f preload
++# cat <<-'EOT' > preload
++# #! /bin/sh
++# lib=$1
++# shift
++# test -r $lib && export LD_PRELOAD="$lib $LD_PRELOAD"
++# exec "$@"
++# EOT
++# chmod 755 preload
++# ldlibpth="$ldlibpth `pwd`/preload `pwd`/$libperl"
++ echo linux libraries overridden my cross-compile patches
+ ;;
+ os390) test -f /bin/env && ldlibpth="/bin/env $ldlibpth"
+ ;;
+@@ -343,9 +344,20 @@
.c.s:
$(CCCMDSRC) -S $*.c
.PHONY: all compile translators utilities
-@@ -341,10 +352,10 @@
+@@ -355,10 +367,10 @@
cd x2p; $(MAKE) compile;
cd pod; $(MAKE) compile;
@echo " "; echo " Making utilities"; cd utils; $(LDLIBPTH) $(MAKE) all
-@@ -521,7 +532,7 @@
+@@ -535,7 +547,7 @@
$(CC) -o miniperl $(CLDFLAGS) \
`echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \
miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perl$(OBJ_EXT) $(libs)
!NO!SUBS!
;;
beos*|next4*)
-@@ -538,7 +549,7 @@
+@@ -552,7 +564,7 @@
-@rm -f miniperl.xok
- $(LDLIBPTH) $(CC) $(CLDFLAGS) -o miniperl \
+ $(CC) $(CLDFLAGS) -o miniperl \
miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(LLIBPERL) $(libs)
- $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+# $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
!NO!SUBS!
;;
esac
-@@ -664,7 +675,7 @@
+@@ -678,7 +690,7 @@
# We need to autosplit in two steps because VOS can't handle so many args
#
.PHONY: preplibrary
@sh ./makedir lib/auto
@echo " AutoSplitting perl library"
$(LDLIBPTH) ./miniperl -Ilib -e 'use AutoSplit; \
-@@ -676,11 +687,11 @@
+@@ -690,11 +702,11 @@
# Take care to avoid modifying lib/Config.pm without reason
# (If trying to create a new port and having problems with the configpm script,
# try 'make minitest' and/or commenting out the tests at the end of configpm.)
$(LDLIBPTH) ./miniperl minimod.pl > minimod.tmp
sh mv-if-diff minimod.tmp $@
-touch lib/ExtUtils/Miniperl.pm
-@@ -688,18 +699,18 @@
+@@ -702,18 +714,18 @@
lib/re.pm: ext/re/re.pm
cp ext/re/re.pm ext/re/re.tmp && sh mv-if-diff ext/re/re.tmp lib/re.pm
-@test -f extra.pods && rm -f `cat extra.pods`
-@rm -f extra.pods
-@for x in `grep -l '^=[a-z]' README.* | grep -v README.vms` ; do \
-@@ -738,18 +749,10 @@
+@@ -752,18 +764,10 @@
$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-n
install.perl: all installperl
# XXX Experimental. Hardwired values, but useful for testing.
# Eventually Configure could ask for some of these values.
-@@ -861,16 +864,16 @@
+@@ -870,16 +874,16 @@
#
# DynaLoader may be needed for extensions that use Makefile.PL.
@$(LDLIBPTH) sh ext/util/make_ext nonxs $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
.PHONY: clean _tidy _mopup _cleaner1 _cleaner2 \
-@@ -1009,7 +1012,7 @@
+@@ -1019,7 +1023,7 @@
test_prep_pre: preplibrary utilities $(nonxs_ext)
PERL=./perl $(MAKE) _test_prep
_test_tty:
-@@ -1078,7 +1081,7 @@
+@@ -1088,7 +1092,7 @@
# Can't depend on lib/Config.pm because that might be where miniperl
# is crashing.
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
-optimisations are "borrowed" from this excellent project.
+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
buildsystem.
We are currently dependent on an existing working local copy of
-perl 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. This could be migrated to using native
+miniperl with some additional effort.
Obviously you need a working and tested cross-compiler for your
build and target combination. The binary directory must be in
Enjoy!
References
--------
+----------
Redvers Davies <red@criticalintegration.com>
Open Zaurus http://www.openzaurus.org/
Perl OZ Packages http://www.openzaurus.org/official/testing/feed/
# do not forget to propagate your changes by running "Configure -der". You may
# instead choose to run each of the .SH files by yourself, or "Configure -S".
#
-# $Id$
+# $Id: config.sh-arm-linux,v 1.2 2003/05/27 21:31:15 red Exp red $
#
# Package name : perl5
aphostname='/bin/hostname'
api_revision='5'
api_subversion='0'
-api_version='8'
-api_versionstring='5.8.0'
+api_version='9'
+api_versionstring='5.9.0'
ar='arm-linux-ar'
-archlib='/usr/lib/perl5/5.8.0/armv4l-linux'
-archlibexp='/usr/lib/perl5/5.8.0/armv4l-linux'
+archlib='/usr/lib/perl5/5.9.0/armv4l-linux'
+archlibexp='/usr/lib/perl5/5.9.0/armv4l-linux'
archname64=''
archname='armv4l-linux'
archobjs=''
d__fwalk='undef'
d_access='define'
d_accessx='undef'
+d_aintl='undef'
d_alarm='define'
d_archlib='define'
d_asctime_r='undef'
d_closedir='define'
d_cmsghdr_s='define'
d_const='define'
+d_copysignl='define'
d_crypt='undef'
d_crypt_r='undef'
d_csh='undef'
d_endservent_r='undef'
d_eofnblk='define'
d_eunice='undef'
+d_faststdio='define'
d_fchdir='define'
d_fchmod='define'
d_fchown='define'
d_grpasswd='define'
d_hasmntopt='define'
d_htonl='define'
+d_ilogbl='define'
d_index='undef'
d_inetaton='define'
d_int64_t='define'
d_mktime='define'
d_mmap='define'
d_modfl='undef'
+d_modflproto='undef'
d_modfl_pow32_bug='undef'
d_mprotect='define'
d_msg='define'
d_msync='define'
d_munmap='define'
d_mymalloc='undef'
+d_nanosleep='define'
d_nice='define'
d_nl_langinfo='define'
d_nv_preserves_uv='define'
d_portable='define'
d_procselfexe='undef'
d_pthread_atfork='undef'
-d_pthread_attr_setscope='undef'
d_pthread_yield='undef'
d_pwage='undef'
d_pwchange='undef'
d_safemcpy='undef'
d_sanemcmp='define'
d_sbrkproto='define'
+d_scalbnl='define'
d_sched_yield='define'
d_scm_rights='define'
d_seekdir='define'
d_vendorarch='undef'
d_vendorbin='undef'
d_vendorlib='undef'
+d_vendorscript='undef'
d_vfork='undef'
d_void_closedir='undef'
d_voidsig='define'
full_ar='/usr/local/arm/2.95.3/bin/arm-linux-ar'
full_csh='csh'
full_sed='/bin/sed'
+gccansipedantic=''
gccosandvers=''
gccversion='2.95.1 19990816 (release)'
getgrent_r_proto='0'
h_sysfile='true'
hint='recommended'
hostcat='cat /etc/hosts'
+html1dir=' '
+html1direxp=''
+html3dir=' '
+html3direxp=''
i16size='2'
i16type='short'
i32size='4'
inc_version_list_init='0'
incpath=''
inews=''
-installarchlib='./install_me_here/usr/lib/perl5/5.8.0/armv4l-linux'
+installarchlib='./install_me_here/usr/lib/perl5/5.9.0/armv4l-linux'
installbin='./install_me_here/usr/bin'
installman1dir=''
installman3dir=''
installprefix='./install_me_here/usr/lib/perl5'
installprefixexp='./install_me_here/usr/lib/perl5'
-installprivlib='./install_me_here/usr/lib/perl5/5.8.0'
+installprivlib='./install_me_here/usr/lib/perl5/5.9.0'
installscript='./install_me_here/usr/bin'
-installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.8.0/armv4l-linux'
+installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.9.0/armv4l-linux'
installsitebin='./install_me_here/usr/bin'
-installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.8.0'
+installsitehtml1=''
+installsitehtml3=''
+installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.9.0'
installstyle='lib/perl5'
installusrbinperl='undef'
installvendorarch=''
package='perl5'
pager='/usr/bin/less'
passcat='cat /etc/passwd'
-patchlevel='8'
+patchlevel='9'
path_sep=':'
perl5=''
perl=''
pr=''
prefix='/usr'
prefixexp='/usr'
-privlib='/usr/lib/perl5/5.8.0'
-privlibexp='/usr/lib/perl5/5.8.0'
+privlib='/usr/lib/perl5/5.9.0'
+privlibexp='/usr/lib/perl5/5.9.0'
procselfexe=''
prototype='define'
ptrsize='4'
sig_num_init='0, 0'
sig_size='1'
signal_t='void'
-sitearch='/usr/lib/perl5/site_perl/5.8.0/armv4l-linux'
-sitearchexp='/usr/lib/perl5/site_perl/5.8.0/armv4l-linux'
+sitearch='/usr/lib/perl5/site_perl/5.9.0/armv4l-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.9.0/armv4l-linux'
sitebin='/usr/bin'
sitebinexp='/usr/bin'
-sitelib='/usr/lib/perl5/site_perl/5.8.0'
+sitehtml1=' '
+sitehtml1exp=''
+sitehtml3=' '
+sitehtml3exp=''
+sitelib='/usr/lib/perl5/site_perl/5.9.0'
sitelib_stem='/usr/lib/perl5/site_perl'
-sitelibexp='/usr/lib/perl5/site_perl/5.8.0'
-siteprefix='/usr/lib/perl5.8.0'
+sitelibexp='/usr/lib/perl5/site_perl/5.9.0'
+siteprefix='/usr/lib/perl5.9.0'
siteprefixexp='/usr'
sizesize='4'
sizetype='size_t'
use64bitint='undef'
usecrosscompile='undef'
usedl='undef'
+usefaststdio='undef'
useithreads='undef'
uselargefiles='define'
uselongdouble='undef'
vendorlibexp=''
vendorprefix=''
vendorprefixexp=''
-version='5.8.0'
-version_patchlevel_string='version 8 subversion 0'
+version='5.9.0'
+version_patchlevel_string='version 9 subversion 0 patch 18374'
versiononly='undef'
vi=''
voidflags='15'
xlibpth='/usr/lib/386 /lib/386'
-xs_apiversion='5.8.0'
+xs_apiversion='5.9.0'
yacc='yacc'
yaccflags=''
zcat=''
zip='zip'
# Configure command line arguments.
config_arg0='./Configure'
-config_args='-Dprefix=/usr/local/perl5.8.0 -Uinstallusrbinperl -des'
+config_args='-Dprefix=/usr/local/perl5.9.0 -Uinstallusrbinperl -des'
config_argc=3
-config_arg1='-Dprefix=/usr/local/perl5.8.0'
+config_arg1='-Dprefix=/usr/local/perl5.9.0'
config_arg2='-Uinstallusrbinperl'
config_arg3='-des'
PERL_REVISION=5
-PERL_VERSION=8
+PERL_VERSION=9
PERL_SUBVERSION=0
PERL_API_REVISION=5
-PERL_API_VERSION=8
+PERL_API_VERSION=9
PERL_API_SUBVERSION=0
-PERL_PATCHLEVEL=
+PERL_PATCHLEVEL=18374
PERL_CONFIG_SH=true
#
# This means we can go
#
-# if test "${CC+set}" != set; then
+# if test "${AR+set}" != set; then
# ar='arm-linux-ar'
# else
# ar=${AR}
}
+
+
+
+
+
+
+
+
+
+
+
---- ../installperl 2002-07-16 18:57:32.000000000 +0000
-+++ installperl 2003-04-15 01:55:54.000000000 +0000
+--- ../installperl 2003-03-26 21:07:13.000000000 +0000
++++ installperl 2003-05-01 11:17:48.000000000 +0000
@@ -3,8 +3,8 @@
BEGIN {
require 5.004;
}
use strict;
-@@ -876,7 +876,7 @@
- print " " if (@opts);
- print "$file\n";
- }
-- system("strip", @opts, $file);
-+ system("XXSTRIPXX-strip", @opts, $file);
- } else {
- print "# file '$file' skipped\n" if $verbose;
- }
+@@ -878,7 +878,7 @@
+ print " " if (@opts);
+ print "$file\n";
+ }
+- system("strip", @opts, $file);
++ system("XXSTRIPXX-strip", @opts, $file);
+ } else {
+ print "# file '$file' skipped\n" if $verbose;
+ }