diff options
Diffstat (limited to 'Configure')
-rwxr-xr-x | Configure | 4055 |
1 files changed, 0 insertions, 4055 deletions
diff --git a/Configure b/Configure deleted file mode 100755 index ddfd7e280c..0000000000 --- a/Configure +++ /dev/null @@ -1,4055 +0,0 @@ -#! /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 cut out the prototypical config.h from the end of Configure -# 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.) -# -# $RCSfile: Configure,v $$Revision: 4.0.1.9 $$Date: 92/06/23 12:28:33 $ -# -# 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.) - -cat >/tmp/c1$$ <<EOF -ARGGGHHHH!!!!! - -Your csh still thinks true is false. Write to your vendor today and tell -them that next year Configure ought to "rm /bin/csh" unless they fix their -blasted shell. :-) - -[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" - -if test ! -t 0; then - echo "Say 'sh Configure', not 'sh <Configure'" - exit 1 -fi - -(alias) >/dev/null 2>&1 && \ - echo "(I see you are using the Korn shell. Some ksh's blow up on Configure," && \ - echo "especially on exotic machines. If yours does, try the Bourne shell instead.)" - -unset CDPATH -if test ! -d ../UU; then - if test ! -d UU; then - mkdir UU - fi - cd UU -fi - -case "$1" in --d) shift; fastread='yes';; -esac - -d_eunice='' -define='' -eunicefix='' -loclist='' -expr='' -sed='' -echo='' -cat='' -rm='' -mv='' -cp='' -tail='' -tr='' -mkdir='' -sort='' -uniq='' -grep='' -trylist='' -test='' -inews='' -egrep='' -more='' -pg='' -Mcc='' -vi='' -mailx='' -mail='' -cpp='' -perl='' -emacs='' -ls='' -rmail='' -sendmail='' -shar='' -smail='' -tbl='' -troff='' -nroff='' -uname='' -uuname='' -line='' -chgrp='' -chmod='' -lint='' -sleep='' -pr='' -tar='' -ln='' -lpr='' -lp='' -touch='' -make='' -date='' -csh='' -bash='' -ksh='' -lex='' -flex='' -bison='' -Log='' -Header='' -Id='' -lastuname='' -alignbytes='' -bin='' -installbin='' -byteorder='' -contains='' -cppstdin='' -cppminus='' -d_bcmp='' -d_bcopy='' -d_safebcpy='' -d_bzero='' -d_castneg='' -castflags='' -d_charsprf='' -d_chsize='' -d_crypt='' -cryptlib='' -d_csh='' -d_dosuid='' -d_dup2='' -d_fchmod='' -d_fchown='' -d_fcntl='' -d_flexfnam='' -d_flock='' -d_getgrps='' -d_gethent='' -d_getpgrp='' -d_getpgrp2='' -d_getprior='' -d_htonl='' -d_index='' -d_isascii='' -d_killpg='' -d_lstat='' -d_memcmp='' -d_memcpy='' -d_safemcpy='' -d_memmove='' -d_memset='' -d_mkdir='' -d_msg='' -d_msgctl='' -d_msgget='' -d_msgrcv='' -d_msgsnd='' -d_ndbm='' -d_odbm='' -d_open3='' -d_readdir='' -d_rename='' -d_rewindir='' -d_rmdir='' -d_seekdir='' -d_select='' -d_sem='' -d_semctl='' -d_semget='' -d_semop='' -d_setegid='' -d_seteuid='' -d_setpgrp='' -d_setpgrp2='' -d_setprior='' -d_setregid='' -d_setresgid='' -d_setreuid='' -d_setresuid='' -d_setrgid='' -d_setruid='' -d_shm='' -d_shmat='' -d_voidshmat='' -d_shmctl='' -d_shmdt='' -d_shmget='' -d_socket='' -d_sockpair='' -d_oldsock='' -socketlib='' -d_statblks='' -d_stdstdio='' -d_strctcpy='' -d_strerror='' -d_symlink='' -d_syscall='' -d_telldir='' -d_truncate='' -d_vfork='' -d_voidsig='' -d_tosignal='' -d_volatile='' -d_vprintf='' -d_charvspr='' -d_wait4='' -d_waitpid='' -gidtype='' -groupstype='' -i_fcntl='' -i_gdbm='' -i_grp='' -i_niin='' -i_sysin='' -i_pwd='' -d_pwquota='' -d_pwage='' -d_pwchange='' -d_pwclass='' -d_pwexpire='' -d_pwcomment='' -i_sys_file='' -i_sysioctl='' -i_time='' -i_sys_time='' -i_sys_select='' -d_systimekernel='' -i_utime='' -i_varargs='' -i_vfork='' -intsize='' -libc='' -nm_opts='' -libndir='' -i_my_dir='' -i_ndir='' -i_sys_ndir='' -i_dirent='' -i_sys_dir='' -d_dirnamlen='' -ndirc='' -ndiro='' -mallocsrc='' -mallocobj='' -d_mymalloc='' -mallocptrtype='' -mansrc='' -manext='' -models='' -split='' -small='' -medium='' -large='' -huge='' -optimize='' -ccflags='' -cppflags='' -ldflags='' -cc='' -nativegcc='' -libs='' -n='' -c='' -package='' -randbits='' -scriptdir='' -installscr='' -sig_name='' -spitshell='' -shsharp='' -sharpbang='' -startsh='' -stdchar='' -uidtype='' -usrinclude='' -inclPath='' -void='' -voidhave='' -voidwant='' -w_localtim='' -w_s_timevl='' -w_s_tm='' -yacc='' -lib='' -privlib='' -installprivlib='' -CONFIG='' -: get the name of the package -package=perl -: Here we go... -echo " " -echo "Beginning of configuration questions for $package kit." -: Eunice requires " " instead of "", can you believe it -echo " " - -define='define' -undef='undef' -: change the next line if compiling for Xenix/286 on Xenix/386 -xlibpth='/usr/lib/386 /lib/386' - -: the hints files may add more components to libpth -test -d /usr/cs/lib && libpth="$libpth /usr/cs/lib" -test -d /usr/ccs/lib && libpth="$libpth /usr/ccs/lib" -test -d /usr/lib && libpth="$libpth /usr/lib" -test -d /usr/ucblib && libpth="$libpth /usr/ucblib" -test -d /usr/local/lib && libpth="$libpth /usr/local/lib" -test -d /usr/lib/large && libpth="$libpth /usr/lib/large" -test -d /lib && libpth="$libpth /lib" - libpth="$libpth $xlibpth" -test -d /lib/large && libpth="$libpth /lib/large" -test -d /usr/lib/small && libpth="$libpth /usr/lib/small" -test -d /lib/small && libpth="$libpth /lib/small" -test -d /usr/lib/cmplrs/cc && libpth="$libpth /usr/lib/cmplrs/cc" - -smallmach='pdp11 i8086 z8000 i80286 iAPX286' -trap 'echo " "; exit 1' 1 2 3 - -: 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 - -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" -attrlist="$attrlist i186 i386 i8086 iAPX286 ibm interdata" -attrlist="$attrlist m68k m88k mc300 mc500 mc68000 mc68k mc700 mert" -attrlist="$attrlist ns16000 ns32000 nsc32000 os pdp11 posix pyr sinix" -attrlist="$attrlist sparc sun tower tower32 tower32_600 tower32_800 tss" -attrlist="$attrlist u3b2 u3b20 u3b200 u3b5 ultrix unix vax venix xenix" -attrlist="$attrlist z8000" -boPATH="" -eoPATH="/usr/ucb /bin /usr/bin /usr/local /usr/local/bin /usr/lbin /usr/plx /usr/5bin /vol/local/bin /etc /usr/lib /lib /usr/local/lib /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/bin /bsd4.3/usr/ucb /bsd43/usr/bin /usr/ccs/lib /opt/SUNWste/bin /usr/opt/SUNWste/bin" -d_newshome="/usr/NeWS" -errnolist=errnolist -h_fcntl=false -h_sys_file=false -serve_shm="" -serve_msg="$undef" -serve_inet_udp="" -serve_inet_tcp="" -serve_unix_udp="" -serve_unix_tcp="" -d_ndir=ndir -voidwant=1 -voidwant=7 -libswanted="c_s net_s net socket nsl_s nsl nm ndir dir ndbm dbm PW malloc sun m bsd BSD x posix ucb" -inclwanted='/usr/include /usr/netinclude /usr/include/sun /usr/include/bsd /usr/include/lan /usr/ucbinclude' - -: Now test for existence of everything in MANIFEST - -echo "First let's make sure your kit is complete. Checking..." -awk '$1 !~ /PACKINGLIST/ {print $1}' ../MANIFEST | split -100 -rm -f missing -for filelist in x??; do - (cd ..; ls `cat UU/$filelist` >/dev/null 2>>UU/missing) -done -if test -s missing; then - echo "WARNING: the following files are missing:" - cat missing - echo "INTERRUPT NOW, OR HIT RETURN TO PROCEED AT YOUR OWN RISK" - read junk -else - echo "Looks good..." -fi - -: some greps do not return status, grrr. -echo "grimblepritz" >contains.txt -if grep blurfldyick contains.txt >/dev/null 2>&1 ; then - contains=contains -elif grep grimblepritz contains.txt >/dev/null 2>&1 ; then - contains=grep -else - contains=contains -fi -: 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 - -: see if sh knows # comments -echo " " -echo "Checking your sh to see if it knows about # comments..." -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..." - if test -f /bsd43/bin/echo; then - echo "#!/bsd43/bin/echo hi" > spit.sh - else - echo "#!/bin/echo hi" > spit.sh - fi - $eunicefix spit.sh - chmod +x spit.sh - ./spit.sh > today - if $contains hi today >/dev/null 2>&1; then - echo "It does." - sharpbang='#!' - else - echo "#! /bin/echo hi" > spit.sh - $eunicefix spit.sh - chmod +x spit.sh - ./spit.sh > today - if test -s today; then - echo "It does." - sharpbang='#! ' - else - echo "It doesn't." - 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 - -: figure out how to guarantee sh startup -echo " " -echo "Checking out how to guarantee sh startup..." -startsh=$sharpbang'/bin/sh' -echo "Let's see if '$startsh' works..." -cat >start.sh <<EOSS -$startsh -set abc -test "$?abc" != 1 -EOSS - -chmod +x start.sh -$eunicefix start.sh -if ./start.sh; then - echo "Yup, it does." -else - echo "Nope. You may have to fix up the shell scripts to make sure sh runs them." -fi - -: first determine how to suppress newline on echo command -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 "Type carriage return to continue. Your cursor should be here-->$c" -read ans - -: now set up to do reads with possible shell escape and default assignment -cat <<EOSC >myread -case "\$fastread" in -yes) ans=''; echo " " ;; -*) ans='!';; -esac -while expr "X\$ans" : "X!" >/dev/null; do - read ans - case "\$ans" in - !) - sh - echo " " - echo $n "\$rp $c" - ;; - !*) - set \`expr "X\$ans" : "X!\(.*\)\$"\` - sh -c "\$*" - echo " " - echo $n "\$rp $c" - ;; - esac -done -rp='Your answer:' -case "\$ans" in -'') ans="\$dflt";; -esac -EOSC - -: general instructions -cat <<EOH - -This installation shell script will examine your system and ask you questions -to determine how the $package package should be installed. If you get stuck -on a question, you may use a ! shell escape to start a subshell or execute -a command. Many of the questions will have default answers in square -brackets--typing carriage return will give you the default. - -On some of the questions which ask for file or directory names you are -allowed to use the ~name construct to specify the login directory belonging -to "name", even if you don't have a shell which knows about that. Questions -where this is allowed will be marked "(~name ok)". - -EOH -rp="[Type carriage return to continue]" -echo $n "$rp $c" -. myread -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@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. - -This installation script affects things in two ways: 1) it may do direct -variable substitutions on some of the files included in this kit, and -2) it builds a config.h file for inclusion in C programs. You may edit -any of these files as the need arises after running this script. - -If you make a mistake on a question, there is no easy way to back up to it -currently. The easiest thing to do is to edit config.sh and rerun all the -SH files. Configure will offer to let you do this before it runs the SH files. - -EOH -rp="[Type carriage return to continue]" -echo $n "$rp $c" -. myread - -: find out where common programs are -echo " " -echo "Locating common programs..." -cat <<EOSC >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=" -cat -cp -echo -expr -grep -mkdir -mv -rm -sed -sort -tr -uniq -" -trylist=" -Mcc -bison -cpp -csh -egrep -line -nroff -perl -test -uname -yacc -" -pth=`echo :$boPATH:$PATH:$eoPATH: | sed -e 's/:/ /g'` -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..." -ans=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, $ans." - ans=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." - ;; -/bin/test) - if sh -c "PATH= test true" >/dev/null 2>&1; then - echo "Using the test built into your sh." - test=test - fi - ;; -*) - test=test - ;; -esac -case "$echo" in -echo) - echo "Hopefully echo is built into your sh." - ;; -/bin/echo) - echo " " - echo "Checking compatibility between /bin/echo and builtin echo (if any)..." - $echo $n "hi there$c" >Loc1.txt - echo $n "hi there$c" >Loc2.txt - if cmp Loc1.txt Loc2.txt >/dev/null 2>&1; then - echo "They are compatible. In fact, they may be identical." - else - case "$n" in - '-n') n='' c='\c' ans='\c' ;; - *) n='-n' c='' ans='-n' ;; - esac - cat <<FOO -They are not compatible! You are probably running ksh on a non-USG system. -I'll have to use /bin/echo instead of the builtin, since Bourne shell doesn't -have echo built in and we may have to run some Bourne shell scripts. That -means I'll have to use $ans to suppress newlines now. Life is ridiculous. - -FOO - rp="Your cursor should be here-->" - $echo $n "$rp$c" - . myread - fi - ;; -*) - : cross your fingers - echo=echo - ;; -esac - -: set up shell script to do ~ expansion -cat >filexp <<EOSS -$startsh -: expand filename -case "\$1" in - ~/*|~) - echo \$1 | $sed "s|~|\${HOME-\$LOGDIR}|" - ;; - ~*) - if $test -f /bin/csh; then - /bin/csh -f -c "glob \$1" - echo "" - else - name=\`$expr x\$1 : '..\([^/]*\)'\` - dir=\`$sed -n -e "/^\${name}:/{s/^[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:\([^:]*\).*"'\$'"/\1/" -e p -e q -e '}' </etc/passwd\` - if $test ! -d "\$dir"; then - me=\`basename \$0\` - echo "\$me: can't locate home directory for: \$name" >&2 - exit 1 - fi - case "\$1" in - */*) - echo \$dir/\`$expr x\$1 : '..[^/]*/\(.*\)'\` - ;; - *) - echo \$dir - ;; - esac - fi - ;; -*) - echo \$1 - ;; -esac -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`" - tmp=`(uname -a) 2>&1` - if test "X$tmp" = "X$lastuname"; then - dflt=y - else - dflt=n - fi - lastuname="$tmp" - 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 -else - lastuname=`(uname -a) 2>&1` -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" - test -d /NextApps && test -f /usr/adm/software_version && dflt="$dflt next" - 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" ;; - 6000) dflt="$dflt mc6000";; - esac - - test -f "../hints/$1.sh" && dflt="$dflt $1" - - 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 - ;; - hp*ux) dflt="$dflt hpux" - extra_hints="hp"`echo $5 | sed -e s#/#_#g -e s/..$/00/` - if test -f ../hints/$extra_hints.sh; then - dflt="$dflt $extra_hints" - fi;; - irix) dflt="$dflt sgi" ;; - ultrix) case "$3" in - 1*) dflt="$dflt ultrix_1" ;; - 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.' - echo 'If your OS version has no hints, do not give a wrong version--say "none".)' - 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 - cat ../hints/$file.sh >>../config.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 - -$package has manual pages available in source form. -EOM -case "$nroff" in -'nroff') - echo "However, you don't have nroff, so they're probably useless to you." - case "$mansrc" in - '') - mansrc="none" - ;; - esac -esac -echo "If you don't want the manual sources installed, answer 'none'." -case "$mansrc" in -'') - dflt=`./loc . none /usr/man/local/man1 /usr/man/man.L /usr/man/manl /usr/man/mann /usr/man/u_man/man1 /usr/man/man1 /usr/local/man/man1` - ;; -*) dflt="$mansrc" - ;; -esac -cont=true -while $test "$cont" ; do - echo " " - rp="Where do the manual pages (source) go (~name ok)? [$dflt]" - $echo $n "$rp $c" - . myread - case "$ans" in - 'none') - mansrc='' - cont='' - ;; - *) - mansrc=`./filexp "$ans"` - if $test -d "$mansrc"; then - cont='' - else - if $test "$fastread" = yes; then - dflt=y - else - dflt=n - fi - rp="Directory $mansrc doesn't exist. Use that name anyway? [$dflt]" - $echo $n "$rp $c" - . myread - dflt='' - case "$ans" in - y*) cont='';; - esac - fi - ;; - esac -done -case "$mansrc" in -'') - manext='' - ;; -*l) - manext=l - ;; -*n) - manext=n - ;; -*o) - manext=l - ;; -*p) - manext=n - ;; -*C) - manext=C - ;; -*L) - manext=L - ;; -*) - manext=1 - ;; -esac - -: Sigh. Well, at least the box is fast... -echo " " -$echo $n "Hmm... $c" -case "$usrinclude" in -'') dflt='/usr/include';; -*) dflt=$usrinclude;; -esac -inclPath='' -if $test -f /bin/mips && /bin/mips; then - echo "Looks like a MIPS system..." - $cat >usrinclude.c <<'EOCP' -#ifdef SYSTYPE_BSD43 -/bsd43 -#endif -EOCP - if cc -E usrinclude.c > usrinclude.out && $contains / usrinclude.out >/dev/null 2>&1 ; then - echo "and you're compiling with the BSD43 compiler and libraries." - dflt='/bsd43/usr/include' - inclPath='/bsd43' - else - echo "and you're compiling with the SysV compiler and libraries." - fi -else - echo "Doesn't look like a MIPS system." - echo "exit 1" >mips - chmod +x mips - $eunicefix mips -fi - -cont=true -while $test "$cont" ; do - echo " " - rp="Where are the include files you want to use? [$dflt]" - $echo $n "$rp $c" - . myread - usrinclude="$ans" - if $test -d $ans; then - cont='' - else - if $test "$fastread" = yes; then - dflt=y - else - dflt=n - fi - rp="Directory $ans doesn't exist. Use that name anyway? [$dflt]" - $echo $n "$rp $c" - . myread - dflt='' - case "$ans" in - y*) cont='';; - esac - fi -done - -: make some quick guesses about what we are up against -echo " " -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 -cat $usrinclude/signal.h $usrinclude/sys/signal.h >guess.txt 2>/dev/null -if test "$usrinclude" = "/bsd43/usr/include" ; then - echo "Looks kind of like a SysV MIPS running BSD, but we'll see..." - echo exit 0 >bsd -elif test -f /osf_boot || $contains "OSF/1" /usr/include/ctype.h; then - echo "Looks like an OSF/1 system, but we'll see..." - echo exit 0 >osf1 -elif test `echo abc | tr a-z A-Z` = Abc ; then - echo "Looks kind of like a USG system, but we'll see..." - echo exit 0 >usg -elif $contains SIGTSTP guess.txt >/dev/null 2>&1 ; then - echo "Looks kind of like a BSD system, but we'll see..." - 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" - ;; -*) - 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 -else - echo " " - echo "It's not Xenix..." -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 venix -$eunicefix bsd usg v7 eunice venix - -: see what memory models we can support -case "$models" in -'') - : We may not use Cppsym or we get a circular dependency through cc. - : But this should work regardless of which cc we eventually use. - cat >pdp11.c <<'EOP' -main() { -#ifdef pdp11 - exit(0); -#else - exit(1); -#endif -} -EOP - cc -o pdp11 pdp11.c >/dev/null 2>&1 - if pdp11 2>/dev/null; then - dflt='unsplit split' - else - ans=`./loc . X /lib/small /lib/large /usr/lib/small /usr/lib/large /lib/medium /usr/lib/medium /lib/huge` - case "$ans" in - X) dflt='none';; - *) if $test -d /lib/small || $test -d /usr/lib/small; then - dflt='small' - else - dflt='' - fi - if $test -d /lib/medium || $test -d /usr/lib/medium; then - dflt="$dflt medium" - fi - if $test -d /lib/large || $test -d /usr/lib/large; then - dflt="$dflt large" - fi - if $test -d /lib/huge || $test -d /usr/lib/huge; then - dflt="$dflt huge" - fi - esac - fi - ;; -*) dflt="$models" ;; -esac -$cat <<EOM - -Some systems have different model sizes. On most systems they are called -small, medium, large, and huge. On the PDP11 they are called unsplit and -split. If your system doesn't support different memory models, say "none". -If you wish to force everything to one memory model, say "none" here and -put the appropriate flags later when it asks you for other cc and ld flags. -Venix systems may wish to put "none" and let the compiler figure things out. -(In the following question multiple model names should be space separated.) - -EOM -rp="Which models are supported? [$dflt]" -$echo $n "$rp $c" -. myread -models="$ans" - -case "$models" in -none) - small='' - medium='' - large='' - huge='' - unsplit='' - split='' - ;; -*split) - case "$split" in - '') - if $contains '\-i' $mansrc/man1/ld.1 >/dev/null 2>&1 || \ - $contains '\-i' $mansrc/man1/cc.1 >/dev/null 2>&1; then - dflt='-i' - else - dflt='none' - fi - ;; - *) dflt="$split";; - esac - rp="What flag indicates separate I and D space? [$dflt]" - $echo $n "$rp $c" - . myread - case "$ans" in - none) ans='';; - esac - split="$ans" - unsplit='' - ;; -*large*|*small*|*medium*|*huge*) - case "$models" in - *large*) - case "$large" in - '') dflt='-Ml';; - *) dflt="$large";; - esac - rp="What flag indicates large model? [$dflt]" - $echo $n "$rp $c" - . myread - case "$ans" in - none) ans=''; - esac - large="$ans" - ;; - *) large='';; - esac - case "$models" in - *huge*) - case "$huge" in - '') dflt='-Mh';; - *) dflt="$huge";; - esac - rp="What flag indicates huge model? [$dflt]" - $echo $n "$rp $c" - . myread - case "$ans" in - none) ans=''; - esac - huge="$ans" - ;; - *) huge="$large";; - esac - case "$models" in - *medium*) - case "$medium" in - '') dflt='-Mm';; - *) dflt="$medium";; - esac - rp="What flag indicates medium model? [$dflt]" - $echo $n "$rp $c" - . myread - case "$ans" in - none) ans=''; - esac - medium="$ans" - ;; - *) medium="$large";; - esac - case "$models" in - *small*) - case "$small" in - '') dflt='none';; - *) dflt="$small";; - esac - rp="What flag indicates small model? [$dflt]" - $echo $n "$rp $c" - . myread - case "$ans" in - none) ans=''; - esac - small="$ans" - ;; - *) small='';; - esac - ;; -*) - echo "Unrecognized memory models--you may have to edit Makefile.SH" - ;; -esac - -: 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' $mansrc/cc.1 >/dev/null 2>&1 ; then - dflt='cc -M' - 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. What command will force resolution on -EOM - $echo $n "this system? [$dflt] $c" - rp="Command to resolve multiple refs? [$dflt]" - . myread - cc="$ans" -else - case "$cc" in - '') dflt=cc;; - *) dflt="$cc";; - esac - rp="Use which C compiler? [$dflt]" - $echo $n "$rp $c" - . myread - cc="$ans" -fi -case "$cc" in -*gcc*) cpp=`./loc gcc-cpp $cpp $pth` - case "$nativegcc" in - '') case "$ccflags" in - *-fpcc-struct-return*) dflt=n;; - *) dflt=y;; - esac - ;; - undef) dflt=n;; - *) dflt=y;; - esac - echo " " - rp="Are your system (especially dbm) libraries compiled with gcc? [$dflt]" - $echo $n "$rp $c" - . myread - case "$ans" in - n*) nativegcc="$undef"; gccflags='-fpcc-struct-return';; - *) nativegcc="$define"; gccflags='';; - esac - case "$gccflags" in - *-ansi*) ;; - *-traditional*) ;; - *) gccflags="$gccflags -traditional -Dvolatile=__volatile__" ;; - esac - ;; -esac - -: determine optimize, if desired, or use for debug flag also -case "$optimize" in -' ') dflt="none" - ;; -'') dflt="-O"; - ;; -*) dflt="$optimize" - ;; -esac -cat <<EOH - -Some C compilers have problems with their optimizers, by default, $package -compiles with the -O flag to use the optimizer. Alternately, you might -want to use the symbolic debugger, which uses the -g flag (on traditional -Unix systems). Either flag can be specified here. To use neither flag, -specify the word "none". - -EOH -rp="What optimizer/debugger flag should be used? [$dflt]" -$echo $n "$rp $c" -. myread -optimize="$ans" -case "$optimize" in -'none') optimize=" " - ;; -esac - -case "$ccflags" in -'') case "$cc" in - *gcc*) dflt="$gccflags";; - *) dflt='';; - esac - ;; -*-fpcc-struct-return*) dflt="$ccflags";; -*) case "$cc" in - *gcc*) dflt="$ccflags $gccflags";; - *) dflt="$ccflags";; - esac - ;; -esac -for thisincl in $inclwanted; do - if test -d $thisincl; then - if test "x$thisincl" != "x$usrinclude"; then - case "$dflt" in - *$thisincl*);; - *) dflt="$dflt -I$thisincl";; - esac - fi - fi -done -case "$optimize" in --g*) - case "$dflt" in - *DEBUGGING*);; - *) dflt="$dflt -DDEBUGGING";; - esac - ;; -esac -if $contains 'LANGUAGE_C' $usrinclude/signal.h >/dev/null 2>&1; then - case "$dflt" in - *LANGUAGE_C*);; - *) dflt="$dflt -DLANGUAGE_C";; - *) if osf1; then - dflt="$dflt -D__LANGUAGE_C__" - else - dflt="$dflt -DLANGUAGE_C" - fi - ;; - esac -fi -if $contains '_NO_PROTO' $usrinclude/signal.h >/dev/null 2>&1; then - case "$dflt" in - *_NO_PROTO*);; - *) osf1 || dflt="$dflt -D_NO_PROTO";; - esac -fi -case "$dflt" in -'') dflt=none;; -esac -cat <<EOH - -Your C compiler may want other flags. For this question you should -include -I/whatever and -DWHATEVER flags and any other flags used by -the C compiler, but you should NOT include libraries or ld flags like --lwhatever. For instance, this would be a good place to specify --DDEBUGGING. To use no flags, specify the word "none". - -EOH -rp="Any additional cc flags? [$dflt]" -$echo $n "$rp $c" -. myread -case "$ans" in -none) ans=''; -esac -ccflags="$ans" - -: the following weeds options from ccflags that are of no interest to cpp -cppflags="$ccflags" -case "$cc" in -*gcc*) cppflags="$cppflags -D__GNUC__";; -esac -case "$cppflags" in -'');; -*) set X $cppflags - cppflags='' - for flag do - case $flag in - -D*|-U*|-I*|-traditional|-ansi|-nostdinc) cppflags="$cppflags $flag";; - esac - done - case "$cppflags" in - *-*) echo "(C preprocessor flags: $cppflags)";; - esac - ;; -esac - -case "$ldflags" in -'') if venix; then - dflt='-i -z' - else - dflt='none' - fi - ;; -*) dflt="$ldflags";; -esac -echo " " -rp="Any additional ld flags (NOT including libraries)? [$dflt]" -$echo $n "$rp $c" -. myread -case "$ans" in -none) ans=''; -esac -ldflags="$ans" - -echo " " -echo "Checking for optional libraries..." -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 - xxx=`./loc lib$thislib.a X /usr/ccs/lib /usr/lib /usr/ucblib /usr/local/lib /lib` - 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 /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 -done -set X $dflt -shift -dflt="$*" -case "$dflt" in -'') dflt='none';; -esac - -$cat <<EOM - -Some versions of Unix support shared libraries, which make -executables smaller but make load time slightly longer. - -On some systems, mostly newer Unix System V's, the shared library -is included by putting the option "-lc_s" as the last thing on the -cc command line when linking. Other systems use shared libraries -by default. There may be other libraries needed to compile $package -on your machine as well. If your system needs the "-lc_s" option, -include it here. Include any other special libraries here as well. -Say "none" for none. -EOM - -echo " " -rp="Any additional libraries? [$dflt]" -$echo $n "$rp $c" -. myread -case "$ans" in -none) ans=''; -esac -libs="$ans" - -: check for size of random number generator -echo " " -case "$alignbytes" in -'') - echo "Checking alignment constraints..." - $cat >try.c <<'EOCP' -struct foobar { - char foo; - double bar; -} try; -main() -{ - printf("%d\n", (char*)&try.bar - (char*)&try.foo); -} -EOCP - if $cc $ccflags try.c -o try >/dev/null 2>&1 ; then - dflt=`./try` - else - dflt='?' - echo "(I can't seem to compile the test program...)" - fi - ;; -*) - dflt="$alignbytes" - ;; -esac -rp="Doubles must be aligned on a how-many-byte boundary? [$dflt]" -$echo $n "$rp $c" -. myread -alignbytes="$ans" -$rm -f try.c try - -: determine where public executables go -cat <<EOF - -The following questions distinguish the directory in which executables -reside from the directory in which they are installed (and from which they -are presumably copied to the former directory by occult means). This -distinction is often necessary under afs. On most other systems, however, -the two directories are the same. - -EOF -case "$bin" in -'') - dflt=`./loc . /usr/local/bin /usr/local/bin /usr/lbin /usr/local /usr/bin /bin` - ;; -*) dflt="$bin" - ;; -esac -cont=true -while $test "$cont" ; do - rp="In which directory will public executables reside (~name ok)? [$dflt]" - $echo "In which directory will public executables reside (~name ok)?" - $echo $n "[$dflt] $c" - . myread - bin="$ans" - bin=`./filexp $bin` - if test -d $bin; then - cont='' - else - case "$fastread" in - yes) dflt=y;; - *) dflt=n;; - esac - rp="Directory $bin doesn't exist. Use that name anyway? [$dflt]" - $echo $n "$rp $c" - . myread - dflt='' - case "$ans" in - y*) cont='';; - esac - fi -done - -case "$bin" in - ?????????????????????????) - cat <<EOF - -NOTE: you have a fairly long path name there. Some systems have trouble -executing a script if the #! line ends up longer than 32 characters. If -you have this trouble you may have to reinstall somewhere else, or make -a symbolic link from someplace with a shorter name. - -EOF - ;; -esac - -case "$installbin" in -'') - dflt=`echo $bin | sed 's#^/afs/#/afs/.#'` - test -d $dflt || dflt="$bin" - ;; -*) dflt="$installbin" - ;; -esac -cont=true -while $test "$cont" ; do - rp="In which directory will public executables be installed (~name ok)? [$dflt]" - $echo "In which directory will public executables be installed (~name ok)?" - $echo $n "[$dflt] $c" - . myread - installbin="$ans" - installbin=`./filexp $installbin` - if test -d $installbin; then - cont='' - else - case "$fastread" in - yes) dflt=y;; - *) dflt=n;; - esac - rp="Directory $installbin doesn't exist. Use that name anyway? [$dflt]" - $echo $n "$rp $c" - . myread - dflt='' - case "$ans" in - y*) cont='';; - esac - fi -done - -: check for ordering of bytes in a long -case "$byteorder" in -'') -cat <<'EOM' - -In the following, larger digits indicate more significance. A big-endian -machine like a Pyramid or a Motorola 680?0 chip will come out to 4321. A -little-endian machine like a Vax or an Intel 80?86 chip would be 1234. Other -machines may have weird orders like 3412. A Cray will report 87654321. If -the test program works the default is probably right. -I'm now running the test program... -EOM - $cat >byteorder.c <<'EOCP' -#include <stdio.h> -main() -{ - int i; - union { - unsigned long l; - char c[sizeof(long)]; - } u; - - if (sizeof(long) > 4) - u.l = (0x08070605L << 32) | 0x04030201L; - else - u.l = 0x04030201L; - for (i=0; i < sizeof(long); i++) - printf("%c",u.c[i]+'0'); - printf("\n"); -} -EOCP - if $cc byteorder.c -o byteorder >/dev/null 2>&1 ; then - dflt=`./byteorder` - case "$dflt" in - ????|????????) echo "(The test program ran ok.)";; - *) echo "(The test program didn't run right for some reason.)";; - esac - else - dflt='4321' - echo "(I can't seem to compile the test program. Guessing big-endian...)" - fi - ;; -*) - echo " " - dflt="$byteorder" - ;; -esac -rp="What is the order of bytes in a long? [$dflt]" -$echo $n "$rp $c" -. myread -byteorder="$ans" - -: check for ability to cast negative floats to unsigned -echo " " -echo 'Checking to see if your C compiler can cast weird floats to unsigned' -$cat >try.c <<'EOCP' -#include <signal.h> - -blech() { exit(3); } - -main() -{ - double f = -123; - unsigned long along; - unsigned int aint; - unsigned short ashort; - int result = 0; - - signal(SIGFPE, blech); - along = (unsigned long)f; - aint = (unsigned int)f; - ashort = (unsigned short)f; - if (along != (unsigned long)-123) - result |= 1; - if (aint != (unsigned int)-123) - result |= 1; - if (ashort != (unsigned short)-123) - result |= 1; - f = (double)0x40000000; - f = f + f; - along = 0; - along = (unsigned long)f; - if (along != 0x80000000) - result |= 2; - f -= 1; - along = 0; - along = (unsigned long)f; - if (along != 0x7fffffff) - result |= 1; - f += 2; - along = 0; - along = (unsigned long)f; - if (along != 0x80000001) - result |= 2; - exit(result); -} -EOCP -if $cc -o try $ccflags try.c >/dev/null 2>&1; then - ./try - castflags=$? -else - castflags=3 -fi -case "$castflags" in -0) val="$define" - echo "Yup, it does." - ;; -*) val="$undef" - echo "Nope, it doesn't." - ;; -esac -set d_castneg -eval $setvar -$rm -f try.* - -: see how we invoke the C preprocessor -echo " " -echo "Now, how can we feed standard input to your C preprocessor..." -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=cppstdin - -case "$cppstdin" in -/*cppstdin) cppstdin=cppstdin;; -esac -cp cppstdin UU -cd UU - -if test "X$cppstdin" != "X" && \ - $cppstdin $cppminus <testcpp.c >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." -elif test "$cc" = gcc && \ - (echo "Using gcc, eh? We'll try to force gcc -E using a wrapper..."; \ - $wrapper <testcpp.c >testcpp.out 2>&1; \ - $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1) ; then - echo "Yup, we can." - cppstdin="$wrapper" - cppminus=''; -elif echo 'Maybe "'"$cc"' -E" will work...'; \ - $cc -E <testcpp.c >testcpp.out 2>&1; \ - $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then - echo "Yup, it does." - cppstdin="$cc -E" - cppminus=''; -elif echo 'Nope...maybe "'"$cc"' -E -" will work...'; \ - $cc -E - <testcpp.c >testcpp.out 2>&1; \ - $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then - echo "Yup, it does." - cppstdin="$cc -E" - cppminus='-'; -elif echo 'No such luck, maybe "'$cpp'" will work...'; \ - $cpp <testcpp.c >testcpp.out 2>&1; \ - $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then - echo "It works!" - cppstdin="$cpp" - cppminus=''; -elif echo 'Nixed again...maybe "'$cpp' -" will work...'; \ - $cpp - <testcpp.c >testcpp.out 2>&1; \ - $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then - echo "Hooray, it works! I was beginning to wonder." - cppstdin="$cpp" - cppminus='-'; -elif echo 'Uh-uh. Time to get fancy. Trying a wrapper...'; \ - $wrapper <testcpp.c >testcpp.out 2>&1; \ - $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then - cppstdin="$wrapper" - cppminus='' - echo "Eureka!." -elif echo 'Nope...maybe "'"$cc"' -P" will work...'; \ - $cc -P <testcpp.c >testcpp.out 2>&1; \ - $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then - echo "Yipee, that works!" - cppstdin="$cc -P" - cppminus=''; -elif echo 'Nope...maybe "'"$cc"' -P -" will work...'; \ - $cc -P - <testcpp.c >testcpp.out 2>&1; \ - $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then - echo "At long last!" - cppstdin="$cc -P" - cppminus='-'; -else - dflt=blurfl - $echo $n "No dice. I can't find a C preprocessor. Name one: $c" - rp='Name a C preprocessor:' - . myread - cppstdin="$ans" - $cppstdin <testcpp.c >testcpp.out 2>&1 - if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then - echo "OK, that will do." - else - echo "Sorry, I can't get that to work. Go find one and rerun Configure." - exit 1 - fi -fi - -: get list of predefined functions in a handy place -echo " " -case "$libc" in -'') libc=unknown;; -esac -case "$nm_opts" in -'') if test -f /mach_boot; then - nm_opts='' - elif test -d /usr/ccs/lib; then - nm_opts='-p' - else - nm_opts='' - fi - ;; -esac -: on mips, we DO NOT want /lib, and we want inclPath/usr/lib -case "$libpth" in -'') if mips; then - libpth='$inclPath/usr/lib /usr/local/lib' - nm_opts="-B" - else - libpth='/usr/ccs/lib /lib /usr/lib /usr/ucblib /usr/local/lib' - fi - ;; -esac -case "$libs" in -*-lc_s*) libc=`./loc libc_s.a $libc $libpth` -esac -libnames=''; -case "$libs" in -'') ;; -*) for thislib in $libs; do - case "$thislib" in - -l*) thislib=`expr X$thislib : 'X-l\(.*\)'` - try=`./loc lib$thislib.a blurfl/dyick $libpth` - if test ! -f $try; then - try=`./loc lib$thislib blurfl/dyick $libpth` - if test ! -f $try; then - try=`./loc $thislib blurfl/dyick $libpth` - if test ! -f $try; then - try=`./loc Slib$thislib.a blurfl/dyick $xlibpth` - if test ! -f $try; then - try='' - fi - fi - fi - fi - libnames="$libnames $try" - ;; - *) libnames="$libnames $thislib" ;; - esac - done - ;; -esac -set /usr/ccs/lib/libc.so -test -f $1 || set /usr/lib/libc.so -test -f $1 || set /usr/shlib/libc.so -test -f $1 || set /usr/lib/libc.so.[0-9]* -test -f $1 || set /lib/libsys_s.a -eval set \$$# -if test -f "$1"; then - echo "Your (shared) C library seems to be in $1." - libc="$1" -elif test -f "$libc"; then - echo "Your C library seems to be in $libc." -elif test -f /lib/libc.a; then - echo "Your C library seems to be in /lib/libc.a. You're normal." - libc=/lib/libc.a -else - if ans=`./loc libc.a blurfl/dyick $libpth`; test -f "$ans"; then - : - elif ans=`./loc libc blurfl/dyick $libpth`; test -f "$ans"; then - libnames="$libnames "`./loc clib blurfl/dyick $libpth` - elif ans=`./loc clib blurfl/dyick $libpth`; test -f "$ans"; then - : - elif ans=`./loc Slibc.a blurfl/dyick $xlibpth`; test -f "$ans"; then - : - elif ans=`./loc Mlibc.a blurfl/dyick $xlibpth`; test -f "$ans"; then - : - elif ans=`./loc Llibc.a blurfl/dyick $xlibpth`; test -f "$ans"; then - : - fi - if test -f "$ans"; then - echo "Your C library seems to be in $ans, of all places." - libc=$ans - else - cat <<EOM - -I can't seem to find your C library. I've looked in the following places: - - $libpth - -None of these seems to contain your C library. What is the full name -EOM - dflt=None - $echo $n "of your C library? $c" - rp='C library full name?' - . myread - libc="$ans" - fi -fi -echo " " -if test $libc = "/lib/libc"; then - libc="$libc /lib/clib" -fi -cat <<END - -If the guess above is wrong (which it might be if you're using a strange -compiler, or your machine supports multiple models), you can override it here. -END -dflt="$libc"; -rp="Your C library is where? [$dflt]" -$echo $n "$rp $c" -. myread -libc="$ans" -echo " " -echo $libc $libnames | tr ' ' '\012' | sort | uniq >libnames -$echo "Extracting names from the following files for later perusal:" -sed 's/^/ /' libnames -echo $n "This may take a while...$c" -set X `cat libnames` -shift -nm $nm_opts $* 2>/dev/null >libc.tmp -$sed -n -e 's/^.* [ATDS] *[_.]*//p' -e 's/^.* [ATDS] //p' <libc.tmp >libc.list -if $contains '^printf$' libc.list >/dev/null 2>&1; then - echo done -elif $sed -n -e 's/^__*//' -e 's/^\([a-zA-Z_0-9$]*\).*xtern.*/\1/p' \ - <libc.tmp >libc.list; \ - $contains '^printf$' libc.list >/dev/null 2>&1; then - echo done -elif $sed -n -e '/|UNDEF/d' -e '/FUNC..GL/s/^.*|__*//p' <libc.tmp >libc.list; \ - $contains '^printf$' libc.list >/dev/null 2>&1; then - echo done -elif $sed -n -e 's/^.* D __*//p' -e 's/^.* D //p' <libc.tmp >libc.list; \ - $contains '^printf$' libc.list >/dev/null 2>&1; then - echo done -elif $sed -n -e 's/^_//' -e 's/^\([a-zA-Z_0-9]*\).*xtern.*text.*/\1/p' \ - <libc.tmp >libc.list; \ - $contains '^printf$' libc.list >/dev/null 2>&1; then - echo done -elif $grep '|' <libc.tmp | $sed -n -e '/|COMMON/d' -e '/|DATA/d' -e '/ file/d' \ - -e 's/^\([^ ]*\).*/\1/p' >libc.list - $contains '^printf$' libc.list >/dev/null 2>&1; then - echo done -elif $sed -n -e 's/^.*|FUNC |GLOB .*|//p' -e 's/^.*|FUNC |WEAK .*|//p' \ - <libc.tmp >libc.list; \ - $contains '^printf$' libc.list >/dev/null 2>&1; then - echo done -elif $sed -n -e 's/^[ ]*[0-9][0-9a-f]*[ ]*Def. Text[ ]*//p' \ - < libc.tmp | $sed -e 's/\[.*\]//' > libc.list; \ - $contains '^printf$' libc.list >/dev/null 2>&1; then - echo done -else - nm -p $* 2>/dev/null >libc.tmp - $sed -n -e 's/^.* [AT] *_[_.]*//p' -e 's/^.* [AT] //p' <libc.tmp >libc.list - if $contains '^printf$' libc.list >/dev/null 2>&1; then - nm_opts='-p' - echo "done" - else - echo " " - echo "nm didn't seem to work right." - echo "Trying ar instead..." - 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." - else - echo "ar didn't seem to work right." - echo "Maybe this is a Cray...trying bld instead..." - 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." - else - echo "That didn't work either. Giving up." - exit 1 - fi - fi - fi -fi -if test -f /lib/syscalls.exp; then - echo "Also extracting names from /lib/syscalls.exp for good ole AIX..." - sed -n 's/^\([^ ]*\)[ ]*syscall$/\1/p' /lib/syscalls.exp >>libc.list -fi - -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 - -: see if bcopy exists -set bcopy d_bcopy -eval $inlibc - -case "$d_safebcpy" in -'') - : assume the worst - d_safebcpy=undef - case "$d_bcopy" in - define) - echo "Checking to see if your bcopy() can do overlapping copies..." - $cat >safebcpy.c <<'EOCP' -main() -{ - char buf[128]; - register char *b; - register int len; - register int off; - register int align; - - for (align = 7; align >= 0; align--) { - for (len = 36; len; len--) { - b = buf+align; - bcopy("abcdefghijklmnopqrstuvwxyz0123456789", b, len); - for (off = 1; off <= len; off++) { - bcopy(b, b+off, len); - bcopy(b+off, b, len); - if (bcmp(b, "abcdefghijklmnopqrstuvwxyz0123456789", len)) - exit(1); - } - } - } - exit(0); -} -EOCP - if $cc safebcpy.c -o safebcpy $ccflags $libs >/dev/null 2>&1 ; then - if ./safebcpy; then - echo "It can." - d_safebcpy=define - else - echo "It can't." - fi - else - echo "(I can't compile the test program, so we'll assume not...)" - fi - ;; - esac - ;; -esac - -: see if bzero exists -set bzero d_bzero -eval $inlibc - -: see if sprintf is declared as int or pointer to char -echo " " -cat >ucbsprf.c <<'EOF' -#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)." - val="$undef" -else - echo "Your sprintf() returns (char*)." - 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.' - val="$define" - cat >vprintf.c <<'EOF' -#include <varargs.h> - -main() { xxx("foo"); } - -xxx(va_alist) -va_dcl -{ - va_list args; - char buf[10]; - - va_start(args); - exit((unsigned long)vsprintf(buf,"%s",args) > 10L); -} -EOF - if $cc $ccflags vprintf.c -o vprintf >/dev/null 2>&1 && ./vprintf; then - echo "Your vsprintf() returns (int)." - val2="$undef" - else - echo "Your vsprintf() returns (char*)." - val2="$define" - fi -else - echo 'vprintf() NOT found.' - 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 -eval $inlibc - -: see if crypt exists -echo " " -if $contains '^crypt$' libc.list >/dev/null 2>&1; then - echo 'crypt() found.' - val="$define" - cryptlib='' -else - cryptlib=`./loc Slibcrypt.a "" $xlibpth` - if $test -z "$cryptlib"; then - cryptlib=`./loc Mlibcrypt.a "" $xlibpth` - else - cryptlib=-lcrypt - fi - if $test -z "$cryptlib"; then - cryptlib=`./loc Llibcrypt.a "" $xlibpth` - else - cryptlib=-lcrypt - fi - if $test -z "$cryptlib"; then - cryptlib=`./loc libcrypt.a "" $libpth` - else - cryptlib=-lcrypt - fi - if $test -z "$cryptlib"; then - echo 'crypt() NOT found.' - val="$undef" - else - val="$define" - fi -fi -set d_crypt -eval $setvar - -: get csh whereabouts -case "$csh" in -'csh') val="$undef" ;; -*) val="$define" ;; -esac -set d_csh -eval $setvar - -: see if readdir exists -set readdir d_readdir -eval $inlibc - -: see if there are directory access routines out there -echo " " -xxx=`./loc ndir.h x $usrinclude /usr/local/include $inclwanted` -case "$xxx" in -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" -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" - fi - I_dirent="$define" -elif $test -r $xxx; then - echo "You seem to use <$xxx>," - if $test "$d_readdir" = "$define"; then - echo "and I can get readdir() from your C library." - elif $test -r /usr/lib/libndir.a || $test -r /usr/local/lib/libndir.a; then - echo "and I'll get the routines using -lndir ." - libndir='-lndir' - else - ans=`./loc libndir.a x $libpth` - case "$ans" in - x) - echo "but I can't find the ndir library!" - ;; - *) - echo "and I found the directory library in $ans." - libndir="$ans" - ;; - esac - fi - if $contains 'd_namlen' $xxx >/dev/null 2>&1; then - D_dirnamlen="$define" - fi - case "$xxx" in - sys/) - I_sys_ndir="$define" - ;; - *) - I_ndir="$define" - ;; - esac -else - : 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" - fi - 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. - if $contains 'd_namlen' $d_ndir.h >/dev/null 2>&1; then - D_dirnamlen="$define" - fi - 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 -'') dflt=n;; -*undef*) dflt=n;; -*) dflt=y;; -esac -cat <<EOM - -Some sites have disabled setuid #! scripts because of a bug in the kernel -that prevents them from being secure. If you are on such a system, the -setuid/setgid bits on scripts are currently useless. It is possible for -$package to detect those bits and emulate setuid/setgid in a secure fashion -until a better solution is devised for the kernel problem. - -EOM -rp="Do you want to do setuid/setgid emulation? [$dflt]" -$echo $n "$rp $c" -. myread -case "$ans" in -'') $ans="$dflt";; -esac -case "$ans" in -y*) d_dosuid="$define";; -*) d_dosuid="$undef";; -esac - -: see if dup2 exists -set dup2 d_dup2 -eval $inlibc - -: see if fchmod exists -set fchmod d_fchmod -eval $inlibc - -: see if fchown exists -set fchown d_fchown -eval $inlibc - -: see if this is an fcntl system -set fcntl d_fcntl -eval $inlibc - -: see if we can have long filenames -echo " " -rm -f 123456789abcde -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.' - val="$undef" - else - echo 'You can have filenames longer than 14 characters.' - val="$define" - fi -else - : version 8 probably - 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 - -: see if getgroups exists -set getgroups d_getgrps -eval $inlibc - -: see if gethostent exists -set gethostent d_gethent -eval $inlibc - -: see if getpgrp exists -set getpgrp d_getpgrp -eval $inlibc - -: see if getpgrp2 exists -set getpgrp2 d_getpgrp2 -eval $inlibc - -: see if getpriority exists -set getpriority d_getprior -eval $inlibc - -: see if htonl exists -set htonl d_htonl -eval $inlibc - -: index or strcpy -echo " " -case "$d_index" in -undef) dflt=y;; -define) dflt=n;; -*) 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 - echo "Your system has both index() and strchr(). Shall I use" - rp="index() rather than strchr()? [$dflt]" - $echo $n "$rp $c" - . myread - case "$ans" in - n*) d_index="$define" ;; - *) d_index="$undef" ;; - esac - else - d_index="$undef" - echo "index() found." - fi -else - if $contains '^strchr$' libc.list >/dev/null 2>&1 ; then - d_index="$define" - echo "strchr() found." - else - echo "No index() or strchr() found!" - d_index="$undef" - fi -fi - -: see if isascii exists -set isascii d_isascii -eval $inlibc - -: see if killpg exists -set killpg d_killpg -eval $inlibc - -: see if lstat exists -set lstat d_lstat -eval $inlibc - -: see if memcmp exists -set memcmp d_memcmp -eval $inlibc - -: see if memcpy exists -set memcpy d_memcpy -eval $inlibc - -case "$d_safemcpy" in -'') - : assume the worst - d_safemcpy=undef - case "$d_memcpy" in - define) - echo "Checking to see if your memcpy() can do overlapping copies..." - $cat >safemcpy.c <<'EOCP' -main() -{ - char buf[128]; - register char *b; - register int len; - register int off; - register int align; - - for (align = 7; align >= 0; align--) { - for (len = 36; len; len--) { - b = buf+align; - memcpy(b,"abcdefghijklmnopqrstuvwxyz0123456789", len); - for (off = 1; off <= len; off++) { - memcpy(b+off, b, len); - memcpy(b, b+off, len); - if (memcmp(b, "abcdefghijklmnopqrstuvwxyz0123456789", len)) - exit(1); - } - } - } - exit(0); -} -EOCP - if $cc safemcpy.c -o safemcpy $ccflags $libs >/dev/null 2>&1 ; then - if ./safemcpy; then - echo "It can." - d_safemcpy=define - else - echo "It can't." - fi - else - echo "(I can't compile the test program, so we'll assume not...)" - fi - ;; - esac - ;; -esac - -: see if memmove exists -set memmove d_memmove -eval $inlibc - -: see if memset exists -set memset d_memset -eval $inlibc - -: see if mkdir exists -set mkdir d_mkdir -eval $inlibc - -: see if msgctl exists -set msgctl d_msgctl -eval $inlibc - -: see if msgget exists -set msgget d_msgget -eval $inlibc - -: see if msgsnd exists -set msgsnd d_msgsnd -eval $inlibc - -: see if msgrcv exists -set msgrcv d_msgrcv -eval $inlibc - -: see how much of the 'msg*(2)' library is present. -h_msg=true -echo " " -case "$d_msgctl$d_msgget$d_msgsnd$d_msgrcv" in -*undef*) h_msg=false;; -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." - val="$define" -else - echo "You don't have the full msg*(2) library." - val="$undef" -fi -set d_msg -eval $setvar - -: determine which malloc to compile in -echo " " -case "$d_mymalloc" in -'') - case "$usemymalloc" in - '') - if bsd || v7; then - dflt='y' - else - dflt='n' - fi - ;; - n*) dflt=n;; - *) dflt=y;; - esac - ;; -define) dflt="y" - ;; -*) dflt="n" - ;; -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 -case "$ans" in -y*) mallocsrc='malloc.c'; mallocobj='malloc.o' - libs=`echo $libs | sed 's/-lmalloc//'` - val="$define" - case "$mallocptrtype" in - '') - cat >usemymalloc.c <<'END' -#ifdef __STDC__ -#include <stdlib.h> -#else -#include <malloc.h> -#endif -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 - val="$undef" - ;; -esac -set d_mymalloc -eval $setvar - -: see if ndbm is available -echo " " -xxx=`./loc ndbm.h x $usrinclude /usr/local/include $inclwanted` -if test -f $xxx; then - val="$define" - echo "ndbm.h found." -else - 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 - val="$define" - echo "dbm.h found." -else - 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." - val="$define" - : now check for advanced features - if $contains setsockopt libc.list >/dev/null 2>&1; then - val2="$undef" - else - echo "...but it uses the old 4.1c interface, rather than 4.2" - 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." - val="$define" - : we will have to assume that it supports the 4.2 BSD interface - val2="$undef" - else - echo "Hmmm...you don't have Berkeley networking in libc.a..." - : look for an optional networking library - if test -f /usr/lib/libnet.a; then - (ar t /usr/lib/libnet.a || - nm -g /usr/lib/libnet.a) 2>/dev/null >> libc.list - 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" - val="$define" - : now check for advanced features - if $contains setsockopt libc.list >/dev/null 2>&1; then - val2="$undef" - else - echo "...using the old 4.1c interface, rather than 4.2" - val2="$define" - fi - else - echo "or even in libnet.a, which is peculiar." - val="$undef" - val2="$undef" - fi - else - echo "or anywhere else I see." - val="$undef" - val2="$undef" - fi - fi -fi -set d_socket -eval $setvar - -if $contains socketpair libc.list >/dev/null 2>&1; then - val="$define" -else - val="$undef" -fi -set d_sockpair -eval $setvar -val=$val2 -set d_oldsock -eval $setvar - -: Locate the flags for 'open()' -echo " " -$cat >open3.c <<'EOCP' -#include <sys/types.h> -#ifdef I_FCNTL -#include <fcntl.h> -#endif -#ifdef I_SYS_FILE -#include <sys/file.h> -#endif -main() { - - if(O_RDONLY); - -#ifdef O_TRUNC - exit(0); -#else - exit(1); -#endif -} -EOCP -: check sys/file.h first to get FREAD on Sun -if $test -r $usrinclude/sys/file.h && \ - $cc $cppflags "-DI_SYS_FILE" open3.c -o open3 >/dev/null 2>&1 ; then - h_sys_file=true; - echo "sys/file.h defines the O_* constants..." - if ./open3; then - echo "and you have the 3 argument form of open()." - val="$define" - else - echo "but not the 3 argument form of open(). Oh, well." - val="$undef" - fi -elif $test -r $usrinclude/fcntl.h && \ - $cc "-DI_FCNTL" open3.c -o open3 >/dev/null 2>&1 ; then - h_fcntl=true; - echo "fcntl.h defines the O_* constants..." - if ./open3; then - echo "and you have the 3 argument form of open()." - val="$define" - else - echo "but not the 3 argument form of open(). Oh, well." - val="$undef" - fi -else - 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 $cppminus <$usrinclude/pwd.h | \ - sed -n '/struct[ ][ ]*passwd/,/^};/p' >pwd.txt - if $contains 'pw_quota' pwd.txt >/dev/null 2>&1; then - d_pwquota="$define" - else - d_pwquota="$undef" - fi - if $contains 'pw_age' pwd.txt >/dev/null 2>&1; then - d_pwage="$define" - else - d_pwage="$undef" - fi - if $contains 'pw_change' pwd.txt >/dev/null 2>&1; then - d_pwchange="$define" - else - d_pwchange="$undef" - fi - if $contains 'pw_class' pwd.txt >/dev/null 2>&1; then - d_pwclass="$define" - else - d_pwclass="$undef" - fi - if $contains 'pw_expire' pwd.txt >/dev/null 2>&1; then - d_pwexpire="$define" - else - d_pwexpire="$undef" - fi - if $contains 'pw_comment' pwd.txt >/dev/null 2>&1; then - d_pwcomment="$define" - else - d_pwcomment="$undef" - fi -else - i_pwd="$undef" - d_pwquota="$undef" - d_pwage="$undef" - d_pwchange="$undef" - d_pwclass="$undef" - d_pwexpire="$undef" - d_pwcomment="$undef" - echo "No pwd.h found." -fi - -: see if rename exists -set rename d_rename -eval $inlibc - -: see if rewindir exists -set rewinddir d_rewindir -eval $inlibc - -: see if rmdir exists -set rmdir d_rmdir -eval $inlibc - -: see if seekdir exists -set seekdir d_seekdir -eval $inlibc - -: see if select exists -set select d_select -eval $inlibc - -: see if semctl exists -set semctl d_semctl -eval $inlibc - -: see if semget exists -set semget d_semget -eval $inlibc - -: see if semop exists -set semop d_semop -eval $inlibc - -: see how much of the 'sem*(2)' library is present. -h_sem=true -echo " " -case "$d_semctl$d_semget$d_semop" in -*undef*) h_sem=false;; -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." - val="$define" -else - echo "You don't have the full sem*(2) library." - val="$undef" -fi -set d_sem -eval $setvar - -: see if setegid exists -set setegid d_setegid -eval $inlibc - -: see if seteuid exists -set seteuid d_seteuid -eval $inlibc - -: see if setpgrp exists -set setpgrp d_setpgrp -eval $inlibc - -: see if setpgrp2 exists -set setpgrp2 d_setpgrp2 -eval $inlibc - -: see if setpriority exists -set setpriority d_setprior -eval $inlibc - -: see if setregid exists -set setregid d_setregid -eval $inlibc -set setresgid d_setresgid -eval $inlibc - -: see if setreuid exists -set setreuid d_setreuid -eval $inlibc -set setresuid d_setresuid -eval $inlibc - -: see if setrgid exists -set setrgid d_setrgid -eval $inlibc - -: see if setruid exists -set setruid d_setruid -eval $inlibc - -: see if shmctl exists -set shmctl d_shmctl -eval $inlibc - -: see if shmget exists -set shmget d_shmget -eval $inlibc - -: see if shmat exists -set shmat d_shmat -eval $inlibc - -d_voidshmat="$undef" -case "$d_shmat" in -define) - $cppstdin $cppflags $cppminus < $usrinclude/sys/shm.h >voidshmat.txt 2>/dev/null - if $contains "void.*shmat" voidshmat.txt >/dev/null 2>&1; then - echo "and shmat returns (void*)" - d_voidshmat="$define" - else - echo "and shmat returns (char*)" - fi - ;; -esac - -: see if shmdt exists -set shmdt d_shmdt -eval $inlibc - -: see how much of the 'shm*(2)' library is present. -h_shm=true -echo " " -case "$d_shmctl$d_shmget$d_shmat$d_shmdt" in -*undef*) h_shm=false;; -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." - val="$define" -else - echo "You don't have the full shm*(2) library." - 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." - val="$define" - else - echo "Your stat doesn't know about block sizes." - val="$undef" - fi -else - echo "Your stat doesn't know about block sizes." - 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." - val="$define" - else - echo "Your stdio isn't very std." - val="$undef" - fi -else - echo "Your stdio isn't very std." - val="$undef" -fi -set d_stdstdio -eval $setvar - -: check for structure copying -echo " " -echo "Checking to see if your C compiler can copy structs..." -$cat >strctcpy.c <<'EOCP' -main() -{ - struct blurfl { - int dyick; - } foo, bar; - - foo = bar; -} -EOCP -if $cc -c strctcpy.c >/dev/null 2>&1 ; then - val="$define" - echo "Yup, it can." -else - val="$undef" - echo "Nope, it can't." -fi -set d_strctcpy -eval $setvar - -: see if strerror exists -set strerror d_strerror -eval $inlibc - -: see if symlink exists -set symlink d_symlink -eval $inlibc - -: see if syscall exists -set syscall d_syscall -eval $inlibc - -: set if package uses struct tm -w_s_tm=1 - -: set if package uses struct timeval -case "$d_select" in -define) w_s_timevl=1 ;; -esac - -: set if package uses localtime function -w_localtim=1 - -: see which of time.h, sys/time.h, and sys/select should be included. -idefs='' -cat <<'EOM' - -Testing to see which of <time.h>, <sys/time.h>, and <sys/select.h> -should be included, because this application wants: - -EOM -case "$w_s_itimer" in -1) - echo " struct itimerval" - idefs="-DS_ITIMERVAL $idefs" - ;; -esac -case "$w_s_timevl" in -1) - echo " struct timeval" - idefs="-DS_TIMEVAL $idefs" - ;; -esac -case "$w_s_tm" in -1) - echo " struct tm" - idefs="-DS_TM $idefs" - ;; -esac -case "$w_localtim" in -1) - echo " ctime(3) declarations" - idefs="-DD_CTIME $idefs" - ;; -esac -case "$idefs" in -'') - echo " (something I don't know about)" - ;; -esac -echo " " -echo "I'm now running the test program..." -$cat >i_time.c <<'EOCP' -#include <sys/types.h> -#ifdef I_TIME -#include <time.h> -#endif -#ifdef I_SYS_TIME -#ifdef SYSTIMEKERNEL -#define KERNEL -#endif -#include <sys/time.h> -#endif -#ifdef I_SYS_SELECT -#include <sys/select.h> -#endif -main() -{ - struct tm foo; - struct tm *tmp; -#ifdef S_TIMEVAL - struct timeval bar; -#endif -#ifdef S_ITIMERVAL - struct itimerval baz; -#endif - - if (foo.tm_sec == foo.tm_sec) - exit(0); -#ifdef S_TIMEVAL - if (bar.tv_sec == bar.tv_sec) - exit(0); -#endif -#ifdef S_ITIMERVAL - if (baz.it_interval == baz.it_interval) - exit(0); -#endif -#ifdef S_TIMEVAL - if (bar.tv_sec == bar.tv_sec) - exit(0); -#endif -#ifdef D_CTIME - /* this might not do anything for us... */ - tmp = localtime((time_t *)0); -#endif - exit(1); -} -EOCP -flags='' -for i_sys_select in '' '-DI_SYS_SELECT'; do - for d_systimekernel in '' '-DSYSTIMEKERNEL'; do - for i_time in '' '-DI_TIME'; 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 $idefs \ - $i_time $i_systime $d_systimekernel $i_sys_select \ - i_time.c -o i_time >/dev/null 2>&1 ; then - set X $i_time $i_systime $d_systimekernel $i_sys_select - shift - flags="$*" - echo Succeeded with $flags - fi - ;; - esac - done - done - done -done -case "$flags" in -*SYSTIMEKERNEL*) val="$define";; -*) val="$undef";; -esac -set d_systimekernel -eval $setvar -case "$flags" in -*I_TIME*) val="$define";; -*) val="$undef";; -esac -set i_time -eval $setvar -case "$flags" in -*I_SYS_SELECT*) val="$define";; -*) val="$undef";; -esac -set i_sys_select -eval $setvar -case "$flags" in -*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 telldir exists -set telldir d_telldir -eval $inlibc - -: 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 'int[^A-Za-z]*signal' d_voidsig.txt >/dev/null 2>&1 ; then - echo "You have int (*signal())() instead of void." - val="$undef" -else - echo "You have void (*signal())() instead of int." - val="$define" -fi -set d_voidsig -eval $setvar -case $voidsig in -define) d_tosignal=void;; -*) d_tosignal=int;; -esac - -: see if truncate exists -set truncate d_truncate -eval $inlibc - -: see if there is a vfork -set vfork d_vfork -eval $inlibc - -: check for volatile keyword -echo " " -echo 'Checking to see if your C compiler knows about "volatile"...' -$cat >try.c <<'EOCP' -main() -{ - typedef unsigned short foo_t; - char *volatile foo; - volatile int bar; - volatile foo_t blech; - foo = foo; -} -EOCP -if $cc -c $ccflags try.c >/dev/null 2>&1 ; then - val="$define" - echo "Yup, it does." -else - val="$undef" - echo "Nope, it doesn't." -fi -set d_volatile -eval $setvar -$rm -f try.* - -: see if there is a wait4 -set wait4 d_wait4 -eval $inlibc - -: see if there is a waitpid -set waitpid d_waitpid -eval $inlibc - -: see what type gids are declared as in the kernel -case "$gidtype" in -'') - if $contains 'gid_t;' $usrinclude/sys/types.h >/dev/null 2>&1 ; then - dflt='gid_t'; - else - set `grep '_rgid;' $usrinclude/sys/user.h 2>/dev/null` unsigned short - case $1 in - unsigned) dflt="$1 $2" ;; - *) dflt="$1" ;; - esac - fi - ;; -*) dflt="$gidtype" - ;; -esac -cont=true -echo " " -rp="What type are groups ids returned by getgid(), etc.? [$dflt]" -$echo $n "$rp $c" -. myread -gidtype="$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/include/libc.h >/dev/null 2>&1; then - dflt='short' - elif $contains 'getgroups.*int' /usr/include/libc.h >/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" - -: check for length of integer -echo " " -case "$intsize" in -'') - echo "Checking to see how big your integers are..." - $cat >intsize.c <<'EOCP' -#include <stdio.h> -main() -{ - printf("%d\n", sizeof(int)); -} -EOCP - if $cc intsize.c -o intsize >/dev/null 2>&1 ; then - dflt=`./intsize` - else - dflt='4' - echo "(I can't seem to compile the test program. Guessing...)" - fi - ;; -*) - dflt="$intsize" - ;; -esac -rp="What is the size of an integer (in bytes)? [$dflt]" -$echo $n "$rp $c" -. myread -intsize="$ans" - -: determine where private executables go -case "$privlib" in -'') - dflt=/usr/lib/$package - test -d /usr/local/lib && dflt=/usr/local/lib/$package - ;; -*) dflt="$privlib" - ;; -esac -$cat <<EOM - -The $package package has some auxiliary files that should be reside in a library -that is accessible by everyone. Where should these "private" but accessible -EOM -$echo $n "files reside? (~name ok) [$dflt] $c" -rp="Private files will reside where? [$dflt]" -. myread -privlib=`./filexp "$ans"` - -case "$installprivlib" in -'') - dflt=`echo $privlib | sed 's#^/afs/#/afs/.#'` - test -d $dflt || dflt="$privlib" - ;; -*) dflt="$installprivlib" - ;; -esac -$cat <<EOM - -On some systems (such as afs) you have to install the library files in a -different directory to get them to go to the right place. Where should the -EOM -$echo $n "library files be installed? (~name ok) [$dflt] $c" -rp="Install private files where? [$dflt]" -. myread -installprivlib=`./filexp "$ans"` - -: check for size of random number generator -echo " " -case "$randbits" in -'') - echo "Checking to see how many bits your rand function produces..." - $cat >randbits.c <<'EOCP' -#include <stdio.h> -main() -{ - register int i; - register unsigned long tmp; - register unsigned long max = 0L; - - for (i=1000; i; i--) { - tmp = (unsigned long)rand(); - if (tmp > max) max = tmp; - } - for (i=0; max; i++) - max /= 2; - printf("%d\n",i); -} -EOCP - if $cc randbits.c -o randbits >/dev/null 2>&1 ; then - dflt=`./randbits` - else - dflt='?' - echo "(I can't seem to compile the test program...)" - fi - ;; -*) - dflt="$randbits" - ;; -esac -rp="How many bits does your rand() function produce? [$dflt]" -$echo $n "$rp $c" -. myread -randbits="$ans" - -: determine where publicly executable scripts go -case "$scriptdir" in -'') - dflt="$bin" - : guess some guesses - test -d /usr/share/scripts && dflt=/usr/share/scripts - test -d /usr/share/bin && dflt=/usr/share/bin - ;; -*) dflt="$scriptdir" - ;; -esac -cont=true -$cat <<EOM - -Some installations have a separate directory just for executable scripts so -that they can mount it across multiple architectures but keep the scripts in -one spot. You might, for example, have a subdirectory of /usr/share for this. -Or you might just lump your scripts in with all your other executables. - -EOM -while $test "$cont" ; do - rp="Where will publicly executable scripts reside (~name ok)? [$dflt]" - $echo $n "$rp $c" - . myread - scriptdir="$ans" - scriptdir=`./filexp "$scriptdir"` - if test -d $scriptdir; then - cont='' - else - case "$fastread" in - yes) dflt=y;; - *) dflt=n;; - esac - rp="Directory $scriptdir doesn't exist. Use that name anyway? [$dflt]" - $echo $n "$rp $c" - . myread - dflt='' - case "$ans" in - y*) cont='';; - esac - fi -done - -case "$installscr" in -'') - dflt=`echo $scriptdir | sed 's#^/afs/#/afs/.#'` - test -d $dflt || dflt="$scriptdir" - ;; -*) dflt="$scriptdir" - ;; -esac -cont=true -$cat <<EOM - -Some installations must install scripts in a different directory than where -they will eventually reside. On most systems they're the same directory. -EOM -while $test "$cont" ; do - rp="Where do you install publicly executable scripts (~name ok)? [$dflt]" - $echo $n "$rp $c" - . myread - installscr="$ans" - installscr=`./filexp "$installscr"` - if test -d $installscr; then - cont='' - else - case "$fastread" in - yes) dflt=y;; - *) dflt=n;; - esac - rp="Directory $installscr doesn't exist. Use that name anyway? [$dflt]" - $echo $n "$rp $c" - . myread - dflt='' - case "$ans" in - y*) cont='';; - esac - fi -done - -: generate list of signal names -echo " " -case "$sig_name" in -'') - echo "Generating a list of signal names..." - set X `cat $usrinclude/signal.h $usrinclude/sys/signal.h 2>&1 | awk ' -$1 ~ /^#define$/ && $2 ~ /^SIG[A-Z0-9]*$/ && $3 ~ /^[1-9][0-9]*$/ { - sig[$3] = substr($2,4,20) - if (max < $3 && $3 < 60) { - max = $3 - } -} - -END { - for (i=1; i<=max; i++) { - if (sig[i] == "") - printf "%d", i - else - printf "%s", sig[i] - if (i < max) - printf " " - } - printf "\n" -} -'` - shift - case $# in - 0) echo 'kill -l' >/tmp/foo$$ - set X `$csh -f </tmp/foo$$` - shift - case $# in - 0)set HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM - ;; - esac - ;; - esac - sig_name="ZERO $*" - ;; -esac -echo "Signals are: $sig_name" - -: see what type of char stdio uses. -echo " " -if $contains 'unsigned.*char.*\*.*_ptr.*;' $usrinclude/stdio.h >/dev/null 2>&1 ; then - echo "Your stdio uses unsigned chars." - stdchar="unsigned char" -else - echo "Your stdio uses signed chars." - stdchar="char" -fi - -: see what type uids are declared as in the kernel -case "$uidtype" in -'') - if $contains 'uid_t;' $usrinclude/sys/types.h >/dev/null 2>&1 ; then - dflt='uid_t'; - else - set `grep '_ruid;' $usrinclude/sys/user.h 2>/dev/null` unsigned short - case $1 in - unsigned) dflt="$1 $2" ;; - *) dflt="$1" ;; - esac - fi - ;; -*) dflt="$uidtype" - ;; -esac -cont=true -echo " " -rp="What type are user ids returned by getuid(), etc.? [$dflt]" -$echo $n "$rp $c" -. myread -uidtype="$ans" - -: check for void type -echo " " -$cat <<EOM -Checking to see how well your C compiler groks the void type... - - Support flag bits are: - 1: basic void declarations. - 2: arrays of pointers to functions returning void. - 4: operations between pointers to and addresses of void functions. - -EOM -case "$voidhave" in -'') - $cat >void.c <<'EOCP' -#if TRY & 1 -void main() { -#else -main() { -#endif - extern void moo(); /* function returning void */ - void (*goo)(); /* ptr to func returning void */ -#if TRY & 2 - void (*foo[10])(); -#endif - -#if TRY & 4 - if(goo == moo) { - exit(0); - } -#endif - exit(0); -} -EOCP - if $cc -c -DTRY=$voidwant void.c >void.out 2>&1 ; then - voidhave=$voidwant - echo "It appears to support void to the level $package wants ($voidwant)." - if $contains warning void.out >/dev/null 2>&1; then - echo "However, you might get some warnings that look like this:" - $cat void.out - fi - else - echo "Hmm, your compiler has some difficulty with void. Checking further..." - if $cc -c -DTRY=1 void.c >/dev/null 2>&1 ; then - echo "It supports 1..." - if $cc -c -DTRY=3 void.c >/dev/null 2>&1 ; then - voidhave=3 - echo "And it supports 2 but not 4." - else - echo "It doesn't support 2..." - if $cc -c -DTRY=5 void.c >/dev/null 2>&1 ; then - voidhave=5 - echo "But it supports 4." - else - voidhave=1 - echo "And it doesn't support 4." - fi - fi - else - echo "There is no support at all for void." - voidhave=0 - fi - fi -esac -dflt="$voidhave"; -rp="Your void support flags add up to what? [$dflt]" -$echo $n "$rp $c" -. myread -voidhave="$ans" - -: preserve RCS keywords in files with variable substitution, grrr -Log='$Log' -Header='$Header' -Id='$Id' -Author='$Author' -Date='$Date' -Locker='$Locker' -RCSfile='$RCSfile' -Revision='$Revision' -Source='$Source' -State='$State' - - -: determine compiler compiler -case "$yacc" in -'') if xenix; then - dflt=yacc - else - dflt='yacc -Sm25000' - fi - ;; -*) dflt="$yacc";; -esac -cont=true - echo " " -rp="Which compiler compiler (yacc or bison -y) will you use? [$dflt]" -$echo $n "$rp $c" -. myread -case "$ans" in -'') ans="$dflt";; -esac -yacc="$ans" - -: see if we can include fcntl.h -echo " " -if $h_fcntl; then - val="$define" - echo "We'll be including <fcntl.h>." -else - 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 - val="$define" - echo "gdbm.h found." -else - 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 - val="$define" - echo "grp.h found." -else - 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 - val="$define" - val2="$undef" - echo "netinet/in.h found." -else - val="$undef" - echo "No netinet/in.h found, ..." - xxx=`./loc sys/in.h x $usrinclude /usr/local/include $inclwanted` - if test -f $xxx; then - val2="$define" - echo "but I found sys/in.h instead." - else - 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 - val="$define" - echo "We'll be including <sys/file.h>." -else - 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 - val="$define" - echo "sys/ioctl.h found." -else - 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 - val="$define" - echo "utime.h found." -else - 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 - val="$define" - echo "varargs.h found." -else - 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 - val="$define" - echo "vfork.h found." -else - val="$undef" - echo "No vfork.h found." -fi -set i_vfork -eval $setvar - -: end of configuration questions -echo " " -echo "End of configuration questions." -echo " " - -: create config.sh file -echo " " -if test -d ../UU; then - cd .. -fi -echo "Creating config.sh..." -test -f config.sh && cp config.sh UU/oldconfig.sh -$spitshell <<EOT >config.sh -$startsh -# config.sh -# This file was produced by running the Configure script. -d_eunice='$d_eunice' -define='$define' -eunicefix='$eunicefix' -loclist='$loclist' -expr='$expr' -sed='$sed' -echo='$echo' -cat='$cat' -rm='$rm' -mv='$mv' -cp='$cp' -tail='$tail' -tr='$tr' -mkdir='$mkdir' -sort='$sort' -uniq='$uniq' -grep='$grep' -trylist='$trylist' -test='$test' -inews='$inews' -egrep='$egrep' -more='$more' -pg='$pg' -Mcc='$Mcc' -vi='$vi' -mailx='$mailx' -mail='$mail' -cpp='$cpp' -perl='$perl' -emacs='$emacs' -ls='$ls' -rmail='$rmail' -sendmail='$sendmail' -shar='$shar' -smail='$smail' -tbl='$tbl' -troff='$troff' -nroff='$nroff' -uname='$uname' -uuname='$uuname' -line='$line' -chgrp='$chgrp' -chmod='$chmod' -lint='$lint' -sleep='$sleep' -pr='$pr' -tar='$tar' -ln='$ln' -lpr='$lpr' -lp='$lp' -touch='$touch' -make='$make' -date='$date' -csh='$csh' -bash='$bash' -ksh='$ksh' -lex='$lex' -flex='$flex' -bison='$bison' -Log='$Log' -Header='$Header' -Id='$Id' -lastuname='$lastuname' -alignbytes='$alignbytes' -bin='$bin' -installbin='$installbin' -byteorder='$byteorder' -contains='$contains' -cppstdin='$cppstdin' -cppminus='$cppminus' -d_bcmp='$d_bcmp' -d_bcopy='$d_bcopy' -d_safebcpy='$d_safebcpy' -d_bzero='$d_bzero' -d_castneg='$d_castneg' -castflags='$castflags' -d_charsprf='$d_charsprf' -d_chsize='$d_chsize' -d_crypt='$d_crypt' -cryptlib='$cryptlib' -d_csh='$d_csh' -d_dosuid='$d_dosuid' -d_dup2='$d_dup2' -d_fchmod='$d_fchmod' -d_fchown='$d_fchown' -d_fcntl='$d_fcntl' -d_flexfnam='$d_flexfnam' -d_flock='$d_flock' -d_getgrps='$d_getgrps' -d_gethent='$d_gethent' -d_getpgrp='$d_getpgrp' -d_getpgrp2='$d_getpgrp2' -d_getprior='$d_getprior' -d_htonl='$d_htonl' -d_index='$d_index' -d_isascii='$d_isascii' -d_killpg='$d_killpg' -d_lstat='$d_lstat' -d_memcmp='$d_memcmp' -d_memcpy='$d_memcpy' -d_safemcpy='$d_safemcpy' -d_memmove='$d_memmove' -d_memset='$d_memset' -d_mkdir='$d_mkdir' -d_msg='$d_msg' -d_msgctl='$d_msgctl' -d_msgget='$d_msgget' -d_msgrcv='$d_msgrcv' -d_msgsnd='$d_msgsnd' -d_ndbm='$d_ndbm' -d_odbm='$d_odbm' -d_open3='$d_open3' -d_readdir='$d_readdir' -d_rename='$d_rename' -d_rewindir='$d_rewindir' -d_rmdir='$d_rmdir' -d_seekdir='$d_seekdir' -d_select='$d_select' -d_sem='$d_sem' -d_semctl='$d_semctl' -d_semget='$d_semget' -d_semop='$d_semop' -d_setegid='$d_setegid' -d_seteuid='$d_seteuid' -d_setpgrp='$d_setpgrp' -d_setpgrp2='$d_setpgrp2' -d_setprior='$d_setprior' -d_setregid='$d_setregid' -d_setresgid='$d_setresgid' -d_setreuid='$d_setreuid' -d_setresuid='$d_setresuid' -d_setrgid='$d_setrgid' -d_setruid='$d_setruid' -d_shm='$d_shm' -d_shmat='$d_shmat' -d_voidshmat='$d_voidshmat' -d_shmctl='$d_shmctl' -d_shmdt='$d_shmdt' -d_shmget='$d_shmget' -d_socket='$d_socket' -d_sockpair='$d_sockpair' -d_oldsock='$d_oldsock' -socketlib='$socketlib' -d_statblks='$d_statblks' -d_stdstdio='$d_stdstdio' -d_strctcpy='$d_strctcpy' -d_strerror='$d_strerror' -d_symlink='$d_symlink' -d_syscall='$d_syscall' -d_telldir='$d_telldir' -d_truncate='$d_truncate' -d_vfork='$d_vfork' -d_voidsig='$d_voidsig' -d_tosignal='$d_tosignal' -d_volatile='$d_volatile' -d_vprintf='$d_vprintf' -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' -i_niin='$i_niin' -i_sysin='$i_sysin' -i_pwd='$i_pwd' -d_pwquota='$d_pwquota' -d_pwage='$d_pwage' -d_pwchange='$d_pwchange' -d_pwclass='$d_pwclass' -d_pwexpire='$d_pwexpire' -d_pwcomment='$d_pwcomment' -i_sys_file='$i_sys_file' -i_sysioctl='$i_sysioctl' -i_time='$i_time' -i_sys_time='$i_sys_time' -i_sys_select='$i_sys_select' -d_systimekernel='$d_systimekernel' -i_utime='$i_utime' -i_varargs='$i_varargs' -i_vfork='$i_vfork' -intsize='$intsize' -libc='$libc' -nm_opts='$nm_opts' -libndir='$libndir' -i_my_dir='$i_my_dir' -i_ndir='$i_ndir' -i_sys_ndir='$i_sys_ndir' -i_dirent='$i_dirent' -i_sys_dir='$i_sys_dir' -d_dirnamlen='$d_dirnamlen' -ndirc='$ndirc' -ndiro='$ndiro' -mallocsrc='$mallocsrc' -mallocobj='$mallocobj' -d_mymalloc='$d_mymalloc' -mallocptrtype='$mallocptrtype' -mansrc='$mansrc' -manext='$manext' -models='$models' -split='$split' -small='$small' -medium='$medium' -large='$large' -huge='$huge' -optimize='$optimize' -ccflags='$ccflags' -cppflags='$cppflags' -ldflags='$ldflags' -cc='$cc' -nativegcc='$nativegcc' -libs='$libs' -n='$n' -c='$c' -package='$package' -randbits='$randbits' -scriptdir='$scriptdir' -installscr='$installscr' -sig_name='$sig_name' -spitshell='$spitshell' -shsharp='$shsharp' -sharpbang='$sharpbang' -startsh='$startsh' -stdchar='$stdchar' -uidtype='$uidtype' -usrinclude='$usrinclude' -inclPath='$inclPath' -void='$void' -voidhave='$voidhave' -voidwant='$voidwant' -w_localtim='$w_localtim' -w_s_timevl='$w_s_timevl' -w_s_tm='$w_s_tm' -yacc='$yacc' -lib='$lib' -privlib='$privlib' -installprivlib='$installprivlib' -EOT - -test -f patchlevel.h && awk '{printf "%s=%s\n",$2,$3}' patchlevel.h >>config.sh -echo "CONFIG=true" >>config.sh - -if test -f UU/oldconfig.sh; then - sed -n 's/^\([a-zA-Z_0-9]*\)=.*/\1/p' config.sh config.sh UU/oldconfig.sh |\ - sort | uniq -u >UU/oldsyms - set X `cat UU/oldsyms` - shift - case $# in - 0) ;; - *) echo "Hmm...You had some extra variables I don't know about...I'll try to keep 'em..." - for sym in `cat UU/oldsyms`; do - echo " Propagating $hint variable "'$'"$sym..." - eval 'tmp="$'"${sym}"'"' - echo "$tmp" | \ - sed -e "s/'/'\"'\"'/g" -e "s/^/$sym='/" -e "s/$/'/" >>config.sh - done - ;; - esac -fi - -: Finish up -CONFIG=true - -echo " " -dflt='' -fastread='' -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:" -$echo $n "$rp $c" -. UU/myread -case "$ans" in -'') ;; -*) : in case they cannot read - eval $ans;; -esac -chmod +x doSH -./doSH - -if $contains '^depend:' [Mm]akefile >/dev/null 2>&1; then - dflt=n - $cat <<EOM - -Now you need to generate make dependencies by running "make depend". -You might prefer to run it in background: "make depend > makedepend.out &" -It can take a while, so you might not want to run it right now. - -EOM - rp="Run make depend now? [$dflt]" - $echo $n "$rp $c" - . UU/myread - case "$ans" in - y*) make depend && echo "Now you must run a make." - ;; - *) echo "You must run 'make depend' then 'make'." - ;; - esac -elif test -f [Mm]akefile; then - echo " " - echo "Now you must run a make." -else - echo "Done." -fi - -$rm -f kit*isdone -$rm -rf UU -: end of Configure |