Configure update: both for pthread_yield more robust
Jarkko Hietaniemi [Thu, 22 Oct 1998 09:11:52 +0000 (09:11 +0000)]
testing (all variants of pthread_attr_getdetachstate()) --
and because Configure was broken in major way! About 1000
last lines were truncated.

p4raw-id: //depot/cfgperl@2034

Configure

index ba640b3..175536c 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
 
 # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
 #
-# Generated on Wed Oct 21 16:09:51 EET DST 1998 [metaconfig 3.0 PL70]
+# Generated on Thu Oct 22 10:24:53 EET DST 1998 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by jhi@iki.fi)
 
 cat >/tmp/c1$$ <<EOF
@@ -8245,7 +8245,11 @@ int main() {
     int detachstate;
     printf("%s\n",
        pthread_attr_init(&attr) == 0 &&
+#if PTHREAD_ATTR_GETDETACHSTATE_INT
+        pthread_attr_getdetachstate(&attr) == 0 &&
+#else
         pthread_attr_getdetachstate(&attr, &detachstate) == 0 &&
+#endif
         detachstate == PTHREAD_CREATE_DETACHED ?
         "detached" : "joinable");
     exit(0);
@@ -8259,9 +8263,18 @@ EOCP
                        *) echo "Yup, they are." >&4 ;;
                esac
        else
-               echo " "
-               echo "(I can't execute the test program--assuming they are.)" >&4
-               yyy=joinable
+               set try -DPTHREAD_ATTR_GETDETACHSTATE_INT
+               if eval $compile; then
+                       yyy=`./try`
+                       case "$yyy" in
+                               detached) echo "Nope, they aren't." >&4 ;;
+                               *) echo "Yup, they are." >&4 ;;
+                       esac
+               else            
+                       echo " "
+                       echo "(I can't execute the test program--assuming they are.)" >&4
+                       yyy=joinable
+               fi
        fi
        $rm -f try try.*
        case "$yyy" in
@@ -11319,4 +11332,1514 @@ case "$d_dbmclose" in
 $define)
        set dbm.h i_dbm
        eval $inhdr
-       case "$i_dbm"
\ No newline at end of file
+       case "$i_dbm" in
+       $define)
+               val="$undef"
+               set i_rpcsvcdbm
+               eval $setvar
+               ;;
+       *)      set rpcsvc/dbm.h i_rpcsvcdbm
+               eval $inhdr
+               ;;
+       esac
+       ;;
+*)     echo "We won't be including <dbm.h>"
+       val="$undef"
+       set i_dbm
+       eval $setvar
+       val="$undef"
+       set i_rpcsvcdbm
+       eval $setvar
+       ;;
+esac
+
+: see if this is a sys/file.h system
+val=''
+set sys/file.h val
+eval $inhdr
+
+: do we need to include sys/file.h ?
+case "$val" in
+"$define")
+       echo " "
+       if $h_sysfile; then
+               val="$define"
+               echo "We'll be including <sys/file.h>." >&4
+       else
+               val="$undef"
+               echo "We won't be including <sys/file.h>." >&4
+       fi
+       ;;
+*)
+       h_sysfile=false
+       ;;
+esac
+set i_sysfile
+eval $setvar
+
+: see if fcntl.h is there
+val=''
+set fcntl.h val
+eval $inhdr
+
+: see if we can include fcntl.h
+case "$val" in
+"$define")
+       echo " "
+       if $h_fcntl; then
+               val="$define"
+               echo "We'll be including <fcntl.h>." >&4
+       else
+               val="$undef"
+               if $h_sysfile; then
+       echo "We don't need to include <fcntl.h> if we include <sys/file.h>." >&4
+               else
+                       echo "We won't be including <fcntl.h>." >&4
+               fi
+       fi
+       ;;
+*)
+       h_fcntl=false
+       val="$undef"
+       ;;
+esac
+set i_fcntl
+eval $setvar
+
+: see if locale.h is available
+set locale.h i_locale
+eval $inhdr
+
+: see if this is a math.h system
+set math.h i_math
+eval $inhdr
+
+: see if ndbm.h is available
+set ndbm.h t_ndbm
+eval $inhdr
+case "$t_ndbm" in
+$define)
+       : see if dbm_open exists
+       set dbm_open d_dbm_open
+       eval $inlibc
+       case "$d_dbm_open" in
+       $undef)
+               t_ndbm="$undef"
+               echo "We won't be including <ndbm.h>"
+               ;;
+       esac
+       ;;
+esac
+val="$t_ndbm"
+set i_ndbm
+eval $setvar
+
+: see if net/errno.h is available
+val=''
+set net/errno.h val
+eval $inhdr
+
+: Unfortunately, it causes problems on some systems.  Arrgh.
+case "$val" in
+$define)
+       cat > try.c <<'EOM'
+#include <stdio.h>
+#include <errno.h>
+#include <net/errno.h>
+int func()
+{
+       return ENOTSOCK;
+}
+EOM
+       if $cc $ccflags -c try.c >/dev/null 2>&1; then
+               echo "We'll be including <net/errno.h>." >&4
+       else
+               echo "We won't be including <net/errno.h>." >&4
+               val="$undef"
+       fi
+       $rm -f try.* try
+       ;;
+esac
+set i_neterrno
+eval $setvar
+
+: get C preprocessor symbols handy
+echo " "
+$echo $n "Hmm... $c"
+echo $al | $tr ' ' $trnl >Cppsym.know
+$cat <<EOSS >Cppsym
+$startsh
+case "\$1" in
+-l) list=true
+       shift
+       ;;
+esac
+unknown=''
+case "\$list\$#" in
+1|2)
+       for sym do
+               if $contains "^\$1$" Cppsym.true >/dev/null 2>&1; then
+                       exit 0
+               elif $contains "^\$1$" Cppsym.know >/dev/null 2>&1; then
+                       :
+               else
+                       unknown="\$unknown \$sym"
+               fi
+       done
+       set X \$unknown
+       shift
+       ;;
+esac
+case \$# in
+0) exit 1;;
+esac
+echo \$* | $tr ' ' '$trnl' | $sed -e 's/\(.*\)/\\
+#ifdef \1\\
+exit 0; _ _ _ _\1\\     \1\\
+#endif\\
+/' >Cppsym\$\$
+echo "exit 1; _ _ _" >>Cppsym\$\$
+$cppstdin $cppminus <Cppsym\$\$ | $grep '^exit [01]; _ _'  >Cppsym2\$\$
+case "\$list" in
+true) $awk 'NF > 5 {print substr(\$6,2,100)}' <Cppsym2\$\$ ;;
+*)
+       sh Cppsym2\$\$
+       status=\$?
+       ;;
+esac
+$rm -f Cppsym\$\$ Cppsym2\$\$
+exit \$status
+EOSS
+chmod +x Cppsym
+$eunicefix Cppsym
+./Cppsym -l $al | $sort | $grep -v '^$' >Cppsym.true
+
+: now check the C compiler for additional symbols
+$cat >ccsym <<EOS
+$startsh
+$cat >tmp.c <<EOF
+extern int foo;
+EOF
+for i in \`$cc -v -c tmp.c 2>&1\`
+do
+       case "\$i" in
+       -D*) echo "\$i" | $sed 's/^-D//';;
+       -A*) $test "$gccversion" && echo "\$i" | $sed 's/^-A\(.*\)(\(.*\))/\1=\2/';;
+       esac
+done
+$rm -f try.c
+EOS
+chmod +x ccsym
+$eunicefix ccsym
+./ccsym > ccsym1.raw
+if $test -s ccsym1.raw; then
+       $sort ccsym1.raw | $uniq >ccsym.raw
+else
+       mv ccsym1.raw ccsym.raw
+fi
+
+$awk '/\=/ { print $0; next }
+       { print $0"=1" }' ccsym.raw >ccsym.list
+$awk '{ print $0"=1" }' Cppsym.true >ccsym.true
+$comm -13 ccsym.true ccsym.list >ccsym.own
+$comm -12 ccsym.true ccsym.list >ccsym.com
+$comm -23 ccsym.true ccsym.list >ccsym.cpp
+also=''
+symbols='symbols'
+if $test -z ccsym.raw; then
+       echo "Your C compiler doesn't seem to define any symbol!" >&4
+       echo " "
+       echo "However, your C preprocessor defines the following ones:"
+       $cat Cppsym.true
+else
+       if $test -s ccsym.com; then
+               echo "Your C compiler and pre-processor define these symbols:"
+               $sed -e 's/\(.*\)=.*/\1/' ccsym.com
+               also='also '
+               symbols='ones'
+               $test "$silent" || sleep 1
+       fi
+       if $test -s ccsym.cpp; then
+               $test "$also" && echo " "
+               echo "Your C pre-processor ${also}defines the following $symbols:"
+               $sed -e 's/\(.*\)=.*/\1/' ccsym.cpp
+               also='further '
+               $test "$silent" || sleep 1
+       fi
+       if $test -s ccsym.own; then
+               $test "$also" && echo " "
+               echo "Your C compiler ${also}defines the following cpp variables:"
+               $sed -e 's/\(.*\)=1/\1/' ccsym.own
+               $sed -e 's/\(.*\)=.*/\1/' ccsym.own | $uniq >>Cppsym.true
+               $test "$silent" || sleep 1
+       fi
+fi
+$rm -f ccsym*
+
+: see if this is a termio system
+val="$undef"
+val2="$undef"
+val3="$undef"
+if $test `./findhdr termios.h`; then
+       set tcsetattr i_termios
+       eval $inlibc
+       val3="$i_termios"
+fi
+echo " "
+case "$val3" in
+"$define") echo "You have POSIX termios.h... good!" >&4;;
+*) if ./Cppsym pyr; then
+               case "`/bin/universe`" in
+               ucb) if $test `./findhdr sgtty.h`; then
+                               val2="$define"
+                               echo "<sgtty.h> found." >&4
+                       else
+                               echo "System is pyramid with BSD universe."
+                               echo "<sgtty.h> not found--you could have problems." >&4
+                       fi;;
+               *) if $test `./findhdr termio.h`; then
+                               val="$define"
+                               echo "<termio.h> found." >&4
+                       else
+                               echo "System is pyramid with USG universe."
+                               echo "<termio.h> not found--you could have problems." >&4
+                       fi;;
+               esac
+       elif ./usg; then
+               if $test `./findhdr termio.h`; then
+                       echo "<termio.h> found." >&4
+                       val="$define"
+               elif $test `./findhdr sgtty.h`; then
+                       echo "<sgtty.h> found." >&4
+                       val2="$define"
+               else
+echo "Neither <termio.h> nor <sgtty.h> found--you could have problems." >&4
+               fi
+       else
+               if $test `./findhdr sgtty.h`; then
+                       echo "<sgtty.h> found." >&4
+                       val2="$define"
+               elif $test `./findhdr termio.h`; then
+                       echo "<termio.h> found." >&4
+                       val="$define"
+               else
+echo "Neither <sgtty.h> nor <termio.h> found--you could have problems." >&4
+               fi
+       fi;;
+esac
+set i_termio; eval $setvar
+val=$val2; set i_sgtty; eval $setvar
+val=$val3; set i_termios; eval $setvar
+
+: see if stdarg is available
+echo " "
+if $test `./findhdr stdarg.h`; then
+       echo "<stdarg.h> found." >&4
+       valstd="$define"
+else
+       echo "<stdarg.h> NOT found." >&4
+       valstd="$undef"
+fi
+
+: see if varags is available
+echo " "
+if $test `./findhdr varargs.h`; then
+       echo "<varargs.h> found." >&4
+else
+       echo "<varargs.h> NOT found, but that's ok (I hope)." >&4
+fi
+
+: set up the varargs testing programs
+$cat > varargs.c <<EOP
+#ifdef I_STDARG
+#include <stdarg.h>
+#endif
+#ifdef I_VARARGS
+#include <varargs.h>
+#endif
+
+#ifdef I_STDARG
+int f(char *p, ...)
+#else
+int f(va_alist)
+va_dcl
+#endif
+{
+       va_list ap;
+#ifndef I_STDARG
+       char *p;
+#endif
+#ifdef I_STDARG
+       va_start(ap,p);
+#else
+       va_start(ap);
+       p = va_arg(ap, char *);
+#endif
+       va_end(ap);
+}
+EOP
+$cat > varargs <<EOP
+$startsh
+if $cc -c $ccflags -D\$1 varargs.c >/dev/null 2>&1; then
+       echo "true"
+else
+       echo "false"
+fi
+$rm -f varargs$_o
+EOP
+chmod +x varargs
+
+: now check which varargs header should be included
+echo " "
+i_varhdr=''
+case "$valstd" in
+"$define")
+       if `./varargs I_STDARG`; then
+               val='stdarg.h'
+       elif `./varargs I_VARARGS`; then
+               val='varargs.h'
+       fi
+       ;;
+*)
+       if `./varargs I_VARARGS`; then
+               val='varargs.h'
+       fi
+       ;;
+esac
+case "$val" in
+'')
+echo "I could not find the definition for va_dcl... You have problems..." >&4
+       val="$undef"; set i_stdarg; eval $setvar
+       val="$undef"; set i_varargs; eval $setvar
+       ;;
+*) 
+       set i_varhdr
+       eval $setvar
+       case "$i_varhdr" in
+       stdarg.h)
+               val="$define"; set i_stdarg; eval $setvar
+               val="$undef"; set i_varargs; eval $setvar
+               ;;
+       varargs.h)
+               val="$undef"; set i_stdarg; eval $setvar
+               val="$define"; set i_varargs; eval $setvar
+               ;;
+       esac
+       echo "We'll include <$i_varhdr> to get va_dcl definition." >&4;;
+esac
+$rm -f varargs*
+
+: see if stddef is available
+set stddef.h i_stddef
+eval $inhdr
+
+: see if sys/access.h is available
+set sys/access.h i_sysaccess
+eval $inhdr
+
+: see if ioctl defs are in sgtty, termio, sys/filio or sys/ioctl
+set sys/filio.h i_sysfilio
+eval $inhdr
+echo " "
+if $test `./findhdr sys/ioctl.h`; then
+       val="$define"
+       echo '<sys/ioctl.h> found.' >&4
+else
+       val="$undef"
+       if $test $i_sysfilio = "$define"; then
+           echo '<sys/ioctl.h> NOT found.' >&4
+       else
+               $test $i_sgtty = "$define" && xxx="sgtty.h"
+               $test $i_termio = "$define" && xxx="termio.h"
+               $test $i_termios = "$define" && xxx="termios.h"
+echo "No <sys/ioctl.h> found, assuming ioctl args are defined in <$xxx>." >&4
+       fi
+fi
+set i_sysioctl
+eval $setvar
+
+: see if this is a sys/param system
+set sys/param.h i_sysparam
+eval $inhdr
+
+: see if sys/resource.h has to be included
+set sys/resource.h i_sysresrc
+eval $inhdr
+
+: see if sys/security.h is available
+set sys/security.h i_syssecrt
+eval $inhdr
+
+: see if this is a sys/un.h system
+set sys/un.h i_sysun
+eval $inhdr
+
+: see if this is a syswait system
+set sys/wait.h i_syswait
+eval $inhdr
+
+: see if this is an utime system
+set utime.h i_utime
+eval $inhdr
+
+: see if this is a values.h system
+set values.h i_values
+eval $inhdr
+
+: see if this is a vfork system
+case "$d_vfork" in
+"$define")
+       set vfork.h i_vfork
+       eval $inhdr
+       ;;
+*)
+       i_vfork="$undef"
+       ;;
+esac
+
+: see if gdbm.h is available
+set gdbm.h t_gdbm
+eval $inhdr
+case "$t_gdbm" in
+$define)
+       : see if gdbm_open exists
+       set gdbm_open d_gdbm_open
+       eval $inlibc
+       case "$d_gdbm_open" in
+       $undef)
+               t_gdbm="$undef"
+               echo "We won't be including <gdbm.h>"
+               ;;
+       esac
+       ;;
+esac
+val="$t_gdbm"
+set i_gdbm
+eval $setvar
+
+echo " "
+echo "Looking for extensions..." >&4
+tdir=`pwd`
+cd $rsrc/ext
+: If we are using the old config.sh, known_extensions may contain
+: old or inaccurate or duplicate values.
+known_extensions=''
+nonxs_extensions=''
+: We do not use find because it might not be available.
+: We do not just use MANIFEST because the user may have dropped
+: some additional extensions into the source tree and expect them
+: to be built.
+for xxx in * ; do
+       case "$xxx" in
+       DynaLoader|dynaload) ;;
+       *)      if $test -f $xxx/$xxx.xs; then
+                       known_extensions="$known_extensions $xxx"
+               elif $test -f $xxx/Makefile.PL; then
+                       nonxs_extensions="$nonxs_extensions $xxx"
+               else
+                       if $test -d $xxx; then
+                               # Look for nested extensions, eg. Devel/Dprof.
+                               cd $xxx
+                               for yyy in * ; do
+                               if $test -f $yyy/$yyy.xs; then
+                                       known_extensions="$known_extensions $xxx/$yyy"
+                               elif $test -f $yyy/Makefile.PL; then
+                                       nonxs_extensions="$nonxs_extensions $xxx/$yyy"
+                               fi
+                               done
+                               cd ..
+                       fi
+               fi 
+               ;;
+       esac
+done
+set X $nonxs_extensions
+shift
+nonxs_extensions="$*"
+set X $known_extensions
+shift
+known_extensions="$*"
+cd $tdir
+
+: Now see which are supported on this system.
+avail_ext=''
+for xxx in $known_extensions ; do
+       case "$xxx" in
+       DB_File|db_file)
+               case "$i_db" in
+               $define) avail_ext="$avail_ext $xxx" ;;
+               esac
+               ;;
+       GDBM_File|gdbm_fil)
+               case "$i_gdbm" in 
+               $define) avail_ext="$avail_ext $xxx" ;;
+               esac
+               ;;
+       NDBM_File|ndbm_fil)
+               case "$i_ndbm" in
+               $define) avail_ext="$avail_ext $xxx" ;;
+               esac
+               ;;
+       ODBM_File|odbm_fil) 
+               case "${i_dbm}${i_rpcsvcdbm}" in
+               *"${define}"*) avail_ext="$avail_ext $xxx" ;;
+               esac
+               ;;
+       POSIX|posix)
+               case "$useposix" in
+               true|define|y) avail_ext="$avail_ext $xxx" ;;
+               esac
+               ;;
+       Opcode|opcode)
+               case "$useopcode" in
+               true|define|y) avail_ext="$avail_ext $xxx" ;;
+               esac
+               ;;
+       Socket|socket)
+               case "$d_socket" in 
+               true|$define|y) avail_ext="$avail_ext $xxx" ;;
+               esac
+               ;;
+       Thread|thread)
+               case "$usethreads" in 
+               true|$define|y) avail_ext="$avail_ext $xxx" ;;
+               esac
+               ;;
+       IPC/SysV|ipc/sysv)
+               : XXX Do we need a useipcsysv variable here
+               case "${d_msg}${d_sem}${d_shm}" in 
+               *"${define}"*) avail_ext="$avail_ext $xxx" ;;
+               esac
+               ;;
+       *)      avail_ext="$avail_ext $xxx"
+               ;;
+       esac
+done
+
+set X $avail_ext
+shift
+avail_ext="$*"
+
+: Now see which nonxs extensions are supported on this system.
+: For now assume all are.
+nonxs_ext=''
+for xxx in $nonxs_extensions ; do
+       case "$xxx" in
+       *)      nonxs_ext="$nonxs_ext $xxx"
+               ;;
+       esac
+done
+
+set X $nonxs_ext
+shift
+nonxs_ext="$*"
+
+case $usedl in
+$define)
+       $cat <<EOM
+A number of extensions are supplied with $package.  You may choose to
+compile these extensions for dynamic loading (the default), compile
+them into the $package executable (static loading), or not include
+them at all.  Answer "none" to include no extensions.
+Note that DynaLoader is always built and need not be mentioned here.
+
+EOM
+       case "$dynamic_ext" in
+       '') dflt="$avail_ext" ;;
+       *)      dflt="$dynamic_ext"
+               # Perhaps we are reusing an old out-of-date config.sh.
+               case "$hint" in
+               previous)
+                       if test X"$dynamic_ext" != X"$avail_ext"; then
+                               $cat <<EOM
+NOTICE:  Your previous config.sh list may be incorrect. 
+The extensions now available to you are 
+       ${avail_ext}
+but the default list from your previous config.sh is
+       ${dynamic_ext} 
+
+EOM
+                       fi
+                       ;;
+               esac
+               ;;
+       esac
+       case "$dflt" in
+       '')     dflt=none;;
+       esac
+       rp="What extensions do you wish to load dynamically?"
+       . ./myread
+       case "$ans" in
+       none) dynamic_ext=' ' ;;
+       *) dynamic_ext="$ans" ;;
+       esac
+
+       case "$static_ext" in
+       '')
+               : Exclude those already listed in dynamic linking
+               dflt=''
+               for xxx in $avail_ext; do
+                       case " $dynamic_ext " in
+                       *" $xxx "*) ;;
+                       *) dflt="$dflt $xxx" ;;
+                       esac
+               done
+               set X $dflt
+               shift
+               dflt="$*"
+               ;;
+       *)  dflt="$static_ext" 
+               ;;
+       esac
+
+       case "$dflt" in
+       '')     dflt=none;;
+       esac
+       rp="What extensions do you wish to load statically?"
+       . ./myread
+       case "$ans" in
+       none) static_ext=' ' ;;
+       *) static_ext="$ans" ;;
+       esac
+       ;;
+*)
+       $cat <<EOM
+A number of extensions are supplied with $package.  Answer "none" 
+to include no extensions. 
+Note that DynaLoader is always built and need not be mentioned here.
+
+EOM
+       case "$static_ext" in
+       '') dflt="$avail_ext" ;;
+       *)      dflt="$static_ext"
+               # Perhaps we are reusing an old out-of-date config.sh.
+               case "$hint" in
+               previous)
+                       if test X"$static_ext" != X"$avail_ext"; then
+                               $cat <<EOM
+NOTICE:  Your previous config.sh list may be incorrect. 
+The extensions now available to you are 
+       ${avail_ext}
+but the default list from your previous config.sh is
+       ${static_ext} 
+
+EOM
+                       fi
+                       ;;
+               esac
+               ;;
+       esac
+       : Exclude those that are not xs extensions
+       case "$dflt" in
+       '')     dflt=none;;
+       esac
+       rp="What extensions do you wish to include?"
+       . ./myread
+       case "$ans" in
+       none) static_ext=' ' ;;
+       *) static_ext="$ans" ;;
+       esac
+       ;;
+esac
+
+set X $dynamic_ext $static_ext $nonxs_ext
+shift
+extensions="$*"
+
+: Remove build directory name from cppstdin so it can be used from
+: either the present location or the final installed location.
+echo " "
+: Get out of the UU directory to get correct path name.
+cd ..
+case "$cppstdin" in
+`pwd`/cppstdin)
+       echo "Stripping down cppstdin path name"
+       cppstdin=cppstdin
+       ;;
+esac
+cd UU
+
+: end of configuration questions
+echo " "
+echo "End of configuration questions."
+echo " "
+
+: back to where it started
+if test -d ../UU; then
+       cd ..
+fi
+
+: configuration may be patched via a 'config.over' file
+if $test -f config.over; then
+       echo " "
+       dflt=y
+       rp='I see a config.over file.  Do you wish to load it?'
+       . UU/myread
+       case "$ans" in
+       n*) echo "OK, I'll ignore it.";;
+       *)      . ./config.over
+               echo "Configuration override changes have been loaded."
+               ;;
+       esac
+fi
+
+: in case they want portability, strip down executable paths
+case "$d_portable" in
+"$define")
+       echo " "
+       echo "Stripping down executable paths..." >&4
+       for file in $loclist $trylist; do
+               if test X$file != Xln -a X$file != Xar -o X$osname != Xos2; then
+                       eval $file="\$file"
+               fi
+       done
+       ;;
+esac
+
+: create config.sh file
+echo " "
+echo "Creating config.sh..." >&4
+$spitshell <<EOT >config.sh
+$startsh
+#
+# This file was produced by running the Configure script. It holds all the
+# definitions figured out by Configure. Should you modify one of these values,
+# do not forget to propagate your changes by running "Configure -der". You may
+# instead choose to run each of the .SH files by yourself, or "Configure -S".
+#
+
+# Package name      : $package
+# Source directory  : $src
+# Configuration time: $cf_time
+# Configured by     : $cf_by
+# Target system     : $myuname
+
+Author='$Author'
+Date='$Date'
+Header='$Header'
+Id='$Id'
+Locker='$Locker'
+Log='$Log'
+Mcc='$Mcc'
+RCSfile='$RCSfile'
+Revision='$Revision'
+Source='$Source'
+State='$State'
+_a='$_a'
+_exe='$_exe'
+_o='$_o'
+afs='$afs'
+alignbytes='$alignbytes'
+ansi2knr='$ansi2knr'
+aphostname='$aphostname'
+apiversion='$apiversion'
+ar='$ar'
+archlib='$archlib'
+archlibexp='$archlibexp'
+archname64='$archname64'
+archname='$archname'
+archobjs='$archobjs'
+awk='$awk'
+baserev='$baserev'
+bash='$bash'
+bin='$bin'
+binexp='$binexp'
+bison='$bison'
+byacc='$byacc'
+byteorder='$byteorder'
+c='$c'
+castflags='$castflags'
+cat='$cat'
+cc='$cc'
+cccdlflags='$cccdlflags'
+ccdlflags='$ccdlflags'
+ccflags='$ccflags'
+cf_by='$cf_by'
+cf_email='$cf_email'
+cf_time='$cf_time'
+chgrp='$chgrp'
+chmod='$chmod'
+chown='$chown'
+clocktype='$clocktype'
+comm='$comm'
+compress='$compress'
+contains='$contains'
+cp='$cp'
+cpio='$cpio'
+cpp='$cpp'
+cpp_stuff='$cpp_stuff'
+cppflags='$cppflags'
+cpplast='$cpplast'
+cppminus='$cppminus'
+cpprun='$cpprun'
+cppstdin='$cppstdin'
+cryptlib='$cryptlib'
+csh='$csh'
+d_Gconvert='$d_Gconvert'
+d_access='$d_access'
+d_accessx='$d_accessx'
+d_alarm='$d_alarm'
+d_archlib='$d_archlib'
+d_attribut='$d_attribut'
+d_bcmp='$d_bcmp'
+d_bcopy='$d_bcopy'
+d_bsd='$d_bsd'
+d_bsdgetpgrp='$d_bsdgetpgrp'
+d_bsdsetpgrp='$d_bsdsetpgrp'
+d_bzero='$d_bzero'
+d_casti32='$d_casti32'
+d_castneg='$d_castneg'
+d_charvspr='$d_charvspr'
+d_chown='$d_chown'
+d_chroot='$d_chroot'
+d_chsize='$d_chsize'
+d_closedir='$d_closedir'
+d_const='$d_const'
+d_crypt='$d_crypt'
+d_csh='$d_csh'
+d_cuserid='$d_cuserid'
+d_dbl_dig='$d_dbl_dig'
+d_dbmclose64='$d_dbmclose64'
+d_dbminit64='$d_dbminit64'
+d_delete64='$d_delete64'
+d_difftime='$d_difftime'
+d_dirent64s='$d_dirent64s'
+d_dirnamlen='$d_dirnamlen'
+d_dlerror='$d_dlerror'
+d_dlopen='$d_dlopen'
+d_dlsymun='$d_dlsymun'
+d_dosuid='$d_dosuid'
+d_drand48proto='$d_drand48proto'
+d_dup2='$d_dup2'
+d_eaccess='$d_eaccess'
+d_endgrent='$d_endgrent'
+d_endhent='$d_endhent'
+d_endnent='$d_endnent'
+d_endpent='$d_endpent'
+d_endpwent='$d_endpwent'
+d_endsent='$d_endsent'
+d_eofnblk='$d_eofnblk'
+d_eunice='$d_eunice'
+d_fchmod='$d_fchmod'
+d_fchown='$d_fchown'
+d_fcntl='$d_fcntl'
+d_fd_macros='$d_fd_macros'
+d_fd_set='$d_fd_set'
+d_fds_bits='$d_fds_bits'
+d_fetch64='$d_fetch64'
+d_fgetpos64='$d_fgetpos64'
+d_fgetpos='$d_fgetpos'
+d_firstkey64='$d_firstkey64'
+d_flexfnam='$d_flexfnam'
+d_flock64s='$d_flock64s'
+d_flock='$d_flock'
+d_fopen64='$d_fopen64'
+d_fork='$d_fork'
+d_fpathconf='$d_fpathconf'
+d_freopen64='$d_freopen64'
+d_fseek64='$d_fseek64'
+d_fseeko64='$d_fseeko64'
+d_fseeko='$d_fseeko'
+d_fsetpos64='$d_fsetpos64'
+d_fsetpos='$d_fsetpos'
+d_fstat64='$d_fstat64'
+d_ftell64='$d_ftell64'
+d_ftello64='$d_ftello64'
+d_ftello='$d_ftello'
+d_ftime='$d_ftime'
+d_ftruncate64='$d_ftruncate64'
+d_getgrent='$d_getgrent'
+d_getgrps='$d_getgrps'
+d_gethbyaddr='$d_gethbyaddr'
+d_gethbyname='$d_gethbyname'
+d_gethent='$d_gethent'
+d_gethname='$d_gethname'
+d_gethostprotos='$d_gethostprotos'
+d_getlogin='$d_getlogin'
+d_getnbyaddr='$d_getnbyaddr'
+d_getnbyname='$d_getnbyname'
+d_getnent='$d_getnent'
+d_getnetprotos='$d_getnetprotos'
+d_getpbyname='$d_getpbyname'
+d_getpbynumber='$d_getpbynumber'
+d_getpent='$d_getpent'
+d_getpgid='$d_getpgid'
+d_getpgrp2='$d_getpgrp2'
+d_getpgrp='$d_getpgrp'
+d_getppid='$d_getppid'
+d_getprior='$d_getprior'
+d_getprotoprotos='$d_getprotoprotos'
+d_getpwent='$d_getpwent'
+d_getsbyname='$d_getsbyname'
+d_getsbyport='$d_getsbyport'
+d_getsent='$d_getsent'
+d_getservprotos='$d_getservprotos'
+d_gettimeod='$d_gettimeod'
+d_gnulibc='$d_gnulibc'
+d_grpasswd='$d_grpasswd'
+d_htonl='$d_htonl'
+d_index='$d_index'
+d_inetaton='$d_inetaton'
+d_ino64t='$d_ino64t'
+d_int64t='$d_int64t'
+d_isascii='$d_isascii'
+d_killpg='$d_killpg'
+d_lchown='$d_lchown'
+d_link='$d_link'
+d_locconv='$d_locconv'
+d_lockf64='$d_lockf64'
+d_lockf='$d_lockf'
+d_longdbl='$d_longdbl'
+d_longlong='$d_longlong'
+d_lseek64='$d_lseek64'
+d_lstat64='$d_lstat64'
+d_lstat='$d_lstat'
+d_mblen='$d_mblen'
+d_mbstowcs='$d_mbstowcs'
+d_mbtowc='$d_mbtowc'
+d_memcmp='$d_memcmp'
+d_memcpy='$d_memcpy'
+d_memmove='$d_memmove'
+d_memset='$d_memset'
+d_mkdir='$d_mkdir'
+d_mkfifo='$d_mkfifo'
+d_mktime='$d_mktime'
+d_msg='$d_msg'
+d_msgctl='$d_msgctl'
+d_msgget='$d_msgget'
+d_msgrcv='$d_msgrcv'
+d_msgsnd='$d_msgsnd'
+d_mymalloc='$d_mymalloc'
+d_nextkey64='$d_nextkey64'
+d_nice='$d_nice'
+d_off64t='$d_off64t'
+d_oldpthreads='$d_oldpthreads'
+d_oldsock='$d_oldsock'
+d_open3='$d_open3'
+d_open64='$d_open64'
+d_opendir64='$d_opendir64'
+d_pathconf='$d_pathconf'
+d_pause='$d_pause'
+d_phostname='$d_phostname'
+d_pipe='$d_pipe'
+d_poll='$d_poll'
+d_portable='$d_portable'
+d_pthread_yield='$d_pthread_yield'
+d_pthreads_created_joinable='$d_pthreads_created_joinable'
+d_pwage='$d_pwage'
+d_pwchange='$d_pwchange'
+d_pwclass='$d_pwclass'
+d_pwcomment='$d_pwcomment'
+d_pwexpire='$d_pwexpire'
+d_pwgecos='$d_pwgecos'
+d_pwpasswd='$d_pwpasswd'
+d_pwquota='$d_pwquota'
+d_readdir64='$d_readdir64'
+d_readdir='$d_readdir'
+d_readlink='$d_readlink'
+d_rename='$d_rename'
+d_rewinddir='$d_rewinddir'
+d_rmdir='$d_rmdir'
+d_safebcpy='$d_safebcpy'
+d_safemcpy='$d_safemcpy'
+d_sanemcmp='$d_sanemcmp'
+d_sched_yield='$d_sched_yield'
+d_seekdir64='$d_seekdir64'
+d_seekdir='$d_seekdir'
+d_select='$d_select'
+d_sem='$d_sem'
+d_semctl='$d_semctl'
+d_semctl_semid_ds='$d_semctl_semid_ds'
+d_semctl_semun='$d_semctl_semun'
+d_semget='$d_semget'
+d_semop='$d_semop'
+d_setegid='$d_setegid'
+d_seteuid='$d_seteuid'
+d_setgrent='$d_setgrent'
+d_setgrps='$d_setgrps'
+d_sethent='$d_sethent'
+d_setlinebuf='$d_setlinebuf'
+d_setlocale='$d_setlocale'
+d_setnent='$d_setnent'
+d_setpent='$d_setpent'
+d_setpgid='$d_setpgid'
+d_setpgrp2='$d_setpgrp2'
+d_setpgrp='$d_setpgrp'
+d_setprior='$d_setprior'
+d_setpwent='$d_setpwent'
+d_setregid='$d_setregid'
+d_setresgid='$d_setresgid'
+d_setresuid='$d_setresuid'
+d_setreuid='$d_setreuid'
+d_setrgid='$d_setrgid'
+d_setruid='$d_setruid'
+d_setsent='$d_setsent'
+d_setsid='$d_setsid'
+d_setvbuf='$d_setvbuf'
+d_sfio='$d_sfio'
+d_shm='$d_shm'
+d_shmat='$d_shmat'
+d_shmatprototype='$d_shmatprototype'
+d_shmctl='$d_shmctl'
+d_shmdt='$d_shmdt'
+d_shmget='$d_shmget'
+d_sigaction='$d_sigaction'
+d_sigsetjmp='$d_sigsetjmp'
+d_socket='$d_socket'
+d_sockpair='$d_sockpair'
+d_stat64='$d_stat64'
+d_statblks='$d_statblks'
+d_stdio_cnt_lval='$d_stdio_cnt_lval'
+d_stdio_ptr_lval='$d_stdio_ptr_lval'
+d_stdiobase='$d_stdiobase'
+d_stdstdio='$d_stdstdio'
+d_store64='$d_store64'
+d_strchr='$d_strchr'
+d_strcoll='$d_strcoll'
+d_strctcpy='$d_strctcpy'
+d_strerrm='$d_strerrm'
+d_strerror='$d_strerror'
+d_strtod='$d_strtod'
+d_strtol='$d_strtol'
+d_strtoul='$d_strtoul'
+d_strxfrm='$d_strxfrm'
+d_suidsafe='$d_suidsafe'
+d_symlink='$d_symlink'
+d_syscall='$d_syscall'
+d_sysconf='$d_sysconf'
+d_sysernlst='$d_sysernlst'
+d_syserrlst='$d_syserrlst'
+d_system='$d_system'
+d_tcgetpgrp='$d_tcgetpgrp'
+d_tcsetpgrp='$d_tcsetpgrp'
+d_telldir64='$d_telldir64'
+d_telldir='$d_telldir'
+d_time='$d_time'
+d_times='$d_times'
+d_tmpfile64='$d_tmpfile64'
+d_truncate64='$d_truncate64'
+d_truncate='$d_truncate'
+d_tzname='$d_tzname'
+d_umask='$d_umask'
+d_uname='$d_uname'
+d_union_semun='$d_union_semun'
+d_vfork='$d_vfork'
+d_void_closedir='$d_void_closedir'
+d_voidsig='$d_voidsig'
+d_voidtty='$d_voidtty'
+d_volatile='$d_volatile'
+d_vprintf='$d_vprintf'
+d_wait4='$d_wait4'
+d_waitpid='$d_waitpid'
+d_wcstombs='$d_wcstombs'
+d_wctomb='$d_wctomb'
+d_xenix='$d_xenix'
+date='$date'
+db_hashtype='$db_hashtype'
+db_prefixtype='$db_prefixtype'
+defvoidused='$defvoidused'
+direntrytype='$direntrytype'
+dlext='$dlext'
+dlsrc='$dlsrc'
+doublesize='$doublesize'
+drand01='$drand01'
+dynamic_ext='$dynamic_ext'
+eagain='$eagain'
+ebcdic='$ebcdic'
+echo='$echo'
+egrep='$egrep'
+emacs='$emacs'
+eunicefix='$eunicefix'
+exe_ext='$exe_ext'
+expr='$expr'
+extensions='$extensions'
+find='$find'
+firstmakefile='$firstmakefile'
+flex='$flex'
+fpostype='$fpostype'
+freetype='$freetype'
+full_csh='$full_csh'
+full_sed='$full_sed'
+gccversion='$gccversion'
+gidtype='$gidtype'
+glibpth='$glibpth'
+grep='$grep'
+groupcat='$groupcat'
+groupstype='$groupstype'
+gzip='$gzip'
+h_fcntl='$h_fcntl'
+h_sysfile='$h_sysfile'
+hint='$hint'
+hostcat='$hostcat'
+huge='$huge'
+i_arpainet='$i_arpainet'
+i_bsdioctl='$i_bsdioctl'
+i_db='$i_db'
+i_dbm='$i_dbm'
+i_dirent='$i_dirent'
+i_dld='$i_dld'
+i_dlfcn='$i_dlfcn'
+i_fcntl='$i_fcntl'
+i_float='$i_float'
+i_gdbm='$i_gdbm'
+i_grp='$i_grp'
+i_inttypes='$i_inttypes'
+i_limits='$i_limits'
+i_locale='$i_locale'
+i_malloc='$i_malloc'
+i_math='$i_math'
+i_memory='$i_memory'
+i_ndbm='$i_ndbm'
+i_netdb='$i_netdb'
+i_neterrno='$i_neterrno'
+i_niin='$i_niin'
+i_pwd='$i_pwd'
+i_rpcsvcdbm='$i_rpcsvcdbm'
+i_sfio='$i_sfio'
+i_sgtty='$i_sgtty'
+i_stdarg='$i_stdarg'
+i_stddef='$i_stddef'
+i_stdlib='$i_stdlib'
+i_string='$i_string'
+i_sysaccess='$i_sysaccess'
+i_sysdir='$i_sysdir'
+i_sysfile='$i_sysfile'
+i_sysfilio='$i_sysfilio'
+i_sysin='$i_sysin'
+i_sysioctl='$i_sysioctl'
+i_sysndir='$i_sysndir'
+i_sysparam='$i_sysparam'
+i_sysresrc='$i_sysresrc'
+i_syssecrt='$i_syssecrt'
+i_sysselct='$i_sysselct'
+i_syssockio='$i_syssockio'
+i_sysstat='$i_sysstat'
+i_systime='$i_systime'
+i_systimek='$i_systimek'
+i_systimes='$i_systimes'
+i_systypes='$i_systypes'
+i_sysun='$i_sysun'
+i_syswait='$i_syswait'
+i_termio='$i_termio'
+i_termios='$i_termios'
+i_time='$i_time'
+i_unistd='$i_unistd'
+i_utime='$i_utime'
+i_values='$i_values'
+i_varargs='$i_varargs'
+i_varhdr='$i_varhdr'
+i_vfork='$i_vfork'
+ignore_versioned_solibs='$ignore_versioned_solibs'
+incpath='$incpath'
+inews='$inews'
+installarchlib='$installarchlib'
+installbin='$installbin'
+installman1dir='$installman1dir'
+installman3dir='$installman3dir'
+installprivlib='$installprivlib'
+installscript='$installscript'
+installsitearch='$installsitearch'
+installsitelib='$installsitelib'
+intsize='$intsize'
+known_extensions='$known_extensions'
+ksh='$ksh'
+large='$large'
+ld='$ld'
+lddlflags='$lddlflags'
+ldflags='$ldflags'
+less='$less'
+lib_ext='$lib_ext'
+libc='$libc'
+libperl='$libperl'
+libpth='$libpth'
+libs='$libs'
+libswanted='$libswanted'
+line='$line'
+lint='$lint'
+lkflags='$lkflags'
+ln='$ln'
+lns='$lns'
+locincpth='$locincpth'
+loclibpth='$loclibpth'
+longdblsize='$longdblsize'
+longlongsize='$longlongsize'
+longsize='$longsize'
+lp='$lp'
+lpr='$lpr'
+ls='$ls'
+lseeksize='$lseeksize'
+lseektype='$lseektype'
+mail='$mail'
+mailx='$mailx'
+make='$make'
+make_set_make='$make_set_make'
+mallocobj='$mallocobj'
+mallocsrc='$mallocsrc'
+malloctype='$malloctype'
+man1dir='$man1dir'
+man1direxp='$man1direxp'
+man1ext='$man1ext'
+man3dir='$man3dir'
+man3direxp='$man3direxp'
+man3ext='$man3ext'
+medium='$medium'
+mips='$mips'
+mips_type='$mips_type'
+mkdir='$mkdir'
+models='$models'
+modetype='$modetype'
+more='$more'
+mv='$mv'
+myarchname='$myarchname'
+mydomain='$mydomain'
+myhostname='$myhostname'
+myuname='$myuname'
+n='$n'
+netdb_hlen_type='$netdb_hlen_type'
+netdb_host_type='$netdb_host_type'
+netdb_name_type='$netdb_name_type'
+netdb_net_type='$netdb_net_type'
+nm='$nm'
+nm_opt='$nm_opt'
+nm_so_opt='$nm_so_opt'
+nonxs_ext='$nonxs_ext'
+nroff='$nroff'
+o_nonblock='$o_nonblock'
+obj_ext='$obj_ext'
+optimize='$optimize'
+orderlib='$orderlib'
+osname='$osname'
+osvers='$osvers'
+package='$package'
+pager='$pager'
+passcat='$passcat'
+patchlevel='$patchlevel'
+path_sep='$path_sep'
+perl='$perl'
+perladmin='$perladmin'
+perlpath='$perlpath'
+pg='$pg'
+phostname='$phostname'
+pidtype='$pidtype'
+plibpth='$plibpth'
+pmake='$pmake'
+pr='$pr'
+prefix='$prefix'
+prefixexp='$prefixexp'
+privlib='$privlib'
+privlibexp='$privlibexp'
+prototype='$prototype'
+ptrsize='$ptrsize'
+randbits='$randbits'
+randfunc='$randfunc'
+randseedtype='$randseedtype'
+ranlib='$ranlib'
+rd_nodata='$rd_nodata'
+rm='$rm'
+rmail='$rmail'
+runnm='$runnm'
+sched_yield='$sched_yield'
+scriptdir='$scriptdir'
+scriptdirexp='$scriptdirexp'
+sed='$sed'
+seedfunc='$seedfunc'
+selectminbits='$selectminbits'
+selecttype='$selecttype'
+sendmail='$sendmail'
+sh='$sh'
+shar='$shar'
+sharpbang='$sharpbang'
+shmattype='$shmattype'
+shortsize='$shortsize'
+shrpenv='$shrpenv'
+shsharp='$shsharp'
+sig_name='$sig_name'
+sig_name_init='$sig_name_init'
+sig_num='$sig_num'
+signal_t='$signal_t'
+sitearch='$sitearch'
+sitearchexp='$sitearchexp'
+sitelib='$sitelib'
+sitelibexp='$sitelibexp'
+sizetype='$sizetype'
+sleep='$sleep'
+smail='$smail'
+small='$small'
+so='$so'
+sockethdr='$sockethdr'
+socketlib='$socketlib'
+sort='$sort'
+spackage='$spackage'
+spitshell='$spitshell'
+split='$split'
+src='$src'
+ssizetype='$ssizetype'
+startperl='$startperl'
+startsh='$startsh'
+static_ext='$static_ext'
+stdchar='$stdchar'
+stdio_base='$stdio_base'
+stdio_bufsiz='$stdio_bufsiz'
+stdio_cnt='$stdio_cnt'
+stdio_filbuf='$stdio_filbuf'
+stdio_ptr='$stdio_ptr'
+strings='$strings'
+submit='$submit'
+subversion='$subversion'
+sysman='$sysman'
+tail='$tail'
+tar='$tar'
+tbl='$tbl'
+tee='$tee'
+test='$test'
+timeincl='$timeincl'
+timetype='$timetype'
+touch='$touch'
+tr='$tr'
+trnl='$trnl'
+troff='$troff'
+uidtype='$uidtype'
+uname='$uname'
+uniq='$uniq'
+use64bits='$use64bits'
+usedl='$usedl'
+usemultiplicity='$usemultiplicity'
+usemymalloc='$usemymalloc'
+usenm='$usenm'
+useopcode='$useopcode'
+useperlio='$useperlio'
+useposix='$useposix'
+usesfio='$usesfio'
+useshrplib='$useshrplib'
+usethreads='$usethreads'
+usevfork='$usevfork'
+usrinc='$usrinc'
+uuname='$uuname'
+version='$version'
+vi='$vi'
+voidflags='$voidflags'
+xlibpth='$xlibpth'
+zcat='$zcat'
+zip='$zip'
+EOT
+
+: Add in command line options if available
+$test -f UU/cmdline.opt && $cat UU/cmdline.opt >> config.sh
+
+: add special variables
+$test -f $src/patchlevel.h && \
+awk '/^#define/ {printf "%s=%s\n",$2,$3}' $src/patchlevel.h >>config.sh
+echo "CONFIG=true" >>config.sh
+
+: propagate old symbols
+if $test -f UU/config.sh; then
+       <UU/config.sh sort | uniq >UU/oldconfig.sh
+       sed -n 's/^\([a-zA-Z_0-9]*\)=.*/\1/p' config.sh config.sh UU/oldconfig.sh |\
+       sort | uniq -u >UU/oldsyms
+       set X `cat UU/oldsyms`
+       shift
+       case $# in
+       0) ;;
+       *)
+               cat <<EOM
+Hmm...You had some extra variables I don't know about...I'll try to keep 'em...
+EOM
+               echo "# Variables propagated from previous config.sh file." >>config.sh
+               for sym in `cat UU/oldsyms`; do
+                       echo "    Propagating $hint variable "'$'"$sym..."
+                       eval 'tmp="$'"${sym}"'"'
+                       echo "$tmp" | \
+                               sed -e "s/'/'\"'\"'/g" -e "s/^/$sym='/" -e "s/$/'/" >>config.sh
+               done
+               ;;
+       esac
+fi
+
+: Finish up by extracting the .SH files
+case "$alldone" in
+exit)
+       $rm -rf UU
+       echo "Done."
+       exit 0
+       ;;
+cont)
+       ;;
+'')
+       dflt=''
+       nostick=true
+       $cat <<EOM
+
+If you'd like to make any changes to the config.sh file before I begin
+to configure things, do it as a shell escape now (e.g. !vi config.sh).
+
+EOM
+       rp="Press return or use a shell escape to edit config.sh:"
+       . UU/myread
+       nostick=''
+       case "$ans" in
+       '') ;;
+       *) : in case they cannot read
+               sh 1>&4 -c "$ans";;
+       esac
+       ;;
+esac
+
+: if this fails, just run all the .SH files by hand
+. ./config.sh
+
+echo " "
+exec 1>&4
+. ./UU/extract
+
+if $contains '^depend:' [Mm]akefile >/dev/null 2>&1; then
+       dflt=y
+       case "$silent" in
+       true) ;;
+       *)
+               $cat <<EOM
+
+Now you need to generate make dependencies by running "$make depend".
+You might prefer to run it in background: "$make depend > makedepend.out &"
+It can take a while, so you might not want to run it right now.
+
+EOM
+               ;;
+       esac
+       rp="Run $make depend now?"
+       . UU/myread
+       case "$ans" in
+       y*)
+               $make depend && echo "Now you must run a $make."
+               ;;
+       *)
+               echo "You must run '$make depend' then '$make'."
+               ;;
+       esac
+elif test -f [Mm]akefile; then
+       echo " "
+       echo "Now you must run a $make."
+else
+       echo "Done."
+fi
+
+if $test -f Policy.sh; then
+    $cat <<EOM
+
+If you compile $package on a different machine or from a different object
+directory, copy the Policy.sh file from this object directory to the
+new one before you run Configure -- this will help you with most of
+the policy defaults.
+
+EOM
+fi
+if $test -f config.msg; then
+    echo "Hmm.  I also noted the following information while running:"
+    echo " "
+    $cat config.msg >&4
+    $rm -f config.msg
+fi
+$rm -f kit*isdone ark*isdone
+$rm -rf UU
+
+: End of Configure
+