The first steps towards cross-compilation.
Jarkko Hietaniemi [Fri, 15 Jun 2001 00:15:52 +0000 (00:15 +0000)]
Abstract execution of compiled test executables with $run,
and abstract transfer of files with $to and $from.

Under cross-compilation the $run, $to, and $from will point
to appropriate wrapper scripts, by default ssh and scp,
but also rsh, rcp, and cp are supported.  If not
cross-compiling, they will be set to '', ':', and ':',
respectively.

With these patches I was able to get Configure for
iPAQ ARM Linux on an Intel Linux about 95% right
(only a few tests failed to execute or they produced
incorrect results), and I was able to compile
a functional miniperl.

The symbol crosscompile renamed to be usecrosscompile,
the corresponding C symbol from CROSSCOMPILE to
USE_CROSS_COMPILE.

p4raw-id: //depot/perl@10592

23 files changed:
Configure
Cross/README
Makefile.SH
Porting/Glossary
Porting/config.sh
Porting/config_H
config_h.SH
configure.com
epoc/config.sh
hints/linux.sh
pod/perltoc.pod
uconfig.h
uconfig.sh
vos/config.alpha.def
vos/config.alpha.h
vos/config.ga.def
vos/config.ga.h
win32/config.bc
win32/config.gc
win32/config.vc
win32/config_H.bc
win32/config_H.gc
win32/config_H.vc

index 176b6f7..53f539a 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
 
 # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
 #
-# Generated on Wed Jun 13 21:32:05 EET DST 2001 [metaconfig 3.0 PL70]
+# Generated on Fri Jun 15 04:00:58 EET DST 2001 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.org)
 
 cat >c1$$ <<EOF
@@ -165,6 +165,11 @@ ccversion=''
 ccsymbols=''
 cppccsymbols=''
 cppsymbols=''
+from=''
+run=''
+targetarch=''
+to=''
+usecrosscompile=''
 perllibs=''
 dynamic_ext=''
 extensions=''
@@ -308,7 +313,6 @@ cpplast=''
 cppminus=''
 cpprun=''
 cppstdin=''
-crosscompile=''
 d__fwalk=''
 d_access=''
 d_accessx=''
@@ -1122,17 +1126,17 @@ if `$sh -c '#' >/dev/null 2>&1`; then
        spitshell=cat
        xcat=/bin/cat
        test -f $xcat || xcat=/usr/bin/cat
-       echo "#!$xcat" >try
-       $eunicefix try
-       chmod +x try
-       ./try > today
+       echo "#!$xcat" >sharp
+       $eunicefix sharp
+       chmod +x sharp
+       ./sharp > today
        if test -s today; then
                sharpbang='#!'
        else
-               echo "#! $xcat" > try
-               $eunicefix try
-               chmod +x try
-               ./try > today
+               echo "#! $xcat" > sharp
+               $eunicefix sharp
+               chmod +x sharp
+               ./sharp > today
                if test -s today; then
                        sharpbang='#! '
                else
@@ -1152,28 +1156,28 @@ else
        echo "I presume that if # doesn't work, #! won't work either!"
        sharpbang=': use '
 fi
-rm -f try today
+rm -f sharp today
 
 : figure out how to guarantee sh startup
 case "$startsh" in
 '') startsh=${sharpbang}${sh} ;;
 *)
 esac
-cat >try <<EOSS
+cat >sharp <<EOSS
 $startsh
 set abc
 test "$?abc" != 1
 EOSS
 
-chmod +x try
-$eunicefix try
-if ./try; then
+chmod +x sharp
+$eunicefix sharp
+if ./sharp; then
        : echo "Yup, it does."
 else
        echo "Hmm... '$startsh' does not guarantee sh startup..."
        echo "You may have to fix up the shell scripts to make sure $sh runs them."
 fi
-rm -f try
+rm -f sharp
 
 
 : Save command line options in file UU/cmdline.opt for later use in
@@ -2305,6 +2309,163 @@ $define|true|[yY]*)
        ;;
 esac
 
+
+case "$usecrosscompile" in
+$define|true|[yY]*)
+        croak=''
+       case "$cc" in
+       *-*-gcc) # A cross-compiling gcc, probably.
+           targetarch=`echo $cc|sed 's/-gcc$//'`
+           ar=$targetarch-ar
+           # leave out ld, choosing it is more complex
+           nm=$targetarch-nm
+           ranlib=$targetarch-ranlib
+           ;;
+       esac
+       case "$targetarch" in
+       '') echo "Cross-compiling: you should define targetarch." >&4; croak=y ;;
+       esac
+       case "$usrinc" in
+       '') echo "Cross-compiling: you should define usrinc." >&4; croak=y ;;
+       esac
+       case "$incpth" in
+       '') echo "Cross-compiling: you should define incpth." >&4; croak=y ;;
+       esac
+       case "$libpth" in
+       '') echo "Cross-compiling: you should define libpth." >&4; croak=y ;;
+       esac
+       case "$targethost" in
+       '') echo "Cross-compiling: targethost not defined." >&4; croak=y ;;
+       esac
+       case "$targetdir" in
+       '') echo "Cross compiling: targetdir not defined." >&4; croak=y ;;
+       esac
+       locincpth=''
+       loclibpth=''
+       case "$croak" in
+       y) exit 1 ;;
+       esac
+       case "$src" in
+       /*) run=$src/Cross/run
+           to=$src/Cross/to
+           from=$src/Cross/from
+           ;;
+       *)  pwd=`test -f ../Configure & cd ..; pwd`
+           run=$pwd/Cross/run
+           to=$pwd/Cross/to
+           from=$pwd/Cross/from
+           ;;
+       esac
+       case "$targetrun" in
+       '') targetrun=ssh ;;
+       esac
+       case "$targetto" in
+       '') targetto=scp ;;
+       esac
+       case "$targetfrom" in
+       '') targetfrom=scp ;;
+       esac
+       run=$run-$targetrun
+       to=$to-$targetto
+       from=$from-$targetfrom
+       case "$targetuser" in
+       '') targetuser=root ;;
+       esac
+       case "$targetfrom" in
+       scp)    q=-q ;;
+       *)      q='' ;;
+       esac
+       case "$targetrun" in
+       ssh|rsh)
+           cat >$run <<EOF
+#!/bin/sh
+exe=\$1
+shift
+$to \$exe
+$targetrun -l $targetuser $targethost "cd $targetdir && ./\$exe \$@"
+EOF
+           ;;
+       *)  echo "Cross-compiling: unknown targetrun '$targetrun'" >&4
+           exit 1
+           ;;
+       esac
+       case "$targetto" in
+       scp|rcp)
+           cat >$to <<EOF
+#!/bin/sh
+for f in \$@
+do
+  $targetto $q \$f $targetuser@$targethost:$targetdir/. || exit 1
+done
+exit 0
+EOF
+           ;;
+       cp) cat >$to <<EOF
+#!/bin/sh
+cp \$@ $targetdir/.
+EOF
+           ;;
+       *)  echo "Cross-compiling: unknown targetto '$targetto'" >&4
+           exit 1
+           ;;
+       esac
+       case "$targetfrom" in
+       scp|rcp)
+         cat >$from <<EOF
+#!/bin/sh
+for f in \$@
+do
+  $targetfrom $q $targetuser@$targethost:$targetdir/\$f . || exit 1
+done
+exit 0
+EOF
+           ;;
+       cp) cat >$from <<EOF
+#!/bin/sh
+for f in \$@
+do
+  cp $targetdir/\$f . || exit 1
+done
+exit 0
+EOF
+           ;;
+       *)  echo "Cross-compiling: unknown targetfrom '$targetfrom'" >&4
+           exit 1
+           ;;
+       esac
+       if test ! -f $run; then
+           echo "Cross-compiling: target 'run' script '$run' not found." >&4
+       else
+           chmod a+rx $run
+       fi
+       if test ! -f $to; then
+           echo "Cross-compiling: target 'to' script '$to' not found." >&4
+       else
+           chmod a+rx $to
+       fi
+       if test ! -f $from; then
+           echo "Cross-compiling: target 'from' script '$from' not found." >&4
+       else
+           chmod a+rx $from
+       fi
+       if test ! -f $run -o ! -f $to -o ! -f $from; then
+           exit 1
+       fi
+       cat >&4 <<EOF
+Cross-compiling: Using
+       $run-ssh
+       $to-ssh
+       $from-ssh
+EOF
+       ;;
+*)     run=''
+       to=:
+       from=:
+       usecrosscompile='undef'
+       targetarch=''
+       ;;
+esac
+
 : see whether [:lower:] and [:upper:] are supported character classes
 echo " "
 case "`echo AbyZ | $tr '[:lower:]' '[:upper:]' 2>/dev/null`" in
@@ -2699,6 +2860,14 @@ EOM
                fi
        fi
        
+        case "$targetarch" in
+        '') ;;
+        *)  hostarch=$osname
+            osname=`echo $targetarch|sed 's,^[^-]*-,,'`
+            osvers=''
+            ;;
+        esac
+
        : Now look for a hint file osname_osvers, unless one has been
        : specified already.
        case "$hintfile" in
@@ -2773,7 +2942,7 @@ EOM
                elif $test -f $src/hints/$file.sh; then
                        . $src/hints/$file.sh
                        $cat $src/hints/$file.sh >> UU/config.sh
-               elif $test X$tans = X -o X$tans = Xnone ; then
+               elif $test X"$tans" = X -o X"$tans" = Xnone ; then
                        : nothing
                else
                        : Give one chance to correct a possible typo.
@@ -3162,7 +3331,7 @@ fi
 
 echo " "
 echo "Checking for GNU cc in disguise and/or its version number..." >&4
-$cat >gccvers.c <<EOM
+$cat >try.c <<EOM
 #include <stdio.h>
 int main() {
 #ifdef __GNUC__
@@ -3175,8 +3344,8 @@ int main() {
        exit(0);
 }
 EOM
-if $cc -o gccvers $ccflags $ldflags gccvers.c; then
-       gccversion=`./gccvers`
+if $cc -o try $ccflags $ldflags try.c; then
+       gccversion=`$run ./try`
        case "$gccversion" in
        '') echo "You are not using GNU cc." ;;
        *)  echo "You are using GNU cc $gccversion."
@@ -3194,7 +3363,7 @@ else
                ;;
        esac
 fi
-$rm -f gccvers*
+$rm -f try try.*
 case "$gccversion" in
 1*) cpp=`./loc gcc-cpp $cpp $pth` ;;
 esac
@@ -4213,15 +4382,15 @@ $cat >> try.msg <<EOM
 I used the command:
 
        $*
-       ./try
+       $run ./try
 
 and I got the following output:
 
 EOM
 dflt=y
 if $sh -c "$cc -o try $optimize $ccflags $ldflags try.c $libs" >>try.msg 2>&1; then
-       if $sh -c './try' >>try.msg 2>&1; then
-               xxx=`./try`
+       if $sh -c "$run ./try" >>try.msg 2>&1; then
+               xxx=`$run ./try`
                case "$xxx" in
                "Ok") dflt=n ;;
                *)      echo 'The program compiled OK, but produced no output.' >> try.msg
@@ -4343,7 +4512,7 @@ echo " "
 case "$intsize" in
 '')
        echo "Checking to see how big your integers are..." >&4
-       $cat >intsize.c <<'EOCP'
+       $cat >try.c <<'EOCP'
 #include <stdio.h>
 int main()
 {
@@ -4353,9 +4522,9 @@ int main()
        exit(0);
 }
 EOCP
-       set intsize
-       if eval $compile_ok && ./intsize > /dev/null; then
-               eval `./intsize`
+       set try
+       if eval $compile_ok && $run ./try > /dev/null; then
+               eval `$run ./try`
                echo "Your integers are $intsize bytes long."
                echo "Your long integers are $longsize bytes long."
                echo "Your short integers are $shortsize bytes long."
@@ -4382,7 +4551,7 @@ EOM
        fi
        ;;
 esac
-$rm -f intsize intsize.*
+$rm -f try try.*
 
 : see what type lseek is declared as in the kernel
 rp="What is the type used for lseek's offset on this system?"
@@ -4402,7 +4571,7 @@ int main()
 EOCP
 set try
 if eval $compile_ok; then
-       lseeksize=`./try`
+       lseeksize=`$run ./try`
        echo "Your file offsets are $lseeksize bytes long."
 else
        dflt=$longsize
@@ -4435,7 +4604,7 @@ int main() {
 EOCP
 set try
 if eval $compile_ok; then
-       yyy=`./try`
+       yyy=`$run ./try`
        case "$yyy" in
        '')     fpossize=4
                echo "(I can't execute the test program--guessing $fpossize.)" >&4
@@ -4514,7 +4683,7 @@ int main()
 EOCP
                set try
                if eval $compile_ok; then
-                       lseeksize=`./try`
+                       lseeksize=`$run ./try`
                        $echo "Your file offsets are now $lseeksize bytes long."
                else
                        dflt="$lseeksize"
@@ -4539,7 +4708,7 @@ int main() {
 EOCP
                set try
                if eval $compile_ok; then
-                       yyy=`./try`
+                       yyy=`$run ./try`
                        dflt="$lseeksize"
                        case "$yyy" in
                        '')     echo " "
@@ -4685,7 +4854,7 @@ int main()
 EOCP
        set try
        if eval $compile_ok; then
-               ptrsize=`./try`
+               ptrsize=`$run ./try`
                echo "Your pointers are $ptrsize bytes long."
        else
                dflt='4'
@@ -4729,7 +4898,7 @@ int main()
 EOCP
        set try
        if eval $compile_ok; then
-               longlongsize=`./try$exe_ext`
+               longlongsize=`$run ./try`
                echo "Your long longs are $longlongsize bytes long."
        else
                dflt='8'
@@ -5152,7 +5321,7 @@ esac
 
 echo " "
 echo "Checking for GNU C Library..." >&4
-cat >gnulibc.c <<EOM
+cat >try.c <<EOM
 #include <stdio.h>
 int main()
 {
@@ -5163,15 +5332,15 @@ int main()
 #endif
 }
 EOM
-set gnulibc
-if eval $compile_ok && ./gnulibc; then
+set try
+if eval $compile_ok && $run ./try; then
        val="$define"
        echo "You are using the GNU C Library"
 else
        val="$undef"
        echo "You are not using the GNU C Library"
 fi
-$rm -f gnulibc*
+$rm -f try try.*
 set d_gnulibc
 eval $setvar
 
@@ -5684,7 +5853,7 @@ int main()
 EOCP
        set try
        if eval $compile_ok; then
-               doublesize=`./try`
+               doublesize=`$run ./try`
                echo "Your double is $doublesize bytes long."
        else
                dflt='8'
@@ -5728,7 +5897,7 @@ EOCP
        set try
        set try
        if eval $compile; then
-               longdblsize=`./try$exe_ext`
+               longdblsize=`$run ./try`
                echo "Your long doubles are $longdblsize bytes long."
        else
                dflt='8'
@@ -5812,6 +5981,10 @@ case "$myarchname" in
        archname=''
        ;;
 esac
+case "$targetarch" in
+'') ;;
+*)  archname=`echo $targetarch|sed 's,^[^-]*-,,'` ;;
+esac
 myarchname="$tarch"
 case "$archname" in
 '') dflt="$tarch";;
@@ -6986,7 +7159,7 @@ int main() {
                exit(1); /* fail */
 }
 EOM
-               if $cc $ccflags $ldflags try.c >/dev/null 2>&1 && ./a.out; then
+               if $cc $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
                        cat <<EOM
 You appear to have ELF support.  I'll use $cc to build dynamic libraries.
 EOM
@@ -8031,7 +8204,7 @@ int main() {
 EOCP
        set try
        if eval $compile; then
-               yyy=`./try$exe_ext`
+               yyy=`$run ./try`
                case "$yyy" in
                123.456)
                        sPRIfldbl='"f"'; sPRIgldbl='"g"'; sPRIeldbl='"e"';
@@ -8053,7 +8226,7 @@ int main() {
 EOCP
        set try
        if eval $compile; then
-               yyy=`./try$exe_ext`
+               yyy=`$run ./try`
                case "$yyy" in
                123.456)
                        sPRIfldbl='"Lf"'; sPRIgldbl='"Lg"'; sPRIeldbl='"Le"';
@@ -8075,7 +8248,7 @@ int main() {
 EOCP
        set try
        if eval $compile; then
-               yyy=`./try$exe_ext`
+               yyy=`$run ./try`
                case "$yyy" in
                123.456)
                        sPRIfldbl='"llf"'; sPRIgldbl='"llg"'; sPRIeldbl='"lle"';
@@ -8097,7 +8270,7 @@ int main() {
 EOCP
        set try
        if eval $compile; then
-               yyy=`./try$exe_ext`
+               yyy=`$run ./try`
                case "$yyy" in
                123.456)
                        sPRIfldbl='"lf"'; sPRIgldbl='"lg"'; sPRIeldbl='"le"';
@@ -8267,7 +8440,7 @@ for xxx_convert in $xxx_list; do
        set try -DTRY_$xxx_convert
        if eval $compile; then
                echo "$xxx_convert() found." >&4
-               if ./try; then
+               if $run ./try; then
                        echo "I'll use $xxx_convert to convert floats into a string." >&4
                        break;
                else
@@ -8401,7 +8574,7 @@ case "$d_getpgrp" in
 "$define")
        echo " "
        echo "Checking to see which flavor of getpgrp is in use..."
-       $cat >set.c <<EOP
+       $cat >try.c <<EOP
 #$i_unistd I_UNISTD
 #include <sys/types.h>
 #ifdef I_UNISTD
@@ -8423,10 +8596,10 @@ int main()
        exit(1);
 }
 EOP
-       if $cc -o set -DTRY_BSD_PGRP $ccflags $ldflags set.c $libs >/dev/null 2>&1 && ./set; then
+       if $cc -o try -DTRY_BSD_PGRP $ccflags $ldflags try.c $libs >/dev/null 2>&1 && $run ./try; then
                echo "You have to use getpgrp(pid) instead of getpgrp()." >&4
                val="$define"
-       elif $cc -o set $ccflags $ldflags set.c $libs >/dev/null 2>&1 && ./set; then
+       elif $cc -o try $ccflags $ldflags try.c $libs >/dev/null 2>&1 && $run ./try; then
                echo "You have to use getpgrp() instead of getpgrp(pid)." >&4
                val="$undef"
        else
@@ -8453,7 +8626,7 @@ EOP
 esac
 set d_bsdgetpgrp
 eval $setvar
-$rm -f set set.c
+$rm -f try try.*
 
 : see if setpgrp exists
 set setpgrp d_setpgrp
@@ -8463,7 +8636,7 @@ case "$d_setpgrp" in
 "$define")
        echo " "
        echo "Checking to see which flavor of setpgrp is in use..."
-       $cat >set.c <<EOP
+       $cat >try.c <<EOP
 #$i_unistd I_UNISTD
 #include <sys/types.h>
 #ifdef I_UNISTD
@@ -8485,10 +8658,10 @@ int main()
        exit(1);
 }
 EOP
-       if $cc -o set -DTRY_BSD_PGRP $ccflags $ldflags set.c $libs >/dev/null 2>&1 && ./set; then
+       if $cc -o try -DTRY_BSD_PGRP $ccflags $ldflags try.c $libs >/dev/null 2>&1 && $run ./try; then
                echo 'You have to use setpgrp(pid,pgrp) instead of setpgrp().' >&4
                val="$define"
-       elif $cc -o set $ccflags $ldflags set.c $libs >/dev/null 2>&1 && ./set; then
+       elif $cc -o try $ccflags $ldflags try.c $libs >/dev/null 2>&1 && $run ./try; then
                echo 'You have to use setpgrp() instead of setpgrp(pid,pgrp).' >&4
                val="$undef"
        else
@@ -8515,7 +8688,7 @@ EOP
 esac
 set d_bsdsetpgrp
 eval $setvar
-$rm -f set set.c
+$rm -f try try.*
 : see if bzero exists
 set bzero d_bzero
 eval $inlibc
@@ -8605,7 +8778,7 @@ int main()
 EOCP
 set try
 if eval $compile_ok; then
-       ./try
+       $run ./try
        yyy=$?
 else
        echo "(I can't seem to compile the test program--assuming it can't)"
@@ -8701,7 +8874,7 @@ int main()
 EOCP
 set try
 if eval $compile_ok; then
-       ./try
+       $run ./try
        castflags=$?
 else
        echo "(I can't seem to compile the test program--assuming it can't)"
@@ -8724,7 +8897,7 @@ echo " "
 if set vprintf val -f d_vprintf; eval $csym; $val; then
        echo 'vprintf() found.' >&4
        val="$define"
-       $cat >vprintf.c <<'EOF'
+       $cat >try.c <<'EOF'
 #include <varargs.h>
 
 int main() { xxx("foo"); }
@@ -8739,8 +8912,8 @@ va_dcl
        exit((unsigned long)vsprintf(buf,"%s",args) > 10L);
 }
 EOF
-       set vprintf
-       if eval $compile && ./vprintf; then
+       set try
+       if eval $compile && $run ./try; then
                echo "Your vsprintf() returns (int)." >&4
                val2="$undef"
        else
@@ -8752,6 +8925,7 @@ else
                val="$undef"
                val2="$undef"
 fi
+$rm -f try try.*
 set d_vprintf
 eval $setvar
 val=$val2
@@ -9188,7 +9362,7 @@ $cat >fred.c<<EOM
 #include <stdio.h>
 #$i_dlfcn I_DLFCN
 #ifdef I_DLFCN
-#include <dlfcn.h>      /* the dynamic linker include file for Sunos/Solaris */
+#include <dlfcn.h>      /* the dynamic linker include file for SunOS/Solaris */
 #else
 #include <sys/types.h>
 #include <nlist.h>
@@ -9233,8 +9407,8 @@ EOM
        if $cc $ccflags $cccdlflags -c dyna.c > /dev/null 2>&1 && 
                mv dyna${_o} tmp-dyna${_o} > /dev/null 2>&1 && 
                $ld -o dyna.$dlext $ldflags $lddlflags tmp-dyna${_o} > /dev/null 2>&1 && 
-               $cc -o fred $ccflags $ldflags $cccdlflags $ccdlflags fred.c $libs > /dev/null 2>&1; then
-               xxx=`./fred`
+               $cc -o fred $ccflags $ldflags $cccdlflags $ccdlflags fred.c $libs > /dev/null 2>&1 && $to dyna.$dlext; then
+               xxx=`$run ./fred`
                case $xxx in
                1)      echo "Test program failed using dlopen." >&4
                        echo "Perhaps you should not use dynamic loading." >&4;;
@@ -9295,7 +9469,7 @@ eval $inlibc
 
 : Locate the flags for 'open()'
 echo " "
-$cat >open3.c <<'EOCP'
+$cat >try.c <<'EOCP'
 #include <sys/types.h>
 #ifdef I_FCNTL
 #include <fcntl.h>
@@ -9314,10 +9488,10 @@ int main() {
 EOCP
 : check sys/file.h first to get FREAD on Sun
 if $test `./findhdr sys/file.h` && \
-               set open3 -DI_SYS_FILE && eval $compile; then
+               set try -DI_SYS_FILE && eval $compile; then
        h_sysfile=true;
        echo "<sys/file.h> defines the O_* constants..." >&4
-       if ./open3; then
+       if $run ./try; then
                echo "and you have the 3 argument form of open()." >&4
                val="$define"
        else
@@ -9325,10 +9499,10 @@ if $test `./findhdr sys/file.h` && \
                val="$undef"
        fi
 elif $test `./findhdr fcntl.h` && \
-               set open3 -DI_FCNTL && eval $compile; then
+               set try -DI_FCNTL && eval $compile; then
        h_fcntl=true;
        echo "<fcntl.h> defines the O_* constants..." >&4
-       if ./open3; then
+       if $run ./try; then
                echo "and you have the 3 argument form of open()." >&4
                val="$define"
        else
@@ -9341,7 +9515,7 @@ else
 fi
 set d_open3
 eval $setvar
-$rm -f open3*
+$rm -f try try.*
 
 : see which of string.h or strings.h is needed
 echo " "
@@ -9400,7 +9574,7 @@ int main() {
 EOCP
        set try
        if eval $compile_ok; then
-               o_nonblock=`./try`
+               o_nonblock=`$run ./try`
                case "$o_nonblock" in
                '') echo "I can't figure it out, assuming O_NONBLOCK will do.";;
                *) echo "Seems like we can use $o_nonblock.";;
@@ -9497,7 +9671,7 @@ EOCP
        set try
        if eval $compile_ok; then
                echo "$startsh" >mtry
-               echo "./try >try.out 2>try.ret 3>try.err || exit 4" >>mtry
+               echo "$run ./try >try.out 2>try.ret 3>try.err || exit 4" >>mtry
                chmod +x mtry
                ./mtry >/dev/null 2>&1
                case $? in
@@ -9598,7 +9772,7 @@ case "$d_fcntl" in
 "$define")
        set try
        if eval $compile_ok; then
-               if ./try; then
+               if $run ./try; then
                        echo "Yes, it seems to work."
                        val="$define"
                else
@@ -9712,7 +9886,7 @@ $cat <<EOM
 
 Checking to see how well your C compiler handles fd_set and friends ...
 EOM
-$cat >fd_set.c <<EOCP
+$cat >try.c <<EOCP
 #$i_systime I_SYS_TIME
 #$i_sysselct I_SYS_SELECT
 #$d_socket HAS_SOCKET
@@ -9740,12 +9914,12 @@ int main() {
 #endif
 }
 EOCP
-set fd_set -DTRYBITS
+set try -DTRYBITS
 if eval $compile; then
        d_fds_bits="$define"
        d_fd_set="$define"
        echo "Well, your system knows about the normal fd_set typedef..." >&4
-       if ./fd_set; then
+       if $run ./try; then
                echo "and you have the normal fd_set macros (just as I'd expect)." >&4
                d_fd_macros="$define"
        else
@@ -9758,12 +9932,12 @@ else
        $cat <<'EOM'
 Hmm, your compiler has some difficulty with fd_set.  Checking further...
 EOM
-       set fd_set
+       set try
        if eval $compile; then
                d_fds_bits="$undef"
                d_fd_set="$define"
                echo "Well, your system has some sort of fd_set available..." >&4
-               if ./fd_set; then
+               if $run ./try; then
                        echo "and you have the normal fd_set macros." >&4
                        d_fd_macros="$define"
                else
@@ -9779,7 +9953,7 @@ EOM
                d_fd_macros="$undef"
        fi
 fi
-$rm -f fd_set*
+$rm -f try try.*
 
 : see if fgetpos exists
 set fgetpos d_fgetpos
@@ -10506,7 +10680,7 @@ EOCP
        esac
        set try
        if eval $compile; then
-               foo=`./try`
+               foo=`$run ./try`
                case "$foo" in
                *" 4294967303.150000 1.150000 4294967302.000000")
                        echo >&4 "Your modfl() is broken for large values."
@@ -10628,7 +10802,7 @@ int main()
 EOCP
        set try
        if eval $compile_ok; then
-               dflt=`./try`
+               dflt=`$run ./try`
        else
                dflt='1'
                echo "(I can't seem to compile the test program.  Guessing...)"
@@ -10744,7 +10918,7 @@ esac
 case "$i8type" in
 '')    set try -DINT8
        if eval $compile; then
-               case "`./try$exe_ext`" in
+               case "`$run ./try`" in
                int8_t) i8type=int8_t
                        u8type=uint8_t
                        i8size=1
@@ -10777,7 +10951,7 @@ esac
 case "$i16type" in
 '')    set try -DINT16
        if eval $compile; then
-               case "`./try$exe_ext`" in
+               case "`$run ./try`" in
                int16_t)
                        i16type=int16_t
                        u16type=uint16_t
@@ -10819,7 +10993,7 @@ esac
 case "$i32type" in
 '')    set try -DINT32
        if eval $compile; then
-               case "`./try$exe_ext`" in
+               case "`$run ./try`" in
                int32_t)
                        i32type=int32_t
                        u32type=uint32_t
@@ -10898,7 +11072,7 @@ set try
 
 d_nv_preserves_uv="$undef"
 if eval $compile; then
-       d_nv_preserves_uv_bits="`./try$exe_ext`"
+       d_nv_preserves_uv_bits="`$run ./try`"
 fi
 case "$d_nv_preserves_uv_bits" in
 \-[1-9]*)      
@@ -11286,7 +11460,7 @@ exit(0);
 EOCP
        set try
        if eval $compile_ok; then
-               if ./try 2>/dev/null; then
+               if $run ./try 2>/dev/null; then
                        echo "Yes, it can."
                        val="$define"
                else
@@ -11364,7 +11538,7 @@ exit(0);
 EOCP
        set try
        if eval $compile_ok; then
-               if ./try 2>/dev/null; then
+               if $run ./try 2>/dev/null; then
                        echo "Yes, it can."
                        val="$define"
                else
@@ -11424,7 +11598,7 @@ exit(0);
 EOCP
        set try
        if eval $compile_ok; then
-               if ./try 2>/dev/null; then
+               if $run ./try 2>/dev/null; then
                        echo "Yes, it can."
                        val="$define"
                else
@@ -11593,7 +11767,7 @@ END
     val="$undef"
     set try
     if eval $compile; then
-       xxx=`./try`
+       xxx=`$run ./try`
         case "$xxx" in
         semun) val="$define" ;;
         esac
@@ -11651,7 +11825,7 @@ END
     val="$undef"
     set try
     if eval $compile; then
-        xxx=`./try`
+        xxx=`$run ./try`
         case "$xxx" in
         semid_ds) val="$define" ;;
         esac
@@ -11976,7 +12150,7 @@ int main()
 EOP
        set try
        if eval $compile; then
-               if ./try >/dev/null 2>&1; then
+               if $run ./try >/dev/null 2>&1; then
                        echo "POSIX sigsetjmp found." >&4
                        val="$define"
                else
@@ -12159,8 +12333,8 @@ int main() {
 EOP
 val="$undef"
 set try
-if eval $compile; then
-       if ./try; then
+if eval $compile && $to try.c; then
+       if $run ./try; then
                echo "Your stdio acts pretty std."
                val="$define"
        else
@@ -12256,8 +12430,8 @@ int main() {
 }
 EOP
        set try
-       if eval $compile; then
-               case `./try$exe_ext` in
+       if eval $compile && $to try.c; then
+               case `$run ./try` in
                Pass_changed)
                        echo "Increasing ptr in your stdio decreases cnt by the same amount.  Good." >&4
                        d_stdio_ptr_lval_sets_cnt="$define" ;;
@@ -12296,8 +12470,8 @@ int main() {
 }
 EOP
        set try
-       if eval $compile; then
-               if ./try; then
+       if eval $compile && $to try.c; then
+               if $run ./try; then
                        echo "And its _base field acts std."
                        val="$define"
                else
@@ -12327,7 +12501,7 @@ EOCP
        do
                set try -DSTDIO_STREAM_ARRAY=$s
                if eval $compile; then
-                       case "`./try$exe_ext`" in
+                       case "`$run ./try`" in
                        yes)    stdio_stream_array=$s; break ;;
                        esac
                fi
@@ -12473,7 +12647,7 @@ int main() {
 EOCP
        set try
        if eval $compile; then
-               yyy=`./try`
+               yyy=`$run ./try`
                case "$yyy" in
                ok) echo "Your strtoll() seems to be working okay." ;;
                *) cat <<EOM >&4
@@ -12558,7 +12732,7 @@ EOCP
 EOCP
        set try
        if eval $compile; then
-               case "`./try`" in
+               case "`$run ./try`" in
                ok) echo "Your strtoul() seems to be working okay." ;;
                *) cat <<EOM >&4
 Your strtoul() doesn't seem to be working okay.
@@ -12612,7 +12786,7 @@ int main() {
 EOCP
        set try
        if eval $compile; then
-               case "`./try`" in
+               case "`$run ./try`" in
                ok) echo "Your strtoull() seems to be working okay." ;;
                *) cat <<EOM >&4
 Your strtoull() doesn't seem to be working okay.
@@ -12664,7 +12838,7 @@ int main() {
 EOCP
        set try
        if eval $compile; then
-               case "`./try`" in
+               case "`$run ./try`" in
                ok) echo "Your strtouq() seems to be working okay." ;;
                *) cat <<EOM >&4
 Your strtouq() doesn't seem to be working okay.
 set d_tzname
 eval $setvar
 
-case "$crosscompile" in
-''|[nN]*) crosscompile="$undef" ;;
-esac
-
 case "$osname" in
 next|rhapsody|darwin) multiarch="$define" ;;
 esac
@@ -12765,14 +12935,14 @@ esac
 
 : check for ordering of bytes in a long
 echo " "
-case "$crosscompile$multiarch" in
+case "$usecrosscompile$multiarch" in
 *$define*)
        $cat <<EOM
 You seem to be either cross-compiling or doing a multiarchitecture build,
 skipping the byteorder check.
 
 EOM
-       byteorder='0xffff'
+       byteorder='ffff'
        ;;
 *)
        case "$byteorder" in
@@ -12809,7 +12979,7 @@ EOCP
                xxx_prompt=y
                set try
                if eval $compile && ./try > /dev/null; then
-                       dflt=`./try`
+                       dflt=`$run ./try`
                        case "$dflt" in
                        [1-4][1-4][1-4][1-4]|12345678|87654321)
                                echo "(The test program ran ok.)"
@@ -12894,8 +13064,8 @@ int main() {
 EOCP
 set try
 if eval $compile_ok; then
-       echo "(Testign for character data alignment may dump core.)" >&4
-       ./try 2>&1 >/dev/null
+       echo "(Testing for character data alignment may dump core.)" >&4
+       $run ./try 2>&1 >/dev/null
        case "$?" in
        0)      cat >&4 <<EOM
 You can access character data pretty unalignedly.
@@ -13002,7 +13172,7 @@ case "$d_closedir" in
 "$define")
        echo " "
        echo "Checking whether closedir() returns a status..." >&4
-       cat > closedir.c <<EOM
+       cat > try.c <<EOM
 #$i_dirent I_DIRENT            /**/
 #$i_sysdir I_SYS_DIR           /**/
 #$i_sysndir I_SYS_NDIR         /**/
@@ -13031,9 +13201,9 @@ case "$d_closedir" in
 #endif 
 int main() { return closedir(opendir(".")); }
 EOM
-       set closedir
+       set try
        if eval $compile_ok; then
-               if ./closedir > /dev/null 2>&1 ; then
+               if $run ./try > /dev/null 2>&1 ; then
                        echo "Yes, it does."
                        val="$undef"
                else
@@ -13051,7 +13221,7 @@ EOM
 esac
 set d_void_closedir
 eval $setvar
-$rm -f closedir*
+$rm -f try try.*
 : see if there is a wait4
 set wait4 d_wait4
 eval $inlibc
@@ -13081,7 +13251,7 @@ Revision='$Revision'
 
 : check for alignment requirements
 echo " "
-case "$crosscompile$multiarch" in
+case "$usecrosscompile$multiarch" in
 *$define*)
        $cat <<EOM
 You seem to be either cross-compiling or doing a multiarchitecture build,
@@ -13118,7 +13288,7 @@ int main()
 EOCP
                set try
                if eval $compile_ok; then
-                       dflt=`./try`
+                       dflt=`$run ./try`
                else
                        dflt='8'
                        echo "(I can't seem to compile the test program...)"
@@ -13236,9 +13406,9 @@ int main(int argc, char *argv[])
 }
 EOCP
        set try
-       if eval $compile_ok && ./try; then
+       if eval $compile_ok && $run ./try; then
                echo 'Looks OK.' >&4
-               set `./try 1`
+               set `$run ./try 1`
                db_version_major=$1
                db_version_minor=$2
                db_version_patch=$3
@@ -13484,7 +13654,7 @@ done
 
 echo " "
 echo "Determining whether or not we are on an EBCDIC system..." >&4
-$cat >tebcdic.c <<'EOM'
+$cat >try.c <<'EOM'
 int main()
 {
   if ('M'==0xd4) return 0;
@@ -13493,19 +13663,19 @@ int main()
 EOM
 
 val=$undef
-set tebcdic
+set try
 if eval $compile_ok; then
-       if ./tebcdic; then
+       if $run ./try; then
                echo "You seem to speak EBCDIC." >&4
                val="$define"
        else
-               echo "Nope, no EBCDIC, probably ASCII or some ISO Latin. Or UTF8." >&4
+               echo "Nope, no EBCDIC, probably ASCII or some ISO Latin. Or UTF-8." >&4
        fi
 else
        echo "I'm unable to compile the test program." >&4
        echo "I'll assume ASCII or some ISO Latin. Or UTF8." >&4
 fi
-$rm -f tebcdic.c tebcdic
+$rm -f try try.*
 set ebcdic
 eval $setvar
 
@@ -13530,7 +13700,9 @@ $cat >>try.c <<EOCP
 # define STDIO_STREAM_ARRAY $stdio_stream_array
 #endif
 int main() {
-  FILE* p = fopen("try.out", "w");
+  FILE* p;
+  unlink("try.out");
+  p = fopen("try.out", "w");
 #ifdef TRY_FPUTC
   fputc('x', p);
 #else
@@ -13579,12 +13751,14 @@ int main() {
 }
 EOCP
 : first we have to find out how _not_ to flush
+$to try.c
 if $test "X$fflushNULL" = X -o "X$fflushall" = X; then
     output=''
     set try -DTRY_FPUTC
     if eval $compile; then
+           $run ./try 2>/dev/null
            $rm -f try.out
-           ./try$exe_ext 2>/dev/null
+           $from try.out
            if $test ! -s try.out -a "X$?" = X42; then
                output=-DTRY_FPUTC
            fi
@@ -13592,10 +13766,10 @@ if $test "X$fflushNULL" = X -o "X$fflushall" = X; then
     case "$output" in
     '')
            set try -DTRY_FPRINTF
-           $rm -f try.out
            if eval $compile; then
+                   $run ./try 2>/dev/null
                    $rm -f try.out
-                   ./try$exe_ext 2>/dev/null
+                   $from try.out
                    if $test ! -s try.out -a "X$?" = X42; then
                        output=-DTRY_FPRINTF
                    fi
 case "$fflushNULL" in
 '')    set try -DTRY_FFLUSH_NULL $output
        if eval $compile; then
-               $rm -f try.out
-               ./try$exe_ext 2>/dev/null
+               $run ./try 2>/dev/null
                code="$?"
+               $rm -f try.out
+               $from try.out
                if $test -s try.out -a "X$code" = X42; then
                        fflushNULL="`$cat try.out`"
                else
@@ -13655,7 +13830,7 @@ EOCP
                 set tryp
                 if eval $compile; then
                     $rm -f tryp.out
-                    $cat tryp.c | ./tryp$exe_ext 2>/dev/null > tryp.out
+                    $cat tryp.c | $run ./tryp 2>/dev/null > tryp.out
                     if cmp tryp.c tryp.out >/dev/null 2>&1; then
                        $cat >&4 <<EOM
 fflush(NULL) seems to behave okay with input streams.
@@ -13719,7 +13894,7 @@ EOCP
        set tryp
        if eval $compile; then
            $rm -f tryp.out
-           $cat tryp.c | ./tryp$exe_ext 2>/dev/null > tryp.out
+           $cat tryp.c | $run ./tryp 2>/dev/null > tryp.out
            if cmp tryp.c tryp.out >/dev/null 2>&1; then
               $cat >&4 <<EOM
 Good, at least fflush(stdin) seems to behave okay when stdin is a pipe.
@@ -13732,7 +13907,7 @@ EOM
 (Now testing the other method--but note that this also may fail.)
 EOM
                                $rm -f try.out
-                               ./try$exe_ext 2>/dev/null
+                               $run ./try 2>/dev/null
                                if $test -s try.out -a "X$?" = X42; then
                                        fflushall="`$cat try.out`"
                                fi
@@ -13838,7 +14013,7 @@ int main() {
 EOCP
 set try
 if eval $compile_ok; then
-       yyy=`./try`
+       yyy=`$run ./try`
        case "$yyy" in
        '')     gidsize=4
                echo "(I can't execute the test program--guessing $gidsize.)" >&4
@@ -13872,7 +14047,7 @@ int main() {
 EOCP
 set try
 if eval $compile; then
-       yyy=`./try`
+       yyy=`$run ./try`
        case "$yyy" in
        '')     gidsign=1
                echo "(I can't execute the test program--guessing unsigned.)" >&4
@@ -13907,7 +14082,7 @@ int main() {
 EOCP
        set try
        if eval $compile; then
-               yyy=`./try$exe_ext`
+               yyy=`$run ./try`
                case "$yyy" in
                12345678901)
                        sPRId64='"d"'; sPRIi64='"i"'; sPRIu64='"u"';
@@ -13929,7 +14104,7 @@ int main() {
 EOCP
        set try
        if eval $compile; then
-               yyy=`./try$exe_ext`
+               yyy=`$run ./try`
                case "$yyy" in
                12345678901)
                        sPRId64='"ld"'; sPRIi64='"li"'; sPRIu64='"lu"';
@@ -13952,7 +14127,7 @@ int main() {
 EOCP
        set try
        if eval $compile; then
-               yyy=`./try$exe_ext`
+               yyy=`$run ./try`
                case "$yyy" in
                12345678901)
                        sPRId64=PRId64; sPRIi64=PRIi64; sPRIu64=PRIu64;
@@ -13974,7 +14149,7 @@ int main() {
 EOCP
        set try
        if eval $compile; then
-               yyy=`./try$exe_ext`
+               yyy=`$run ./try`
                case "$yyy" in
                12345678901)
                        sPRId64='"Ld"'; sPRIi64='"Li"'; sPRIu64='"Lu"';
@@ -13996,7 +14171,7 @@ int main() {
 EOCP
        set try
        if eval $compile; then
-               yyy=`./try$exe_ext`
+               yyy=`$run ./try`
                case "$yyy" in
                12345678901)
                        sPRId64='"lld"'; sPRIi64='"lli"'; sPRIu64='"llu"';
@@ -14018,7 +14193,7 @@ int main() {
 EOCP
        set try
        if eval $compile; then
-               yyy=`./try$exe_ext`
+               yyy=`$run ./try`
                case "$yyy" in
                12345678901)
                        sPRId64='"qd"'; sPRIi64='"qi"'; sPRIu64='"qu"';
@@ -14339,8 +14514,8 @@ main(int ac, char **av)
 }
 EOCP
        set try
-       if eval $compile && ./try 2>&1 >/dev/null; then
-               case "`./try`" in
+       if eval $compile && $run ./try 2>&1 >/dev/null; then
+               case "`$run ./try`" in
                "that's all right, then")
                        okay=yes
                        ;;
@@ -14588,13 +14763,13 @@ $cc $ccflags -c bar2.c >/dev/null 2>&1
 $cc $ccflags -c foo.c >/dev/null 2>&1
 $ar rc bar$_a bar2$_o bar1$_o >/dev/null 2>&1
 if $cc -o foobar $ccflags $ldflags foo$_o bar$_a $libs > /dev/null 2>&1 &&
-       ./foobar >/dev/null 2>&1; then
+       $run ./foobar >/dev/null 2>&1; then
        echo "$ar appears to generate random libraries itself."
        orderlib=false
        ranlib=":"
 elif $ar ts bar$_a >/dev/null 2>&1 &&
        $cc -o foobar $ccflags $ldflags foo$_o bar$_a $libs > /dev/null 2>&1 &&
-       ./foobar >/dev/null 2>&1; then
+       $run ./foobar >/dev/null 2>&1; then
                echo "a table of contents needs to be added with '$ar ts'."
                orderlib=false
                ranlib="$ar ts"
@@ -14734,7 +14909,7 @@ int main() {
 EOCP
                set try
                if eval $compile_ok; then
-                       selectminbits=`./try`
+                       selectminbits=`$run ./try`
                        case "$selectminbits" in
                        '')     cat >&4 <<EOM
 Cannot figure out on how many bits at a time your select() operates.
@@ -14926,13 +15101,13 @@ $cat >>signal_cmd <<'EOS'
 
 set signal
 if eval $compile_ok; then
-       ./signal$_exe | $sort -n +1 | $uniq | $awk -f signal.awk >signal.lst
+       $run ./signal$_exe | $sort -n +1 | $uniq | $awk -f signal.awk >signal.lst
 else
        echo "(I can't seem be able to compile the whole test program)" >&4
        echo "(I'll try it in little pieces.)" >&4
        set signal -DJUST_NSIG
        if eval $compile_ok; then
-               ./signal$_exe > signal.nsg
+               $run ./signal$_exe > signal.nsg
                $cat signal.nsg
        else
                echo "I can't seem to figure out how many signals you have." >&4
@@ -14953,7 +15128,7 @@ EOCP
                set signal
                if eval $compile; then
                        echo "SIG${xx} found."
-                       ./signal$_exe  >> signal.ls1
+                       $run ./signal$_exe  >> signal.ls1
                else
                        echo "SIG${xx} NOT found."
                fi
@@ -15044,7 +15219,7 @@ int main() {
 EOCP
 set try
 if eval $compile_ok; then
-       yyy=`./try`
+       yyy=`$run ./try`
        case "$yyy" in
        '')     sizesize=4
                echo "(I can't execute the test program--guessing $sizesize.)" >&4
@@ -15138,7 +15313,7 @@ esac
 set ssize_t ssizetype int stdio.h sys/types.h
 eval $typedef
 dflt="$ssizetype"
-$cat > ssize.c <<EOM
+$cat > try.c <<EOM
 #include <stdio.h>
 #include <sys/types.h>
 #define Size_t $sizetype
@@ -15155,9 +15330,9 @@ int main()
 }
 EOM
 echo " "
-set ssize
-if eval $compile_ok && ./ssize > /dev/null; then
-       ssizetype=`./ssize`
+set try
+if eval $compile_ok && $run ./try > /dev/null; then
+       ssizetype=`$run ./try`
        echo "I'll be using $ssizetype for functions returning a byte count." >&4
 else
        $cat >&4 <<EOM
@@ -15173,7 +15348,7 @@ EOM
        . ./myread
        ssizetype="$ans"
 fi
-$rm -f ssize ssize.*
+$rm -f try try.*
 
 : see what type of char stdio uses.
 echo " "
@@ -15247,7 +15422,7 @@ int main() {
 EOCP
 set try
 if eval $compile_ok; then
-       yyy=`./try`
+       yyy=`$run ./try`
        case "$yyy" in
        '')     uidsize=4
                echo "(I can't execute the test program--guessing $uidsize.)" >&4
@@ -15280,7 +15455,7 @@ int main() {
 EOCP
 set try
 if eval $compile; then
-       yyy=`./try`
+       yyy=`$run ./try`
        case "$yyy" in
        '')     uidsign=1
                echo "(I can't execute the test program--guessing unsigned.)" >&4
@@ -15604,7 +15779,7 @@ case "$osname-$gccversion" in
 irix-) ccflags="\$ccflags -woff 1178" ;;
 os2-*) ccflags="\$ccflags -Zlinker /PM:VIO" ;;
 esac
-$cc -o try $optimize \$ccflags $ldflags try.c $libs && ./try$exe_ext
+$cc -o try $optimize \$ccflags $ldflags try.c $libs && $run ./try
 EOSH
 chmod +x Cppsym.try
 $eunicefix Cppsym.try
@@ -16292,7 +16467,6 @@ cppminus='$cppminus'
 cpprun='$cpprun'
 cppstdin='$cppstdin'
 cppsymbols='$cppsymbols'
-crosscompile='$crosscompile'
 cryptlib='$cryptlib'
 csh='$csh'
 d_Gconvert='$d_Gconvert'
@@ -16656,6 +16830,7 @@ flex='$flex'
 fpossize='$fpossize'
 fpostype='$fpostype'
 freetype='$freetype'
+from='$from'
 full_ar='$full_ar'
 full_csh='$full_csh'
 full_sed='$full_sed'
@@ -16906,6 +17081,7 @@ rd_nodata='$rd_nodata'
 revision='$revision'
 rm='$rm'
 rmail='$rmail'
+run='$run'
 runnm='$runnm'
 sPRIEUldbl='$sPRIEUldbl'
 sPRIFUldbl='$sPRIFUldbl'
@@ -16980,11 +17156,13 @@ subversion='$subversion'
 sysman='$sysman'
 tail='$tail'
 tar='$tar'
+targetarch='$targetarch'
 tbl='$tbl'
 tee='$tee'
 test='$test'
 timeincl='$timeincl'
 timetype='$timetype'
+to='$to'
 touch='$touch'
 tr='$tr'
 trnl='$trnl'
@@ -17007,6 +17185,7 @@ uquadtype='$uquadtype'
 use5005threads='$use5005threads'
 use64bitall='$use64bitall'
 use64bitint='$use64bitint'
+usecrosscompile='$usecrosscompile'
 usedl='$usedl'
 useithreads='$useithreads'
 uselargefiles='$uselargefiles'
index 851fead..c750030 100644 (file)
@@ -1 +1,3 @@
-This is for moment just a placeholder.
+If Perl is built using a cross-compilation environment the Cross
+directory will contain temporary helper scripts for the duration
+of the build.
index 618f120..5eaef2c 100644 (file)
@@ -802,6 +802,7 @@ realclean:  _realcleaner _mopup
        @echo "Note that make realclean does not delete config.sh or Policy.sh"
 
 _clobber:
+       -@rm -f Cross/run-* Cross/to-* Cross/from-*
        rm -f config.sh cppstdin Policy.sh
 
 clobber:       _realcleaner _mopup _clobber
index 7a5e580..26e6e4c 100644 (file)
@@ -328,11 +328,6 @@ cppsymbols (Cppsym.U):
        not in this list, see ccsymbols and cppccsymbols.
        The list is a space-separated list of symbol=value tokens.
 
-crosscompile (crosscompile.U):
-       This variable conditionally defines the CROSSCOMPILE symbol
-       which signifies that the build process is be a cross-compilation.
-       This is normally set by hints files or from Configure command line.
-
 cryptlib (d_crypt.U):
        This variable holds -lcrypt or the path to a libcrypt.a archive if
        the crypt() function is not defined in the standard C library. It is
@@ -1984,6 +1979,12 @@ freetype (mallocsrc.U):
        This variable contains the return type of free().  It is usually
        void, but occasionally int.
 
+from (Cross.U):
+       This variable contains the command used by Configure
+       to copy files from the target host.  Useful and available
+       only during Perl build.
+       The string ':' if not cross-compiling.
+
 full_ar (Loc_ar.U):
        This variable contains the full pathname to 'ar', whether or
        not the user has specified 'portability'.  This is only used
@@ -3197,6 +3198,12 @@ rmail (Loc.U):
        This variable is defined but not used by Configure.
        The value is a plain '' and is not useful.
 
+run (Cross.U):
+       This variable contains the command used by Configure
+       to copy and execute a cross-compiled executable in the
+       target host.  Useful and available only during Perl build.
+       Empty string '' if not cross-compiling.
+
 runnm (usenm.U):
        This variable contains 'true' or 'false' depending whether the
        nm extraction should be performed or not, according to the value
@@ -3582,6 +3589,10 @@ tar (Loc.U):
        This variable is defined but not used by Configure.
        The value is a plain '' and is not useful.
 
+targetarch (Cross.U):
+       If cross-compiling, this variable contains the target architecture.
+       If not, this will be empty.
+
 tbl (Loc.U):
        This variable is defined but not used by Configure.
        The value is a plain '' and is not useful.
@@ -3603,6 +3614,12 @@ timetype (d_time.U):
        or time_t on BSD sites (in which case <sys/types.h> should be
        included). Anyway, the type Time_t should be used.
 
+to (Cross.U):
+       This variable contains the command used by Configure
+       to copy to from the target host.  Useful and available
+       only during Perl build.
+       The string ':' if not cross-compiling.
+
 touch (Loc.U):
        This variable is used internally by Configure to determine the
        full pathname (if any) of the touch program.  After Configure runs,
@@ -3699,6 +3716,10 @@ use64bitint (use64bits.U):
        This may mean using for example "long longs", while your memory
        may still be limited to 2 gigabytes.
 
+usecrosscompile (Cross.U):
+       This variable conditionally defines the USE_CROSS_COMPILE symbol,
+       and indicates that Perl has been cross-compiled.
+
 usedl (dlsrc.U):
        This variable indicates if the system supports dynamic
        loading of some sort.  See also dlsrc and dlobj.
index a7c490c..b804e95 100644 (file)
@@ -8,7 +8,7 @@
 
 # Package name      : perl5
 # Source directory  : .
-# Configuration time: Wed Jun 13 21:04:31 EET DST 2001
+# Configuration time: Fri Jun 15 02:15:37 EET DST 2001
 # Configured by     : jhi
 # Target system     : osf1 alpha.hut.fi v4.0 878 alpha 
 
@@ -63,7 +63,7 @@ ccsymbols='__alpha=1 __LANGUAGE_C__=1 __osf__=1 __unix__=1 _LONGLONG=1 _SYSTYPE_
 ccversion='V5.6-082'
 cf_by='jhi'
 cf_email='yourname@yourhost.yourplace.com'
-cf_time='Wed Jun 13 21:04:31 EET DST 2001'
+cf_time='Fri Jun 15 02:15:37 EET DST 2001'
 charsize='1'
 chgrp=''
 chmod=''
@@ -83,7 +83,6 @@ cppminus=''
 cpprun='/usr/bin/cpp'
 cppstdin='cppstdin'
 cppsymbols='_AES_SOURCE=1 __alpha=1 __ALPHA=1 _ANSI_C_SOURCE=1 __LANGUAGE_C__=1 _LONGLONG=1 __osf__=1 _OSF_SOURCE=1 _POSIX_C_SOURCE=199506 _POSIX_SOURCE=1 _REENTRANT=1 __STDC__=1 _SYSTYPE_BSD=1 __unix__=1 _XOPEN_SOURCE=1'
-crosscompile='undef'
 cryptlib=''
 csh='csh'
 d_Gconvert='gcvt((x),(n),(b))'
@@ -439,7 +438,7 @@ eunicefix=':'
 exe_ext=''
 expr='expr'
 extensions='B ByteLoader Cwd DB_File Data/Dumper Devel/DProf Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX PerlIO/Scalar PerlIO/Via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Thread Time/HiRes Time/Piece XS/Typemap attrs re Errno'
-fflushNULL='define'
+fflushNULL='undef'
 fflushall='undef'
 find=''
 firstmakefile='makefile'
@@ -447,6 +446,7 @@ flex=''
 fpossize='8'
 fpostype='fpos_t'
 freetype='void'
+from=':'
 full_ar='/usr/bin/ar'
 full_csh='/usr/bin/csh'
 full_sed='/usr/bin/sed'
@@ -670,7 +670,7 @@ patchlevel='7'
 path_sep=':'
 perl5='/u/vieraat/vieraat/jhi/Perl/bin/perl'
 perl=''
-perl_patchlevel='10537'
+perl_patchlevel='10575'
 perladmin='yourname@yourhost.yourplace.com'
 perllibs='-lm -liconv -lutil -lpthread -lexc'
 perlpath='/opt/perl/bin/perl'
@@ -697,6 +697,7 @@ rd_nodata='-1'
 revision='5'
 rm='rm'
 rmail=''
+run=''
 runnm='true'
 sPRIEUldbl='"E"'
 sPRIFUldbl='"F"'
@@ -771,11 +772,13 @@ subversion='1'
 sysman='/usr/man/man1'
 tail=''
 tar=''
+targetarch=''
 tbl=''
 tee=''
 test='test'
 timeincl='/usr/include/sys/time.h '
 timetype='time_t'
+to=':'
 touch='touch'
 tr='tr'
 trnl='\n'
@@ -798,6 +801,7 @@ uquadtype='unsigned long'
 use5005threads='define'
 use64bitall='define'
 use64bitint='define'
+usecrosscompile='undef'
 usedl='define'
 useithreads='undef'
 uselargefiles='define'
@@ -809,7 +813,7 @@ usenm='true'
 useopcode='true'
 useperlio='define'
 useposix='true'
-usereentrant=''
+usereentrant='undef'
 usesfio='false'
 useshrplib='true'
 usesocks='undef'
@@ -866,7 +870,7 @@ PERL_SUBVERSION=1
 PERL_API_REVISION=5
 PERL_API_VERSION=5
 PERL_API_SUBVERSION=0
-PERL_PATCHLEVEL=10537
+PERL_PATCHLEVEL=10575
 PERL_CONFIG_SH=true
 # Variables propagated from previous config.sh file.
 pp_sys_cflags='ccflags="$ccflags -DNO_EFF_ONLY_OK"'
index 3e85c17..9aea69c 100644 (file)
@@ -17,7 +17,7 @@
 /*
  * Package name      : perl5
  * Source directory  : .
- * Configuration time: Wed Jun 13 21:04:31 EET DST 2001
+ * Configuration time: Fri Jun 15 02:15:37 EET DST 2001
  * Configured by     : jhi
  * Target system     : osf1 alpha.hut.fi v4.0 878 alpha 
  */
  */
 #define HAS_DLERROR    /**/
 
-/* SETUID_SCRIPTS_ARE_SECURE_NOW:
- *     This symbol, if defined, indicates that the bug that prevents
- *     setuid scripts from being secure is not present in this kernel.
- */
-/* DOSUID:
- *     This symbol, if defined, indicates that the C program should
- *     check the script that it is executing for setuid/setgid bits, and
- *     attempt to emulate setuid/setgid on systems that have disabled
- *     setuid #! scripts because the kernel can't do it securely.
- *     It is up to the package designer to make sure that this emulation
- *     is done securely.  Among other things, it should do an fstat on
- *     the script it just opened to make sure it really is a setuid/setgid
- *     script, it should make sure the arguments passed correspond exactly
- *     to the argument on the #! line, and it should not trust any
- *     subprocesses to which it must pass the filename rather than the
- *     file descriptor of the script to be executed.
- */
-/*#define SETUID_SCRIPTS_ARE_SECURE_NOW        / **/
-/*#define DOSUID               / **/
-
 /* HAS_DUP2:
  *     This symbol, if defined, indicates that the dup2 routine is
  *     available to duplicate file descriptors.
  */
 #define I_VALUES               /**/
 
-/* I_STDARG:
- *     This symbol, if defined, indicates that <stdarg.h> exists and should
- *     be included.
- */
-/* I_VARARGS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <varargs.h>.
- */
-#define I_STDARG               /**/
-/*#define I_VARARGS    / **/
-
 /* I_VFORK:
  *     This symbol, if defined, indicates to the C program that it should
  *     include vfork.h.
  */
 #define SH_PATH "/bin/sh"  /**/
 
-/* CROSSCOMPILE:
- *     This symbol, if defined, signifies that we our
- *     build process is a cross-compilation.
- */
-/*#define CROSSCOMPILE         / **/
-
 /* INTSIZE:
  *     This symbol contains the value of sizeof(int) so that the C
  *     preprocessor can make decisions based on it.
  *     double, or a long double when applicable. Usual values are 2,
  *     4 and 8. The default is eight, for safety.
  */
-#if defined(CROSSCOMPILE) || defined(MULTIARCH)
-#  define MEM_ALIGNBYTES 8
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
+#define MEM_ALIGNBYTES 8
 #else
 #define MEM_ALIGNBYTES 8
 #endif
  *     so the default case (for NeXT) is big endian to catch them. 
  *     This might matter for NeXT 3.0.
  */
-#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
 #  ifdef __LITTLE_ENDIAN__
 #    if LONGSIZE == 4
 #      define BYTEORDER 0x1234
  *     Note that if fflushNULL is defined, fflushall will not
  *     even be probed for and will be left undefined.
  */
-#define        FFLUSH_NULL             /**/
+/*#define      FFLUSH_NULL             / **/
 /*#define      FFLUSH_ALL              / **/
 
 /* Fpos_t:
  *     This symbol, if defined, indicates that Perl should
  *     be built to use the old draft POSIX threads API.
  */
+/* USE_REENTRANT_API:
+ *     This symbol, if defined, indicates that Perl should
+ *     try to use the various _r versions of library functions.
+ *     This is extremely experimental.
+ */
 #define        USE_5005THREADS         /**/
 /*#define      USE_ITHREADS            / **/
 #if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
 #define                USE_THREADS             /* until src is revised*/
 #endif
 /*#define      OLD_PTHREADS_API                / **/
+/*#define      USE_REENTRANT_API       / **/
 
 /* PERL_VENDORARCH:
  *     If defined, this symbol contains the name of a private library.
 #define PERL_XS_APIVERSION "5.7.1"
 #define PERL_PM_APIVERSION "5.005"
 
+/* SETUID_SCRIPTS_ARE_SECURE_NOW:
+ *     This symbol, if defined, indicates that the bug that prevents
+ *     setuid scripts from being secure is not present in this kernel.
+ */
+/* DOSUID:
+ *     This symbol, if defined, indicates that the C program should
+ *     check the script that it is executing for setuid/setgid bits, and
+ *     attempt to emulate setuid/setgid on systems that have disabled
+ *     setuid #! scripts because the kernel can't do it securely.
+ *     It is up to the package designer to make sure that this emulation
+ *     is done securely.  Among other things, it should do an fstat on
+ *     the script it just opened to make sure it really is a setuid/setgid
+ *     script, it should make sure the arguments passed correspond exactly
+ *     to the argument on the #! line, and it should not trust any
+ *     subprocesses to which it must pass the filename rather than the
+ *     file descriptor of the script to be executed.
+ */
+/*#define SETUID_SCRIPTS_ARE_SECURE_NOW        / **/
+/*#define DOSUID               / **/
+
+/* I_STDARG:
+ *     This symbol, if defined, indicates that <stdarg.h> exists and should
+ *     be included.
+ */
+/* I_VARARGS:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <varargs.h>.
+ */
+#define I_STDARG               /**/
+/*#define I_VARARGS    / **/
+
+/* USE_CROSS_COMPILE:
+ *     This symbol, if defined, indicates that Perl is being cross-compiled.
+ */
+/* PERL_TARGETARCH:
+ *     This symbol, if defined, indicates the target architecture
+ *     Perl has been cross-compiled to.  Undefined if not a cross-compile.
+ */
+#ifndef USE_CROSS_COMPILE
+/*#define      USE_CROSS_COMPILE       / **/
+#define        PERL_TARGETARCH ""      /**/
+#endif
+
 /* HAS_DBMINIT_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the dbminit() function.  Otherwise, it is up
index 8ba725d..35bfb1b 100644 (file)
@@ -145,26 +145,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_dlerror HAS_DLERROR        /**/
 
-/* SETUID_SCRIPTS_ARE_SECURE_NOW:
- *     This symbol, if defined, indicates that the bug that prevents
- *     setuid scripts from being secure is not present in this kernel.
- */
-/* DOSUID:
- *     This symbol, if defined, indicates that the C program should
- *     check the script that it is executing for setuid/setgid bits, and
- *     attempt to emulate setuid/setgid on systems that have disabled
- *     setuid #! scripts because the kernel can't do it securely.
- *     It is up to the package designer to make sure that this emulation
- *     is done securely.  Among other things, it should do an fstat on
- *     the script it just opened to make sure it really is a setuid/setgid
- *     script, it should make sure the arguments passed correspond exactly
- *     to the argument on the #! line, and it should not trust any
- *     subprocesses to which it must pass the filename rather than the
- *     file descriptor of the script to be executed.
- */
-#$d_suidsafe SETUID_SCRIPTS_ARE_SECURE_NOW     /**/
-#$d_dosuid DOSUID              /**/
-
 /* HAS_DUP2:
  *     This symbol, if defined, indicates that the dup2 routine is
  *     available to duplicate file descriptors.
@@ -942,17 +922,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$i_values I_VALUES            /**/
 
-/* I_STDARG:
- *     This symbol, if defined, indicates that <stdarg.h> exists and should
- *     be included.
- */
-/* I_VARARGS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <varargs.h>.
- */
-#$i_stdarg I_STDARG            /**/
-#$i_varargs I_VARARGS  /**/
-
 /* I_VFORK:
  *     This symbol, if defined, indicates to the C program that it should
  *     include vfork.h.
@@ -986,12 +955,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #define SH_PATH "$sh"  /**/
 
-/* CROSSCOMPILE:
- *     This symbol, if defined, signifies that we our
- *     build process is a cross-compilation.
- */
-#$crosscompile CROSSCOMPILE            /**/
-
 /* INTSIZE:
  *     This symbol contains the value of sizeof(int) so that the C
  *     preprocessor can make decisions based on it.
@@ -1075,7 +1038,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     double, or a long double when applicable. Usual values are 2,
  *     4 and 8. The default is eight, for safety.
  */
-#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
 #  define MEM_ALIGNBYTES 8
 #else
 #define MEM_ALIGNBYTES $alignbytes
@@ -1152,7 +1115,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     so the default case (for NeXT) is big endian to catch them. 
  *     This might matter for NeXT 3.0.
  */
-#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
 #  ifdef __LITTLE_ENDIAN__
 #    if LONGSIZE == 4
 #      define BYTEORDER 0x1234
@@ -3370,6 +3333,49 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #define PERL_XS_APIVERSION "$xs_apiversion"
 #define PERL_PM_APIVERSION "$pm_apiversion"
 
+/* SETUID_SCRIPTS_ARE_SECURE_NOW:
+ *     This symbol, if defined, indicates that the bug that prevents
+ *     setuid scripts from being secure is not present in this kernel.
+ */
+/* DOSUID:
+ *     This symbol, if defined, indicates that the C program should
+ *     check the script that it is executing for setuid/setgid bits, and
+ *     attempt to emulate setuid/setgid on systems that have disabled
+ *     setuid #! scripts because the kernel can't do it securely.
+ *     It is up to the package designer to make sure that this emulation
+ *     is done securely.  Among other things, it should do an fstat on
+ *     the script it just opened to make sure it really is a setuid/setgid
+ *     script, it should make sure the arguments passed correspond exactly
+ *     to the argument on the #! line, and it should not trust any
+ *     subprocesses to which it must pass the filename rather than the
+ *     file descriptor of the script to be executed.
+ */
+#$d_suidsafe SETUID_SCRIPTS_ARE_SECURE_NOW     /**/
+#$d_dosuid DOSUID              /**/
+
+/* I_STDARG:
+ *     This symbol, if defined, indicates that <stdarg.h> exists and should
+ *     be included.
+ */
+/* I_VARARGS:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <varargs.h>.
+ */
+#$i_stdarg I_STDARG            /**/
+#$i_varargs I_VARARGS  /**/
+
+/* USE_CROSS_COMPILE:
+ *     This symbol, if defined, indicates that Perl is being cross-compiled.
+ */
+/* PERL_TARGETARCH:
+ *     This symbol, if defined, indicates the target architecture
+ *     Perl has been cross-compiled to.  Undefined if not a cross-compile.
+ */
+#ifndef USE_CROSS_COMPILE
+#$usecrosscompile      USE_CROSS_COMPILE       /**/
+#define        PERL_TARGETARCH "$targetarch"   /**/
+#endif
+
 /* HAS_DBMINIT_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the dbminit() function.  Otherwise, it is up
index 1d09675..447a981 100644 (file)
@@ -4969,7 +4969,6 @@ $ WC "cpplast='" + cpplast + "'"
 $ WC "cppminus='" + cppminus + "'"
 $ WC "cpprun='" + cpprun + "'"
 $ WC "cppstdin='" + cppstdin + "'"
-$ WC "crosscompile='undef'"
 $ WC "d_Gconvert='my_gconvert(x,n,t,b)'"
 $ WC "d_PRIEldbl='" + d_PRIEUldbl + "'"
 $ WC "d_PRIFldbl='" + d_PRIFUldbl + "'"
@@ -5564,6 +5563,7 @@ $ WC "use5005threads='" + use5005threads + "'"
 $ WC "use64bitall='" + use64bitall + "'"
 $ WC "use64bitint='" + use64bitint + "'"
 $ WC "usedebugging_perl='" + use_debugging_perl + "'"
+$ WC "usecrosscompile='undef'"
 $ WC "usedl='" + usedl + "'"
 $ WC "useithreads='" + useithreads + "'"
 $ WC "uselargefiles='" + uselargefiles + "'"
index 0e5549e..4e80423 100644 (file)
@@ -76,7 +76,6 @@ cppminus='-'
 cpprun='arm-pe-gcc -E  -B/usr/local/lib/gcc-lib/arm-pe/cygnus-2.7.2-960323/'
 cppstdin='arm-pe-gcc -E -B/usr/local/lib/gcc-lib/arm-pe/cygnus-2.7.2-960323/'
 cppsymbols=''
-crosscompile='define'
 cryptlib=''
 csh='csh'
 d_Gconvert='epoc_gcvt((x),(n),(b))'
@@ -725,6 +724,7 @@ uname='uname'
 uniq='uniq'
 use64bitall='undef'
 use64bitint='undef'
+usecrosscompile='define'
 usedl='undef'
 uselargefiles='undef'
 uselongdouble='undef'
index a6b2bd9..3234aea 100644 (file)
@@ -119,7 +119,7 @@ main() {
        exit(0); /* succeed (yes, it's ELF) */
 }
 EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && ./a.out; then
+if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
     cat <<'EOM' >&4
 
 You appear to have ELF support.  I'll try to use it for dynamic loading.
index 35e834e..ba9a0fe 100644 (file)
@@ -6775,18 +6775,6 @@ FETCH_I<type>_ATTRIBUTES, MODIFY_I<type>_ATTRIBUTES
 
 =back
 
-=head2 attrs - set/get attributes of a subroutine (deprecated)
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-method, locked
-
-=back
-
 =head2 autouse - postpone load of modules until a function is used
 
 =over 4
@@ -8577,7 +8565,7 @@ C<ccflags_uselargefiles>, C<ccname>, C<ccsymbols>, C<ccversion>, C<cf_by>,
 C<cf_email>, C<cf_time>, C<charsize>, C<chgrp>, C<chmod>, C<chown>,
 C<clocktype>, C<comm>, C<compress>, C<contains>, C<cp>, C<cpio>, C<cpp>,
 C<cpp_stuff>, C<cppccsymbols>, C<cppflags>, C<cpplast>, C<cppminus>,
-C<cpprun>, C<cppstdin>, C<cppsymbols>, C<crosscompile>, C<cryptlib>, C<csh>
+C<cpprun>, C<cppstdin>, C<cppsymbols>, C<cryptlib>, C<csh>
 
 =item d
 
@@ -8665,7 +8653,8 @@ C<exe_ext>, C<expr>, C<extensions>
 =item f
 
 C<fflushall>, C<fflushNULL>, C<find>, C<firstmakefile>, C<flex>,
-C<fpossize>, C<fpostype>, C<freetype>, C<full_ar>, C<full_csh>, C<full_sed>
+C<fpossize>, C<fpostype>, C<freetype>, C<from>, C<full_ar>, C<full_csh>,
+C<full_sed>
 
 =item g
 
@@ -8758,7 +8747,7 @@ C<quadkind>, C<quadtype>
 =item r
 
 C<randbits>, C<randfunc>, C<randseedtype>, C<ranlib>, C<rd_nodata>,
-C<revision>, C<rm>, C<rmail>, C<runnm>
+C<revision>, C<rm>, C<rmail>, C<run>, C<runnm>
 
 =item s
 
@@ -8779,20 +8768,20 @@ C<stdio_stream_array>, C<strings>, C<submit>, C<subversion>, C<sysman>
 
 =item t
 
-C<tail>, C<tar>, C<tbl>, C<tee>, C<test>, C<timeincl>, C<timetype>,
-C<touch>, C<tr>, C<trnl>, C<troff>
+C<tail>, C<tar>, C<targetarch>, C<tbl>, C<tee>, C<test>, C<timeincl>,
+C<timetype>, C<to>, C<touch>, C<tr>, C<trnl>, C<troff>
 
 =item u
 
 C<u16size>, C<u16type>, C<u32size>, C<u32type>, C<u64size>, C<u64type>,
 C<u8size>, C<u8type>, C<uidformat>, C<uidsign>, C<uidsize>, C<uidtype>,
 C<uname>, C<uniq>, C<uquadtype>, C<use5005threads>, C<use64bitall>,
-C<use64bitint>, C<usedl>, C<useithreads>, C<uselargefiles>,
-C<uselongdouble>, C<usemorebits>, C<usemultiplicity>, C<usemymalloc>,
-C<usenm>, C<useopcode>, C<useperlio>, C<useposix>, C<usesfio>,
-C<useshrplib>, C<usesocks>, C<usethreads>, C<usevendorprefix>, C<usevfork>,
-C<usrinc>, C<uuname>, C<uvoformat>, C<uvsize>, C<uvtype>, C<uvuformat>,
-C<uvxformat>, C<uvXUformat>
+C<use64bitint>, C<usecrosscompile>, C<usedl>, C<useithreads>,
+C<uselargefiles>, C<uselongdouble>, C<usemorebits>, C<usemultiplicity>,
+C<usemymalloc>, C<usenm>, C<useopcode>, C<useperlio>, C<useposix>,
+C<usereentrant>, C<usesfio>, C<useshrplib>, C<usesocks>, C<usethreads>,
+C<usevendorprefix>, C<usevfork>, C<usrinc>, C<uuname>, C<uvoformat>,
+C<uvsize>, C<uvtype>, C<uvuformat>, C<uvxformat>, C<uvXUformat>
 
 =item v
 
@@ -9401,22 +9390,6 @@ arrays
 
 =back
 
-=head2 Errno - System errno constants
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item CAVEATS
-
-=item AUTHOR
-
-=item COPYRIGHT
-
-=back
-
 =head2 Exporter - Implements default import method for modules
 
 =over 4
@@ -14105,27 +14078,6 @@ C<Storable::is_retrieving>
 
 =back
 
-=head2 Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl
-interface to the UNIX syslog(3) calls
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-openlog $ident, $logopt, $facility, syslog $priority, $format, @args,
-setlogmask $mask_priority, setlogsock $sock_type (added in 5.004_02),
-closelog
-
-=item EXAMPLES
-
-=item SEE ALSO
-
-=item AUTHOR
-
-=back
-
 =head2 Syslog::Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog -
 Perl interface to the UNIX syslog(3) calls
 
@@ -14758,24 +14710,6 @@ seconds to other date values
 
 =back
 
-=head2 Time::Seconds - a simple API to convert seconds to other date values
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item METHODS
-
-=item AUTHOR
-
-=item LICENSE
-
-=item Bugs
-
-=back
-
 =head2 Time::gmtime - by-name interface to Perl's built-in gmtime()
 function
 
index 08799f2..67578fa 100644 (file)
--- a/uconfig.h
+++ b/uconfig.h
  */
 /*#define HAS_DLERROR  / **/
 
-/* SETUID_SCRIPTS_ARE_SECURE_NOW:
- *     This symbol, if defined, indicates that the bug that prevents
- *     setuid scripts from being secure is not present in this kernel.
- */
-/* DOSUID:
- *     This symbol, if defined, indicates that the C program should
- *     check the script that it is executing for setuid/setgid bits, and
- *     attempt to emulate setuid/setgid on systems that have disabled
- *     setuid #! scripts because the kernel can't do it securely.
- *     It is up to the package designer to make sure that this emulation
- *     is done securely.  Among other things, it should do an fstat on
- *     the script it just opened to make sure it really is a setuid/setgid
- *     script, it should make sure the arguments passed correspond exactly
- *     to the argument on the #! line, and it should not trust any
- *     subprocesses to which it must pass the filename rather than the
- *     file descriptor of the script to be executed.
- */
-/*#define SETUID_SCRIPTS_ARE_SECURE_NOW        / **/
-/*#define DOSUID               / **/
-
 /* HAS_DUP2:
  *     This symbol, if defined, indicates that the dup2 routine is
  *     available to duplicate file descriptors.
  */
 /*#define I_VALUES             / **/
 
-/* I_STDARG:
- *     This symbol, if defined, indicates that <stdarg.h> exists and should
- *     be included.
- */
-/* I_VARARGS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <varargs.h>.
- */
-#define I_STDARG               /**/
-/*#define I_VARARGS    / **/
-
 /* I_VFORK:
  *     This symbol, if defined, indicates to the C program that it should
  *     include vfork.h.
  */
 #define SH_PATH ""  /**/
 
-/* CROSSCOMPILE:
- *     This symbol, if defined, signifies that we our
- *     build process is a cross-compilation.
- */
-/*#define CROSSCOMPILE         / **/
-
 /* INTSIZE:
  *     This symbol contains the value of sizeof(int) so that the C
  *     preprocessor can make decisions based on it.
  *     double, or a long double when applicable. Usual values are 2,
  *     4 and 8. The default is eight, for safety.
  */
-#if defined(CROSSCOMPILE) || defined(MULTIARCH)
-#  define MEM_ALIGNBYTES 8
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
+#define MEM_ALIGNBYTES 8
 #else
 #define MEM_ALIGNBYTES 4
 #endif
  *     so the default case (for NeXT) is big endian to catch them. 
  *     This might matter for NeXT 3.0.
  */
-#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
 #  ifdef __LITTLE_ENDIAN__
 #    if LONGSIZE == 4
 #      define BYTEORDER 0x1234
 #define PERL_XS_APIVERSION "5.005"
 #define PERL_PM_APIVERSION "5.005"
 
+/* SETUID_SCRIPTS_ARE_SECURE_NOW:
+ *     This symbol, if defined, indicates that the bug that prevents
+ *     setuid scripts from being secure is not present in this kernel.
+ */
+/* DOSUID:
+ *     This symbol, if defined, indicates that the C program should
+ *     check the script that it is executing for setuid/setgid bits, and
+ *     attempt to emulate setuid/setgid on systems that have disabled
+ *     setuid #! scripts because the kernel can't do it securely.
+ *     It is up to the package designer to make sure that this emulation
+ *     is done securely.  Among other things, it should do an fstat on
+ *     the script it just opened to make sure it really is a setuid/setgid
+ *     script, it should make sure the arguments passed correspond exactly
+ *     to the argument on the #! line, and it should not trust any
+ *     subprocesses to which it must pass the filename rather than the
+ *     file descriptor of the script to be executed.
+ */
+/*#define SETUID_SCRIPTS_ARE_SECURE_NOW        / **/
+/*#define DOSUID               / **/
+
+/* I_STDARG:
+ *     This symbol, if defined, indicates that <stdarg.h> exists and should
+ *     be included.
+ */
+/* I_VARARGS:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <varargs.h>.
+ */
+#define I_STDARG               /**/
+/*#define I_VARARGS    / **/
+
+/* USE_CROSS_COMPILE:
+ *     This symbol, if defined, indicates that Perl is being cross-compiled.
+ */
+/* PERL_TARGETARCH:
+ *     This symbol, if defined, indicates the target architecture
+ *     Perl has been cross-compiled to.  Undefined if not a cross-compile.
+ */
+#ifndef USE_CROSS_COMPILE
+/*#define      USE_CROSS_COMPILE       / **/
+#define        PERL_TARGETARCH ""      /**/
+#endif
+
 /* HAS_DBMINIT_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the dbminit() function.  Otherwise, it is up
index 5ffccae..52e34b7 100755 (executable)
@@ -15,7 +15,6 @@ castflags='0'
 charsize='1'
 clocktype='clock_t'
 cpp_stuff='42'
-crosscompile='undef'
 d_Gconvert='sprintf((b),"%.*g",(n),(x))'
 d_PRIEUldbl='undef'
 d_PRIFUldbl='undef'
@@ -560,6 +559,7 @@ uquadtype='uint64_t'
 use5005threads='undef'
 use64bitall='undef'
 use64bitint='undef'
+usecrosscompile='undef'
 usedl='undef'
 useithreads='undef'
 uselargefiles='undef'
index 0fb92e3..5d437d8 100644 (file)
@@ -15,7 +15,6 @@ $cpplast='-'
 $cppminus='-'
 $cpprun='cc -E -'
 $cppstdin='cc -E'
-$crosscompile='undef'
 $d_Gconvert='sprintf((b),"%.*g",(n),(x))'
 $d_PRIeldbl='define'
 $d_PRIfldbl='define'
@@ -503,6 +502,7 @@ $uquadtype='_error_'
 $use5005threads='undef'
 $use64bitall='undef'
 $use64bitint='undef'
+$usecrosscompile='undef'
 $usedl='undef'
 $useithreads='undef'
 $uselargefiles='undef'
index 1b560b4..f610d32 100644 (file)
  */
 #define SH_PATH "/bin/sh"  /**/
 
-/* CROSSCOMPILE:
- *     This symbol, if defined, signifies that we our
- *     build process is a cross-compilation.
- */
-/*#define CROSSCOMPILE         /**/
-
 /* INTSIZE:
  *     This symbol contains the value of sizeof(int) so that the C
  *     preprocessor can make decisions based on it.
  *     double, or a long double when applicable. Usual values are 2,
  *     4 and 8. The default is eight, for safety.
  */
-#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
 #  define MEM_ALIGNBYTES 8
 #else
 #define MEM_ALIGNBYTES 8
  *     so the default case (for NeXT) is big endian to catch them. 
  *     This might matter for NeXT 3.0.
  */
-#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
 #  ifdef __LITTLE_ENDIAN__
 #    if LONGSIZE == 4
 #      define BYTEORDER 0x1234
index ffcd3cf..7ad9bd0 100644 (file)
@@ -15,7 +15,6 @@ $cpplast='-'
 $cppminus='-'
 $cpprun='cc -E -'
 $cppstdin='cc -E'
-$crosscompile='undef'
 $d_Gconvert='sprintf((b),"%.*g",(n),(x))'
 $d_PRIeldbl='define'
 $d_PRIfldbl='define'
@@ -503,6 +502,7 @@ $uquadtype='_error_'
 $use5005threads='undef'
 $use64bitall='undef'
 $use64bitint='undef'
+$usecrosscompile='undef'
 $usedl='undef'
 $useithreads='undef'
 $uselargefiles='undef'
index 7afd9a3..791d937 100644 (file)
  */
 #define SH_PATH "/system/gnu_library/bin/bash.pm"  /**/
 
-/* CROSSCOMPILE:
- *     This symbol, if defined, signifies that we our
- *     build process is a cross-compilation.
- */
-/*#define CROSSCOMPILE         /**/
-
 /* INTSIZE:
  *     This symbol contains the value of sizeof(int) so that the C
  *     preprocessor can make decisions based on it.
  *     double, or a long double when applicable. Usual values are 2,
  *     4 and 8. The default is eight, for safety.
  */
-#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
 #  define MEM_ALIGNBYTES 8
 #else
 #define MEM_ALIGNBYTES 8
  *     so the default case (for NeXT) is big endian to catch them. 
  *     This might matter for NeXT 3.0.
  */
-#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
 #  ifdef __LITTLE_ENDIAN__
 #    if LONGSIZE == 4
 #      define BYTEORDER 0x1234
index e1eeca8..a47e405 100644 (file)
@@ -68,7 +68,6 @@ cppminus=''
 cpprun='cpp32 -oCON'
 cppstdin='cpp32 -oCON'
 cppsymbols=''
-crosscompile='undef'
 cryptlib=''
 csh='undef'
 d_Gconvert='gcvt((x),(n),(b))'
@@ -783,6 +782,7 @@ uquadtype='unsigned __int64'
 use5005threads='undef'
 use64bitall='undef'
 use64bitint='undef'
+usecrosscompile='undef'
 usedl='define'
 useithreads='undef'
 uselargefiles='undef'
index 7085cd2..38c7a15 100644 (file)
@@ -68,7 +68,6 @@ cppminus='-'
 cpprun='gcc -E'
 cppstdin='gcc -E'
 cppsymbols=''
-crosscompile='undef'
 cryptlib=''
 csh='undef'
 d_Gconvert='sprintf((b),"%.*g",(n),(x))'
@@ -783,6 +782,7 @@ uquadtype='unsigned long long'
 use5005threads='undef'
 use64bitall='undef'
 use64bitint='undef'
+usecrosscompile='undef'
 usedl='define'
 useithreads='undef'
 uselargefiles='undef'
index c01ce0c..2e0bae2 100644 (file)
@@ -68,7 +68,6 @@ cppminus=''
 cpprun='cl -nologo -E'
 cppstdin='cl -nologo -E'
 cppsymbols=''
-crosscompile='undef'
 cryptlib=''
 csh='undef'
 d_Gconvert='sprintf((b),"%.*g",(n),(x))'
@@ -783,6 +782,7 @@ uquadtype='unsigned __int64'
 use5005threads='undef'
 use64bitall='undef'
 use64bitint='undef'
+usecrosscompile='undef'
 usedl='define'
 useithreads='undef'
 uselargefiles='undef'
index b1de84b..c85c2e2 100644 (file)
  */
 #define SH_PATH "cmd /x /c"  /**/
 
-/* CROSSCOMPILE:
- *     This symbol, if defined, signifies that we our
- *     build process is a cross-compilation.
- */
-/*#define CROSSCOMPILE         /**/
-
 /* INTSIZE:
  *     This symbol contains the value of sizeof(int) so that the C
  *     preprocessor can make decisions based on it.
  *     double, or a long double when applicable. Usual values are 2,
  *     4 and 8. The default is eight, for safety.
  */
-#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
 #  define MEM_ALIGNBYTES 8
 #else
 #define MEM_ALIGNBYTES 8
  *     so the default case (for NeXT) is big endian to catch them. 
  *     This might matter for NeXT 3.0.
  */
-#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
 #  ifdef __LITTLE_ENDIAN__
 #    if LONGSIZE == 4
 #      define BYTEORDER 0x1234
index 8025e52..945fa8a 100644 (file)
  */
 #define SH_PATH "cmd /x /c"  /**/
 
-/* CROSSCOMPILE:
- *     This symbol, if defined, signifies that we our
- *     build process is a cross-compilation.
- */
-/*#define CROSSCOMPILE         /**/
-
 /* INTSIZE:
  *     This symbol contains the value of sizeof(int) so that the C
  *     preprocessor can make decisions based on it.
  *     double, or a long double when applicable. Usual values are 2,
  *     4 and 8. The default is eight, for safety.
  */
-#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
 #  define MEM_ALIGNBYTES 8
 #else
 #define MEM_ALIGNBYTES 8
  *     so the default case (for NeXT) is big endian to catch them. 
  *     This might matter for NeXT 3.0.
  */
-#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
 #  ifdef __LITTLE_ENDIAN__
 #    if LONGSIZE == 4
 #      define BYTEORDER 0x1234
index ca07d2b..ab4927d 100644 (file)
  */
 #define SH_PATH "cmd /x /c"  /**/
 
-/* CROSSCOMPILE:
- *     This symbol, if defined, signifies that we our
- *     build process is a cross-compilation.
- */
-/*#define CROSSCOMPILE         /**/
-
 /* INTSIZE:
  *     This symbol contains the value of sizeof(int) so that the C
  *     preprocessor can make decisions based on it.
  *     double, or a long double when applicable. Usual values are 2,
  *     4 and 8. The default is eight, for safety.
  */
-#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
 #  define MEM_ALIGNBYTES 8
 #else
 #define MEM_ALIGNBYTES 8
  *     so the default case (for NeXT) is big endian to catch them. 
  *     This might matter for NeXT 3.0.
  */
-#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
 #  ifdef __LITTLE_ENDIAN__
 #    if LONGSIZE == 4
 #      define BYTEORDER 0x1234