Change 30226 by [EMAIL PROTECTED] on 2007/02/12 14:48:32

        Integrate:
        [ 27884]
        Subject: [PATCH] Support compiling for RISC OS
        From: Alex Waugh <[EMAIL PROTECTED]>
        Date: Mon, 17 Apr 2006 00:14:26 +0100
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 27887]
        Addition to README.riscos suggested by Nicholas
        
        [ 28239]
        Add README.riscos to pod.lst

Affected files ...

... //depot/maint-5.8/perl/MANIFEST#320 integrate
... //depot/maint-5.8/perl/README.riscos#1 branch
... //depot/maint-5.8/perl/ext/Errno/Errno_pm.PL#9 integrate
... //depot/maint-5.8/perl/hints/riscos.sh#1 branch
... //depot/maint-5.8/perl/hv.c#110 integrate
... //depot/maint-5.8/perl/pod.lst#15 integrate
... //depot/maint-5.8/perl/pod/perl.pod#25 integrate
... //depot/maint-5.8/perl/util.c#145 integrate
... //depot/maint-5.8/perl/vms/descrip_mms.template#48 edit
... //depot/maint-5.8/perl/win32/Makefile#63 integrate
... //depot/maint-5.8/perl/win32/makefile.mk#71 integrate

Differences ...

==== //depot/maint-5.8/perl/MANIFEST#320 (text) ====
Index: perl/MANIFEST
--- perl/MANIFEST#319~30225~    2007-02-12 06:01:09.000000000 -0800
+++ perl/MANIFEST       2007-02-12 06:48:32.000000000 -0800
@@ -1103,6 +1103,7 @@
 hints/qnx.sh                   Hints for named architecture
 hints/README.hints             Notes about hints
 hints/rhapsody.sh              Hints for named architecture
+hints/riscos.sh                        Hints for named architecture
 hints/sco_2_3_0.sh             Hints for named architecture
 hints/sco_2_3_1.sh             Hints for named architecture
 hints/sco_2_3_2.sh             Hints for named architecture
@@ -2549,6 +2550,7 @@
 README.os400                   Perl notes for OS/400
 README.plan9                   Perl notes for Plan 9
 README.qnx                     Perl notes for QNX
+README.riscos                  Perl notes for RISC OS
 README.solaris                 Perl notes for Solaris
 README.tru64                   Perl notes for Tru64
 README.tw                      Perl for Traditional Chinese (in Big5)

==== //depot/maint-5.8/perl/README.riscos#1 (text) ====
Index: perl/README.riscos
--- /dev/null   2007-01-16 11:55:45.526841103 -0800
+++ perl/README.riscos  2007-02-12 06:48:32.000000000 -0800
@@ -0,0 +1,67 @@
+If you read this file _as_is_, just ignore the funny characters you
+see.  It is written in the POD format (see pod/perlpod.pod) which is
+specifically designed to be readable as is.
+
+=head1 NAME
+
+README.riscos - Perl version 5 for RISC OS
+
+=head1 DESCRIPTION
+
+This document gives instructions for building Perl for RISC OS. It is
+complicated by the need to cross compile. There is a binary version of
+perl available from L<http://www.cp15.org/perl/> which you may wish to
+use instead of trying to compile it yourself.
+
+=head1 BUILD
+
+You need an installed and working gccsdk cross compiler
+L<http://gccsdk.riscos.info/> and REXEN
+L<http://www.cp15.org/programming/>
+
+Firstly, copy the source and build a native copy of perl for your host
+system.
+Then, in the source to be cross compiled:
+
+=over 4
+
+=item
+
+    $ ./Configure
+
+=item
+
+Select the riscos hint file. The default answers for the rest of the
+questions are usually sufficient.
+
+Note that, if you wish to run Configure non-interactively (see the INSTALL
+document for details), to have it select the correct hint file, you'll
+need to provide the argument -Dhintfile=riscos on the Configure
+command-line.
+
+=item
+
+    $ make miniperl
+
+=item
+
+This should build miniperl and then fail when it tries to run it.
+
+=item
+
+Copy the miniperl executable from the native build done earlier to
+replace the cross compiled miniperl.
+
+=item
+
+    $ make
+
+=item
+
+This will use miniperl to complete the rest of the build.
+
+=back
+
+=head1 AUTHOR
+
+Alex Waugh <[EMAIL PROTECTED]>

==== //depot/maint-5.8/perl/ext/Errno/Errno_pm.PL#9 (text) ====
Index: perl/ext/Errno/Errno_pm.PL
--- perl/ext/Errno/Errno_pm.PL#8~25558~ 2005-09-21 13:50:26.000000000 -0700
+++ perl/ext/Errno/Errno_pm.PL  2007-02-12 06:48:32.000000000 -0800
@@ -128,6 +128,12 @@
     } elsif ($Config{archname} eq 'epoc') {
        # Watch out for cross compiling for EPOC (usually done on linux)
        $file{'/usr/local/epocemx/epocsdk/include/libc/sys/errno.h'} = 1;
+    } elsif ($Config{archname} eq 'arm-riscos') {
+       # Watch out for cross compiling for RISC OS
+       my $dep = `echo "#include <errno.h>" | gcc -E -M -`;
+       if ($dep =~ /(\S+errno\.h)/) {
+            $file{$1} = 1;
+       }
     } elsif ($^O eq 'linux' &&
             $Config{gccversion} ne '' # might be using, say, Intel's icc
             ) {

==== //depot/maint-5.8/perl/hints/riscos.sh#1 (text) ====
Index: perl/hints/riscos.sh
--- /dev/null   2007-01-16 11:55:45.526841103 -0800
+++ perl/hints/riscos.sh        2007-02-12 06:48:32.000000000 -0800
@@ -0,0 +1,20 @@
+#! /bin/sh
+# riscos.sh - hints for building perl using the gccsdk cross compiler for RISC 
OS
+#
+
+
+cc='gcc'
+locincpth=""
+ccflags="-mpoke-function-name -DDYNAMIC_ENV_FETCH -DPERL_USE_SAFE_PUTENV"
+prefix='/<Perl$Dir>'
+osname='riscos'
+libpth=' '
+optimize='-O2'
+myarchname=''
+archname='arm-riscos'
+installprefix='~/PerlInst'
+mkdir -p $installprefix
+startperl="#!/usr/bin/perl"
+i_shadow='undef'
+ebcdic='undef'
+

==== //depot/maint-5.8/perl/hv.c#110 (text) ====
Index: perl/hv.c
--- perl/hv.c#109~30051~        2007-01-28 13:56:48.000000000 -0800
+++ perl/hv.c   2007-02-12 06:48:32.000000000 -0800
@@ -1738,7 +1738,7 @@
        xhv->xhv_eiter = NULL; /* HvEITER(hv) = NULL */
        return NULL;
     }
-#ifdef DYNAMIC_ENV_FETCH  /* set up %ENV for iteration */
+#if defined(DYNAMIC_ENV_FETCH) && !defined(__riscos__)  /* set up %ENV for 
iteration */
     if (!entry && SvRMAGICAL((SV*)hv) && mg_find((SV*)hv, PERL_MAGIC_env)) {
        prime_env_iter();
 #ifdef VMS

==== //depot/maint-5.8/perl/pod.lst#15 (text) ====
Index: perl/pod.lst
--- perl/pod.lst#14~27058~      2006-02-03 03:35:30.000000000 -0800
+++ perl/pod.lst        2007-02-12 06:48:32.000000000 -0800
@@ -180,6 +180,7 @@
 r perlos400            Perl notes for OS/400
 r perlplan9            Perl notes for Plan 9
 r perlqnx              Perl notes for QNX
+r perlriscos           Perl notes for RISC OS
 r perlsolaris          Perl notes for Solaris
 r perltru64            Perl notes for Tru64
 r perluts              Perl notes for UTS

==== //depot/maint-5.8/perl/pod/perl.pod#25 (text) ====
Index: perl/pod/perl.pod
--- perl/pod/perl.pod#24~27058~ 2006-02-03 03:35:30.000000000 -0800
+++ perl/pod/perl.pod   2007-02-12 06:48:32.000000000 -0800
@@ -195,6 +195,7 @@
     perlos400          Perl notes for OS/400
     perlplan9          Perl notes for Plan 9
     perlqnx            Perl notes for QNX
+    perlriscos         Perl notes for RISC OS
     perlsolaris        Perl notes for Solaris
     perltru64          Perl notes for Tru64
     perluts            Perl notes for UTS

==== //depot/maint-5.8/perl/util.c#145 (text) ====
Index: perl/util.c
--- perl/util.c#144~30141~      2007-02-05 14:46:22.000000000 -0800
+++ perl/util.c 2007-02-12 06:48:32.000000000 -0800
@@ -1583,16 +1583,16 @@
        environ[i+1] = NULL;    /* make sure it's null terminated */
     }
     else
-       safesysfree(environ[i]);
-       nlen = strlen(nam);
-       vlen = strlen(val);
-
-       environ[i] = (char*)safesysmalloc((nlen+vlen+2) * sizeof(char));
-       /* all that work just for this */
-       my_setenv_format(environ[i], nam, nlen, val, vlen);
+       safesysfree(environ[i]);
+       nlen = strlen(nam);
+       vlen = strlen(val);
+
+       environ[i] = (char*)safesysmalloc((nlen+vlen+2) * sizeof(char));
+       /* all that work just for this */
+       my_setenv_format(environ[i], nam, nlen, val, vlen);
     } else {
 # endif
-#   if defined(__CYGWIN__) || defined(EPOC) || defined(SYMBIAN) 
+#   if defined(__CYGWIN__) || defined(EPOC) || defined(__SYMBIAN32__) || 
defined(__riscos__)
 #       if defined(HAS_UNSETENV)
         if (val == NULL) {
             (void)unsetenv(nam);

==== //depot/maint-5.8/perl/vms/descrip_mms.template#48 (text) ====
Index: perl/vms/descrip_mms.template
--- perl/vms/descrip_mms.template#47~30208~     2007-02-10 15:36:59.000000000 
-0800
+++ perl/vms/descrip_mms.template       2007-02-12 06:48:32.000000000 -0800
@@ -403,11 +403,11 @@
 pod18 = [.lib.pods]perlopentut.pod [.lib.pods]perlos2.pod 
[.lib.pods]perlos390.pod [.lib.pods]perlos400.pod [.lib.pods]perlothrtut.pod
 pod19 = [.lib.pods]perlpacktut.pod [.lib.pods]perlplan9.pod 
[.lib.pods]perlpod.pod [.lib.pods]perlpodspec.pod [.lib.pods]perlport.pod 
[.lib.pods]perlqnx.pod
 pod20 = [.lib.pods]perlre.pod [.lib.pods]perlref.pod [.lib.pods]perlreftut.pod 
[.lib.pods]perlrequick.pod [.lib.pods]perlreref.pod [.lib.pods]perlretut.pod
-pod21 = [.lib.pods]perlrun.pod [.lib.pods]perlsec.pod 
[.lib.pods]perlsolaris.pod [.lib.pods]perlstyle.pod [.lib.pods]perlsub.pod 
[.lib.pods]perlsyn.pod
-pod22 = [.lib.pods]perlthrtut.pod [.lib.pods]perltie.pod 
[.lib.pods]perltoc.pod [.lib.pods]perltodo.pod [.lib.pods]perltooc.pod 
[.lib.pods]perltoot.pod
-pod23 = [.lib.pods]perltrap.pod [.lib.pods]perltru64.pod [.lib.pods]perltw.pod 
[.lib.pods]perlunicode.pod [.lib.pods]perluniintro.pod [.lib.pods]perlutil.pod
-pod24 = [.lib.pods]perluts.pod [.lib.pods]perlvar.pod [.lib.pods]perlvmesa.pod 
[.lib.pods]perlvms.pod [.lib.pods]perlvos.pod [.lib.pods]perlwin32.pod
-pod25 = [.lib.pods]perlxs.pod [.lib.pods]perlxstut.pod
+pod21 = [.lib.pods]perlriscos.pod [.lib.pods]perlrun.pod 
[.lib.pods]perlsec.pod [.lib.pods]perlsolaris.pod [.lib.pods]perlstyle.pod 
[.lib.pods]perlsub.pod
+pod22 = [.lib.pods]perlsyn.pod [.lib.pods]perlthrtut.pod 
[.lib.pods]perltie.pod [.lib.pods]perltoc.pod [.lib.pods]perltodo.pod 
[.lib.pods]perltooc.pod
+pod23 = [.lib.pods]perltoot.pod [.lib.pods]perltrap.pod 
[.lib.pods]perltru64.pod [.lib.pods]perltw.pod [.lib.pods]perlunicode.pod 
[.lib.pods]perluniintro.pod
+pod24 = [.lib.pods]perlutil.pod [.lib.pods]perluts.pod [.lib.pods]perlvar.pod 
[.lib.pods]perlvmesa.pod [.lib.pods]perlvms.pod [.lib.pods]perlvos.pod
+pod25 = [.lib.pods]perlwin32.pod [.lib.pods]perlxs.pod [.lib.pods]perlxstut.pod
 pod = $(pod0) $(pod1) $(pod2) $(pod3) $(pod4) $(pod5) $(pod6) $(pod7) $(pod8) 
$(pod9) $(pod10) $(pod11) $(pod12) $(pod13) $(pod14) $(pod15) $(pod16) $(pod17) 
$(pod18) $(pod19) $(pod20) $(pod21) $(pod22) $(pod23) $(pod24) $(pod25)
 
 # Would be useful to automate the generation of this rule from pod/buildtoc
@@ -1141,6 +1141,10 @@
        @ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
        Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
 
+[.lib.pods]perlriscos.pod : [.pod]perlriscos.pod
+       @ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
+       Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
+
 [.lib.pods]perlrun.pod : [.pod]perlrun.pod
        @ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
        Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]

==== //depot/maint-5.8/perl/win32/Makefile#63 (text) ====
Index: perl/win32/Makefile
--- perl/win32/Makefile#62~30209~       2007-02-10 15:55:04.000000000 -0800
+++ perl/win32/Makefile 2007-02-12 06:48:32.000000000 -0800
@@ -1150,6 +1150,7 @@
        copy ..\README.os400    ..\pod\perlos400.pod
        copy ..\README.plan9    ..\pod\perlplan9.pod
        copy ..\README.qnx      ..\pod\perlqnx.pod
+       copy ..\README.riscos   ..\pod\perlriscos.pod
        copy ..\README.solaris  ..\pod\perlsolaris.pod
        copy ..\README.tru64    ..\pod\perltru64.pod
        copy ..\README.tw       ..\pod\perltw.pod
@@ -1227,9 +1228,9 @@
            perljp.pod perlko.pod perllinux.pod perlmachten.pod \
            perlmacos.pod perlmacosx.pod perlmint.pod perlmpeix.pod \
            perlnetware.pod perlopenbsd.pod perlos2.pod perlos390.pod \
-           perlos400.pod perlplan9.pod perlqnx.pod perlsolaris.pod \
-           perltru64.pod perltw.pod perluts.pod perlvmesa.pod perlvms.pod \
-           perlvms.pod perlvos.pod perlwin32.pod \
+           perlos400.pod perlplan9.pod perlqnx.pod perlriscos.pod \
+           perlsolaris.pod perltru64.pod perltw.pod perluts.pod \
+           perlvmesa.pod perlvms.pod perlvms.pod perlvos.pod perlwin32.pod \
            pod2html pod2latex pod2man pod2text pod2usage \
            podchecker podselect
        -cd ..\utils && del /f h2ph splain perlbug pl2pm c2ph pstruct h2xs \

==== //depot/maint-5.8/perl/win32/makefile.mk#71 (text) ====
Index: perl/win32/makefile.mk
--- perl/win32/makefile.mk#70~30209~    2007-02-10 15:55:04.000000000 -0800
+++ perl/win32/makefile.mk      2007-02-12 06:48:32.000000000 -0800
@@ -1303,6 +1303,7 @@
        copy ..\README.os400    ..\pod\perlos400.pod
        copy ..\README.plan9    ..\pod\perlplan9.pod
        copy ..\README.qnx      ..\pod\perlqnx.pod
+       copy ..\README.riscos   ..\pod\perlriscos.pod
        copy ..\README.solaris  ..\pod\perlsolaris.pod
        copy ..\README.tru64    ..\pod\perltru64.pod
        copy ..\README.tw       ..\pod\perltw.pod
@@ -1374,9 +1375,9 @@
            perljp.pod perlko.pod perllinux.pod perlmachten.pod \
            perlmacos.pod perlmacosx.pod perlmint.pod perlmpeix.pod \
            perlnetware.pod perlopenbsd.pod perlos2.pod perlos390.pod \
-           perlos400.pod perlplan9.pod perlqnx.pod perlsolaris.pod \
-           perltru64.pod perltw.pod perluts.pod perlvmesa.pod perlvms.pod \
-           perlvms.pod perlvos.pod perlwin32.pod \
+           perlos400.pod perlplan9.pod perlqnx.pod perlriscos.pod \
+           perlsolaris.pod perltru64.pod perltw.pod perluts.pod \
+           perlvmesa.pod perlvms.pod perlvms.pod perlvos.pod perlwin32.pod \
            pod2html pod2latex pod2man pod2text pod2usage \
            podchecker podselect
        -cd ..\utils && del /f h2ph splain perlbug pl2pm c2ph pstruct h2xs \
End of Patch.

Reply via email to