Use fork if available.
[p5sagit/p5-mst-13.2.git] / Configure
index 432398c..5965514 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
 
 # $Id: Head.U,v 3.0.1.8 1995/07/25 13:40:02 ram Exp $
 #
-# Generated on Mon Nov 20 09:55:37 EST 1995 [metaconfig 3.0 PL58]
+# Generated on Thu Jan  4 11:13:27 EST 1996 [metaconfig 3.0 PL60]
 
 cat >/tmp/c1$$ <<EOF
 ARGGGHHHH!!!!!
@@ -120,6 +120,7 @@ extensions=''
 known_extensions=''
 static_ext=''
 useposix=''
+usesafe=''
 d_bsd=''
 d_eunice=''
 d_xenix=''
@@ -361,6 +362,10 @@ shmattype=''
 d_shmctl=''
 d_shmdt=''
 d_shmget=''
+d_sigaction=''
+d_sigintrp=''
+d_sigvec=''
+d_sigvectr=''
 d_oldsock=''
 d_socket=''
 d_sockpair=''
@@ -469,6 +474,7 @@ i_sysselct=''
 i_sysstat=''
 i_systimes=''
 i_systypes=''
+i_sysun=''
 i_sgtty=''
 i_termio=''
 i_termios=''
@@ -532,6 +538,7 @@ orderlib=''
 ranlib=''
 package=''
 spackage=''
+pager=''
 patchlevel=''
 perladmin=''
 perlpath=''
@@ -551,6 +558,9 @@ sig_num=''
 installsitearch=''
 sitearch=''
 sitearchexp=''
+installsitelib=''
+sitelib=''
+sitelibexp=''
 sizetype=''
 so=''
 sharpbang=''
@@ -658,7 +668,14 @@ i_whoami=''
 libswanted=''
 : set useposix=false in your hint file to disable the POSIX extension.
 useposix=true
+: set usesafe=false in your hint if you want to skip the Safe extension.
+usesafe=true
+: Define several unixisms.  These can be overridden in hint files.
+exe_ext='' 
+: Extra object files, if any, needed on this platform.
+archobjs=''
 : 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"
 locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include"
 :
@@ -855,7 +872,7 @@ while test $# -gt 0; do
                esac
                shift
                ;;
-       -V) echo "$me generated by metaconfig 3.0 PL58." >&2
+       -V) echo "$me generated by metaconfig 3.0 PL60." >&2
                exit 0;;
        --) break;;
        -*) echo "$me: unknown option $1" >&2; shift; error=true;;
@@ -1303,7 +1320,7 @@ for dir in \$*; do
        for thisthing in \$dir/\$thing; do
                : just loop through to pick last item
        done
-       if test -f \$thisthing -a -r \$thisthing; then
+       if test -f \$thisthing; then
                echo \$thisthing
                exit 0
        elif test -f \$dir/\$thing.exe; then
@@ -1334,7 +1351,6 @@ mkdir
 rm
 sed
 sort
-tail
 touch
 tr
 uniq
@@ -1346,9 +1362,12 @@ cpp
 csh
 date
 egrep
+less
 line
+more
 nroff
 perl
+pg
 test
 uname
 "
@@ -1366,8 +1385,8 @@ for file in $loclist; do
                echo $file is in $xxx.
                ;;
        *)
-               echo "I don't know where '$file' is, and my life depends on it."
-               echo "Go find a public domain implementation or fix your PATH setting!"
+               echo "I don't know where '$file' is, and my life depends on it." >&4
+               echo "Go find a public domain implementation or fix your PATH setting!" >&4
                exit 1
                ;;
        esac
@@ -2352,10 +2371,58 @@ else
        d_archlib="$define"
 fi
 
-: determine where site specific architecture-dependent libraries go.
+: determine where site specific libraries go.
+set sitelib sitelib
+eval $prefixit
+case "$sitelib" in
+'')    dflt="$privlib/site_perl" ;;
+*)     dflt="$sitelib" ;;
+esac
+$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.
+
+EOM
+fn=d~+
+rp='Pathname for the site-specific library files?'
+. ./getfile
+if $test "X$sitelibexp" != "X$ansexp"; then
+       installsitelib=''
+fi
+sitelib="$ans"
+sitelibexp="$ansexp"
+if $afs; then
+       $cat <<EOM
+
+Since you are running AFS, I need to distinguish the directory in which
+private files reside from the directory in which they are installed (and from
+which they are presumably copied to the former directory by occult means).
+
+EOM
+       case "$installsitelib" in
+       '') dflt=`echo $sitelibexp | sed 's#^/afs/#/afs/.#'`;;
+       *) dflt="$installsitelib";;
+       esac
+       fn=de~
+       rp='Where will private files be installed?'
+       . ./getfile
+       installsitelib="$ans"
+else
+       installsitelib="$sitelibexp"
+fi
 
-set dflt sitearch lib/site_perl/$archname
+: determine where site specific architecture-dependent libraries go.
+xxx=`echo $sitelib/$archname | sed 's!^$prefix!!'`
+: xxx is usuually lib/site_perl/archname.
+set sitearch sitearch none
 eval $prefixit
+case "$sitearch" in
+'')    dflt="$sitelib/$archname" ;;
+*)     dflt="$sitearch" ;;
+esac
 $cat <<EOM
 
 The installation process will also create a directory for
@@ -2520,23 +2587,28 @@ nroff)
 esac
 echo "If you don't want the manual sources installed, answer 'none'."
 case "$man1dir" in
+' ') dflt=none
+       ;;
 '')
-       lookpath="$prefixexp/man/man1 $prefixexp/man/u_man/man1"
-       lookpath="$lookpath $prefixexp/man/l_man/man1"
-       lookpath="$lookpath /usr/local/man/man1 /opt/man/man1 /usr/man/manl"
-       lookpath="$lookpath /usr/man/local/man1 /usr/man/l_man/man1"
-       lookpath="$lookpath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1"
-       lookpath="$lookpath /usr/man/man.L"
-       man1dir=`./loc . $prefixexp/man/man1 $lookpath`
-       if $test -d "$man1dir"; then
-               dflt="$man1dir"
-       else
-               dflt="$sysman"
-       fi
+       lookpath="$prefixexp/man/man1 $prefixexp/man/l_man/man1"
+       lookpath="$lookpath $prefixexp/man/p_man/man1"
+       lookpath="$lookpath $prefixexp/man/u_man/man1"
+       lookpath="$lookpath $prefixexp/man/man.1"
+       : If prefix contains 'perl' then we want to keep the man pages
+       : under the prefix directory.  Otherwise, look in a variety of
+       : other possible places.  This is debatable, but probably a
+       : good compromise.  Well, apparently not.
+       : Experience has shown people expect man1dir to be under prefix,
+       : so we now always put it there.  Users who want other behavior
+       : can answer interactively or use a command line option.
+       : Does user have System V-style man paths.
+       case "$sysman" in
+       */?_man*)       dflt=`./loc . $prefixexp/l_man/man1 $lookpath` ;;
+       *)      dflt=`./loc . $prefixexp/man/man1 $lookpath` ;;
+       esac
        set dflt
        eval $prefixup
        ;;
-' ') dflt=none;;
 *)  dflt="$man1dir"
        ;;
 esac
@@ -2544,7 +2616,7 @@ echo " "
 fn=dn+~
 rp="Where do the main $spackage manual pages (source) go?"
 . ./getfile
-if test "X$man1direxp" != "X$ansexp"; then
+if $test "X$man1direxp" != "X$ansexp"; then
        installman1dir=''
 fi
 man1dir="$ans"
@@ -2581,18 +2653,22 @@ case "$man1dir" in
        ;;
 *)
        rp="What suffix should be used for the main $spackage man pages?"
-       case "$man1dir" in
-       *1)  dflt=1 ;;
-       *1p) dflt=1p ;;
-       *1pm) dflt=1pm ;;
-       *l) dflt=l;;
-       *n) dflt=n;;
-       *o) dflt=o;;
-       *p) dflt=p;;
-       *C) dflt=C;;
-       *L) dflt=L;;
-       *L1) dflt=L1;;
-       *) dflt=1;;
+       case "$man1ext" in
+       '')     case "$man1dir" in
+               *1)  dflt=1 ;;
+               *1p) dflt=1p ;;
+               *1pm) dflt=1pm ;;
+               *l) dflt=l;;
+               *n) dflt=n;;
+               *o) dflt=o;;
+               *p) dflt=p;;
+               *C) dflt=C;;
+               *L) dflt=L;;
+               *L1) dflt=L1;;
+               *) dflt=1;;
+               esac
+               ;;
+       *)      dflt="$man1ext";;
        esac
        . ./myread
        man1ext="$ans"
@@ -2680,7 +2756,8 @@ echo "If you don't want the manual sources installed, answer 'none'."
 : However, something like /opt/perl/man/man3 is fine.
 case "$man3dir" in
 '')    case "$prefix" in 
-       *perl*) dflt=`echo $man1dir | $sed 's/man1/man3/g'` ;;
+       *perl*) dflt=`echo $man1dir | 
+                       $sed -e 's/man1/man3/g' -e 's/man\.1/man\.3/g'` ;;
        *)      dflt="$privlib/man/man3" ;;
        esac
        ;;
@@ -2730,110 +2807,107 @@ case "$man3dir" in
        ;;
 *)
        rp="What suffix should be used for the $spackage library man pages?"
-       case "$man3dir" in
-       *3)  dflt=3 ;;
-       *3p) dflt=3p ;;
-       *3pm) dflt=3pm ;;
-       *l) dflt=l;;
-       *n) dflt=n;;
-       *o) dflt=o;;
-       *p) dflt=p;;
-       *C) dflt=C;;
-       *L) dflt=L;;
-       *L3) dflt=L3;;
-       *) dflt=3;;
+       case "$man3ext" in
+       '')     case "$man3dir" in
+               *3)  dflt=3 ;;
+               *3p) dflt=3p ;;
+               *3pm) dflt=3pm ;;
+               *l) dflt=l;;
+               *n) dflt=n;;
+               *o) dflt=o;;
+               *p) dflt=p;;
+               *C) dflt=C;;
+               *L) dflt=L;;
+               *L3) dflt=L3;;
+               *) dflt=3;;
+               esac
+               ;;
+       *)      dflt="$man3ext";;
        esac
        . ./myread
        man3ext="$ans"
        ;;
 esac
 
-: determine where public executable scripts go
-set scriptdir scriptdir
-eval $prefixit
-case "$scriptdir" in
-'')
-       dflt="$bin"
-       : guess some guesses
-       $test -d /usr/share/scripts && dflt=/usr/share/scripts
-       $test -d /usr/share/bin && dflt=/usr/share/bin
-       $test -d /usr/local/script && dflt=/usr/local/script
-       $test -d $prefixexp/script && dflt=$prefixexp/script
-       set dflt
-       eval $prefixup
+: make some quick guesses about what we are up against
+echo " "
+$echo $n "Hmm...  $c"
+echo exit 1 >bsd
+echo exit 1 >usg
+echo exit 1 >v7
+echo exit 1 >osf1
+echo exit 1 >eunice
+echo exit 1 >xenix
+echo exit 1 >venix
+d_bsd="$undef"
+$cat /usr/include/signal.h /usr/include/sys/signal.h >foo 2>/dev/null
+if test -f /osf_boot || $contains 'OSF/1' /usr/include/ctype.h >/dev/null 2>&1
+then
+       echo "Looks kind of like an OSF/1 system, but we'll see..."
+       echo exit 0 >osf1
+elif test `echo abc | tr a-z A-Z` = Abc ; then
+       xxx=`./loc addbib blurfl $pth`
+       if $test -f $xxx; then
+       echo "Looks kind of like a USG system with BSD features, but we'll see..."
+               echo exit 0 >bsd
+               echo exit 0 >usg
+       else
+               if $contains SIGTSTP foo >/dev/null 2>&1 ; then
+                       echo "Looks kind of like an extended USG system, but we'll see..."
+               else
+                       echo "Looks kind of like a USG system, but we'll see..."
+               fi
+               echo exit 0 >usg
+       fi
+elif $contains SIGTSTP foo >/dev/null 2>&1 ; then
+       echo "Looks kind of like a BSD system, but we'll see..."
+       d_bsd="$define"
+       echo exit 0 >bsd
+else
+       echo "Looks kind of like a Version 7 system, but we'll see..."
+       echo exit 0 >v7
+fi
+case "$eunicefix" in
+*unixtovms*)
+       $cat <<'EOI'
+There is, however, a strange, musty smell in the air that reminds me of
+something...hmm...yes...I've got it...there's a VMS nearby, or I'm a Blit.
+EOI
+       echo exit 0 >eunice
+       d_eunice="$define"
+: it so happens the Eunice I know will not run shell scripts in Unix format
        ;;
-*)  dflt="$scriptdir"
+*)
+       echo " "
+       echo "Congratulations.  You aren't running Eunice."
+       d_eunice="$undef"
        ;;
 esac
-$cat <<EOM
-Some installations have a separate directory just for executable scripts so
-that they can mount it across multiple architectures but keep the scripts in
-one spot.  You might, for example, have a subdirectory of /usr/share for this.
-Or you might just lump your scripts in with all your other executables.
-EOM
-fn=d~
-rp='Where do you keep publicly executable scripts?'
-. ./getfile
-if $test "X$ansexp" != "X$scriptdirexp"; then
-       installscript=''
+if test -f /xenix; then
+       echo "Actually, this looks more like a XENIX system..."
+       echo exit 0 >xenix
+       d_xenix="$define"
+else
+       echo " "
+       echo "It's not Xenix..."
+       d_xenix="$undef"
 fi
-scriptdir="$ans"
-scriptdirexp="$ansexp"
-if $afs; then
-       $cat <<EOM
-
-Since you are running AFS, I need to distinguish the directory in which
-scripts reside from the directory in which they are installed (and from
-which they are presumably copied to the former directory by occult means).
-
-EOM
-       case "$installscript" in
-       '') dflt=`echo $scriptdirexp | sed 's#^/afs/#/afs/.#'`;;
-       *) dflt="$installscript";;
-       esac
-       fn=de~
-       rp='Where will public scripts be installed?'
-       . ./getfile
-       installscript="$ans"
+chmod +x xenix
+$eunicefix xenix
+if test -f /venix; then
+       echo "Actually, this looks more like a VENIX system..."
+       echo exit 0 >venix
 else
-       installscript="$scriptdirexp"
+       echo " "
+       if ./xenix; then
+               : null
+       else
+               echo "Nor is it Venix..."
+       fi
 fi
-
-: determine perl absolute location
-case "$perlpath" in
-'')    perlpath=$binexp/perl ;;
-esac
-
-: figure out how to guarantee perl startup
-case "$startperl" in
-'')
-       case "$sharpbang" in
-       *!)
-               $cat <<EOH
-
-I can use the #! construct to start perl on your system. This will
-make startup of perl scripts faster, but may cause problems if you
-want to share those scripts and perl is not in a standard place
-($perlpath) on all your platforms. The alternative is to force
-a shell by starting the script with a single ':' character.
-
-EOH
-               dflt=y
-               rp='Shall I use #! to start up perl?'
-               . ./myread
-               case "$ans" in
-               y*|Y*) startperl="#!$perlpath";;
-               *) startperl=": # use perl";;
-               esac
-               ;;
-       *) startperl=": # use perl"
-               ;;
-       esac
-       ;;
-esac
-echo "I'll use $startperl to start perl scripts."
+chmod +x bsd usg v7 osf1 eunice xenix venix
+$eunicefix bsd usg v7 osf1 eunice xenix venix
+$rm -f foo
 
 : see what memory models we can support
 case "$models" in
@@ -2978,119 +3052,39 @@ none)
        ;;
 esac
 
-: make some quick guesses about what we are up against
+: see if we need a special compiler
 echo " "
-$echo $n "Hmm...  $c"
-echo exit 1 >bsd
-echo exit 1 >usg
-echo exit 1 >v7
-echo exit 1 >osf1
-echo exit 1 >eunice
-echo exit 1 >xenix
-echo exit 1 >venix
-d_bsd="$undef"
-$cat /usr/include/signal.h /usr/include/sys/signal.h >foo 2>/dev/null
-if test -f /osf_boot || $contains 'OSF/1' /usr/include/ctype.h >/dev/null 2>&1
-then
-       echo "Looks kind of like an OSF/1 system, but we'll see..."
-       echo exit 0 >osf1
-elif test `echo abc | tr a-z A-Z` = Abc ; then
-       xxx=`./loc addbib blurfl $pth`
-       if $test -f $xxx; then
-       echo "Looks kind of like a USG system with BSD features, but we'll see..."
-               echo exit 0 >bsd
-               echo exit 0 >usg
-       else
-               if $contains SIGTSTP foo >/dev/null 2>&1 ; then
-                       echo "Looks kind of like an extended USG system, but we'll see..."
-               else
-                       echo "Looks kind of like a USG system, but we'll see..."
-               fi
-               echo exit 0 >usg
-       fi
-elif $contains SIGTSTP foo >/dev/null 2>&1 ; then
-       echo "Looks kind of like a BSD system, but we'll see..."
-       d_bsd="$define"
-       echo exit 0 >bsd
-else
-       echo "Looks kind of like a Version 7 system, but we'll see..."
-       echo exit 0 >v7
-fi
-case "$eunicefix" in
-*unixtovms*)
-       $cat <<'EOI'
-There is, however, a strange, musty smell in the air that reminds me of
-something...hmm...yes...I've got it...there's a VMS nearby, or I'm a Blit.
-EOI
-       echo exit 0 >eunice
-       d_eunice="$define"
-: it so happens the Eunice I know will not run shell scripts in Unix format
-       ;;
-*)
-       echo " "
-       echo "Congratulations.  You aren't running Eunice."
-       d_eunice="$undef"
-       ;;
-esac
-if test -f /xenix; then
-       echo "Actually, this looks more like a XENIX system..."
-       echo exit 0 >xenix
-       d_xenix="$define"
-else
-       echo " "
-       echo "It's not Xenix..."
-       d_xenix="$undef"
-fi
-chmod +x xenix
-$eunicefix xenix
-if test -f /venix; then
-       echo "Actually, this looks more like a VENIX system..."
-       echo exit 0 >venix
-else
-       echo " "
-       if ./xenix; then
-               : null
-       else
-               echo "Nor is it Venix..."
-       fi
-fi
-chmod +x bsd usg v7 osf1 eunice xenix venix
-$eunicefix bsd usg v7 osf1 eunice xenix venix
-$rm -f foo
-
-: see if we need a special compiler
-echo " "
-if ./usg; then
-       case "$cc" in
-       '') case "$Mcc" in
-               /*) dflt='Mcc';;
-               *) case "$large" in
-                       -M*) dflt='cc';;
-                       *)      if $contains '\-M' $sysman/cc.1 >/dev/null 2>&1 ; then
-                                       if $contains '\-M' $sysman/cpp.1 >/dev/null 2>&1; then
-                                               dflt='cc'
-                                       else
-                                               dflt='cc -M'
-                                       fi
-                               else
-                                       dflt='cc'
-                               fi;;
-                       esac;;
-               esac;;
-       *)  dflt="$cc";;
-       esac
-       $cat <<'EOM'
-On some systems the default C compiler will not resolve multiple global
-references that happen to have the same name.  On some such systems the "Mcc"
-command may be used to force these to be resolved.  On other systems a "cc -M"
-command is required.  (Note that the -M flag on other systems indicates a
-memory model to use!) If you have the Gnu C compiler, you might wish to use
-that instead.
-
-EOM
-       rp="What command will force resolution on this system?"
-       . ./myread
-       cc="$ans"
+if ./usg; then
+       case "$cc" in
+       '') case "$Mcc" in
+               /*) dflt='Mcc';;
+               *) case "$large" in
+                       -M*) dflt='cc';;
+                       *)      if $contains '\-M' $sysman/cc.1 >/dev/null 2>&1 ; then
+                                       if $contains '\-M' $sysman/cpp.1 >/dev/null 2>&1; then
+                                               dflt='cc'
+                                       else
+                                               dflt='cc -M'
+                                       fi
+                               else
+                                       dflt='cc'
+                               fi;;
+                       esac;;
+               esac;;
+       *)  dflt="$cc";;
+       esac
+       $cat <<'EOM'
+On some systems the default C compiler will not resolve multiple global
+references that happen to have the same name.  On some such systems the "Mcc"
+command may be used to force these to be resolved.  On other systems a "cc -M"
+command is required.  (Note that the -M flag on other systems indicates a
+memory model to use!) If you have the Gnu C compiler, you might wish to use
+that instead.
+
+EOM
+       rp="What command will force resolution on this system?"
+       . ./myread
+       cc="$ans"
 else
        case "$cc" in
        '') dflt=cc;;
@@ -3115,73 +3109,445 @@ int main() {
        exit(0);
 }
 EOM
-if $cc -o gccvers gccvers.c >/dev/null 2>&1; then
-       gccversion=`./gccvers`
-       case "$gccversion" in
-       '') echo "You are not using GNU cc." ;;
-       *)  echo "You are using GNU cc $gccversion." ;;
+if $cc -o gccvers gccvers.c >/dev/null 2>&1; then
+       gccversion=`./gccvers`
+       case "$gccversion" in
+       '') echo "You are not using GNU cc." ;;
+       *)  echo "You are using GNU cc $gccversion." ;;
+       esac
+else
+       echo " "
+       echo "*** WHOA THERE!!! ***" >&4
+       echo "    Your C compiler \"$cc\" doesn't seem to be working!" >&4
+       case "$knowitall" in
+       '')
+       echo "    You'd better start hunting for one and let me know about it." >&4
+               exit 1
+               ;;
+       esac
+fi
+$rm -f gccvers*
+case "$gccversion" in
+1*) cpp=`./loc gcc-cpp $cpp $pth` ;;
+esac
+
+: What should the include directory be ?
+echo " "
+$echo $n "Hmm...  $c"
+dflt='/usr/include'
+incpath=''
+mips_type=''
+if $test -f /bin/mips && /bin/mips; then
+       echo "Looks like a MIPS system..."
+       $cat >usr.c <<'EOCP'
+#ifdef SYSTYPE_BSD43
+/bsd43
+#endif
+EOCP
+       if $cc -E usr.c > usr.out && $contains / usr.out >/dev/null 2>&1; then
+               dflt='/bsd43/usr/include'
+               incpath='/bsd43'
+               mips_type='BSD 4.3'
+       else
+               mips_type='System V'
+       fi
+       $rm -f usr.c usr.out
+       echo "and you're compiling with the $mips_type compiler and libraries."
+       xxx_prompt=y
+       echo "exit 0" >mips
+else
+       echo "Doesn't look like a MIPS system."
+       xxx_prompt=n
+       echo "exit 1" >mips
+fi
+chmod +x mips
+$eunicefix mips
+echo " "
+case "$usrinc" in
+'') ;;
+*) dflt="$usrinc";;
+esac
+case "$xxx_prompt" in
+y)     fn=d/
+       rp='Where are the include files you want to use?'
+       . ./getfile
+       usrinc="$ans"
+       ;;
+*)     usrinc="$dflt"
+       ;;
+esac
+
+: see if we have to deal with yellow pages, now NIS.
+if $test -d /usr/etc/yp || $test -d /etc/yp; then
+       if $test -f /usr/etc/nibindd; then
+               echo " "
+               echo "I'm fairly confident you're on a NeXT."
+               echo " "
+               rp='Do you get the hosts file via NetInfo?'
+               dflt=y
+               case "$hostcat" in
+               nidump*) ;;
+               '') ;;
+               *) dflt=n;;
+               esac
+               . ./myread
+               case "$ans" in
+               y*) hostcat='nidump hosts .';;
+               *)      case "$hostcat" in
+                       nidump*) hostcat='';;
+                       esac
+                       ;;
+               esac
+       fi
+       case "$hostcat" in
+       nidump*) ;;
+       *)
+               case "$hostcat" in
+               *ypcat*) dflt=y;;
+               '') if $contains '^\+' /etc/passwd >/dev/null 2>&1; then
+                               dflt=y
+                       else
+                               dflt=n
+                       fi;;
+               *) dflt=n;;
+               esac
+               echo " "
+               rp='Are you getting the hosts file via yellow pages?'
+               . ./myread
+               case "$ans" in
+               y*) hostcat='ypcat hosts';;
+               *) hostcat='cat /etc/hosts';;
+               esac
+               ;;
+       esac
+fi
+
+: now get the host name
+echo " "
+echo "Figuring out host name..." >&4
+case "$myhostname" in
+'') cont=true
+       echo 'Maybe "hostname" will work...'
+       if tans=`sh -c hostname 2>&1` ; then
+               myhostname=$tans
+               phostname=hostname
+               cont=''
+       fi
+       ;;
+*) cont='';;
+esac
+if $test "$cont"; then
+       if ./xenix; then
+               echo 'Oh, dear.  Maybe "/etc/systemid" is the key...'
+               if tans=`cat /etc/systemid 2>&1` ; then
+                       myhostname=$tans
+                       phostname='cat /etc/systemid'
+                       echo "Whadyaknow.  Xenix always was a bit strange..."
+                       cont=''
+               fi
+       elif $test -r /etc/systemid; then
+               echo "(What is a non-Xenix system doing with /etc/systemid?)"
+       fi
+fi
+if $test "$cont"; then
+       echo 'No, maybe "uuname -l" will work...'
+       if tans=`sh -c 'uuname -l' 2>&1` ; then
+               myhostname=$tans
+               phostname='uuname -l'
+       else
+               echo 'Strange.  Maybe "uname -n" will work...'
+               if tans=`sh -c 'uname -n' 2>&1` ; then
+                       myhostname=$tans
+                       phostname='uname -n'
+               else
+                       echo 'Oh well, maybe I can mine it out of whoami.h...'
+                       if tans=`sh -c $contains' sysname $usrinc/whoami.h' 2>&1` ; then
+                               myhostname=`echo "$tans" | $sed 's/^.*"\(.*\)"/\1/'`
+                               phostname="sed -n -e '"'/sysname/s/^.*\"\\(.*\\)\"/\1/{'"' -e p -e q -e '}' <$usrinc/whoami.h"
+                       else
+                               case "$myhostname" in
+                               '') echo "Does this machine have an identity crisis or something?"
+                                       phostname='';;
+                               *)
+                                       echo "Well, you said $myhostname before..."
+                                       phostname='echo $myhostname';;
+                               esac
+                       fi
+               fi
+       fi
+fi
+: you do not want to know about this
+set $myhostname
+myhostname=$1
+
+: verify guess
+if $test "$myhostname" ; then
+       dflt=y
+       rp='Your host name appears to be "'$myhostname'".'" Right?"
+       . ./myread
+       case "$ans" in
+       y*) ;;
+       *) myhostname='';;
+       esac
+fi
+
+: bad guess or no guess
+while $test "X$myhostname" = X ; do
+       dflt=''
+       rp="Please type the (one word) name of your host:"
+       . ./myread
+       myhostname="$ans"
+done
+
+: translate upper to lower if necessary
+case "$myhostname" in
+*[A-Z]*)
+       echo "(Normalizing case in your host name)"
+       myhostname=`echo $myhostname | ./tr '[A-Z]' '[a-z]'`
+       ;;
+esac
+
+case "$myhostname" in
+*.*)
+       dflt=`expr "X$myhostname" : "X[^.]*\(\..*\)"`
+       myhostname=`expr "X$myhostname" : "X\([^.]*\)\."`
+       echo "(Trimming domain name from host name--host name is now $myhostname)"
+       ;;
+*) case "$mydomain" in
+       '')
+               {
+                       : If we use NIS, try ypmatch.
+                       : Is there some reason why this was not done before?
+                       test "X$hostcat" = "Xypcat hosts" &&
+                       ypmatch "$myhostname" hosts 2>/dev/null |\
+                               $sed -e 's/[     ]*#.*//; s/$/ /' > hosts && \
+                       $test -s hosts
+               } || {
+                       : Extract only the relevant hosts, reducing file size,
+                       : remove comments, insert trailing space for later use.
+                       $hostcat | $sed -n -e "s/[       ]*#.*//; s/\$/ /
+                                       /[       ]$myhostname[  . ]/p" > hosts
+               }
+               tmp_re="[       . ]"
+               $test x`$awk "/[0-9].*[  ]$myhostname$tmp_re/ { sum++ }
+                            END { print sum }" hosts` = x1 || tmp_re="[         ]"
+               dflt=.`$awk "/[0-9].*[   ]$myhostname$tmp_re/ {for(i=2; i<=NF;i++) print \\\$i}" \
+                       hosts | $sort | $uniq | \
+                       $sed -n -e "s/$myhostname\.\([-a-zA-Z0-9_.]\)/\1/p"`
+               case `$echo X$dflt` in
+               X*\ *)  echo "(Several hosts in /etc/hosts matched hostname)"
+                       dflt=.
+                       ;;
+               .) echo "(You do not have fully-qualified names in /etc/hosts)"
+                       ;;
+               esac
+               case "$dflt" in
+               .)
+                       tans=`./loc resolv.conf X /etc /usr/etc`
+                       if $test -f "$tans"; then
+                               echo "(Attempting domain name extraction from $tans)"
+                               : Why was there an Egrep here, when Sed works?
+                               dflt=.`$sed -n -e 's/^domain[   ]*\(.*\)/\1/p' $tans \
+                                       | ./tr '[A-Z]' '[a-z]' 2>/dev/null`
+                       fi
+                       ;;
+               esac
+               case "$dflt" in
+               .) echo "(No help from resolv.conf either -- attempting clever guess)"
+                       dflt=.`sh -c domainname 2>/dev/null`
+                       case "$dflt" in
+                       '') dflt='.';;
+                       .nis.*|.yp.*|.main.*) dflt=`echo $dflt | $sed -e 's/^\.[^.]*//'`;;
+                       esac
+                       ;;
+               esac
+               case "$dflt" in
+               .) echo "(Lost all hope -- silly guess then)"
+                       dflt='.uucp'
+                       ;;
+               esac
+               $rm -f hosts
+               ;;
+       *) dflt="$mydomain";;
+       esac;;
+esac
+echo " "
+rp="What is your domain name?"
+. ./myread
+tans="$ans"
+case "$ans" in
+'') ;;
+.*) ;;
+*) tans=".$tans";;
+esac
+mydomain="$tans"
+
+: translate upper to lower if necessary
+case "$mydomain" in
+*[A-Z]*)
+       echo "(Normalizing case in your domain name)"
+       mydomain=`echo $mydomain | ./tr '[A-Z]' '[a-z]'`
+       ;;
+esac
+
+: a little sanity check here
+case "$phostname" in
+'') ;;
+*)
+       case `$phostname | ./tr '[A-Z]' '[a-z]'` in
+       $myhostname$mydomain|$myhostname) ;;
+       *)
+               case "$phostname" in
+               sed*)
+                       echo "(That doesn't agree with your whoami.h file, by the way.)"
+                       ;;
+               *)
+                       echo "(That doesn't agree with your $phostname command, by the way.)"
+                       ;;
+               esac
+       ;;
+       esac
+       ;;
+esac
+
+$cat <<EOM
+
+I need to get your e-mail address in Internet format if possible, i.e.
+something like user@host.domain. Please answer accurately since I have
+no easy means to double check it. The default value provided below
+is most probably close to the reality but may not be valid from outside
+your organization...
+
+EOM
+cont=x
+while test "$cont"; do
+       case "$cf_email" in
+       '') dflt="$cf_by@$myhostname$mydomain";;
+       *) dflt="$cf_email";;
+       esac
+       rp='What is your e-mail address?'
+       . ./myread
+       cf_email="$ans"
+       case "$cf_email" in
+       *@*.*) cont='' ;;
+       *)
+               rp='Address does not look like an Internet one.  Use it anyway?'
+               case "$fastread" in
+               yes) dflt=y ;;
+               *) dflt=n ;;
+               esac
+               . ./myread
+               case "$ans" in
+               y*) cont='' ;;
+               *) echo " " ;;
+               esac
+               ;;
+       esac
+done
+
+$cat <<EOM
+
+If you or somebody else will be maintaining perl at your site, please
+fill in the correct e-mail address here so that they may be contacted
+if necessary. Currently, the "perlbug" program included with perl
+will send mail to this address in addition to perlbug@perl.com. You may
+enter "none" for no administrator.
+
+EOM
+case "$perladmin" in
+'') dflt="$cf_email";;
+*) dflt="$perladmin";;
+esac
+rp='Perl administrator e-mail address'
+. ./myread
+perladmin="$ans"
+
+: determine where public executable scripts go
+set scriptdir scriptdir
+eval $prefixit
+case "$scriptdir" in
+'')
+       dflt="$bin"
+       : guess some guesses
+       $test -d /usr/share/scripts && dflt=/usr/share/scripts
+       $test -d /usr/share/bin && dflt=/usr/share/bin
+       $test -d /usr/local/script && dflt=/usr/local/script
+       $test -d $prefixexp/script && dflt=$prefixexp/script
+       set dflt
+       eval $prefixup
+       ;;
+*)  dflt="$scriptdir"
+       ;;
+esac
+$cat <<EOM
+Some installations have a separate directory just for executable scripts so
+that they can mount it across multiple architectures but keep the scripts in
+one spot.  You might, for example, have a subdirectory of /usr/share for this.
+Or you might just lump your scripts in with all your other executables.
+EOM
+fn=d~
+rp='Where do you keep publicly executable scripts?'
+. ./getfile
+if $test "X$ansexp" != "X$scriptdirexp"; then
+       installscript=''
+fi
+scriptdir="$ans"
+scriptdirexp="$ansexp"
+if $afs; then
+       $cat <<EOM
+
+Since you are running AFS, I need to distinguish the directory in which
+scripts reside from the directory in which they are installed (and from
+which they are presumably copied to the former directory by occult means).
+
+EOM
+       case "$installscript" in
+       '') dflt=`echo $scriptdirexp | sed 's#^/afs/#/afs/.#'`;;
+       *) dflt="$installscript";;
        esac
+       fn=de~
+       rp='Where will public scripts be installed?'
+       . ./getfile
+       installscript="$ans"
 else
-       echo " "
-       echo "*** WHOA THERE!!! ***" >&4
-       echo "    Your C compiler \"$cc\" doesn't seem to be working!" >&4
-       case "$knowitall" in
-       '')
-       echo "    You'd better start hunting for one and let me know about it." >&4
-               exit 1
-               ;;
-       esac
+       installscript="$scriptdirexp"
 fi
-$rm -f gccvers*
-case "$gccversion" in
-1*) cpp=`./loc gcc-cpp $cpp $pth` ;;
-esac
 
-: What should the include directory be ?
-echo " "
-$echo $n "Hmm...  $c"
-dflt='/usr/include'
-incpath=''
-mips_type=''
-if $test -f /bin/mips && /bin/mips; then
-       echo "Looks like a MIPS system..."
-       $cat >usr.c <<'EOCP'
-#ifdef SYSTYPE_BSD43
-/bsd43
-#endif
-EOCP
-       if $cc -E usr.c > usr.out && $contains / usr.out >/dev/null 2>&1; then
-               dflt='/bsd43/usr/include'
-               incpath='/bsd43'
-               mips_type='BSD 4.3'
-       else
-               mips_type='System V'
-       fi
-       $rm -f usr.c usr.out
-       echo "and you're compiling with the $mips_type compiler and libraries."
-       xxx_prompt=y
-       echo "exit 0" >mips
-else
-       echo "Doesn't look like a MIPS system."
-       xxx_prompt=n
-       echo "exit 1" >mips
-fi
-chmod +x mips
-$eunicefix mips
-echo " "
-case "$usrinc" in
-'') ;;
-*) dflt="$usrinc";;
+: determine perl absolute location
+case "$perlpath" in
+'')    perlpath=$binexp/perl ;;
 esac
-case "$xxx_prompt" in
-y)     fn=d/
-       rp='Where are the include files you want to use?'
-       . ./getfile
-       usrinc="$ans"
-       ;;
-*)     usrinc="$dflt"
+
+: figure out how to guarantee perl startup
+case "$startperl" in
+'')
+       case "$sharpbang" in
+       *!)
+               $cat <<EOH
+
+I can use the #! construct to start perl on your system. This will
+make startup of perl scripts faster, but may cause problems if you
+want to share those scripts and perl is not in a standard place
+($perlpath) on all your platforms. The alternative is to force
+a shell by starting the script with a single ':' character.
+
+EOH
+               dflt=$perlpath
+               rp='What shall I put after the #! to start up perl ("none" to not use #!)?'
+               . ./myread
+               case "$ans" in
+               none) startperl=": # use perl";;
+               *) startperl="#!$ans";;
+               esac
+               ;;
+       *) startperl=": # use perl"
+               ;;
+       esac
        ;;
 esac
+echo "I'll use $startperl to start perl scripts."
 
 : see how we invoke the C preprocessor
 echo " "
@@ -3390,8 +3756,10 @@ case "$optimize" in
 esac
 
 dflt=''
-case "$ccflags" in
-'')    
+: We will not override a previous value, but we might want to
+: augment a hint file
+case "$hint" in
+none|recommended)
        case "$gccversion" in
        1*) dflt='-fpcc-struct-return' ;;
        esac
@@ -3446,13 +3814,14 @@ fi
 set signal.h NO_PROTOTYPE; eval $inctest
 set signal.h _NO_PROTO; eval $inctest
 
-case "$dflt" in
-'') dflt=none;;
-esac
-case "$ccflags" in
-'') ;;
+case "$hint" in
+none|recommended) dflt="$ccflags $dflt" ;;
 *) dflt="$ccflags";;
 esac
+
+case "$dflt" in
+''|' ') dflt=none;;
+esac
 $cat <<EOH
 
 Your C compiler may want other flags.  For this question you should include
@@ -3547,7 +3916,7 @@ for thislibdir in $libpth; do
        case " $loclibpth " in
        *" $thislibdir "*)
                case "$dflt " in 
-               "-L$thislibdir ") ;;
+               *"-L$thislibdir "*) ;;
                *)  dflt="$dflt -L$thislibdir" ;;
                esac
                ;;
@@ -3838,22 +4207,24 @@ esac
 xxx=normal
 case "$libc" in
 unknown)
-       set /usr/ccs/lib/libc.$so
-       $test -r $1 || set /usr/lib/libc.$so
-       $test -r $1 || set /usr/shlib/libc.$so
-       $test -r $1 || \
-               set `echo blurfl; echo /usr/lib/libc.$so.[0-9]* | \
-               tr ' ' '\012' | egrep -v '\.[A-Za-z]*$' | $sed -e '
-                       h
-                       s/[0-9][0-9]*/0000&/g
-                       s/0*\([0-9][0-9][0-9][0-9][0-9]\)/\1/g
-                       G
-                       s/\n/ /' | \
-                sort | $sed -e 's/^.* //'`
-       eval set \$$#
-       $test -r $1 || set /lib/libc.$so
-       $test -r $1 || set /lib/libsys_s.a
-       ;;
+       set /lib/libc.$so
+       for xxx in $libpth; do
+               $test -r $1 || set $xxx/libc.$so
+               : The messy sed command sorts on library version numbers.
+               $test -r $1 || \
+                       set `echo blurfl; echo $xxx/libc.$so.[0-9]* | \
+                               tr ' ' '\012' | egrep -v '\.[A-Za-z]*$' | $sed -e '
+                               h
+                               s/[0-9][0-9]*/0000&/g
+                               s/0*\([0-9][0-9][0-9][0-9][0-9]\)/\1/g
+                               G
+                               s/\n/ /' | \
+                       sort | $sed -e 's/^.* //'`
+               eval set \$$#
+       done
+       $test -r $1 || set /usr/ccs/lib/libc.$so
+       $test -r $1 || set /lib/libsys_s.a
+       ;;
 *)
        set blurfl
        ;;
@@ -5433,7 +5804,7 @@ main()
        exit(0);                                /* Bye bye, thank you for playing! */
 }
 EOCP
-       if $cc $ccflags $ldflags try.c -o try >/dev/null; 2>&1; then
+       if $cc $ccflags $ldflags try.c -o try >/dev/null 2>&1; then
                echo "./try >try.out 2>try.ret 3>try.err || exit 4" >mtry
                chmod +x mtry
                ./mtry >/dev/null 2>&1
@@ -6201,6 +6572,28 @@ fi
 set d_shm
 eval $setvar
 
+: see if sigvector exists -- since sigvec will match the substring
+echo " "
+if set sigvector val -f d_sigvectr; eval $csym; $val; then
+       echo 'sigvector() found--you must be running HP-UX.' >&4
+       val="$define"; set d_sigvectr; eval $setvar
+       val="$define"; set d_sigvec; eval $setvar
+else
+: try the original name
+       d_sigvectr="$undef"
+       if set sigvec val -f d_sigvec; eval $csym; $val; then
+               echo 'sigvec() found.' >&4
+               val="$define"; set d_sigvec; eval $setvar
+       else
+               echo 'sigvec() not found--race conditions with signals may occur.' >&4
+               val="$undef"; set d_sigvec; eval $setvar
+       fi
+fi
+
+: see if we have sigaction
+set sigaction d_sigaction
+eval $inlibc
+
 socketlib=''
 sockethdr=''
 : see whether socket exists
@@ -6491,282 +6884,72 @@ set tcsetpgrp d_tcsetpgrp
 eval $inlibc
 
 : define an is-a-typedef? function
-typedef='type=$1; var=$2; def=$3; shift; shift; shift; inclist=$@;
-case "$inclist" in
-"") inclist="sys/types.h";;
-esac;
-eval "varval=\$$var";
-case "$varval" in
-"")
-       $rm -f temp.c;
-       for inc in $inclist; do
-               echo "#include <$inc>" >>temp.c;
-       done;
-       $cppstdin $cppflags $cppminus < temp.c >temp.E 2>/dev/null;
-       if $contains $type temp.E >/dev/null 2>&1; then
-               eval "$var=\$type";
-       else
-               eval "$var=\$def";
-       fi;
-       $rm -f temp.?;;
-*) eval "$var=\$varval";;
-esac'
-
-: see if this is a sys/times.h system
-set sys/times.h i_systimes
-eval $inhdr
-
-: see if times exists
-echo " "
-if set times val -f d_times; eval $csym; $val; then
-       echo 'times() found.' >&4
-       d_times="$define"
-       inc=''
-       case "$i_systimes" in
-       "$define") inc='sys/times.h';;
-       esac
-       set clock_t clocktype long stdio.h sys/types.h $inc
-       eval $typedef
-       dflt="$clocktype"
-       echo " "
-       rp="What type is returned by times() on this system?"
-       . ./myread
-       clocktype="$ans"
-else
-       echo 'times() NOT found, hope that will do.' >&4
-       d_times="$undef"
-       clocktype='int'
-fi
-
-: see if truncate exists
-set truncate d_truncate
-eval $inlibc
-
-: see if tzname[] exists
-echo " "
-if set tzname val -a d_tzname; eval $csym; $val; then
-       val="$define"
-       echo 'tzname[] found.' >&4
-else
-       val="$undef"
-       echo 'tzname[] NOT found.' >&4
-fi
-set d_tzname
-eval $setvar
-
-: see if umask exists
-set umask d_umask
-eval $inlibc
-
-: see if we have to deal with yellow pages, now NIS.
-if $test -d /usr/etc/yp || $test -d /etc/yp; then
-       if $test -f /usr/etc/nibindd; then
-               echo " "
-               echo "I'm fairly confident you're on a NeXT."
-               echo " "
-               rp='Do you get the hosts file via NetInfo?'
-               dflt=y
-               case "$hostcat" in
-               nidump*) ;;
-               '') ;;
-               *) dflt=n;;
-               esac
-               . ./myread
-               case "$ans" in
-               y*) hostcat='nidump hosts .';;
-               *)      case "$hostcat" in
-                       nidump*) hostcat='';;
-                       esac
-                       ;;
-               esac
-       fi
-       case "$hostcat" in
-       nidump*) ;;
-       *)
-               case "$hostcat" in
-               *ypcat*) dflt=y;;
-               '') if $contains '^\+' /etc/passwd >/dev/null 2>&1; then
-                               dflt=y
-                       else
-                               dflt=n
-                       fi;;
-               *) dflt=n;;
-               esac
-               echo " "
-               rp='Are you getting the hosts file via yellow pages?'
-               . ./myread
-               case "$ans" in
-               y*) hostcat='ypcat hosts';;
-               *) hostcat='cat /etc/hosts';;
-               esac
-               ;;
-       esac
-fi
-
-: now get the host name
-echo " "
-echo "Figuring out host name..." >&4
-case "$myhostname" in
-'') cont=true
-       echo 'Maybe "hostname" will work...'
-       if tans=`sh -c hostname 2>&1` ; then
-               myhostname=$tans
-               phostname=hostname
-               cont=''
-       fi
-       ;;
-*) cont='';;
-esac
-if $test "$cont"; then
-       if ./xenix; then
-               echo 'Oh, dear.  Maybe "/etc/systemid" is the key...'
-               if tans=`cat /etc/systemid 2>&1` ; then
-                       myhostname=$tans
-                       phostname='cat /etc/systemid'
-                       echo "Whadyaknow.  Xenix always was a bit strange..."
-                       cont=''
-               fi
-       elif $test -r /etc/systemid; then
-               echo "(What is a non-Xenix system doing with /etc/systemid?)"
-       fi
-fi
-if $test "$cont"; then
-       echo 'No, maybe "uuname -l" will work...'
-       if tans=`sh -c 'uuname -l' 2>&1` ; then
-               myhostname=$tans
-               phostname='uuname -l'
+typedef='type=$1; var=$2; def=$3; shift; shift; shift; inclist=$@;
+case "$inclist" in
+"") inclist="sys/types.h";;
+esac;
+eval "varval=\$$var";
+case "$varval" in
+"")
+       $rm -f temp.c;
+       for inc in $inclist; do
+               echo "#include <$inc>" >>temp.c;
+       done;
+       $cppstdin $cppflags $cppminus < temp.c >temp.E 2>/dev/null;
+       if $contains $type temp.E >/dev/null 2>&1; then
+               eval "$var=\$type";
        else
-               echo 'Strange.  Maybe "uname -n" will work...'
-               if tans=`sh -c 'uname -n' 2>&1` ; then
-                       myhostname=$tans
-                       phostname='uname -n'
-               else
-                       echo 'Oh well, maybe I can mine it out of whoami.h...'
-                       if tans=`sh -c $contains' sysname $usrinc/whoami.h' 2>&1` ; then
-                               myhostname=`echo "$tans" | $sed 's/^.*"\(.*\)"/\1/'`
-                               phostname="sed -n -e '"'/sysname/s/^.*\"\\(.*\\)\"/\1/{'"' -e p -e q -e '}' <$usrinc/whoami.h"
-                       else
-                               case "$myhostname" in
-                               '') echo "Does this machine have an identity crisis or something?"
-                                       phostname='';;
-                               *)
-                                       echo "Well, you said $myhostname before..."
-                                       phostname='echo $myhostname';;
-                               esac
-                       fi
-               fi
-       fi
-fi
-: you do not want to know about this
-set $myhostname
-myhostname=$1
+               eval "$var=\$def";
+       fi;
+       $rm -f temp.?;;
+*) eval "$var=\$varval";;
+esac'
 
-: verify guess
-if $test "$myhostname" ; then
-       dflt=y
-       rp='Your host name appears to be "'$myhostname'".'" Right?"
-       . ./myread
-       case "$ans" in
-       y*) ;;
-       *) myhostname='';;
-       esac
-fi
+: see if this is a sys/times.h system
+set sys/times.h i_systimes
+eval $inhdr
 
-: bad guess or no guess
-while $test "X$myhostname" = X ; do
-       dflt=''
-       rp="Please type the (one word) name of your host:"
+: see if times exists
+echo " "
+if set times val -f d_times; eval $csym; $val; then
+       echo 'times() found.' >&4
+       d_times="$define"
+       inc=''
+       case "$i_systimes" in
+       "$define") inc='sys/times.h';;
+       esac
+       set clock_t clocktype long stdio.h sys/types.h $inc
+       eval $typedef
+       dflt="$clocktype"
+       echo " "
+       rp="What type is returned by times() on this system?"
        . ./myread
-       myhostname="$ans"
-done
+       clocktype="$ans"
+else
+       echo 'times() NOT found, hope that will do.' >&4
+       d_times="$undef"
+       clocktype='int'
+fi
 
-: translate upper to lower if necessary
-case "$myhostname" in
-*[A-Z]*)
-       echo "(Normalizing case in your host name)"
-       myhostname=`echo $myhostname | ./tr '[A-Z]' '[a-z]'`
-       ;;
-esac
+: see if truncate exists
+set truncate d_truncate
+eval $inlibc
 
-case "$myhostname" in
-*.*)
-       dflt=`expr "X$myhostname" : "X[^.]*\(\..*\)"`
-       myhostname=`expr "X$myhostname" : "X\([^.]*\)\."`
-       echo "(Trimming domain name from host name--host name is now $myhostname)"
-       ;;
-*) case "$mydomain" in
-       '')
-               $hostcat >hosts
-               dflt=.`$awk "/[0-9].*$myhostname/ {for(i=2; i<=NF;i++) print \\\$i}" \
-                       hosts | $sort | $uniq | \
-                       $sed -n -e "s/$myhostname\.\([a-zA-Z_.]\)/\1/p"`
-               case "$dflt" in
-               .) echo "(You do not have fully-qualified names in /etc/hosts)"
-                       tans=`./loc resolv.conf X /etc /usr/etc`
-                       if $test -f "$tans"; then
-                               echo "(Attempting domain name extraction from $tans)"
-                               dflt=.`egrep '^domain' $tans | $sed 's/domain[  ]*\(.*\)/\1/' \
-                                       | ./tr '[A-Z]' '[a-z]' 2>/dev/null`
-                       fi
-                       ;;
-               esac
-               case "$dflt" in
-               .) echo "(No help from resolv.conf either -- attempting clever guess)"
-                       dflt=.`sh -c domainname 2>/dev/null`
-                       case "$dflt" in
-                       '') dflt='.';;
-                       .nis.*|.yp.*|.main.*) dflt=`echo $dflt | $sed -e 's/^\.[^.]*//'`;;
-                       esac
-                       ;;
-               esac
-               case "$dflt" in
-               .) echo "(Lost all hope -- silly guess then)"
-                       dflt='.uucp'
-                       ;;
-               esac
-               $rm -f hosts
-               ;;
-       *) dflt="$mydomain";;
-       esac;;
-esac
+: see if tzname[] exists
 echo " "
-rp="What is your domain name?"
-. ./myread
-tans="$ans"
-case "$ans" in
-'') ;;
-.*) ;;
-*) tans=".$tans";;
-esac
-mydomain="$tans"
-
-: translate upper to lower if necessary
-case "$mydomain" in
-*[A-Z]*)
-       echo "(Normalizing case in your domain name)"
-       mydomain=`echo $mydomain | ./tr '[A-Z]' '[a-z]'`
-       ;;
-esac
+if set tzname val -a d_tzname; eval $csym; $val; then
+       val="$define"
+       echo 'tzname[] found.' >&4
+else
+       val="$undef"
+       echo 'tzname[] NOT found.' >&4
+fi
+set d_tzname
+eval $setvar
 
-: a little sanity check here
-case "$phostname" in
-'') ;;
-*)
-       case `$phostname | ./tr '[A-Z]' '[a-z]'` in
-       $myhostname$mydomain|$myhostname) ;;
-       *)
-               case "$phostname" in
-               sed*)
-                       echo "(That doesn't agree with your whoami.h file, by the way.)"
-                       ;;
-               *)
-                       echo "(That doesn't agree with your $phostname command, by the way.)"
-                       ;;
-               esac
-       ;;
-       esac
-       ;;
-esac
+: see if umask exists
+set umask d_umask
+eval $inlibc
 
 : see how we will look up host name
 echo " "
@@ -6986,16 +7169,22 @@ rp="Doubles must be aligned on a how-many-byte boundary?"
 alignbytes="$ans"
 $rm -f try.c try
 
-: Define several unixisms.  These can be overridden in hint files.
-ar='ar'
-exe_ext=''
-lib_ext='.a'
-obj_ext='.o'
-path_sep='/'
-: Extra object files needed on this platform.
-archobjs=''
+case "$ar" in
+'') ar='ar';;
+esac
+case "$lib_ext" in
+'') lib_ext='.a';;
+esac
+case "$obj_ext" in
+'') obj_ext='.o';;
+esac
+case "$path_sep" in
+'') path_sep=':';;
+esac
 : Which makefile gets called first.  This is used by make depend.
-firstmakefile='makefile'
+case "$firstmakefile" in
+'') firstmakefile='makefile';;
+esac
 
 : check for ordering of bytes in a long
 case "$byteorder" in
@@ -7255,11 +7444,11 @@ echo "Hmm, your compiler has some difficulty with void. Checking further..." >&4
                fi
        fi
 esac
-: Only prompt user if voidflags is not 15.  If voidflags is 15, then
-: we presume all is well.
+: Only prompt user if support does not match the level we want
 case "$voidflags" in
-15) ;;
-*)     dflt="$voidflags";
+"$defvoidused") ;;
+*)
+       dflt="$voidflags";
        rp="Your void support flags add up to what?"
        . ./myread
        voidflags="$ans"
@@ -7340,6 +7529,31 @@ rp="What type is used for file modes?"
 . ./myread
 modetype="$ans"
 
+: locate the preferred pager for this system
+case "$pager" in
+'')
+       dflt=''
+       case "$pg" in
+       /*) dflt=$pg;;
+       esac
+       case "$more" in
+       /*) dflt=$more;;
+       esac
+       case "$less" in
+       /*) dflt=$less;;
+       esac
+       case "$dflt" in
+       '') dflt=/usr/ucb/more;;
+       esac
+       ;;
+*) dflt="$pager";;
+esac
+echo " "
+fn=f/
+rp='What pager is used on your system?'
+. ./getfile
+pager="$ans"
+
 : Cruising for prototypes
 echo " "
 echo "Checking out function prototypes..." >&4
@@ -8371,6 +8585,10 @@ eval $inhdr
 set sys/types.h i_systypes
 eval $inhdr
 
+: see if this is a sys/un.h system
+set sys/un.h i_sysun
+eval $inhdr
+
 : see if this is a unistd.h system
 set unistd.h i_unistd
 eval $inhdr
@@ -8464,6 +8682,10 @@ for xxx in $known_extensions ; do
            true|define|y) avail_ext="$avail_ext $xxx" ;;
            esac
            ;;
+    SAFE) case "$usesafe" in 
+           true|define|y) avail_ext="$avail_ext $xxx" ;;
+           esac
+           ;;
     Socket) case "$d_socket" in 
            $define) avail_ext="$avail_ext $xxx" ;;
            esac
@@ -8555,58 +8777,6 @@ set X $dynamic_ext $static_ext
 shift
 extensions="$*"
 
-$cat <<EOM
-
-I need to get your e-mail address in Internet format if possible, i.e.
-something like user@host.domain. Please answer accurately since I have
-no easy means to double check it. The default value provided below
-is most probably close to the reality but may not be valid from outside
-your organization...
-
-EOM
-cont=x
-while test "$cont"; do
-       case "$cf_email" in
-       '') dflt="$cf_by@$myhostname$mydomain";;
-       *) dflt="$cf_email";;
-       esac
-       rp='What is your e-mail address?'
-       . ./myread
-       cf_email="$ans"
-       case "$cf_email" in
-       *@*.*) cont='' ;;
-       *)
-               rp='Address does not look like an Internet one.  Use it anyway?'
-               case "$fastread" in
-               yes) dflt=y ;;
-               *) dflt=n ;;
-               esac
-               . ./myread
-               case "$ans" in
-               y*) cont='' ;;
-               *) echo " " ;;
-               esac
-               ;;
-       esac
-done
-
-$cat <<EOM
-
-If you or somebody else will be maintaining perl at your site, please
-fill in the correct e-mail address here so that they may be contacted
-if necessary. Currently, the "perlbug" program included with perl
-will send mail to this address in addition to perlbug@perl.com. You may
-enter "none" for no administrator.
-
-EOM
-case "$perladmin" in
-'') dflt="$cf_email";;
-*) dflt="$perladmin";;
-esac
-rp='Perl administrator e-mail address'
-. ./myread
-perladmin="$ans"
-
 : Remove build directory name from cppstdin so it can be used from
 : either the present location or the final installed location.
 echo " "
@@ -8852,6 +9022,10 @@ d_shmctl='$d_shmctl'
 d_shmdt='$d_shmdt'
 d_shmget='$d_shmget'
 d_shrplib='$d_shrplib'
+d_sigaction='$d_sigaction'
+d_sigintrp='$d_sigintrp'
+d_sigvec='$d_sigvec'
+d_sigvectr='$d_sigvectr'
 d_socket='$d_socket'
 d_sockpair='$d_sockpair'
 d_statblks='$d_statblks'
@@ -8966,6 +9140,7 @@ i_systime='$i_systime'
 i_systimek='$i_systimek'
 i_systimes='$i_systimes'
 i_systypes='$i_systypes'
+i_sysun='$i_sysun'
 i_termio='$i_termio'
 i_termios='$i_termios'
 i_time='$i_time'
@@ -8983,6 +9158,7 @@ installman3dir='$installman3dir'
 installprivlib='$installprivlib'
 installscript='$installscript'
 installsitearch='$installsitearch'
+installsitelib='$installsitelib'
 intsize='$intsize'
 known_extensions='$known_extensions'
 ksh='$ksh'
@@ -9043,6 +9219,7 @@ orderlib='$orderlib'
 osname='$osname'
 osvers='$osvers'
 package='$package'
+pager='$pager'
 passcat='$passcat'
 patchlevel='$patchlevel'
 path_sep='$path_sep'
@@ -9081,6 +9258,8 @@ sig_num='$sig_num'
 signal_t='$signal_t'
 sitearch='$sitearch'
 sitearchexp='$sitearchexp'
+sitelib='$sitelib'
+sitelibexp='$sitelibexp'
 sizetype='$sizetype'
 sleep='$sleep'
 smail='$smail'
@@ -9120,6 +9299,7 @@ usedl='$usedl'
 usemymalloc='$usemymalloc'
 usenm='$usenm'
 useposix='$useposix'
+usesafe='$usesafe'
 usevfork='$usevfork'
 usrinc='$usrinc'
 uuname='$uuname'