OpenZaurus cross-compilation patches from Redvers Davies.
Jarkko Hietaniemi [Wed, 28 May 2003 05:08:07 +0000 (05:08 +0000)]
p4raw-id: //depot/perl@19627

Cross/Makefile
Cross/Makefile.SH.patch
Cross/README
Cross/config.sh-arm-linux
Cross/generate_config_sh
Cross/installperl.patch

index f0db84e..4bb4c06 100644 (file)
@@ -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
index beaf7a3..0352b4b 100644 (file)
@@ -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)
  !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.)
        $(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.
index 6244483..e113380 100644 (file)
@@ -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/
index ee370a3..8dd89e2 100644 (file)
@@ -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
index 4461b8c..408f5f4 100755 (executable)
@@ -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 {
                
 }
 
+
+
+
+
+
+
+
+
+
+
+
index 33ad2d4..1a1c5a6 100644 (file)
@@ -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;
  }
  
  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;
+       }