summaryrefslogtreecommitdiff
path: root/Configure
diff options
context:
space:
mode:
Diffstat (limited to 'Configure')
-rwxr-xr-xConfigure4055
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