diff options
-rwxr-xr-x | Configure | 719 | ||||
-rw-r--r-- | patchlevel.h | 2 |
2 files changed, 514 insertions, 207 deletions
@@ -8,15 +8,38 @@ # and edit it to reflect your system. Some packages may include samples # of config.h for certain machines, so you might look for one of those.) # -# $Id: Head.U,v 2.11 90/09/17 17:04:47 hokey Exp Locker: hokey $ +# $RCSfile: Configure,v $$Revision: 4.0.1.1 $$Date: 91/04/11 17:26:42 $ # # Yes, you may rip this off to use in other distribution packages. # (Note: this Configure script was generated automatically. Rather than # working with this copy of Configure, you may wish to get metaconfig.) -: sanity checks +cat >/tmp/c1$$ <<EOF +ARGGGHHHH!!!!! + +SCO csh still thinks true is false. Write to SCO today and tell them that next +year Configure ought to "rm /bin/csh" unless they fix their blasted shell. :-) + +(Actually, Configure ought to just patch csh in place. Hmm. Hmmmmm. All +we'd have to do is go in and swap the && and || tokens, wherever they are.) + +[End of diatribe. We now return you to your regularly scheduled programming...] + +EOF +cat >/tmp/c2$$ <<EOF +OOPS! You naughty creature! You didn't run Configure with sh! +I will attempt to remedy the situation by running sh for you... + +EOF + +true || cat /tmp/c1$$ /tmp/c2$$ +true || exec sh $0 + +export PATH || cat /tmp/c2$$ +export PATH || exec sh $0 +rm -f /tmp/c1$$ /tmp/c2$$ + PATH=".:$PATH:/bin:/usr/bin:/usr/local/bin:/usr/ucb:/usr/local:/usr/lbin:/etc:/usr/new:/usr/new/bin:/usr/nbin" -export PATH || (echo "OOPS, this isn't sh. Desperation time. I will feed myself to sh."; sh $0; kill $$) if test ! -t 0; then echo "Say 'sh Configure', not 'sh <Configure'" @@ -38,7 +61,6 @@ case "$1" in -d) shift; fastread='yes';; esac -kit_has_binaries='' d_eunice='' define='' eunicefix='' @@ -101,6 +123,7 @@ bison='' Log='' Header='' Id='' +lastuname='' alignbytes='' bin='' installbin='' @@ -189,6 +212,7 @@ d_charvspr='' d_wait4='' d_waitpid='' gidtype='' +groupstype='' i_fcntl='' i_gdbm='' i_grp='' @@ -225,6 +249,7 @@ ndiro='' mallocsrc='' mallocobj='' usemymalloc='' +mallocptrtype='' mansrc='' manext='' models='' @@ -289,7 +314,6 @@ if test -f /etc/unixtovms.exe; then eunicefix=/etc/unixtovms.exe fi -kit_has_binaries=false attrlist="DGUX M_I186 M_I286 M_I386 M_I8086 M_XENIX UTS __DGUX__" attrlist="$attrlist __STDC__ __m88k__ ansi bsd4_2 gcos gimpel" attrlist="$attrlist hp9000s300 hp9000s500 hp9000s800 hpux" @@ -313,28 +337,21 @@ serve_unix_udp="" serve_unix_tcp="" d_ndir=ndir voidwant=1 -libswanted="net_s net nsl_s nsl socket nm ndir ndbm dbm sun m bsd BSD x c_s" +voidwant=7 +libswanted="net_s net nsl_s nsl socket nm ndir ndbm dbm malloc sun m bsd BSD x c_s posix" inclwanted='/usr/include /usr/netinclude /usr/include/sun /usr/include/bsd /usr/include/lan' : Now test for existence of everything in MANIFEST echo "First let's make sure your kit is complete. Checking..." -if $kit_has_binaries; then -( cd .. - bad=false - for i in `awk '$1 !~ /PACKINGLIST/ {print $1}' MANIFEST` - do - if test ! -f $i ; then - echo Missing $i - bad=true - fi - done - if $bad; then +awk '$1 !~ /PACKINGLIST/ {print $1}' ../MANIFEST | split -200 +rm -f missing +for filelist in x??; do + (cd ..; ls `cat UU/$filelist` >/dev/null 2>>UU/missing) +done +if test -s missing; then + cat missing kill $$ - fi -) -else - (cd ..; awk '{}' `awk '$1 !~ /PACKINGLIST/ {print $1}' MANIFEST` >/dev/null || kill $$) fi echo "Looks good..." @@ -488,7 +505,7 @@ cat <<EOH Much effort has been expended to ensure that this shell script will run on any Unix system. If despite that it blows up on you, your best bet is to edit -Configure and run it again. Also, let me (lwall@jpl-devvax.jpl.nasa.gov) +Configure and run it again. Also, let me (lwall@netlabs.com) know how I blew it. If you can't run Configure for some reason, you'll have to generate a config.sh file by hand. @@ -506,25 +523,6 @@ rp="[Type carriage return to continue]" echo $n "$rp $c" . myread -: get old answers, if there is a config file out there -if test -f ../config.sh; then - echo " " - dflt=y - rp="I see a config.sh file. Did Configure make it on THIS system? [$dflt]" - echo $n "$rp $c" - . myread - case "$ans" in - n*) echo "OK, I'll ignore it.";; - *) echo "Fetching default answers from your old config.sh file..." - tmp="$n" - ans="$c" - . ../config.sh - n="$tmp" - c="$ans" - ;; - esac -fi - : find out where common programs are echo " " echo "Locating common programs..." @@ -710,6 +708,129 @@ EOSS chmod +x filexp $eunicefix filexp +: get old answers, if there is a config file out there +hint=default +if test -f ../config.sh; then + echo " " + eval `grep lastuname ../config.sh` + uname=`(uname -a || hostname) 2>&1` + if test "X$uname" = "X$lastuname"; then + dflt=y + else + dflt=n + fi + lastuname="$uname" + rp="I see a config.sh file. Did Configure make it on THIS system? [$dflt]" + echo $n "$rp $c" + . myread + case "$ans" in + n*) echo "OK, I'll ignore it."; mv ../config.sh ../config.sh.old;; + *) echo "Fetching default answers from your old config.sh file..." + tmp="$n" + ans="$c" + . ../config.sh + n="$tmp" + c="$ans" + hint=previous + ;; + esac +fi +if test -d ../hints && test ! -f ../config.sh; then + echo ' ' + echo "First time through, eh? I have some defaults handy for the following systems:" + (cd ../hints; ls -C *.sh | sed 's/\.sh/ /g') + dflt='' + : Half the following guesses are probably wrong... + test -f /irix && dflt="$dflt sgi" + test -f /xenix && dflt="$dflt sco_xenix" + test -f /dynix && dflt="$dflt dynix" + test -f /dnix && dflt="$dflt dnix" + test -f /bin/mips && /bin/mips && dflt="$dflt mips" + if test -f /bin/uname || test -f /usr/bin/uname; then + set `uname -a | tr '[A-Z]' '[a-z]'` + + test -f "../hints/$5.sh" && dflt="$dflt $5" + + case "$5" in + 3b2) dflt="$dflt 3b2";; + fps*) dflt="$dflt fps";; + mips*) dflt="$dflt mips";; + [23]100) dflt="$dflt mips";; + next*) dflt="$dflt next" ;; + esac + + case "$1" in + aix) dflt="$dflt aix_rs" ;; + sunos) case "$3" in + 3.4) dflt="$dflt sunos_3_4" ;; + 3.5) dflt="$dflt sunos_3_5" ;; + 4.0.1) dflt="$dflt sunos_4_0_1" ;; + 4.0.2) dflt="$dflt sunos_4_0_2" ;; + esac + ;; + dnix) dflt="$dflt dnix" ;; + genix) dflt="$dflt genix" ;; + hp*ux) dflt="$dflt hpux" ;; + next) dflt="$dflt next" ;; + irix) dflt="$dflt sgi" ;; + ultrix) case "$3" in + 3*) dflt="$dflt ultrix_3" ;; + 4*) dflt="$dflt ultrix_4" ;; + esac + ;; + uts) dflt="$dflt uts" ;; + $2) if test -f /etc/systemid; then + set `echo $3 | sed 's/\./ /` $4 + if test -f ../hints/sco_$1_$2_$3.sh; then + dflt="$dflt sco_$1_$2_$3" + elif test -f ../hints/sco_$1_$2.sh; then + dflt="$dflt sco_$1_$2" + elif test -f ../hints/sco_$1.sh; then + dflt="$dflt sco_$1" + fi + fi + ;; + esac + fi + set X `echo $dflt | tr ' ' '\012' | sort | uniq` + shift + dflt=${1+"$@"} + case "$dflt" in + '') dflt=none;; + esac + echo '(You may give one or more space-separated answers, or "none" if appropriate.)' + rp="Which of these apply, if any? [$dflt]" + echo $n "$rp $c" + . myread + for file in $ans; do + if test -f ../hints/$file.sh; then + . ../hints/$file.sh + hint=recommended + fi + done +fi + +cat >whoa <<'EOF' +eval "was=\$$2" +dflt=y +echo ' ' +echo "*** WHOA THERE!!! ***" +echo " The $hint value for \$$2 on this machine was \"$was\"!" +rp=" Keep the $hint value? [y]" +echo $n "$rp $c" +. myread +case "$ans" in +y) td=$was; tu=$was;; +esac +EOF + +setvar='td=$define; tu=$undef; set X $1; eval "was=\$$2"; +case "$val$was" in +defineundef) . whoa; eval "$2=\$td";; +undefdefine) . whoa; eval "$2=\$tu";; +*) eval "$2=$val";; +esac' + : determine where manual pages go $cat <<EOM @@ -1179,6 +1300,12 @@ if $contains 'LANGUAGE_C' $usrinclude/signal.h >/dev/null 2>&1; then *) dflt="$dflt -DLANGUAGE_C";; esac fi +if $contains '_NO_PROTO' $usrinclude/signal.h >/dev/null 2>&1; then + case "$dflt" in + *_NO_PROTO*);; + *) dflt="$dflt -D_NO_PROTO";; + esac +fi case "$dflt" in '') dflt=none;; esac @@ -1239,8 +1366,8 @@ ldflags="$ans" echo " " echo "Checking for optional libraries..." case "$libs" in -'') dflt='';; -*) dflt="$libs";; +'') dflt=' ';; +*) dflt="$libs ";; esac case "$libswanted" in '') libswanted='c_s';; @@ -1256,27 +1383,36 @@ for thislib in $libswanted; do if test -f $xxx; then echo "Found -l$thislib." case "$dflt" in - *-l$thislib*|*-l$thatlib*);; - *) dflt="$dflt -l$thislib";; + *"-l$thislib "*|*"-l$thatlib "*);; + *) dflt="$dflt -l$thislib ";; esac else xxx=`./loc lib$thislib.a X $libpth` if test -f $xxx; then echo "Found $xxx." case "$dflt" in - *$xxx*);; - *) dflt="$dflt $xxx";; + *"$xxx "*);; + *) dflt="$dflt $xxx ";; esac else xxx=`./loc Slib$thislib.a X $xlibpth` if test -f $xxx; then echo "Found -l$thislib." case "$dflt" in - *-l$thislib*|*-l$thatlib*);; - *) dflt="$dflt -l$thislib";; + *"-l$thislib "*|*"-l$thatlib "*);; + *) dflt="$dflt -l$thislib ";; esac else - echo "No -l$thislib." + xxx=`./loc lib$thislib.so X /usr/ccs/lib /usr/lib /usr/ucblib /usr/local/lib /lib` + if test -f $xxx; then + echo "Found -l$thislib as a shared object only." + case "$dflt" in + *"-l$thislib "*|*"-l$thatlib "*);; + *) dflt="$dflt -l$thislib ";; + esac + else + echo "No -l$thislib." + fi fi fi fi @@ -1363,7 +1499,8 @@ esac cont=true while $test "$cont" ; do rp="In which directory will public executables reside (~name ok)? [$dflt]" - $echo $n "$rp $c" + $echo "In which directory will public executables reside (~name ok)?" + $echo $n "[$dflt] $c" . myread bin="$ans" bin=`./filexp $bin` @@ -1394,7 +1531,8 @@ esac cont=true while $test "$cont" ; do rp="In which directory will public executables be installed (~name ok)? [$dflt]" - $echo $n "$rp $c" + $echo "In which directory will public executables be installed (~name ok)?" + $echo $n "[$dflt] $c" . myread installbin="$ans" installbin=`./filexp $installbin` @@ -1517,13 +1655,15 @@ else castflags=3 fi case "$castflags" in -0) d_castneg="$define" +0) val="$define" echo "Yup, it does." ;; -*) d_castneg="$undef" +*) val="$undef" echo "Nope, it doesn't." ;; esac +set d_castneg +eval $setvar $rm -f try.* : see how we invoke the C preprocessor @@ -1696,8 +1836,8 @@ eval set \$$# if test -f "$1"; then echo "Your shared C library is in $1." libc="$1" -elif test -f $libc; then - echo "Your C library is in $libc, like you said before." +elif test -f "$libc"; then + echo "Your C library is in $libc." elif test -f /lib/libc.a; then echo "Your C library is in /lib/libc.a. You're normal." libc=/lib/libc.a @@ -1800,11 +1940,22 @@ else fi fi +: old version + inlibc='echo " "; if $contains "^$1\$" libc.list >/dev/null 2>&1; then echo "$1() found"; eval "$2=$define"; else echo "$1() not found"; eval "$2=$undef"; fi' +: new version + +inlibc='echo " "; td=$define; tu=$undef; +if $contains "^$1\$" libc.list >/dev/null 2>&1; +then echo "$1() found"; + eval "case \"\$$2\" in undef) . whoa; esac"; eval "$2=\$td"; +else echo "$1() not found"; + eval "case \"\$$2\" in define) . whoa; esac"; eval "$2=\$tu"; fi' + : see if bcmp exists set bcmp d_bcmp eval $inlibc @@ -1820,21 +1971,29 @@ eval $inlibc : see if sprintf is declared as int or pointer to char echo " " cat >ucbsprf.c <<'EOF' -main() { char buf[10]; exit((unsigned long)sprintf(buf,"%s","foo") > 10L); } +#include <stdio.h> +main() +{ + int sprintf(); + char buf[10]; + exit((unsigned long)sprintf(buf,"%s","foo") > 10L); +} EOF if $cc $ccflags ucbsprf.c -o ucbsprf >/dev/null 2>&1 && ./ucbsprf; then echo "Your sprintf() returns (int)." - d_charsprf="$undef" + val="$undef" else echo "Your sprintf() returns (char*)." - d_charsprf="$define" + val="$define" fi +set d_charsprf +eval $setvar : see if vprintf exists echo " " if $contains '^vprintf$' libc.list >/dev/null 2>&1; then echo 'vprintf() found.' - d_vprintf="$define" + val="$define" cat >vprintf.c <<'EOF' #include <varargs.h> @@ -1852,16 +2011,21 @@ va_dcl EOF if $cc $ccflags vprintf.c -o vprintf >/dev/null 2>&1 && ./vprintf; then echo "Your vsprintf() returns (int)." - d_charvspr="$undef" + val2="$undef" else echo "Your vsprintf() returns (char*)." - d_charvspr="$define" + val2="$define" fi else echo 'vprintf() not found.' - d_vprintf="$undef" - d_charvspr="$undef" + val="$undef" + val2="$undef" fi +set d_vprintf +eval $setvar +val=$val2 +set d_charvspr +eval $setvar : see if chsize exists set chsize d_chsize @@ -1871,7 +2035,7 @@ eval $inlibc echo " " if $contains '^crypt$' libc.list >/dev/null 2>&1; then echo 'crypt() found.' - d_crypt="$define" + val="$define" cryptlib='' else cryptlib=`./loc Slibcrypt.a "" $xlibpth` @@ -1892,17 +2056,21 @@ else fi if $test -z "$cryptlib"; then echo 'crypt() not found.' - d_crypt="$undef" + val="$undef" else - d_crypt="$define" + val="$define" fi fi +set d_crypt +eval $setvar : get csh whereabouts case "$csh" in -'csh') d_csh="$undef" ;; -*) d_csh="$define" ;; +'csh') val="$undef" ;; +*) val="$define" ;; esac +set d_csh +eval $setvar : see if readdir exists set readdir d_readdir @@ -1916,21 +2084,21 @@ x) xxx=`./loc sys/ndir.h x $usrinclude /usr/local/include $inclwanted` ;; esac -d_dirnamlen="$undef" -i_dirent="$undef" -i_sys_dir="$undef" -i_my_dir="$undef" -i_ndir="$undef" -i_sys_ndir="$undef" +D_dirnamlen="$undef" +I_dirent="$undef" +I_sys_dir="$undef" +I_my_dir="$undef" +I_ndir="$undef" +I_sys_ndir="$undef" libndir='' ndirc='' ndiro='' if $test -r $usrinclude/dirent.h; then echo "dirent.h found." if $contains 'd_namlen' $usrinclude/dirent.h >/dev/null 2>&1; then - d_dirnamlen="$define" + D_dirnamlen="$define" fi - i_dirent="$define" + I_dirent="$define" elif $test -r $xxx; then echo "You seem to use <$xxx>," if $test "$d_readdir" = "$define"; then @@ -1951,37 +2119,43 @@ elif $test -r $xxx; then esac fi if $contains 'd_namlen' $xxx >/dev/null 2>&1; then - d_dirnamlen="$define" + D_dirnamlen="$define" fi case "$xxx" in sys/) - i_sys_ndir="$define" + I_sys_ndir="$define" ;; *) - i_ndir="$define" + I_ndir="$define" ;; esac else - # The next line used to require this to be a bsd system. + : The next line used to require this to be a bsd system. if $contains '^readdir$' libc.list >/dev/null 2>&1 ; then echo "No ndir library found, but you have readdir() so we'll use that." if $contains 'd_namlen' $usrinclude/sys/dir.h >/dev/null 2>&1; then - d_dirnamlen="$define" + D_dirnamlen="$define" fi - i_sys_dir="$define" + I_sys_dir="$define" else echo "No ndir library found--using ./$d_ndir.c." -# This will lose since $d_ndir.h is in another directory. -# I doubt we can rely on it being in ../$d_ndir.h . -# At least it will fail in a conservative manner. +: This will lose since $d_ndir.h is in another directory. +: I doubt we can rely on it being in ../$d_ndir.h . +: At least it will fail in a conservative manner. if $contains 'd_namlen' $d_ndir.h >/dev/null 2>&1; then - d_dirnamlen="$define" + D_dirnamlen="$define" fi - i_my_dir="$define" + I_my_dir="$define" ndirc="$d_ndir.c" ndiro="$d_ndir.o" fi fi +val=$D_dirnamlen; set d_dirnamlen; eval $setvar +val=$I_dirent; set i_dirent; eval $setvar +val=$I_sys_dir; set i_sys_dir; eval $setvar +val=$I_my_dir; set i_my_dir; eval $setvar +val=$I_ndir; set i_ndir; eval $setvar +val=$I_sys_ndir; set i_sys_ndir; eval $setvar : now see if they want to do setuid emulation case "$d_dosuid" in @@ -2032,16 +2206,19 @@ if (echo hi >123456789abcdef) 2>/dev/null; then : not version 8 if test -f 123456789abcde; then echo 'You cannot have filenames longer than 14 characters. Sigh.' - d_flexfnam="$undef" + val="$undef" else echo 'You can have filenames longer than 14 characters.' - d_flexfnam="$define" + val="$define" fi else : version 8 probably - echo "You can't have filenames longer than 14 chars. V8 can't even think about them!" - d_flexfnam="$undef" + echo "You can't have filenames longer than 14 chars. You can't even think about them!" + val="$undef" fi +set d_flexfnam +eval $setvar + : see if flock exists set flock d_flock eval $inlibc @@ -2074,7 +2251,12 @@ eval $inlibc echo " " case "$d_index" in n) dflt=n;; -*) dflt=y;; +*) if $test -f /unix; then + dflt=n + else + dflt=y + fi + ;; esac if $contains '^index$' libc.list >/dev/null 2>&1 ; then if $contains '^strchr$' libc.list >/dev/null 2>&1 ; then @@ -2145,54 +2327,60 @@ esac : we could also check for sys/ipc.h ... if $h_msg && $test -r $usrinclude/sys/msg.h; then echo "You have the full msg*(2) library." - d_msg="$define" + val="$define" else echo "You don't have the full msg*(2) library." - d_msg="$undef" + val="$undef" fi +set d_msg +eval $setvar : see if ndbm is available echo " " xxx=`./loc ndbm.h x $usrinclude /usr/local/include $inclwanted` if test -f $xxx; then - d_ndbm="$define" + val="$define" echo "ndbm.h found." else - d_ndbm="$undef" + val="$undef" echo "ndbm.h not found." fi +set d_ndbm +eval $setvar : see if we have the old dbm echo " " xxx=`./loc dbm.h x $usrinclude /usr/local/include $inclwanted` if test -f $xxx; then - d_odbm="$define" + val="$define" echo "dbm.h found." else - d_odbm="$undef" + val="$undef" echo "dbm.h not found." fi +set d_odbm +eval $setvar : see whether socket exists echo " " socketlib='' if $contains socket libc.list >/dev/null 2>&1; then echo "Looks like you have Berkeley networking support." - d_socket="$define" + val="$define" : now check for advanced features if $contains setsockopt libc.list >/dev/null 2>&1; then - d_oldsock="$undef" + val2="$undef" else echo "...but it uses the old 4.1c interface, rather than 4.2" - d_oldsock="$define" + val2="$define" fi else : hpux, for one, puts all the socket stuff in socklib.o if $contains socklib libc.list >/dev/null 2>&1; then echo "Looks like you have Berkeley networking support." - d_socket="$define" + val="$define" : we will have to assume that it supports the 4.2 BSD interface - d_oldsock="$undef" + val2="$undef" else echo "Hmmm...you don't have Berkeley networking in libc.a..." : look for an optional networking library @@ -2202,31 +2390,39 @@ else if $contains socket libc.list >/dev/null 2>&1; then echo "but the Wollongong group seems to have hacked it in." socketlib="-lnet -lnsl_s" - d_socket="$define" + val="$define" : now check for advanced features if $contains setsockopt libc.list >/dev/null 2>&1; then - d_oldsock="$undef" + val2="$undef" else echo "...using the old 4.1c interface, rather than 4.2" - d_oldsock="$define" + val2="$define" fi else echo "or even in libnet.a, which is peculiar." - d_socket="$undef" - d_oldsock="$undef" + val="$undef" + val2="$undef" fi else echo "or anywhere else I see." - d_socket="$undef" - d_oldsock="$undef" + val="$undef" + val2="$undef" fi fi fi +set d_socket +eval $setvar + if $contains socketpair libc.list >/dev/null 2>&1; then - d_sockpair="$define" + val="$define" else - d_sockpair="$undef" + val="$undef" fi +set d_sockpair +eval $setvar +val=$val2 +set d_oldsock +eval $setvar : Locate the flags for 'open()' echo " " @@ -2256,10 +2452,10 @@ if $test -r $usrinclude/sys/file.h && \ echo "sys/file.h defines the O_* constants..." if ./open3; then echo "and you have the 3 argument form of open()." - d_open3="$define" + val="$define" else echo "but not the 3 argument form of open(). Oh, well." - d_open3="$undef" + val="$undef" fi elif $test -r $usrinclude/fcntl.h && \ $cc "-DI_FCNTL" open3.c -o open3 >/dev/null 2>&1 ; then @@ -2267,22 +2463,24 @@ elif $test -r $usrinclude/fcntl.h && \ echo "fcntl.h defines the O_* constants..." if ./open3; then echo "and you have the 3 argument form of open()." - d_open3="$define" + val="$define" else echo "but not the 3 argument form of open(). Oh, well." - d_open3="$undef" + val="$undef" fi else - d_open3="$undef" + val="$undef" echo "I can't find the O_* constant definitions! You got problems." fi +set d_open3 +eval $setvar : see if how pwd stuff is defined echo " " if $test -r $usrinclude/pwd.h ; then i_pwd="$define" echo "pwd.h found." - $cppstdin $cppflags <$usrinclude/pwd.h >pwd.txt + $cppstdin $cppflags $cppminus <$usrinclude/pwd.h >pwd.txt if $contains 'pw_quota' pwd.txt >/dev/null 2>&1; then d_pwquota="$define" else @@ -2357,11 +2555,13 @@ esac : we could also check for sys/ipc.h ... if $h_sem && $test -r $usrinclude/sys/sem.h; then echo "You have the full sem*(2) library." - d_sem="$define" + val="$define" else echo "You don't have the full sem*(2) library." - d_sem="$undef" + val="$undef" fi +set d_sem +eval $setvar : see if setegid exists set setegid d_setegid @@ -2428,41 +2628,47 @@ esac : we could also check for sys/ipc.h ... if $h_shm && $test -r $usrinclude/sys/shm.h; then echo "You have the full shm*(2) library." - d_shm="$define" + val="$define" else echo "You don't have the full shm*(2) library." - d_shm="$undef" + val="$undef" fi +set d_shm +eval $setvar : see if stat knows about block sizes echo " " if $contains 'st_blocks;' $usrinclude/sys/stat.h >/dev/null 2>&1 ; then if $contains 'st_blksize;' $usrinclude/sys/stat.h >/dev/null 2>&1 ; then echo "Your stat knows about block sizes." - d_statblks="$define" + val="$define" else echo "Your stat doesn't know about block sizes." - d_statblks="$undef" + val="$undef" fi else echo "Your stat doesn't know about block sizes." - d_statblks="$undef" + val="$undef" fi +set d_statblks +eval $setvar : see if stdio is really std echo " " if $contains 'char.*_ptr.*;' $usrinclude/stdio.h >/dev/null 2>&1 ; then if $contains '_cnt;' $usrinclude/stdio.h >/dev/null 2>&1 ; then echo "Your stdio is pretty std." - d_stdstdio="$define" + val="$define" else echo "Your stdio isn't very std." - d_stdstdio="$undef" + val="$undef" fi else echo "Your stdio isn't very std." - d_stdstdio="$undef" + val="$undef" fi +set d_stdstdio +eval $setvar : check for structure copying echo " " @@ -2478,12 +2684,14 @@ main() } EOCP if $cc -c strctcpy.c >/dev/null 2>&1 ; then - d_strctcpy="$define" + val="$define" echo "Yup, it can." else - d_strctcpy="$undef" + val="$undef" echo "Nope, it can't." fi +set d_strctcpy +eval $setvar : see if strerror exists set strerror d_strerror @@ -2501,7 +2709,9 @@ eval $inlibc w_s_tm=1 : set if package uses struct timeval -w_s_timevl=1 +case "$d_select" in +define) w_s_timevl=1 ;; +esac : set if package uses localtime function w_localtim=1 @@ -2598,9 +2808,9 @@ for i_sys_select in '' '-DI_SYS_SELECT'; do for i_systime in '-DI_SYS_TIME' ''; do case "$flags" in '') echo Trying $i_time $i_systime $d_systimekernel $i_sys_select - if $cc $ccflags i_time.c $idefs \ + if $cc $ccflags $idefs \ $i_time $i_systime $d_systimekernel $i_sys_select \ - -o i_time >/dev/null 2>&1 ; then + i_time.c -o i_time >/dev/null 2>&1 ; then set X $i_time $i_systime $d_systimekernel $i_sys_select shift flags="$*" @@ -2613,32 +2823,48 @@ for i_sys_select in '' '-DI_SYS_SELECT'; do done done case "$flags" in -*SYSTIMEKERNEL*) d_systimekernel="$define";; -*) d_systimekernel="$undef";; +*SYSTIMEKERNEL*) val="$define";; +*) val="$undef";; esac +set d_systimekernel +eval $setvar case "$flags" in -*I_TIME*) i_time="$define";; -*) i_time="$undef";; +*I_TIME*) val="$define";; +*) val="$undef";; esac +set i_time +eval $setvar case "$flags" in -*I_SYS_SELECT*) i_sys_select="$define";; -*) i_sys_select="$undef";; +*I_SYS_SELECT*) val="$define";; +*) val="$undef";; esac +set i_sys_select +eval $setvar case "$flags" in -*I_SYS_TIME*) i_sys_time="$define";; -*) i_sys_time="$undef";; +*I_SYS_TIME*) val="$define";; +*) val="$undef";; +esac +set i_sys_time +eval $setvar +case "$flags$i_sys_time$i_time" in +undefundef) i_sys_time="$define"; i_time="$define"; + echo "ICK, NOTHING WORKED!!! You may have to diddle the includes.";; esac : see if signal is declared as pointer to function returning int or void echo " " $cppstdin $cppflags $cppminus < $usrinclude/signal.h >d_voidsig.txt -if $contains 'void.*signal' d_voidsig.txt >/dev/null 2>&1 ; then - echo "You have void (*signal())() instead of int." - d_voidsig="$define" -else +if $contains 'int.*signal' d_voidsig.txt >/dev/null 2>&1 ; then echo "You have int (*signal())() instead of void." - d_voidsig="$undef" + val="$undef" + d_tosignal=int +else + echo "You have void (*signal())() instead of int." + val="$define" + d_tosignal=void fi +set d_voidsig +eval $setvar : see if truncate exists set truncate d_truncate @@ -2662,12 +2888,14 @@ main() } EOCP if $cc -c $ccflags try.c >/dev/null 2>&1 ; then - d_volatile="$define" + val="$define" echo "Yup, it does." else - d_volatile="$undef" + val="$undef" echo "Nope, it doesn't." fi +set d_volatile +eval $setvar $rm -f try.* : see if there is a wait4 @@ -2679,17 +2907,12 @@ set waitpid d_waitpid eval $inlibc : see what type gids are declared as in the kernel -echo " " case "$gidtype" in '') - if $contains 'getgroups.*short' /usr/lib/lint/llib-lc >/dev/null 2>&1; then - dflt='short' - elif $contains 'getgroups.*int' /usr/lib/lint/llib-lc >/dev/null 2>&1; then - dflt='int' - elif $contains 'gid_t;' $usrinclude/sys/types.h >/dev/null 2>&1 ; then - dflt='gid_t' + if $contains 'gid_t;' $usrinclude/sys/types.h >/dev/null 2>&1 ; then + dflt='gid_t'; else - set `grep 'groups\[NGROUPS\];' $usrinclude/sys/user.h 2>/dev/null` unsigned short + set `grep '_rgid;' $usrinclude/sys/user.h 2>/dev/null` unsigned short case $1 in unsigned) dflt="$1 $2" ;; *) dflt="$1" ;; @@ -2700,8 +2923,8 @@ case "$gidtype" in ;; esac cont=true -echo "(The following only matters if you have getgroups().)" -rp="What type are the group ids returned by getgroups()? [$dflt]" +echo " " +rp="What type are groups ids returned by getgid(), etc.? [$dflt]" $echo $n "$rp $c" . myread gidtype="$ans" @@ -2734,6 +2957,48 @@ $echo $n "$rp $c" . myread intsize="$ans" +: determine which malloc to compile in +echo " " +case "$usemymalloc" in +'') + if bsd || v7; then + dflt='y' + else + dflt='n' + fi + ;; +*) dflt="$usemymalloc" + ;; +esac +rp="Do you wish to attempt to use the malloc that comes with $package? [$dflt]" +$echo $n "$rp $c" +. myread +case "$ans" in +'') ans=$dflt;; +esac +usemymalloc="$ans" +case "$ans" in +y*) mallocsrc='malloc.c'; mallocobj='malloc.o' + libs=`echo $libs | sed 's/-lmalloc//'` + case "$mallocptrtype" in + '') + cat >usemymalloc.c <<'END' +#include <malloc.h> +void *malloc(); +END + if $cc $ccflags -c usemymalloc.c >/dev/null 2>&1; then + mallocptrtype=void + else + mallocptrtype=char + fi + ;; + esac + echo " " + echo "Your system wants malloc to return $mallocptrtype*, it would seem." + ;; +*) mallocsrc=''; mallocobj=''; mallocptrtype=void;; +esac + : determine where private executables go case "$privlib" in '') @@ -2998,33 +3263,15 @@ voidhave="$ans" Log='$Log' Header='$Header' Id='$Id' +Author='$Author' +Date='$Date' +Locker='$Locker' +RCSfile='$RCSfile' +Revision='$Revision' +Source='$Source' +State='$State' -: determine which malloc to compile in -echo " " -case "$usemymalloc" in -'') - if bsd || v7; then - dflt='y' - else - dflt='n' - fi - ;; -*) dflt="$usemymalloc" - ;; -esac -rp="Do you wish to attempt to use the malloc that comes with $package? [$dflt]" -$echo $n "$rp $c" -. myread -case "$ans" in -'') ans=$dflt;; -esac -usemymalloc="$ans" -case "$ans" in -y*) mallocsrc='malloc.c'; mallocobj='malloc.o';; -*) mallocsrc=''; mallocobj='';; -esac - : determine compiler compiler case "$yacc" in '') if xenix; then @@ -3045,110 +3292,165 @@ case "$ans" in esac yacc="$ans" +: see what type gids are returned by getgroups +echo " " +case "$groupstype" in +'') + if $contains 'getgroups.*short' /usr/lib/lint/llib-lc >/dev/null 2>&1; then + dflt='short' + elif $contains 'getgroups.*int' /usr/lib/lint/llib-lc >/dev/null 2>&1; then + dflt='int' + elif $contains 'getgroups.*short' /usr/lib/lint/llib-lbsd >/dev/null 2>&1; then + dflt='short' + elif $contains 'getgroups.*int' /usr/lib/lint/llib-lbsd >/dev/null 2>&1; then + dflt='int' + elif $contains 'int gidset' /usr/man/man2/getgroups.2 >/dev/null 2>&1 ; then + dflt='int' + elif $contains 'gid_t;' $usrinclude/sys/types.h >/dev/null 2>&1 ; then + dflt='gid_t' + else + set `grep 'groups\[NGROUPS\];' $usrinclude/sys/user.h 2>/dev/null` unsigned short + case $1 in + unsigned) dflt="$1 $2" ;; + *) dflt="$1" ;; + esac + fi + ;; +*) dflt="$groupstype" + ;; +esac +cont=true +echo "(The following only matters if you have getgroups().)" +rp="What type are the group ids returned by getgroups()? [$dflt]" +$echo $n "$rp $c" +. myread +groupstype="$ans" + : see if we can include fcntl.h echo " " if $h_fcntl; then - i_fcntl="$define" + val="$define" echo "We'll be including <fcntl.h>." else - i_fcntl="$undef" + val="$undef" if $h_sys_file; then echo "We don't need to <fcntl.h> if we include <sys/file.h>." else echo "We won't be including <fcntl.h>." fi fi +set i_fcntl +eval $setvar : see if gdbm is available echo " " xxx=`./loc gdbm.h x $usrinclude /usr/local/include $inclwanted` if test -f $xxx; then - i_gdbm="$define" + val="$define" echo "gdbm.h found." else - i_gdbm="$undef" + val="$undef" echo "gdbm.h not found." fi +set i_gdbm +eval $setvar : see if this is an grp system echo " " if $test -r $usrinclude/grp.h ; then - i_grp="$define" + val="$define" echo "grp.h found." else - i_grp="$undef" + val="$undef" echo "No grp.h found." fi +set i_grp +eval $setvar : see if this is a netinet/in.h or sys/in.h system echo " " xxx=`./loc netinet/in.h x $usrinclude /usr/local/include $inclwanted` if test -f $xxx; then - i_niin="$define" - i_sysin="$undef" + val="$define" + val2="$undef" echo "netinet/in.h found." else - i_niin="$undef" + val="$undef" echo "No netinet/in.h found, ..." xxx=`./loc sys/in.h x $usrinclude /usr/local/include $inclwanted` if test -f $xxx; then - i_sysin="$define" + val2="$define" echo "but I found sys/in.h instead." else - i_sysin="$undef" + val2="$undef" echo "and I didn't find sys/in.h either." fi fi +set i_niin +eval $setvar +val=$val2 +set i_sysin +eval $setvar : Do we need to #include <sys/file.h> ? echo " " if $h_sys_file; then - i_sys_file="$define" + val="$define" echo "We'll be including <sys/file.h>." else - i_sys_file="$undef" + val="$undef" echo "We won't be including <sys/file.h>." fi +set i_sys_file +eval $setvar : see if ioctl defs are in sgtty/termio or sys/ioctl echo " " if $test -r $usrinclude/sys/ioctl.h ; then - i_sysioctl="$define" + val="$define" echo "sys/ioctl.h found." else - i_sysioctl="$undef" + val="$undef" echo "sys/ioctl.h not found, assuming ioctl args are defined in sgtty.h." fi +set i_sysioctl +eval $setvar : see if we should include utime.h echo " " if $test -r $usrinclude/utime.h ; then - i_utime="$define" + val="$define" echo "utime.h found." else - i_utime="$undef" + val="$undef" echo "No utime.h found, but that's ok." fi +set i_utime +eval $setvar : see if this is a varargs system echo " " if $test -r $usrinclude/varargs.h ; then - i_varargs="$define" + val="$define" echo "varargs.h found." else - i_varargs="$undef" + val="$undef" echo "No varargs.h found, but that's ok (I hope)." fi +set i_varargs +eval $setvar : see if this is a vfork system echo " " if $test -r $usrinclude/vfork.h ; then - i_vfork="$define" + val="$define" echo "vfork.h found." else - i_vfork="$undef" + val="$undef" echo "No vfork.h found." fi +set i_vfork +eval $setvar : end of configuration questions echo " " @@ -3166,7 +3468,6 @@ $startsh # config.sh # This file was produced by running the Configure script. -kit_has_binaries='$kit_has_binaries' d_eunice='$d_eunice' define='$define' eunicefix='$eunicefix' @@ -3229,6 +3530,7 @@ bison='$bison' Log='$Log' Header='$Header' Id='$Id' +lastuname='$lastuname' alignbytes='$alignbytes' bin='$bin' installbin='$installbin' @@ -3317,6 +3619,7 @@ d_charvspr='$d_charvspr' d_wait4='$d_wait4' d_waitpid='$d_waitpid' gidtype='$gidtype' +groupstype='$groupstype' i_fcntl='$i_fcntl' i_gdbm='$i_gdbm' i_grp='$i_grp' @@ -3353,6 +3656,7 @@ ndiro='$ndiro' mallocsrc='$mallocsrc' mallocobj='$mallocobj' usemymalloc='$usemymalloc' +mallocptrtype='$mallocptrtype' mansrc='$mansrc' manext='$manext' models='$models' @@ -3424,6 +3728,9 @@ if test ! -f $1; then shift fi for file in $*; do + set X + shift + chmod +x $file case "$file" in */*) dir=`$expr X$file : 'X\(.*\)/'` diff --git a/patchlevel.h b/patchlevel.h index e3d7670bc6..558d48cd9b 100644 --- a/patchlevel.h +++ b/patchlevel.h @@ -1 +1 @@ -#define PATCHLEVEL 2 +#define PATCHLEVEL 3 |