#! /bin/sh # # If these # comments don't work, trim them. Don't worry about any other # shell scripts, Configure will trim # comments from them for you. # # (If you are trying to port this package to a machine without sh, # I would suggest you have a look at the prototypical config.h.SH file # 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.) # # Yes, you may rip this off to use in other distribution packages. This # script belongs to the public domain and cannot be copyrighted. # # (Note: this Configure script was generated automatically. Rather than # working with this copy of Configure, you may wish to get metaconfig. # The dist-3.0 package (which contains metaconfig) was posted in # comp.sources.misc so you may fetch it yourself from your nearest # archive site. Check with Archie if you don't know where that can be.) # # $Id: Configure,v 1.2 1998/06/17 02:27:55 svalente Exp $ # # Generated on Thu May 5 12:36:48 PDT 1994 [metaconfig 3.0 PL22] cat >/tmp/c1$$ </tmp/c2$$ </dev/null 2>&1; then : already under /bin/ksh else cat <<'EOM' (Feeding myself to ksh to avoid nasty sh bug in "here document" expansion.) EOM exec /bin/ksh $0 "$@" fi else : Warn them if they use ksh on other systems (PATH=.; alias -x) >/dev/null 2>&1 && \ cat <<'EOM' (I see you are using the Korn shell. Some ksh's blow up on Configure, especially on exotic machines. If yours does, try the Bourne shell instead.) EOM fi : Configure runs within the UU subdirectory test -d UU || mkdir UU cd UU && rm -f * d_bsd='' d_eunice='' d_xenix='' eunicefix='' Mcc='' awk='' basename='' bash='' cat='' cp='' cpp='' csh='' date='' diff='' echo='' ed='' egrep='' expr='' grep='' inews='' ispell='' ksh='' less='' lint='' mail='' metamail='' mhn='' mkdir='' more='' munpack='' mv='' nroff='' pg='' rm='' rmail='' sed='' sendmail='' smail='' sort='' spell='' tail='' test='' tr='' uname='' uniq='' uuname='' vi='' vspell='' who='' hint='' myuname='' srcdir='' vincludes='' vpath='' Id='' Log='' active='' acttimes='' d_acttimes='' myactive='' bin='' binexp='' installbin='' cc='' ccflags='' cppflags='' ldflags='' lkflags='' optimize='' cf_by='' cf_time='' contains='' cpplast='' cppminus='' cpprun='' cppstdin='' d_ftime='' aphostcmd='' d_gethname='' d_phostcmd='' d_uname='' d_getpwent='' d_getcwd='' d_getwd='' d_havetlib='' termlib='' d_ignoreorg='' d_internet='' d_memcmp='' d_memcpy='' d_memset='' d_mimeshow='' d_mimestore='' mimeshow='' mimestore='' d_newsadm='' newsadmin='' d_nntp='' d_xdata='' d_genauth='' servername='' d_nolnbuf='' d_normsig='' jobslib='' d_novoid='' void='' d_portable='' d_rdchk='' d_rename='' d_sigblock='' d_sighold='' d_sizet='' d_strccmp='' d_strchr='' d_strftime='' strftimec='' strftimeo='' d_libndir='' d_usendir='' libndir='' ndirc='' ndiro='' d_vfork='' d_voidsig='' signal_t='' defeditor='' filexp='' d_dirnamlen='' i_dirent='' i_ptem='' i_stdlib='' i_string='' strings='' i_sysdir='' d_voidtty='' i_bsdioctl='' i_sysfilio='' i_sysioctl='' i_syssockio='' i_sysndir='' i_sgtty='' i_termio='' i_termios='' i_systime='' i_time='' i_unistd='' i_vfork='' ispell_options='' ispell_prg='' libc='' plibpth='' xlibpth='' libs='' citydist='' cntrydist='' contdist='' locdist='' multistatedist='' orgdist='' statedist='' mailer='' mailfile='' installmansrc='' manext='' mansrc='' mansrcexp='' mboxchar='' c='' n='' d_berknames='' d_passnames='' d_usgnames='' nametype='' inewsloc='' newslib='' newslibexp='' newsspool='' orgname='' package='' spackage='' pager='' phost='' phostcmd='' prefshell='' installprivlib='' privlib='' privlibexp='' rootid='' sharpbang='' shsharp='' spitshell='' startsh='' sysman='' d_usemt='' d_useov='' overviewdir='' threaddir='' trn_init='' trn_select='' nm_opt='' runnm='' usenm='' incpath='' mips='' mips_type='' usrinc='' d_whoami='' CONFIG='' : set package name package=trn first=`echo $package | sed -e 's/^\(.\).*/\1/'` last=`echo $package | sed -e 's/^.\(.*\)/\1/'` spackage=`echo $first | tr '[a-z]' '[A-Z]'`$last : determine where the sources are cd .. objdir=`pwd` _srcdir=`expr X$0 : 'X\(.*\)/'` if test -f MANIFEST -o ! -f $_srcdir/MANIFEST; then _srcdir='..' _vpath='.' else case "$_srcdir" in /*) ;; *) _srcdir=`(cd $_srcdir ; pwd)` ;; esac echo "Aha! Your $package sources are really in $_srcdir." _vpath="$_srcdir" fi cd UU : script used to extract .SH files with variable substitutions cat >extract <<'EOS' CONFIG=true case "$_srcdir" in ..) _srcdir='.';; esac echo "Doing variable substitutions on .SH files..." if test -f $_srcdir/MANIFEST; then set x `awk '$1 ~ /.SH$/ {print $1}' $_srcdir/MANIFEST` else echo "(Looking for .SH files under the current directory.)" set x `(cd $_srcdir ; find . -name "*.SH" -print)` fi shift case $# in 0) set x *.SH ; shift case "$1" in \*.SH) shift ;; esac ;; esac for file in $*; do . $_srcdir/$file done EOS : produce awk script to parse command line options cat >options.awk <<'EOF' BEGIN { optstr = "deEf:hrsSV"; # getopt-style specification len = length(optstr); for (i = 1; i <= len; i++) { c = substr(optstr, i, 1); if (i < len) a = substr(optstr, i + 1, 1); else a = ""; if (a == ":") { arg[c] = 1; i++; } opt[c] = 1; } } { expect = 0; str = $0; if (substr(str, 1, 1) != "-") { printf("'%s'\n", str); next; } len = length($0); for (i = 2; i <= len; i++) { c = substr(str, i, 1); if (!opt[c]) { printf("-%s\n", substr(str, i)); next; } printf("-%s\n", c); if (arg[c]) { if (i < len) printf("'%s'\n", substr(str, i + 1)); else expect = 1; next; } } } END { if (expect) print "?"; } EOF : process the command line options set X `for arg in "$@"; do echo $arg; done | awk -f options.awk` eval "set $*" shift rm -f options.awk : set up default values fastread='' reuseval=false config_sh='' alldone='' error='' silent='' extractsh='' : option parsing while test $# -gt 0; do case "$1" in -d) shift; fastread=yes;; -e) shift; alldone=cont;; -f) shift cd .. if test -r "$1"; then config_sh="$1" else echo "Configure: cannot read config file $1." >&2 error=true fi cd UU shift;; -h) shift; error=true;; -r) shift; reuseval=true;; -s) shift; silent=true;; -E) shift; alldone=exit;; -S) shift; extractsh=true;; -V) echo "Configure generated by metaconfig 3.0 PL22." >&2 exit 0;; --) break;; -*) echo "Configure: unknown option $1" >&2; shift; error=true;; *) break;; esac done case "$error" in true) cat >&2 <&1 case "$silent" in true) exec 1>/dev/null;; esac case "$extractsh" in true) case "$config_sh" in '') config_sh='config.sh'; config='./config.sh';; /*) config="$config_sh";; *) config="./$config_sh";; esac echo " " echo "Fetching answers from $config_sh..." cd .. . $config echo " " . ./UU/extract rm -rf UU echo "Done." exit 0 ;; esac : Eunice requires " " instead of "", can you believe it echo " " : Here we go... echo "Beginning of configuration questions for $package." define='define' undef='undef' smallmach='pdp11 i8086 z8000 i80286 iAPX286' rmlist='' trap 'echo " "; rm -rf $rmlist; exit 1' 1 2 3 15 : We must find out about Eunice early eunicefix=':' if test -f /etc/unixtovms; then eunicefix=/etc/unixtovms fi if test -f /etc/unixtovms.exe; then eunicefix=/etc/unixtovms.exe fi : list of known cpp symbols attrlist="__alpha __bsdi__ BSD_NET2 DGUX M_I186 M_I286 M_I386" attrlist="$attrlist M_I8086 M_XENIX UTS __DGUX__" attrlist="$attrlist _AIX __STDC__ __m88k__ ansi bsd4_2 gcos gimpel" attrlist="$attrlist hp9000s300 hp9000s400 hp9000s500 hp9000s700" attrlist="$attrlist hp9000s800 hpux" attrlist="$attrlist i186 i386 i486 i8086 iAPX286 ibm interdata" attrlist="$attrlist m88k mc300 mc500 mc68000 mc68k mc700 mert" attrlist="$attrlist mips NeXT ns16000 ns32000 nsc32000 os" attrlist="$attrlist __osf__ pdp11 posix" attrlist="$attrlist pyr sinix sony sparc sun tower tower32 tower32_600" attrlist="$attrlist tower32_800 tss u3b2 u3b20 u3b200 u3b5 ultrix unix" attrlist="$attrlist __unix__ vax venix xenix z8000" i_sysselct='' : change the next line if compiling for Xenix/286 on Xenix/386 xlibpth='/usr/lib/386 /lib/386' : general looking path for locating libraries libpth='/usr/lib/large /lib '$xlibpth' /lib/large' libpth=$libpth' /usr/lib/small /lib/small' : no additional library wanted by default libswanted='' CTRLA=`echo a | tr a '\001'` large='' inclwanted='/usr/include/NET-5000' libswanted='socket nsl' : Some greps do not return status, grrr. echo "grimblepritz" >grimble if grep blurfldyick grimble >/dev/null 2>&1 ; then contains=contains elif grep grimblepritz grimble >/dev/null 2>&1 ; then contains=grep else contains=contains fi rm -f grimble : the following should work in any shell case "$contains" in contains*) echo " " echo "AGH! Grep doesn't return a status. Attempting remedial action." cat >contains <<'EOSS' grep "$1" "$2" >.greptmp && cat .greptmp && test -s .greptmp EOSS chmod +x contains esac : first determine how to suppress newline on echo command echo " " echo "Checking echo to see how to suppress newlines..." (echo "hi there\c" ; echo " ") >.echotmp if $contains c .echotmp >/dev/null 2>&1 ; then echo "...using -n." n='-n' c='' else cat <<'EOM' ...using \c EOM n='' c='\c' fi echo $n "The star should be here-->$c" echo '*' rm -f .echotmp : Now test for existence of everything in MANIFEST echo " " if test -f $_srcdir/MANIFEST; then echo "First let's make sure your kit is complete. Checking..." >&4 awk '$1 !~ /PACK[A-Z]+/ {print $1}' $_srcdir/MANIFEST | split -50 rm -f missing for filelist in x??; do (cd $_srcdir; ls `cat $objdir/UU/$filelist`) >/dev/null 2>>missing done if test -s missing; then cat missing >&4 cat >&4 <<'EOM' THIS PACKAGE SEEMS TO BE INCOMPLETE. You have the option of continuing the configuration process, despite the distinct possibility that your kit is damaged, by typing 'y'es. If you do, don't blame me if something goes wrong. I advise you to type 'n'o and contact the author (davison@borland.com). EOM echo $n "Continue? [n] $c" >&4 read ans case "$ans" in y*) echo "Continuing..." >&4 rm -f missing ;; *) echo "ABORTING..." >&4 kill $$ ;; esac else echo "Looks good..." >&4 fi else echo "There is no MANIFEST file. I hope your kit is complete !" fi rm -f missing x?? : compute the number of columns on the terminal for proper question formatting case "$COLUMNS" in '') COLUMNS='80';; esac : set up the echo used in my read myecho="case \"\$xxxm\" in '') echo $n \"\$rp $c\" >&4;; *) case \"\$rp\" in '') echo $n \"[\$xxxm] $c\";; *) if test \`echo \"\$rp [\$xxxm] \" | wc -c\` -ge $COLUMNS; then echo \"\$rp\" >&4 echo $n \"[\$xxxm] $c\" >&4 else echo $n \"\$rp [\$xxxm] $c\" >&4 fi ;; esac;; esac" : now set up to do reads with possible shell escape and default assignment cat <myread xxxm=\$dflt $myecho ans='!' case "\$fastread" in yes) case "\$dflt" in '') ;; *) ans=''; case "\$silent-\$rp" in true-) ;; *) echo " " >&4;; esac;; esac;; *) case "\$silent" in true) case "\$rp" in '') ans='';; esac;; esac;; esac while expr "X\$ans" : "X!" >/dev/null; do read answ set x \$xxxm shift aok=''; eval "ans=\"\$answ\"" && aok=y case "\$answ" in "\$ans") case "\$ans" in "!") sh 1>&4 echo " " $myecho ;; !*) set x \`expr "X\$ans" : "X!\(.*\)\$"\` shift sh 1>&4 -c "\$*" echo " " $myecho ;; esac;; *) case "\$aok" in y) echo "*** Substitution done -- please confirm." xxxm="\$ans" ans=\`echo $n "\$ans$c" | tr '\012' ' '\` xxxm="\$ans" ans=! ;; *) echo "*** Error -- try again." ans=! ;; esac $myecho ;; esac case "\$ans\$xxxm\$nostick" in '') ans=! $myecho ;; esac done case "\$ans" in '') ans="\$xxxm";; esac EOSC : create .config dir to save info across Configure sessions test -d ../.config || mkdir ../.config cat >../.config/README </dev/null || whoami) 2>&1` if $contains "^$user\$" ../.config/instruct >/dev/null 2>&1; then firsttime=false echo " " rp='Would you like to see the instructions?' dflt=n . ./myread case "$ans" in [yY]*) ;; *) needman=false;; esac fi if $needman; then cat <>../.config/instruct;; esac fi : see if sh knows # comments echo " " echo "Checking your sh to see if it knows about # comments..." >&4 if sh -c '#' >/dev/null 2>&1 ; then echo "Your sh handles # comments correctly." shsharp=true spitshell=cat echo " " echo "Okay, let's see if #! works on this system..." cat=/usr/bin/cat test -f $cat || cat=/bin/cat echo "#!$cat" >try $eunicefix try chmod +x try ./try > today if test -s today; then echo "It does." sharpbang='#!' else echo "#! /bin/cat" > try $eunicefix try chmod +x try ./try > today if test -s today; then echo "It does." sharpbang='#! ' else echo "It's just a comment." sharpbang=': use ' fi fi else echo "Your sh doesn't grok # comments--I will strip them later on." shsharp=false echo "exec grep -v '^[ ]*#'" >spitshell chmod +x spitshell $eunicefix spitshell spitshell=`pwd`/spitshell echo "I presume that if # doesn't work, #! won't work either!" sharpbang=': use ' fi rm -f try today : figure out how to guarantee sh startup echo " " echo "Checking out how to guarantee sh startup..." >&4 case "$SYSTYPE" in *bsd*|sys5*) startsh=$sharpbang"/$SYSTYPE/bin/sh";; *) startsh=$sharpbang'/bin/sh';; esac echo "Let's see if '$startsh' works..." cat >try <&4 cat <loc $startsh case \$# in 0) exit 1;; esac thing=\$1 shift dflt=\$1 shift for dir in \$*; do case "\$thing" in .) if test -d \$dir/\$thing; then echo \$dir exit 0 fi ;; *) if test -f \$dir/\$thing; then echo \$dir/\$thing exit 0 elif test -f \$dir/\$thing.exe; then : on Eunice apparently echo \$dir/\$thing exit 0 fi ;; esac done echo \$dflt exit 1 EOSC chmod +x loc $eunicefix loc loclist=" awk cat cp echo expr grep mkdir mv rm sed sleep sort tail tr uniq " trylist=" Mcc basename bash cpp csh date diff ed egrep inews ispell ksh less mail mhn more munpack nroff pg rmail sendmail smail spell test uname uuname vi " pth=`echo $PATH | sed -e 's/:/ /g'` pth="$pth /lib /usr/lib" for file in $loclist; do xxx=`./loc $file $file $pth` eval $file=$xxx eval _$file=$xxx case "$xxx" in /*) echo $file is in $xxx. ;; *) echo "I don't know where $file is. I hope it's in everyone's PATH." ;; esac done echo " " echo "Don't worry if any of the following aren't found..." say=offhand for file in $trylist; do xxx=`./loc $file $file $pth` eval $file=$xxx eval _$file=$xxx case "$xxx" in /*) echo $file is in $xxx. ;; *) echo "I don't see $file out there, $say." say=either ;; esac done case "$egrep" in egrep) echo "Substituting grep for egrep." egrep=$grep ;; esac case "$test" in test) echo "Hopefully test is built into your sh." ;; *) if sh -c "PATH= test true" >/dev/null 2>&1; then echo "Using the test built into your sh." test=test _test=test fi ;; esac case "$echo" in echo) echo "Hopefully echo is built into your sh." ;; '') ;; *) echo " " echo "Checking compatibility between $echo and builtin echo (if any)..." >&4 $echo $n "hi there$c" >foo1 echo $n "hi there$c" >foo2 if cmp foo1 foo2 >/dev/null 2>&1; then echo "They are compatible. In fact, they may be identical." else case "$n" in '-n') n='' c='\c';; *) n='-n' c='';; esac cat <$c" $echo "*" fi $rm -f foo1 foo2 ;; esac : Try to determine whether config.sh was made on this system case "$config_sh" in '') myuname=`( ($uname -a) 2>/dev/null || hostname) 2>&1` myuname=`echo $myuname | $sed -e 's/^[^=]*=//' | \ tr '[A-Z]' '[a-z]' | tr '\012' ' '` dflt=n if test "$fastread" = yes; then dflt=y elif test -f ../config.sh; then oldmyuname='' if $contains myuname= ../config.sh >/dev/null 2>&1; then eval "old`grep myuname= ../config.sh`" oldmyuname=`echo $oldmyuname | $sed -e 's/^[^=]*=//' | \ tr '[A-Z]' '[a-z]' | tr '\012' ' '` fi if test "X$myuname" = "X$oldmyuname"; then dflt=y fi fi : Get old answers from old config file if Configure was run on the : same system, otherwise use the hints. hint=default if test -f ../config.sh; then cd .. echo " " rp="I see a config.sh file. Do you want to use it to set the defaults?" . UU/myread case "$ans" in n*|N*) echo "OK, I'll ignore it."; mv config.sh config.sh.old;; *) echo "Fetching default answers from your old config.sh file..." >&4 tmp="$n" tans="$c" . ./config.sh cp config.sh UU n="$tmp" c="$tans" hint=previous ;; esac cd UU fi if test ! -f ../config.sh; then $cat <&4 dflt='' : Half the following guesses are probably wrong... If you have better : tests or hints, please send them to davison@borland.com : The metaconfig authors would also appreciate a copy... $test -f /vmunix && $test -f /usr/convex/spucmd && dflt="$dflt convexos" $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" $test -f /lib/libc && $test -f /lib/clib && dflt="$dflt domainos" $test -d /NextApps && test -f /usr/adm/software_version && dflt="$dflt next" $test -f Policy.sh && dflt="Policy $dflt" $test -d /usr/include/minix && dflt="$dflt minix" if $test -f $uname; then set X $myuname shift $test -f $5.sh && dflt="$dflt $5" case "$5" in fps*) dflt="$dflt fps";; mips*) case "$4" in umips) dflt="$dflt umips";; *) dflt="$dflt mips";; esac;; [23]100) dflt="$dflt mips";; next*) dflt="$dflt next" ;; news*) dflt="$dflt news" ;; esac case "$1" in aix) dflt="$dflt aix_rs" ;; dnix) dflt="$dflt dnix" ;; dgux) dflt="$dflt dgux" ;; genix) dflt="$dflt genix" ;; hp*ux) dflt="$dflt hpux" ;; next) dflt="$dflt next" ;; irix) dflt="$dflt sgi" ;; convexos) dflt="$dflt convexos";; domainos) dflt="$dflt domainos";; OSF1*alpha) dflt="$dflt dec_osf1";; $2) if $test -f /usr/lib/sysadm/sysadm.menu; then if $test ! -f /etc/copyrights/01.sco; then set 3 2 0 else set `uname -X 2>&1 | grep Release` if test "x$1" != "xRelease"; then set 3 2 1 else set `echo $3 | sed 's/[^0-9]/ /g'` fi fi if $test -f sco_$1_$2_$3.sh; then dflt="$dflt sco_$1_$2_$3" elif $test -f sco_$1_$2.sh; then dflt="$dflt sco_$1_$2" elif $test -f sco_$1.sh; then dflt="$dflt sco_$1" fi fi ;; 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 sco_$1_$2_$3.sh; then dflt="$dflt sco_$1_$2_$3" elif $test -f sco_$1_$2.sh; then dflt="$dflt sco_$1_$2" elif $test -f sco_$1.sh; then dflt="$dflt sco_$1" fi fi ;; esac else if test -f /vmunix -a -f news_os.sh; then (what /vmunix | tr '[A-Z]' '[a-z]') > $objdir/UU/kernel.what 2>&1 if $contains news-os $objdir/UU/kernel.what >/dev/null 2>&1; then dflt="$dflt news_os" fi $rm -f $objdir/UU/kernel.what fi fi set X `echo $dflt | tr ' ' '\012' | sort | uniq` shift dflt='' for file in $*; do if $test -f "$file.sh"; then dflt="$dflt $file" fi done set X $dflt shift dflt=${1+"$@"} case "$dflt" in '') dflt=none;; esac $cat <> $objdir/UU/config.sh elif $test X$ans = X -o X$ans = Xnone ; then : nothing else echo "$file.sh does not exist -- ignored" fi done hint=recommended cd $objdir/UU fi ;; *) echo " " echo "Fetching default answers from $config_sh..." >&4 tmp="$n" tans="$c" cd .. cp $config_sh config.sh 2>/dev/null chmod 644 config.sh . ./config.sh cd UU cp ../config.sh . n="$tmp" c="$tans" hint=previous ;; esac : Restore computed paths for file in $loclist $trylist srcdir vpath; do eval $file="\$_$file" done : include path for Make if test "X$vpath" = "X." ; then vincludes= else vincludes="-I. -I$srcdir" fi : who configured the system cf_time=`$date 2>&1` cf_by=`( (logname) 2>/dev/null || whoami) 2>&1` : set up shell script to do ~ expansion (CONFIG=true . $srcdir/filexp.SH) >/dev/null : check if NNTP is to be used case "$d_nntp" in "$define") dflt="y";; *) dflt="n";; esac $echo " " rp="Do you want to access news via NNTP?" . ./myread case "$ans" in n*) d_nntp="$undef" d_xdata="$undef" d_genauth="$undef";; y*) d_nntp="$define" case "$d_genauth" in define) dflt="y";; *) dflt="n";; esac $cat < .falseactive case "$servername" in '') dflt="no default" ;; *) dflt="$servername";; esac $cat <getfile tilde='' fullpath='' already='' skip='' none_ok='' exp_file='' nopath_ok='' orig_rp="$rp" orig_dflt="$dflt" case "$fn" in *:*) loc_file=`expr $fn : '.*:\(.*\)'` fn=`expr $fn : '\(.*\):.*'` ;; esac case "$fn" in *~*) tilde=true;; esac case "$fn" in */*) fullpath=true;; esac case "$fn" in *+*) skip=true;; esac case "$fn" in *n*) none_ok=true;; esac case "$fn" in *e*) exp_file=true;; esac case "$fn" in *p*) nopath_ok=true;; esac case "$fn" in *f*) type='File';; *d*) type='Directory';; *l*) type='Locate';; esac what="$type" case "$what" in Locate) what='File';; esac case "$exp_file" in '') case "$d_portable" in "$define") ;; *) exp_file=true;; esac ;; esac cd .. while test "$type"; do redo='' rp="$orig_rp" dflt="$orig_dflt" case "$tilde" in true) rp="$rp (~name ok)";; esac . UU/myread case "$ans" in none) value='' ansexp='' case "$none_ok" in true) type='';; esac ;; *) case "$tilde" in '') value="$ans" ansexp="$ans";; *) value=`UU/filexp $ans` case $? in 0) if test "$ans" != "$value"; then echo "(That is $value on this particular system.)" fi ;; *) value="$ans";; esac ansexp="$value" case "$exp_file" in '') value="$ans";; esac ;; esac case "$fullpath" in true) case "$ansexp" in /*) value="$ansexp" ;; *) redo=true case "$already" in true) echo "I shall only accept a full path name, as in /bin/ls." >&4 echo "Use a ! shell escape if you wish to check pathnames." >&4 ;; *) echo "Please give a full path name, starting with slash." >&4 case "$tilde" in true) echo "Note that using ~name is ok provided it expands well." >&4 already=true ;; esac esac ;; esac ;; esac case "$redo" in '') case "$type" in File) if test -f "$ansexp"; then type='' elif test -r "$ansexp" || (test -h "$ansexp") >/dev/null 2>&1 then echo "($value is not a plain file, but that's ok.)" type='' fi ;; Directory) if test -d "$ansexp"; then type='' fi ;; Locate) if test -d "$value"; then echo "(Looking for $loc_file in directory $value.)" value="$value/$loc_file" fi if test -f "$value"; then type='' fi case "$nopath_ok" in true) case "$value" in */*) ;; *) echo "Assuming $value will be in people's path." type='' ;; esac ;; esac ;; esac case "$skip" in true) type=''; esac case "$type" in '') ;; *) if test "$fastread" = yes; then dflt=y else dflt=n fi rp="$what $value doesn't exist. Use that name anyway?" . UU/myread dflt='' case "$ans" in y*) type='';; *) echo " ";; esac ;; esac ;; esac ;; esac done cd UU ans="$value" rp="$orig_rp" dflt="$orig_dflt" EOSC : figure out news library case "$d_nntp" in define) newslib=/tmp newslibexp=/tmp ;; *) case "$newslib" in '') dflt=/usr/lib/news;; *) dflt=$newslib;; esac $echo " " fn=d~ rp='Where is the news library directory?' . ./getfile newslib="$ans" newslibexp=`./filexp $newslib` if $test -f $newslibexp/inews; then $echo "Aha! Inews is really in $newslibexp!" >&4 case "$inews" in inews) : null;; *) $echo "(Make sure $inews isn't an old version.)";; esac inews=$newslibexp/inews fi esac case "$inewsloc" in '') dflt="$inews";; *) dflt="$inewsloc";; esac $echo " " fn=pl:inews rp='Which inews should be used for posting articles?' . ./getfile inewsloc="$ans" : locate active file and active.times file $echo " " case "$d_nntp" in define) active=none myactive=.falseactive : check for active.times case "$acttimes" in ''|none) dflt="n";; *) dflt="y";; esac cat <<'EOM' If your server maintains an accurate "active.times" file, trn can make use of the NEWGROUPS call in NNTP to find new groups instead of using the old method of adding all groups not listed in your .newsrc. If you aren't sure, guess and see if you get notified of the new groups as they are created. EOM rp="Does your server support a reliable NEWGROUPS call?" . ./myread case "$ans" in y*) acttimes="nntp" d_acttimes="$define";; *) acttimes='none' d_acttimes="$undef";; esac ;; *) case "$active" in '') dflt=$newslib/active ;; *) dflt="$active";; esac fn=l~:active rp='Where is the active file?' . ./getfile active="$ans" myactive=`./filexp $active` : check for active.times case "$acttimes" in ''|nntp) dflt="${active}.times";; *) dflt="$acttimes";; esac $cat <<'EOM' If your news system maintains an "active.times" file, trn can use it for a fast new-group check. If it's not around, answer "none" and the active file will be scanned for new groups when it changes size. EOM fn=ln~:active.times rp='The full pathname of active.times or "none"?' . ./getfile acttimes="$ans" case "$acttimes" in '') acttimes=none d_acttimes="$undef";; *) d_acttimes="$define";; esac esac : make some quick guesses about what we are up against echo " " $echo $n "Hmm... $c" echo exit 1 >bsd echo exit 1 >usg echo exit 1 >v7 echo exit 1 >osf1 echo exit 1 >eunice echo exit 1 >xenix echo exit 1 >venix d_bsd="$undef" $cat /usr/include/signal.h /usr/include/sys/signal.h >foo 2>/dev/null if test -f /osf_boot || $contains 'OSF/1' /usr/include/ctype.h >/dev/null 2>&1 then echo "Looks kind of like an OSF/1 system, but we'll see..." echo exit 0 >osf1 elif test `echo abc | tr a-z A-Z` = Abc ; then xxx=`./loc addbib blurfl $pth` if $test -f $xxx; then echo "Looks kind of like a USG system with BSD features, but we'll see..." echo exit 0 >bsd echo exit 0 >usg else if $contains SIGTSTP foo >/dev/null 2>&1 ; then echo "Looks kind of like an extended USG system, but we'll see..." else echo "Looks kind of like a USG system, but we'll see..." fi echo exit 0 >usg fi elif $contains SIGTSTP foo >/dev/null 2>&1 ; then echo "Looks kind of like a BSD system, but we'll see..." d_bsd="$define" echo exit 0 >bsd else echo "Looks kind of like a Version 7 system, but we'll see..." echo exit 0 >v7 fi case "$eunicefix" in *unixtovms*) $cat <<'EOI' There is, however, a strange, musty smell in the air that reminds me of something...hmm...yes...I've got it...there's a VMS nearby, or I'm a Blit. EOI echo exit 0 >eunice d_eunice="$define" : it so happens the Eunice I know will not run shell scripts in Unix format ;; *) echo " " echo "Congratulations. You aren't running Eunice." d_eunice="$undef" ;; esac if test -f /xenix; then echo "Actually, this looks more like a XENIX system..." echo exit 0 >xenix d_xenix="$define" else echo " " echo "It's not Xenix..." d_xenix="$undef" fi chmod +x xenix $eunicefix xenix if test -f /venix; then echo "Actually, this looks more like a VENIX system..." echo exit 0 >venix else echo " " if xenix; then : null else echo "Nor is it Venix..." fi fi chmod +x bsd usg v7 osf1 eunice xenix venix $eunicefix bsd usg v7 osf1 eunice xenix venix $rm -f foo : find out how to find out full name case "$d_berknames" in "$define") dflt=y;; "$undef") dflt=n;; *) if bsd; then dflt=y elif xenix; then dflt=y else dflt=n fi ;; esac $cat <<'EOM' Does your /etc/passwd file keep full names in Berkeley/V7 format (name first thing after ':' in GCOS field)? In that case, a typical entry in the password file looks like this: guest:**paswword**:10:100:Mister Guest User:/usr/users:/bin/sh ^^^^^^^^^^^^^^^^^ EOM rp="Berkeley/V7 format for full name in /etc/passwd?" . ./myread case "$ans" in y*) d_passnames="$define" d_berknames="$define" d_usgnames="$undef" nametype=bsd ;; *) case "$d_usgnames" in "$define") dflt=y;; "$undef") dflt=n;; *) if usg; then dflt=y else dflt=n fi ;; esac $cat <<'EOM' Does your passwd file keep full names in USG format (name sandwiched between a '-' and a '(')? In that case, a typical entry in the password file looks like this: guest:**paswword**:10:100:000-Mister Guest User(000):/usr/users:/bin/sh ^^^^^^^^^^^^^^^^^ EOM rp="USG format for full name in /etc/passwd?" . ./myread case "$ans" in n*) echo "Full name will be taken from ~/.fullname" d_passnames="$undef" d_berknames="$undef" d_usgnames="$undef" nametype=other ;; *) d_passnames="$define" d_berknames="$undef" d_usgnames="$define" nametype=usg ;; esac;; esac : determine where manual pages are on this system echo " " case "$sysman" in '') syspath='/usr/man/man1 /usr/man/man1 /usr/man/mann' syspath="$syspath /usr/man/manl /usr/man/local/man1" syspath="$syspath /usr/man/u_man/man1 /usr/share/man/man1" syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1" syspath="$syspath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1" syspath="$syspath /usr/man/man.L /local/man/man1" sysman=`./loc . $syspath` ;; esac if $test -d "$sysman"; then echo "System manual is in $sysman." >&4 else echo "Could not find manual pages in source form." >&4 fi : see if we need a special compiler echo " " if usg; then case "$cc" in '') case "$Mcc" in /*) dflt='Mcc';; *) case "$large" in -M*) dflt='cc';; *) if $contains '\-M' $sysman/cc.1 >/dev/null 2>&1 ; then if $contains '\-M' $sysman/cpp.1 >/dev/null 2>&1; then dflt='cc' else dflt='cc -M' fi else dflt='cc' fi;; esac;; esac;; *) dflt="$cc";; esac $cat <<'EOM' On some systems the default C compiler will not resolve multiple global references that happen to have the same name. On some such systems the "Mcc" command may be used to force these to be resolved. On other systems a "cc -M" command is required. (Note that the -M flag on other systems indicates a memory model to use!) If you have the Gnu C compiler, you might wish to use that instead. EOM rp="What command will force resolution on this system?" . ./myread cc="$ans" else case "$cc" in '') dflt=cc;; *) dflt="$cc";; esac rp="Use which C compiler?" . ./myread cc="$ans" fi case "$cc" in gcc*) cpp=`./loc gcc-cpp $cpp $pth`;; esac : What should the include directory be ? echo " " $echo $n "Hmm... $c" dflt='/usr/include' incpath='' mips_type='' if $test -f /bin/mips && /bin/mips; then echo "Looks like a MIPS system..." $cat >usr.c <<'EOCP' #ifdef SYSTYPE_BSD43 /bsd43 #endif EOCP if $cc -E usr.c > usr.out && $contains / usr.out >/dev/null 2>&1; then dflt='/bsd43/usr/include' incpath='/bsd43' mips_type='BSD 4.3' else mips_type='System V' fi $rm -f usr.c usr.out echo "and you're compiling with the $mips_type compiler and libraries." else echo "Doesn't look like a MIPS system." echo "exit 1" >mips chmod +x mips $eunicefix mips fi echo " " case "$usrinc" in '') ;; *) dflt="$usrinc";; esac fn=d/ rp='Where are the include files you want to use?' . ./getfile usrinc="$ans" : Set private lib path case "$plibpth" in '') if mips; then plibpth="$incpath/usr/lib /usr/local/lib /usr/ccs/lib" else plibpth="/usr/ccs/lib /usr/lib /usr/ucblib /usr/local/lib" fi;; esac libpth="$plibpth $libpth" : Looking for optional libraries echo " " echo "Checking for optional libraries..." >&4 case "$libs" in ' '|'') dflt='';; *) dflt="$libs";; esac case "$libswanted" in '') libswanted='c_s';; esac for thislib in $libswanted; do case "$thislib" in dbm) thatlib=ndbm;; *_s) thatlib=NONE;; *) thatlib="${thislib}_s";; *) thatlib=NONE;; esac yyy="$incpath/usr/ccs/lib $incpath/usr/lib $incpath/usr/ucblib" yyy="$yyy $incpath/usr/local/lib $incpath/lib" xxx=`./loc lib$thislib.a X $yyy` if $test -f $xxx; then echo "Found -l$thislib." case "$dflt" in *-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";; 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";; esac else xxx=`./loc lib$thislib.so X $libpth` if $test -f $xxx; then echo "Found -l$thislib." case "$dflt" in *-l$thislib*|*-l$thatlib*);; *) dflt="$dflt -l$thislib";; esac else echo "No -l$thislib." fi fi fi fi done set X $dflt shift dflt="$*" case "$libs" in '') dflt="$dflt";; *) dflt="$libs";; esac case "$dflt" in ' '|'') dflt='none';; esac $cat </dev/null 2>&1; then echo "Your C library seems to be in $libc, as you said before." elif $test -r $incpath/usr/lib/libc.a; then libc=$incpath/usr/lib/libc.a; echo "Your C library seems to be in $libc. That's fine." elif $test -r /lib/libc.a; then libc=/lib/libc.a; echo "Your C library seems to be in $libc. You're normal." else if tans=`./loc libc.a blurfl/dyick $libpth`; $test -r "$tans"; then : elif tans=`./loc libc blurfl/dyick $libpth`; $test -r "$tans"; then libnames="$libnames "`./loc clib blurfl/dyick $libpth` elif tans=`./loc clib blurfl/dyick $libpth`; $test -r "$tans"; then : elif tans=`./loc Slibc.a blurfl/dyick $xlibpth`; $test -r "$tans"; then : elif tans=`./loc Mlibc.a blurfl/dyick $xlibpth`; $test -r "$tans"; then : else tans=`./loc Llibc.a blurfl/dyick $xlibpth` fi if $test -r "$tans"; then echo "Your C library seems to be in $tans, of all places." libc=$tans else libc='blurfl' fi fi if $test $xxx = apollo -o -r "$libc" || (test -h "$libc") >/dev/null 2>&1; then dflt="$libc" cat < libpath cat >&4 < libnames set X `cat libnames` shift xxx=files case $# in 1) xxx=file; esac echo "Extracting names from the following $xxx for later perusal:" >&4 echo " " $sed 's/^/ /' libnames >&4 echo " " $echo $n "This may take a while...$c" >&4 nm $nm_opt $* 2>/dev/null >libc.tmp $echo $n ".$c" $grep fprintf libc.tmp > libc.ptf xscan='eval "libc.list"; $echo $n ".$c" >&4' xrun='eval "libc.list"; echo "done" >&4' if com="$sed -n -e 's/^.* [ADTSI] *_[_.]*//p' -e 's/^.* [ADTSI] //p'";\ eval $xscan;\ $contains '^fprintf$' libc.list >/dev/null 2>&1; then eval $xrun elif com="$sed -n -e 's/^__*//' -e 's/^\([a-zA-Z_0-9$]*\).*xtern.*/\1/p'";\ eval $xscan;\ $contains '^fprintf$' libc.list >/dev/null 2>&1; then eval $xrun elif com="$sed -n -e '/|UNDEF/d' -e '/FUNC..GL/s/^.*|__*//p'";\ eval $xscan;\ $contains '^fprintf$' libc.list >/dev/null 2>&1; then eval $xrun elif com="$sed -n -e 's/^.* D __*//p' -e 's/^.* D //p'";\ eval $xscan;\ $contains '^fprintf$' libc.list >/dev/null 2>&1; then eval $xrun elif com="$sed -n -e 's/^_//' -e 's/^\([a-zA-Z_0-9]*\).*xtern.*text.*/\1/p'";\ eval $xscan;\ $contains '^fprintf$' libc.list >/dev/null 2>&1; then eval $xrun elif com="$sed -n -e 's/^.*|FUNC |GLOB .*|//p'";\ eval $xscan;\ $contains '^fprintf$' libc.list >/dev/null 2>&1; then eval $xrun elif com="$grep '|' | $sed -n -e '/|COMMON/d' -e '/|DATA/d' \ -e '/ file/d' -e 's/^\([^ ]*\).*/\1/p'";\ eval $xscan;\ $contains '^fprintf$' libc.list >/dev/null 2>&1; then eval $xrun elif com="$sed -n -e 's/^.*|FUNC |GLOB .*|//p' -e 's/^.*|FUNC |WEAK .*|//p'";\ eval $xscan;\ $contains '^fprintf$' libc.list >/dev/null 2>&1; then eval $xrun elif com="$sed -n -e 's/^__//' -e '/|Undef/d' -e '/|Proc/s/ .*//p'";\ eval $xscan;\ $contains '^fprintf$' libc.list >/dev/null 2>&1; then eval $xrun else nm -p $* 2>/dev/null >libc.tmp com="$sed -n -e 's/^.* [ADTSI] *_[_.]*//p' -e 's/^.* [ADTSI] //p'";\ eval "libc.list" if $contains '^fprintf$' libc.list >/dev/null 2>&1; then nm_opt='-p' echo "done" >&4 else echo " " echo "nm didn't seem to work right. Trying ar instead..." >&4 com='' if ar t $libc > libc.tmp; then for thisname in $libnames; do ar t $thisname >>libc.tmp done $sed -e 's/\.o$//' < libc.tmp > libc.list echo "Ok." >&4 else echo "ar didn't seem to work right." >&4 echo "Maybe this is a Cray...trying bld instead..." >&4 if bld t $libc | $sed -e 's/.*\///' -e 's/\.o:.*$//' > libc.list; then for thisname in $libnames; do bld t $libnames | \ $sed -e 's/.*\///' -e 's/\.o:.*$//' >>libc.list ar t $thisname >>libc.tmp done echo "Ok." >&4 else echo "That didn't work either. Giving up." >&4 exit 1 fi fi fi fi nm_extract="$com" 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$/\1/p' /lib/syscalls.exp >>libc.list fi ;; esac $rm -f libnames libpath : determine optimize, if desired, or use for debug flag also case "$optimize" in ' ') dflt="none";; '') dflt="-O";; *) dflt="$optimize";; esac $cat </dev/null 2>&1 then dflt="$dflt -posix" fi ;; esac ;; *) dflt="$ccflags" ;; esac case "$mips_type" in *BSD*) ;; '') ;; *) inclwanted="$inclwanted $usrinc/bsd";; esac for thisincl in $inclwanted; do if $test -d $thisincl; then if $test x$thisincl != x$usrinc; then case "$dflt" in *$thisincl*);; *) dflt="$dflt -I$thisincl";; esac fi fi done inctest='if $contains $2 $usrinc/$1 >/dev/null 2>&1; then xxx=true; elif $contains $2 $usrinc/sys/$1 >/dev/null 2>&1; then xxx=true; else xxx=false; fi; if $xxx; then case "$dflt" in *$2*);; *) dflt="$dflt -D$2";; esac; fi' if ./osf1; then set signal.h __LANGUAGE_C__; eval $inctest else set signal.h LANGUAGE_C; eval $inctest fi case "$cc" in *gcc) ;; *) set signal.h NO_PROTOTYPE; eval $inctest set signal.h _NO_PROTO; eval $inctest ;; esac case "$dflt" in '') dflt=none;; esac $cat <whoa dflt=y echo " " echo "*** WHOA THERE!!! ***" >&4 echo " The $hint value for \$$var on this machine was \"$was\"!" >&4 rp=" Keep the $hint value?" . ./myread case "$ans" in y) td=$was; tu=$was;; esac EOSC : define an is-in-libc? function inlibc='echo " "; td=$define; tu=$undef; sym=$1; var=$2; eval "was=\$$2"; tx=yes; case "$reuseval$was" in true) ;; true*) tx=no;; esac; case "$tx" in yes) set $sym tres -f; eval $csym; case "$tres" in true) echo "$sym() found." >&4; case "$was" in $undef) . whoa; esac; eval "$var=\$td";; *) echo "$sym() NOT found." >&4; case "$was" in $define) . whoa; esac; eval "$var=\$tu";; esac;; *) case "$was" in $define) echo "$sym() found." >&4;; *) echo "$sym() NOT found." >&4;; esac;; esac' : function used to set $1 to $val setvar='var=$1; eval "was=\$$1"; td=$define; tu=$undef; case "$val$was" in $define$undef) . whoa; eval "$var=\$td";; $undef$define) . whoa; eval "$var=\$tu";; *) eval "$var=$val";; esac' : see if ftime exists set ftime d_ftime eval $inlibc : see if getwd or getcwd exists set getwd d_getwd; eval $inlibc case "$d_getwd" in $define) val=$undef; set d_getcwd; eval $setvar ;; *) set getcwd d_getcwd; eval $inlibc ;; esac : now get the host name that appears in news articles $echo " " $echo "Figuring out local host name..." cont=true $echo 'Maybe "hostname" will work...' if ans=`sh -c hostname 2>&1` ; then thishost=$ans phostcmd=hostname cont='' fi if $test "$cont"; then if xenix; then $echo 'Oh, dear. Maybe "/etc/systemid" is the key...' if ans=`cat /etc/systemid 2>&1` ; then thishost=$ans phostcmd='cat /etc/systemid' $echo "Whadyaknow. Xenix always was a bit strange..." cont='' fi elif $test -r /etc/systemid; then $echo "(What is a non-Xenix system doing with /etc/systemid?)" fi fi if $test "$cont"; then $echo 'No, maybe "uuname -l" will work...' if ans=`sh -c 'uuname -l' 2>&1` ; then thishost=$ans phostcmd='uuname -l' else $echo 'Strange. Maybe "uname -n" will work...' if ans=`sh -c 'uname -n' 2>&1` ; then thishost=$ans phostcmd='uname -n' else $echo 'Oh well, maybe I can mine it out of whoami.h...' if ans=`sh -c $contains' sysname $usrinc/whoami.h' 2>&1` ; then thishost=`$echo "$ans" | $sed 's/^.*"\(.*\)"/\1/'` phostcmd="sed -n -e '"'/sysname/s/^.*\"\\(.*\\)\"/\1/{'"' -e p -e q -e '}' <$usrinc/whoami.h" else phostcmd='' case "$phost" in '') $echo "Does this machine have an identity crisis or something?" ;; *) $echo "Well, you said $phost before..." thishost=$phost ;; esac fi fi fi fi : you do not want to know about this set $thishost thishost=$1 echo "Your local hostname was computed to be '$thishost'." : translate upper to lower if necessary case "$thishost" in *[A-Z]*) thishost=`$echo $thishost | tr '[A-Z]' '[a-z]'` ;; esac case "$phost" in '') dflt="$thishost" case "$dflt" in *.*) ;; *) dflt="$dflt.UUCP";; esac ;; *) dflt="$phost";; esac $cat <&4 d_gethname="$define" ans=gethostname elif set uname val -f d_uname; eval $csym; $val; then if xenix; then $cat <<'EOM' uname() was found, but you're running xenix, and older versions of xenix have a broken uname(). If you don't really know whether your xenix is old enough to have a broken system call, use the default answer. EOM dflt=y case "$d_uname" in "$define") dflt=n;; esac rp='Is your uname() broken?' . ./myread case "$ans" in n*) d_uname="$define"; ans=uname;; esac else echo 'uname() found.' >&4 d_uname="$define" ans=uname fi fi case "$d_gethname" in '') d_gethname="$undef";; esac case "$d_uname" in '') d_uname="$undef";; esac case "$phostcmd" in '') aphostcmd='';; *) case "$aphostcmd" in /*) ;; *) set X $phostcmd shift file=$1 shift file=`loc $file $file $pth` aphostcmd=`echo $file $*` ;; esac ;; esac case "$d_uname$d_gethname" in *define*) ;; *) case "$phostcmd" in '') ;; *) $cat <&4 val="$define" else echo "No getpwent() found -- will use getpw() instead." >&4 val="$undef" fi set d_getpwent eval $setvar : where do we get termlib routines from echo " " xxx=`./loc libcurses.a x $libpth` case "$xxx" in /*) ar t $xxx >grimble if $contains tputs.o grimble >/dev/null 2>&1; then termlib='-lcurses' d_havetlib="$define" echo "Terminfo library found." >&4 elif $test "x`$uname 2>/dev/null`" = xAIX; then # Ok, do the AIX shr.o fun thing /usr/ccs/bin/nm -en $xxx 2>/dev/null >grimble if $contains '^tputs .*|extern|' grimble >/dev/null 2>&1; then termlib='-lcurses' d_havetlib="$define" echo "AIX Terminfo library found." >&4 else xxx=x fi else xxx=x fi rm -f grimble ;; esac case "$xxx" in x) xxx=`./loc libtermlib.a x $libpth` case "$xxx" in /usr/lib*|/lib*) termlib='-ltermlib' d_havetlib="$define" echo "Termlib library found." >&4 ;; /*) termlib="$xxx" d_havetlib="$define" echo "Termlib library found." >&4 ;; *) xxx=`./loc libtermcap.a x $libpth` case "$xxx" in /usr/lib*|/lib*) termlib='-ltermcap' d_havetlib="$define" echo "Termcap library found." >&4 ;; /*) termlib="$xxx" d_havetlib="$define" echo "Termcap library found." >&4 ;; *) case "$termlib" in '') dflt=y rp="Your system appears to NOT have termlib-style routines. Is this true?" . ./myread case "$ans" in n*|f*) d_havetlib="$define" $cat <<'EOM' Then where are the termlib-style routines kept? Specify either -llibname or a full pathname (~name ok). EOM dflt='' rp='Specify termlib path:' . ./myread termlib=`./filexp $ans` ;; *) d_havetlib="$undef" termlib='' echo "You will have to play around with term.c then." >&4 ;; esac echo " ";; *) echo "You said termlib was $termlib before." >&4;; esac;; esac;; esac;; esac : Decide whether to ignore the ORGANIZATION environment variable case "$d_ignoreorg" in "$define") dflt=y ;; *) dflt=n ;; esac cat <&4 cat <<'EOT' >testcpp.c #define ABC abc #define XYZ xyz ABC.XYZ EOT cd .. echo 'cat >.$$.c; '"$cc"' -E ${1+"$@"} .$$.c; rm .$$.c' >cppstdin chmod 755 cppstdin wrapper=`pwd`/cppstdin ok='false' cd UU if $test "X$cppstdin" != "X" && \ $cppstdin $cppminus testcpp.out 2>&1 && \ $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 then echo "You used to use $cppstdin $cppminus so we'll use that again." case "$cpprun" in '') echo "But let's see if we can live without a wrapper..." ;; *) if $cpprun $cpplast testcpp.out 2>&1 && \ $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 then echo "(And we'll use $cpprun $cpplast to preprocess directly.)" ok='true' else echo "(However, $cpprun $cpplast does not work, let's see...)" fi ;; esac else case "$cppstdin" in '') ;; *) echo "Good old $cppstdin $cppminus does not seem to be of any help..." ;; esac fi if $ok; then : nothing elif echo 'Maybe "'"$cc"' -E" will work...'; \ $cc -E testcpp.out 2>&1; \ $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then echo "Yup, it does." x_cpp="$cc -E" x_minus=''; elif echo 'Nope...maybe "'"$cc"' -E -" will work...'; \ $cc -E - testcpp.out 2>&1; \ $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then echo "Yup, it does." x_cpp="$cc -E" x_minus='-'; elif echo 'Nope...maybe "'"$cc"' -P" will work...'; \ $cc -P testcpp.out 2>&1; \ $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then echo "Yipee, that works!" x_cpp="$cc -P" x_minus=''; elif echo 'Nope...maybe "'"$cc"' -P -" will work...'; \ $cc -P - testcpp.out 2>&1; \ $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then echo "At long last!" x_cpp="$cc -P" x_minus='-'; elif echo 'No such luck, maybe "'$cpp'" will work...'; \ $cpp testcpp.out 2>&1; \ $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then echo "It works!" x_cpp="$cpp" x_minus=''; elif echo 'Nixed again...maybe "'$cpp' -" will work...'; \ $cpp - testcpp.out 2>&1; \ $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then echo "Hooray, it works! I was beginning to wonder." x_cpp="$cpp" x_minus='-'; elif echo 'Uh-uh. Time to get fancy. Trying a wrapper...'; \ $wrapper testcpp.out 2>&1; \ $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then x_cpp="$wrapper" x_minus='' echo "Eureka!" else dflt='' rp="No dice. I can't find a C preprocessor. Name one:" . ./myread x_cpp="$ans" x_minus='' $x_cpp testcpp.out 2>&1 if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then echo "OK, that will do." >&4 else echo "Sorry, I can't get that to work. Go find one and rerun Configure." >&4 exit 1 fi fi case "$ok" in false) cppstdin="$x_cpp" cppminus="$x_minus" cpprun="$x_cpp" cpplast="$x_minus" set X $x_cpp shift case "$1" in "$cpp") echo "Perhaps can we force $cc -E using a wrapper..." if $wrapper testcpp.out 2>&1; \ $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 then echo "Yup, we can." cppstdin="$wrapper" cppminus=''; else echo "Nope, we'll have to live without it..." fi ;; esac case "$cpprun" in "$wrapper") cpprun='' cpplast='' ;; esac ;; esac case "$cppstdin" in "$wrapper") ;; *) $rm -f $wrapper;; esac $rm -f testcpp.c testcpp.out : determine filename position in cpp output echo " " echo "Computing filename position in cpp output for #include directives..." >&4 echo '#include ' > foo.c $cat >fieldn </dev/null | \ $grep '^[ ]*#.*stdio\.h' | \ while read cline; do pos=1 set \$cline while $test \$# -gt 0; do if $test -r \`echo \$1 | $tr -d '"'\`; then echo "\$pos" exit 0 fi shift pos=\`expr \$pos + 1\` done done EOF chmod +x fieldn fieldn=`./fieldn` $rm -f foo.c fieldn case $fieldn in '') pos='???';; 1) pos=first;; 2) pos=second;; 3) pos=third;; *) pos="${fieldn}th";; esac echo "Your cpp writes the filename in the $pos field of the line." : locate header file $cat >findhdr <" > foo\$\$.c $cppstdin $cppminus $cppflags < foo\$\$.c 2>/dev/null | \ $grep "^[ ]*#.*\$wanted" | \ while read cline; do name=\`echo \$cline | $awk "\$awkprg" | $tr -d '"'\` case "\$name" in */\$wanted) echo "\$name"; exit 0;; *) name='';; esac; done; $rm -f foo\$\$.c; case "\$name" in '') exit 1;; esac EOF chmod +x findhdr : see if there are directory access routines out there echo " " if $test `./findhdr ndir.h` && \ ( $test -r /usr/lib/libndir.a || $test -r /usr/local/lib/libndir.a ); then echo "Ndir library found." >&4 if $test -r /usr/lib/libndir.a; then libndir='-lndir' else libndir="/usr/local/lib/libndir.a" fi d_libndir="$define" d_usendir="$undef" ndirc='' ndiro='' else libndir='' d_libndir="$undef" if set readdir val -f; eval $csym; $val; then echo "No ndir library found, but you have readdir() so we'll use that." >&4 d_usendir="$undef" ndirc='' ndiro='' else echo "No ndir library found--using ./ndir.c." >&4 d_usendir="$define" ndirc='ndir.c' ndiro='ndir.o' fi fi : see if memcmp exists set memcmp d_memcmp eval $inlibc : see if memcpy exists set memcpy d_memcpy eval $inlibc : see if memset exists set memset d_memset eval $inlibc : see if they want mime display processing case "$d_mimeshow" in '') if $test "$metamail" != metamail; then dflt="$metamail -e -p -m trn %A" elif $test "$mhn" != mhn; then dflt="$mhn -show -serialonly %A" else dflt=none fi ;; "$define") dflt="$mimeshow";; *) dflt=none;; esac $cat </dev/null 2>&1 ; then dflt=news elif $contains "^usenet:" /etc/passwd >/dev/null 2>&1 ; then dflt=usenet elif eunice; then dflt=system else dflt=root fi ;; *) dflt="$newsadmin" ;; esac $cat <<'EOM' Many systems keep their news in a private directory, or have a non-superuser in charge of administering news. (If you don't have such a user, take the default answer.) I need the login name (not directory) which is used for news administration. EOM rp="News admin login?" . ./myread newsadmin="$ans" case "$newsadmin" in root) val="$undef" ;; *) val="$define" ;; esac set d_newsadm eval $setvar : check for buffering of stdout echo " " case "$d_nolnbuf" in '') $cat <<'EOT' >blurfl.c #include main() { int i; for (i = 0; i < 5; i++) { putchar(i+'a'); sleep(1); } putchar('\n'); } EOT $cc blurfl.c -o blurfl >/dev/null 2>&1; $rm -f blurfl.c $cat >&4 <<'EOM' Checking for buffering of stdout to terminal. Observe the following characters as they are printed out, to see whether they print out all at once, or with a 1 second pause between each of them. If they print out one by one, you don't have buffering. If they print together (after about a 5 second pause), you do have buffering. EOM dflt='Type return to start printing the test characters' rp='' . ./myread xxx=y while $test "$xxx" = 'y'; do ./blurfl 1>&4 dflt=n rp='Would you like to see that again?' . ./myread case "$ans" in [yY]*) xxx="y";; *) xxx="n";; esac done dflt=y rp="Do you have buffering (printed all at once)?" . ./myread case "$ans" in n*) val="$define";; *) val="$undef";; esac ;; *) case "$d_nolnbuf" in "$define") dflt=n;; *) dflt=y;; esac rp="Do you have buffering on stdout to terminals?" . ./myread case "$ans" in n*) val="$define";; *) val="$undef";; esac ;; esac set d_nolnbuf eval $setvar : see if we need -ljobs and if we have sigset, etc. echo " " if $test -r /usr/lib/libjobs.a || $test -r /usr/local/lib/libjobs.a ; then echo "Jobs library found." >&4 val="$undef" jobslib='-ljobs' else if bsd; then echo "No jobs library found. (I suppose this is at least 4.2...)" >&4 else echo "No jobs library found. (That's okay, we all have our faults.)" >&4 fi val="$define" jobslib='' fi set d_normsig eval $setvar : check for void type echo " " $echo "Checking to see how well your C compiler groks the void type..." $cat >void.c <<'EOCP' void main(){;} EOCP if $cc -c void.c >/dev/null 2>&1 ; then d_novoid="$undef" $echo "Yup, it does." else d_novoid="$define" $echo "Nope, it doesn't (boo hiss). I will substitute int." fi $rm void.* : see if rdchk exists set rdchk d_rdchk eval $inlibc : see if rename exists set rename d_rename eval $inlibc : see if sigblock exists set sigblock d_sigblock eval $inlibc : see if sighold exists set sighold d_sighold eval $inlibc : see if we need to define size_t if $contains 'size_t' /usr/include/string*.h >/dev/null 2>&1 ; then d_sizet="$undef" else d_sizet="$define" fi : see if strcasecmp exists set strcasecmp d_strccmp eval $inlibc : see which of string.h or strings.h is needed echo " " strings=`./findhdr string.h` if $test "$strings" && $test -r "$strings"; then echo "Using instead of ." >&4 val="$define" else val="$undef" strings=`./findhdr strings.h` if $test "$strings" && $test -r "$strings"; then echo "Using instead of ." >&4 else echo "No string header found -- You'll surely have problems." >&4 fi fi set i_string eval $setvar case "$i_string" in "$undef") strings=`./findhdr strings.h`;; *) strings=`./findhdr string.h`;; esac : index or strchr echo " " if set index val -f; eval $csym; $val; then if set strchr val -f d_strchr; eval $csym; $val; then if $contains strchr "$strings" >/dev/null 2>&1 ; then val="$define" echo "strchr() found." >&4 else val="$undef" echo "index() found." >&4 fi else val="$undef" echo "index() found." >&4 fi else if set strchr val -f d_strchr; eval $csym; $val; then val="$define" echo "strchr() found." >&4 else echo "No index() or strchr() found!" >&4 val="$undef" fi fi set d_strchr eval $setvar : see if strftime exists case "$strftimec" in '') ;; *) d_strftime="$undef";; esac set strftime d_strftime eval $inlibc case "$d_strftime" in "$undef") case "$strftimec" in ' ') dflt='none';; '') dflt="./strftime.c";; *) dflt="$strftimec";; esac $cat <&4 echo " " >&4 $cat >&4 $newslibexp/distributions echo " " >&4 fi echo "Use 'none' for any distributions you don't have." echo " " case "$locdist" in '') dflt="none";; *) dflt="$locdist";; esac rp="What is the distribution code for your local organization?" . ./myread locdist="$ans" case "$orgdist" in '') dflt="none";; *) dflt="$orgdist";; esac rp="What is the distribution code for your organization?" . ./myread orgdist="$ans" case "$citydist" in '') dflt="none";; *) dflt="$citydist";; esac rp="What is the distribution code for your city?" . ./myread citydist="$ans" case "$statedist" in '') dflt="none";; *) dflt="$statedist";; esac rp="What is the distribution code for your state/province?" . ./myread statedist="$ans" case "$multistatedist" in '') dflt="none";; *) dflt="$multistatedist";; esac rp="What is the distribution code for your multi-state region?" . ./myread multistatedist="$ans" case "$cntrydist" in '') dflt="none";; *) dflt="$cntrydist";; esac rp="What is the distribution code for your country?" . ./myread cntrydist="$ans" case "$contdist" in '') dflt="none";; *) dflt="$contdist";; esac rp="What is the distribution code for your continent?" . ./myread contdist="$ans" $cat <<'EOM' If you have any other distribution groups you will need to edit Pnews and newsetup to add them. EOM : determine default editor echo " " case "$defeditor" in '') case "$_vi" in */*) dflt="$_vi";; *) dflt=/usr/ucb/vi;; esac ;; *) dflt="$defeditor" ;; esac fn=f/ rp="What is the default editor on your system?" . ./getfile defeditor="$ans" : determine where private executables go case "$privlib" in '') dflt=/usr/lib/$package $test -d /usr/local/lib && dflt=/usr/local/lib/$package $test -d /local/lib && dflt=/local/lib/$package ;; *) dflt="$privlib" ;; esac $cat <&4 ;; esac : see if signal is declared as pointer to function returning int or void echo " " xxx=`./findhdr signal.h` $test "$xxx" && $cppstdin $cppminus $cppflags < $xxx >$$.tmp 2>/dev/null if $contains 'int.*\*[ ]*signal' $$.tmp >/dev/null 2>&1 ; then echo "You have int (*signal())() instead of void." >&4 val="$undef" elif $contains 'void.*\*[ ]*signal' $$.tmp >/dev/null 2>&1 ; then echo "You have void (*signal())() instead of int." >&4 val="$define" elif $contains 'extern[ ]*[(\*]*signal' $$.tmp >/dev/null 2>&1 ; then echo "You have int (*signal())() instead of void." >&4 val="$undef" else case "$d_voidsig" in '') echo "I can't determine whether signal handler returns void or int..." >&4 dflt=void rp="What type does your signal handler return?" . ./myread case "$ans" in v*) val="$define";; *) val="$undef";; esac;; *) echo "As you already told me, signal handler returns $signal_t." >&4;; esac fi set d_voidsig eval $setvar case "$d_voidsig" in "$define") signal_t="void";; *) signal_t="int";; esac $rm -f $$.tmp : check if they want threads by default case "$trn_init" in F*) dflt="n";; *) dflt="y";; esac $cat <<'EOM' Trn has two distinct operating modes (selected by the -x option): traditional rn and threaded rn. If you like, trn will check the first letter of the command name and default to threaded mode (-x) if it is a 't', or run as traditional rn (+x) if it isn't (this lets you install as both trn and rn, linked together). Otherwise, you can install trn to default to threaded rn (-x) no matter what its name is. EOM rp='Do you want trn to default to -x, regardless of name?' . ./myread case "$ans" in n*|f*) trn_init='FALSE' ans=' for trn (not rn)';; *) trn_init='TRUE' ans='';; esac : check if they want the selector used by default case "$trn_select" in F*) dflt="n";; *) dflt="y";; esac $cat <<'EOM' When the -X option is specified, trn will set the default command for starting a newsgroup to be the selector. EOM rp="Should the -X option be on by default$ans?" . ./myread case "$ans" in n*|f*) trn_select=FALSE;; *) trn_select=TRUE;; esac : see if this is a dirent system echo " " if xinc=`./findhdr dirent.h`; $test "$xinc"; then val="$define" echo " found." >&4 else val="$undef" if xinc=`./findhdr sys/dir.h`; $test "$xinc"; then echo " found." >&4 echo " " else xinc=`./findhdr sys/ndir.h` fi echo " NOT found." >&4 fi set i_dirent eval $setvar : see if ptem.h exists if $test -r /usr/include/sys/ptem.h ; then $echo "sys/ptem.h found." i_ptem="$define" else i_ptem="$undef" fi : get C preprocessor symbols handy echo " " echo $attrlist | $tr ' ' '\012' >Cppsym.know $cat <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 ' ' '\012' | $sed -e 's/\(.*\)/\\ #ifdef \1\\ exit 0; _ _ _ _\1\\ \1\\ #endif\\ /' >Cppsym\$\$ echo "exit 1; _ _ _" >>Cppsym\$\$ $cppstdin $cppminus Cppsym2\$\$ case "\$list" in true) $awk 'NF > 5 {print substr(\$6,2,100)}' Cppsym.true $cat Cppsym.true : 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 " found." >&4 else echo "System is pyramid with BSD universe." echo " not found--you could have problems." >&4 fi;; *) if $test `./findhdr termio.h`; then val="$define" echo " found." >&4 else echo "System is pyramid with USG universe." echo " not found--you could have problems." >&4 fi;; esac elif usg; then if $test `./findhdr termio.h`; then echo " found." >&4 val="$define" elif $test `./findhdr sgtty.h`; then echo " found." >&4 val2="$define" else echo "Neither nor found--you could have problems." >&4 fi else if $test `./findhdr sgtty.h`; then echo " found." >&4 val2="$define" elif $test `./findhdr termio.h`; then echo " found." >&4 val="$define" else echo "Neither nor 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 : define an alternate in-header-list? function inhdr='echo " "; td=$define; tu=$undef; yyy=$@; cont=true; xxf="echo \"<\$1> found.\" >&4"; case $# in 2) xxnf="echo \"<\$1> NOT found.\" >&4";; *) xxnf="echo \"<\$1> NOT found, ...\" >&4";; esac; case $# in 4) instead=instead;; *) instead="at last";; esac; while $test "$cont"; do xxx=`./findhdr $1` var=$2; eval "was=\$$2"; if $test "$xxx" && $test -r "$xxx"; then eval $xxf; eval "case \"\$$var\" in $undef) . whoa; esac"; eval "$var=\$td"; cont=""; else eval $xxnf; eval "case \"\$$var\" in $define) . whoa; esac"; eval "$var=\$tu"; fi; set $yyy; shift; shift; yyy=$@; case $# in 0) cont="";; 2) xxf="echo \"but I found <\$1> $instead.\" >&4"; xxnf="echo \"and I did not find <\$1> either.\" >&4";; *) xxf="echo \"but I found <\$1\> instead.\" >&4"; xxnf="echo \"there is no <\$1>, ...\" >&4";; esac; done; while $test "$yyy"; do set $yyy; var=$2; eval "was=\$$2"; eval "case \"\$$var\" in $define) . whoa; esac"; eval "$var=\$tu"; set $yyy; shift; shift; yyy=$@; done' : see if stdlib is available set stdlib.h i_stdlib eval $inhdr : see if this is an sysdir system set sys/dir.h i_sysdir eval $inhdr : see if ioctl defs are in sgtty, termio, sys/filio or sys/ioctl echo " " if $test `./findhdr sys/filio.h`; then val="$define" echo " found." >&4 else val="$undef" echo "no found." >&4 fi set i_sysfilio eval $setvar if $test `./findhdr sys/ioctl.h`; then val="$define" echo " found." >&4 else val="$undef" if $test $i_sysfilio = "$define"; then echo "no 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 found, assuming ioctl args are defined in <$xxx>." >&4 fi fi set i_sysioctl eval $setvar : see if this is an sysndir system set sys/ndir.h i_sysndir eval $inhdr : see if we should include time.h, sys/time.h, or both echo " " echo "Testing to see if we should include , or both." >&4 $echo $n "I'm now running the test program...$c" $cat >try.c <<'EOCP' #include #ifdef I_TIME #include #endif #ifdef I_SYSTIME #include #endif #ifdef I_SYSSELECT #include #endif main() { struct tm foo; #ifdef S_TIMEVAL struct timeval bar; #endif #ifdef S_TIMEZONE struct timezone tzp; #endif if (foo.tm_sec == foo.tm_sec) exit(0); #ifdef S_TIMEVAL if (bar.tv_sec == bar.tv_sec) exit(0); #endif exit(1); } EOCP flags='' for s_timezone in '-DS_TIMEZONE' ''; do sysselect='' for s_timeval in '-DS_TIMEVAL' ''; do for i_time in '' '-DI_TIME'; do for i_systime in '-DI_SYSTIME' ''; do case "$flags" in '') $echo $n ".$c" if $cc $ccflags \ $i_time $i_systime $sysselect $s_timeval $s_timezone \ try.c -o try >/dev/null 2>&1 ; then set X $i_time $i_systime $sysselect $s_timeval shift flags="$*" echo " " $echo $n "Succeeded with $flags$c" fi ;; esac done done done done echo " " case "$flags" in *I_TIME*) i_time="$define" echo "We'll include ." >&4;; *) i_time="$undef";; esac case "$flags" in *I_SYSTIME*) i_systime="$define" echo "We'll include ." >&4;; *) i_systime="$undef";; esac $rm -f try.c try : see if this is a unistd.h system set unistd.h i_unistd eval $inhdr : see if this is a vfork system set vfork.h i_vfork eval $inhdr : end of configuration questions echo " " echo "End of configuration questions." echo " " : back to where it started if test -d ../UU; then cd .. fi case "$srcdir" in ..) srcdir='.';; esac : 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 : create config.sh file echo " " echo "Creating config.sh..." >&4 $spitshell <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". # # Configuration time: $cf_time # Configured by: $cf_by # Target system: $myuname d_bsd='$d_bsd' d_eunice='$d_eunice' d_xenix='$d_xenix' eunicefix='$eunicefix' Mcc='$Mcc' awk='$awk' basename='$basename' bash='$bash' cat='$cat' cp='$cp' cpp='$cpp' csh='$csh' date='$date' diff='$diff' echo='$echo' ed='$ed' egrep='$egrep' expr='$expr' grep='$grep' inews='$inews' ispell='$ispell' ksh='$ksh' less='$less' lint='$lint' mail='$mail' metamail='$metamail' mhn='$mhn' mkdir='$mkdir' more='$more' munpack='$munpack' mv='$mv' nroff='$nroff' pg='$pg' rm='$rm' rmail='$rmail' sed='$sed' sendmail='$sendmail' smail='$smail' sort='$sort' spell='$spell' tail='$tail' test='$test' tr='$tr' uname='$uname' uniq='$uniq' uuname='$uuname' vi='$vi' vspell='$vspell' who='$who' hint='$hint' myuname='$myuname' srcdir='$srcdir' vincludes='$vincludes' vpath='$vpath' Id='$Id' Log='$Log' active='$active' acttimes='$acttimes' d_acttimes='$d_acttimes' myactive='$myactive' bin='$bin' binexp='$binexp' installbin='$installbin' cc='$cc' ccflags='$ccflags' cppflags='$cppflags' ldflags='$ldflags' lkflags='$lkflags' optimize='$optimize' cf_by='$cf_by' cf_time='$cf_time' contains='$contains' cpplast='$cpplast' cppminus='$cppminus' cpprun='$cpprun' cppstdin='$cppstdin' d_ftime='$d_ftime' aphostcmd='$aphostcmd' d_gethname='$d_gethname' d_phostcmd='$d_phostcmd' d_uname='$d_uname' d_getpwent='$d_getpwent' d_getcwd='$d_getcwd' d_getwd='$d_getwd' d_havetlib='$d_havetlib' termlib='$termlib' d_ignoreorg='$d_ignoreorg' d_internet='$d_internet' d_memcmp='$d_memcmp' d_memcpy='$d_memcpy' d_memset='$d_memset' d_mimeshow='$d_mimeshow' d_mimestore='$d_mimestore' mimeshow="$mimeshow" mimestore="$mimestore" d_newsadm='$d_newsadm' newsadmin='$newsadmin' d_nntp='$d_nntp' d_xdata='$d_xdata' d_genauth='$d_genauth' servername='$servername' d_nolnbuf='$d_nolnbuf' d_normsig='$d_normsig' jobslib='$jobslib' d_novoid='$d_novoid' void='$void' d_portable='$d_portable' d_rdchk='$d_rdchk' d_rename='$d_rename' d_sigblock='$d_sigblock' d_sighold='$d_sighold' d_sizet='$d_sizet' d_strccmp='$d_strccmp' d_strchr='$d_strchr' d_strftime='$d_strftime' strftimec='$strftimec' strftimeo='$strftimeo' d_libndir='$d_libndir' d_usendir='$d_usendir' libndir='$libndir' ndirc='$ndirc' ndiro='$ndiro' d_vfork='$d_vfork' d_voidsig='$d_voidsig' signal_t='$signal_t' defeditor='$defeditor' filexp='$filexp' d_dirnamlen='$d_dirnamlen' i_dirent='$i_dirent' i_ptem='$i_ptem' i_stdlib='$i_stdlib' i_string='$i_string' strings='$strings' i_sysdir='$i_sysdir' d_voidtty='$d_voidtty' i_bsdioctl='$i_bsdioctl' i_sysfilio='$i_sysfilio' i_sysioctl='$i_sysioctl' i_syssockio='$i_syssockio' i_sysndir='$i_sysndir' i_sgtty='$i_sgtty' i_termio='$i_termio' i_termios='$i_termios' i_systime='$i_systime' i_time='$i_time' i_unistd='$i_unistd' i_vfork='$i_vfork' ispell_options='$ispell_options' ispell_prg='$ispell_prg' libc='$libc' plibpth='$plibpth' xlibpth='$xlibpth' libs='$libs' citydist='$citydist' cntrydist='$cntrydist' contdist='$contdist' locdist='$locdist' multistatedist='$multistatedist' orgdist='$orgdist' statedist='$statedist' mailer='$mailer' mailfile='$mailfile' installmansrc='$installmansrc' manext='$manext' mansrc='$mansrc' mansrcexp='$mansrcexp' mboxchar='$mboxchar' c='$c' n='$n' d_berknames='$d_berknames' d_passnames='$d_passnames' d_usgnames='$d_usgnames' nametype='$nametype' inewsloc='$inewsloc' newslib='$newslib' newslibexp='$newslibexp' newsspool='$newsspool' orgname='$orgname' package='$package' spackage='$spackage' pager='$pager' phost='$phost' phostcmd='$phostcmd' prefshell='$prefshell' installprivlib='$installprivlib' privlib='$privlib' privlibexp='$privlibexp' rootid='$rootid' sharpbang='$sharpbang' shsharp='$shsharp' spitshell='$spitshell' startsh='$startsh' sysman='$sysman' d_usemt='$d_usemt' d_useov='$d_useov' overviewdir='$overviewdir' threaddir='$threaddir' trn_init='$trn_init' trn_select='$trn_select' nm_opt='$nm_opt' runnm='$runnm' usenm='$usenm' incpath='$incpath' mips='$mips' mips_type='$mips_type' usrinc='$usrinc' EOT : add special variables $test -f $srcdir/patchlevel.h && \ awk '/^#define/ {printf "%s=%s%s %s %s %s\n",$2,$3,$4,$5,$6,$7}' $srcdir/patchlevel.h >>config.sh echo "CONFIG=true" >>config.sh : Finish up by extracting the .SH files case "$alldone" in exit) $rm -rf UU echo "Done." exit 0 ;; cont) ;; '') echo " " dflt='' nostick=true echo "If you didn't make any mistakes, then just type a carriage return here." rp="If you need to edit config.sh, do it as a shell escape here:" . 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 echo " " echo 'Now type "make".' $rm -f kit*isdone ark*isdone $rm -rf UU : End of Configure