summaryrefslogtreecommitdiff
path: root/Cross
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2003-05-28 05:08:07 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2003-05-28 05:08:07 +0000
commite42fa77b579283ff48061baf2c5174858a85329a (patch)
treed3fe126850f3f8b507c34a7af09bb882ae7898f7 /Cross
parent3874323d73ef08e6639270ea07e834aec3e379f1 (diff)
downloadperl-e42fa77b579283ff48061baf2c5174858a85329a.tar.gz
OpenZaurus cross-compilation patches from Redvers Davies.
p4raw-id: //depot/perl@19627
Diffstat (limited to 'Cross')
-rw-r--r--Cross/Makefile2
-rw-r--r--Cross/Makefile.SH.patch56
-rw-r--r--Cross/README10
-rw-r--r--Cross/config.sh-arm-linux71
-rwxr-xr-xCross/generate_config_sh13
-rw-r--r--Cross/installperl.patch22
6 files changed, 117 insertions, 57 deletions
diff --git a/Cross/Makefile b/Cross/Makefile
index f0db84e9c0..4bb4c067eb 100644
--- a/Cross/Makefile
+++ b/Cross/Makefile
@@ -1,6 +1,6 @@
## 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
diff --git a/Cross/Makefile.SH.patch b/Cross/Makefile.SH.patch
index beaf7a30a1..0352b4b29a 100644
--- a/Cross/Makefile.SH.patch
+++ b/Cross/Makefile.SH.patch
@@ -1,6 +1,34 @@
---- ../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
@@ -24,7 +52,7 @@
.PHONY: all compile translators utilities
-@@ -341,10 +352,10 @@
+@@ -355,10 +367,10 @@
cd x2p; $(MAKE) compile;
cd pod; $(MAKE) compile;
@@ -37,7 +65,7 @@
@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)
@@ -46,16 +74,16 @@
!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
@@ -64,7 +92,7 @@
@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.)
@@ -78,7 +106,7 @@
$(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
@@ -101,7 +129,7 @@
-@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
@@ -123,7 +151,7 @@
# 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.
@@ -144,7 +172,7 @@
@$(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)
@@ -153,7 +181,7 @@
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.
diff --git a/Cross/README b/Cross/README
index 62444837b7..e113380ff1 100644
--- a/Cross/README
+++ b/Cross/README
@@ -4,15 +4,17 @@ Summary
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
@@ -47,7 +49,7 @@ documentation in the core - Therefore man pages are not even generated.
Enjoy!
References
--------
+----------
Redvers Davies <red@criticalintegration.com>
Open Zaurus http://www.openzaurus.org/
Perl OZ Packages http://www.openzaurus.org/official/testing/feed/
diff --git a/Cross/config.sh-arm-linux b/Cross/config.sh-arm-linux
index ee370a3096..8dd89e280b 100644
--- a/Cross/config.sh-arm-linux
+++ b/Cross/config.sh-arm-linux
@@ -5,7 +5,7 @@
# 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
@@ -35,11 +35,11 @@ ansi2knr=''
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=''
@@ -107,6 +107,7 @@ d_SCNfldbl='define'
d__fwalk='undef'
d_access='define'
d_accessx='undef'
+d_aintl='undef'
d_alarm='define'
d_archlib='define'
d_asctime_r='undef'
@@ -129,6 +130,7 @@ d_class='undef'
d_closedir='define'
d_cmsghdr_s='define'
d_const='define'
+d_copysignl='define'
d_crypt='undef'
d_crypt_r='undef'
d_csh='undef'
@@ -162,6 +164,7 @@ d_endsent='define'
d_endservent_r='undef'
d_eofnblk='define'
d_eunice='undef'
+d_faststdio='define'
d_fchdir='define'
d_fchmod='define'
d_fchown='define'
@@ -253,6 +256,7 @@ d_gnulibc='define'
d_grpasswd='define'
d_hasmntopt='define'
d_htonl='define'
+d_ilogbl='define'
d_index='undef'
d_inetaton='define'
d_int64_t='define'
@@ -289,6 +293,7 @@ d_mkstemps='undef'
d_mktime='define'
d_mmap='define'
d_modfl='undef'
+d_modflproto='undef'
d_modfl_pow32_bug='undef'
d_mprotect='define'
d_msg='define'
@@ -305,6 +310,7 @@ d_msgsnd='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'
@@ -322,7 +328,6 @@ d_poll='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'
@@ -348,6 +353,7 @@ d_safebcpy='undef'
d_safemcpy='undef'
d_sanemcmp='define'
d_sbrkproto='define'
+d_scalbnl='define'
d_sched_yield='define'
d_scm_rights='define'
d_seekdir='define'
@@ -471,6 +477,7 @@ d_ustat='define'
d_vendorarch='undef'
d_vendorbin='undef'
d_vendorlib='undef'
+d_vendorscript='undef'
d_vfork='undef'
d_void_closedir='undef'
d_voidsig='define'
@@ -525,6 +532,7 @@ from=':'
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'
@@ -563,6 +571,10 @@ h_fcntl='false'
h_sysfile='true'
hint='recommended'
hostcat='cat /etc/hosts'
+html1dir=' '
+html1direxp=''
+html3dir=' '
+html3direxp=''
i16size='2'
i16type='short'
i32size='4'
@@ -658,17 +670,19 @@ inc_version_list=' '
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=''
@@ -769,7 +783,7 @@ otherlibdirs=' '
package='perl5'
pager='/usr/bin/less'
passcat='cat /etc/passwd'
-patchlevel='8'
+patchlevel='9'
path_sep=':'
perl5=''
perl=''
@@ -786,8 +800,8 @@ pmake=''
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'
@@ -848,14 +862,18 @@ sig_num='0 '
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'
@@ -922,6 +940,7 @@ use64bitall='undef'
use64bitint='undef'
usecrosscompile='undef'
usedl='undef'
+usefaststdio='undef'
useithreads='undef'
uselargefiles='define'
uselongdouble='undef'
@@ -956,29 +975,29 @@ vendorlib_stem=''
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
diff --git a/Cross/generate_config_sh b/Cross/generate_config_sh
index 4461b8c797..408f5f4003 100755
--- a/Cross/generate_config_sh
+++ b/Cross/generate_config_sh
@@ -9,7 +9,7 @@
#
# This means we can go
#
-# if test "${CC+set}" != set; then
+# if test "${AR+set}" != set; then
# ar='arm-linux-ar'
# else
# ar=${AR}
@@ -129,3 +129,14 @@ sub library_munge {
}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Cross/installperl.patch b/Cross/installperl.patch
index 33ad2d4c0a..1a1c5a6870 100644
--- a/Cross/installperl.patch
+++ b/Cross/installperl.patch
@@ -1,5 +1,5 @@
---- ../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;
@@ -11,12 +11,12 @@
}
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;
+ }