do_sv_dump does dump (core) on IO handles
[p5sagit/p5-mst-13.2.git] / Configure
index 8c5b835..e326c3e 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 Fri Feb 19 22:20:20 EET 1999 [metaconfig 3.0 PL70]
+# Generated on Mon Apr 19 22:21:08 EET DST 1999 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.com)
 
 cat >/tmp/c1$$ <<EOF
@@ -108,6 +108,13 @@ if test -d /usr/lpp -a -f /usr/bin/bsh -a -f /usr/bin/uname; then
                newsh=/usr/bin/bsh
        fi
 fi
+if test -f /osf_boot -a -f /usr/sbin/setld; then
+       if test X`/usr/bin/uname -s` = XOSF1; then
+               avoidksh="to avoid Digital UNIX' ksh"
+               newsh=/bin/sh
+               unset BIN_SH # if this is 'xpg4' sh will start up ksh
+       fi
+fi
 case "$inksh/$needksh" in
 /[a-z]*)
                ENV=''
@@ -293,6 +300,7 @@ cpplast=''
 cppminus=''
 cpprun=''
 cppstdin=''
+crosscompile=''
 d_access=''
 d_accessx=''
 d_alarm=''
@@ -600,6 +608,7 @@ i_neterrno=''
 i_niin=''
 i_sysin=''
 i_poll=''
+i_pthread=''
 d_pwage=''
 d_pwchange=''
 d_pwclass=''
@@ -659,11 +668,13 @@ d_dirent64_s=''
 d_flock64_s=''
 d_fstat64=''
 d_ftruncate64=''
-d_ino64t=''
+d_ino64_t=''
+d_llseek=''
 d_lockf64=''
 d_lseek64=''
 d_lstat64=''
-d_off64t=''
+d_off64_t=''
+d_offset_t=''
 d_open64=''
 d_opendir64=''
 d_readdir64=''
@@ -707,6 +718,7 @@ models=''
 small=''
 split=''
 modetype=''
+multiarch=''
 mydomain=''
 myhostname=''
 phostname=''
@@ -753,6 +765,7 @@ scriptdirexp=''
 selectminbits=''
 selecttype=''
 sh=''
+sig_count=''
 sig_name=''
 sig_name_init=''
 sig_num=''
@@ -818,24 +831,6 @@ if test -f /etc/unixtovms.exe; then
 fi
 
 i_whoami=''
-: change the next line if compiling for Xenix/286 on Xenix/386
-xlibpth='/usr/lib/386 /lib/386'
-
-: Possible local library directories to search.
-loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib"
-loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
-
-: general looking path for locating libraries
-glibpth="/shlib /usr/shlib /lib/pa1.1 /usr/lib/large"
-glibpth="$glibpth /lib /usr/lib $xlibpth"
-glibpth="$glibpth /lib/large /usr/lib/small /lib/small"
-glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
-
-: Private path used by Configure to find libraries.  Its value
-: is prepended to libpth. This variable takes care of special
-: machines, like the mips.  Usually, it should be empty.
-plibpth=''
-
 : Possible local include directories to search.
 : Set locincpth to "" in a hint file to defeat local include searches.
 locincpth="/usr/local/include /opt/local/include /usr/gnu/include"
@@ -914,6 +909,24 @@ _exe=''
 : Extra object files, if any, needed on this platform.
 archobjs=''
 groupstype=''
+: change the next line if compiling for Xenix/286 on Xenix/386
+xlibpth='/usr/lib/386 /lib/386'
+
+: Possible local library directories to search.
+loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib"
+loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
+
+: general looking path for locating libraries
+glibpth="/shlib /usr/shlib /lib/pa1.1 /usr/lib/large"
+glibpth="$glibpth /lib /usr/lib $xlibpth"
+glibpth="$glibpth /lib/large /usr/lib/small /lib/small"
+glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
+
+: Private path used by Configure to find libraries.  Its value
+: is prepended to libpth. This variable takes care of special
+: machines, like the mips.  Usually, it should be empty.
+plibpth=''
+
 : default library list
 libswanted=''
 : some systems want to use only the non-versioned libso:s
@@ -930,7 +943,8 @@ useopcode=true
 : List of libraries we want.
 : If anyone needs -lnet, put it in a hint file.
 libswanted='sfio socket inet nsl nm ndbm gdbm dbm db malloc dl'
-libswanted="$libswanted dld ld sun m c cposix posix ndir dir crypt"
+libswanted="$libswanted dld ld sun m rt c cposix posix"
+libswanted="$libswanted ndir dir crypt"
 libswanted="$libswanted ucb bsd BSD PW x"
 : We probably want to search /usr/shlib before most other libraries.
 : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
@@ -1307,7 +1321,7 @@ esac
 
 : script used to extract .SH files with variable substitutions
 cat >extract <<'EOS'
-CONFIG=true
+CONFIGDOTSH=true
 echo "Doing variable substitutions on .SH files..."
 if test -f $src/MANIFEST; then
        set x `awk '{print $1}' <$src/MANIFEST | grep '\.SH$'`
@@ -1766,7 +1780,6 @@ more
 nm
 nroff
 pg
-tee
 test
 uname
 zip
@@ -2092,7 +2105,7 @@ EOM
                                        osvers=2
                                fi
                        fi
-                       unset tmp
+                       tmp=''
                        ;;
                pc*)
                        if test -n "$DJGPP"; then
@@ -2528,7 +2541,7 @@ case "$usethreads" in
                . ./usethreads.cbu
        fi
        case "$osname" in
-       aix|dec_osf|dos_djgpp|freebsd|hpux|irix|linux|openbsd|os2|solaris|vmesa)
+       aix|dec_osf|dos_djgpp|freebsd|hpux|irix|linux|next|openbsd|os2|solaris|vmesa)
                # Known thread-capable platforms.
                ;;
        *)
@@ -4219,7 +4232,7 @@ echo " "
 echo "Checking your choice of C compiler and flags for coherency..." >&4
 $cat > try.c <<'EOF'
 #include <stdio.h>
-main() { printf("Ok\n"); exit(0); }
+int main() { printf("Ok\n"); exit(0); }
 EOF
 set X $cc $optimize $ccflags -o try $ldflags try.c $libs
 shift
@@ -4329,11 +4342,13 @@ echo "Your cpp writes the filename in the $pos field of the line."
 $cat >findhdr <<EOF
 $startsh
 wanted=\$1
-name=''
-if test -f $usrinc/\$wanted; then
-       echo "$usrinc/\$wanted"
-       exit 0
-fi
+for usrincdir in $usrinc
+do
+       if test -f \$usrincdir/\$wanted; then
+               echo "\$usrincdir/\$wanted"
+               exit 0
+       fi
+done
 awkprg='{ print \$$fieldn }'
 echo "#include <\$wanted>" > foo\$\$.c
 $cppstdin $cppminus $cppflags < foo\$\$.c 2>/dev/null | \
@@ -4341,7 +4356,7 @@ $grep "^[         ]*#.*\$wanted" | \
 while read cline; do
        name=\`echo \$cline | $awk "\$awkprg" | $tr -d '"'\`
        case "\$name" in
-       */\$wanted) echo "\$name"; exit 0;;
+       *[/\\\\]\$wanted) echo "\$name"; exit 0;;
        *) name='';;
        esac;
 done;
@@ -5309,24 +5324,12 @@ EOM
                useshrplib='true'
                # Why does next4 have to be so different?
                case "${osname}${osvers}" in
-               next4*) xxx='DYLD_LIBRARY_PATH' ;;
+               next4*|rhapsody*)
+                       xxx='DYLD_LIBRARY_PATH' ;;
                os2*)   xxx='' ;; # Nothing special needed.
                beos*)  xxx='' ;;
                *)              xxx='LD_LIBRARY_PATH' ;;
                esac
-               if test X"$xxx" != "X"; then
-                       $cat <<EOM  | $tee -a ../config.msg >&4
-
-To build perl, you must add the current working directory to your
-$xxx environment variable before running make.  You can do
-this with
-   $xxx=\`pwd\`:\$$xxx; export $xxx
-for Bourne-style shells, or
-   setenv $xxx \`pwd\`
-for Csh-style shells.  You *MUST* do this before running make.
-
-EOM
-               fi
                ;;
        *)      useshrplib='false' ;;
        esac
@@ -5447,6 +5450,10 @@ if "$useshrplib"; then
        beos)
                # beos doesn't like the default, either.
                ;;
+       hpux*)
+               # hpux doesn't like the default, either.
+               tmp_shrpenv="env LDOPTS=\"+s +b${shrpdir}\""
+               ;;
        *)
                tmp_shrpenv="env LD_RUN_PATH=$shrpdir"
                ;;
@@ -6146,8 +6153,8 @@ $cat <<EOM
 
 The installation process will also create a directory for
 site-specific extensions and modules.  Some users find it convenient
-to place all local files in this directory rather than in the main
-distribution directory.
+to place all site-specific files in this directory rather than in the
+main distribution directory.
 
 EOM
 fn=d~+
@@ -6871,7 +6878,7 @@ while $test $# -ge 2; do
     shift 2;
 done > try.c;
 echo "int main () { struct $struct foo; foo.$field = 0; }" >> try.c;
-if eval $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then
+if $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then
        val="$define";
 else
        val="$undef";
@@ -7237,6 +7244,10 @@ if $test X"$use64bits" = X"$define"; then
        set lockf64 d_lockf64
        eval $inlibc
 
+       : see if llseek exists
+       set llseek d_llseek
+       eval $inlibc
+
        : see if lseek64 exists
        set lseek64 d_lseek64
        eval $inlibc
@@ -7278,6 +7289,7 @@ if $test X"$use64bits" = X"$define"; then
        echo $n "Checking to see if your system supports off64_t...$c" >&4
        $cat >try.c <<EOCP
 #include <sys/types.h>
+#include <unistd.h>
 off64_t foo() { off64_t x; x = 7; return x; }'
 EOCP
        if $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then
@@ -7288,7 +7300,26 @@ EOCP
                echo " Nope, it doesn't." >&4
        fi
        $rm -f try.*
-       set d_off64t
+       set d_off64_t
+       eval $setvar
+
+       : check for offset_t
+       echo " "
+       echo $n "Checking to see if your system supports offset_t...$c" >&4
+       $cat >try.c <<EOCP
+#include <sys/types.h>
+#include <unistd.h>
+offset_t foo() { offset_t x; x = 7; return x; }'
+EOCP
+       if $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then
+               val="$define"
+               echo " Yup, it does." >&4
+       else
+               val="$undef"
+               echo " Nope, it doesn't." >&4
+       fi
+       $rm -f try.*
+       set d_offset_t
        eval $setvar
 
        : check for ino64_t
@@ -7313,7 +7344,7 @@ EOCP
        else
                echo " Nope, it doesn't." >&4
        fi
-       set d_ino64t
+       set d_ino64_t
        eval $setvar
 
        : check for struct flock64
@@ -7348,7 +7379,7 @@ EOCP
 
 else
        val="$undef"
-       for xxx in d_fstat64 d_ftruncate64 d_lockf64 d_lseek64 d_lstat64 d_open64 d_opendir64 d_readdir64 d_seekdir64 d_stat64 d_telldir64 d_truncate64 d_off64t d_ino64t d_flock64_s d_dirent64_s
+       for xxx in d_fstat64 d_ftruncate64 d_lockf64 d_lseek64 d_lstat64 d_open64 d_opendir64 d_readdir64 d_seekdir64 d_stat64 d_telldir64 d_truncate64 d_off64_t d_offset_t d_ino64_t d_flock64_s d_dirent64_s
        do
                set $xxx
                eval $setvar
@@ -7977,7 +8008,6 @@ else
                eval $setvar
        done
 fi
-
 : see if flock exists
 set flock d_flock
 eval $inlibc
@@ -8055,13 +8085,13 @@ eval $inlibc
 
 : see how we will look up host name
 echo " "
-if false; then
-       : dummy stub to allow use of elif
-elif set gethostname val -f d_gethname; eval $csym; $val; then
+call=''
+if set gethostname val -f d_gethname; eval $csym; $val; then
        echo 'gethostname() found.' >&4
        d_gethname="$define"
        call=gethostname
-elif set uname val -f d_uname; eval $csym; $val; then
+fi
+if set uname val -f d_uname; eval $csym; $val; then
        if ./xenix; then
                $cat <<'EOM'
 uname() was found, but you're running xenix, and older versions of xenix
@@ -8081,7 +8111,9 @@ EOM
        else
                echo 'uname() found.' >&4
                d_uname="$define"
-               call=uname
+               case "$call" in
+               '') call=uname ;;
+               esac
        fi
 fi
 case "$d_gethname" in
@@ -8765,8 +8797,18 @@ eval $inlibc
 set nice d_nice
 eval $inlibc
 
-: how to create joinable pthreads
+: see if POSIX threads are available
 if test "X$usethreads" = "X$define"; then
+       set pthread.h i_pthread
+       eval $inhdr
+else
+       i_pthread="$undef"
+fi
+
+
+
+: how to create joinable pthreads
+if test "X$usethreads" = "X$define" -a "X$i_pthread" = "X$define"; then
        echo " "
        echo "Checking what constant to use for creating joinable pthreads..." >&4 
        $cat >try.c <<'EOCP'
@@ -10139,7 +10181,16 @@ $define)
        false) dflt='n';;
        *) dflt='y';;
        esac
-       rp="Some systems have problems with vfork().  Do you want to use it?"
+       cat <<'EOM'
+Perl can only use a vfork() that doesn't suffer from strict
+restrictions on calling functions or modifying global data in
+the child.  For example, glibc-2.1 contains such a vfork()
+that is unsuitable.  If your system provides a proper fork()
+call, chances are that you do NOT want perl to use vfork().
+
+EOM
+       rp="Do you still want to use vfork()?"
        . ./myread
        case "$ans" in
        y|Y) ;;
@@ -10281,41 +10332,77 @@ Log='$Log'
 RCSfile='$RCSfile'
 Revision='$Revision'
 
+case "$crosscompile" in
+''|[nN]*) crosscompile="$undef" ;;
+esac
+
+case "$osname" in
+next|rhapsody) multiarch="$define" ;;
+esac
+case "$multiarch" in
+''|[nN]*) multiarch="$undef" ;;
+esac
+
 : check for alignment requirements
 echo " "
-case "$alignbytes" in
-'') echo "Checking alignment constraints..." >&4
-       $cat >try.c <<'EOCP'
+case "$crosscompile$multiarch" in
+*$define*)
+       $cat <<EOM
+You seem to be either cross-compiling or doing a multiarchitecture build,
+skipping the memory alignment check.
+
+EOM
+       case "$alignbytes" in
+       '') alignbytes=8 ;;
+       esac
+       ;;
+*)
+       case "$alignbytes" in
+       '') echo "Checking alignment constraints..." >&4
+               $cat >try.c <<'EOCP'
 struct foobar {
        char foo;
        double bar;
-} try;
+} try_algn;
 int main()
 {
-       printf("%d\n", (char *)&try.bar - (char *)&try.foo);
+       printf("%d\n", (char *)&try_algn.bar - (char *)&try_algn.foo);
 }
 EOCP
-       set try
-       if eval $compile_ok; then
-               dflt=`./try`
-       else
-               dflt='8'
-               echo "(I can't seem to compile the test program...)"
-       fi
-       ;;
-*) dflt="$alignbytes"
+               set try
+               if eval $compile_ok; then
+                       dflt=`./try`
+               else
+                       dflt='8'
+                       echo "(I can't seem to compile the test program...)"
+               fi
+               ;;
+       *) dflt="$alignbytes"
+               ;;
+       esac
+       rp="Doubles must be aligned on a how-many-byte boundary?"
+       . ./myread
+       alignbytes="$ans"
+       $rm -f try.c try
        ;;
 esac
-rp="Doubles must be aligned on a how-many-byte boundary?"
-. ./myread
-alignbytes="$ans"
-$rm -f try.c try
+
 
 : check for ordering of bytes in a long
-case "$byteorder" in
-'')
-       $cat <<'EOM'
-  
+echo " "
+case "$crosscompile$multiarch" in
+*$define*)
+       $cat <<EOM
+You seem to be either cross-compiling or doing a multiarchitecture build,
+skipping the byteorder check.
+
+EOM
+       byteorder=''
+       ;;
+*)
+       case "$byteorder" in
+       '')
+               $cat <<'EOM'
 In the following, larger digits indicate more significance.  A big-endian
 machine like a Pyramid or a Motorola 680?0 chip will come out to 4321. A
 little-endian machine like a Vax or an Intel 80?86 chip would be 1234. Other
@@ -10323,7 +10410,7 @@ machines may have weird orders like 3412.  A Cray will report 87654321. If
 the test program works the default is probably right.
 I'm now running the test program...
 EOM
-       $cat >try.c <<'EOCP'
+               $cat >try.c <<'EOCP'
 #include <stdio.h>
 int main()
 {
@@ -10343,37 +10430,40 @@ int main()
        exit(0);
 }
 EOCP
-       xxx_prompt=y
-       set try
-       if eval $compile && ./try > /dev/null; then
-               dflt=`./try`
-               case "$dflt" in
-               [1-4][1-4][1-4][1-4]|12345678|87654321)
-                       echo "(The test program ran ok.)"
-                       echo "byteorder=$dflt"
-                       xxx_prompt=n
+               xxx_prompt=y
+               set try
+               if eval $compile && ./try > /dev/null; then
+                       dflt=`./try`
+                       case "$dflt" in
+                       [1-4][1-4][1-4][1-4]|12345678|87654321)
+                               echo "(The test program ran ok.)"
+                               echo "byteorder=$dflt"
+                               xxx_prompt=n
                        ;;
-               ????|????????) echo "(The test program ran ok.)" ;;
-               *) echo "(The test program didn't run right for some reason.)" ;;
-               esac
-       else
-               dflt='4321'
-               cat <<'EOM'
+                       ????|????????) echo "(The test program ran ok.)" ;;
+                       *) echo "(The test program didn't run right for some reason.)" ;;
+                       esac
+               else
+                       dflt='4321'
+                       cat <<'EOM'
 (I can't seem to compile the test program.  Guessing big-endian...)
 EOM
-       fi
-       case "$xxx_prompt" in
-       y)
-               rp="What is the order of bytes in a long?"
-               . ./myread
-               byteorder="$ans"
-               ;;
-       *)      byteorder=$dflt
+               fi
+               case "$xxx_prompt" in
+               y)
+                       rp="What is the order of bytes in a long?"
+                       . ./myread
+                       byteorder="$ans"
+                       ;;
+               *)      byteorder=$dflt
+                       ;;
+               esac
                ;;
        esac
+       $rm -f try.c try
        ;;
 esac
-$rm -f try.c try
+
 
 : how do we catenate cpp tokens here?
 echo " "
@@ -11369,6 +11459,8 @@ esac
 
 : Trace out the files included by signal.h, then look for SIGxxx names.
 : Remove SIGARRAYSIZE used by HPUX.
+: Remove SIGSTKSIZE used by Linux.
+: Remove SIGSTKSZ used by Posix.
 : Remove SIGTYP void lines used by OS2.
 xxx=`echo '#include <signal.h>' |
        $cppstdin $cppminus $cppflags 2>/dev/null |
@@ -11386,7 +11478,7 @@ case "$xxxfiles" in
 '')    xxxfiles=`./findhdr signal.h` ;;
 esac
 xxx=`awk '
-$1 ~ /^#define$/ && $2 ~ /^SIG[A-Z0-9]*$/ && $2 !~ /SIGARRAYSIZE/ && $3 !~ /void/ {
+$1 ~ /^#define$/ && $2 ~ /^SIG[A-Z0-9]*$/ && $2 !~ /SIGARRAYSIZE/ && $2 !~ /SIGSTKSIZE/ && $2 !~ /SIGSTKSZ/ && $3 !~ /void/ {
        print substr($2, 4, 20)
 }
 $1 == "#" && $2 ~ /^define$/ && $3 ~ /^SIG[A-Z0-9]*$/ && $3 !~ /SIGARRAYSIZE/ && $4 !~ /void/ {
@@ -11486,20 +11578,22 @@ $1 ~ /^NSIG$/ { nsig = $2 }
        sig_name[$2] = $1
        sig_num[$2] = $2
     }
-
 }
 END { 
-    if (nsig == 0) { nsig = maxsig + 1 }
-       for (n = 1; n < nsig; n++) {
-               if (sig_name[n]) {
-                       printf("%s %d\n", sig_name[n], sig_num[n])
-               }
-               else {
-                       printf("NUM%d %d\n", n, n) 
-               }
+    if (nsig == 0) {
+       nsig = maxsig + 1
+    }
+    printf("NSIG %d\n", nsig);
+    for (n = 1; n < nsig; n++) {
+       if (sig_name[n]) {
+           printf("%s %d\n", sig_name[n], sig_num[n])
        }
+       else {
+           printf("NUM%d %d\n", n, n) 
+       }
+    }
     for (n = 0; n < ndups; n++) {
-               printf("%s %d\n", dup_name[n], dup_num[n])
+       printf("%s %d\n", dup_name[n], dup_num[n])
     }
 }
 EOP
@@ -11565,7 +11659,8 @@ else
        0) set HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM;;
        esac
        echo $@ | $tr ' ' $trnl | \
-               $awk '{ printf $1; printf " %d\n", ++s; }' >signal.lst
+           $awk '{ printf "%s %d\n", $1, ++s; }
+                 END { printf "NSIG %d\n", ++s }' >signal.lst
 fi
 $rm -f signal.c signal$_exe signal$_o signal.nsg signal.ls1
 EOS
@@ -11584,19 +11679,20 @@ case "$doinit" in
 yes)
        echo "Generating a list of signal names and numbers..." >&4
        . ./signal_cmd
-       sig_name=`$awk '{printf "%s ", $1}' signal.lst`
-       sig_name="ZERO $sig_name"
-       sig_name_init=`$awk 'BEGIN { printf "\"ZERO\", " }
-                                               { printf "\"%s\", ", $1 }
-                                               END { printf "0\n" }' signal.lst`
-       sig_num=`$awk '{printf "%d ", $2}' signal.lst`
-       sig_num="0 $sig_num"
-       sig_num_init=`$awk 'BEGIN { printf "0, " }
-                                       { printf "%d, ", $2}
-                                       END { printf "0\n"}' signal.lst`
-       ;;
-esac
-echo "The following signals are available:"
+       sig_count=`$awk '/^NSIG/ { printf "%d", $2 }' signal.lst`
+       sig_name=`$awk 'BEGIN { printf "ZERO " }
+                       !/^NSIG/ { printf "%s ", $1 }' signal.lst`
+       sig_num=`$awk  'BEGIN { printf "0 " }
+                       !/^NSIG/ { printf "%d ", $2 }' signal.lst`
+       sig_name_init=`$awk 'BEGIN      { printf "\"ZERO\", " }
+                            !/^NSIG/   { printf "\"%s\", ", $1 }
+                            END        { printf "0\n" }' signal.lst`
+       sig_num_init=`$awk  'BEGIN      { printf "0, " }
+                            !/^NSIG/   { printf "%d, ", $2}
+                            END        { printf "0\n"}' signal.lst`
+       ;;
+esac
+echo "The following $sig_count signals are available:"
 echo " "
 echo $sig_name | $awk \
 'BEGIN { linelen = 0 }
@@ -11917,12 +12013,16 @@ $eunicefix Cppsym
 ./Cppsym -l $al | $sort | $grep -v '^$' >Cppsym.true
 
 : now check the C compiler for additional symbols
+postprocess_cc_v=''
+case "$osname" in
+aix) postprocess_cc_v="|$tr , ' '" ;;
+esac
 $cat >ccsym <<EOS
 $startsh
 $cat >tmp.c <<EOF
 extern int foo;
 EOF
-for i in \`$cc -v -c tmp.c 2>&1\`
+for i in \`$cc -v -c tmp.c 2>&1 $postprocess_cc_v\`
 do
        case "\$i" in
        -D*) echo "\$i" | $sed 's/^-D//';;
@@ -11931,6 +12031,7 @@ do
 done
 $rm -f try.c
 EOS
+postprocess_cc_v=''
 chmod +x ccsym
 $eunicefix ccsym
 ./ccsym > ccsym1.raw
@@ -12587,6 +12688,7 @@ cppminus='$cppminus'
 cpprun='$cpprun'
 cppstdin='$cppstdin'
 cppsymbols='$cppsymbols'
+crosscompile='$crosscompile'
 cryptlib='$cryptlib'
 csh='$csh'
 d_Gconvert='$d_Gconvert'
@@ -12699,13 +12801,14 @@ d_hasmntopt='$d_hasmntopt'
 d_htonl='$d_htonl'
 d_index='$d_index'
 d_inetaton='$d_inetaton'
-d_ino64t='$d_ino64t'
+d_ino64_t='$d_ino64_t'
 d_int64t='$d_int64t'
 d_iovec_s='$d_iovec_s'
 d_isascii='$d_isascii'
 d_killpg='$d_killpg'
 d_lchown='$d_lchown'
 d_link='$d_link'
+d_llseek='$d_llseek'
 d_locconv='$d_locconv'
 d_lockf64='$d_lockf64'
 d_lockf='$d_lockf'
@@ -12743,7 +12846,8 @@ d_munmap='$d_munmap'
 d_mymalloc='$d_mymalloc'
 d_nextkey64='$d_nextkey64'
 d_nice='$d_nice'
-d_off64t='$d_off64t'
+d_off64_t='$d_off64_t'
+d_offset_t='$d_offset_t'
 d_old_pthread_create_joinable='$d_old_pthread_create_joinable'
 d_oldpthreads='$d_oldpthreads'
 d_oldsock='$d_oldsock'
@@ -12937,6 +13041,7 @@ i_netdb='$i_netdb'
 i_neterrno='$i_neterrno'
 i_niin='$i_niin'
 i_poll='$i_poll'
+i_pthread='$i_pthread'
 i_pwd='$i_pwd'
 i_rpcsvcdbm='$i_rpcsvcdbm'
 i_sfio='$i_sfio'
@@ -13039,6 +13144,7 @@ mmaptype='$mmaptype'
 models='$models'
 modetype='$modetype'
 more='$more'
+multiarch='$multiarch'
 mv='$mv'
 myarchname='$myarchname'
 mydomain='$mydomain'
@@ -13104,6 +13210,7 @@ shmattype='$shmattype'
 shortsize='$shortsize'
 shrpenv='$shrpenv'
 shsharp='$shsharp'
+sig_count='$sig_count'
 sig_name='$sig_name'
 sig_name_init='$sig_name_init'
 sig_num='$sig_num'
@@ -13181,7 +13288,7 @@ $test -f UU/cmdline.opt && $cat UU/cmdline.opt >> config.sh
 : add special variables
 $test -f $src/patchlevel.h && \
 awk '/^#define[        ]+PERL_/ {printf "%s=%s\n",$2,$3}' $src/patchlevel.h >>config.sh
-echo "CONFIG=true" >>config.sh
+echo "CONFIGDOTSH=true" >>config.sh
 
 : propagate old symbols
 if $test -f UU/config.sh; then