Re: [perl #18872] File::Basename example misleading
[p5sagit/p5-mst-13.2.git] / Configure
index b5c72e4..0b30dd6 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 Sat Mar 16 20:51:19 EET 2002 [metaconfig 3.0 PL70]
+# Generated on Mon Feb  3 15:49:19 EET 2003 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.org)
 
 cat >c1$$ <<EOF
@@ -47,6 +47,18 @@ true || exec sh $0 $argv:q
 (exit $?0) || exec sh $0 $argv:q
 rm -f c1$$ c2$$
 
+if test -f /dev/cputype -a -f /dev/drivers -a -f /dev/osversion; then
+       cat >&4 <<EOF
+***
+*** I'm sorry but this system looks like Plan 9 and Plan 9 doesn't do
+*** Configure that well.  (Plan 9 is close to UNIX but not close enough.)
+*** Please read the README.plan9 for further instructions.
+*** Cannot continue, aborting.
+***
+EOF
+       exit 1
+fi
+
 : compute my invocation name
 me=$0
 case "$0" in
@@ -165,7 +177,6 @@ esac
 test -d UU || mkdir UU
 cd UU && rm -f ./*
 
-
 ccname=''
 ccversion=''
 ccsymbols=''
@@ -301,8 +312,6 @@ baserev=''
 bin=''
 binexp=''
 installbin=''
-bincompat5005=''
-d_bincompat5005=''
 byteorder=''
 cc=''
 ccflags=''
@@ -497,6 +506,7 @@ d_getsbyport=''
 d_gmtime_r=''
 gmtime_r_proto=''
 d_gnulibc=''
+gnulibc_version=''
 d_hasmntopt=''
 d_htonl=''
 d_inetaton=''
@@ -539,6 +549,7 @@ d_mmap=''
 mmaptype=''
 d_modfl=''
 d_modfl_pow32_bug=''
+d_modflproto=''
 d_mprotect=''
 d_msg=''
 d_msgctl=''
@@ -548,6 +559,7 @@ d_msgrcv=''
 d_msgsnd=''
 d_msync=''
 d_munmap=''
+d_nanosleep=''
 d_nice=''
 d_nl_langinfo=''
 d_off64_t=''
@@ -755,6 +767,7 @@ fflushNULL=''
 fflushall=''
 fpossize=''
 fpostype=''
+gccansipedantic=''
 gccosandvers=''
 gccversion=''
 gidformat=''
@@ -764,6 +777,12 @@ gidtype=''
 groupstype=''
 h_fcntl=''
 h_sysfile=''
+html1dir=''
+html1direxp=''
+installhtml1dir=''
+html3dir=''
+html3direxp=''
+installhtml3dir=''
 i_arpainet=''
 i_crypt=''
 db_hashtype=''
@@ -965,7 +984,6 @@ perl5=''
 perladmin=''
 perlpath=''
 d_nv_preserves_uv=''
-d_nv_preserves_uv_bits=''
 i16size=''
 i16type=''
 i32size=''
@@ -976,6 +994,7 @@ i8size=''
 i8type=''
 ivsize=''
 ivtype=''
+nv_preserves_uv_bits=''
 nvsize=''
 nvtype=''
 u16size=''
@@ -1046,12 +1065,27 @@ sitearchexp=''
 installsitebin=''
 sitebin=''
 sitebinexp=''
+installsitehtml1=''
+sitehtml1=''
+sitehtml1exp=''
+installsitehtml3=''
+sitehtml3=''
+sitehtml3exp=''
 installsitelib=''
 sitelib=''
 sitelib_stem=''
 sitelibexp=''
+installsiteman1=''
+siteman1=''
+siteman1exp=''
+installsiteman3=''
+siteman3=''
+siteman3exp=''
 siteprefix=''
 siteprefixexp=''
+installsitescript=''
+sitescript=''
+sitescriptexp=''
 sizesize=''
 sizetype=''
 so=''
@@ -1104,14 +1138,30 @@ d_vendorbin=''
 installvendorbin=''
 vendorbin=''
 vendorbinexp=''
+installvendorhtml1=''
+vendorhtml1=''
+vendorhtml1exp=''
+installvendorhtml3=''
+vendorhtml3=''
+vendorhtml3exp=''
 d_vendorlib=''
 installvendorlib=''
 vendorlib=''
 vendorlib_stem=''
 vendorlibexp=''
+installvendorman1=''
+vendorman1=''
+vendorman1exp=''
+installvendorman3=''
+vendorman3=''
+vendorman3exp=''
 usevendorprefix=''
 vendorprefix=''
 vendorprefixexp=''
+d_vendorscript=''
+installvendorscript=''
+vendorscript=''
+vendorscriptexp=''
 versiononly=''
 defvoidused=''
 voidflags=''
@@ -1151,17 +1201,6 @@ elif test -d c:/. ; then
 fi
 
 i_whoami=''
-ccname=''
-ccversion=''
-perllibs=''
-: set useposix=false in your hint file to disable the POSIX extension.
-useposix=true
-: set useopcode=false in your hint file to disable the Opcode extension.
-useopcode=true
-: Trailing extension.  Override this in a hint file, if needed.
-: Extra object files, if any, needed on this platform.
-archobjs=''
-archname=''
 : 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"
@@ -1170,6 +1209,12 @@ locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include"
 : no include file wanted by default
 inclwanted=''
 
+siteman1=''
+siteman3=''
+sitescript=''
+: Trailing extension.  Override this in a hint file, if needed.
+: Extra object files, if any, needed on this platform.
+archobjs=''
 groupstype=''
 libnames=''
 : change the next line if compiling for Xenix/286 on Xenix/386
@@ -1193,23 +1238,31 @@ plibpth=''
 libswanted=''
 : some systems want to use only the non-versioned libso:s
 ignore_versioned_solibs=''
+: full support for void wanted by default
+defvoidused=15
+
+ccname=''
+ccversion=''
+perllibs=''
+: set useposix=false in your hint file to disable the POSIX extension.
+useposix=true
+: set useopcode=false in your hint file to disable the Opcode extension.
+useopcode=true
 archname64=''
 ccflags_uselargefiles=''
 ldflags_uselargefiles=''
 libswanted_uselargefiles=''
 : set usemultiplicity on the Configure command line to enable multiplicity.
 : set usesocks on the Configure command line to enable socks.
+archname=''
 : set usethreads on the Configure command line to enable threads.
 usereentrant='undef'
-: full support for void wanted by default
-defvoidused=15
-
 : List of libraries we want.
 : If anyone needs -lnet, put it in a hint file.
 libswanted='sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl'
 libswanted="$libswanted dld ld sun m c cposix posix"
 libswanted="$libswanted ndir dir crypt sec"
-libswanted="$libswanted ucb bsd BSD PW x util"
+libswanted="$libswanted ucb bsd BSD PW x util rt posix4"
 : We probably want to search /usr/shlib before most other libraries.
 : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
 glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
@@ -1486,23 +1539,23 @@ while test $# -gt 0; do
            zzz=''
            uuu=undef
            case "$yyy" in
-            *=*) zzz=`echo $yyy|sed 's!=.*!!'`
+            *=*) zzz=`echo "$yyy"|sed 's!=.*!!'`
                  case "$zzz" in
                  *:*) zzz='' ;;
                  *)   xxx=append
-                      zzz=" "`echo $yyy|sed 's!^[^=]*=!!'` 
-                      yyy=`echo $yyy|sed 's!=.*!!'` ;;
+                      zzz=" "`echo "$yyy"|sed 's!^[^=]*=!!'` 
+                      yyy=`echo "$yyy"|sed 's!=.*!!'` ;;
                  esac
                  ;;
             esac
             case "$xxx" in
             '')  case "$yyy" in
-                 *:*) xxx=`echo $yyy|sed 's!:.*!!'`
-                      yyy=`echo $yyy|sed 's!^[^:]*:!!'`
-                      zzz=`echo $yyy|sed 's!^[^=]*=!!'`
-                      yyy=`echo $yyy|sed 's!=.*!!'` ;;
-                 *)   xxx=`echo $yyy|sed 's!:.*!!'`
-                      yyy=`echo $yyy|sed 's!^[^:]*:!!'` ;;
+                 *:*) xxx=`echo "$yyy"|sed 's!:.*!!'`
+                      yyy=`echo "$yyy"|sed 's!^[^:]*:!!'`
+                      zzz=`echo "$yyy"|sed 's!^[^=]*=!!'`
+                      yyy=`echo "$yyy"|sed 's!=.*!!'` ;;
+                 *)   xxx=`echo "$yyy"|sed 's!:.*!!'`
+                      yyy=`echo "$yyy"|sed 's!^[^:]*:!!'` ;;
                  esac
                  ;;       
             esac
@@ -1860,6 +1913,11 @@ if test X"$trnl" = X; then
        esac
 fi
 if test X"$trnl" = X; then
+       case "`echo foo|tr '\r\n' xy 2>/dev/null`" in
+       fooxy) trnl='\n\r' ;;
+       esac
+fi
+if test X"$trnl" = X; then
        cat <<EOM >&2
 
 $me: Fatal Error: cannot figure out how to translate newlines with 'tr'.
@@ -2148,9 +2206,10 @@ for dir in \$*; do
        elif test -f \$dir/\$thing.exe; then
                if test -n "$DJGPP"; then
                        echo \$dir/\$thing.exe
-               else
+               elif test "$eunicefix" != ":"; then
                        : on Eunice apparently
                        echo \$dir/\$thing
+                       exit 0
                fi
                exit 0
        fi
@@ -2387,7 +2446,16 @@ EOM
                     fi
                 fi  
                 case "$ans" in
-                [yY]*) cc=gcc; ccname=gcc; ccflags=''; despair=no ;;
+                [yY]*) cc=gcc; ccname=gcc; ccflags=''; despair=no;
+                       if $test -f usethreads.cbu; then
+                           $cat >&4 <<EOM 
+
+*** However, any setting of the C compiler flags (e.g. for thread support)
+*** has been lost.  It may be necessary to pass -Dcc=gcc to Configure
+*** (together with e.g. -Dusethreads).
+
+EOM
+                       fi;;
                 esac
             fi
         fi
@@ -3066,6 +3134,9 @@ EOM
                        ;;
                next*) osname=next ;;
                nonstop-ux) osname=nonstopux ;;
+               openbsd) osname=openbsd
+                       osvers="$3"
+                       ;;
                POSIX-BC | posix-bc ) osname=posix-bc
                        osvers="$3"
                        ;;
@@ -3104,7 +3175,7 @@ EOM
                osf1|mls+)      case "$5" in
                                alpha)
                                        osname=dec_osf
-                                       osvers=`sizer -v | awk '{print $3}' |  tr '[A-Z]' '[a-z]' | sed 's/^[xvt]//'`
+                                       osvers=`sizer -v | awk -FUNIX '{print $2}' | awk '{print $1}' |  tr '[A-Z]' '[a-z]' | sed 's/^[xvt]//'`
                                        case "$osvers" in
                                        [1-9].[0-9]*) ;;
                                        *) osvers=`echo "$3" | sed 's/^[xvt]//'` ;;
@@ -3410,20 +3481,100 @@ $undef$define) . ./whoa; eval "$var=\$tu";;
 *) eval "$var=$val";;
 esac'
 
+case "$usesocks" in
+$define|true|[yY]*)    dflt='y';;
+*) dflt='n';;
+esac
+cat <<EOM
+
+Perl can be built to use the SOCKS proxy protocol library.  To do so,
+Configure must be run with -Dusesocks.  If you use SOCKS you also need
+to use the PerlIO abstraction layer, this will be implicitly selected.
+
+If this doesn't make any sense to you, just accept the default '$dflt'.
+EOM
+rp='Build Perl for SOCKS?'
+. ./myread
+case "$ans" in
+y|Y)   val="$define" ;;     
+*)      val="$undef" ;;
+esac
+set usesocks
+eval $setvar
+
+case "$usesocks" in
+$define|true|[yY]*) useperlio="$define";;
+esac
+
+case "$useperlio" in
+$define|true|[yY]*|'') dflt='y';;
+*) dflt='n';;
+esac
+cat <<EOM
+
+Previous version of $package used the standard IO mechanisms as
+defined in <stdio.h>.  Versions 5.003_02 and later of $package allow
+alternate IO mechanisms via the PerlIO abstraction layer, but the
+stdio mechanism is still available if needed.  The abstraction layer
+can use AT&T's sfio (if you already have sfio installed) or regular stdio.
+Using PerlIO with sfio may cause problems with some extension modules.
+
+If this doesn't make any sense to you, just accept the default '$dflt'.
+EOM
+rp='Use the PerlIO abstraction layer?'
+. ./myread
+case "$ans" in
+y|Y) 
+       val="$define"
+       ;;
+*)      
+       echo "Ok, doing things the stdio way."
+       val="$undef"
+       ;;
+esac
+set useperlio
+eval $setvar 
+
+case "$usesocks" in
+$define|true|[yY]*)
+       case "$useperlio" in
+       $define|true|[yY]*) ;;
+       *)      cat >&4 <<EOM
+
+You are using the SOCKS proxy protocol library which means that you
+should also use the PerlIO layer.  You may be headed for trouble.
+
+EOM
+               ;;
+       esac
+       ;;
+esac
+
+       
 case "$usethreads" in
 $define|true|[yY]*)     dflt='y';;
-*) dflt='n';;
+*)     # Catch case where user specified ithreads or 5005threads but
+       # forgot -Dusethreads (A.D. 4/2002)
+       case "$useithreads$use5005threads" in
+       *$define*)      
+               case "$useperlio" in
+               "$define")      dflt='y' ;;
+               *)              dflt='n' ;;
+               esac
+               ;;
+       *)      dflt='n';;
+       esac
+       ;;
 esac
 cat <<EOM
 
 Perl can be built to take advantage of threads on some systems.
 To do so, Configure can be run with -Dusethreads.
 
-Note that threading is a highly experimental feature, and
-some known race conditions still remain.  If you choose to try
-it, be very sure to not actually deploy it for production
-purposes.  README.threads has more details, and is required
-reading if you enable threads.
+Note that Perl built with threading support runs slightly slower
+and uses more memory than plain Perl. The current implementation
+is believed to be stable, but it is fairly new, and so should be
+treated with caution.
 
 If this doesn't make any sense to you, just accept the default '$dflt'.
 EOM
@@ -3440,16 +3591,14 @@ case "$usethreads" in
 $define)
        $cat <<EOM
 
-As of 5.5.640, Perl has two different internal threading implementations,
-the 5.005 version (5005threads) and an interpreter-based version
-(ithreads) that has one interpreter per thread.  Both are very 
-experimental.  This arrangement exists to help developers work out
-which one is better.
+Since release 5.6, Perl has had two different threading implementations,
+the newer interpreter-based version (ithreads) with one interpreter per
+thread, and the older 5.005 version (5005threads).
+The 5005threads version is effectively unmaintained and will probably be
+removed in Perl 5.10, so there should be no need to build a Perl using it
+unless needed for backwards compatibility with some existing 5.005threads
+code.
 
-If you're a casual user, you probably don't want interpreter-threads
-at this time.  But if you do, the 'threads' module allows their use,
-and the 'Thread' module offers an interface to both 5005threads and
-ithreads (whichever has been configured).
 EOM
        : Default to ithreads unless overridden on command line or with
        : old config.sh
@@ -3460,7 +3609,7 @@ EOM
        case "$useithreads" in
                $undef|false|[nN]*) dflt='n';;
        esac
-       rp='Use interpreter-based ithreads?'
+       rp='Use the newer interpreter-based ithreads?'
        . ./myread
        case "$ans" in
        y|Y)    val="$define" ;;
@@ -3495,6 +3644,16 @@ EOM
        ;;
 esac
 
+if test X"$usethreads" = "X$define" -a "X$useperlio" = "Xundef"; then
+       cat >&4 <<EOF
+***
+*** To build with ithreads you must also use the PerlIO layer.
+*** Cannot continue, aborting.
+***
+EOF
+       exit 1
+fi
+
 case "$d_oldpthreads" in
 '')    : Configure tests would be welcome here.  For now, assume undef.
        val="$undef" ;;
@@ -3695,7 +3854,7 @@ if $cc -o try $ccflags $ldflags try.c; then
        case "$gccversion" in
        '') echo "You are not using GNU cc." ;;
        *)  echo "You are using GNU cc $gccversion."
-           ccname=gcc  
+           ccname=gcc
            ;;
        esac
 else
@@ -3748,6 +3907,20 @@ case "$ccname" in
 '') ccname="$cc" ;;
 esac
 
+# gcc 3.* complain about adding -Idirectories that they already know about,
+# so we will take those off from locincpth.
+case "$gccversion" in
+3*)
+    echo "main(){}">try.c
+    for incdir in $locincpth; do
+       warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \
+            grep '^c[cp]p*[01]: warning: changing search order '`
+       if test "X$warn" != X; then
+          locincpth=`echo " $locincpth " | sed "s! $incdir ! !"`
+       fi
+    done
+    $rm -f try try.*
+esac
 
 : decide how portable to be.  Allow command line overrides.
 case "$d_portable" in
@@ -3815,7 +3988,9 @@ esac
 
 case "$fn" in
 *\(*)
-       expr $fn : '.*(\(.*\)).*' | $tr ',' $trnl >getfile.ok
+       : getfile will accept an answer from the comma-separated list
+       : enclosed in parentheses even if it does not meet other criteria.
+       expr "$fn" : '.*(\(.*\)).*' | $tr ',' $trnl >getfile.ok
        fn=`echo $fn | sed 's/(.*)//'`
        ;;
 esac
@@ -4333,31 +4508,6 @@ case "$firstmakefile" in
 '') firstmakefile='makefile';;
 esac
 
-case "$usesocks" in
-$define|true|[yY]*)    dflt='y';;
-*) dflt='n';;
-esac
-cat <<EOM
-
-Perl can be built to use the SOCKS proxy protocol library.  To do so,
-Configure must be run with -Dusesocks.  If you use SOCKS you also need
-to use the PerlIO abstraction layer, this will be implicitly selected.
-
-If this doesn't make any sense to you, just accept the default '$dflt'.
-EOM
-rp='Build Perl for SOCKS?'
-. ./myread
-case "$ans" in
-y|Y)   val="$define" ;;     
-*)      val="$undef" ;;
-esac
-set usesocks
-eval $setvar
-
-case "$usesocks" in
-$define|true|[yY]*) useperlio="$define";;
-esac
-
 : Looking for optional libraries
 echo " "
 echo "Checking for optional libraries..." >&4
@@ -4835,164 +4985,39 @@ EOM
 esac
 $rm -f try try.*
 
-: check for void type
+: check for long long
 echo " "
-echo "Checking to see how well your C compiler groks the void type..." >&4
-case "$voidflags" in
-'')
-       $cat >try.c <<'EOCP'
-#if TRY & 1
-void sub() {
-#else
-sub() {
-#endif
-       extern void moo();      /* function returning void */
-       void (*goo)();          /* ptr to func returning void */
-#if TRY & 8
-       void *hue;              /* generic ptr */
-#endif
-#if TRY & 2
-       void (*foo[10])();
-#endif
+echo "Checking to see if you have long long..." >&4
+echo 'int main() { long long x = 7; return 0; }' > try.c
+set try
+if eval $compile; then
+       val="$define"
+       echo "You have long long."
+else
+       val="$undef"
+       echo "You do not have long long."
+fi
+$rm try.*
+set d_longlong
+eval $setvar
 
-#if TRY & 4
-       if(goo == moo) {
-               exit(0);
-       }
-#endif
-       exit(0);
+: check for length of long long
+case "${d_longlong}${longlongsize}" in
+$define)
+       echo " "
+       echo "Checking to see how big your long longs are..." >&4
+       $cat >try.c <<'EOCP'
+#include <stdio.h>
+int main()
+{
+    printf("%d\n", (int)sizeof(long long));
+    return(0);
 }
-int main() { sub(); }
 EOCP
-       if $cc $ccflags -c -DTRY=$defvoidused try.c >.out 2>&1 ; then
-               voidflags=$defvoidused
-       echo "Good.  It appears to support void to the level $package wants.">&4
-               if $contains warning .out >/dev/null 2>&1; then
-                       echo "However, you might get some warnings that look like this:"
-                       $cat .out
-               fi
-       else
-echo "Hmm, your compiler has some difficulty with void. Checking further..." >&4
-               if $cc $ccflags -c -DTRY=1 try.c >/dev/null 2>&1; then
-                       echo "It supports 1..."
-                       if $cc $ccflags -c -DTRY=3 try.c >/dev/null 2>&1; then
-                               echo "It also supports 2..."
-                               if $cc $ccflags -c -DTRY=7 try.c >/dev/null 2>&1; then
-                                       voidflags=7
-                                       echo "And it supports 4 but not 8 definitely."
-                               else
-                                       echo "It doesn't support 4..."
-                                       if $cc $ccflags -c -DTRY=11 try.c >/dev/null 2>&1; then
-                                               voidflags=11
-                                               echo "But it supports 8."
-                                       else
-                                               voidflags=3
-                                               echo "Neither does it support 8."
-                                       fi
-                               fi
-                       else
-                               echo "It does not support 2..."
-                               if $cc $ccflags -c -DTRY=13 try.c >/dev/null 2>&1; then
-                                       voidflags=13
-                                       echo "But it supports 4 and 8."
-                               else
-                                       if $cc $ccflags -c -DTRY=5 try.c >/dev/null 2>&1; then
-                                               voidflags=5
-                                               echo "And it supports 4 but has not heard about 8."
-                                       else
-                                               echo "However it supports 8 but not 4."
-                                       fi
-                               fi
-                       fi
-               else
-                       echo "There is no support at all for void."
-                       voidflags=0
-               fi
-       fi
-esac
-case "$voidflags" in
-"$defvoidused") ;;
-*)     $cat >&4 <<'EOM'
-  Support flag bits are:
-    1: basic void declarations.
-    2: arrays of pointers to functions returning void.
-    4: operations between pointers to and addresses of void functions.
-    8: generic void pointers.
-EOM
-       dflt="$voidflags";
-       rp="Your void support flags add up to what?"
-       . ./myread
-       voidflags="$ans"
-       ;;
-esac
-$rm -f try.* .out
-
-: check for length of pointer
-echo " "
-case "$ptrsize" in
-'')
-       echo "Checking to see how big your pointers are..." >&4
-       if test "$voidflags" -gt 7; then
-               echo '#define VOID_PTR char *' > try.c
-       else
-               echo '#define VOID_PTR void *' > try.c
-       fi
-       $cat >>try.c <<'EOCP'
-#include <stdio.h>
-int main()
-{
-    printf("%d\n", (int)sizeof(VOID_PTR));
-    exit(0);
-}
-EOCP
-       set try
-       if eval $compile_ok; then
-               ptrsize=`$run ./try`
-               echo "Your pointers are $ptrsize bytes long."
-       else
-               dflt='4'
-               echo "(I can't seem to compile the test program.  Guessing...)" >&4
-               rp="What is the size of a pointer (in bytes)?"
-               . ./myread
-               ptrsize="$ans"
-       fi
-       ;;
-esac
-$rm -f try.c try
-
-: check for long long
-echo " "
-echo "Checking to see if you have long long..." >&4
-echo 'int main() { long long x = 7; return 0; }' > try.c
-set try
-if eval $compile; then
-       val="$define"
-       echo "You have long long."
-else
-       val="$undef"
-       echo "You do not have long long."
-fi
-$rm try.*
-set d_longlong
-eval $setvar
-
-: check for length of long long
-case "${d_longlong}${longlongsize}" in
-$define)
-       echo " "
-       echo "Checking to see how big your long longs are..." >&4
-       $cat >try.c <<'EOCP'
-#include <stdio.h>
-int main()
-{
-    printf("%d\n", (int)sizeof(long long));
-    return(0);
-}
-EOCP
-       set try
-       if eval $compile_ok; then
-               longlongsize=`$run ./try`
-               echo "Your long longs are $longlongsize bytes long."
+       set try
+       if eval $compile_ok; then
+               longlongsize=`$run ./try`
+               echo "Your long longs are $longlongsize bytes long."
        else
                dflt='8'
                echo " "
@@ -5359,31 +5384,6 @@ EOM
        ;;
 esac
 
-case "$use64bitall" in
-"$define"|true|[yY]*)
-       case "$ptrsize" in
-       4)      cat <<EOM >&4
-
-*** You have chosen a maximally 64-bit build, but your pointers
-*** are only 4 bytes wide, disabling maximal 64-bitness.
-
-EOM
-               use64bitall="$undef"
-               case "$use64bitint" in
-               "$define"|true|[yY]*) ;;
-               *)      cat <<EOM >&4
-
-*** Downgrading from maximal 64-bitness to using 64-bit integers.
-
-EOM
-                       use64bitint="$define"
-                       ;;
-               esac
-               ;;
-       esac
-       ;;
-esac
-
 case "$use64bitint" in
 "$define"|true|[yY]*)
 : Look for a hint-file generated 'call-back-unit'.  If the
@@ -5422,26 +5422,43 @@ esac
 
 echo " "
 echo "Checking for GNU C Library..." >&4
-cat >try.c <<EOM
+cat >try.c <<'EOCP'
+/* Find out version of GNU C library.  __GLIBC__ and __GLIBC_MINOR__
+   alone are insufficient to distinguish different versions, such as
+   2.0.6 and 2.0.7.  The function gnu_get_libc_version() appeared in
+   libc version 2.1.0.      A. Dougherty,  June 3, 2002.
+*/
 #include <stdio.h>
-int main()
+int main(void)
 {
 #ifdef __GLIBC__
-    exit(0);
+#   ifdef __GLIBC_MINOR__
+#       if __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1
+#           include <gnu/libc-version.h>
+           printf("%s\n",  gnu_get_libc_version());
+#       else
+           printf("%d.%d\n",  __GLIBC__, __GLIBC_MINOR__);
+#       endif
+#   else
+       printf("%d\n",  __GLIBC__);
+#   endif
+    return 0;
 #else
-    exit(1);
+    return 1;
 #endif
 }
-EOM
+EOCP
 set try
-if eval $compile_ok && $run ./try; then
+if eval $compile_ok && $run ./try > glibc.ver; then
        val="$define"
-       echo "You are using the GNU C Library"
+       gnulibc_version=`$cat glibc.ver`
+       echo "You are using the GNU C Library version $gnulibc_version"
 else
        val="$undef"
+       gnulibc_version=''
        echo "You are not using the GNU C Library"
 fi
-$rm -f try try.*
+$rm -f try try.* glibc.ver
 set d_gnulibc
 eval $setvar
 
@@ -5458,7 +5475,7 @@ case "$usenm" in
        esac
        case "$dflt" in
        '') 
-               if $test "$osname" = aix -a ! -f /lib/syscalls.exp; then
+               if $test "$osname" = aix -a "X$PASE" != "Xdefine" -a ! -f /lib/syscalls.exp; then
                        echo " "
                        echo "Whoops!  This is an AIX system without /lib/syscalls.exp!" >&4
                        echo "'nm' won't be sufficient on this sytem." >&4
@@ -5694,7 +5711,7 @@ done >libc.tmp
 $echo $n ".$c"
 $grep fprintf libc.tmp > libc.ptf
 xscan='eval "<libc.ptf $com >libc.list"; $echo $n ".$c" >&4'
-xrun='eval "<libc.tmp $com >libc.list"; echo "done" >&4'
+xrun='eval "<libc.tmp $com >libc.list"; echo "done." >&4'
 xxx='[ADTSIW]'
 if com="$sed -n -e 's/__IO//' -e 's/^.* $xxx  *_[_.]*//p' -e 's/^.* $xxx  *//p'";\
        eval $xscan;\
@@ -5805,11 +5822,19 @@ else
        fi
 fi
 nm_extract="$com"
-if $test -f /lib/syscalls.exp; then
+case "$PASE" in
+define)
+    echo " "
+    echo "Since you are compiling for PASE, extracting more symbols from libc.a ...">&4
+    dump -Tv /lib/libc.a | awk '$7 == "/unix" {print $5 " " $8}' | grep "^SV" | awk '{print $2}' >> libc.list
+    ;;
+*)  if $test -f /lib/syscalls.exp; then
        echo " "
        echo "Also extracting names from /lib/syscalls.exp for good ole AIX..." >&4
        $sed -n 's/^\([^        ]*\)[   ]*syscall[0-9]*[        ]*$/\1/p' /lib/syscalls.exp >>libc.list
-fi
+    fi
+    ;;
+esac
 ;;
 esac
 $rm -f libnames libpath
@@ -5881,6 +5906,25 @@ esac'
 set sqrtl d_sqrtl
 eval $inlibc
 
+hasproto='varname=$1; func=$2; shift; shift;
+while $test $# -ge 2; do
+       case "$1" in
+       $define) echo "#include <$2>";;
+       esac ;
+    shift 2;
+done > try.c;
+$cppstdin $cppflags $cppminus < try.c > tryout.c 2>/dev/null;
+if $contains "$func.*(" tryout.c >/dev/null 2>&1; then
+       echo "$func() prototype found.";
+       val="$define";
+else
+       echo "$func() prototype NOT found.";
+       val="$undef";
+fi;
+set $varname;
+eval $setvar;
+$rm -f try.c tryout.c'
+
 : check for length of double
 echo " "
 case "$doublesize" in
@@ -6076,6 +6120,11 @@ esac
 set modfl d_modfl
 eval $inlibc
 
+: see if prototype for modfl is available
+echo " "
+set d_modflproto modfl math.h
+eval $hasproto
+
 d_modfl_pow32_bug="$undef"
 
 case "$d_longdbl$d_modfl" in
@@ -6086,6 +6135,14 @@ EOM
 $cat >try.c <<EOCP
 #include <math.h> 
 #include <stdio.h>
+EOCP
+if $test "X$d_modflproto" != "X$define"; then
+       $cat >>try.c <<EOCP
+/* Sigh. many current glibcs provide the function, but do not prototype it.  */ 
+long double modfl (long double, long double *);
+EOCP
+fi
+$cat >>try.c <<EOCP
 int main() {
     long double nv = 4294967303.15;
     long double v, w;
@@ -6204,51 +6261,6 @@ EOM
        uselongdouble=$undef
 fi
 
-case "$useperlio" in
-$define|true|[yY]*|'') dflt='y';;
-*) dflt='n';;
-esac
-cat <<EOM
-
-Previous version of $package used the standard IO mechanisms as
-defined in <stdio.h>.  Versions 5.003_02 and later of $package allow
-alternate IO mechanisms via the PerlIO abstraction layer, but the
-stdio mechanism is still available if needed.  The abstraction layer
-can use AT&T's sfio (if you already have sfio installed) or regular stdio.
-Using PerlIO with sfio may cause problems with some extension modules.
-
-If this doesn't make any sense to you, just accept the default '$dflt'.
-EOM
-rp='Use the PerlIO abstraction layer?'
-. ./myread
-case "$ans" in
-y|Y) 
-       val="$define"
-       ;;
-*)      
-       echo "Ok, doing things the stdio way."
-       val="$undef"
-       ;;
-esac
-set useperlio
-eval $setvar 
-
-case "$usesocks" in
-$define|true|[yY]*)
-       case "$useperlio" in
-       $define|true|[yY]*) ;;
-       *)      cat >&4 <<EOM
-
-You are using the SOCKS proxy protocol library which means that you
-should also use the PerlIO layer.  You may be headed for trouble.
-
-EOM
-               ;;
-       esac
-       ;;
-esac
-
-       
 : determine the architecture name
 echo " "
 if xxx=`./loc arch blurfl $pth`; $test -f "$xxx"; then
@@ -6370,6 +6382,9 @@ case "$prefix" in
 '')
        dflt=`./loc . /usr/local /usr/local /local /opt /usr`
        ;;
+*?/)
+       dflt=`echo "$prefix" | sed 's/.$//'`
+       ;;
 *)
        dflt="$prefix"
        ;;
@@ -6441,9 +6456,9 @@ else
 $cat <<EOM
 
 In some special cases, particularly when building $package for distribution,
-it is convenient to distinguish between the directory in which files should 
-be installed from the directory ($prefix) in which they 
-will eventually reside.  For most users, these two directories are the same.
+it is convenient to distinguish the directory in which files should be
+installed from the directory ($prefix) in which they will
+eventually reside.  For most users, these two directories are the same.
 
 EOM
        case "$installprefix" in
@@ -6628,45 +6643,6 @@ else
        installarchlib="$archlibexp"
 fi
 
-
-: Binary compatibility with 5.005 is not possible for builds
-: with advanced features
-case "$usethreads$usemultiplicity" in
-*define*)
-       bincompat5005="$undef"
-       d_bincompat5005="$undef"
-       ;;
-*)     $cat <<EOM
-
-This version of Perl can be compiled for binary compatibility with 5.005.
-If you decide to do so, you will be able to continue using most of the
-extensions that were compiled for Perl 5.005.
-
-EOM
-       case "$bincompat5005$d_bincompat5005" in
-       *"$undef"*) dflt=n ;;
-       *) dflt=y ;;
-       esac
-       rp='Binary compatibility with Perl 5.005?'
-       . ./myread
-       case "$ans" in
-       y*) val="$define" ;;
-       *)  val="$undef" ;;
-       esac
-       set d_bincompat5005
-       eval $setvar
-       case "$d_bincompat5005" in
-       "$define")
-               bincompat5005="$define"
-               ;;
-       *)      bincompat5005="$undef"
-               d_bincompat5005="$undef"
-               ;;
-       esac
-       ;;
-esac
-
-
 : see if setuid scripts can be secure
 $cat <<EOM
 
@@ -6729,61 +6705,228 @@ EOM
                esac
                rp='Does your kernel have *secure* setuid scripts?'
                . ./myread
-               case "$ans" in
-               [yY]*)  val="$define";;
-               *)      val="$undef";;
-               esac
+               case "$ans" in
+               [yY]*)  val="$define";;
+               *)      val="$undef";;
+               esac
+       fi
+else
+       echo "I don't think setuid scripts are secure (no /dev/fd directory)." >&4
+       echo "(That's for file descriptors, not floppy disks.)"
+       val="$undef"
+fi
+set d_suidsafe
+eval $setvar
+
+$rm -f reflect flect
+
+: now see if they want to do setuid emulation
+echo " "
+val="$undef"
+case "$d_suidsafe" in
+"$define")
+       val="$undef"
+       echo "No need to emulate SUID scripts since they are secure here." >&4
+       ;;
+*)
+       $cat <<EOM
+Some systems have disabled setuid scripts, especially systems where
+setuid scripts cannot be secure.  On systems where setuid scripts have
+been disabled, the setuid/setgid bits on scripts are currently
+useless.  It is possible for $package to detect those bits and emulate
+setuid/setgid in a secure fashion.  This emulation will only work if
+setuid scripts have been disabled in your kernel.
+
+EOM
+       case "$d_dosuid" in
+       "$define") dflt=y ;;
+       *) dflt=n ;;
+       esac
+       rp="Do you want to do setuid/setgid emulation?"
+       . ./myread
+       case "$ans" in
+       [yY]*)  val="$define";;
+       *)      val="$undef";;
+       esac
+       ;;
+esac
+set d_dosuid
+eval $setvar
+
+: see if this is a malloc.h system
+: we want a real compile instead of Inhdr because some systems have a
+: malloc.h that just gives a compile error saying to use stdlib.h instead
+echo " "
+$cat >try.c <<EOCP
+#include <stdlib.h>
+#include <malloc.h>
+int main () { return 0; }
+EOCP
+set try
+if eval $compile; then
+    echo "<malloc.h> found." >&4
+    val="$define"
+else
+    echo "<malloc.h> NOT found." >&4
+    val="$undef"
+fi
+$rm -f try.c try
+set i_malloc
+eval $setvar
+
+: see if stdlib is available
+set stdlib.h i_stdlib
+eval $inhdr
+
+: check for void type
+echo " "
+echo "Checking to see how well your C compiler groks the void type..." >&4
+case "$voidflags" in
+'')
+       $cat >try.c <<'EOCP'
+#if TRY & 1
+void sub() {
+#else
+sub() {
+#endif
+       extern void moo();      /* function returning void */
+       void (*goo)();          /* ptr to func returning void */
+#if TRY & 8
+       void *hue;              /* generic ptr */
+#endif
+#if TRY & 2
+       void (*foo[10])();
+#endif
+
+#if TRY & 4
+       if(goo == moo) {
+               exit(0);
+       }
+#endif
+       exit(0);
+}
+int main() { sub(); }
+EOCP
+       if $cc $ccflags -c -DTRY=$defvoidused try.c >.out 2>&1 ; then
+               voidflags=$defvoidused
+       echo "Good.  It appears to support void to the level $package wants.">&4
+               if $contains warning .out >/dev/null 2>&1; then
+                       echo "However, you might get some warnings that look like this:"
+                       $cat .out
+               fi
+       else
+echo "Hmm, your compiler has some difficulty with void. Checking further..." >&4
+               if $cc $ccflags -c -DTRY=1 try.c >/dev/null 2>&1; then
+                       echo "It supports 1..."
+                       if $cc $ccflags -c -DTRY=3 try.c >/dev/null 2>&1; then
+                               echo "It also supports 2..."
+                               if $cc $ccflags -c -DTRY=7 try.c >/dev/null 2>&1; then
+                                       voidflags=7
+                                       echo "And it supports 4 but not 8 definitely."
+                               else
+                                       echo "It doesn't support 4..."
+                                       if $cc $ccflags -c -DTRY=11 try.c >/dev/null 2>&1; then
+                                               voidflags=11
+                                               echo "But it supports 8."
+                                       else
+                                               voidflags=3
+                                               echo "Neither does it support 8."
+                                       fi
+                               fi
+                       else
+                               echo "It does not support 2..."
+                               if $cc $ccflags -c -DTRY=13 try.c >/dev/null 2>&1; then
+                                       voidflags=13
+                                       echo "But it supports 4 and 8."
+                               else
+                                       if $cc $ccflags -c -DTRY=5 try.c >/dev/null 2>&1; then
+                                               voidflags=5
+                                               echo "And it supports 4 but has not heard about 8."
+                                       else
+                                               echo "However it supports 8 but not 4."
+                                       fi
+                               fi
+                       fi
+               else
+                       echo "There is no support at all for void."
+                       voidflags=0
+               fi
+       fi
+esac
+case "$voidflags" in
+"$defvoidused") ;;
+*)     $cat >&4 <<'EOM'
+  Support flag bits are:
+    1: basic void declarations.
+    2: arrays of pointers to functions returning void.
+    4: operations between pointers to and addresses of void functions.
+    8: generic void pointers.
+EOM
+       dflt="$voidflags";
+       rp="Your void support flags add up to what?"
+       . ./myread
+       voidflags="$ans"
+       ;;
+esac
+$rm -f try.* .out
+
+: check for length of pointer
+echo " "
+case "$ptrsize" in
+'')
+       echo "Checking to see how big your pointers are..." >&4
+       if test "$voidflags" -gt 7; then
+               echo '#define VOID_PTR char *' > try.c
+       else
+               echo '#define VOID_PTR void *' > try.c
+       fi
+       $cat >>try.c <<'EOCP'
+#include <stdio.h>
+int main()
+{
+    printf("%d\n", (int)sizeof(VOID_PTR));
+    exit(0);
+}
+EOCP
+       set try
+       if eval $compile_ok; then
+               ptrsize=`$run ./try`
+               echo "Your pointers are $ptrsize bytes long."
+       else
+               dflt='4'
+               echo "(I can't seem to compile the test program.  Guessing...)" >&4
+               rp="What is the size of a pointer (in bytes)?"
+               . ./myread
+               ptrsize="$ans"
        fi
-else
-       echo "I don't think setuid scripts are secure (no /dev/fd directory)." >&4
-       echo "(That's for file descriptors, not floppy disks.)"
-       val="$undef"
-fi
-set d_suidsafe
-eval $setvar
+       ;;
+esac
+$rm -f try.c try
+case "$use64bitall" in
+"$define"|true|[yY]*)
+       case "$ptrsize" in
+       4)      cat <<EOM >&4
 
-$rm -f reflect flect
+*** You have chosen a maximally 64-bit build, but your pointers
+*** are only 4 bytes wide, disabling maximal 64-bitness.
 
-: now see if they want to do setuid emulation
-echo " "
-val="$undef"
-case "$d_suidsafe" in
-"$define")
-       val="$undef"
-       echo "No need to emulate SUID scripts since they are secure here." >&4
-       ;;
-*)
-       $cat <<EOM
-Some systems have disabled setuid scripts, especially systems where
-setuid scripts cannot be secure.  On systems where setuid scripts have
-been disabled, the setuid/setgid bits on scripts are currently
-useless.  It is possible for $package to detect those bits and emulate
-setuid/setgid in a secure fashion.  This emulation will only work if
-setuid scripts have been disabled in your kernel.
+EOM
+               use64bitall="$undef"
+               case "$use64bitint" in
+               "$define"|true|[yY]*) ;;
+               *)      cat <<EOM >&4
+
+*** Downgrading from maximal 64-bitness to using 64-bit integers.
 
 EOM
-       case "$d_dosuid" in
-       "$define") dflt=y ;;
-       *) dflt=n ;;
-       esac
-       rp="Do you want to do setuid/setgid emulation?"
-       . ./myread
-       case "$ans" in
-       [yY]*)  val="$define";;
-       *)      val="$undef";;
+                       use64bitint="$define"
+                       ;;
+               esac
+               ;;
        esac
        ;;
 esac
-set d_dosuid
-eval $setvar
 
-: see if this is a malloc.h system
-set malloc.h i_malloc
-eval $inhdr
-
-: see if stdlib is available
-set stdlib.h i_stdlib
-eval $inhdr
 
 : determine which malloc to compile in
 echo " "
@@ -7236,6 +7379,62 @@ set extras
 eval $setvar
 echo " "
 
+: determine where html pages for programs go
+set html1dir html1dir none
+eval $prefixit
+$cat <<EOM
+
+If you wish to install html files for programs in $spackage, indicate 
+the appropriate directory here.  To skip installing html files,
+answer "none".
+EOM
+case "$html1dir" in
+''|none|$undef|' ') dflt=none ;;
+*) dflt=$html1dir ;;
+esac
+fn=dn+~
+rp="Directory for the main $spackage html pages?"
+. ./getfile
+html1dir="$ans"
+html1direxp="$ansexp"
+: Use ' ' for none so value is preserved next time through Configure
+$test X"$html1dir" = "X" && html1dir=' '
+: Change installation prefix, if necessary.
+if $test X"$prefix" != X"$installprefix"; then
+       installhtml1dir=`echo $html1direxp | sed "s#^$prefix#$installprefix#"`
+else
+       installhtml1dir="$html1direxp"
+fi
+
+: determine where html pages for libraries and modules go
+set html3dir html3dir none
+eval $prefixit
+$cat <<EOM
+
+If you wish to install html files for modules associated with $spackage,
+indicate the appropriate directory here.  To skip installing html files,
+answer "none".
+EOM
+: There is no obvious default.  If they have specified html1dir, then
+: try to key off that, possibly changing .../html1 into .../html3.
+case "$html3dir" in
+'') html3dir=`echo "$html1dir" | $sed 's/1$/3$/'` ;;
+*) dflt=$html3dir ;;
+esac
+fn=dn+~
+rp="Directory for the $spackage module html pages?"
+. ./getfile
+html3dir="$ans"
+html3direxp="$ansexp"
+: Use ' ' for none so value is preserved next time through Configure
+$test X"$html3dir" = "X" && html3dir=' '
+: Change installation prefix, if necessary.
+if $test X"$prefix" != X"$installprefix"; then
+       installhtml3dir=`echo $html3direxp | sed "s#^$prefix#$installprefix#"`
+else
+       installhtml3dir="$html3direxp"
+fi
+
 : Find perl5.005 or later.
 echo "Looking for a previously installed perl5.005 or later... "
 case "$perl5" in
@@ -7323,13 +7522,9 @@ case "$dflt" in
 ''|' ') dflt=none ;;
 esac
 case "$dflt" in
-5.005) case "$bincompat5005" in
-       $define|true|[yY]*) ;;
-       *) dflt=none ;;
-       esac
-       ;;
+5.005) dflt=none ;;
 esac
-$cat <<'EOM'
+$cat <<EOM
 
 In order to ease the process of upgrading, this version of perl 
 can be configured to use modules built and installed with earlier 
@@ -7364,13 +7559,33 @@ echo " "
 if $test -d /usr/bin -a "X$installbin" != X/usr/bin; then
        $cat <<EOM
 Many scripts expect perl to be installed as /usr/bin/perl.
-I can install the perl you are about to compile also as /usr/bin/perl
-(in addition to $installbin/perl).
+
+If you want to, I can install the perl you are about to compile
+as /usr/bin/perl (in addition to $bin/perl).
 EOM
-       case "$installusrbinperl" in
-       "$undef"|[nN]*) dflt='n';;
-       *)              dflt='y';;
-       esac
+       if test -f /usr/bin/perl; then
+           $cat <<EOM
+
+However, please note that because you already have a /usr/bin/perl,
+overwriting that with a new Perl would very probably cause problems.
+Therefore I'm assuming you don't want to do that (unless you insist).
+
+EOM
+           case "$installusrbinperl" in
+           "$define"|[yY]*)    dflt='y';;
+           *)                  dflt='n';;
+           esac
+       else
+           $cat <<EOM
+
+Since you don't have a /usr/bin/perl I'm assuming creating one is okay.
+
+EOM
+           case "$installusrbinperl" in
+           "$undef"|[nN]*)     dflt='n';;
+           *)                  dflt='y';;
+           esac
+       fi
        rp="Do you want to install perl as /usr/bin/perl?"
        . ./myread
        case "$ans" in
@@ -7771,7 +7986,7 @@ if "$useshrplib"; then
        solaris)
                xxx="-R $shrpdir"
                ;;
-       freebsd|netbsd)
+       freebsd|netbsd|openbsd)
                xxx="-Wl,-R$shrpdir"
                ;;
        bsdos|linux|irix*|dec_osf)
@@ -8382,6 +8597,12 @@ esac
 set versiononly
 eval $setvar
 
+case "$versiononly" in
+"$define") inc_version_list=''
+           inc_version_list_init=0
+           ;;
+esac
+
 : figure out how to guarantee perl startup
 case "$startperl" in
 '')
@@ -8512,6 +8733,116 @@ else
        installsitebin="$sitebinexp"
 fi
 
+: determine where add-on html pages go
+: There is no standard location, so try to copy the previously-selected 
+: directory structure for the core html pages.
+case "$sitehtml1" in
+'')    dflt=`echo "$html1dir" | $sed "s#^$prefix#$siteprefix#"` ;;
+*)     dflt=$sitehtml1 ;;
+esac
+case "$dflt" in
+''|' ') dflt=none ;;
+esac
+fn=dn+~
+rp='Pathname where the site-specific html pages should be installed?'
+. ./getfile
+sitehtml1="$ans"
+sitehtml1exp="$ansexp"
+: Use ' ' for none so value is preserved next time through Configure
+$test X"$sitehtml1" = "X" && sitehtml1=' '
+: Change installation prefix, if necessary.
+if $test X"$prefix" != X"$installprefix"; then
+       installsitehtml1=`echo "$sitehtml1exp" | $sed "s#^$prefix#$installprefix#"`
+else
+       installsitehtml1="$sitehtml1exp"
+fi
+
+: determine where add-on library html pages go
+: There is no standard location, so try to copy the previously-selected
+: directory structure for the core html pages.
+case "$sitehtml3" in
+'')    dflt=`echo "$html3dir" | $sed "s#^$prefix#$siteprefix#"` ;;
+*)     dflt=$sitehtml3 ;;
+esac
+case "$dflt" in
+''|' ') dflt=none ;;
+esac
+fn=dn+~
+rp='Pathname where the site-specific library html pages should be installed?'
+. ./getfile
+sitehtml3="$ans"
+sitehtml3exp="$ansexp"
+: Use ' ' for none so value is preserved next time through Configure
+$test X"$sitehtml3" = "X" && sitehtml3=' '
+: Change installation prefix, if necessary.
+if $test X"$prefix" != X"$installprefix"; then
+       installsitehtml3=`echo "$sitehtml3exp" | $sed "s#^$prefix#$installprefix#"`
+else
+       installsitehtml3="$sitehtml3exp"
+fi
+
+: determine where add-on manual pages go
+case "$siteman1" in
+'')    dflt=`echo "$man1dir" | $sed "s#^$prefix#$siteprefix#"` ;;
+*)     dflt=$siteman1 ;;
+esac
+case "$dflt" in
+''|' ') dflt=none ;;
+esac
+fn=dn+~
+rp='Pathname where the site-specific manual pages should be installed?'
+. ./getfile
+siteman1="$ans"
+siteman1exp="$ansexp"
+: Use ' ' for none so value is preserved next time through Configure
+$test X"$siteman1" = "X" && siteman1=' '
+: Change installation prefix, if necessary.
+if $test X"$prefix" != X"$installprefix"; then
+       installsiteman1=`echo "$siteman1exp" | $sed "s#^$prefix#$installprefix#"`
+else
+       installsiteman1="$siteman1exp"
+fi
+
+: determine where add-on library man pages go
+case "$siteman3" in
+'')    dflt=`echo "$man3dir" | $sed "s#^$prefix#$siteprefix#"` ;;
+*)     dflt=$siteman3 ;;
+esac
+case "$dflt" in
+''|' ') dflt=none ;;
+esac
+fn=dn+~
+rp='Pathname where the site-specific library manual pages should be installed?'
+. ./getfile
+siteman3="$ans"
+siteman3exp="$ansexp"
+: Use ' ' for none so value is preserved next time through Configure
+$test X"$siteman3" = "X" && siteman3=' '
+: Change installation prefix, if necessary.
+if $test X"$prefix" != X"$installprefix"; then
+       installsiteman3=`echo "$siteman3exp" | $sed "s#^$prefix#$installprefix#"`
+else
+       installsiteman3="$siteman3exp"
+fi
+
+: determine where add-on public executable scripts go
+case "$sitescript" in
+'')    dflt=$siteprefix/script
+       $test -d $dflt || dflt=$sitebin ;;
+*)  dflt="$sitescript" ;;
+esac
+fn=d~+
+rp='Pathname where add-on public executable scripts should be installed?'
+. ./getfile
+sitescript="$ans"
+sitescriptexp="$ansexp"
+: Change installation prefix, if necessary.
+if $test X"$prefix" != X"$installprefix"; then
+       installsitescript=`echo $sitescriptexp | sed "s#^$prefix#$installprefix#"`
+else
+       installsitescript="$sitescriptexp"
+fi
+
 : define an is-a-typedef? function
 typedef='type=$1; var=$2; def=$3; shift; shift; shift; inclist=$@;
 case "$inclist" in
@@ -8768,7 +9099,157 @@ esac
 if $test X"$prefix" != X"$installprefix"; then
        installvendorbin=`echo $vendorbinexp | $sed "s#^$prefix#$installprefix#"`
 else
-       installvendorbin="$vendorbinexp"
+       installvendorbin="$vendorbinexp"
+fi
+
+case "$vendorprefix" in
+'')    vendorhtml1=''
+       vendorhtml1exp=''
+       ;;
+*)     : determine where vendor-supplied html pages go.
+       : There is no standard location, so try to copy the previously-selected
+       : directory structure for the core html pages.
+       : XXX Better default suggestions would be welcome.
+       case "$vendorhtml1" in
+       '')     dflt=`echo "$html1dir" | $sed "s#^$prefix#$vendorprefix#"` ;;
+       *)      dflt=$vendorhtml1 ;;
+       esac
+       case "$dflt" in
+       ''|' ') dflt=none ;;
+       esac
+       fn=dn+~
+       rp='Pathname for the vendor-supplied html pages?'
+       . ./getfile
+       vendorhtml1="$ans"
+       vendorhtml1exp="$ansexp"
+       ;;
+esac
+: Use ' ' for none so value is preserved next time through Configure
+$test X"$vendorhtml1" = "X" && vendorhtml1=' '
+: Change installation prefix, if necessary.
+if $test X"$prefix" != X"$installprefix"; then
+       installvendorhtml1=`echo $vendorhtml1exp | $sed "s#^$prefix#$installprefix#"`
+else
+       installvendorhtml1="$vendorhtml1exp"
+fi
+
+case "$vendorprefix" in
+'')    vendorhtml3=''
+       vendorhtml3exp=''
+       ;;
+*)     : determine where vendor-supplied module html pages go.
+       : There is no standard location, so try to copy the previously-selected
+       : directory structure for the core html pages.
+       : XXX Better default suggestions would be welcome.
+       case "$vendorhtml3" in
+       '')     dflt=`echo "$html3dir" | $sed "s#^$prefix#$vendorprefix#"` ;;
+       *)      dflt=$vendorhtml3 ;;
+       esac
+       case "$dflt" in
+       ''|' ') dflt=none ;;
+       esac
+       fn=dn+~
+       rp='Pathname for the vendor-supplied html pages?'
+       . ./getfile
+       vendorhtml3="$ans"
+       vendorhtml3exp="$ansexp"
+       ;;
+esac
+: Use ' ' for none so value is preserved next time through Configure
+$test X"$vendorhtml3" = "X" && vendorhtml3=' '
+: Change installation prefix, if necessary.
+if $test X"$prefix" != X"$installprefix"; then
+       installvendorhtml3=`echo $vendorhtml3exp | $sed "s#^$prefix#$installprefix#"`
+else
+       installvendorhtml3="$vendorhtml3exp"
+fi
+
+case "$vendorprefix" in
+'')    vendorman1=''
+       vendorman1exp=''
+       ;;
+*)     : determine where vendor-supplied manual pages go.
+       case "$vendorman1" in
+       '') dflt=`echo "$man1dir" | $sed "s#^$prefix#$vendorprefix#"` ;;
+       *)      dflt=$vendorman1 ;;
+       esac
+       case "$dflt" in
+       ''|' ') dflt=none ;;
+       esac
+       fn=nd~+
+       rp='Pathname for the vendor-supplied manual section 1 pages?'
+       . ./getfile
+       vendorman1="$ans"
+       vendorman1exp="$ansexp"
+       ;;
+esac
+: Use ' ' for none so value is preserved next time through Configure
+$test X"$vendorman1" = "X" && vendorman1=' '
+: Change installation prefix, if necessary.
+if $test X"$prefix" != X"$installprefix"; then
+       installvendorman1=`echo "$vendorman1exp" | $sed "s#^$prefix#$installprefix#"`
+else
+       installvendorman1="$vendorman1exp"
+fi
+
+case "$vendorprefix" in
+'')    vendorman3=''
+       vendorman3exp=''
+       ;;
+*)     : determine where vendor-supplied module manual pages go.
+       case "$vendorman3" in
+       '') dflt=`echo "$man3dir" | $sed "s#^$prefix#$vendorprefix#"` ;;
+       *)      dflt=$vendorman3 ;;
+       esac
+       case "$dflt" in
+       ''|' ') dflt=none ;;
+       esac
+       fn=nd~+
+       rp='Pathname for the vendor-supplied manual section 3 pages?'
+       . ./getfile
+       vendorman3="$ans"
+       vendorman3exp="$ansexp"
+       ;;
+esac
+: Use ' ' for none so value is preserved next time through Configure
+$test X"$vendorman3" = "X" && vendorman3=' '
+: Change installation prefix, if necessary.
+if $test X"$prefix" != X"$installprefix"; then
+       installvendorman3=`echo "$vendorman3exp" | $sed "s#^$prefix#$installprefix#"`
+else
+       installvendorman3="$vendorman3exp"
+fi
+
+case "$vendorprefix" in
+'')    d_vendorscript="$undef"
+       vendorscript=''
+       vendorscriptexp=''
+       ;;
+*)     d_vendorscript="$define"
+       : determine where vendor-supplied scripts go.
+       case "$vendorscript" in
+       '')     dflt=$vendorprefix/script
+               $test -d $dflt || dflt=$vendorbin ;;
+       *)  dflt="$vendorscript" ;;
+       esac
+       $cat <<EOM
+
+The installation process will create a directory for 
+vendor-supplied scripts.
+
+EOM
+       fn=d~+
+       rp='Pathname for the vendor-supplied scripts directory?'
+       . ./getfile
+       vendorscript="$ans"
+       vendorscriptexp="$ansexp"
+       ;;
+esac
+: Change installation prefix, if necessary.
+if $test X"$prefix" != X"$installprefix"; then
+       installvendorscript=`echo $vendorscriptexp | $sed "s#^$prefix#$installprefix#"`
+else
+       installvendorscript="$vendorscriptexp"
 fi
 
 : see if qgcvt exists
@@ -9070,6 +9551,10 @@ eval $inlibc
 set alarm d_alarm
 eval $inlibc
 
+: see if POSIX threads are available
+set pthread.h i_pthread
+eval $inhdr
+
 : define a fucntion to check prototypes
 $cat > protochk <<EOSH
 $startsh
@@ -9079,6 +9564,9 @@ ccflags="$ccflags"
 prototype="$prototype"
 define="$define"
 rm=$rm
+usethreads=$usethreads
+i_pthread=$i_pthread
+pthread_h_first=$pthread_h_first
 EOSH
 
 $cat >> protochk <<'EOSH'
@@ -9091,6 +9579,14 @@ while test $# -ge 2; do
                $define) echo "#include <$2>" >> try.c ;;
                literal) echo "$2" >> try.c ;;
        esac
+    # Extra magic for the benefit of systems that need pthread.h
+    # to be included early to correctly detect threadsafe functions.
+    # Such functions must guarantee themselves, though, that the usethreads
+    # and i_pthread have been defined, before calling protochk.
+    if test "$usethreads" = "$define" -a "$i_pthread" = "$define" -a "$pthread_h_first" = "$define" -a "$pthread_h_done" = ""; then
+       echo "#include <pthread.h>" >> try.c
+       pthread_h_done=yes
+    fi
     shift 2
 done
 test "$prototype" = "$define"  && echo '#define CAN_PROTOTYPE' >> try.c
@@ -9111,25 +9607,6 @@ EOSH
 chmod +x protochk
 $eunicefix protochk
 
-hasproto='varname=$1; func=$2; shift; shift;
-while $test $# -ge 2; do
-       case "$1" in
-       $define) echo "#include <$2>";;
-       esac ;
-    shift 2;
-done > try.c;
-$cppstdin $cppflags $cppminus < try.c > tryout.c 2>/dev/null;
-if $contains "$func.*(" tryout.c >/dev/null 2>&1; then
-       echo "$func() prototype found.";
-       val="$define";
-else
-       echo "$func() prototype NOT found.";
-       val="$undef";
-fi;
-set $varname;
-eval $setvar;
-$rm -f try.c tryout.c'
-
 : see if sys/types.h has to be included
 set sys/types.h i_systypes
 eval $inhdr
@@ -9279,9 +9756,9 @@ set asctime_r d_asctime_r
 eval $inlibc
 case "$d_asctime_r" in
 "$define")
-       hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h"
-       case "$d_asctime_r_proto" in
-       '')     d_asctime_r_proto=define
+       hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h $i_systime sys/time.h"
+       case "$d_asctime_r_proto:$usethreads" in
+       ":define")      d_asctime_r_proto=define
                set d_asctime_r_proto asctime_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -9305,7 +9782,7 @@ case "$d_asctime_r" in
        ./protochk "extern $try" $hdrs && asctime_r_proto=I_SBI ;;
        esac
        case "$asctime_r_proto" in
-       '')     d_asctime_r=undef
+       ''|0)   d_asctime_r=undef
                asctime_r_proto=0
                echo "Disabling asctime_r, cannot determine prototype." >&4 ;;
        * )     case "$asctime_r_proto" in
@@ -9315,7 +9792,12 @@ case "$d_asctime_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have asctime_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "asctime_r has no prototype, not using it." >&4 ;;
+               esac
+               d_asctime_r=undef
+               asctime_r_proto=0
+               ;;
        esac
        ;;
 *)     asctime_r_proto=0
@@ -9933,8 +10415,8 @@ eval $inlibc
 case "$d_crypt_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_crypt crypt.h"
-       case "$d_crypt_r_proto" in
-       '')     d_crypt_r_proto=define
+       case "$d_crypt_r_proto:$usethreads" in
+       ":define")      d_crypt_r_proto=define
                set d_crypt_r_proto crypt_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -9946,7 +10428,11 @@ case "$d_crypt_r" in
        ./protochk "extern $try" $hdrs && crypt_r_proto=B_CCS ;;
        esac
        case "$crypt_r_proto" in
-       '')     d_crypt_r=undef
+       ''|0) try='char* crypt_r(const char*, const char*, CRYPTD*);'
+       ./protochk "extern $try" $hdrs && crypt_r_proto=B_CCD ;;
+       esac
+       case "$crypt_r_proto" in
+       ''|0)   d_crypt_r=undef
                crypt_r_proto=0
                echo "Disabling crypt_r, cannot determine prototype." >&4 ;;
        * )     case "$crypt_r_proto" in
@@ -9956,7 +10442,12 @@ case "$d_crypt_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have crypt_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "crypt_r has no prototype, not using it." >&4 ;;
+               esac
+               d_crypt_r=undef
+               crypt_r_proto=0
+               ;;
        esac
        ;;
 *)     crypt_r_proto=0
@@ -9980,9 +10471,9 @@ set ctermid_r d_ctermid_r
 eval $inlibc
 case "$d_ctermid_r" in
 "$define")
-       hdrs="$i_systypes sys/types.h define stdio.h $i_stdio stdio.h"
-       case "$d_ctermid_r_proto" in
-       '')     d_ctermid_r_proto=define
+       hdrs="$i_systypes sys/types.h define stdio.h "
+       case "$d_ctermid_r_proto:$usethreads" in
+       ":define")      d_ctermid_r_proto=define
                set d_ctermid_r_proto ctermid_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -9994,7 +10485,7 @@ case "$d_ctermid_r" in
        ./protochk "extern $try" $hdrs && ctermid_r_proto=B_B ;;
        esac
        case "$ctermid_r_proto" in
-       '')     d_ctermid_r=undef
+       ''|0)   d_ctermid_r=undef
                ctermid_r_proto=0
                echo "Disabling ctermid_r, cannot determine prototype." >&4 ;;
        * )     case "$ctermid_r_proto" in
@@ -10004,7 +10495,12 @@ case "$d_ctermid_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have ctermid_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "ctermid_r has no prototype, not using it." >&4 ;;
+               esac
+               d_ctermid_r=undef
+               ctermid_r_proto=0
+               ;;
        esac
        ;;
 *)     ctermid_r_proto=0
@@ -10016,9 +10512,9 @@ set ctime_r d_ctime_r
 eval $inlibc
 case "$d_ctime_r" in
 "$define")
-       hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h"
-       case "$d_ctime_r_proto" in
-       '')     d_ctime_r_proto=define
+       hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h $i_systime sys/time.h"
+       case "$d_ctime_r_proto:$usethreads" in
+       ":define")      d_ctime_r_proto=define
                set d_ctime_r_proto ctime_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -10042,7 +10538,7 @@ case "$d_ctime_r" in
        ./protochk "extern $try" $hdrs && ctime_r_proto=I_SBI ;;
        esac
        case "$ctime_r_proto" in
-       '')     d_ctime_r=undef
+       ''|0)   d_ctime_r=undef
                ctime_r_proto=0
                echo "Disabling ctime_r, cannot determine prototype." >&4 ;;
        * )     case "$ctime_r_proto" in
@@ -10052,7 +10548,12 @@ case "$d_ctime_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have ctime_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "ctime_r has no prototype, not using it." >&4 ;;
+               esac
+               d_ctime_r=undef
+               ctime_r_proto=0
+               ;;
        esac
        ;;
 *)     ctime_r_proto=0
@@ -10385,8 +10886,8 @@ eval $inlibc
 case "$d_drand48_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_stdlib stdlib.h"
-       case "$d_drand48_r_proto" in
-       '')     d_drand48_r_proto=define
+       case "$d_drand48_r_proto:$usethreads" in
+       ":define")      d_drand48_r_proto=define
                set d_drand48_r_proto drand48_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -10398,7 +10899,7 @@ case "$d_drand48_r" in
        ./protochk "extern $try" $hdrs && drand48_r_proto=I_ST ;;
        esac
        case "$drand48_r_proto" in
-       '')     d_drand48_r=undef
+       ''|0)   d_drand48_r=undef
                drand48_r_proto=0
                echo "Disabling drand48_r, cannot determine prototype." >&4 ;;
        * )     case "$drand48_r_proto" in
@@ -10408,7 +10909,12 @@ case "$d_drand48_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have drand48_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "drand48_r has no prototype, not using it." >&4 ;;
+               esac
+               d_drand48_r=undef
+               drand48_r_proto=0
+               ;;
        esac
        ;;
 *)     drand48_r_proto=0
@@ -10463,8 +10969,8 @@ eval $inlibc
 case "$d_endgrent_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_grp grp.h"
-       case "$d_endgrent_r_proto" in
-       '')     d_endgrent_r_proto=define
+       case "$d_endgrent_r_proto:$usethreads" in
+       ":define")      d_endgrent_r_proto=define
                set d_endgrent_r_proto endgrent_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -10480,7 +10986,7 @@ case "$d_endgrent_r" in
        ./protochk "extern $try" $hdrs && endgrent_r_proto=V_H ;;
        esac
        case "$endgrent_r_proto" in
-       '')     d_endgrent_r=undef
+       ''|0)   d_endgrent_r=undef
                endgrent_r_proto=0
                echo "Disabling endgrent_r, cannot determine prototype." >&4 ;;
        * )     case "$endgrent_r_proto" in
@@ -10490,7 +10996,12 @@ case "$d_endgrent_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have endgrent_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "endgrent_r has no prototype, not using it." >&4 ;;
+               esac
+               d_endgrent_r=undef
+               endgrent_r_proto=0
+               ;;
        esac
        ;;
 *)     endgrent_r_proto=0
@@ -10511,8 +11022,8 @@ eval $inlibc
 case "$d_endhostent_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
-       case "$d_endhostent_r_proto" in
-       '')     d_endhostent_r_proto=define
+       case "$d_endhostent_r_proto:$usethreads" in
+       ":define")      d_endhostent_r_proto=define
                set d_endhostent_r_proto endhostent_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -10521,14 +11032,14 @@ case "$d_endhostent_r" in
        define)
        case "$endhostent_r_proto" in
        ''|0) try='int endhostent_r(struct hostent_data*);'
-       ./protochk "extern $try" $hdrs && endhostent_r_proto=I_S ;;
+       ./protochk "extern $try" $hdrs && endhostent_r_proto=I_D ;;
        esac
        case "$endhostent_r_proto" in
        ''|0) try='void endhostent_r(struct hostent_data*);'
-       ./protochk "extern $try" $hdrs && endhostent_r_proto=V_S ;;
+       ./protochk "extern $try" $hdrs && endhostent_r_proto=V_D ;;
        esac
        case "$endhostent_r_proto" in
-       '')     d_endhostent_r=undef
+       ''|0)   d_endhostent_r=undef
                endhostent_r_proto=0
                echo "Disabling endhostent_r, cannot determine prototype." >&4 ;;
        * )     case "$endhostent_r_proto" in
@@ -10538,7 +11049,12 @@ case "$d_endhostent_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have endhostent_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "endhostent_r has no prototype, not using it." >&4 ;;
+               esac
+               d_endhostent_r=undef
+               endhostent_r_proto=0
+               ;;
        esac
        ;;
 *)     endhostent_r_proto=0
@@ -10555,8 +11071,8 @@ eval $inlibc
 case "$d_endnetent_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
-       case "$d_endnetent_r_proto" in
-       '')     d_endnetent_r_proto=define
+       case "$d_endnetent_r_proto:$usethreads" in
+       ":define")      d_endnetent_r_proto=define
                set d_endnetent_r_proto endnetent_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -10565,14 +11081,14 @@ case "$d_endnetent_r" in
        define)
        case "$endnetent_r_proto" in
        ''|0) try='int endnetent_r(struct netent_data*);'
-       ./protochk "extern $try" $hdrs && endnetent_r_proto=I_S ;;
+       ./protochk "extern $try" $hdrs && endnetent_r_proto=I_D ;;
        esac
        case "$endnetent_r_proto" in
        ''|0) try='void endnetent_r(struct netent_data*);'
-       ./protochk "extern $try" $hdrs && endnetent_r_proto=V_S ;;
+       ./protochk "extern $try" $hdrs && endnetent_r_proto=V_D ;;
        esac
        case "$endnetent_r_proto" in
-       '')     d_endnetent_r=undef
+       ''|0)   d_endnetent_r=undef
                endnetent_r_proto=0
                echo "Disabling endnetent_r, cannot determine prototype." >&4 ;;
        * )     case "$endnetent_r_proto" in
@@ -10582,7 +11098,12 @@ case "$d_endnetent_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have endnetent_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "endnetent_r has no prototype, not using it." >&4 ;;
+               esac
+               d_endnetent_r=undef
+               endnetent_r_proto=0
+               ;;
        esac
        ;;
 *)     endnetent_r_proto=0
@@ -10599,8 +11120,8 @@ eval $inlibc
 case "$d_endprotoent_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
-       case "$d_endprotoent_r_proto" in
-       '')     d_endprotoent_r_proto=define
+       case "$d_endprotoent_r_proto:$usethreads" in
+       ":define")      d_endprotoent_r_proto=define
                set d_endprotoent_r_proto endprotoent_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -10609,14 +11130,14 @@ case "$d_endprotoent_r" in
        define)
        case "$endprotoent_r_proto" in
        ''|0) try='int endprotoent_r(struct protoent_data*);'
-       ./protochk "extern $try" $hdrs && endprotoent_r_proto=I_S ;;
+       ./protochk "extern $try" $hdrs && endprotoent_r_proto=I_D ;;
        esac
        case "$endprotoent_r_proto" in
        ''|0) try='void endprotoent_r(struct protoent_data*);'
-       ./protochk "extern $try" $hdrs && endprotoent_r_proto=V_S ;;
+       ./protochk "extern $try" $hdrs && endprotoent_r_proto=V_D ;;
        esac
        case "$endprotoent_r_proto" in
-       '')     d_endprotoent_r=undef
+       ''|0)   d_endprotoent_r=undef
                endprotoent_r_proto=0
                echo "Disabling endprotoent_r, cannot determine prototype." >&4 ;;
        * )     case "$endprotoent_r_proto" in
@@ -10626,7 +11147,12 @@ case "$d_endprotoent_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have endprotoent_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "endprotoent_r has no prototype, not using it." >&4 ;;
+               esac
+               d_endprotoent_r=undef
+               endprotoent_r_proto=0
+               ;;
        esac
        ;;
 *)     endprotoent_r_proto=0
@@ -10731,8 +11257,8 @@ eval $inlibc
 case "$d_endpwent_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h"
-       case "$d_endpwent_r_proto" in
-       '')     d_endpwent_r_proto=define
+       case "$d_endpwent_r_proto:$usethreads" in
+       ":define")      d_endpwent_r_proto=define
                set d_endpwent_r_proto endpwent_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -10748,7 +11274,7 @@ case "$d_endpwent_r" in
        ./protochk "extern $try" $hdrs && endpwent_r_proto=V_H ;;
        esac
        case "$endpwent_r_proto" in
-       '')     d_endpwent_r=undef
+       ''|0)   d_endpwent_r=undef
                endpwent_r_proto=0
                echo "Disabling endpwent_r, cannot determine prototype." >&4 ;;
        * )     case "$endpwent_r_proto" in
@@ -10758,7 +11284,12 @@ case "$d_endpwent_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have endpwent_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "endpwent_r has no prototype, not using it." >&4 ;;
+               esac
+               d_endpwent_r=undef
+               endpwent_r_proto=0
+               ;;
        esac
        ;;
 *)     endpwent_r_proto=0
@@ -10775,8 +11306,8 @@ eval $inlibc
 case "$d_endservent_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
-       case "$d_endservent_r_proto" in
-       '')     d_endservent_r_proto=define
+       case "$d_endservent_r_proto:$usethreads" in
+       ":define")      d_endservent_r_proto=define
                set d_endservent_r_proto endservent_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -10785,14 +11316,14 @@ case "$d_endservent_r" in
        define)
        case "$endservent_r_proto" in
        ''|0) try='int endservent_r(struct servent_data*);'
-       ./protochk "extern $try" $hdrs && endservent_r_proto=I_S ;;
+       ./protochk "extern $try" $hdrs && endservent_r_proto=I_D ;;
        esac
        case "$endservent_r_proto" in
        ''|0) try='void endservent_r(struct servent_data*);'
-       ./protochk "extern $try" $hdrs && endservent_r_proto=V_S ;;
+       ./protochk "extern $try" $hdrs && endservent_r_proto=V_D ;;
        esac
        case "$endservent_r_proto" in
-       '')     d_endservent_r=undef
+       ''|0)   d_endservent_r=undef
                endservent_r_proto=0
                echo "Disabling endservent_r, cannot determine prototype." >&4 ;;
        * )     case "$endservent_r_proto" in
@@ -10802,7 +11333,12 @@ case "$d_endservent_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have endservent_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "endservent_r has no prototype, not using it." >&4 ;;
+               esac
+               d_endservent_r=undef
+               endservent_r_proto=0
+               ;;
        esac
        ;;
 *)     endservent_r_proto=0
@@ -11446,8 +11982,8 @@ eval $inlibc
 case "$d_getgrent_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_grp grp.h"
-       case "$d_getgrent_r_proto" in
-       '')     d_getgrent_r_proto=define
+       case "$d_getgrent_r_proto:$usethreads" in
+       ":define")      d_getgrent_r_proto=define
                set d_getgrent_r_proto getgrent_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -11479,7 +12015,7 @@ case "$d_getgrent_r" in
        ./protochk "extern $try" $hdrs && getgrent_r_proto=I_SBIH ;;
        esac
        case "$getgrent_r_proto" in
-       '')     d_getgrent_r=undef
+       ''|0)   d_getgrent_r=undef
                getgrent_r_proto=0
                echo "Disabling getgrent_r, cannot determine prototype." >&4 ;;
        * )     case "$getgrent_r_proto" in
@@ -11489,7 +12025,12 @@ case "$d_getgrent_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have getgrent_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "getgrent_r has no prototype, not using it." >&4 ;;
+               esac
+               d_getgrent_r=undef
+               getgrent_r_proto=0
+               ;;
        esac
        ;;
 *)     getgrent_r_proto=0
@@ -11502,8 +12043,8 @@ eval $inlibc
 case "$d_getgrgid_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_grp grp.h"
-       case "$d_getgrgid_r_proto" in
-       '')     d_getgrgid_r_proto=define
+       case "$d_getgrgid_r_proto:$usethreads" in
+       ":define")      d_getgrgid_r_proto=define
                set d_getgrgid_r_proto getgrgid_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -11527,7 +12068,7 @@ case "$d_getgrgid_r" in
        ./protochk "extern $try" $hdrs && getgrgid_r_proto=S_TSBI ;;
        esac
        case "$getgrgid_r_proto" in
-       '')     d_getgrgid_r=undef
+       ''|0)   d_getgrgid_r=undef
                getgrgid_r_proto=0
                echo "Disabling getgrgid_r, cannot determine prototype." >&4 ;;
        * )     case "$getgrgid_r_proto" in
@@ -11537,7 +12078,12 @@ case "$d_getgrgid_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have getgrgid_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "getgrgid_r has no prototype, not using it." >&4 ;;
+               esac
+               d_getgrgid_r=undef
+               getgrgid_r_proto=0
+               ;;
        esac
        ;;
 *)     getgrgid_r_proto=0
@@ -11550,8 +12096,8 @@ eval $inlibc
 case "$d_getgrnam_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_grp grp.h"
-       case "$d_getgrnam_r_proto" in
-       '')     d_getgrnam_r_proto=define
+       case "$d_getgrnam_r_proto:$usethreads" in
+       ":define")      d_getgrnam_r_proto=define
                set d_getgrnam_r_proto getgrnam_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -11579,7 +12125,7 @@ case "$d_getgrnam_r" in
        ./protochk "extern $try" $hdrs && getgrnam_r_proto=S_CSBI ;;
        esac
        case "$getgrnam_r_proto" in
-       '')     d_getgrnam_r=undef
+       ''|0)   d_getgrnam_r=undef
                getgrnam_r_proto=0
                echo "Disabling getgrnam_r, cannot determine prototype." >&4 ;;
        * )     case "$getgrnam_r_proto" in
@@ -11589,7 +12135,12 @@ case "$d_getgrnam_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have getgrnam_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "getgrnam_r has no prototype, not using it." >&4 ;;
+               esac
+               d_getgrnam_r=undef
+               getgrnam_r_proto=0
+               ;;
        esac
        ;;
 *)     getgrnam_r_proto=0
@@ -11699,8 +12250,8 @@ eval $inlibc
 case "$d_gethostbyaddr_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
-       case "$d_gethostbyaddr_r_proto" in
-       '')     d_gethostbyaddr_r_proto=define
+       case "$d_gethostbyaddr_r_proto:$usethreads" in
+       ":define")      d_gethostbyaddr_r_proto=define
                set d_gethostbyaddr_r_proto gethostbyaddr_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -11748,7 +12299,7 @@ case "$d_gethostbyaddr_r" in
        ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=I_CII ;;
        esac
        case "$gethostbyaddr_r_proto" in
-       '')     d_gethostbyaddr_r=undef
+       ''|0)   d_gethostbyaddr_r=undef
                gethostbyaddr_r_proto=0
                echo "Disabling gethostbyaddr_r, cannot determine prototype." >&4 ;;
        * )     case "$gethostbyaddr_r_proto" in
@@ -11758,7 +12309,12 @@ case "$d_gethostbyaddr_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have gethostbyaddr_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "gethostbyaddr_r has no prototype, not using it." >&4 ;;
+               esac
+               d_gethostbyaddr_r=undef
+               gethostbyaddr_r_proto=0
+               ;;
        esac
        ;;
 *)     gethostbyaddr_r_proto=0
@@ -11771,8 +12327,8 @@ eval $inlibc
 case "$d_gethostbyname_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
-       case "$d_gethostbyname_r_proto" in
-       '')     d_gethostbyname_r_proto=define
+       case "$d_gethostbyname_r_proto:$usethreads" in
+       ":define")      d_gethostbyname_r_proto=define
                set d_gethostbyname_r_proto gethostbyname_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -11792,7 +12348,7 @@ case "$d_gethostbyname_r" in
        ./protochk "extern $try" $hdrs && gethostbyname_r_proto=I_CSD ;;
        esac
        case "$gethostbyname_r_proto" in
-       '')     d_gethostbyname_r=undef
+       ''|0)   d_gethostbyname_r=undef
                gethostbyname_r_proto=0
                echo "Disabling gethostbyname_r, cannot determine prototype." >&4 ;;
        * )     case "$gethostbyname_r_proto" in
@@ -11802,7 +12358,12 @@ case "$d_gethostbyname_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have gethostbyname_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "gethostbyname_r has no prototype, not using it." >&4 ;;
+               esac
+               d_gethostbyname_r=undef
+               gethostbyname_r_proto=0
+               ;;
        esac
        ;;
 *)     gethostbyname_r_proto=0
@@ -11815,8 +12376,8 @@ eval $inlibc
 case "$d_gethostent_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
-       case "$d_gethostent_r_proto" in
-       '')     d_gethostent_r_proto=define
+       case "$d_gethostent_r_proto:$usethreads" in
+       ":define")      d_gethostent_r_proto=define
                set d_gethostent_r_proto gethostent_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -11848,7 +12409,7 @@ case "$d_gethostent_r" in
        ./protochk "extern $try" $hdrs && gethostent_r_proto=I_SD ;;
        esac
        case "$gethostent_r_proto" in
-       '')     d_gethostent_r=undef
+       ''|0)   d_gethostent_r=undef
                gethostent_r_proto=0
                echo "Disabling gethostent_r, cannot determine prototype." >&4 ;;
        * )     case "$gethostent_r_proto" in
@@ -11858,7 +12419,12 @@ case "$d_gethostent_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have gethostent_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "gethostent_r has no prototype, not using it." >&4 ;;
+               esac
+               d_gethostent_r=undef
+               gethostent_r_proto=0
+               ;;
        esac
        ;;
 *)     gethostent_r_proto=0
@@ -11884,8 +12450,8 @@ eval $inlibc
 case "$d_getlogin_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_unistd unistd.h"
-       case "$d_getlogin_r_proto" in
-       '')     d_getlogin_r_proto=define
+       case "$d_getlogin_r_proto:$usethreads" in
+       ":define")      d_getlogin_r_proto=define
                set d_getlogin_r_proto getlogin_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -11909,7 +12475,7 @@ case "$d_getlogin_r" in
        ./protochk "extern $try" $hdrs && getlogin_r_proto=B_BI ;;
        esac
        case "$getlogin_r_proto" in
-       '')     d_getlogin_r=undef
+       ''|0)   d_getlogin_r=undef
                getlogin_r_proto=0
                echo "Disabling getlogin_r, cannot determine prototype." >&4 ;;
        * )     case "$getlogin_r_proto" in
@@ -11919,7 +12485,12 @@ case "$d_getlogin_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have getlogin_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "getlogin_r has no prototype, not using it." >&4 ;;
+               esac
+               d_getlogin_r=undef
+               getlogin_r_proto=0
+               ;;
        esac
        ;;
 *)     getlogin_r_proto=0
@@ -11952,8 +12523,8 @@ eval $inlibc
 case "$d_getnetbyaddr_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
-       case "$d_getnetbyaddr_r_proto" in
-       '')     d_getnetbyaddr_r_proto=define
+       case "$d_getnetbyaddr_r_proto:$usethreads" in
+       ":define")      d_getnetbyaddr_r_proto=define
                set d_getnetbyaddr_r_proto getnetbyaddr_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -11989,7 +12560,7 @@ case "$d_getnetbyaddr_r" in
        ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=I_IISD ;;
        esac
        case "$getnetbyaddr_r_proto" in
-       '')     d_getnetbyaddr_r=undef
+       ''|0)   d_getnetbyaddr_r=undef
                getnetbyaddr_r_proto=0
                echo "Disabling getnetbyaddr_r, cannot determine prototype." >&4 ;;
        * )     case "$getnetbyaddr_r_proto" in
@@ -11999,7 +12570,12 @@ case "$d_getnetbyaddr_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have getnetbyaddr_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "getnetbyaddr_r has no prototype, not using it." >&4 ;;
+               esac
+               d_getnetbyaddr_r=undef
+               getnetbyaddr_r_proto=0
+               ;;
        esac
        ;;
 *)     getnetbyaddr_r_proto=0
@@ -12012,8 +12588,8 @@ eval $inlibc
 case "$d_getnetbyname_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
-       case "$d_getnetbyname_r_proto" in
-       '')     d_getnetbyname_r_proto=define
+       case "$d_getnetbyname_r_proto:$usethreads" in
+       ":define")      d_getnetbyname_r_proto=define
                set d_getnetbyname_r_proto getnetbyname_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -12037,7 +12613,7 @@ case "$d_getnetbyname_r" in
        ./protochk "extern $try" $hdrs && getnetbyname_r_proto=I_CSD ;;
        esac
        case "$getnetbyname_r_proto" in
-       '')     d_getnetbyname_r=undef
+       ''|0)   d_getnetbyname_r=undef
                getnetbyname_r_proto=0
                echo "Disabling getnetbyname_r, cannot determine prototype." >&4 ;;
        * )     case "$getnetbyname_r_proto" in
@@ -12047,7 +12623,12 @@ case "$d_getnetbyname_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have getnetbyname_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "getnetbyname_r has no prototype, not using it." >&4 ;;
+               esac
+               d_getnetbyname_r=undef
+               getnetbyname_r_proto=0
+               ;;
        esac
        ;;
 *)     getnetbyname_r_proto=0
@@ -12060,8 +12641,8 @@ eval $inlibc
 case "$d_getnetent_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
-       case "$d_getnetent_r_proto" in
-       '')     d_getnetent_r_proto=define
+       case "$d_getnetent_r_proto:$usethreads" in
+       ":define")      d_getnetent_r_proto=define
                set d_getnetent_r_proto getnetent_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -12093,7 +12674,7 @@ case "$d_getnetent_r" in
        ./protochk "extern $try" $hdrs && getnetent_r_proto=I_SD ;;
        esac
        case "$getnetent_r_proto" in
-       '')     d_getnetent_r=undef
+       ''|0)   d_getnetent_r=undef
                getnetent_r_proto=0
                echo "Disabling getnetent_r, cannot determine prototype." >&4 ;;
        * )     case "$getnetent_r_proto" in
@@ -12103,7 +12684,12 @@ case "$d_getnetent_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have getnetent_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "getnetent_r has no prototype, not using it." >&4 ;;
+               esac
+               d_getnetent_r=undef
+               getnetent_r_proto=0
+               ;;
        esac
        ;;
 *)     getnetent_r_proto=0
@@ -12154,8 +12740,8 @@ eval $inlibc
 case "$d_getprotobyname_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
-       case "$d_getprotobyname_r_proto" in
-       '')     d_getprotobyname_r_proto=define
+       case "$d_getprotobyname_r_proto:$usethreads" in
+       ":define")      d_getprotobyname_r_proto=define
                set d_getprotobyname_r_proto getprotobyname_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -12175,7 +12761,7 @@ case "$d_getprotobyname_r" in
        ./protochk "extern $try" $hdrs && getprotobyname_r_proto=I_CSD ;;
        esac
        case "$getprotobyname_r_proto" in
-       '')     d_getprotobyname_r=undef
+       ''|0)   d_getprotobyname_r=undef
                getprotobyname_r_proto=0
                echo "Disabling getprotobyname_r, cannot determine prototype." >&4 ;;
        * )     case "$getprotobyname_r_proto" in
@@ -12185,7 +12771,12 @@ case "$d_getprotobyname_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have getprotobyname_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "getprotobyname_r has no prototype, not using it." >&4 ;;
+               esac
+               d_getprotobyname_r=undef
+               getprotobyname_r_proto=0
+               ;;
        esac
        ;;
 *)     getprotobyname_r_proto=0
@@ -12198,8 +12789,8 @@ eval $inlibc
 case "$d_getprotobynumber_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
-       case "$d_getprotobynumber_r_proto" in
-       '')     d_getprotobynumber_r_proto=define
+       case "$d_getprotobynumber_r_proto:$usethreads" in
+       ":define")      d_getprotobynumber_r_proto=define
                set d_getprotobynumber_r_proto getprotobynumber_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -12219,7 +12810,7 @@ case "$d_getprotobynumber_r" in
        ./protochk "extern $try" $hdrs && getprotobynumber_r_proto=I_ISD ;;
        esac
        case "$getprotobynumber_r_proto" in
-       '')     d_getprotobynumber_r=undef
+       ''|0)   d_getprotobynumber_r=undef
                getprotobynumber_r_proto=0
                echo "Disabling getprotobynumber_r, cannot determine prototype." >&4 ;;
        * )     case "$getprotobynumber_r_proto" in
@@ -12229,7 +12820,12 @@ case "$d_getprotobynumber_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have getprotobynumber_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "getprotobynumber_r has no prototype, not using it." >&4 ;;
+               esac
+               d_getprotobynumber_r=undef
+               getprotobynumber_r_proto=0
+               ;;
        esac
        ;;
 *)     getprotobynumber_r_proto=0
@@ -12242,8 +12838,8 @@ eval $inlibc
 case "$d_getprotoent_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
-       case "$d_getprotoent_r_proto" in
-       '')     d_getprotoent_r_proto=define
+       case "$d_getprotoent_r_proto:$usethreads" in
+       ":define")      d_getprotoent_r_proto=define
                set d_getprotoent_r_proto getprotoent_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -12267,7 +12863,7 @@ case "$d_getprotoent_r" in
        ./protochk "extern $try" $hdrs && getprotoent_r_proto=I_SD ;;
        esac
        case "$getprotoent_r_proto" in
-       '')     d_getprotoent_r=undef
+       ''|0)   d_getprotoent_r=undef
                getprotoent_r_proto=0
                echo "Disabling getprotoent_r, cannot determine prototype." >&4 ;;
        * )     case "$getprotoent_r_proto" in
@@ -12277,7 +12873,12 @@ case "$d_getprotoent_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have getprotoent_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "getprotoent_r has no prototype, not using it." >&4 ;;
+               esac
+               d_getprotoent_r=undef
+               getprotoent_r_proto=0
+               ;;
        esac
        ;;
 *)     getprotoent_r_proto=0
@@ -12303,8 +12904,8 @@ eval $inlibc
 case "$d_getpwent_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h"
-       case "$d_getpwent_r_proto" in
-       '')     d_getpwent_r_proto=define
+       case "$d_getpwent_r_proto:$usethreads" in
+       ":define")      d_getpwent_r_proto=define
                set d_getpwent_r_proto getpwent_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -12336,7 +12937,7 @@ case "$d_getpwent_r" in
        ./protochk "extern $try" $hdrs && getpwent_r_proto=I_SBIH ;;
        esac
        case "$getpwent_r_proto" in
-       '')     d_getpwent_r=undef
+       ''|0)   d_getpwent_r=undef
                getpwent_r_proto=0
                echo "Disabling getpwent_r, cannot determine prototype." >&4 ;;
        * )     case "$getpwent_r_proto" in
@@ -12346,7 +12947,12 @@ case "$d_getpwent_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have getpwent_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "getpwent_r has no prototype, not using it." >&4 ;;
+               esac
+               d_getpwent_r=undef
+               getpwent_r_proto=0
+               ;;
        esac
        ;;
 *)     getpwent_r_proto=0
@@ -12359,8 +12965,8 @@ eval $inlibc
 case "$d_getpwnam_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h"
-       case "$d_getpwnam_r_proto" in
-       '')     d_getpwnam_r_proto=define
+       case "$d_getpwnam_r_proto:$usethreads" in
+       ":define")      d_getpwnam_r_proto=define
                set d_getpwnam_r_proto getpwnam_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -12384,7 +12990,7 @@ case "$d_getpwnam_r" in
        ./protochk "extern $try" $hdrs && getpwnam_r_proto=I_CSBI ;;
        esac
        case "$getpwnam_r_proto" in
-       '')     d_getpwnam_r=undef
+       ''|0)   d_getpwnam_r=undef
                getpwnam_r_proto=0
                echo "Disabling getpwnam_r, cannot determine prototype." >&4 ;;
        * )     case "$getpwnam_r_proto" in
@@ -12394,7 +13000,12 @@ case "$d_getpwnam_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have getpwnam_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "getpwnam_r has no prototype, not using it." >&4 ;;
+               esac
+               d_getpwnam_r=undef
+               getpwnam_r_proto=0
+               ;;
        esac
        ;;
 *)     getpwnam_r_proto=0
@@ -12407,8 +13018,8 @@ eval $inlibc
 case "$d_getpwuid_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h"
-       case "$d_getpwuid_r_proto" in
-       '')     d_getpwuid_r_proto=define
+       case "$d_getpwuid_r_proto:$usethreads" in
+       ":define")      d_getpwuid_r_proto=define
                set d_getpwuid_r_proto getpwuid_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -12432,7 +13043,7 @@ case "$d_getpwuid_r" in
        ./protochk "extern $try" $hdrs && getpwuid_r_proto=S_TSBI ;;
        esac
        case "$getpwuid_r_proto" in
-       '')     d_getpwuid_r=undef
+       ''|0)   d_getpwuid_r=undef
                getpwuid_r_proto=0
                echo "Disabling getpwuid_r, cannot determine prototype." >&4 ;;
        * )     case "$getpwuid_r_proto" in
@@ -12442,7 +13053,12 @@ case "$d_getpwuid_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have getpwuid_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "getpwuid_r has no prototype, not using it." >&4 ;;
+               esac
+               d_getpwuid_r=undef
+               getpwuid_r_proto=0
+               ;;
        esac
        ;;
 *)     getpwuid_r_proto=0
@@ -12468,8 +13084,8 @@ eval $inlibc
 case "$d_getservbyname_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
-       case "$d_getservbyname_r_proto" in
-       '')     d_getservbyname_r_proto=define
+       case "$d_getservbyname_r_proto:$usethreads" in
+       ":define")      d_getservbyname_r_proto=define
                set d_getservbyname_r_proto getservbyname_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -12489,7 +13105,7 @@ case "$d_getservbyname_r" in
        ./protochk "extern $try" $hdrs && getservbyname_r_proto=I_CCSD ;;
        esac
        case "$getservbyname_r_proto" in
-       '')     d_getservbyname_r=undef
+       ''|0)   d_getservbyname_r=undef
                getservbyname_r_proto=0
                echo "Disabling getservbyname_r, cannot determine prototype." >&4 ;;
        * )     case "$getservbyname_r_proto" in
@@ -12499,7 +13115,12 @@ case "$d_getservbyname_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have getservbyname_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "getservbyname_r has no prototype, not using it." >&4 ;;
+               esac
+               d_getservbyname_r=undef
+               getservbyname_r_proto=0
+               ;;
        esac
        ;;
 *)     getservbyname_r_proto=0
@@ -12512,8 +13133,8 @@ eval $inlibc
 case "$d_getservbyport_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
-       case "$d_getservbyport_r_proto" in
-       '')     d_getservbyport_r_proto=define
+       case "$d_getservbyport_r_proto:$usethreads" in
+       ":define")      d_getservbyport_r_proto=define
                set d_getservbyport_r_proto getservbyport_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -12533,7 +13154,7 @@ case "$d_getservbyport_r" in
        ./protochk "extern $try" $hdrs && getservbyport_r_proto=I_ICSD ;;
        esac
        case "$getservbyport_r_proto" in
-       '')     d_getservbyport_r=undef
+       ''|0)   d_getservbyport_r=undef
                getservbyport_r_proto=0
                echo "Disabling getservbyport_r, cannot determine prototype." >&4 ;;
        * )     case "$getservbyport_r_proto" in
@@ -12543,7 +13164,12 @@ case "$d_getservbyport_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have getservbyport_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "getservbyport_r has no prototype, not using it." >&4 ;;
+               esac
+               d_getservbyport_r=undef
+               getservbyport_r_proto=0
+               ;;
        esac
        ;;
 *)     getservbyport_r_proto=0
@@ -12556,8 +13182,8 @@ eval $inlibc
 case "$d_getservent_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
-       case "$d_getservent_r_proto" in
-       '')     d_getservent_r_proto=define
+       case "$d_getservent_r_proto:$usethreads" in
+       ":define")      d_getservent_r_proto=define
                set d_getservent_r_proto getservent_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -12581,7 +13207,7 @@ case "$d_getservent_r" in
        ./protochk "extern $try" $hdrs && getservent_r_proto=I_SD ;;
        esac
        case "$getservent_r_proto" in
-       '')     d_getservent_r=undef
+       ''|0)   d_getservent_r=undef
                getservent_r_proto=0
                echo "Disabling getservent_r, cannot determine prototype." >&4 ;;
        * )     case "$getservent_r_proto" in
@@ -12591,7 +13217,12 @@ case "$d_getservent_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have getservent_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "getservent_r has no prototype, not using it." >&4 ;;
+               esac
+               d_getservent_r=undef
+               getservent_r_proto=0
+               ;;
        esac
        ;;
 *)     getservent_r_proto=0
@@ -12617,8 +13248,8 @@ eval $inlibc
 case "$d_getspnam_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_shadow shadow.h"
-       case "$d_getspnam_r_proto" in
-       '')     d_getspnam_r_proto=define
+       case "$d_getspnam_r_proto:$usethreads" in
+       ":define")      d_getspnam_r_proto=define
                set d_getspnam_r_proto getspnam_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -12634,7 +13265,7 @@ case "$d_getspnam_r" in
        ./protochk "extern $try" $hdrs && getspnam_r_proto=S_CSBI ;;
        esac
        case "$getspnam_r_proto" in
-       '')     d_getspnam_r=undef
+       ''|0)   d_getspnam_r=undef
                getspnam_r_proto=0
                echo "Disabling getspnam_r, cannot determine prototype." >&4 ;;
        * )     case "$getspnam_r_proto" in
@@ -12644,7 +13275,12 @@ case "$d_getspnam_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have getspnam_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "getspnam_r has no prototype, not using it." >&4 ;;
+               esac
+               d_getspnam_r=undef
+               getspnam_r_proto=0
+               ;;
        esac
        ;;
 *)     getspnam_r_proto=0
@@ -12675,9 +13311,9 @@ set gmtime_r d_gmtime_r
 eval $inlibc
 case "$d_gmtime_r" in
 "$define")
-       hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h"
-       case "$d_gmtime_r_proto" in
-       '')     d_gmtime_r_proto=define
+       hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h $i_systime sys/time.h"
+       case "$d_gmtime_r_proto:$usethreads" in
+       ":define")      d_gmtime_r_proto=define
                set d_gmtime_r_proto gmtime_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -12693,7 +13329,7 @@ case "$d_gmtime_r" in
        ./protochk "extern $try" $hdrs && gmtime_r_proto=I_TS ;;
        esac
        case "$gmtime_r_proto" in
-       '')     d_gmtime_r=undef
+       ''|0)   d_gmtime_r=undef
                gmtime_r_proto=0
                echo "Disabling gmtime_r, cannot determine prototype." >&4 ;;
        * )     case "$gmtime_r_proto" in
@@ -12703,7 +13339,12 @@ case "$d_gmtime_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have gmtime_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "gmtime_r has no prototype, not using it." >&4 ;;
+               esac
+               d_gmtime_r=undef
+               gmtime_r_proto=0
+               ;;
        esac
        ;;
 *)     gmtime_r_proto=0
@@ -12910,9 +13551,9 @@ set localtime_r d_localtime_r
 eval $inlibc
 case "$d_localtime_r" in
 "$define")
-       hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h"
-       case "$d_localtime_r_proto" in
-       '')     d_localtime_r_proto=define
+       hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h $i_systime sys/time.h"
+       case "$d_localtime_r_proto:$usethreads" in
+       ":define")      d_localtime_r_proto=define
                set d_localtime_r_proto localtime_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -12928,7 +13569,7 @@ case "$d_localtime_r" in
        ./protochk "extern $try" $hdrs && localtime_r_proto=I_TS ;;
        esac
        case "$localtime_r_proto" in
-       '')     d_localtime_r=undef
+       ''|0)   d_localtime_r=undef
                localtime_r_proto=0
                echo "Disabling localtime_r, cannot determine prototype." >&4 ;;
        * )     case "$localtime_r_proto" in
@@ -12938,7 +13579,12 @@ case "$d_localtime_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have localtime_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "localtime_r has no prototype, not using it." >&4 ;;
+               esac
+               d_localtime_r=undef
+               localtime_r_proto=0
+               ;;
        esac
        ;;
 *)     localtime_r_proto=0
@@ -13124,6 +13770,10 @@ eval $inlibc
 set munmap d_munmap
 eval $inlibc
 
+: see if nanosleep exists
+set nanosleep d_nanosleep
+eval $inlibc
+
 : see if nice exists
 set nice d_nice
 eval $inlibc
@@ -13421,18 +14071,18 @@ set try
 
 d_nv_preserves_uv="$undef"
 if eval $compile; then
-       d_nv_preserves_uv_bits="`$run ./try`"
+       nv_preserves_uv_bits="`$run ./try`"
 fi
-case "$d_nv_preserves_uv_bits" in
+case "$nv_preserves_uv_bits" in
 \-[1-9]*)      
-       d_nv_preserves_uv_bits=`expr 0 - $d_nv_preserves_uv_bits`
-       $echo "Your NVs can preserve all $d_nv_preserves_uv_bits bits of your UVs."  2>&1
+       nv_preserves_uv_bits=`expr 0 - $nv_preserves_uv_bits`
+       $echo "Your NVs can preserve all $nv_preserves_uv_bits bits of your UVs."  2>&1
        d_nv_preserves_uv="$define"
        ;;
-[1-9]*)        $echo "Your NVs can preserve only $d_nv_preserves_uv_bits bits of your UVs."  2>&1
+[1-9]*)        $echo "Your NVs can preserve only $nv_preserves_uv_bits bits of your UVs."  2>&1
        d_nv_preserves_uv="$undef" ;;
 *)     $echo "Can't figure out how many bits your NVs preserve." 2>&1
-       d_nv_preserves_uv_bits="$undef" ;;
+       nv_preserves_uv_bits="$undef" ;;
 esac
 
 $rm -f try.* try
@@ -13461,13 +14111,6 @@ $rm -f try.* try
 set d_off64_t
 eval $setvar
 
-: see if POSIX threads are available
-set pthread.h i_pthread
-eval $inhdr
-
-
-
-
 : how to create joinable pthreads
 if test "X$usethreads" = "X$define" -a "X$i_pthread" = "X$define"; then
        echo " "
@@ -13673,8 +14316,8 @@ eval $inlibc
 case "$d_random_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_stdlib stdlib.h"
-       case "$d_random_r_proto" in
-       '')     d_random_r_proto=define
+       case "$d_random_r_proto:$usethreads" in
+       ":define")      d_random_r_proto=define
                set d_random_r_proto random_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -13686,7 +14329,7 @@ case "$d_random_r" in
        ./protochk "extern $try" $hdrs && random_r_proto=I_TS ;;
        esac
        case "$random_r_proto" in
-       '')     d_random_r=undef
+       ''|0)   d_random_r=undef
                random_r_proto=0
                echo "Disabling random_r, cannot determine prototype." >&4 ;;
        * )     case "$random_r_proto" in
@@ -13696,7 +14339,12 @@ case "$d_random_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have random_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "random_r has no prototype, not using it." >&4 ;;
+               esac
+               d_random_r=undef
+               random_r_proto=0
+               ;;
        esac
        ;;
 *)     random_r_proto=0
@@ -13719,8 +14367,8 @@ eval $inlibc
 case "$d_readdir64_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_dirent dirent.h"
-       case "$d_readdir64_r_proto" in
-       '')     d_readdir64_r_proto=define
+       case "$d_readdir64_r_proto:$usethreads" in
+       ":define")      d_readdir64_r_proto=define
                set d_readdir64_r_proto readdir64_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -13736,7 +14384,7 @@ case "$d_readdir64_r" in
        ./protochk "extern $try" $hdrs && readdir64_r_proto=I_TS ;;
        esac
        case "$readdir64_r_proto" in
-       '')     d_readdir64_r=undef
+       ''|0)   d_readdir64_r=undef
                readdir64_r_proto=0
                echo "Disabling readdir64_r, cannot determine prototype." >&4 ;;
        * )     case "$readdir64_r_proto" in
@@ -13746,7 +14394,12 @@ case "$d_readdir64_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have readdir64_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "readdir64_r has no prototype, not using it." >&4 ;;
+               esac
+               d_readdir64_r=undef
+               readdir64_r_proto=0
+               ;;
        esac
        ;;
 *)     readdir64_r_proto=0
@@ -13759,8 +14412,8 @@ eval $inlibc
 case "$d_readdir_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_dirent dirent.h"
-       case "$d_readdir_r_proto" in
-       '')     d_readdir_r_proto=define
+       case "$d_readdir_r_proto:$usethreads" in
+       ":define")      d_readdir_r_proto=define
                set d_readdir_r_proto readdir_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -13776,7 +14429,7 @@ case "$d_readdir_r" in
        ./protochk "extern $try" $hdrs && readdir_r_proto=I_TS ;;
        esac
        case "$readdir_r_proto" in
-       '')     d_readdir_r=undef
+       ''|0)   d_readdir_r=undef
                readdir_r_proto=0
                echo "Disabling readdir_r, cannot determine prototype." >&4 ;;
        * )     case "$readdir_r_proto" in
@@ -13786,7 +14439,12 @@ case "$d_readdir_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have readdir_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "readdir_r has no prototype, not using it." >&4 ;;
+               esac
+               d_readdir_r=undef
+               readdir_r_proto=0
+               ;;
        esac
        ;;
 *)     readdir_r_proto=0
@@ -14303,8 +14961,8 @@ eval $inlibc
 case "$d_setgrent_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_grp grp.h"
-       case "$d_setgrent_r_proto" in
-       '')     d_setgrent_r_proto=define
+       case "$d_setgrent_r_proto:$usethreads" in
+       ":define")      d_setgrent_r_proto=define
                set d_setgrent_r_proto setgrent_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -14320,7 +14978,7 @@ case "$d_setgrent_r" in
        ./protochk "extern $try" $hdrs && setgrent_r_proto=V_H ;;
        esac
        case "$setgrent_r_proto" in
-       '')     d_setgrent_r=undef
+       ''|0)   d_setgrent_r=undef
                setgrent_r_proto=0
                echo "Disabling setgrent_r, cannot determine prototype." >&4 ;;
        * )     case "$setgrent_r_proto" in
@@ -14330,7 +14988,12 @@ case "$d_setgrent_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have setgrent_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "setgrent_r has no prototype, not using it." >&4 ;;
+               esac
+               d_setgrent_r=undef
+               setgrent_r_proto=0
+               ;;
        esac
        ;;
 *)     setgrent_r_proto=0
@@ -14347,8 +15010,8 @@ eval $inlibc
 case "$d_sethostent_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
-       case "$d_sethostent_r_proto" in
-       '')     d_sethostent_r_proto=define
+       case "$d_sethostent_r_proto:$usethreads" in
+       ":define")      d_sethostent_r_proto=define
                set d_sethostent_r_proto sethostent_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -14364,7 +15027,7 @@ case "$d_sethostent_r" in
        ./protochk "extern $try" $hdrs && sethostent_r_proto=V_ID ;;
        esac
        case "$sethostent_r_proto" in
-       '')     d_sethostent_r=undef
+       ''|0)   d_sethostent_r=undef
                sethostent_r_proto=0
                echo "Disabling sethostent_r, cannot determine prototype." >&4 ;;
        * )     case "$sethostent_r_proto" in
@@ -14374,7 +15037,12 @@ case "$d_sethostent_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have sethostent_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "sethostent_r has no prototype, not using it." >&4 ;;
+               esac
+               d_sethostent_r=undef
+               sethostent_r_proto=0
+               ;;
        esac
        ;;
 *)     sethostent_r_proto=0
@@ -14403,8 +15071,8 @@ eval $inlibc
 case "$d_setlocale_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_locale locale.h"
-       case "$d_setlocale_r_proto" in
-       '')     d_setlocale_r_proto=define
+       case "$d_setlocale_r_proto:$usethreads" in
+       ":define")      d_setlocale_r_proto=define
                set d_setlocale_r_proto setlocale_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -14416,7 +15084,7 @@ case "$d_setlocale_r" in
        ./protochk "extern $try" $hdrs && setlocale_r_proto=I_ICBI ;;
        esac
        case "$setlocale_r_proto" in
-       '')     d_setlocale_r=undef
+       ''|0)   d_setlocale_r=undef
                setlocale_r_proto=0
                echo "Disabling setlocale_r, cannot determine prototype." >&4 ;;
        * )     case "$setlocale_r_proto" in
@@ -14426,7 +15094,12 @@ case "$d_setlocale_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have setlocale_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "setlocale_r has no prototype, not using it." >&4 ;;
+               esac
+               d_setlocale_r=undef
+               setlocale_r_proto=0
+               ;;
        esac
        ;;
 *)     setlocale_r_proto=0
@@ -14443,8 +15116,8 @@ eval $inlibc
 case "$d_setnetent_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
-       case "$d_setnetent_r_proto" in
-       '')     d_setnetent_r_proto=define
+       case "$d_setnetent_r_proto:$usethreads" in
+       ":define")      d_setnetent_r_proto=define
                set d_setnetent_r_proto setnetent_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -14460,7 +15133,7 @@ case "$d_setnetent_r" in
        ./protochk "extern $try" $hdrs && setnetent_r_proto=V_ID ;;
        esac
        case "$setnetent_r_proto" in
-       '')     d_setnetent_r=undef
+       ''|0)   d_setnetent_r=undef
                setnetent_r_proto=0
                echo "Disabling setnetent_r, cannot determine prototype." >&4 ;;
        * )     case "$setnetent_r_proto" in
@@ -14470,7 +15143,12 @@ case "$d_setnetent_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have setnetent_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "setnetent_r has no prototype, not using it." >&4 ;;
+               esac
+               d_setnetent_r=undef
+               setnetent_r_proto=0
+               ;;
        esac
        ;;
 *)     setnetent_r_proto=0
@@ -14503,8 +15181,8 @@ eval $inlibc
 case "$d_setprotoent_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
-       case "$d_setprotoent_r_proto" in
-       '')     d_setprotoent_r_proto=define
+       case "$d_setprotoent_r_proto:$usethreads" in
+       ":define")      d_setprotoent_r_proto=define
                set d_setprotoent_r_proto setprotoent_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -14520,7 +15198,7 @@ case "$d_setprotoent_r" in
        ./protochk "extern $try" $hdrs && setprotoent_r_proto=V_ID ;;
        esac
        case "$setprotoent_r_proto" in
-       '')     d_setprotoent_r=undef
+       ''|0)   d_setprotoent_r=undef
                setprotoent_r_proto=0
                echo "Disabling setprotoent_r, cannot determine prototype." >&4 ;;
        * )     case "$setprotoent_r_proto" in
@@ -14530,7 +15208,12 @@ case "$d_setprotoent_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have setprotoent_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "setprotoent_r has no prototype, not using it." >&4 ;;
+               esac
+               d_setprotoent_r=undef
+               setprotoent_r_proto=0
+               ;;
        esac
        ;;
 *)     setprotoent_r_proto=0
@@ -14547,8 +15230,8 @@ eval $inlibc
 case "$d_setpwent_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h"
-       case "$d_setpwent_r_proto" in
-       '')     d_setpwent_r_proto=define
+       case "$d_setpwent_r_proto:$usethreads" in
+       ":define")      d_setpwent_r_proto=define
                set d_setpwent_r_proto setpwent_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -14564,7 +15247,7 @@ case "$d_setpwent_r" in
        ./protochk "extern $try" $hdrs && setpwent_r_proto=V_H ;;
        esac
        case "$setpwent_r_proto" in
-       '')     d_setpwent_r=undef
+       ''|0)   d_setpwent_r=undef
                setpwent_r_proto=0
                echo "Disabling setpwent_r, cannot determine prototype." >&4 ;;
        * )     case "$setpwent_r_proto" in
@@ -14574,7 +15257,12 @@ case "$d_setpwent_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have setpwent_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "setpwent_r has no prototype, not using it." >&4 ;;
+               esac
+               d_setpwent_r=undef
+               setpwent_r_proto=0
+               ;;
        esac
        ;;
 *)     setpwent_r_proto=0
@@ -14611,8 +15299,8 @@ eval $inlibc
 case "$d_setservent_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
-       case "$d_setservent_r_proto" in
-       '')     d_setservent_r_proto=define
+       case "$d_setservent_r_proto:$usethreads" in
+       ":define")      d_setservent_r_proto=define
                set d_setservent_r_proto setservent_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -14628,7 +15316,7 @@ case "$d_setservent_r" in
        ./protochk "extern $try" $hdrs && setservent_r_proto=V_ID ;;
        esac
        case "$setservent_r_proto" in
-       '')     d_setservent_r=undef
+       ''|0)   d_setservent_r=undef
                setservent_r_proto=0
                echo "Disabling setservent_r, cannot determine prototype." >&4 ;;
        * )     case "$setservent_r_proto" in
@@ -14638,7 +15326,12 @@ case "$d_setservent_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have setservent_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "setservent_r has no prototype, not using it." >&4 ;;
+               esac
+               d_setservent_r=undef
+               setservent_r_proto=0
+               ;;
        esac
        ;;
 *)     setservent_r_proto=0
@@ -14906,8 +15599,8 @@ eval $inlibc
 case "$d_srand48_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_stdlib stdlib.h"
-       case "$d_srand48_r_proto" in
-       '')     d_srand48_r_proto=define
+       case "$d_srand48_r_proto:$usethreads" in
+       ":define")      d_srand48_r_proto=define
                set d_srand48_r_proto srand48_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -14919,7 +15612,7 @@ case "$d_srand48_r" in
        ./protochk "extern $try" $hdrs && srand48_r_proto=I_LS ;;
        esac
        case "$srand48_r_proto" in
-       '')     d_srand48_r=undef
+       ''|0)   d_srand48_r=undef
                srand48_r_proto=0
                echo "Disabling srand48_r, cannot determine prototype." >&4 ;;
        * )     case "$srand48_r_proto" in
@@ -14929,7 +15622,12 @@ case "$d_srand48_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have srand48_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "srand48_r has no prototype, not using it." >&4 ;;
+               esac
+               d_srand48_r=undef
+               srand48_r_proto=0
+               ;;
        esac
        ;;
 *)     srand48_r_proto=0
@@ -14942,8 +15640,8 @@ eval $inlibc
 case "$d_srandom_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_stdlib stdlib.h"
-       case "$d_srandom_r_proto" in
-       '')     d_srandom_r_proto=define
+       case "$d_srandom_r_proto:$usethreads" in
+       ":define")      d_srandom_r_proto=define
                set d_srandom_r_proto srandom_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -14955,7 +15653,7 @@ case "$d_srandom_r" in
        ./protochk "extern $try" $hdrs && srandom_r_proto=I_TS ;;
        esac
        case "$srandom_r_proto" in
-       '')     d_srandom_r=undef
+       ''|0)   d_srandom_r=undef
                srandom_r_proto=0
                echo "Disabling srandom_r, cannot determine prototype." >&4 ;;
        * )     case "$srandom_r_proto" in
@@ -14965,7 +15663,12 @@ case "$d_srandom_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have srandom_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "srandom_r has no prototype, not using it." >&4 ;;
+               esac
+               d_srandom_r=undef
+               srandom_r_proto=0
+               ;;
        esac
        ;;
 *)     srandom_r_proto=0
@@ -15127,6 +15830,26 @@ else
        echo "Your stdio doesn't appear very std."
 fi
 $rm -f try.c try
+
+# glibc 2.2.90 and above apparently change stdio streams so Perl's
+# direct buffer manipulation no longer works.  The Configure tests
+# should be changed to correctly detect this, but until then,
+# the following check should at least let perl compile and run.
+# (This quick fix should be updated before 5.8.1.)
+# To be defensive, reject all unknown versions, and all versions  > 2.2.9.
+# A. Dougherty, June 3, 2002.
+case "$d_gnulibc" in
+$define)
+       case "$gnulibc_version" in
+       2.[01]*)  ;;
+       2.2) ;;
+       2.2.[0-9]) ;;
+       *)  echo "But I will not snoop inside glibc $gnulibc_version stdio buffers."
+               val="$undef"
+               ;;
+       esac
+       ;;
+esac
 set d_stdstdio
 eval $setvar
 
@@ -15377,8 +16100,8 @@ eval $inlibc
 case "$d_strerror_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_string string.h"
-       case "$d_strerror_r_proto" in
-       '')     d_strerror_r_proto=define
+       case "$d_strerror_r_proto:$usethreads" in
+       ":define")      d_strerror_r_proto=define
                set d_strerror_r_proto strerror_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -15398,7 +16121,7 @@ case "$d_strerror_r" in
        ./protochk "extern $try" $hdrs && strerror_r_proto=B_IBW ;;
        esac
        case "$strerror_r_proto" in
-       '')     d_strerror_r=undef
+       ''|0)   d_strerror_r=undef
                strerror_r_proto=0
                echo "Disabling strerror_r, cannot determine prototype." >&4 ;;
        * )     case "$strerror_r_proto" in
@@ -15408,7 +16131,12 @@ case "$d_strerror_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have strerror_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "strerror_r has no prototype, not using it." >&4 ;;
+               esac
+               d_strerror_r=undef
+               strerror_r_proto=0
+               ;;
        esac
        ;;
 *)     strerror_r_proto=0
@@ -15715,6 +16443,24 @@ echo " "
 set d_telldirproto telldir $i_systypes sys/types.h $i_dirent dirent.h
 eval $hasproto
 
+: see if time exists
+echo " "
+if test "X$d_time" = X -o X"$timetype" = X; then
+    if set time val -f d_time; eval $csym; $val; then
+               echo 'time() found.' >&4
+               val="$define"
+               rp="What is the type returned by time() on this system?"
+               set time_t timetype long stdio.h sys/types.h
+               eval $typedef_ask
+    else
+               echo 'time() not found, hope that will do.' >&4
+               val="$undef"
+               timetype='int';
+    fi
+    set d_time
+    eval $setvar
+fi
+
 : see if this is a sys/times.h system
 set sys/times.h i_systimes
 eval $inhdr
@@ -15742,9 +16488,9 @@ set tmpnam_r d_tmpnam_r
 eval $inlibc
 case "$d_tmpnam_r" in
 "$define")
-       hdrs="$i_systypes sys/types.h define stdio.h $i_stdio stdio.h"
-       case "$d_tmpnam_r_proto" in
-       '')     d_tmpnam_r_proto=define
+       hdrs="$i_systypes sys/types.h define stdio.h "
+       case "$d_tmpnam_r_proto:$usethreads" in
+       ":define")      d_tmpnam_r_proto=define
                set d_tmpnam_r_proto tmpnam_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -15756,7 +16502,7 @@ case "$d_tmpnam_r" in
        ./protochk "extern $try" $hdrs && tmpnam_r_proto=B_B ;;
        esac
        case "$tmpnam_r_proto" in
-       '')     d_tmpnam_r=undef
+       ''|0)   d_tmpnam_r=undef
                tmpnam_r_proto=0
                echo "Disabling tmpnam_r, cannot determine prototype." >&4 ;;
        * )     case "$tmpnam_r_proto" in
@@ -15766,7 +16512,12 @@ case "$d_tmpnam_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have tmpnam_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "tmpnam_r has no prototype, not using it." >&4 ;;
+               esac
+               d_tmpnam_r=undef
+               tmpnam_r_proto=0
+               ;;
        esac
        ;;
 *)     tmpnam_r_proto=0
@@ -15783,8 +16534,8 @@ eval $inlibc
 case "$d_ttyname_r" in
 "$define")
        hdrs="$i_systypes sys/types.h define stdio.h $i_unistd unistd.h"
-       case "$d_ttyname_r_proto" in
-       '')     d_ttyname_r_proto=define
+       case "$d_ttyname_r_proto:$usethreads" in
+       ":define")      d_ttyname_r_proto=define
                set d_ttyname_r_proto ttyname_r $hdrs
                eval $hasproto ;;
        *)      ;;
@@ -15804,7 +16555,7 @@ case "$d_ttyname_r" in
        ./protochk "extern $try" $hdrs && ttyname_r_proto=B_IBI ;;
        esac
        case "$ttyname_r_proto" in
-       '')     d_ttyname_r=undef
+       ''|0)   d_ttyname_r=undef
                ttyname_r_proto=0
                echo "Disabling ttyname_r, cannot determine prototype." >&4 ;;
        * )     case "$ttyname_r_proto" in
@@ -15814,7 +16565,12 @@ case "$d_ttyname_r" in
                echo "Prototype: $try" ;;
        esac
        ;;
-       *)      echo "You have ttyname_r but no prototype, not using it." >&4 ;;
+       *)      case "$usethreads" in
+               define) echo "ttyname_r has no prototype, not using it." >&4 ;;
+               esac
+               d_ttyname_r=undef
+               ttyname_r_proto=0
+               ;;
        esac
        ;;
 *)     ttyname_r_proto=0
@@ -15840,7 +16596,7 @@ case "$multiarch" in
 ''|[nN]*) multiarch="$undef" ;;
 esac
 
-: check for ordering of bytes in a long
+: check for ordering of bytes in a UV
 echo " "
 case "$usecrosscompile$multiarch" in
 *$define*)
@@ -15863,21 +16619,23 @@ an Alpha will report 12345678. 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>
+#include <sys/types.h>
+typedef $uvtype UV;
 int main()
 {
        int i;
        union {
-               unsigned long l;
-               char c[sizeof(long)];
+               UV l;
+               char c[$uvsize];
        } u;
 
-       if (sizeof(long) > 4)
-               u.l = (0x08070605L << 32) | 0x04030201L;
+       if ($uvsize > 4)
+               u.l = (((UV)0x08070605) << 32) | (UV)0x04030201;
        else
-               u.l = 0x04030201L;
-       for (i = 0; i < sizeof(long); i++)
+               u.l = (UV)0x04030201;
+       for (i = 0; i < $uvsize; i++)
                printf("%c", u.c[i]+'0');
        printf("\n");
        exit(0);
@@ -15904,7 +16662,7 @@ EOM
                fi
                case "$xxx_prompt" in
                y)
-                       rp="What is the order of bytes in a long?"
+                       rp="What is the order of bytes in $uvtype?"
                        . ./myread
                        byteorder="$ans"
                        ;;
@@ -17592,6 +18350,7 @@ EOM
        esac
 fi
 : locate the preferred pager for this system
+fn=f/
 case "$pager" in
 '')
        dflt=''
@@ -17611,10 +18370,14 @@ case "$pager" in
        '') dflt=/usr/ucb/more;;
        esac
        ;;
-*) dflt="$pager";;
+*)     dflt="$pager"
+       : Instruct ./getfile to trust the hinted or previous pager value,
+       : even if it does not begin with a slash.  For example, on os2,
+       : pager might be cmd /c more.  See comments in UU/getfile.
+       fn="f/($pager)"
+       ;;
 esac
 echo " "
-fn=f/
 rp='What pager is used on your system?'
 . ./getfile
 pager="$ans"
@@ -17625,10 +18388,7 @@ set pid_t pidtype int stdio.h sys/types.h
 eval $typedef_ask
 
 : Find earliest binary compatible site_perl subdirectory perl can use.
-case "$bincompat5005" in
-"$define") xs_apiversion='5.005' ;;
-*) xs_apiversion=$version ;;   # The current site_perl version.
-esac
+xs_apiversion=$version # The current site_perl version.
 : Find earliest pure perl site_perl subdirectory perl can use.
 : The versioned directories started at 5.005.
 pm_apiversion='5.005'
@@ -18247,24 +19007,6 @@ $rm -f stdioh
 
 
 
-: see if time exists
-echo " "
-if test "X$d_time" = X -o X"$timetype" = X; then
-    if set time val -f d_time; eval $csym; $val; then
-               echo 'time() found.' >&4
-               val="$define"
-               rp="What is the type returned by time() on this system?"
-               set time_t timetype long stdio.h sys/types.h
-               eval $typedef_ask
-    else
-               echo 'time() not found, hope that will do.' >&4
-               val="$undef"
-               timetype='int';
-    fi
-    set d_time
-    eval $setvar
-fi
-
 : see what type uids are declared as in the kernel
 echo " "
 echo "Looking for the type for user ids returned by getuid()."
@@ -18674,7 +19416,7 @@ for i in \`$cc -v -c tmp.c 2>&1 $postprocess_cc_v\`
 do
        case "\$i" in
        -D*) echo "\$i" | $sed 's/^-D//';;
-       -A*) $test "$gccversion" && echo "\$i" | $sed 's/^-A\(.*\)(\(.*\))/\1=\2/';;
+       -A*) $test "$gccversion" && echo "\$i" | $sed 's/^-A//' | $sed 's/\(.*\)(\(.*\))/\1=\2/';;
        esac
 done
 $rm -f try.c
@@ -18964,9 +19706,7 @@ eval $find_extensions
 # Special case:  Add in threads/shared since it is not picked up by the
 # recursive find above (and adding in general recursive finding breaks
 # SDBM_File/sdbm).  A.D.  10/25/2001.
-# Encode::XX need explicit mentions for the same reason.
-# --jhi 2002-03-04
-known_extensions="$known_extensions threads/shared Encode/CN Encode/JP Encode/KR Encode/TW"
+known_extensions="$known_extensions threads/shared"
 set X $nonxs_extensions
 shift
 nonxs_extensions="$*"
@@ -18998,7 +19738,7 @@ for xxx in $known_extensions ; do
                case "$i_ndbm" in
                $define)
                    case "$osname-$use64bitint" in
-                   cygwin-*|hpux-define)
+                   hpux-define)
                        case "$libs" in
                        *-lndbm*) avail_ext="$avail_ext $xxx" ;;
                        esac
@@ -19012,7 +19752,7 @@ for xxx in $known_extensions ; do
                case "${i_dbm}${i_rpcsvcdbm}" in
                *"${define}"*)
                    case "$osname-$use64bitint" in
-                   cygwin-*|hpux-define)
+                   hpux-define)
                        case "$libs" in
                        *-ldbm*) avail_ext="$avail_ext $xxx" ;;
                        esac
@@ -19056,14 +19796,33 @@ for xxx in $known_extensions ; do
                         esac
                esac
                ;;
-       threads|threads/shared)
-                case "$usethreads" in
-                true|$define|y)
-                        case "$useithreads" in
-                        $define|true|[yY]*) avail_ext="$avail_ext $xxx" ;;
-                        esac
+       XS/APItest|xs/apitest)
+               # This is just for testing.  Skip it unless we have dynamic loading.
+
+               case "$usedl" in
+               $define) avail_ext="$avail_ext $xxx" ;;
                esac
                ;;
+       XS/Typemap|xs/typemap)
+               # This is just for testing.  Skip it unless we have dynamic loading.
+               case "$usedl" in
+               $define) avail_ext="$avail_ext $xxx" ;;
+               esac
+               ;;
+       threads|threads/shared)
+               # threads and threads::shared are special cases.
+               # To stop people from asking "Perl 5.8.0 was supposed
+               # to have this new fancy threads implementation but my
+               # perl doesn't have it" and from people trying to
+               # (re)install the threads module using CPAN.pm and
+               # CPAN.pm then offering to reinstall Perl 5.8.0,
+               # the threads.pm and threads/shared.pm will always be
+               # there, croaking informatively ("you need to rebuild
+               # all of Perl with threads, sorry") when threads haven't
+               # been compiled in.
+               # --jhi
+               avail_ext="$avail_ext $xxx"
+               ;;
        IPC/SysV|ipc/sysv)
                : XXX Do we need a useipcsysv variable here
                case "${d_msg}${d_sem}${d_shm}" in 
@@ -19104,7 +19863,19 @@ Note that DynaLoader is always built and need not be mentioned here.
 
 EOM
        case "$dynamic_ext" in
-       '') dflt="$avail_ext" ;;
+       '')
+               : Exclude those listed in static_ext
+               dflt=''
+               for xxx in $avail_ext; do
+                       case " $static_ext " in
+                       *" $xxx "*) ;;
+                       *) dflt="$dflt $xxx" ;;
+                       esac
+               done
+               set X $dflt
+               shift
+               dflt="$*"
+               ;;
        *)      dflt="$dynamic_ext"
                # Perhaps we are reusing an old out-of-date config.sh.
                case "$hint" in
@@ -19200,6 +19971,20 @@ EOM
        esac
        ;;
 esac
+#        
+# Encode is a special case.  If we are building Encode as a static
+# extension, we need to explicitly list its subextensions as well.
+# For other nested extensions, this is handled automatically by
+# the appropriate Makefile.PL.
+case " $static_ext " in
+       *" Encode "*) # Add the subextensions of Encode
+       cd "$rsrc/ext"
+       for xxx in `ls Encode/*/Makefile.PL|awk -F/ '{print $2}'`; do
+               static_ext="$static_ext Encode/$xxx"
+       done
+       cd "$tdir"
+       ;;
+esac
 
 set X $dynamic_ext $static_ext $nonxs_ext
 shift
@@ -19331,7 +20116,6 @@ awk='$awk'
 baserev='$baserev'
 bash='$bash'
 bin='$bin'
-bincompat5005='$bincompat5005'
 binexp='$binexp'
 bison='$bison'
 byacc='$byacc'
@@ -19399,7 +20183,6 @@ d_atoll='$d_atoll'
 d_attribut='$d_attribut'
 d_bcmp='$d_bcmp'
 d_bcopy='$d_bcopy'
-d_bincompat5005='$d_bincompat5005'
 d_bsd='$d_bsd'
 d_bsdgetpgrp='$d_bsdgetpgrp'
 d_bsdsetpgrp='$d_bsdsetpgrp'
@@ -19575,6 +20358,7 @@ d_mktime='$d_mktime'
 d_mmap='$d_mmap'
 d_modfl='$d_modfl'
 d_modfl_pow32_bug='$d_modfl_pow32_bug'
+d_modflproto='$d_modflproto'
 d_mprotect='$d_mprotect'
 d_msg='$d_msg'
 d_msg_ctrunc='$d_msg_ctrunc'
@@ -19590,10 +20374,10 @@ d_msgsnd='$d_msgsnd'
 d_msync='$d_msync'
 d_munmap='$d_munmap'
 d_mymalloc='$d_mymalloc'
+d_nanosleep='$d_nanosleep'
 d_nice='$d_nice'
 d_nl_langinfo='$d_nl_langinfo'
 d_nv_preserves_uv='$d_nv_preserves_uv'
-d_nv_preserves_uv_bits='$d_nv_preserves_uv_bits'
 d_off64_t='$d_off64_t'
 d_old_pthread_create_joinable='$d_old_pthread_create_joinable'
 d_oldpthreads='$d_oldpthreads'
@@ -19756,6 +20540,7 @@ d_ustat='$d_ustat'
 d_vendorarch='$d_vendorarch'
 d_vendorbin='$d_vendorbin'
 d_vendorlib='$d_vendorlib'
+d_vendorscript='$d_vendorscript'
 d_vfork='$d_vfork'
 d_void_closedir='$d_void_closedir'
 d_voidsig='$d_voidsig'
@@ -19810,6 +20595,7 @@ from='$from'
 full_ar='$full_ar'
 full_csh='$full_csh'
 full_sed='$full_sed'
+gccansipedantic='$gccansipedantic'
 gccosandvers='$gccosandvers'
 gccversion='$gccversion'
 getgrent_r_proto='$getgrent_r_proto'
@@ -19839,6 +20625,7 @@ gidtype='$gidtype'
 glibpth='$glibpth'
 gmake='$gmake'
 gmtime_r_proto='$gmtime_r_proto'
+gnulibc_version='$gnulibc_version'
 grep='$grep'
 groupcat='$groupcat'
 groupstype='$groupstype'
@@ -19847,6 +20634,10 @@ h_fcntl='$h_fcntl'
 h_sysfile='$h_sysfile'
 hint='$hint'
 hostcat='$hostcat'
+html1dir='$html1dir'
+html1direxp='$html1direxp'
+html3dir='$html3dir'
+html3direxp='$html3direxp'
 i16size='$i16size'
 i16type='$i16type'
 i32size='$i32size'
@@ -19944,6 +20735,8 @@ incpath='$incpath'
 inews='$inews'
 installarchlib='$installarchlib'
 installbin='$installbin'
+installhtml1dir='$installhtml1dir'
+installhtml3dir='$installhtml3dir'
 installman1dir='$installman1dir'
 installman3dir='$installman3dir'
 installprefix='$installprefix'
@@ -19952,12 +20745,22 @@ installprivlib='$installprivlib'
 installscript='$installscript'
 installsitearch='$installsitearch'
 installsitebin='$installsitebin'
+installsitehtml1='$installsitehtml1'
+installsitehtml3='$installsitehtml3'
 installsitelib='$installsitelib'
+installsiteman1='$installsiteman1'
+installsiteman3='$installsiteman3'
+installsitescript='$installsitescript'
 installstyle='$installstyle'
 installusrbinperl='$installusrbinperl'
 installvendorarch='$installvendorarch'
 installvendorbin='$installvendorbin'
+installvendorhtml1='$installvendorhtml1'
+installvendorhtml3='$installvendorhtml3'
 installvendorlib='$installvendorlib'
+installvendorman1='$installvendorman1'
+installvendorman3='$installvendorman3'
+installvendorscript='$installvendorscript'
 intsize='$intsize'
 issymlink='$issymlink'
 ivdformat='$ivdformat'
@@ -20036,6 +20839,7 @@ nroff='$nroff'
 nvEUformat='$nvEUformat'
 nvFUformat='$nvFUformat'
 nvGUformat='$nvGUformat'
+nv_preserves_uv_bits='$nv_preserves_uv_bits'
 nveformat='$nveformat'
 nvfformat='$nvfformat'
 nvgformat='$nvgformat'
@@ -20135,11 +20939,21 @@ sitearch='$sitearch'
 sitearchexp='$sitearchexp'
 sitebin='$sitebin'
 sitebinexp='$sitebinexp'
+sitehtml1='$sitehtml1'
+sitehtml1exp='$sitehtml1exp'
+sitehtml3='$sitehtml3'
+sitehtml3exp='$sitehtml3exp'
 sitelib='$sitelib'
 sitelib_stem='$sitelib_stem'
 sitelibexp='$sitelibexp'
+siteman1='$siteman1'
+siteman1exp='$siteman1exp'
+siteman3='$siteman3'
+siteman3exp='$siteman3exp'
 siteprefix='$siteprefix'
 siteprefixexp='$siteprefixexp'
+sitescript='$sitescript'
+sitescriptexp='$sitescriptexp'
 sizesize='$sizesize'
 sizetype='$sizetype'
 sleep='$sleep'
@@ -20234,11 +21048,21 @@ vendorarch='$vendorarch'
 vendorarchexp='$vendorarchexp'
 vendorbin='$vendorbin'
 vendorbinexp='$vendorbinexp'
+vendorhtml1='$vendorhtml1'
+vendorhtml1exp='$vendorhtml1exp'
+vendorhtml3='$vendorhtml3'
+vendorhtml3exp='$vendorhtml3exp'
 vendorlib='$vendorlib'
 vendorlib_stem='$vendorlib_stem'
 vendorlibexp='$vendorlibexp'
+vendorman1='$vendorman1'
+vendorman1exp='$vendorman1exp'
+vendorman3='$vendorman3'
+vendorman3exp='$vendorman3exp'
 vendorprefix='$vendorprefix'
 vendorprefixexp='$vendorprefixexp'
+vendorscript='$vendorscript'
+vendorscriptexp='$vendorscriptexp'
 version='$version'
 version_patchlevel_string='$version_patchlevel_string'
 versiononly='$versiononly'