From: Ari Johnson Date: Fri, 2 Mar 2007 15:23:17 +0000 (+0000) Subject: Removed metaconfig-generated files and textfile indexes from repository; added metaco... X-Git-Tag: 0.73~95 X-Git-Url: https://git.theari.com/?a=commitdiff_plain;h=ad5a7962dd61e23046ee95327e94ccf39d8fa5b9;p=cobramush.git Removed metaconfig-generated files and textfile indexes from repository; added metaconfig sources and distribution scripts --- diff --git a/.package b/.package new file mode 100644 index 0000000..2542d30 --- /dev/null +++ b/.package @@ -0,0 +1,32 @@ +: This file was created by running packinit on Fri Mar 2 09:50:32 EST 2007. +: Do not hand edit -- run packinit again if changes are to be made. +packver='3.036' +: Basic variables +package=CobraMUSH +baserev=1.1 +patchbranch=1 +copyright=' ' +mydiff='' +maintname='CobraMUSH Development Team' +maintloc='devteam@cobramush.org' +ftpsite='cobramush.org' +orgname='' +newsgroups='' +recipients='' +ftpdir='' +mailagent='false' +changelog=' ' +changercs=0 +: File lookup extensions +cext='' +shext='' +: Mailing list variables +list_users='false' +list_name='' +list_addr='' +list_request='' +list_manager='' +list_sub='' +list_unsub='' +: Derivative variables -- do not change +revbranch="$baserev.$patchbranch" diff --git a/Configure b/Configure deleted file mode 100644 index 651d05c..0000000 --- a/Configure +++ /dev/null @@ -1,7365 +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 have a look at the prototypical config_h.SH file -# and edit it to reflect your system. Some packages may include samples -# of config.h for certain machines, so you might look for one of those.) -# -# Yes, you may rip this off to use in other distribution packages. This -# script belongs to the public domain and cannot be copyrighted. -# -# (Note: this Configure script was generated automatically. Rather than -# working with this copy of Configure, you may wish to get metaconfig. -# The dist-3.0 package (which contains metaconfig) was posted in -# comp.sources.misc and is available on CPAN under authors/id/RAM so -# you may fetch it yourself from your nearest archive site.) -# - -# $Id: Head.U 1.3 Mon, 10 Nov 2003 14:51:32 -0600 dunemush $ -# -# Generated on Mon Sep 11 02:11:00 EDT 2006 [metaconfig 3.0 PL70] - -cat >/tmp/c1$$ </tmp/c2$$ </dev/null` - test "$me" || me=$0 - ;; -esac - -: Proper PATH separator -p_=: -: On OS/2 this directory should exist if this is not floppy only system :-] -if test -d c:/.; then - : Check for cygwin32 emulation - case "x$OSTYPE$OS" in - x*msys*Windows*) - echo 'Running on Windows? Using the MinGW MSys tools...' - ;; - x*win32*) - echo 'Running on Windows? Assuming cygwin32 emulation tools...' - ;; - x*windows*) - echo 'Running on Windows? Assuming cygwin32 emulation tools...' - ;; - x*cygwin*) - echo 'Looks like cygwin32...' - ;; - x*) - p_=\; - PATH=`cmd /c "echo %PATH%" | tr '\\\\' / ` - OS2_SHELL=`cmd /c "echo %OS2_SHELL%" | tr '\\\\' / | tr '[A-Z]' '[a-z]'` - ;; - esac -fi - -: Proper PATH setting -paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin' -paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin" -paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin" -paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin" -paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb" -paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /usr/ccs/bin" -paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib" -paths="$paths /sbin /usr/sbin /usr/libexec /gnuwin32/b18/H-i386-cygwin32/bin" - -case "x$OSTYPE$OS" in - x*msys*Windows*) - PATH='/usr/local/bin:/mingw/bin:/bin:/perl/bin' - ;; - x*) - for p in $paths - do - case "$p_$PATH$p_" in - *$p_$p$p_*) ;; - *) test -d $p && PATH=$PATH$p_$p ;; - esac - done - - PATH=.$p_$PATH - export PATH - ;; -esac - -: shall we be using ksh? -inksh='' -needksh='' -avoidksh='' -newsh=/bin/ksh -changesh='' -if (PATH=.; alias -x) >/dev/null 2>&1; then - inksh=true -fi -if test -f /hp-ux -a -f /bin/ksh; then - needksh='to avoid sh bug in "here document" expansion' -fi -if test -d /usr/lpp -a -f /usr/bin/bsh -a -f /usr/bin/uname; then - if test X`/usr/bin/uname -v` = X4; then - avoidksh="to avoid AIX 4's /bin/sh" - newsh=/usr/bin/bsh - fi -fi -case "$inksh/$needksh" in -/[a-z]*) - unset ENV - changesh=true - reason="$needksh" - ;; -esac -case "$inksh/$avoidksh" in -true/[a-z]*) - changesh=true - reason="$avoidksh" - ;; -esac -case "$inksh/$needksh-$avoidksh-" in -true/--) - cat <&2 -$me: Fatal Error: I can't find a Bourne Shell anywhere. - -Usually it's in /bin/sh. How did you even get this far? -Please contact me (Nveid) at devteam@cobramush.org and -we'll try to straighten this all out. -EOM - exit 1 - ;; -esac - -: see if sh knows # comments -if `$sh -c '#' >/dev/null 2>&1`; then - shsharp=true - spitshell=cat - xcat=/bin/cat - test -f $xcat || xcat=/usr/bin/cat - echo "#!$xcat" >try - $eunicefix try - chmod +x try - ./try > today - if test -s today; then - sharpbang='#!' - else - echo "#! $xcat" > try - $eunicefix try - chmod +x try - ./try > today - if test -s today; then - sharpbang='#! ' - else - sharpbang=': use ' - fi - fi -else - echo " " - echo "Your $sh doesn't grok # comments--I will strip them later on." - shsharp=false - cd .. - echo "exec grep -v '^[ ]*#'" >spitshell - chmod +x spitshell - $eunicefix spitshell - spitshell=`pwd`/spitshell - cd UU - echo "I presume that if # doesn't work, #! won't work either!" - sharpbang=': use ' -fi -rm -f try today - -: figure out how to guarantee sh startup -case "$startsh" in -'') startsh=${sharpbang}${sh} ;; -*) -esac -cat >try <options.awk <<'EOF' -BEGIN { - optstr = "dD:eEf:hKOrsSU:V"; # getopt-style specification - - len = length(optstr); - for (i = 1; i <= len; i++) { - c = substr(optstr, i, 1); - if (i < len) a = substr(optstr, i + 1, 1); else a = ""; - if (a == ":") { - arg[c] = 1; - i++; - } - opt[c] = 1; - } -} -{ - expect = 0; - str = $0; - if (substr(str, 1, 1) != "-") { - printf("'%s'\n", str); - next; - } - len = length($0); - for (i = 2; i <= len; i++) { - c = substr(str, i, 1); - if (!opt[c]) { - printf("-%s\n", substr(str, i)); - next; - } - printf("-%s\n", c); - if (arg[c]) { - if (i < len) - printf("'%s'\n", substr(str, i + 1)); - else - expect = 1; - next; - } - } -} -END { - if (expect) - print "?"; -} -EOF - -: process the command line options -set X `for arg in "$@"; do echo "X$arg"; done | - sed -e s/X// | awk -f options.awk` -eval "set $*" -shift -rm -f options.awk - -: set up default values -fastread='' -reuseval=false -config_sh='' -alldone='' -error='' -silent='' -extractsh='' -override='' -knowitall='' -rm -f optdef.sh -cat >optdef.sh <&2 - error=true - fi - cd UU - shift;; - -h) shift; error=true;; - -r) shift; reuseval=true;; - -s) shift; silent=true; realsilent=true;; - -E) shift; alldone=exit;; - -K) shift; knowitall=true;; - -O) shift; override=true;; - -S) shift; silent=true; extractsh=true;; - -D) - shift - case "$1" in - *=) - echo "$me: use '-U symbol=', not '-D symbol='." >&2 - echo "$me: ignoring -D $1" >&2 - ;; - *=*) echo "$1" | \ - sed -e "s/'/'\"'\"'/g" -e "s/=\(.*\)/='\1'/" >> optdef.sh;; - *) echo "$1='define'" >> optdef.sh;; - esac - shift - ;; - -U) - shift - case "$1" in - *=) echo "$1" >> optdef.sh;; - *=*) - echo "$me: use '-D symbol=val', not '-U symbol=val'." >&2 - echo "$me: ignoring -U $1" >&2 - ;; - *) echo "$1='undef'" >> optdef.sh;; - esac - shift - ;; - -V) echo "$me generated by metaconfig 3.0 PL70." >&2 - exit 0;; - --) break;; - -*) echo "$me: unknown option $1" >&2; shift; error=true;; - *) break;; - esac -done - -case "$error" in -true) - cat >&2 <&1 -case "$silent" in -true) exec 1>/dev/null;; -esac - -: run the defines and the undefines, if any, but leave the file out there... -touch optdef.sh -. ./optdef.sh - -: set package name -package=cobramush - -: Some greps do not return status, grrr. -echo "grimblepritz" >grimble -if grep blurfldyick grimble >/dev/null 2>&1 ; then - contains=contains -elif grep grimblepritz grimble >/dev/null 2>&1 ; then - contains=grep -else - contains=contains -fi -rm -f grimble -: the following should work in any shell -case "$contains" in -contains*) - echo " " - echo "AGH! Grep doesn't return a status. Attempting remedial action." - cat >contains <<'EOSS' -grep "$1" "$2" >.greptmp && cat .greptmp && test -s .greptmp -EOSS -chmod +x contains -esac - -: first determine how to suppress newline on echo command -echo " " -echo "Checking echo to see how to suppress newlines..." -(echo "hi there\c" ; echo " ") >.echotmp -if $contains c .echotmp >/dev/null 2>&1 ; then - echo "...using -n." - n='-n' - c='' -else - cat <<'EOM' -...using \c -EOM - n='' - c='\c' -fi -echo $n "The star should be here-->$c" -echo '*' -rm -f .echotmp - -: compute the number of columns on the terminal for proper question formatting -case "$COLUMNS" in -'') COLUMNS='80';; -esac - -: set up the echo used in my read -myecho="case \"\$xxxm\" in -'') echo $n \"\$rp $c\" >&4;; -*) case \"\$rp\" in - '') echo $n \"[\$xxxm] $c\";; - *) - if test \`echo \"\$rp [\$xxxm] \" | wc -c\` -ge $COLUMNS; then - echo \"\$rp\" >&4 - echo $n \"[\$xxxm] $c\" >&4 - else - echo $n \"\$rp [\$xxxm] $c\" >&4 - fi - ;; - esac;; -esac" - -: now set up to do reads with possible shell escape and default assignment -cat <myread -$startsh -xxxm=\$dflt -$myecho -ans='!' -case "\$fastread" in -yes) case "\$dflt" in - '') ;; - *) ans=''; - case "\$silent-\$rp" in - true-) ;; - *) echo " " >&4;; - esac;; - esac;; -*) case "\$silent" in - true) case "\$rp" in - '') ans='';; - esac;; - esac;; -esac -while expr "X\$ans" : "X!" >/dev/null; do - read answ - set x \$xxxm - shift - aok=''; eval "ans=\\"\$answ\\"" && aok=y - case "\$answ" in - "!") - sh 1>&4 - echo " " - $myecho - ;; - !*) - set x \`expr "X\$ans" : "X!\(.*\)\$"\` - shift - sh 1>&4 -c "\$*" - echo " " - $myecho - ;; - "\$ans") - case "\$ans" in - \\&*) - set x \`expr "X\$ans" : "X&\(.*\)\$"\` - shift - case "\$1" in - -d) - fastread=yes - echo "(OK, I'll run with -d after this question.)" >&4 - ;; - -*) - echo "*** Sorry, \$1 not supported yet." >&4 - ;; - esac - $myecho - ans=! - ;; - esac;; - *) - case "\$aok" in - y) - echo "*** Substitution done -- please confirm." - xxxm="\$ans" - ans=\`echo $n "\$ans$c" | tr '\012' ' '\` - xxxm="\$ans" - ans=! - ;; - *) - echo "*** Error -- try again." - ans=! - ;; - esac - $myecho - ;; - esac - case "\$ans\$xxxm\$nostick" in - '') - ans=! - $myecho - ;; - esac -done -case "\$ans" in -'') ans="\$xxxm";; -esac -EOSC - -: Find the path to the source tree -case "$src" in -'') src=`echo $0 | sed -e 's%/[^/][^/]*$%%'`;; -esac -case "$src" in -'') - src=. - rsrc=.. - ;; -/*) rsrc="$src/..";; -*) rsrc="../$src";; -esac -if test -f $rsrc/Configure && \ - $contains "^package=$package" $rsrc/Configure >/dev/null 2>&1 -then - : found it, so we are ok. -else - rsrc='' - for src in . .. ../.. ../../.. ../../../..; do - if test -f ../$src/Configure && \ - $contains "^package=$package" ../$src/Configure >/dev/null 2>&1 - then - rsrc=../$src - break - fi - done -fi -case "$rsrc" in -'') - echo " " - dflt= - rp="Directory where sources for $package are located?" - . ./myread - src="$ans" - rsrc="$src" - if test -f $rsrc/Configure && \ - $contains "^package=$package" $rsrc/Configure >/dev/null 2>&1 - then - echo "Ok, I've found them under $src" - else - echo "Sorry, I can't seem to be able to locate $package sources." >&4 - exit 1 - fi - ;; -../.) ;; -*) - echo " " - echo "Sources for $package found in $src" >&4 - ;; -esac - -: script used to extract .SH files with variable substitutions -cat >extract <<'EOS' -CONFIG=true -echo "Doing variable substitutions on .SH files..." -if test -f $src/MANIFEST; then - set x `awk '{print $1}' <$src/MANIFEST | grep '\.SH'` -else - echo "(Looking for .SH files under the source directory.)" - set x `(cd $src; find . -name "*.SH" -print)` -fi -shift -case $# in -0) set x `(cd $src; echo *.SH)`; shift;; -esac -if test ! -f $src/$1; then - shift -fi -mkdir_p=' -name=$1; -create=""; -while test $name; do - if test ! -d "$name"; then - create="$name $create"; - name=`echo $name | sed -e "s|^[^/]*$||"`; - name=`echo $name | sed -e "s|\(.*\)/.*|\1|"`; - else - name=""; - fi; -done; -for file in $create; do - mkdir $file; -done -' -for file in $*; do - case "$src" in - ".") - case "$file" in - */*) - dir=`expr X$file : 'X\(.*\)/'` - file=`expr X$file : 'X.*/\(.*\)'` - (cd $dir && . ./$file) - ;; - *) - . ./$file - ;; - esac - ;; - *) - case "$file" in - */*) - dir=`expr X$file : 'X\(.*\)/'` - file=`expr X$file : 'X.*/\(.*\)'` - (set x $dir; shift; eval $mkdir_p) - sh <$src/$dir/$file - ;; - *) - sh <$src/$file - ;; - esac - ;; - esac -done -if test -f $src/config_h.SH; then - if test ! -f config.h; then - : oops, they left it out of MANIFEST, probably, so do it anyway. - . $src/config_h.SH - fi -fi -EOS - -: extract files and exit if asked to do so -case "$extractsh" in -true) - case "$realsilent" in - true) ;; - *) exec 1>&4;; - esac - case "$config_sh" in - '') config_sh='config.sh'; config="$rsrc/config.sh";; - /*) config="$config_sh";; - *) config="$rsrc/$config_sh";; - esac - echo " " - echo "Fetching answers from $config_sh..." - . $config - test "$override" && . ./optdef.sh - echo " " - cd .. - . UU/extract - rm -rf UU - echo "Done." - exit 0 - ;; -esac - -: Eunice requires " " instead of "", can you believe it -echo " " -: Here we go... -echo "Beginning of configuration questions for $package." - -trap 'echo " "; test -d ../UU && rm -rf X $rmlist; exit 1' 1 2 3 15 - -: Now test for existence of everything in MANIFEST -echo " " -if test -f $rsrc/MANIFEST; then - echo "First let's make sure your kit is complete. Checking..." >&4 - awk '$1 !~ /PACK[A-Z]+/ {print $1}' $rsrc/MANIFEST | split -50 - rm -f missing - tmppwd=`pwd` - for filelist in x??; do - (cd $rsrc; ls `cat $tmppwd/$filelist` >/dev/null 2>>$tmppwd/missing) - done - if test -s missing; then - cat missing >&4 - cat >&4 <<'EOM' - -THIS PACKAGE SEEMS TO BE INCOMPLETE. - -You have the option of continuing the configuration process, despite the -distinct possibility that your kit is damaged, by typing 'y'es. If you -do, don't blame me if something goes wrong. I advise you to type 'n'o -and contact the author (devteam@cobramush.org). - -EOM - echo $n "Continue? [n] $c" >&4 - read ans - case "$ans" in - y*) - echo "Continuing..." >&4 - rm -f missing - ;; - *) - echo "ABORTING..." >&4 - kill $$ - ;; - esac - else - echo "Looks good..." - fi -else - echo "There is no MANIFEST file. I hope your kit is complete !" -fi -rm -f missing x?? - -: create .config dir to save info across Configure sessions -test -d ../.config || mkdir ../.config -cat >../.config/README </dev/null` -case "$user" in -'') user=`whoami 2>&1`;; -esac -if $contains "^$user\$" ../.config/instruct >/dev/null 2>&1; then - firsttime=false - echo " " - rp='Would you like to see the instructions?' - dflt=n - . ./myread - case "$ans" in - [yY]*) ;; - *) needman=false;; - esac -fi -if $needman; then - cat <>../.config/instruct;; - esac -fi - -: find out where common programs are -echo " " -echo "Locating common programs..." >&4 -cat <loc -$startsh -case \$# in -0) exit 1;; -esac -thing=\$1 -shift -dflt=\$1 -shift -for dir in \$*; do - case "\$thing" in - .) - if test -d \$dir/\$thing; then - echo \$dir - exit 0 - fi - ;; - *) - for thisthing in \$dir/\$thing; do - : just loop through to pick last item - done - if test -f \$thisthing; then - echo \$thisthing - exit 0 - elif test -f \$dir/\$thing.exe; then - : on Eunice apparently - echo \$dir/\$thing - exit 0 - fi - ;; - esac -done -echo \$dflt -exit 1 -EOSC -chmod +x loc -$eunicefix loc -loclist=" -awk -cat -chmod -comm -cp -echo -expr -grep -make -mkdir -rm -sed -sort -touch -tr -uniq -" -trylist=" -Mcc -cpp -date -line -ln -mail -perl -rmail -sendmail -smail -test -uname -uptime -" -pth=`echo $PATH | sed -e "s/$p_/ /g"` -pth="$pth /lib /usr/lib" -for file in $loclist; do - eval xxx=\$$file - case "$xxx" in - /*|?:[\\/]*) - if test -f "$xxx"; then - : ok - else - echo "WARNING: no $xxx -- ignoring your setting for $file." >&4 - xxx=`./loc $file $file $pth` - fi - ;; - '') xxx=`./loc $file $file $pth`;; - *) xxx=`./loc $xxx $xxx $pth`;; - esac - eval $file=$xxx - eval _$file=$xxx - case "$xxx" in - /*) - echo $file is in $xxx. - ;; - ?:[\\/]*) - echo $file is in $xxx. - ;; - *) - echo "I don't know where '$file' is, and my life depends on it." >&4 - echo "Go find a public domain implementation or fix your PATH setting!" >&4 - exit 1 - ;; - esac -done -echo " " -echo "Don't worry if any of the following aren't found..." -say=offhand -for file in $trylist; do - eval xxx=\$$file - case "$xxx" in - /*|?:[\\/]*) - if test -f "$xxx"; then - : ok - else - echo "WARNING: no $xxx -- ignoring your setting for $file." >&4 - xxx=`./loc $file $file $pth` - fi - ;; - '') xxx=`./loc $file $file $pth`;; - *) xxx=`./loc $xxx $xxx $pth`;; - esac - eval $file=$xxx - eval _$file=$xxx - case "$xxx" in - /*) - echo $file is in $xxx. - ;; - ?:[\\/]*) - echo $file is in $xxx. - ;; - *) - echo "I don't see $file out there, $say." - say=either - ;; - esac -done -case "$egrep" in -egrep) - echo "Substituting grep for egrep." - egrep=$grep - ;; -esac -case "$ln" in -ln) - echo "Substituting cp for ln." - ln=$cp - ;; -esac -case "$test" in -test) - echo "Hopefully test is built into your sh." - ;; -*) - if `sh -c "PATH= test true" >/dev/null 2>&1`; then - echo "Using the test built into your sh." - test=test - _test=test - fi - ;; -esac -case "$echo" in -echo) - echo "Hopefully echo is built into your sh." - ;; -'') ;; -*) - echo " " -echo "Checking compatibility between $echo and builtin echo (if any)..." >&4 - $echo $n "hi there$c" >foo1 - echo $n "hi there$c" >foo2 - if cmp foo1 foo2 >/dev/null 2>&1; then - echo "They are compatible. In fact, they may be identical." - else - case "$n" in - '-n') n='' c='\c';; - *) n='-n' c='';; - esac - cat <$c" - $echo "*" - fi - $rm -f foo1 foo2 - ;; -esac - -: determine whether symbolic links are supported -echo " " -$touch blurfl -if $ln -s blurfl sym > /dev/null 2>&1 ; then - echo "Symbolic links are supported." >&4 - lns="$ln -s" -else - echo "Symbolic links are NOT supported." >&4 - lns="$ln" -fi -$rm -f blurfl sym - -: see whether [:lower:] and [:upper:] are supported character classes -echo " " -up='[A-Z]' -low='[a-z]' -case "`echo AbyZ | $tr '[:lower:]' '[:upper:]' 2>/dev/null`" in -ABYZ) - echo "Good, your tr supports [:lower:] and [:upper:] to convert case." >&4 - up='[:upper:]' - low='[:lower:]' - ;; -*) - echo "Your tr only supports [a-z] and [A-Z] to convert case." >&4 - ;; -esac -: set up the translation script tr, must be called with ./tr of course -cat >tr </dev/null || hostname) 2>&1` -myuname=`echo $myuname | $sed -e 's/^[^=]*=//' -e 's/\///g' | \ - ./tr '[A-Z]' '[a-z]' | tr '\012' ' '` -newmyuname="$myuname" -dflt=n -case "$knowitall" in -'') - if test -f ../config.sh; then - if $contains myuname= ../config.sh >/dev/null 2>&1; then - eval "`grep myuname= ../config.sh`" - fi - if test "X$myuname" = "X$newmyuname"; then - dflt=y - fi - fi - ;; -*) dflt=y;; -esac - -: Get old answers from old config file if Configure was run on the -: same system, otherwise use the hints. -hint=default -cd .. -if test -f config.sh; then - echo " " - rp="I see a config.sh file. Shall I use it to set the defaults?" - . UU/myread - case "$ans" in - n*|N*) echo "OK, I'll ignore it."; mv config.sh config.sh.old;; - *) echo "Fetching default answers from your old config.sh file..." >&4 - tmp_n="$n" - tmp_c="$c" - tmp_sh="$sh" - . ./config.sh - cp config.sh UU - n="$tmp_n" - c="$tmp_c" - : Older versions did not always set $sh. Catch re-use of such - : an old config.sh. - case "$sh" in - '') sh="$tmp_sh" ;; - esac - hint=previous - ;; - esac -fi -if test ! -f config.sh; then - $cat <&4 - dflt='' - : Half the following guesses are probably wrong... If you have better - : tests or hints, please send them to devteam@cobramush.org - : The metaconfig authors would also appreciate a copy... - $test -f /irix && osname=irix - $test -f /xenix && osname=sco_xenix - $test -f /dynix && osname=dynix - $test -f /dnix && osname=dnix - $test -f /lynx.os && osname=lynxos - $test -f /unicos && osname=unicos && osvers=`$uname -r` - $test -f /unicosmk.ar && osname=unicosmk && osvers=`$uname -r` - $test -f /bin/mips && /bin/mips && osname=mips - $test -d /NextApps && set X `hostinfo | grep 'NeXT Mach.*:' | \ - $sed -e 's/://' -e 's/\./_/'` && osname=next && osvers=$4 - $test -d /usr/apollo/bin && osname=apollo - $test -f /etc/saf/_sactab && osname=svr4 - $test -d /usr/include/minix && osname=minix - if $test -d /MachTen; then - osname=machten - if $test -x /sbin/version; then - osvers=`/sbin/version | $awk '{print $2}' | - $sed -e 's/[A-Za-z]$//'` - elif $test -x /usr/etc/version; then - osvers=`/usr/etc/version | $awk '{print $2}' | - $sed -e 's/[A-Za-z]$//'` - else - osvers="$2.$3" - fi - fi - if $test -f $uname; then - set X $myuname - shift - - case "$5" in - fps*) osname=fps ;; - mips*) - case "$4" in - umips) osname=umips ;; - *) osname=mips ;; - esac;; - [23]100) osname=mips ;; - next*) osname=next ;; - news*) osname=news ;; - i386*) - if $test -f /etc/kconfig; then - osname=isc - if test "$lns" = "ln -s"; then - osvers=4 - elif $contains _SYSV3 /usr/include/stdio.h > /dev/null 2>&1 ; then - osvers=3 - elif $contains _POSIX_SOURCE /usr/include/stdio.h > /dev/null 2>&1 ; then - osvers=2 - fi - fi - ;; - esac - - case "$1" in - aix) osname=aix - tmp=`( (oslevel) 2>/dev/null || echo "not found") 2>&1` - case "$tmp" in - 'not found') osvers="$4"."$3" ;; - '<3240'|'<>3240') osvers=3.2.0 ;; - '=3240'|'>3240'|'<3250'|'<>3250') osvers=3.2.4 ;; - '=3250'|'>3250') osvers=3.2.5 ;; - *) osvers=$tmp;; - esac - ;; - *dc.osx) osname=dcosx - osvers="$3" - ;; - dnix) osname=dnix - osvers="$3" - ;; - domainos) osname=apollo - osvers="$3" - ;; - dgux) osname=dgux - osvers="$3" - ;; - dynixptx*) osname=dynixptx - osvers="$3" - ;; - freebsd) osname=freebsd - osvers="$3" ;; - genix) osname=genix ;; - hp*) osname=hpux - case "$3" in - *.08.*) osvers=9 ;; - *.09.*) osvers=9 ;; - *.10.*) osvers=10 ;; - *) osvers="$3" ;; - esac - ;; - irix*) osname=irix - case "$3" in - 4*) osvers=4 ;; - 5*) osvers=5 ;; - 6*) osvers=6 ;; - *) osvers="$3" ;; - esac - ;; - linux) osname=linux - case "$3" in - 1*) osvers=1 ;; - *) osvers="$3" ;; - esac - ;; - netbsd*) osname=netbsd - osvers="$3" - ;; - bsd386) osname=bsd386 - osvers=`$uname -r` - ;; - next*) osname=next ;; - solaris) osname=solaris - case "$3" in - 5*) osvers=`echo $3 | $sed 's/^5/2/g'` ;; - *) osvers="$3" ;; - esac - ;; - sunos) osname=sunos - case "$3" in - 5*) osname=solaris - osvers=`echo $3 | $sed 's/^5/2/g'` ;; - *) osvers="$3" ;; - esac - ;; - titanos) osname=titanos - case "$3" in - 1*) osvers=1 ;; - 2*) osvers=2 ;; - 3*) osvers=3 ;; - 4*) osvers=4 ;; - *) osvers="$3" ;; - esac - ;; - ultrix) osname=ultrix - osvers="$3" - ;; - osf1|mls+) case "$5" in - alpha) - osname=dec_osf - osvers=`echo "$3" | sed 's/^[vt]//'` - ;; - hp*) osname=hp_osf1 ;; - mips) osname=mips_osf1 ;; - esac - ;; - uts) osname=uts - osvers="$3" - ;; - qnx) osname=qnx - osvers="$4" - ;; - mingw32*) osname=mingw32 - osvers="$3" - ;; - $2) case "$osname" in - *isc*) ;; - *freebsd*) ;; - svr*) - : svr4.x or possibly later - case "svr$3" in - ${osname}*) - osname=svr$3 - osvers=$4 - ;; - esac - case "$osname" in - svr4.0) - : Check for ESIX - if test -f /stand/boot ; then - eval `grep '^INITPROG=[a-z/0-9]*$' /stand/boot` - if test -n "$INITPROG" -a -f "$INITPROG"; then - isesix=`strings -a $INITPROG|grep 'ESIX SYSTEM V/386 Release 4.0'` - if test -n "$isesix"; then - osname=esix4 - fi - fi - fi - ;; - esac - ;; - *) if test -f /etc/systemid; then - osname=sco - set `echo $3 | $sed 's/\./ /g'` $4 - if $test -f sco_$1_$2_$3.sh; then - osvers=$1.$2.$3 - elif $test -f sco_$1_$2.sh; then - osvers=$1.$2 - elif $test -f sco_$1.sh; then - osvers=$1 - fi - else - case "$osname" in - '') : Still unknown. Probably a generic Sys V. - osname="sysv" - osvers="$3" - ;; - esac - fi - ;; - esac - ;; - *) case "$osname" in - '') : Still unknown. Probably a generic BSD. - osname="$1" - osvers="$3" - ;; - esac - ;; - esac - else - if test -f /vmunix -a -f $src/hints/news_os.sh; then - (what /vmunix | UU/tr '[A-Z]' '[a-z]') > UU/kernel.what 2>&1 - if $contains news-os UU/kernel.what >/dev/null 2>&1; then - osname=news_os - fi - $rm -f UU/kernel.what - elif test -d c:/.; then - : Check for cygwin32 emulation - case "x$OS" in - xWindows_*) - set X $myuname - osname=win32 - osvers="$3" - ;; - x*) - set X $myuname - osname=os2 - osvers="$5" - ;; - esac - fi - fi - case "x$osname" in - xcygwin32*) - osname=win32 - ;; - esac - - : Now look for a hint file osname_osvers, unless one has been - : specified already. - case "$hintfile" in - ''|' ') - file=`echo "${osname}_${osvers}" | $sed -e 's@\.@_@g' -e 's@_$@@'` - : Also try without trailing minor version numbers. - xfile=`echo $file | $sed -e 's@_[^_]*$@@'` - xxfile=`echo $xfile | $sed -e 's@_[^_]*$@@'` - xxxfile=`echo $xxfile | $sed -e 's@_[^_]*$@@'` - xxxxfile=`echo $xxxfile | $sed -e 's@_[^_]*$@@'` - case "$file" in - '') dflt=none ;; - *) case "$osvers" in - '') dflt=$file - ;; - *) if $test -f $src/hints/$file.sh ; then - dflt=$file - elif $test -f $src/hints/$xfile.sh ; then - dflt=$xfile - elif $test -f $src/hints/$xxfile.sh ; then - dflt=$xxfile - elif $test -f $src/hints/$xxxfile.sh ; then - dflt=$xxxfile - elif $test -f $src/hints/$xxxxfile.sh ; then - dflt=$xxxxfile - elif $test -f "$src/hints/${osname}.sh" ; then - dflt="${osname}" - else - dflt=none - fi - ;; - esac - ;; - esac - ;; - *) - dflt=`echo $hintfile | $sed 's/\.sh$//'` - ;; - esac - - $cat <> UU/config.sh - elif $test X$tans = X -o X$tans = Xnone ; then - : nothing - else - : Give one chance to correct a possible typo. - echo "$file.sh does not exist" - dflt=$file - rp="hint to use instead?" - . UU/myread - for file in $ans; do - if $test -f "$src/hints/$file.sh"; then - . $src/hints/$file.sh - $cat $src/hints/$file.sh >> UU/config.sh - elif $test X$ans = X -o X$ans = Xnone ; then - : nothing - else - echo "$file.sh does not exist -- ignored." - fi - done - fi - done - - hint=recommended - : Remember our hint file for later. - if $test -f "$src/hints/$file.sh" ; then - hintfile="$file" - else - hintfile='' - fi -fi -cd UU -;; -*) - echo " " - echo "Fetching default answers from $config_sh..." >&4 - tmp_n="$n" - tmp_c="$c" - cd .. - cp $config_sh config.sh 2>/dev/null - chmod +w config.sh - . ./config.sh - cd UU - cp ../config.sh . - n="$tmp_n" - c="$tmp_c" - hint=previous - ;; -esac -test "$override" && . ./optdef.sh -myuname="$newmyuname" - -: Restore computed paths -for file in $loclist $trylist; do - eval $file="\$_$file" -done - -cat << EOM - -Configure uses the operating system name and version to set some defaults. -The default value is probably right if the name rings a bell. Otherwise, -since spelling matters for me, either accept the default or answer "none" -to leave it blank. - -EOM -case "$osname" in - ''|' ') - case "$hintfile" in - ''|' '|none) dflt=none ;; - *) dflt=`echo $hintfile | $sed -e 's/\.sh$//' -e 's/_.*$//'` ;; - esac - ;; - *) dflt="$osname" ;; -esac -rp="Operating system name?" -. ./myread -case "$ans" in -none) osname='' ;; -*) osname=`echo "$ans" | $sed -e 's/[ ][ ]*/_/g' | ./tr '[A-Z]' '[a-z]'`;; -esac -: who configured the system -cf_time=`$date 2>&1` -cf_by=`(logname) 2>/dev/null` -case "$cf_by" in -"") - cf_by=`(whoami) 2>/dev/null` - case "$cf_by" in - "") cf_by=unknown ;; - esac ;; -esac - -: determine where manual pages are on this system -echo " " -case "$sysman" in -'') - syspath='/usr/man/man1 /usr/man/mann /usr/man/manl /usr/man/local/man1' - syspath="$syspath /usr/man/u_man/man1 /usr/share/man/man1" - syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1" - syspath="$syspath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1" - syspath="$syspath /usr/man/man.L /local/man/man1 /usr/local/man/man1" - sysman=`./loc . /usr/man/man1 $syspath` - ;; -esac -if $test -d "$sysman"; then - echo "System manual is in $sysman." >&4 -else - echo "Could not find manual pages in source form." >&4 -fi - -: make some quick guesses about what we are up against -echo " " -$echo $n "Hmm... $c" -echo exit 1 >bsd -echo exit 1 >usg -echo exit 1 >v7 -echo exit 1 >osf1 -echo exit 1 >eunice -echo exit 1 >xenix -echo exit 1 >venix -d_bsd="$undef" -$cat /usr/include/signal.h /usr/include/sys/signal.h >foo 2>/dev/null -if test -f /osf_boot || $contains 'OSF/1' /usr/include/ctype.h >/dev/null 2>&1 -then - echo "Looks kind of like an OSF/1 system, but we'll see..." - echo exit 0 >osf1 -elif test `echo abc | tr a-z A-Z` = Abc ; then - xxx=`./loc addbib blurfl $pth` - if $test -f $xxx; then - echo "Looks kind of like a USG system with BSD features, but we'll see..." - echo exit 0 >bsd - echo exit 0 >usg - else - if $contains SIGTSTP foo >/dev/null 2>&1 ; then - echo "Looks kind of like an extended USG system, but we'll see..." - else - echo "Looks kind of like a USG system, but we'll see..." - fi - echo exit 0 >usg - fi -elif $contains SIGTSTP foo >/dev/null 2>&1 ; then - echo "Looks kind of like a BSD system, but we'll see..." - d_bsd="$define" - echo exit 0 >bsd -else - echo "Looks kind of like a Version 7 system, but we'll see..." - echo exit 0 >v7 -fi -case "$eunicefix" in -*unixtovms*) - $cat <<'EOI' -There is, however, a strange, musty smell in the air that reminds me of -something...hmm...yes...I've got it...there's a VMS nearby, or I'm a Blit. -EOI - echo exit 0 >eunice - d_eunice="$define" -: it so happens the Eunice I know will not run shell scripts in Unix format - ;; -*) - echo " " - echo "Congratulations. You aren't running Eunice." - d_eunice="$undef" - ;; -esac -if test -f /xenix; then - echo "Actually, this looks more like a XENIX system..." - echo exit 0 >xenix - d_xenix="$define" -else - echo " " - echo "It's not Xenix..." - d_xenix="$undef" -fi -chmod +x xenix -$eunicefix xenix -if test -f /venix; then - echo "Actually, this looks more like a VENIX system..." - echo exit 0 >venix -else - echo " " - if ./xenix; then - : null - else - echo "Nor is it Venix..." - fi -fi -chmod +x bsd usg v7 osf1 eunice xenix venix -$eunicefix bsd usg v7 osf1 eunice xenix venix -$rm -f foo - -: see if we need a special compiler -echo " " -if ./usg; then - case "$cc" in - '') case "$Mcc" in - /*) dflt='Mcc';; - *) case "$large" in - -M*) dflt='cc';; - *) if $contains '\-M' $sysman/cc.1 >/dev/null 2>&1 ; then - if $contains '\-M' $sysman/cpp.1 >/dev/null 2>&1; then - dflt='cc' - else - dflt='cc -M' - fi - else - dflt='cc' - fi;; - esac;; - esac;; - *) dflt="$cc";; - esac - $cat <<'EOM' -On some systems the default C compiler will not resolve multiple global -references that happen to have the same name. On some such systems the "Mcc" -command may be used to force these to be resolved. On other systems a "cc -M" -command is required. (Note that the -M flag on other systems indicates a -memory model to use!) If you have the Gnu C compiler, you might wish to use -that instead. - -EOM - rp="What command will force resolution on this system?" - . ./myread - cc="$ans" -else - case "$cc" in - '') dflt=cc;; - *) dflt="$cc";; - esac - rp="Use which C compiler?" - . ./myread - cc="$ans" -fi -echo " " -echo "Checking for GNU cc in disguise and/or its version number..." >&4 -$cat >gccvers.c < -int main() { -#ifdef __GNUC__ -#ifdef __VERSION__ - printf("%s\n", __VERSION__); -#else - printf("%s\n", "1"); -#endif -#endif - exit(0); -} -EOM -if $cc -o gccvers gccvers.c >/dev/null 2>&1; then - gccversion=`./gccvers` - case "$gccversion" in - '') echo "You are not using GNU cc." ;; - *) echo "You are using GNU cc $gccversion." ;; - esac -else - echo " " - echo "*** WHOA THERE!!! ***" >&4 - echo " Your C compiler \"$cc\" doesn't seem to be working!" >&4 - case "$knowitall" in - '') - echo " You'd better start hunting for one and let me know about it." >&4 - exit 1 - ;; - esac -fi -$rm -f gccvers* -case "$gccversion" in -1*) cpp=`./loc gcc-cpp $cpp $pth` ;; -esac - -: decide how portable to be -case "$d_portable" in -"$define") dflt=y;; -*) dflt=n;; -esac -$cat <<'EOH' - -I can set things up so that your shell scripts and binaries are more portable, -at what may be a noticable cost in performance. In particular, if you -ask to be portable, the following happens: - - 1) Shell scripts will rely on the PATH variable rather than using - the paths derived above. - 2) ~username interpretations will be done at run time rather than - by Configure. - -EOH -rp="Do you expect to run these scripts and binaries on multiple machines?" -. ./myread -case "$ans" in - y*) d_portable="$define" - ;; - *) d_portable="$undef" ;; -esac - -: set up shell script to do ~ expansion -cat >filexp <&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 - -: now set up to get a file name -cat <getfile -$startsh -EOS -cat <<'EOSC' >>getfile -tilde='' -fullpath='' -already='' -skip='' -none_ok='' -exp_file='' -nopath_ok='' -orig_rp="$rp" -orig_dflt="$dflt" - -case "$fn" in -*\(*) - expr $fn : '.*(\(.*\)).*' | tr ',' '\012' >getfile.ok - fn=`echo $fn | sed 's/(.*)//'` - ;; -esac - -case "$fn" in -*:*) - loc_file=`expr $fn : '.*:\(.*\)'` - fn=`expr $fn : '\(.*\):.*'` - ;; -esac - -case "$fn" in -*~*) tilde=true;; -esac -case "$fn" in -*/*) fullpath=true;; -esac -case "$fn" in -*+*) skip=true;; -esac -case "$fn" in -*n*) none_ok=true;; -esac -case "$fn" in -*e*) exp_file=true;; -esac -case "$fn" in -*p*) nopath_ok=true;; -esac - -case "$fn" in -*f*) type='File';; -*d*) type='Directory';; -*l*) type='Locate';; -esac - -what="$type" -case "$what" in -Locate) what='File';; -esac - -case "$exp_file" in -'') - case "$d_portable" in - "$define") ;; - *) exp_file=true;; - esac - ;; -esac - -cd .. -while test "$type"; do - redo='' - rp="$orig_rp" - dflt="$orig_dflt" - case "$tilde" in - true) rp="$rp (~name ok)";; - esac - . UU/myread - if test -f UU/getfile.ok && \ - $contains "^$ans\$" UU/getfile.ok >/dev/null 2>&1 - then - value="$ans" - ansexp="$ans" - break - fi - case "$ans" in - none) - value='' - ansexp='' - case "$none_ok" in - true) type='';; - esac - ;; - *) - case "$tilde" in - '') value="$ans" - ansexp="$ans";; - *) - value=`UU/filexp $ans` - case $? in - 0) - if test "$ans" != "$value"; then - echo "(That expands to $value on this system.)" - fi - ;; - *) value="$ans";; - esac - ansexp="$value" - case "$exp_file" in - '') value="$ans";; - esac - ;; - esac - case "$fullpath" in - true) - case "$ansexp" in - /*) value="$ansexp" ;; - *) - redo=true - case "$already" in - true) - echo "I shall only accept a full path name, as in /bin/ls." >&4 - echo "Use a ! shell escape if you wish to check pathnames." >&4 - ;; - *) - echo "Please give a full path name, starting with slash." >&4 - case "$tilde" in - true) - echo "Note that using ~name is ok provided it expands well." >&4 - already=true - ;; - esac - esac - ;; - esac - ;; - esac - case "$redo" in - '') - case "$type" in - File) - if test -f "$ansexp"; then - type='' - elif test -r "$ansexp" || (test -h "$ansexp") >/dev/null 2>&1 - then - echo "($value is not a plain file, but that's ok.)" - type='' - fi - ;; - Directory) - if test -d "$ansexp"; then - type='' - fi - ;; - Locate) - if test -d "$ansexp"; then - echo "(Looking for $loc_file in directory $value.)" - value="$value/$loc_file" - ansexp="$ansexp/$loc_file" - fi - if test -f "$ansexp"; then - type='' - fi - case "$nopath_ok" in - true) case "$value" in - */*) ;; - *) echo "Assuming $value will be in people's path." - type='' - ;; - esac - ;; - esac - ;; - esac - - case "$skip" in - true) type=''; - esac - - case "$type" in - '') ;; - *) - if test "$fastread" = yes; then - dflt=y - else - dflt=n - fi - rp="$what $value doesn't exist. Use that name anyway?" - . UU/myread - dflt='' - case "$ans" in - y*) type='';; - *) echo " ";; - esac - ;; - esac - ;; - esac - ;; - esac -done -cd UU -ans="$value" -rp="$orig_rp" -dflt="$orig_dflt" -rm -f getfile.ok -EOSC - -: What should the include directory be ? -echo " " -$echo $n "Hmm... $c" -dflt='/usr/include' -incpath='' -mips_type='' -if $test -f /bin/mips && /bin/mips; then - echo "Looks like a MIPS system..." - $cat >usr.c <<'EOCP' -#ifdef SYSTYPE_BSD43 -/bsd43 -#endif -EOCP - if $cc -E usr.c > usr.out && $contains / usr.out >/dev/null 2>&1; then - dflt='/bsd43/usr/include' - incpath='/bsd43' - mips_type='BSD 4.3' - else - mips_type='System V' - fi - $rm -f usr.c usr.out - echo "and you're compiling with the $mips_type compiler and libraries." - xxx_prompt=y - echo "exit 0" >mips -else - echo "Doesn't look like a MIPS system." - xxx_prompt=n - echo "exit 1" >mips -fi -chmod +x mips -$eunicefix mips -case "$usrinc" in -'') ;; -*) dflt="$usrinc";; -esac -case "$xxx_prompt" in -y) fn=d/ - echo " " - rp='Where are the include files you want to use?' - . ./getfile - usrinc="$ans" - ;; -*) usrinc="$dflt" - ;; -esac - -: see how we invoke the C preprocessor -echo " " -echo "Now, how can we feed standard input to your C preprocessor..." >&4 -cat <<'EOT' >testcpp.c -#define ABC abc -#define XYZ xyz -ABC.XYZ -EOT -cd .. -echo 'cat >.$$.c; '"$cc"' -E ${1+"$@"} .$$.c; rm .$$.c' >cppstdin -chmod 755 cppstdin -wrapper=`pwd`/cppstdin -ok='false' -cd UU - -if $test "X$cppstdin" != "X" && \ - $cppstdin $cppminus testcpp.out 2>&1 && \ - $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 -then - echo "You used to use $cppstdin $cppminus so we'll use that again." - case "$cpprun" in - '') echo "But let's see if we can live without a wrapper..." ;; - *) - if $cpprun $cpplast testcpp.out 2>&1 && \ - $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 - then - echo "(And we'll use $cpprun $cpplast to preprocess directly.)" - ok='true' - else - echo "(However, $cpprun $cpplast does not work, let's see...)" - fi - ;; - esac -else - case "$cppstdin" in - '') ;; - *) - echo "Good old $cppstdin $cppminus does not seem to be of any help..." - ;; - esac -fi - -if $ok; then - : nothing -elif echo 'Maybe "'"$cc"' -E" will work...'; \ - $cc -E testcpp.out 2>&1; \ - $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then - echo "Yup, it does." - x_cpp="$cc -E" - x_minus=''; -elif echo 'Nope...maybe "'"$cc"' -E -" will work...'; \ - $cc -E - testcpp.out 2>&1; \ - $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then - echo "Yup, it does." - x_cpp="$cc -E" - x_minus='-'; -elif echo 'Nope...maybe "'"$cc"' -P" will work...'; \ - $cc -P testcpp.out 2>&1; \ - $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then - echo "Yipee, that works!" - x_cpp="$cc -P" - x_minus=''; -elif echo 'Nope...maybe "'"$cc"' -P -" will work...'; \ - $cc -P - testcpp.out 2>&1; \ - $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then - echo "At long last!" - x_cpp="$cc -P" - x_minus='-'; -elif echo 'No such luck, maybe "'$cpp'" will work...'; \ - $cpp testcpp.out 2>&1; \ - $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then - echo "It works!" - x_cpp="$cpp" - x_minus=''; -elif echo 'Nixed again...maybe "'$cpp' -" will work...'; \ - $cpp - testcpp.out 2>&1; \ - $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then - echo "Hooray, it works! I was beginning to wonder." - x_cpp="$cpp" - x_minus='-'; -elif echo 'Uh-uh. Time to get fancy. Trying a wrapper...'; \ - $wrapper testcpp.out 2>&1; \ - $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then - x_cpp="$wrapper" - x_minus='' - echo "Eureka!" -else - dflt='' - rp="No dice. I can't find a C preprocessor. Name one:" - . ./myread - x_cpp="$ans" - x_minus='' - $x_cpp testcpp.out 2>&1 - if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then - echo "OK, that will do." >&4 - else -echo "Sorry, I can't get that to work. Go find one and rerun Configure." >&4 - exit 1 - fi -fi - -case "$ok" in -false) - cppstdin="$x_cpp" - cppminus="$x_minus" - cpprun="$x_cpp" - cpplast="$x_minus" - set X $x_cpp - shift - case "$1" in - "$cpp") - echo "Perhaps can we force $cc -E using a wrapper..." - if $wrapper testcpp.out 2>&1; \ - $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 - then - echo "Yup, we can." - cppstdin="$wrapper" - cppminus=''; - else - echo "Nope, we'll have to live without it..." - fi - ;; - esac - case "$cpprun" in - "$wrapper") - cpprun='' - cpplast='' - ;; - esac - ;; -esac - -case "$cppstdin" in -"$wrapper") ;; -*) $rm -f $wrapper;; -esac -$rm -f testcpp.c testcpp.out - -: Set private lib path -case "$plibpth" in -'') if ./mips; then - plibpth="$incpath/usr/lib /usr/local/lib /usr/ccs/lib" - fi;; -esac -case "$libpth" in -' ') dlist='';; -'') dlist="$loclibpth $plibpth $glibpth";; -*) dlist="$libpth";; -esac - -: Now check and see which directories actually exist, avoiding duplicates -libpth='' -for xxx in $dlist -do - if $test -d $xxx; then - case " $libpth " in - *" $xxx "*) ;; - *) libpth="$libpth $xxx";; - esac - fi -done -$cat <<'EOM' - -Some systems have incompatible or broken versions of libraries. Among -the directories listed in the question below, please remove any you -know not to be holding relevant libraries, and add any that are needed. -Say "none" for none. - -EOM -case "$libpth" in -'') dflt='none';; -*) - set X $libpth - shift - dflt=${1+"$@"} - ;; -esac -rp="Directories to use for library searches?" -. ./myread -case "$ans" in -none) libpth=' ';; -*) libpth="$ans";; -esac - -: determine optimize, if desired, or use for debug flag also -case "$optimize" in -' ') dflt='none';; -'') case $gccversion in - 2*) dflt='-g -O' ;; - *egcs*) dflt='-g -O' ;; - *) dflt='-g' ;; - esac ;; -*) dflt="$optimize";; -esac -$cat </dev/null 2>&1 - then - dflt="$dflt -posix" - fi - ;; - esac - ;; -esac - -case "$mips_type" in -*BSD*|'') inclwanted="$locincpth $usrinc";; -*) inclwanted="$locincpth $inclwanted $usrinc/bsd";; -esac -for thisincl in $inclwanted; do - if $test -d $thisincl; then - if $test x$thisincl != x$usrinc; then - case "$dflt" in - *$thisincl*);; - *) dflt="$dflt -I$thisincl";; - esac - fi - fi -done - -inctest='if $contains $2 $usrinc/$1 >/dev/null 2>&1; then - xxx=true; -elif $contains $2 $usrinc/sys/$1 >/dev/null 2>&1; then - xxx=true; -else - xxx=false; -fi; -if $xxx; then - case "$dflt" in - *$2*);; - *) dflt="$dflt -D$2";; - esac; -fi' - -if ./osf1; then - set signal.h __LANGUAGE_C__; eval $inctest -else - set signal.h LANGUAGE_C; eval $inctest -fi - -case "$hint" in -none|recommended) dflt="$ccflags $dflt" ;; -*) dflt="$ccflags";; -esac - -case "$dflt" in -''|' ') dflt=none;; -esac -$cat <&4 - set X $cppflags - shift - cppflags='' - $cat >cpp.c <<'EOM' -#define BLURFL foo - -BLURFL xx LFRULB -EOM - previous='' - for flag in $* - do - case "$flag" in - -*) ftry="$flag";; - *) ftry="$previous $flag";; - esac - if $cppstdin -DLFRULB=bar $ftry $cppminus cpp1.out 2>/dev/null && \ - $cpprun -DLFRULB=bar $ftry $cpplast cpp2.out 2>/dev/null && \ - $contains 'foo.*xx.*bar' cpp1.out >/dev/null 2>&1 && \ - $contains 'foo.*xx.*bar' cpp2.out >/dev/null 2>&1 - then - cppflags="$cppflags $ftry" - previous='' - else - previous="$flag" - fi - done - set X $cppflags - shift - cppflags=${1+"$@"} - case "$cppflags" in - *-*) echo "They appear to be: $cppflags";; - esac - $rm -f cpp.c cpp?.out - ;; -esac - -: flags used in final linking phase -case "$ldflags" in -'') if ./venix; then - dflt='-i -z' - else - dflt='' - fi - case "$ccflags" in - *-posix*) dflt="$dflt -posix" ;; - esac - ;; -*) dflt="$ldflags";; -esac - -: Try to guess additional flags to pick up local libraries. -for thislibdir in $libpth; do - case " $loclibpth " in - *" $thislibdir "*) - case "$dflt " in - *"-L$thislibdir "*) ;; - *) dflt="$dflt -L$thislibdir" ;; - esac - ;; - esac -done - -case "$dflt" in -'') dflt='none' ;; -esac - -$cat <&4 -set X $cc $optimize $ccflags $ldflags try.c -o try -shift -$cat >try.msg < try.c <<'EOF' -#include -main() { exit(0); } -EOF -dflt=y -if sh -c "$cc $optimize $ccflags try.c -o try $ldflags" >>try.msg 2>&1; then - if sh -c './try' >>try.msg 2>&1; then - dflt=n - else - echo "The program compiled OK, but exited with status $?." >>try.msg - rp="You have a problem. Shall I abort Configure" - dflt=y - fi -else - echo "I can't compile the test program." >>try.msg - rp="You have a BIG problem. Shall I abort Configure" - dflt=y -fi -case "$dflt" in -y) - $cat try.msg - case "$knowitall" in - '') - echo "(The supplied flags might be incorrect with this C compiler.)" - ;; - *) dflt=n;; - esac - echo " " - . ./myread - case "$ans" in - n*|N*) ;; - *) echo "Ok. Stopping Configure." >&4 - exit 1 - ;; - esac - ;; -n) echo "OK, that should do.";; -esac -$rm -f try try.* core - -: Initialize h_fcntl -h_fcntl=false - -: Initialize h_sysfile -h_sysfile=false - -: compute shared library extension -case "$so" in -'') - if xxx=`./loc libc.sl X $libpth`; $test -f "$xxx"; then - dflt='sl' - else - dflt='so' - fi - ;; -*) dflt="$so";; -esac -$cat <&4 -case "$libs" in -' '|'') dflt='';; -*) dflt="$libs";; -esac -case "$libswanted" in -'') libswanted='c_s';; -esac -for thislib in $libswanted; do - - - - if $test "$thislib" = "resolv"; then - case " $dflt " in - *"-lbind "*) echo "We've already found -lbind, so we don't need -lresolv" ;; - *) - - if xxx=`./loc lib$thislib.$so.[0-9]'*' X $libpth`; $test -f "$xxx"; then - echo "Found -l$thislib (shared)." - case " $dflt " in - *"-l$thislib "*);; - *) dflt="$dflt -l$thislib";; - esac - elif xxx=`./loc lib$thislib.$so X $libpth` ; $test -f "$xxx"; then - echo "Found -l$thislib (shared)." - case " $dflt " in - *"-l$thislib "*);; - *) dflt="$dflt -l$thislib";; - esac - elif xxx=`./loc lib$thislib$_a X $libpth`; $test -f "$xxx"; then - echo "Found -l$thislib." - case " $dflt " in - *"-l$thislib "*);; - *) dflt="$dflt -l$thislib";; - esac - elif xxx=`./loc $thislib$_a X $libpth`; $test -f "$xxx"; then - echo "Found -l$thislib." - case " $dflt " in - *"-l$thislib "*);; - *) dflt="$dflt -l$thislib";; - esac - elif xxx=`./loc lib${thislib}_s$_a X $libpth`; $test -f "$xxx"; then - echo "Found -l${thislib}_s." - case " $dflt " in - *"-l$thislib "*);; - *) dflt="$dflt -l${thislib}_s";; - esac - elif xxx=`./loc Slib$thislib$_a X $xlibpth`; $test -f "$xxx"; then - echo "Found -l$thislib." - case " $dflt " in - *"-l$thislib "*);; - *) dflt="$dflt -l$thislib";; - esac - else - echo "No -l$thislib." - fi - - ;; - esac - else - - if xxx=`./loc lib$thislib.$so.[0-9]'*' X $libpth`; $test -f "$xxx"; then - echo "Found -l$thislib (shared)." - case " $dflt " in - *"-l$thislib "*);; - *) dflt="$dflt -l$thislib";; - esac - elif xxx=`./loc lib$thislib.$so X $libpth` ; $test -f "$xxx"; then - echo "Found -l$thislib (shared)." - case " $dflt " in - *"-l$thislib "*);; - *) dflt="$dflt -l$thislib";; - esac - elif xxx=`./loc lib$thislib$_a X $libpth`; $test -f "$xxx"; then - echo "Found -l$thislib." - case " $dflt " in - *"-l$thislib "*);; - *) dflt="$dflt -l$thislib";; - esac - elif xxx=`./loc $thislib$_a X $libpth`; $test -f "$xxx"; then - echo "Found -l$thislib." - case " $dflt " in - *"-l$thislib "*);; - *) dflt="$dflt -l$thislib";; - esac - elif xxx=`./loc lib${thislib}_s$_a X $libpth`; $test -f "$xxx"; then - echo "Found -l${thislib}_s." - case " $dflt " in - *"-l$thislib "*);; - *) dflt="$dflt -l${thislib}_s";; - esac - elif xxx=`./loc Slib$thislib$_a X $xlibpth`; $test -f "$xxx"; then - echo "Found -l$thislib." - case " $dflt " in - *"-l$thislib "*);; - *) dflt="$dflt -l$thislib";; - esac - else - echo "No -l$thislib." - fi - - fi -done -set X $dflt -shift -dflt="$*" -case "$libs" in -'') dflt="$dflt";; -*) dflt="$libs";; -esac -case "$dflt" in -' '|'') dflt='none';; -esac - -$cat <whoa -$startsh -EOS -cat <<'EOSC' >>whoa -dflt=y -echo " " -echo "*** WHOA THERE!!! ***" >&4 -echo " The $hint value for \$$var on this machine was \"$was\"!" >&4 -rp=" Keep the $hint value?" -. ./myread -case "$ans" in -y) td=$was; tu=$was;; -esac -EOSC - -: function used to set $1 to $val -setvar='var=$1; eval "was=\$$1"; td=$define; tu=$undef; -case "$val$was" in -$define$undef) . ./whoa; eval "$var=\$td";; -$undef$define) . ./whoa; eval "$var=\$tu";; -*) eval "$var=$val";; -esac' - -echo " " -echo "Checking for GNU C Library..." >&4 -cat >gnulibc.c </dev/null 2>&1 && \ - ./gnulibc | $contains '^GNU C Library' >/dev/null 2>&1; then - val="$define" - echo "You are using the GNU C Library" >&4 -else -cat >gnulibc.c < -int main() -{ -#ifdef __GLIBC__ - return 0; -#else - return 1; -#endif -} -EOM -if $cc $ccflags $ldflags -o gnulibc gnulibc.c $libs >/dev/null 2>&1 && \ - ./gnulibc; then - val="$define" - echo "You are using the GNU C Library" >&4 -else - val="$undef" - echo "You are not using the GNU C Library" >&4 -fi -fi -$rm -f gnulibc* -set d_gnulibc -eval $setvar - -: see if nm is to be used to determine whether a symbol is defined or not -case "$usenm" in -'') - case "$d_gnulibc" in - $define) - dflt=n - ;; - *) - dflt=`egrep 'inlibc|csym' ../Configure | wc -l 2>/dev/null` - if $test $dflt -gt 20; then - dflt=y - else - dflt=n - fi - ;; - esac - ;; -*) - case "$usenm" in - true) dflt=y;; - *) dflt=n;; - esac - ;; -esac -$cat < /dev/null 2>&1; then - nm_so_opt='--dynamic' - fi - ;; - esac - ;; -esac - -case "$runnm" in -true) -: get list of predefined functions in a handy place -echo " " -case "$libc" in -'') libc=unknown - case "$libs" in - *-lc_s*) libc=`./loc libc_s$_a $libc $libpth` - esac - ;; -esac -libnames=''; -case "$libs" in -'') ;; -*) for thislib in $libs; do - case "$thislib" in - -lc|-lc_s) - : Handle C library specially below. - ;; - -l*) - thislib=`echo $thislib | $sed -e 's/^-l//'` - if try=`./loc lib$thislib.$so.'*' X $libpth`; $test -f "$try"; then - : - elif try=`./loc lib$thislib.$so X $libpth`; $test -f "$try"; then - : - elif try=`./loc lib$thislib$_a X $libpth`; $test -f "$try"; then - : - elif try=`./loc $thislib$_a X $libpth`; $test -f "$try"; then - : - elif try=`./loc lib$thislib X $libpth`; $test -f "$try"; then - : - elif try=`./loc $thislib X $libpth`; $test -f "$try"; then - : - elif try=`./loc Slib$thislib$_a X $xlibpth`; $test -f "$try"; then - : - else - try='' - fi - libnames="$libnames $try" - ;; - *) libnames="$libnames $thislib" ;; - esac - done - ;; -esac -xxx=normal -case "$libc" in -unknown) - set /lib/libc.$so - for xxx in $libpth; do - $test -r $1 || set $xxx/libc.$so - $test -r $1 || \ - set `echo blurfl; echo $xxx/libc.$so.[0-9]* | \ - tr ' ' '\012' | egrep -v '\.[A-Za-z]*$' | $sed -e ' - h - s/[0-9][0-9]*/0000&/g - s/0*\([0-9][0-9][0-9][0-9][0-9]\)/\1/g - G - s/\n/ /' | \ - sort | $sed -e 's/^.* //'` - eval set \$$# - done - $test -r $1 || set /usr/ccs/lib/libc.$so - $test -r $1 || set /lib/libsys_s$_a - ;; -*) - set blurfl - ;; -esac -if $test -r "$1"; then - echo "Your (shared) C library seems to be in $1." - libc="$1" -elif $test -r /lib/libc && $test -r /lib/clib; then - echo "Your C library seems to be in both /lib/clib and /lib/libc." - xxx=apollo - libc='/lib/clib /lib/libc' - if $test -r /lib/syslib; then - echo "(Your math library is in /lib/syslib.)" - libc="$libc /lib/syslib" - fi -elif $test -r "$libc" || (test -h "$libc") >/dev/null 2>&1; then - echo "Your C library seems to be in $libc, as you said before." -elif $test -r $incpath/usr/lib/libc$_a; then - libc=$incpath/usr/lib/libc$_a; - echo "Your C library seems to be in $libc. That's fine." -elif $test -r /lib/libc$_a; then - libc=/lib/libc$_a; - echo "Your C library seems to be in $libc. You're normal." -else - if tans=`./loc libc$_a blurfl/dyick $libpth`; $test -r "$tans"; then - : - elif tans=`./loc libc blurfl/dyick $libpth`; $test -r "$tans"; then - libnames="$libnames "`./loc clib blurfl/dyick $libpth` - elif tans=`./loc clib blurfl/dyick $libpth`; $test -r "$tans"; then - : - elif tans=`./loc Slibc$_a blurfl/dyick $xlibpth`; $test -r "$tans"; then - : - elif tans=`./loc Mlibc$_a blurfl/dyick $xlibpth`; $test -r "$tans"; then - : - else - tans=`./loc Llibc$_a blurfl/dyick $xlibpth` - fi - if $test -r "$tans"; then - echo "Your C library seems to be in $tans, of all places." - libc=$tans - else - libc='blurfl' - fi -fi -if $test $xxx = apollo -o -r "$libc" || (test -h "$libc") >/dev/null 2>&1; then - dflt="$libc" - cat < libpath - cat >&4 < libnames -set X `cat libnames` -shift -xxx=files -case $# in 1) xxx=file; esac -echo "Extracting names from the following $xxx for later perusal:" >&4 -echo " " -$sed 's/^/ /' libnames >&4 -echo " " -$echo $n "This may take a while...$c" >&4 - -for file in $*; do - case $file in - *$so*) nm $nm_so_opt $nm_opt $file 2>/dev/null;; - *) nm $nm_opt $file 2>/dev/null;; - esac -done >libc.tmp - -$echo $n ".$c" -$grep fprintf libc.tmp > libc.ptf -xscan='eval "libc.list"; $echo $n ".$c" >&4' -xrun='eval "libc.list"; echo "done" >&4' -xxx='[ADTSIW]' -if com="$sed -n -e 's/__IO//' -e 's/^.* $xxx *_[_.]*//p' -e 's/^.* $xxx *//p'";\ - eval $xscan;\ - $contains '^fprintf$' libc.list >/dev/null 2>&1; then - eval $xrun -elif com="$sed -n -e 's/^__*//' -e 's/^\([a-zA-Z_0-9$]*\).*xtern.*/\1/p'";\ - eval $xscan;\ - $contains '^fprintf$' libc.list >/dev/null 2>&1; then - eval $xrun -elif com="$sed -n -e '/|UNDEF/d' -e '/FUNC..GL/s/^.*|__*//p'";\ - eval $xscan;\ - $contains '^fprintf$' libc.list >/dev/null 2>&1; then - eval $xrun -elif com="$sed -n -e 's/^.* D __*//p' -e 's/^.* D //p'";\ - eval $xscan;\ - $contains '^fprintf$' libc.list >/dev/null 2>&1; then - eval $xrun -elif com="$sed -n -e 's/^_//' -e 's/^\([a-zA-Z_0-9]*\).*xtern.*text.*/\1/p'";\ - eval $xscan;\ - $contains '^fprintf$' libc.list >/dev/null 2>&1; then - eval $xrun -elif com="$sed -n -e 's/^.*|FUNC |GLOB .*|//p'";\ - eval $xscan;\ - $contains '^fprintf$' libc.list >/dev/null 2>&1; then - eval $xrun -elif com="$grep '|' | $sed -n -e '/|COMMON/d' -e '/|DATA/d' \ - -e '/ file/d' -e 's/^\([^ ]*\).*/\1/p'";\ - eval $xscan;\ - $contains '^fprintf$' libc.list >/dev/null 2>&1; then - eval $xrun -elif com="$sed -n -e 's/^.*|FUNC |GLOB .*|//p' -e 's/^.*|FUNC |WEAK .*|//p'";\ - eval $xscan;\ - $contains '^fprintf$' libc.list >/dev/null 2>&1; then - eval $xrun -elif com="$sed -n -e 's/^__//' -e '/|Undef/d' -e '/|Proc/s/ .*//p'";\ - eval $xscan;\ - $contains '^fprintf$' libc.list >/dev/null 2>&1; then - eval $xrun -elif com="$sed -n -e '/Def. Text/s/.* \([^ ]*\)\$/\1/p'";\ - eval $xscan;\ - $contains '^fprintf$' libc.list >/dev/null 2>&1; then - eval $xrun -elif com="$sed -n -e 's/^[-0-9a-f ]*_\(.*\)=.*/\1/p'";\ - eval $xscan;\ - $contains '^fprintf$' libc.list >/dev/null 2>&1; then - eval $xrun -elif com="$sed -n -e 's/.*\.text n\ \ \ \.//p'";\ - eval $xscan;\ - $contains '^fprintf$' libc.list >/dev/null 2>&1; then - eval $xrun -else - nm -p $* 2>/dev/null >libc.tmp - $grep fprintf libc.tmp > libc.ptf - if com="$sed -n -e 's/^.* [ADTSIW] *_[_.]*//p' -e 's/^.* [ADTSIW] //p'";\ - eval $xscan; $contains '^fprintf$' libc.list >/dev/null 2>&1 - then - nm_opt='-p' - eval $xrun - else - echo " " - echo "nm didn't seem to work right. Trying ar instead..." >&4 - com='' - if ar t $libc > libc.tmp; then - for thisname in $libnames; do - ar t $thisname >>libc.tmp - done - $sed -e "s/\\$_o\$//" < libc.tmp > libc.list - echo "Ok." >&4 - else - echo "ar didn't seem to work right." >&4 - echo "Maybe this is a Cray...trying bld instead..." >&4 - if bld t $libc | $sed -e 's/.*\///' -e "s/\\$_o:.*\$//" > libc.list - then - for thisname in $libnames; do - bld t $libnames | \ - $sed -e 's/.*\///' -e "s/\\$_o:.*\$//" >>libc.list - ar t $thisname >>libc.tmp - done - echo "Ok." >&4 - else - echo "That didn't work either. Giving up." >&4 - exit 1 - fi - fi - fi -fi -nm_extract="$com" -if $test -f /lib/syscalls.exp; then - echo " " - echo "Also extracting names from /lib/syscalls.exp for good ole AIX..." >&4 - $sed -n 's/^\([^ ]*\)[ ]*syscall$/\1/p' /lib/syscalls.exp >>libc.list -fi -;; -esac -$rm -f libnames libpath - -: is a C symbol defined? -csym='tlook=$1; -case "$3" in --v) tf=libc.tmp; tc=""; tdc="";; --a) tf=libc.tmp; tc="[0]"; tdc="[]";; -*) tlook="^$1\$"; tf=libc.list; tc="()"; tdc="()";; -esac; -tx=yes; -case "$reuseval-$4" in -true-) ;; -true-*) tx=no; eval "tval=\$$4"; case "$tval" in "") tx=yes;; esac;; -esac; -case "$tx" in -yes) - case "$runnm" in - true) - if $contains $tlook $tf >/dev/null 2>&1; - then tval=true; - else tval=false; - fi;; - *) - echo "main() { extern short $1$tdc; printf(\"%hd\", $1$tc); }" > t.c; - if $cc $ccflags $ldflags -o t t.c $libs >/dev/null 2>&1; - then tval=true; - else tval=false; - fi; - $rm -f t t.c;; - esac;; -*) - case "$tval" in - $define) tval=true;; - *) tval=false;; - esac;; -esac; -eval "$2=$tval"' - -: define an is-in-libc? function -inlibc='echo " "; td=$define; tu=$undef; -sym=$1; var=$2; eval "was=\$$2"; -tx=yes; -case "$reuseval$was" in -true) ;; -true*) tx=no;; -esac; -case "$tx" in -yes) - set $sym tres -f; - eval $csym; - case "$tres" in - true) - echo "$sym() found." >&4; - case "$was" in $undef) . ./whoa; esac; eval "$var=\$td";; - *) - echo "$sym() NOT found." >&4; - case "$was" in $define) . ./whoa; esac; eval "$var=\$tu";; - esac;; -*) - case "$was" in - $define) echo "$sym() found." >&4;; - *) echo "$sym() NOT found." >&4;; - esac;; -esac' - -: determine filename position in cpp output -echo " " -echo "Computing filename position in cpp output for #include directives..." >&4 -echo '#include ' > foo.c -$cat >fieldn </dev/null | \ -$grep '^[ ]*#.*stdio\.h' | \ -while read cline; do - pos=1 - qline=\`echo "\$cline" | $sed -e 's/\\([][{}#$<>;&()|^*?\\\\]\\)/\\\\\\\\\\1/g'\` - eval set \$qline - while $test "x\$1" \!= x; do - if $test -r "\$1"; then - echo "\$pos" - exit 0 - fi - shift - pos=\`expr \$pos + 1\` - done -done -EOF -chmod +x fieldn -fieldn=`./fieldn` -$rm -f foo.c fieldn -case $fieldn in -'') pos='???';; -1) pos=first;; -2) pos=second;; -3) pos=third;; -*) pos="${fieldn}th";; -esac -echo "Your cpp writes the filename in the $pos field of the line." - -: locate header file -$cat >findhdr <" > foo\$\$.c -$cppstdin $cppminus $cppflags < foo\$\$.c 2>/dev/null | \ -$grep "^[ ]*#.*\$wanted" | \ -while read cline; do - pos=1 - qline=\`echo "\$cline" | $sed -e 's/\\([][{}#$<>;&()|^'"'"'*?\\\\]\\)/\\\\\\\\\\1/g'\` - eval set \$qline - while $test $fieldn -gt \$pos; do - shift - pos=\`expr \$pos + 1\` - done - name=\$1 - case "\$name" in - */\$wanted) echo "\$name"; exit 0;; - *\\\\\$wanted) echo "\$name"; exit 0;; - *) name='';; - esac; -done; -$rm -f foo\$\$.c; -case "\$name" in -'') exit 1;; -esac -EOF -chmod +x findhdr - -: access call always available on UNIX -set access d_access -eval $inlibc - -: locate the flags for 'access()' -case "$d_access" in -"$define") - echo " " - $cat >access.c <<'EOCP' -#include -#ifdef I_FCNTL -#include -#endif -#ifdef I_SYS_FILE -#include -#endif -#ifdef I_UNISTD -#include -#endif -main() { - exit(R_OK); -} -EOCP - : check sys/file.h first, no particular reason here - if $test `./findhdr sys/file.h` && \ - $cc $cppflags -DI_SYS_FILE access.c -o access >/dev/null 2>&1 ; then - h_sysfile=true; - echo " defines the *_OK access constants." >&4 - elif $test `./findhdr fcntl.h` && \ - $cc $cppflags -DI_FCNTL access.c -o access >/dev/null 2>&1 ; then - h_fcntl=true; - echo " defines the *_OK access constants." >&4 - elif $test `./findhdr unistd.h` && \ - $cc $cppflags -DI_UNISTD access.c -o access >/dev/null 2>&1 ; then - echo " defines the *_OK access constants." >&4 - else - echo "I can't find the four *_OK access constants--I'll use mine." >&4 - fi - ;; -esac -$rm -f access* - -: check for ok to use function ptr arguments in prototypes -echo " " -$cat >test_argsinfp.c <<'EOCP' -#include -int myfun(int); -int fun(int (*func)(int)); -int fun2(int, int (*prevfun)(int(*func)(int))); -int fun (int (*func)(int)) { int a = 1; return func(a); } -int myfun(int x) { return x - 1; } - -int main(int argc, char **argv) { - exit(fun(myfun)); -} -EOCP - -if $cc $ccflags $ldflags -o test_argsinfp test_argsinfp.c >/dev/null 2>&1 ; then - d_argsinfp='define' - echo 'Your compiler prefers arguments in function pointers in prototypes.' >&4 -else - d_argsinfp='undef' - echo "Your compiler prefers no arguments in function pointers in prototypes." >&4 -fi -$rm -f test_argsinfp* core - -: see if we have the assert macro -echo " " -echo "Let's see if I can assert() myself." >&4 - $cat >d_assert.c < -#include - -int main() -{ - assert(1); -} -EOCP - -if $cc $ccflags $ldflags d_assert.c -o d_assert $libs >/dev/null 2>&1; then - val="$define" - set d_assert; eval $setvar - echo "Looks like I can." >&4 -else - val="$undef" - set d_assert; eval $setvar - echo "Nope, I need assertiveness training." >&4 -fi -$rm -f d_assert* - -: Look for GNU-cc style attribute checking -echo " " -echo "Checking whether your compiler can handle __attribute__ ..." >&4 -$cat >attrib.c <<'EOCP' -#include -void croak (char* pat,...) __attribute__((format(printf,1,2),noreturn)); -EOCP -if $cc $optimize $ccflags -c attrib.c >attrib.out 2>&1 ; then - if $contains 'warning' attrib.out >/dev/null 2>&1; then - echo "Your C compiler doesn't fully support __attribute__." - val="$undef" - else - echo "Your C compiler supports __attribute__." - val="$define" - fi -else - echo "Your C compiler doesn't seem to understand __attribute__ at all." - val="$undef" -fi -set d_attribut -eval $setvar -$rm -f attrib* - -: see if bcopy exists -set bcopy d_bcopy -eval $inlibc - -: define an alternate in-header-list? function -inhdr='echo " "; td=$define; tu=$undef; yyy=$@; -cont=true; xxf="echo \"<\$1> found.\" >&4"; -case $# in 2) xxnf="echo \"<\$1> NOT found.\" >&4";; -*) xxnf="echo \"<\$1> NOT found, ...\" >&4";; -esac; -case $# in 4) instead=instead;; *) instead="at last";; esac; -while $test "$cont"; do - xxx=`./findhdr $1` - var=$2; eval "was=\$$2"; - if $test "$xxx" && $test -r "$xxx"; - then eval $xxf; - eval "case \"\$$var\" in $undef) . ./whoa; esac"; eval "$var=\$td"; - cont=""; - else eval $xxnf; - eval "case \"\$$var\" in $define) . ./whoa; esac"; eval "$var=\$tu"; fi; - set $yyy; shift; shift; yyy=$@; - case $# in 0) cont="";; - 2) xxf="echo \"but I found <\$1> $instead.\" >&4"; - xxnf="echo \"and I did not find <\$1> either.\" >&4";; - *) xxf="echo \"but I found <\$1\> instead.\" >&4"; - xxnf="echo \"there is no <\$1>, ...\" >&4";; - esac; -done; -while $test "$yyy"; -do set $yyy; var=$2; eval "was=\$$2"; - eval "case \"\$$var\" in $define) . ./whoa; esac"; eval "$var=\$tu"; - set $yyy; shift; shift; yyy=$@; -done' - -: see if libintl.h can be included -set libintl.h i_libintl -eval $inhdr -: check for a new-style definitions -echo " " -$cat >test_bindtextdomain.c < -#endif -int main(int argc, char **argv) { - return (int) bindtextdomain ("", ""); -} -EOCP - -if $cc $ccflags $ldflags -o test_bindtextdomain test_bindtextdomain.c $libs >/dev/null 2>&1 ; then - d_bindtextdomain='define' - echo 'Otima! You seem to have bindtextdomain for translations.' >&4 -else - d_bindtextdomain='undef' - echo "You don't seem to have bindtextdomain. Sinto muito." >&4 -fi -$rm -f test_bindtextdomain* core - -: see if this is a unistd.h system -set unistd.h i_unistd -eval $inhdr - -: see if setpgrp exists -set setpgrp d_setpgrp -eval $inlibc - -case "$d_setpgrp" in -"$define") - echo " " - echo "Checking to see which flavor of setpgrp is in use..." - $cat >set.c < -#ifdef I_UNISTD -# include -#endif -main() -{ - if (getuid() == 0) { - printf("(I see you are running Configure as super-user...)\n"); - setuid(1); - } -#ifdef TRY_BSD_PGRP - if (-1 == setpgrp(1, 1)) - exit(0); -#else - if (setpgrp() != -1) - exit(0); -#endif - exit(1); -} -EOP - if $cc -DTRY_BSD_PGRP $ccflags $ldflags -o set set.c $libs >/dev/null 2>&1 && ./set; then - echo 'You have to use setpgrp(pid,pgrp) instead of setpgrp().' >&4 - val="$define" - elif $cc $ccflags $ldflags -o set set.c $libs >/dev/null 2>&1 && ./set; then - echo 'You have to use setpgrp() instead of setpgrp(pid,pgrp).' >&4 - val="$undef" - else - echo "(I can't seem to compile and run the test program.)" - if ./usg; then - xxx="a USG one, i.e. you use setpgrp()." - else - # SVR4 systems can appear rather BSD-ish. - case "$i_unistd" in - $undef) - xxx="a BSD one, i.e. you use setpgrp(pid,pgrp)." - val="$define" - ;; - $define) - xxx="probably a USG one, i.e. you use setpgrp()." - val="$undef" - ;; - esac - fi - echo "Assuming your setpgrp is $xxx" >&4 - fi - ;; -*) val="$undef";; -esac -set d_bsdsetpgrp -eval $setvar -$rm -f set set.c -: see if bzero exists -set bzero d_bzero -eval $inlibc - -: check for const keyword -echo " " -echo 'Checking to see if your C compiler knows about "const"...' >&4 -$cat >const.c <<'EOCP' -typedef struct spug { int drokk; } spug; -main() -{ - const char *foo; - const spug y; -} -EOCP -if $cc -c $ccflags const.c >/dev/null 2>&1 ; then - val="$define" - echo "Yup, it does." -else - val="$undef" - echo "Nope, it doesn't." -fi -set d_const -eval $setvar - -: see if crypt exists -echo " " -if set crypt val -f d_crypt; eval $csym; $val; then - echo 'crypt() found.' >&4 - 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!' >&4 - val="$undef" - else - val="$define" - fi -fi -set d_crypt -eval $setvar -: see if crypt.h can be included -set crypt.h i_crypt -eval $inhdr - -: Do nothing by default -val="$undef" -set d_force_ipv4; eval $setvar - -echo " " -: see if floatingpoint.h can be included -set floatingpoint.h i_floatingpoint -eval $inhdr - -: see if fpsetround exists -$cat >test_fpsetround.c <<'EOCP' -#$i_floatingpoint I_FLOATINGPOINT -#ifdef I_FLOATINGPOINT -#include -#endif - -int main() { - fpsetround(FP_RN); -} -EOCP - -if ($cc $ccflags $ldflags -o test_fpsetround test_fpsetround.c $libs \ - && ./test_fpsetround) >/dev/null 2>&1 ; then - echo 'fpsetround() is around (and found).' >&4 - val="$define" -else - echo 'no fpsetround(). No problem.' >&4 - val="$undef" -fi -set d_fpsetround -eval $setvar - -: see if fpsetmask exists -$cat >test_fpsetmask.c <<'EOCP' -#$i_floatingpoint I_FLOATINGPOINT -#ifdef I_FLOATINGPOINT -#include -#endif - -int main() { - fpsetmask(0L); -} -EOCP - -if ($cc $ccflags $ldflags -o test_fpsetmask test_fpsetmask.c $libs && \ - ./test_fpsetmask) >/dev/null 2>&1 ; then - echo 'fpsetmask() is up to the task.' >&4 - val="$define" -else - echo 'no fpsetmask(). No problem.' >&4 - val="$undef" -fi -set d_fpsetmask -eval $setvar - -$rm -f test_fpset* core - -: see if gai_strerror exists -set gai_strerror d_gaistr -eval $inlibc - -: see if getaddrinfo exists -set getaddrinfo d_getadinf -eval $inlibc - -: see which of string.h or strings.h is needed -echo " " -strings=`./findhdr string.h` -if $test "$strings" && $test -r "$strings"; then - echo "Using instead of ." >&4 - val="$define" -else - val="$undef" - strings=`./findhdr strings.h` - if $test "$strings" && $test -r "$strings"; then - echo "Using instead of ." >&4 - else - echo "No string header found -- You'll surely have problems." >&4 - fi -fi -set i_string -eval $setvar -case "$i_string" in -"$undef") strings=`./findhdr strings.h`;; -*) strings=`./findhdr string.h`;; -esac - -: see if getdate exists -set getdate d_getdate -eval $inlibc - -if test $d_getdate = 'define'; then -$cat >test_getdate.c < -#else -#include -#endif -#include -#ifdef __GNUC__ -/* Required to get the getdate() prototype on glibc. */ -#define __USE_XOPEN_EXTENDED -#endif -#include -int main(int argc, char **argv) { - int i; - i = getdate_err; -} -EOCP - -if $cc $ccflags $ldflags -o test_getdate test_getdate.c $libs >/dev/null 2>&1 ; then - d_getdate='define' -else - d_getdate='undef' - echo "You may have getdate, but it's broken." >&4 -fi -$rm -f test_getdate* core - -fi - -: see if gethostbyname2 exists -set gethostbyname2 d_gethbynm2 -eval $inlibc - -: see if getnameinfo exists - along with constants we use -set getnameinfo d_getnminf -eval $inlibc - -if test $d_getnminf = 'define'; then - -echo " " -$cat >test_getnminf.c < -int main(int argc, char **argv) { - int i; - i = NI_MAXHOST + NI_MAXSERV + NI_NOFQDN + NI_NUMERICHOST + NI_NAMEREQD; - i += NI_NUMERICSERV + NI_DGRAM; -} -EOCP - -if $cc $ccflags $ldflags -o test_getnminf test_getnminf.c $libs >/dev/null 2>&1 ; then - d_getnminf='define' - echo "You've got getnameinfo and the netdb constants." >&4 -else - d_getnminf='undef' - echo "You've got getnameinfo but not the NI_* constants! Broken!" >&4 -fi -$rm -f test_getnminf* core - -fi -: see if sysctl exists -set sysctl d_sysctl -eval $inlibc -: see if sysctlbyname exists -set sysctlbyname d_sysctlbyname -eval $inlibc - -: see if getpagesize exists -set getpagesize d_getpagsz -eval $inlibc - -: determine the system page size -echo " " -guess=' (OK to guess)' -case "$pagesize" in -'') - $cat >page.c < -extern int getpagesize(); -int main() -{ - printf("%d\n", getpagesize()); -} -EOP - echo "Computing the granularity of memory management calls..." >&4 - dflt='4096' - case "$d_getpagsz" in - "$define") - if $cc $ccflags $ldflags page.c -o page $libs >/dev/null 2>&1; then - dflt=`./page` - guess='' - else - echo "(I can't seem to compile the test program--guessing)" - fi - ;; - *) - if $cc $ccflags $ldflags page.c -o page $libs -lPW >/dev/null 2>&1; then - dflt=`./page` - guess='' - echo "(For your eyes only: I used the getpagesize() from -lPW.)" - else - if $contains PAGESIZE `./findhdr sys/param.h` >/dev/null 2>&1; then - $cat >page.c < -#include -int main() -{ - printf("%d\n", PAGESIZE); -} -EOP - if $cc $ccflags $ldflags page.c -o page $libs >/dev/null 2>&1; then - dflt=`./page` - guess='' - echo "(Using value of PAGESIZE found in .)" - else - if $test "x$d_sysctlbyname" = "x$define"; then - $cat >page.c < -#include -#include -int main() -{ - int res, pgsize - size_t len; - len = sizeof(pgsize); - res = sysctlbyname("hw.pagesize",&pgsize,&len,NULL,0); - if (res < 0) - res = sysctlbyname("hw_pagesize",&pgsize,&len,NULL,0); - printf("%d\n", res ? -1 : pgsize); -} -EOP - if $cc $ccflags $ldflags page.c -o page $libs >/dev/null 2>&1; then - dflt=`./page` - if $test $dflt -gt 0; then - guess='' - echo "(Using value from sysctlbyname)" - else - dflt='4096' - fi - fi - fi - fi - fi - fi - ;; - esac - ;; -*) dflt="$pagesize"; guess='';; -esac -rp="What is the system page size, in bytes$guess?" -. ./myread -pagesize=$ans -$rm -f page.c page - -: see if getpriority exists -set getpriority d_getprior -eval $inlibc - -: see if getdtablesize exists -echo " " -case "$d_gettblsz" in -$define) d_gettblsz="$undef";; -$undef) d_gettblsz="$define";; -esac -if set getdtablesize val -f d_gettblsz; eval $csym; $val; then - echo 'getdtablesize() found.' >&4 - d_gettblsz="$undef" - tablesize='' -else - echo 'getdtablesize() NOT found...' >&4 - if set ulimit val -f; eval $csym; $val; then - echo 'Maybe ulimit(4,0) will work...' - $cat >nofile.c <<'EOCP' -#include -#ifdef GETPARAM_H -#include -#endif -main() -{ - printf("%d %d\n", -#ifdef NOFILE - NOFILE, -#else - 0, -#endif - ulimit(4,0)); - exit(0); -} -EOCP - if $cc $ccflags -DGETPARAM_H nofile.c -o nofile $libs >/dev/null 2>&1 \ - || $cc $ccflags nofile.c -o nofile $libs >/dev/null 2>&1 ; then - set `./nofile` - d_gettblsz=$1 - d_ulimit4=$2 - if $test "$d_ulimit4" -lt 0; then - echo "Your ulimit() call doesn't tell me what I want to know." - echo "We'll just use NOFILE in this case." - nofile=$d_gettblsz - d_gettblsz="$define" - tablesize='NOFILE' - else - if $test "$d_gettblsz" -gt 0; then - echo "Your system defines NOFILE to be $d_gettblsz, and" >&4 - else - echo "I had trouble getting NOFILE from your system, but" >&4 - fi -echo "ulimit returns $d_ulimit4 as the number of available file descriptors." >&4 - dflt='y'; - echo " " - rp='Should I use ulimit to get the number of available file descriptors?' - . ./myread - case "$ans" in - y*) - nofile=$d_ulimit4 - d_gettblsz="$define" - tablesize='ulimit(4, 0L)' - echo "Using ulimit(4,0)." - ;; - *) - nofile=$d_gettblsz - d_gettblsz="$define" - tablesize='NOFILE' - echo "Using NOFILE." - ;; - esac - fi - else - echo "Strange, I couldn't get my test program to compile." - echo "We'll just use NOFILE in this case." - d_gettblsz="$define" - tablesize='NOFILE' - nofile='' - fi - else - echo 'Using NOFILE instead.' - d_gettblsz="$define" - tablesize='NOFILE' - nofile='' - fi -fi -$rm -f nofile* - -: check for a new-style definitions -echo " " -$cat >test_gettext.c < -#endif -int main(int argc, char **argv) { - return (int) gettext (""); -} -EOCP - -if $cc $ccflags $ldflags -o test_gettext test_gettext.c $libs >/dev/null 2>&1 ; then - d_gettext='define' - echo 'Voila! You seem to have gettext for translations.' >&4 -else - d_gettext='undef' - echo "You don't seem to have gettext. Quel dommage." >&4 -fi -$rm -f test_gettext* core - -: see if this is a values.h system -set values.h i_values -eval $inhdr - -: see if this is a limits.h system -set limits.h i_limits -eval $inhdr - -: see if we have HUGE, HUGE_VAL, MAXINT, or MAXDOUBLE -echo " " -echo "Let's try to figure out a really big double." >&4 - $cat >d_huge.c < -#include -#$i_values I_VALUES -#$i_limits I_LIMITS -#ifdef I_LIMITS -#include -#else -#ifdef I_VALUES -#include -#endif -#endif - -int main() -{ - printf("%f\n",HUGE_VAL); -} -EOCP - if $cc $ccflags $ldflags d_huge.c -o d_huge $libs >/dev/null 2>&1; then - val="$define" - set d_huge_val; eval $setvar - val="$undef" - set d_huge; eval $setvar - set d_maxdouble; eval $setvar - echo "Great. Your system defines HUGE_VAL." >&4 - else - val="$undef" - set d_huge_val; eval $setvar - echo "Your system doesn't have HUGE_VAL. Maybe HUGE?" >&4 - $cat >d_huge.c < -#include -#$i_values I_VALUES -#$i_limits I_LIMITS -#ifdef I_LIMITS -#include -#else -#ifdef I_VALUES -#include -#endif -#endif -int main() -{ - printf("%f\n",HUGE); -} -EOCP - - if $cc $ccflags $ldflags d_huge.c -o d_huge $libs >/dev/null 2>&1; then - val="$define" - set d_huge; eval $setvar - val="$undef" - set d_maxdouble; eval $setvar - echo "Good. Your system defines HUGE." >&4 - else - val="$undef" - set d_huge; eval $setvar - echo "Hmm. Your system doesn't define HUGE. MAX_DOUBLE?" >&4 - $cat >d_huge.c < -#include -#$i_limits I_LIMITS -#ifdef I_LIMITS -#include -#else -#$i_values I_VALUES -#ifdef I_VALUES -#include -#endif -#endif -int main() -{ - printf("%f\n",MAX_DOUBLE); -} -EOCP - - if $cc $ccflags $ldflags d_huge.c -o d_huge $libs >/dev/null 2>&1; then - val="$define" - echo "Ok, you've got MAXDOUBLE." >&4 - else - val="$undef" - echo "Nope, no MAXDOUBLE either. We'll guess one." >&4 - fi - set d_maxdouble; eval $setvar - fi -fi - - -echo " " -echo "Let's try to figure out a really big int, too." >&4 - $cat >d_huge.c < -#include -#$i_limits I_LIMITS -#ifdef I_LIMITS -#include -#else -#$i_values I_VALUES -#ifdef I_VALUES -#include -#endif -#endif -int main() -{ - printf("%d\n",INT_MAX); -} -EOCP - -if $cc $ccflags $ldflags d_huge.c -o d_huge $libs >/dev/null 2>&1; then - val="$define" - set d_int_max; eval $setvar - val="$undef" - set d_maxint; eval $setvar - echo "Ok, you've got INT_MAX." >&4 -else - val="$undef" - echo "No INT_MAX. Maybe MAXINT?" >&4 - set d_int_max; eval $setvar - $cat >d_huge.c < -#include -#$i_limits I_LIMITS -#ifdef I_LIMITS -#include -#else -#$i_values I_VALUES -#ifdef I_VALUES -#include -#endif -#endif -int main() -{ - printf("%d\n",MAXINT); -} -EOCP - if $cc $ccflags $ldflags d_huge.c -o d_huge $libs >/dev/null 2>&1; then - val="$define" - echo "Ok, you've got MAXINT." >&4 - set d_maxint; eval $setvar - else - val="$undef" - echo "No MAXINT. I give up. I'll take a guess." >&4 - set d_maxint; eval $setvar - fi -fi - -$rm -f d_huge* - -: check for a safe ieee -echo " " -echo "Let's see if your math functions handle errors nicely..." >&4 -$cat >test_ieee.c <<'EOCP' -#include -#include - -int main() { - double x; - x = pow(-1,.5); - x = pow(10000,10000); - printf("define\n"); - exit(0); -} -EOCP - -if $cc $ccflags $ldflags -o test_ieee test_ieee.c -lm >/dev/null 2>&1 ; then - d_ieee=`./test_ieee` - if test $d_ieee = define ; then - echo "Great! They can." >&4 - else - echo "Nope, they crash and burn." >&4 - d_ieee='undef' - fi -else - $cat </dev/null 2>&1 ; then - val="$define" - vali="$define" - echo "strchr() and index() found." >&4 - else - val="$undef" - vali="$define" - echo "index() found." >&4 - fi - else - val="$undef" - vali="$define" - echo "index() found." >&4 - fi -else - if set strchr val -f d_strchr; eval $csym; $val; then - val="$define" - vali="$undef" - echo "strchr() found." >&4 - else - echo "No index() or strchr() found!" >&4 - val="$undef" - vali="$undef" - fi -fi -set d_strchr; eval $setvar -val="$vali" -set d_index; eval $setvar - -: check for internet mailer -dflt=y -case "$d_internet" in -"$undef") dflt=n;; -esac -cat <d_ipv6.c < -#endif -#ifdef I_SYS_SOCK -#include -#endif -#ifdef I_NETINET_IN -#include -#else -#ifdef I_SYS_IN -#include -#endif -#endif -#include -main() -{ - struct sockaddr_in6 test; - int foo = AF_INET6; - printf("%d\n", foo); -} -EOCP -if $cc $ccflags $ldflags d_ipv6.c -o d_ipv6 $libs >/dev/null 2>&1; then - val="$define" - set d_ipv6; eval $setvar - echo "IPv6 structures found." >&4 -else - val="$undef" - set d_ipv6; eval $setvar - echo "No IPv6 structures found. No problem." >&4 -fi -: see if setitimer exists -set setitimer d_itimer -eval $inlibc - -socketlib='' -sockethdr='' -: see whether socket exists -echo " " -$echo $n "Hmm... $c" >&4 -if set socket val -f d_socket; eval $csym; $val; then - echo "Looks like you have Berkeley networking support." >&4 - d_socket="$define" - if set setsockopt val -f; eval $csym; $val; then - d_oldsock="$undef" - else - echo "...but it uses the old 4.1c interface, rather than 4.2" >&4 - d_oldsock="$define" - fi -else - if $contains socklib libc.list >/dev/null 2>&1; then - echo "Looks like you have Berkeley networking support." >&4 - d_socket="$define" - : we will have to assume that it supports the 4.2 BSD interface - d_oldsock="$undef" - else - echo "You don't have Berkeley networking in libc$_a..." >&4 - if test -f /usr/lib/libnet$_a; then - ( (nm $nm_opt /usr/lib/libnet$_a | eval $nm_extract) || \ - ar t /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." >&4 - socketlib="-lnet" - sockethdr="-I/usr/netinclude" - d_socket="$define" - if $contains setsockopt libc.list >/dev/null 2>&1; then - d_oldsock="$undef" - else - echo "...using the old 4.1c interface, rather than 4.2" >&4 - d_oldsock="$define" - fi - else - echo "or even in libnet$_a, which is peculiar." >&4 - d_socket="$undef" - d_oldsock="$undef" - fi - else - echo "or anywhere else I see." >&4 - d_socket="$undef" - d_oldsock="$undef" - fi - fi -fi - -: see if socketpair exists -set socketpair d_sockpair -eval $inlibc - -: see if this is a netinet/tcp.h system -set netinet/tcp.h i_nitcp -eval $inhdr - -: see if setsockopt with SO_KEEPALIVE works as advertised -echo " " -case "$d_oldsock" in -"$undef") - echo "OK, let's see if SO_KEEPALIVE works as advertised..." >&4 - $cat > socket.c < -#include -#include -#$i_nitcp I_NETINET_TCP -#ifdef I_NETINET_TCP -#include -#endif -#include - -main() -{ - int s = socket(AF_INET, SOCK_STREAM, 0); - int val = 1; - if (s == -1) - exit(1); - if (-1 == setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, &val, sizeof(val))) - exit(2); -#ifdef I_NETINET_TCP -#ifdef TCP_KEEPIDLE - val = 1; - if (-1 == setsockopt(s, IPPROTO_TCP, TCP_KEEPIDLE, &val, sizeof(val))) - exit(3); -#else - exit(3); -#endif -#endif - exit(0); -} -EOP - if $cc $ccflags $sockethdr socket.c -o socket $libs \ - $socketlib >/dev/null 2>&1; then - ./socket >/dev/null 2>&1 - case $? in - 0) echo "Yes, it does!" - val="$define" - val2="$i_nitcp" - ;; - 1) $cat <&4 - val="$define" -else - echo 'sigaction NOT found.' >&4 - val="$undef" -fi -$cat > set.c <<'EOP' -#include -#include -#include -main() -{ - struct sigaction act, oact; -} -EOP -if $cc $ccflags $ldflags -o set set.c $libs >/dev/null 2>&1; then - : -else - echo "But you don't seem to have a useable struct sigaction." >&4 - val="$undef" -fi -set d_sigaction; eval $setvar -$rm -f set set$_o set.c - -: see if signals are kept -val="$undef" -echo " " -echo "Checking to see if signal handlers stick around..." >&4 -if test ${d_sigaction} = "$define"; then - echo "You've got sigaction, so we can force 'em to." >&4 - val="$define" -else - $cat >try.c <<'EOCP' -foo() {} - -int main() -{ - signal(2, foo); - kill(getpid(), 2); - kill(getpid(), 2); - printf("abc\n"); -} -EOCP - if $cc -o try $ccflags $ldflags try.c >/dev/null 2>&1; then - sh -c ./try >try.out 2>/dev/null - if $contains abc try.out >/dev/null 2>&1; then - echo "Yes, they do." - val="$define"; - else - echo "No, they don't." - fi - else - $echo $n "(I can't seem to compile the test program. Assuming $c" - if ./bsd; then - echo "they do.)" - val="$define" - else - echo "they don't.)" - fi - fi -fi -set d_keepsig -eval $setvar -$rm -f try* - -: random, lrand48, or rand -set random d_random -eval $inlibc -set lrand48 d_lrand48 -eval $inlibc -set rand d_rand -eval $inlibc - -: see if memcpy exists -set memcpy d_memcpy -eval $inlibc -set memmove d_memmove -eval $inlibc - -: see if memset exists -set memset d_memset -eval $inlibc - -: see if we should include -lmysqlclient -echo " " - -d_mysql="$undef" - -if $test "x$no_mysql" = "x"; then - - libmysqlclient="-lmysqlclient" - - $cat > test_mysql.c < -#include -#include -#include - -int main(int argc, char **argv) { - printf("Your mysql is version %s\n",mysql_get_client_info()); - exit(0); -} -EOM - - if $cc $ccflags $ldflags -o test_mysql test_mysql.c $libs $libmysqlclient >/dev/null 2>&1 ; - then - echo 'You have mysql...' >&4 - version=`./test_mysql` - if $test $? -eq 0; then - echo "$version" >&4 - d_mysql="$define" - else - echo "...but my test program didn't run correctly." >&4 - libmysqlclient='' - fi - else - echo "You don't seem to have mysql." >&4 - libmysqlclient='' - fi - $rm -f test_mysql* core - -else - - echo "Skipping mysql tests." >&4 - libmysqlclient='' - -fi - -: check for a new-style definitions -echo " " -$cat >test_newstyle.c <<'EOCP' -#include -int main(int argc, char **argv) { - exit(0); -} -EOCP - -if $cc $ccflags $ldflags -o test_newstyle test_newstyle.c >/dev/null 2>&1 ; then - d_newstyle='define' - echo 'Your compiler accepts new-style function definitions.' >&4 -else - d_newstyle='undef' - echo "Your compiler DOESN'T accept new-style function definitions." >&4 -fi -$rm -f test_newstyle* core - -: Locate the flags for 'open()' -echo " " -$cat >open3.c <<'EOCP' -#include -#ifdef I_FCNTL -#include -#endif -#ifdef I_SYS_FILE -#include -#endif -int 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 "`./findhdr sys/file.h`" && \ - $cc $ccflags $ldflags "-DI_SYS_FILE" open3.c -o open3 $libs >/dev/null 2>&1 ; then - h_sysfile=true; - echo " defines the O_* constants..." >&4 - if ./open3; then - echo "and you have the 3 argument form of open()." >&4 - val="$define" - else - echo "but not the 3 argument form of open(). Oh, well." >&4 - val="$undef" - fi -elif $test "`./findhdr fcntl.h`" && \ - $cc $ccflags $ldflags "-DI_FCNTL" open3.c -o open3 $libs >/dev/null 2>&1 ; then - h_fcntl=true; - echo " defines the O_* constants..." >&4 - if ./open3; then - echo "and you have the 3 argument form of open()." >&4 - val="$define" - else - echo "but not the 3 argument form of open(). Oh, well." >&4 - val="$undef" - fi -else - val="$undef" - echo "I can't find the O_* constant definitions! You got problems." >&4 -fi -set d_open3 -eval $setvar -$rm -f open3* - -: see if we should include -lssl and -lcrypto -echo " " - -d_openssl="$undef" - -if $test "x$no_openssl" = "x"; then - - libssl="-lssl -lcrypto" - - $cat > test_ssl.c < -#include -#include -int main(int argc, char **argv) { - printf("Your openssl is version %lx\n",OPENSSL_VERSION_NUMBER); - exit(OPENSSL_VERSION_NUMBER < 0x00906000L); -} -EOM - - if $cc $ccflags $ldflags -o test_ssl test_ssl.c $libs $libssl >/dev/null 2>&1 ; - then - echo 'You have openssl...' >&4 - version=`./test_ssl` - if $test $? -eq 0; then - echo '...and at least version 0.9.6. Great.' >&4 - d_openssl="$define" - else - echo '...but not version 0.9.6 or later.' >&4 - libssl='' - fi - else - echo "You don't seem to have openssl." >&4 - libssl='' - fi - $rm -f test_ssl* core - -else - - echo "Skipping openssl tests." >&4 - libssl='' - -fi - -: see if rename exists -set rename d_rename -eval $inlibc - -: see if getrlimit exists -set getrlimit d_rlimit -eval $inlibc - -: see if getrusage exists -set getrusage d_rusage -eval $inlibc - -: see if select exists -set select d_select -eval $inlibc - -: have we got sendmail? -echo " " -echo "Checking to see if we can use sendmail..." -if $test -f $sendmail; then - echo "Looks like sendmail is in $sendmail" - val="$define" -else - echo "Nope, out of luck." - val="$undef" -fi -set d_sendmail -eval $setvar - -: see if setlocale exists -set setlocale d_setlocale -eval $inlibc - -: see if setpgid exists -set setpgid d_setpgid -eval $inlibc - -: see if setpriority exists -set setpriority d_setprior -eval $inlibc - -: see if we have SIGCHLD, SIGCLD, or both -echo " " -echo "How should a child signal a parent?" >&4 -$cat >d_sigchld.c < -#include -int main() -{ - printf("%d\n",SIGCHLD); -} -EOCP -if $cc $ccflags $ldflags d_sigchld.c -o d_sigchld $libs >/dev/null 2>&1; then - val="$define" - set d_sigchld; eval $setvar - echo "SIGCHLD works." -else - val="$undef" - set d_sigchld; eval $setvar - echo "SIGCHLD doesn't work." -fi - -$cat >d_sigchld.c < -#include -int main() -{ - printf("%d\n",SIGCLD); -} -EOCP -if $cc $ccflags $ldflags d_sigchld.c -o d_sigchld $libs >/dev/null 2>&1; then - val="$define" - set d_sigcld; eval $setvar - echo "SIGCLD works." -else - val="$undef" - set d_sigcld; eval $setvar - echo "SIGCLD doesn't work." -fi -: Cruising for prototypes -echo " " -echo "Checking out function prototypes..." >&4 -$cat >prototype.c <<'EOCP' -main(int argc, char *argv[]) { - exit(0);} -EOCP -if $cc $ccflags -c prototype.c >prototype.out 2>&1 ; then - echo "Your C compiler appears to support function prototypes." - val="$define" -else - echo "Your C compiler doesn't seem to understand function prototypes." - val="$undef" -fi -set prototype -eval $setvar -$rm -f prototype* - -: see if signal is declared as pointer to function returning int or void -echo " " -xxx=`./findhdr signal.h` -$test "$xxx" && $cppstdin $cppminus $cppflags < $xxx >$$.tmp 2>/dev/null -if $contains 'int.*\*[ ]*signal' $$.tmp >/dev/null 2>&1 ; then - echo "You have int (*signal())() instead of void." >&4 - val="$undef" -elif $contains 'void.*\*[ ]*signal' $$.tmp >/dev/null 2>&1 ; then - echo "You have void (*signal())() instead of int." >&4 - val="$define" -elif $contains 'extern[ ]*[(\*]*signal' $$.tmp >/dev/null 2>&1 ; then - echo "You have int (*signal())() instead of void." >&4 - val="$undef" -else - case "$d_voidsig" in - '') - echo "I can't determine whether signal handler returns void or int..." >&4 - dflt=void - rp="What type does your signal handler return?" - . ./myread - case "$ans" in - v*) val="$define";; - *) val="$undef";; - esac;; - "$define") - echo "As you already told me, signal handler returns void." >&4;; - *) - echo "As you already told me, signal handler returns int." >&4;; - esac -fi -set d_voidsig -eval $setvar -case "$d_voidsig" in -"$define") signal_t="void";; -*) signal_t="int";; -esac -$rm -f $$.tmp - -: can we prototype signal ourselves -val="$undef" -echo " " -echo "Checking to see if we can declare or prototype signal()..." >&4 -if test ${prototype} = "$define"; then - $cat >try.c < -#include -#ifdef signal -#undef signal -#endif -typedef ${signal_t} (*Sigfunc) (int); -extern Sigfunc signal (int signo, Sigfunc func); -int main() -{ printf("no op\n"); } -EOCP -else - $cat >try.c < -#include -#ifdef signal -#undef signal -#endif -typedef ${signal_t} (*Sigfunc) (); -extern Sigfunc signal (); -int main() -{ printf("no op\n"); } -EOCP -fi -if $cc -o try $ccflags $ldflags try.c >/dev/null 2>&1; then - $echo "Looks like we can." - val="$define"; -else - $echo "Looks like we can't." -fi -set d_signalproto -eval $setvar -$rm -f try* - -echo " " -: see if we have sigprocmask -if set sigprocmask val -f d_sigprocmask; eval $csym; $val; then - echo 'sigprocmask() found.' >&4 - val="$define" -else - echo 'sigprocmask NOT found.' >&4 - val="$undef" -fi -$cat > set.c <<'EOP' -#include -#include -#include -main() -{ - sigset_t mask, oldmask; - sigprocmask(SIG_SETMASK, &mask, &oldmask); -} -EOP -if $cc $ccflags $ldflags -o set set.c $libs >/dev/null 2>&1; then - : -else - echo "But you don't seem to have a working sigprocmask." >&4 - val="$undef" -fi -set d_sigprocmask; eval $setvar -$rm -f set set$_o set.c - -: see if snprintf exists -echo " " -if set snprintf val -f d_snprintf; eval $csym; $val; then - echo 'snprintf() found.' >&4 - val="$define" -else - echo 'snprintf() NOT found.' >&4 - val="$undef" -fi -set d_snprintf -eval $setvar - -: see if we have socklen_t. -echo " " -$cat >d_socklen.c < -#endif -#ifdef I_SYS_SOCKET -#include -#endif -#include -main() -{ - socklen_t test = 1; - printf("%d\n",test); -} -EOCP -if $cc $ccflags $ldflags d_socklen.c -o d_socklen $libs >/dev/null 2>&1; then - val="$define" - set d_socklen; eval $setvar - echo "socklen_t works." >&4 -else - val="$undef" - set d_socklen; eval $setvar - echo "socklen_t doesn't work. Using int." >&4 -fi -: see if strcasecmp exists -set strcasecmp d_strccmp -eval $inlibc - -: see if strcoll exists -set strcoll d_strcoll -eval $inlibc - -: see if strdup exists -set strdup d_strdup -eval $inlibc - -: see if strxfrm exists -set strxfrm d_strxfrm -eval $inlibc - -: see if sysconf exists -set sysconf d_sysconf -eval $inlibc - -: see if tcl exists -echo " " -ok=0 - -if $test -f src/tcl.c -o -f ../src/tcl.c ; then - echo "I'm tickled pink - we have the penn TCL source." >&4 - echo "Let's see if we have TCL." >&4 - -: see if tcl.h can be included - set tcl.h i_tcl - eval $inhdr - if $test $i_tcl = "$define"; then - echo "We have tcl.h, that's a start." >&4 - : see if the tcl library was found earlier - case $libs in - *tcl*) val="$define" - set d_tcl - eval $setvar - echo "We have the TCL library, too." >&4 - ok=1 - ;; - *) echo "Oops, no TCL library. Check your TCL installation." >&4 - ;; - esac - else - echo "I can't find tcl.h. Check your TCL installation." >&4 - fi -fi - -if $test $ok = 0; then - nlibs="" - for l in $libs; do - case $l in - *tcl*) ;; - *dl*) ;; - *ld*) ;; - *) nlibs="$nlibs$l " ;; - esac - done - libs="$nlibs" - val="$undef" - set d_tcl - eval $setvar - val="$undef" - set i_tcl - eval $setvar -else - echo "TCL will be compiled and included." >&4 -fi -: check for a new-style definitions -echo " " -$cat >test_textdomain.c < -#endif -int main(int argc, char **argv) { - return (int) textdomain (""); -} -EOCP - -if $cc $ccflags $ldflags -o test_textdomain test_textdomain.c $libs >/dev/null 2>&1 ; then - d_textdomain='define' - echo 'Mabuhay! You seem to have textdomain for translations.' >&4 -else - d_textdomain='undef' - echo "You don't seem to have textdomain. Sayang." >&4 -fi -$rm -f test_textdomain* core - -: see if timelocal exists -set timelocal d_timelocal -eval $inlibc - -: check for a safe toupper -echo " " -echo "Checking out your toupper()..." >&4 -$cat >test_toupper.c <<'EOCP' -#include -#include - -int main() { - char c = 'A'; - if (c == toupper(c)) { - printf("define\n"); - } else { - printf("undef\n"); - } - exit(0); -} -EOCP - -if $cc $ccflags $ldflags -o test_toupper test_toupper.c >/dev/null 2>&1 ; then - d_toupper=`./test_toupper` - if test $d_toupper = define ; then - echo "It's safe toupper uppers." >&4 - else - echo "We can't toupper uppers." >&4 - fi -else - $cat <Cppsym.know -$cat <Cppsym -$startsh -case "\$1" in --l) list=true - shift - ;; -esac -unknown='' -case "\$list\$#" in -1|2) - for sym do - if $contains "^\$1$" Cppsym.true >/dev/null 2>&1; then - exit 0 - elif $contains "^\$1$" Cppsym.know >/dev/null 2>&1; then - : - else - unknown="\$unknown \$sym" - fi - done - set X \$unknown - shift - ;; -esac -case \$# in -0) exit 1;; -esac -echo \$* | $tr ' ' '\012' | $sed -e 's/\(.*\)/\\ -#ifdef \1\\ -exit 0; _ _ _ _\1\\ \1\\ -#endif\\ -/' >Cppsym\$\$ -echo "exit 1; _ _ _" >>Cppsym\$\$ -$cppstdin $cppminus Cppsym2\$\$ -case "\$list" in -true) $awk 'NF > 5 {print substr(\$6,2,100)}' Cppsym.true - -: now check the C compiler for additional symbols -$cat >ccsym <tmp.c <&1\` -do - case "\$i" in - -D*) echo "\$i" | $sed 's/^-D//';; - -A*) $test "$gccversion" && echo "\$i" | $sed 's/^-A\(.*\)(\(.*\))/\1=\2/';; - esac -done -$rm -f try.c -EOS -chmod +x ccsym -$eunicefix ccsym -./ccsym | $sort | $uniq >ccsym.raw -$awk '/\=/ { print $0; next } - { print $0"=1" }' ccsym.raw >ccsym.list -$awk '{ print $0"=1" }' Cppsym.true >ccsym.true -$comm -13 ccsym.true ccsym.list >ccsym.own -$comm -12 ccsym.true ccsym.list >ccsym.com -$comm -23 ccsym.true ccsym.list >ccsym.cpp -also='' -symbols='symbols' -if $test -z ccsym.raw; then - echo "Your C compiler doesn't seem to define any symbol!" >&4 - echo " " - echo "However, your C preprocessor defines the following ones:" - $cat Cppsym.true -else - if $test -s ccsym.com; then - echo "Your C compiler and pre-processor define these symbols:" - $sed -e 's/\(.*\)=.*/\1/' ccsym.com - also='also ' - symbols='ones' - $test "$silent" || sleep 1 - fi - if $test -s ccsym.cpp; then - $test "$also" && echo " " - echo "Your C pre-processor ${also}defines the following $symbols:" - $sed -e 's/\(.*\)=.*/\1/' ccsym.cpp - also='further ' - $test "$silent" || sleep 1 - fi - if $test -s ccsym.own; then - $test "$also" && echo " " - echo "Your C compiler ${also}defines the following cpp variables:" - $sed -e 's/\(.*\)=1/\1/' ccsym.own - $sed -e 's/\(.*\)=.*/\1/' ccsym.own | $uniq >>Cppsym.true - $test "$silent" || sleep 1 - fi -fi -$rm -f ccsym* - -: see if this is a stdint system -val="$undef" -if $test "`./findhdr stdint.h`"; then - val="$define" - echo " found." >&4 -fi -echo " " -set i_stdint; eval $setvar -: see if we have uint32_t -echo "Let's try to figure out a really big double." >&4 -echo " " - $cat >d_uint32.c < -#$i_stdint I_STDINT -#ifdef I_STDINT -#include -#endif - -int main() -{ - uint32_t a; - a = 2*2*2*2; - a *= a; /* 2^8 */ - a *= a; /* 2^16 */ - a *= a; /* 2^32 */ - a += 1; /* 2^32 + 1 */ - if (a == 1) - printf("ok\n"); - else - printf("not ok\n"); -} -EOCP - -if $cc $ccflags $ldflags d_uint32.c -o d_uint32 $libs >/dev/null 2>&1; then - val=`./d_uint32` - if test $val = "ok" ; then - val="$define" - set d_uint32_t; eval $setvar - echo "You have uint32_t." >&4 - else - val="$undef" - set d_uint32_t; eval $setvar - echo "You don't have uint32_t, hope you're a 32 bit machine." >&4 - fi -else - val="$undef" - set d_uint32_t; eval $setvar - echo "I can't tell if you have uint32_t, hope you're a 32 bit machine." >&4 -fi - -$rm -f d_uint32* - -: uptime -echo " " -if $test -x $uptime ; then - val="$define" -else - val="$undef" -fi -set d_uptime; eval $setvar - -: see if /dev/urandom is present -echo " " -if $test -c /dev/urandom ; then - val="$define" -else - val="$undef" -fi -set d_urandom; eval $setvar - -: see if union wait is available -echo " " -set X $cppflags -shift -flags='' -also='' -for f in $*; do - case "$f" in - *NO_PROTO*) ;; - *) flags="$flags $f";; - esac -done -xxx="`./findhdr sys/wait.h`" -case "x$xxx" in -x) xxx=/dev/null -esac -$cat "$xxx" | $cppstdin $flags $cppminus >wait.out 2>/dev/null -if $contains 'union.*wait.*{' wait.out >/dev/null 2>&1 ; then - echo "Looks like your knows about 'union wait'..." >&4 - val="$define" - also='also ' - if $contains 'extern.*wait[ ]*([ ]*int' wait.out >/dev/null 2>&1 - then - echo "But wait() seems to expect an 'int' pointer (POSIX way)." >&4 - val="$undef" - also='' - elif $contains 'extern.*wait[ ]*([ ]*union' wait.out >/dev/null 2>&1 - then - echo "And indeed wait() expects an 'union wait' pointer (BSD way)." >&4 - else - echo "So we'll use that for wait()." >&4 - fi -else - echo "No trace of 'union wait' in ..." >&4 - val="$undef" - echo "Your wait() should be happy with a plain 'int' pointer." >&4 -fi -set d_uwait -eval $setvar -$rm -f wait.out - -: see if this is a termio system -val="$undef" -val2="$undef" -val3="$undef" -if $test "`./findhdr termios.h`"; then - set tcsetattr i_termios - eval $inlibc - val3="$i_termios" -fi -echo " " -case "$val3" in -"$define") echo "You have POSIX termios.h... good!" >&4;; -*) if ./Cppsym pyr; then - case "`/bin/universe`" in - ucb) if $test "`./findhdr sgtty.h`"; then - val2="$define" - echo " found." >&4 - else - echo "System is pyramid with BSD universe." - echo " not found--you could have problems." >&4 - fi;; - *) if $test "`./findhdr termio.h`"; then - val="$define" - echo " found." >&4 - else - echo "System is pyramid with USG universe." - echo " not found--you could have problems." >&4 - fi;; - esac - elif ./usg; then - if $test "`./findhdr termio.h`"; then - echo " found." >&4 - val="$define" - elif $test "`./findhdr sgtty.h`"; then - echo " found." >&4 - val2="$define" - else -echo "Neither nor found--you could have problems." >&4 - fi - else - if $test "`./findhdr sgtty.h`"; then - echo " found." >&4 - val2="$define" - elif $test "`./findhdr termio.h`"; then - echo " found." >&4 - val="$define" - else -echo "Neither nor found--you could have problems." >&4 - fi - fi;; -esac -set i_termio; eval $setvar -val=$val2; set i_sgtty; eval $setvar -val=$val3; set i_termios; eval $setvar - -: see if ioctl defs are in sgtty, termio, sys/filio or sys/ioctl -set sys/filio.h i_sysfilio -eval $inhdr -echo " " -if $test "`./findhdr sys/ioctl.h`"; then - val="$define" - echo ' found.' >&4 -else - val="$undef" - if $test $i_sysfilio = "$define"; then - echo ' NOT found.' >&4 - else - $test $i_sgtty = "$define" && xxx="sgtty.h" - $test $i_termio = "$define" && xxx="termio.h" - $test $i_termios = "$define" && xxx="termios.h" -echo "No found, assuming ioctl args are defined in <$xxx>." >&4 - fi -fi -set i_sysioctl -eval $setvar - -: check how to void tty association -echo " " -case "$i_sysioctl" in -"$define") xxx='sys/ioctl.h';; -esac -$cat > tcio.c < /* Just in case */ -#include <$xxx> - -int main() -{ -#ifdef TIOCNOTTY - exit(0); -#else - exit(1); -#endif -} -EOM -if ($cc -o tcio tcio.c && ./tcio) >/dev/null 2>&1; then - val="$define" - echo "TIOCNOTTY found in <$xxx>." >&4 - echo "Using ioctl() call on /dev/tty to void tty association." >&4 -else - val="$undef" - echo "Closing standard file descriptors should void tty association." >&4 -fi -set d_voidtty -eval $setvar -$rm -f tcio tcio.? core - -: check for volatile keyword -echo " " -echo 'Checking to see if your C compiler knows about "volatile"...' >&4 -$cat >try.c <<'EOCP' -main() -{ - typedef struct _goo_struct goo_struct; - goo_struct * volatile goo = ((goo_struct *)0); - struct _goo_struct { - long long_int; - int reg_int; - char char_var; - }; - 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 vsnprintf exists -echo " " -if set vsnprintf val -f d_vsnprintf; eval $csym; $val; then - echo 'vsnprintf() found.' >&4 - val="$define" -else - echo 'vsnprintf() NOT found.' >&4 - val="$undef" -fi -set d_vsnprintf -eval $setvar - -: see if waitpid exists -set waitpid d_waitpid -eval $inlibc - -: check for a __cdecl use -echo " " -$cat >test_cdecl.c <<'EOCP' -#include -#include -#define WIN32_CDECL __cdecl - -int WIN32_CDCEL main(int argc, char **argv) { - exit(0); -} -EOCP - -if ($cc $ccflags -o test_cdecl test_cdecl.c && ./test_cdecl) >/dev/null 2>&1 ; then - cdecl='__cdecl' - echo 'Your compiler likes __cdecl as a keyword.' >&4 -else - cdecl='' - echo "Your compiler doesn't grok __cdecl - it probably has a brain." >&4 -fi -$rm -f test_cdecl* core - -: check for void type -echo " " -echo "Checking to see how well your C compiler groks the void type..." >&4 -echo " " -$cat >&4 <try.c <<'EOCP' -#if TRY & 1 -void sub() { -#else -sub() { -#endif - extern void moo(); /* function returning void */ - void (*goo)(); /* ptr to func returning void */ -#if TRY & 8 - void *hue; /* generic ptr */ -#endif -#if TRY & 2 - void (*foo[10])(); -#endif - -#if TRY & 4 - if(goo == moo) { - exit(0); - } -#endif - exit(0); -} -main() { sub(); } -EOCP - if $cc $ccflags -c -DTRY=$defvoidused try.c >.out 2>&1 ; then - voidflags=$defvoidused - echo "It appears to support void to the level $package wants ($defvoidused)." - if $contains warning .out >/dev/null 2>&1; then - echo "However, you might get some warnings that look like this:" - $cat .out - fi - else -echo "Hmm, your compiler has some difficulty with void. Checking further..." >&4 - if $cc $ccflags -c -DTRY=1 try.c >/dev/null 2>&1; then - echo "It supports 1..." - if $cc $ccflags -c -DTRY=3 try.c >/dev/null 2>&1; then - echo "It also supports 2..." - if $cc $ccflags -c -DTRY=7 try.c >/dev/null 2>&1; then - voidflags=7 - echo "And it supports 4 but not 8 definitely." - else - echo "It doesn't support 4..." - if $cc $ccflags -c -DTRY=11 try.c >/dev/null 2>&1; then - voidflags=11 - echo "But it supports 8." - else - voidflags=3 - echo "Neither does it support 8." - fi - fi - else - echo "It does not support 2..." - if $cc $ccflags -c -DTRY=13 try.c >/dev/null 2>&1; then - voidflags=13 - echo "But it supports 4 and 8." - else - if $cc $ccflags -c -DTRY=5 try.c >/dev/null 2>&1; then - voidflags=5 - echo "And it supports 4 but has not heard about 8." - else - echo "However it supports 8 but not 4." - fi - fi - fi - else - echo "There is no support at all for void." - voidflags=0 - fi - fi -esac -case "$voidflags" in -"$defvoidused") ;; -*) - dflt="$voidflags"; - rp="Your void support flags add up to what?" - . ./myread - voidflags="$ans" - ;; -esac -$rm -f try.* .out - -: see if this is a malloc.h system -set malloc.h i_malloc -eval $inhdr - -: see if stdlib is available -set stdlib.h i_stdlib -eval $inhdr - -: compute the return types of malloc and free -echo " " -$cat >malloc.c < -#include -#ifdef I_MALLOC -#include -#endif -#ifdef I_STDLIB -#include -#endif -#ifdef TRY_MALLOC -void *malloc(); -#endif -#ifdef TRY_FREE -void free(); -#endif -END -case "$malloctype" in -'') - if $cc $ccflags -c -DTRY_MALLOC malloc.c >/dev/null 2>&1; then - malloctype='void *' - else - malloctype='char *' - fi - ;; -esac -echo "Your system wants malloc to return '$malloctype', it would seem." >&4 - -case "$freetype" in -'') - if $cc $ccflags -c -DTRY_FREE malloc.c >/dev/null 2>&1; then - freetype='void' - else - freetype='int' - fi - ;; -esac -echo "Your system uses $freetype free(), it would seem." >&4 -$rm -f malloc.[co] -: locate a BSD compatible install program -echo " " -echo "Looking for a BSD-compatible install program..." >&4 -creatdir='' -case "$install" in -'') - tryit='' - for dir in $pth; do - for file in ginstall installbsd scoinst install; do - if $test -f $dir/$file; then - tryit="$tryit $dir/$file" - fi - done - done - $cat >try.c </dev/null 2>&1; then - cp try try.ns - strip try >/dev/null 2>&1 - else - echo "(I can't seem to compile a trivial C program -- bypassing.)" - echo "try" >try - cp try try.ns - fi - $cat >tryinst </dev/null 2>&1 - if $test -d foo/bar; then - creatdir="$prog -d" - fi - (ls -l d/try >try.ls; ls -l d/try.ns >tryno.ls) 2>/dev/null - if (cmp -s d/try try && cmp -s d/try.ns try.ns && \ - $contains 'rwxrw-r--' tryno.ls && \ - $contains 'rw-r---w-' try.ls) >/dev/null 2>&1 - then - dflt="$prog" - echo "ok, that will do." - break - fi - echo "not good$either." - either=' either' - $rm -f try*.ls - done - $rm -rf foo d tryinst try try*.ls try.* - case "$dflt" in - '') - dflt='install' - ;; - esac - ;; -*) dflt="$install";; -esac -$cat <&4 -case "$installdir" in -'') - case "$creatdir" in - '') - $mkdir -p foo/bar >/dev/null 2>&1 - if $test -d foo/bar; then - echo "Great, we can build them using 'mkdir -p'." - creatdir='mkdir -p' - elif eval "$install -d foo/bar"; $test -d foo/bar; then - creatdir="install -d" - echo "It looks like '$creatdir' will do it for us." - fi - ;; - *) - eval "$creatdir foo/bar" >/dev/null 2>&1 - if $test -d foo/bar; then - echo "Ah! We can use '$creatdir' to do just that." - fi - ;; - esac - $rm -rf foo - case "$creatdir" in - '') - echo "Heck! Another ancient system lacking the comfort of modern ones!" - echo "We have no choice but to use plain old 'mkdir' -- wish me luck!" - installdir=mkdir - ;; - *) installdir="$creatdir";; - esac - ;; -*) echo "As you already told me, '$installdir' should work.";; -esac - -echo " " -echo "Checking if your $make program sets \$(MAKE)..." >&4 -case "$make_set_make" in -'') - $sed 's/^X //' > testmake.mak << 'EOF' -Xall: -X @echo 'maketemp="$(MAKE)"' -EOF - case "`$make -f testmake.mak 2>/dev/null`" in - *maketemp=*) make_set_make='#' ;; - *) make_set_make="MAKE=$make" ;; - esac - $rm -f testmake.mak - ;; -esac -case "$make_set_make" in -'#') echo "Yup, it does.";; -*) echo "Nope, it doesn't.";; -esac - -: see if we have to deal with yellow pages, now NIS. -if $test -d /usr/etc/yp || $test -d /etc/yp; then - if $test -f /usr/etc/nibindd; then - echo " " - echo "I'm fairly confident you're on a NeXT." - echo " " - rp='Do you get the passwd file via NetInfo?' - dflt=y - case "$passcat" in - nidump*) ;; - '') ;; - *) dflt=n;; - esac - . ./myread - case "$ans" in - y*) passcat='nidump passwd .' - ;; - *) echo "You told me, so don't blame me." - case "$passcat" in - nidump*) passcat='' - esac - ;; - esac - echo " " - rp='Do you get the hosts file via NetInfo?' - dflt=y - case "$hostcat" in - nidump*) ;; - '') ;; - *) dflt=n;; - esac - . ./myread - case "$ans" in - y*) hostcat='nidump hosts .';; - *) case "$hostcat" in - nidump*) hostcat='';; - esac - ;; - esac - fi - case "$passcat" in - nidump*) ;; - *) - case "$passcat" in - *ypcat*) dflt=y;; - '') if $contains '^\+' /etc/passwd >/dev/null 2>&1; then - dflt=y - else - dflt=n - fi;; - *) dflt=n;; - esac - echo " " - rp='Are you getting the passwd file via yellow pages?' - . ./myread - case "$ans" in - y*) passcat='ypcat passwd' - ;; - *) passcat='cat /etc/passwd' - ;; - esac - ;; - esac - case "$hostcat" in - nidump*) ;; - *) - case "$hostcat" in - *ypcat*) dflt=y;; - '') if $contains '^\+' /etc/passwd >/dev/null 2>&1; then - dflt=y - else - dflt=n - fi;; - *) dflt=n;; - esac - echo " " - rp='Are you getting the hosts file via yellow pages?' - . ./myread - case "$ans" in - y*) hostcat='ypcat hosts';; - *) hostcat='cat /etc/hosts';; - esac - ;; - esac -fi -case "$hostcat" in -'') hostcat='cat /etc/hosts';; -esac -case "$groupcat" in -'') groupcat='cat /etc/group';; -esac -case "$passcat" in -'') passcat='cat /etc/passwd';; -esac -case "$hostcat" in -'') hostcat='cat /etc/hosts';; -*) ;; -esac -case "$groupcat" in -'') groupcat='cat /etc/group';; -*) ;; -esac -case "$passcat" in -'') passcat='cat /etc/passwd';; -*) ;; -esac - -: now get the host name -echo " " -echo "Figuring out host name..." >&4 -case "$myhostname" in -'') cont=true - echo 'Maybe "hostname" will work...' - if tans=`sh -c hostname 2>&1` ; then - myhostname=$tans - phostname=hostname - cont='' - fi - ;; -*) cont='';; -esac -if $test "$cont"; then - if ./xenix; then - echo 'Oh, dear. Maybe "/etc/systemid" is the key...' - if tans=`cat /etc/systemid 2>&1` ; then - myhostname=$tans - phostname='cat /etc/systemid' - echo "Whadyaknow. Xenix always was a bit strange..." - cont='' - fi - elif $test -r /etc/systemid; then - echo "(What is a non-Xenix system doing with /etc/systemid?)" - fi -fi -if $test "$cont"; then - echo 'No, maybe "uuname -l" will work...' - if tans=`sh -c 'uuname -l' 2>&1` ; then - myhostname=$tans - phostname='uuname -l' - else - echo 'Strange. Maybe "uname -n" will work...' - if tans=`sh -c 'uname -n' 2>&1` ; then - myhostname=$tans - phostname='uname -n' - else - echo 'Oh well, maybe I can mine it out of whoami.h...' - if tans=`sh -c $contains' sysname $usrinc/whoami.h' 2>&1` ; then - myhostname=`echo "$tans" | $sed 's/^.*"\(.*\)"/\1/'` - phostname="sed -n -e '"'/sysname/s/^.*\"\\(.*\\)\"/\1/{'"' -e p -e q -e '}' <$usrinc/whoami.h" - else - case "$myhostname" in - '') echo "Does this machine have an identity crisis or something?" - phostname='';; - *) - echo "Well, you said $myhostname before..." - phostname='echo $myhostname';; - esac - fi - fi - fi -fi -: you do not want to know about this -set $myhostname -myhostname=$1 - -: verify guess -if $test "$myhostname" ; then - dflt=y - rp='Your host name appears to be "'$myhostname'".'" Right?" - . ./myread - case "$ans" in - y*) ;; - *) myhostname='';; - esac -fi - -: bad guess or no guess -while $test "X$myhostname" = X ; do - dflt='' - rp="Please type the (one word) name of your host:" - . ./myread - myhostname="$ans" -done - -: translate upper to lower if necessary -case "$myhostname" in -*[A-Z]*) - echo "(Normalizing case in your host name)" - myhostname=`echo $myhostname | ./tr '[A-Z]' '[a-z]'` - ;; -esac - -case "$myhostname" in -*.*) - dflt=`expr "X$myhostname" : "X[^.]*\(\..*\)"` - myhostname=`expr "X$myhostname" : "X\([^.]*\)\."` - echo "(Trimming domain name from host name--host name is now $myhostname)" - ;; -*) case "$mydomain" in - '') - { - test "X$hostcat" = "Xypcat hosts" && - ypmatch "$myhostname" hosts 2>/dev/null |\ - $sed -e 's/[ ]*#.*//; s/$/ /' > hosts && \ - $test -s hosts - } || { - $hostcat | $sed -n -e "s/[ ]*#.*//; s/\$/ / - /[ ]$myhostname[ . ]/p" > hosts - } - tmp_re="[ . ]" - $test x`$awk "/[0-9].*[ ]$myhostname$tmp_re/ { sum++ } - END { print sum }" hosts` = x1 || tmp_re="[ ]" - dflt=.`$awk "/[0-9].*[ ]$myhostname$tmp_re/ {for(i=2; i<=NF;i++) print \\\$i}" \ - hosts | $sort | $uniq | \ - $sed -n -e "s/$myhostname\.\([-a-zA-Z0-9_.]\)/\1/p"` - case `$echo X$dflt` in - X*\ *) echo "(Several hosts in /etc/hosts matched hostname)" - dflt=. - ;; - X.) echo "(You do not have fully-qualified names in /etc/hosts)" - ;; - esac - case "$dflt" in - .) - tans=`./loc resolv.conf X /etc /usr/etc` - if $test -f "$tans"; then - echo "(Attempting domain name extraction from $tans)" - dflt=.`$sed -n -e 's/ / /g' \ - -e 's/^search *\([^ ]*\).*/\1/p' $tans \ - | ./tr '[A-Z]' '[a-z]' 2>/dev/null` - case "$dflt" in - .) dflt=.`$sed -n -e 's/ / /g' \ - -e 's/^domain *\([^ ]*\).*/\1/p' $tans \ - | ./tr '[A-Z]' '[a-z]' 2>/dev/null` - ;; - esac - fi - ;; - esac - case "$dflt" in - .) echo "(No help from resolv.conf either -- attempting clever guess)" - dflt=.`sh -c domainname 2>/dev/null` - case "$dflt" in - '') dflt='.';; - .nis.*|.yp.*|.main.*) dflt=`echo $dflt | $sed -e 's/^\.[^.]*//'`;; - esac - ;; - esac - case "$dflt" in - .) echo "(Lost all hope -- silly guess then)" - dflt='.uucp' - ;; - esac - $rm -f hosts - ;; - *) dflt="$mydomain";; - esac;; -esac -echo " " -rp="What is your domain name?" -. ./myread -tans="$ans" -case "$ans" in -'') ;; -.*) ;; -*) tans=".$tans";; -esac -mydomain="$tans" - -: translate upper to lower if necessary -case "$mydomain" in -*[A-Z]*) - echo "(Normalizing case in your domain name)" - mydomain=`echo $mydomain | ./tr '[A-Z]' '[a-z]'` - ;; -esac - -: a little sanity check here -case "$phostname" in -'') ;; -*) - case `$phostname | ./tr '[A-Z]' '[a-z]'` in - $myhostname$mydomain|$myhostname) ;; - *) - case "$phostname" in - sed*) - echo "(That doesn't agree with your whoami.h file, by the way.)" - ;; - *) - echo "(That doesn't agree with your $phostname command, by the way.)" - ;; - esac - ;; - esac - ;; -esac - -: define an is-a-typedef? function -typedef='type=$1; var=$2; def=$3; shift; shift; shift; inclist=$@; -case "$inclist" in -"") inclist="sys/types.h";; -esac; -eval "varval=\$$var"; -case "$varval" in -"") - $rm -f temp.c; - for inc in $inclist; do - echo "#include <$inc>" >>temp.c; - done; - $cppstdin $cppflags $cppminus < temp.c >temp.E 2>/dev/null; - if $contains $type temp.E >/dev/null 2>&1; then - eval "$var=\$type"; - else - eval "$var=\$def"; - fi; - $rm -f temp.?;; -*) eval "$var=\$varval";; -esac' - -: see what type pids are declared as in the kernel -set pid_t pidtype int stdio.h sys/types.h -eval $typedef -dflt="$pidtype" -echo " " -rp="What type are process ids on this system declared as?" -. ./myread -pidtype="$ans" - -: see what type is used for size_t -set size_t sizetype 'unsigned int' stdio.h sys/types.h -eval $typedef -dflt="$sizetype" -echo " " -rp="What type is used for the length parameter for string functions?" -. ./myread -sizetype="$ans" - -: see if arpa/inet.h has to be included -set arpa/inet.h i_arpainet -eval $inhdr - -: see if arpa/nameser.h has to be included -set arpa/nameser.h i_arpanameser -eval $inhdr - -: see if errno.h can be included -set errno.h i_errno -eval $inhdr -: see if sys/errno.h can be included -set sys/errno.h i_syserrno -eval $inhdr -: see if this is a sys/file.h system -val='' -set sys/file.h val -eval $inhdr - -: do we need to include sys/file.h ? -case "$val" in -"$define") - echo " " - if $h_sysfile; then - val="$define" - echo "We'll be including ." >&4 - else - val="$undef" - echo "We won't be including ." >&4 - fi - ;; -*) - h_sysfile=false - ;; -esac -set i_sysfile -eval $setvar - -: see if fcntl.h is there -val='' -set fcntl.h val -eval $inhdr - -: see if we can include fcntl.h -case "$val" in -"$define") - echo " " - if $h_fcntl; then - val="$define" - echo "We'll be including ." >&4 - else - val="$undef" - if $h_sysfile; then - echo "We don't need to include if we include ." >&4 - else - echo "We won't be including ." >&4 - fi - fi - ;; -*) - h_fcntl=false - val="$undef" - ;; -esac -set i_fcntl -eval $setvar - -: see if locale.h is available -set locale.h i_locale -eval $inhdr - -: see if memory.h is available. -val='' -set memory.h val -eval $inhdr - -: See if it conflicts with string.h -case "$val" in -$define) - case "$strings" in - '') ;; - *) - $cppstdin $cppflags $cppminus < "$strings" > mem.h - if $contains 'memcpy' mem.h >/dev/null 2>&1; then - echo " " - echo "We won't be including ." - val="$undef" - fi - $rm -f mem.h - ;; - esac -esac -set i_memory -eval $setvar - -: see if netdb.h can be included -set netdb.h i_netdb -eval $inhdr -: see if setjmp.h can be included -set setjmp.h i_setjmp -eval $inhdr -: see if stdarg is available -echo " " -if $test "`./findhdr stdarg.h`"; then - echo " found." >&4 - valstd="$define" -else - echo " NOT found." >&4 - valstd="$undef" -fi - -: see if varags is available -echo " " -if $test "`./findhdr varargs.h`"; then - echo " found." >&4 -else - echo " NOT found, but that's ok (I hope)." >&4 -fi - -: set up the varargs testing programs -$cat > varargs.c < -#endif -#ifdef I_VARARGS -#include -#endif - -#ifdef I_STDARG -int f(char *p, ...) -#else -int f(va_alist) -va_dcl -#endif -{ - va_list ap; -#ifndef I_STDARG - char *p; -#endif -#ifdef I_STDARG - va_start(ap,p); -#else - va_start(ap); - p = va_arg(ap, char *); -#endif - va_end(ap); -} -EOP -$cat > varargs </dev/null 2>&1; then - echo "true" -else - echo "false" -fi -$rm -f varargs$_o -EOP -chmod +x varargs - -: now check which varargs header should be included -echo " " -i_varhdr='' -case "$valstd" in -"$define") - if `./varargs I_STDARG`; then - val='stdarg.h' - elif `./varargs I_VARARGS`; then - val='varargs.h' - fi - ;; -*) - if `./varargs I_VARARGS`; then - val='varargs.h' - fi - ;; -esac -case "$val" in -'') -echo "I could not find the definition for va_dcl... You have problems..." >&4 - val="$undef"; set i_stdarg; eval $setvar - val="$undef"; set i_varargs; eval $setvar - ;; -*) - set i_varhdr - eval $setvar - case "$i_varhdr" in - stdarg.h) - val="$define"; set i_stdarg; eval $setvar - val="$undef"; set i_varargs; eval $setvar - ;; - varargs.h) - val="$undef"; set i_stdarg; eval $setvar - val="$define"; set i_varargs; eval $setvar - ;; - esac - echo "We'll include <$i_varhdr> to get va_dcl definition." >&4;; -esac -$rm -f varargs* - -: see if stddef is available -set stddef.h i_stddef -eval $inhdr - -: see if sys/mman.h has to be included -set sys/mman.h i_sysmman -eval $inhdr - -: see if sys/page.h has to be included -set sys/page.h i_syspage -eval $inhdr - -: see if this is a sys/param system -set sys/param.h i_sysparam -eval $inhdr - -: see if sys/resource.h has to be included -set sys/resource.h i_sysresrc -eval $inhdr - -: see if sys/select.h has to be included -set sys/select.h i_sysselct -eval $inhdr - -: see if sys/stat.h is available -set sys/stat.h i_sysstat -eval $inhdr - -: see if we should include time.h, sys/time.h, or both -echo " " -echo "Testing to see if we should include , or both." >&4 -$echo $n "I'm now running the test program...$c" -$cat >try.c <<'EOCP' -#include -#ifdef I_TIME -#include -#endif -#ifdef I_SYSTIME -#ifdef SYSTIMEKERNEL -#define KERNEL -#endif -#include -#endif -#ifdef I_SYSSELECT -#include -#endif -main() -{ - struct tm foo; -#ifdef S_TIMEVAL - struct timeval bar; -#endif -#ifdef S_TIMEZONE - struct timezone tzp; -#endif - if (foo.tm_sec == foo.tm_sec) - exit(0); -#ifdef S_TIMEVAL - if (bar.tv_sec == bar.tv_sec) - exit(0); -#endif - exit(1); -} -EOCP -flags='' -for s_timezone in '-DS_TIMEZONE' ''; do -sysselect='' -for s_timeval in '-DS_TIMEVAL' ''; do -for i_systimek in '' '-DSYSTIMEKERNEL'; do -for i_time in '' '-DI_TIME'; do -for i_systime in '-DI_SYSTIME' ''; do - case "$flags" in - '') $echo $n ".$c" - if $cc $ccflags \ - $i_time $i_systime $i_systimek $sysselect $s_timeval $s_timezone \ - try.c -o try >/dev/null 2>&1 ; then - set X $i_time $i_systime $i_systimek $sysselect $s_timeval - shift - flags="$*" - echo " " - $echo $n "Succeeded with $flags$c" - fi - ;; - esac -done -done -done -done -done -timeincl='' -echo " " -case "$flags" in -*SYSTIMEKERNEL*) i_systimek="$define" - timeincl=`./findhdr sys/time.h` - echo "We'll include with KERNEL defined." >&4;; -*) i_systimek="$undef";; -esac -case "$flags" in -*I_TIME*) i_time="$define" - timeincl=`./findhdr time.h`" $timeincl" - echo "We'll include ." >&4;; -*) i_time="$undef";; -esac -case "$flags" in -*I_SYSTIME*) i_systime="$define" - timeincl=`./findhdr sys/time.h`" $timeincl" - echo "We'll include ." >&4;; -*) i_systime="$undef";; -esac -$rm -f try.c try - -: see if sys/vlimit.h has to be included -set sys/vlimit.h i_sysvlimit -eval $inhdr - -: see if this is a syswait system -set sys/wait.h i_syswait -eval $inhdr - -: determine the name of a reasonable mailer -case "$mailer" in -'') - if $test -f "$sendmail"; then - dflt="$sendmail" - elif $test -f "$smail"; then - dflt="$smail" - elif $test -f "$rmail"; then - dflt="$rmail" - elif $test -f /bin/mail; then - dflt=/bin/mail - else - dflt=$mail - fi - ;; -*) dflt="$mailer";; -esac -$cat <&4 - $mailer $list_request </dev/null 2>&1 -To: $list_request -Subject: Subscription request by configure - -$list_sub -EOM - ;; -[uU]*) echo "Sending mail to unsubscribe you from the $list_name list..." >&4 - $mailer $list_request </dev/null 2>&1 -To: $list_request -Subject: Unsubscription request by configure - -$list_unsub -EOM - ;; -esac - -: end of configuration questions -echo " " -echo "End of configuration questions." -echo " " - -: back to where it started -if test -d ../UU; then - cd .. -fi - -: configuration may be patched via a 'config.over' file -if $test -f config.over; then - echo " " - dflt=y - rp='I see a config.over file. Do you wish to load it?' - . UU/myread - case "$ans" in - n*) echo "OK, I'll ignore it.";; - *) . ./config.over - echo "Configuration override changes have been loaded." - ;; - esac -fi - -: in case they want portability, strip down executable paths -case "$d_portable" in -"$define") - echo " " - echo "Stripping down executable paths..." >&4 - for file in $loclist $trylist; do - eval $file="\$file" - done - ;; -esac - -: create config.sh file -echo " " -echo "Creating config.sh..." >&4 -$spitshell <config.sh -$startsh -# -# This file was produced by running the Configure script. It holds all the -# definitions figured out by Configure. Should you modify one of these values, -# do not forget to propagate your changes by running "Configure -der". You may -# instead choose to run each of the .SH files by yourself, or "Configure -S". -# - -# Package name : $package -# Source directory : $src -# Configuration time: $cf_time -# Configured by : $cf_by -# Target system : $myuname - -Author='$Author' -Date='$Date' -Header='$Header' -Id='$Id' -Locker='$Locker' -Log='$Log' -Mcc='$Mcc' -RCSfile='$RCSfile' -Revision='$Revision' -Source='$Source' -State='$State' -ar='$ar' -archobjs='$archobjs' -awk='$awk' -bash='$bash' -bison='$bison' -byacc='$byacc' -c='$c' -cat='$cat' -cc='$cc' -ccflags='$ccflags' -cdecl='$cdecl' -cf_by='$cf_by' -cf_email='$cf_email' -cf_name='$cf_name' -cf_time='$cf_time' -chgrp='$chgrp' -chmod='$chmod' -chown='$chown' -comm='$comm' -compress='$compress' -contains='$contains' -cp='$cp' -cpio='$cpio' -cpp='$cpp' -cppflags='$cppflags' -cpplast='$cpplast' -cppminus='$cppminus' -cpprun='$cpprun' -cppstdin='$cppstdin' -cryptlib='$cryptlib' -csh='$csh' -d_access='$d_access' -d_argsinfp='$d_argsinfp' -d_assert='$d_assert' -d_attribut='$d_attribut' -d_bcopy='$d_bcopy' -d_berknames='$d_berknames' -d_bindtextdomain='$d_bindtextdomain' -d_bsd='$d_bsd' -d_bsdsetpgrp='$d_bsdsetpgrp' -d_bzero='$d_bzero' -d_const='$d_const' -d_crypt='$d_crypt' -d_eunice='$d_eunice' -d_force_ipv4='$d_force_ipv4' -d_fpsetmask='$d_fpsetmask' -d_fpsetround='$d_fpsetround' -d_gaistr='$d_gaistr' -d_getadinf='$d_getadinf' -d_getdate='$d_getdate' -d_gethbynm2='$d_gethbynm2' -d_getnminf='$d_getnminf' -d_getpagsz='$d_getpagsz' -d_getprior='$d_getprior' -d_gettblsz='$d_gettblsz' -d_gettext='$d_gettext' -d_gnulibc='$d_gnulibc' -d_huge='$d_huge' -d_huge_val='$d_huge_val' -d_ieee='$d_ieee' -d_in2p='$d_in2p' -d_index='$d_index' -d_int_max='$d_int_max' -d_internet='$d_internet' -d_ipv6='$d_ipv6' -d_itimer='$d_itimer' -d_keepalive='$d_keepalive' -d_keepidle='$d_keepidle' -d_keepsig='$d_keepsig' -d_lrand48='$d_lrand48' -d_maxdouble='$d_maxdouble' -d_maxint='$d_maxint' -d_memcpy='$d_memcpy' -d_memmove='$d_memmove' -d_memset='$d_memset' -d_mymalloc='$d_mymalloc' -d_mysql='$d_mysql' -d_newstyle='$d_newstyle' -d_oldsock='$d_oldsock' -d_open3='$d_open3' -d_openssl='$d_openssl' -d_passnames='$d_passnames' -d_portable='$d_portable' -d_rand='$d_rand' -d_random='$d_random' -d_rename='$d_rename' -d_rlimit='$d_rlimit' -d_rusage='$d_rusage' -d_select='$d_select' -d_sendmail='$d_sendmail' -d_setlocale='$d_setlocale' -d_setpgid='$d_setpgid' -d_setpgrp='$d_setpgrp' -d_setprior='$d_setprior' -d_sigaction='$d_sigaction' -d_sigchld='$d_sigchld' -d_sigcld='$d_sigcld' -d_signalproto='$d_signalproto' -d_sigprocmask='$d_sigprocmask' -d_snprintf='$d_snprintf' -d_socket='$d_socket' -d_socklen='$d_socklen' -d_sockpair='$d_sockpair' -d_strccmp='$d_strccmp' -d_strchr='$d_strchr' -d_strcoll='$d_strcoll' -d_strdup='$d_strdup' -d_strxfrm='$d_strxfrm' -d_sysconf='$d_sysconf' -d_sysctl='$d_sysctl' -d_sysctlbyname='$d_sysctlbyname' -d_tcl='$d_tcl' -d_textdomain='$d_textdomain' -d_timelocal='$d_timelocal' -d_toupper='$d_toupper' -d_uint32_t='$d_uint32_t' -d_uptime='$d_uptime' -d_urandom='$d_urandom' -d_usgnames='$d_usgnames' -d_uwait3='$d_uwait3' -d_uwait='$d_uwait' -d_voidsig='$d_voidsig' -d_voidtty='$d_voidtty' -d_volatile='$d_volatile' -d_vsnprintf='$d_vsnprintf' -d_waitpid='$d_waitpid' -d_xenix='$d_xenix' -date='$date' -defvoidused='$defvoidused' -echo='$echo' -egrep='$egrep' -emacs='$emacs' -eunicefix='$eunicefix' -expr='$expr' -find='$find' -firstmakefile='$firstmakefile' -flex='$flex' -freetype='$freetype' -gcc='$gcc' -gccversion='$gccversion' -glibpth='$glibpth' -grep='$grep' -groupcat='$groupcat' -gzip='$gzip' -h_fcntl='$h_fcntl' -h_sysfile='$h_sysfile' -hint='$hint' -hostcat='$hostcat' -i_arpainet='$i_arpainet' -i_arpanameser='$i_arpanameser' -i_bsdioctl='$i_bsdioctl' -i_crypt='$i_crypt' -i_errno='$i_errno' -i_fcntl='$i_fcntl' -i_floatingpoint='$i_floatingpoint' -i_libintl='$i_libintl' -i_limits='$i_limits' -i_locale='$i_locale' -i_malloc='$i_malloc' -i_memory='$i_memory' -i_netdb='$i_netdb' -i_niin='$i_niin' -i_nitcp='$i_nitcp' -i_setjmp='$i_setjmp' -i_sgtty='$i_sgtty' -i_stdarg='$i_stdarg' -i_stddef='$i_stddef' -i_stdint='$i_stdint' -i_stdlib='$i_stdlib' -i_string='$i_string' -i_syserrno='$i_syserrno' -i_sysfile='$i_sysfile' -i_sysfilio='$i_sysfilio' -i_sysin='$i_sysin' -i_sysioctl='$i_sysioctl' -i_sysmman='$i_sysmman' -i_syspage='$i_syspage' -i_sysparam='$i_sysparam' -i_sysresrc='$i_sysresrc' -i_sysselct='$i_sysselct' -i_syssock='$i_syssock' -i_syssockio='$i_syssockio' -i_sysstat='$i_sysstat' -i_systime='$i_systime' -i_systimek='$i_systimek' -i_systypes='$i_systypes' -i_sysvlimit='$i_sysvlimit' -i_syswait='$i_syswait' -i_tcl='$i_tcl' -i_termio='$i_termio' -i_termios='$i_termios' -i_time='$i_time' -i_unistd='$i_unistd' -i_values='$i_values' -i_varargs='$i_varargs' -i_varhdr='$i_varhdr' -incpath='$incpath' -inews='$inews' -install='$install' -installdir='$installdir' -ksh='$ksh' -ldflags='$ldflags' -less='$less' -libc='$libc' -libmysqlclient='$libmysqlclient' -libpth='$libpth' -libs='$libs' -libssl='$libssl' -line='$line' -lint='$lint' -lkflags='$lkflags' -ln='$ln' -lns='$lns' -locincpth='$locincpth' -loclibpth='$loclibpth' -lp='$lp' -lpr='$lpr' -ls='$ls' -mail='$mail' -mailer='$mailer' -mailx='$mailx' -make='$make' -make_set_make='$make_set_make' -mallocobj='$mallocobj' -mallocsrc='$mallocsrc' -malloctype='$malloctype' -mips='$mips' -mips_type='$mips_type' -mkdir='$mkdir' -more='$more' -mv='$mv' -mydomain='$mydomain' -myhostname='$myhostname' -myuname='$myuname' -n='$n' -nametype='$nametype' -nm_opt='$nm_opt' -nm_so_opt='$nm_so_opt' -nofile='$nofile' -nroff='$nroff' -optimize='$optimize' -osname='$osname' -osvers='$osvers' -package='$package' -pagesize='$pagesize' -passcat='$passcat' -perl='$perl' -pg='$pg' -phostname='$phostname' -pidtype='$pidtype' -plibpth='$plibpth' -pmake='$pmake' -pr='$pr' -prototype='$prototype' -rm='$rm' -rmail='$rmail' -runnm='$runnm' -sed='$sed' -sendmail='$sendmail' -sh='$sh' -shar='$shar' -sharpbang='$sharpbang' -shsharp='$shsharp' -signal_t='$signal_t' -sizetype='$sizetype' -sleep='$sleep' -smail='$smail' -so='$so' -sockethdr='$sockethdr' -socketlib='$socketlib' -sort='$sort' -spackage='$spackage' -spitshell='$spitshell' -src='$src' -startsh='$startsh' -strings='$strings' -submit='$submit' -sysman='$sysman' -tablesize='$tablesize' -tail='$tail' -tar='$tar' -tbl='$tbl' -test='$test' -timeincl='$timeincl' -touch='$touch' -tr='$tr' -troff='$troff' -uname='$uname' -uniq='$uniq' -uptime='$uptime' -usemymalloc='$usemymalloc' -usenm='$usenm' -usrinc='$usrinc' -uuname='$uuname' -vi='$vi' -voidflags='$voidflags' -warnings='$warnings' -xlibpth='$xlibpth' -zcat='$zcat' -zip='$zip' -EOT - -: add special variables -$test -f $src/patchlevel.h && \ -awk '/^#define/ {printf "%s=%s\n",$2,$3}' $src/patchlevel.h >>config.sh -echo "CONFIG=true" >>config.sh - -: propagate old symbols -if $test -f UU/config.sh; then - UU/oldconfig.sh - sed -n 's/^\([a-zA-Z_0-9]*\)=.*/\1/p' config.sh config.sh UU/oldconfig.sh |\ - sort | uniq -u >UU/oldsyms - set X `cat UU/oldsyms` - shift - case $# in - 0) ;; - *) - cat <>config.sh - for sym in `cat UU/oldsyms`; do - echo " Propagating $hint variable "'$'"$sym..." - eval 'tmp="$'"${sym}"'"' - echo "$tmp" | \ - sed -e "s/'/'\"'\"'/g" -e "s/^/$sym='/" -e "s/$/'/" >>config.sh - done - ;; - esac -fi - -: preserve RCS keywords in files with variable substitution, grrr -Id='$Id' - -: Finish up by extracting the .SH files -case "$alldone" in -exit) - $rm -rf UU - echo "Done." - exit 0 - ;; -cont) - ;; -'') - dflt='' - nostick=true - $cat <&4 -c "$ans";; - esac - ;; -esac - -: if this fails, just run all the .SH files by hand -. ./config.sh - -echo " " -exec 1>&4 -. ./UU/extract - -if $contains '^depend:' [Mm]akefile >/dev/null 2>&1; then - dflt=y - case "$silent" in - true) ;; - *) - $cat < makedepend.out &" -It can take a while, so you might not want to run it right now. - -EOM - ;; - esac - rp="Run make depend now?" - . UU/myread - case "$ans" in - y*) - make depend && echo "Now you must run a make." - ;; - *) - echo "You must run 'make depend' then 'make'." - ;; - esac -elif test -f [Mm]akefile; then - echo " " - echo "Now you must run a make." -else - echo "Done." -fi - -$rm -f kit*isdone ark*isdone -$rm -rf UU - -: End of Configure - diff --git a/MANIFEST.new b/MANIFEST.new new file mode 100644 index 0000000..9e5a268 --- /dev/null +++ b/MANIFEST.new @@ -0,0 +1,255 @@ +game/data/README +game/README +game/access.README +game/aliascnf.dst +game/getdate.README +game/getdate.template +game/mushcnf.dst +game/namescnf.dst +game/restart.dst +game/restrictcnf.dst +game/log/README +game/save/README +game/txt/evt/index.evt +game/txt/evt/pennmush.evt +game/txt/Makefile +game/txt/README +game/txt/changes.txt +game/txt/compose.sh.SH +game/txt/connect.txt +game/txt/down.txt +game/txt/full.txt +game/txt/guest.txt +game/txt/index-files.pl +game/txt/motd.txt +game/txt/newuser.txt +game/txt/quit.txt +game/txt/register.txt +game/txt/hlp/cobra_attr.hlp +game/txt/hlp/cobra_chat.hlp +game/txt/hlp/cobra_cmd.hlp +game/txt/hlp/cobra_code.hlp +game/txt/hlp/cobra_conf.hlp +game/txt/hlp/cobra_division.hlp +game/txt/hlp/cobra_flag.hlp +game/txt/hlp/cobra_func.hlp +game/txt/hlp/cobra_mail.hlp +game/txt/hlp/cobra_pueb.hlp +game/txt/hlp/cobramush.hlp +game/txt/hlp/cobratop.hlp +game/txt/hlp/index.hlp +game/txt/hlp/pennv174.hlp +game/txt/hlp/pennv175.hlp +game/txt/hlp/pennv176.hlp +game/txt/hlp/pennv177.hlp +game/txt/hlp/pennv180.hlp +game/txt/hlp/pennvOLD.hlp +game/txt/nws/base.nws +BUGS +CHANGES.174 +CHANGES.175 +CHANGES.176 +CHANGES.177 +CHANGES.180 +CHANGES.181 +CHANGES.182 +CHANGES.183 +CHANGES.OLD +COPYRITE +FAQ +I18N +INSTALL +MANIFEST +Makefile.SH +Patchlevel +README +README.SQL +README.SSL +UPGRADING +config_h.SH +confmagic.h +options.h.dist +hdrs/access.h +hdrs/ansi.h +hdrs/atr_tab.h +hdrs/attrib.h +hdrs/boolexp.h +hdrs/bufferq.h +hdrs/case.h +hdrs/chunk.h +hdrs/command.h +hdrs/compile.h +hdrs/conf.h +hdrs/copyrite.h +hdrs/cron.h +hdrs/csrimalloc.h +hdrs/dbdefs.h +hdrs/dbio.h +hdrs/division.h +hdrs/extchat.h +hdrs/externs.h +hdrs/extmail.h +hdrs/flags.h +hdrs/function.h +hdrs/game.h +hdrs/getpgsiz.h +hdrs/help.h +hdrs/htab.h +hdrs/ident.h +hdrs/intrface.h +hdrs/lock.h +hdrs/log.h +hdrs/malias.h +hdrs/match.h +hdrs/mushdb.h +hdrs/mushtype.h +hdrs/mymalloc.h +hdrs/mysocket.h +hdrs/myssl.h +hdrs/oldflags.h +hdrs/parse.h +hdrs/pcre.h +hdrs/privtab.h +hdrs/ptab.h +hdrs/pueblo.h +hdrs/shs.h +hdrs/strtree.h +hdrs/version.h +hints/a-u-x.sh +hints/aix.sh +hints/darwin.sh +hints/darwin-fink.sh +hints/dec_osf.sh +hints/freebsd.sh +hints/hpux-gcc.sh +hints/hpux.sh +hints/irix.sh +hints/irix_6.sh +hints/linux_2.sh +hints/mingw32.sh +hints/next.sh +hints/openbsd.sh +hints/os2.sh +hints/solaris_2.sh +hints/sunos_4.sh +hints/ultrix.sh +hints/win32-gcc.sh +hints/win32.sh +os2/GCCOPT.CMD +os2/Makefile +os2/Penn-OS2.htm +os2/config.h +po/Makefile +src/Makefile.SH +src/SWITCHES +src/access.c +src/announce.c +src/atr_tab.c +src/attrib.c +src/boolexp.c +src/bsd.c +src/bufferq.c +src/chunk.c +src/cmdlocal.dst +src/cmds.c +src/command.c +src/comp_h.c +src/comp_w.c +src/comp_w8.c +src/compress.c +src/conf.c +src/console.c +src/cque.c +src/create.c +src/cron.c +src/csrimalloc.c +src/db.c +src/destroy.c +src/division.c +src/extchat.c +src/extmail.c +src/filecopy.c +src/flaglocal.dst +src/flags.c +src/funcrypt.c +src/function.c +src/fundb.c +src/fundiv.c +src/funlist.c +src/funlocal.dst +src/funmath.c +src/funmisc.c +src/funstr.c +src/funtime.c +src/funufun.c +src/game.c +src/gmalloc.c +src/help.c +src/htab.c +src/ident.c +src/info_slave.c +src/local.dst +src/lock.c +src/log.c +src/look.c +src/malias.c +src/match.c +src/memcheck.c +src/move.c +src/mycrypt.c +src/mymalloc.c +src/mysocket.c +src/myssl.c +src/notify.c +src/parse.c +src/pcre.c +src/player.c +src/plyrlist.c +src/portmsg.c +src/predicat.c +src/privtab.c +src/prog.c +src/ptab.c +src/rob.c +src/rplog.c +src/services.c +src/set.c +src/shs.c +src/sig.c +src/speech.c +src/sql.c +src/strdup.c +src/strtree.c +src/strutil.c +src/switchinc.c +src/tables.c +src/timer.c +src/unparse.c +src/utils.c +src/version.c +src/warnings.c +src/wild.c +src/wiz.c +utils/clwrapper.sh +utils/customize.pl +utils/fixdepend.pl +utils/gentables.c +utils/ln-dir.sh +utils/make_access_cnf.sh +utils/mkcmds.sh.SH +utils/mkvershlp.pl +utils/penn-install +utils/update-cnf.pl +utils/update.pl +win32/README.mingw +win32/README.txt +win32/cmds.h +win32/cobramush.sln +win32/config.h +win32/confmagic.h +win32/funs.h +win32/options.h +win32/patches.h +win32/pennmush.dsp +win32/pennmush.dsw +Configure Portability tool diff --git a/U/.gitify-empty b/U/.gitify-empty new file mode 100644 index 0000000..e69de29 diff --git a/U/End.U b/U/End.U new file mode 100644 index 0000000..002c1d5 --- /dev/null +++ b/U/End.U @@ -0,0 +1,28 @@ +?RCS: $Id: End.U 1.2 Tue, 30 Sep 2003 18:01:23 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: End.U,v $ +?RCS: Revision 3.0 1993/08/18 12:04:51 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?X: +?X: This unit serves as the goal which forces make to choose all the units that +?X: ask questions. The $W on the ?MAKE: line is the list of all symbols wanted. +?X: To force any unit to be included, copy this unit to your private U directory +?X: and add the name of the unit desired to the ?MAKE: dependency line. +?X: +?MAKE:End: $W d_tcl MailList +?MAKE: -pick add $@ %< +?LINT:use $W d_tcl MailList +: end of configuration questions +echo " " +echo "End of configuration questions." +echo " " + diff --git a/U/Findhdr.U b/U/Findhdr.U new file mode 100644 index 0000000..11e9578 --- /dev/null +++ b/U/Findhdr.U @@ -0,0 +1,124 @@ +?RCS: $Id: Findhdr.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: Original Author: Thomas Neumann +?RCS: +?RCS: $Log: Findhdr.U,v $ +?RCS: Revision 1.2 1997/11/25 18:41:56 popiel +?RCS: From dist +?RCS: +?RCS: Revision 3.0.1.2 1994/10/29 15:53:08 ram +?RCS: patch36: added ?F: line for metalint file checking +?RCS: +?RCS: Revision 3.0.1.1 1994/05/06 14:03:56 ram +?RCS: patch23: cppminus must be after other cppflags, not before +?RCS: +?RCS: Revision 3.0 1993/08/18 12:04:54 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?X: +?X: This unit produces a findhdr script which is used to locate the header +?X: files in $usrinc or other stranger places using cpp capabilities. The +?X: script is given an include file base name, like 'stdio.h' or 'sys/file.h' +?X: and it returns the full path of the include file and a zero status or an +?X: empty string with an error status if the file could not be located. +?X: +?MAKE:Findhdr: grep test tr rm +usrinc awk cat startsh \ + cppstdin cppminus +cppflags +?MAKE: -pick add $@ %< +?LINT:define fieldn +?S:fieldn: +?S: This variable is used internally by Configure. It contains the position +?S: of the included file name in cpp output. That is to say, when cpp +?S: pre-processes a #include line, it replaces it by a # line which +?S: contains the original position in the input file and the full name of +?S: included file, between "quotes". +?S:. +?V:fieldn +?F:./findhdr !fieldn +?T:cline pos wanted name awkprg +: determine filename position in cpp output +echo " " +echo "Computing filename position in cpp output for #include directives..." >&4 +echo '#include ' > foo.c +$cat >fieldn </dev/null | \ +$grep '^[ ]*#.*stdio\.h' | \ +while read cline; do + pos=1 +?X: We have to go through this nightmare of sed and eval because some +?X: folks like putting spaces in their directory names, which then get +?X: echoed into the paths to standard headers. Thanks, Microsoft! +?X: +?X: What we're doing here is escaping every single shell meta-character +?X: except for quotation marks, then evaluating that as an argument list. + qline=\`echo "\$cline" | $sed -e 's/\\([][{}#$<>;&()|^*?\\\\]\\)/\\\\\\\\\\1/g'\` + eval set \$qline + while $test "x\$1" \!= x; do + if $test -r "\$1"; then + echo "\$pos" + exit 0 + fi + shift + pos=\`expr \$pos + 1\` + done +done +EOF +chmod +x fieldn +fieldn=`./fieldn` +$rm -f foo.c fieldn +case $fieldn in +'') pos='???';; +1) pos=first;; +2) pos=second;; +3) pos=third;; +*) pos="${fieldn}th";; +esac +echo "Your cpp writes the filename in the $pos field of the line." + +?X: To locate a header file, we cannot simply check for $usrinc/file.h, since +?X: some machine have the headers in weird places and our only hope is that +?X: the C pre-processor will know how to find those headers. Thank you NexT! +: locate header file +$cat >findhdr <" > foo\$\$.c +$cppstdin $cppminus $cppflags < foo\$\$.c 2>/dev/null | \ +$grep "^[ ]*#.*\$wanted" | \ +while read cline; do + pos=1 + qline=\`echo "\$cline" | $sed -e 's/\\([][{}#$<>;&()|^'"'"'*?\\\\]\\)/\\\\\\\\\\1/g'\` + eval set \$qline + while $test $fieldn -gt \$pos; do + shift + pos=\`expr \$pos + 1\` + done + name=\$1 + case "\$name" in + */\$wanted) echo "\$name"; exit 0;; +?X: Of course, Microsoft likes backslashes, too. @whee. + *\\\\\$wanted) echo "\$name"; exit 0;; + *) name='';; + esac; +done; +$rm -f foo\$\$.c; +case "\$name" in +'') exit 1;; +esac +EOF +chmod +x findhdr + diff --git a/U/Guess.U b/U/Guess.U new file mode 100644 index 0000000..849b98e --- /dev/null +++ b/U/Guess.U @@ -0,0 +1,133 @@ +?RCS: $Id: Guess.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: Guess.U,v $ +?RCS: Revision 3.0.1.4 1994/10/29 15:53:55 ram +?RCS: patch36: added ?F: line for metalint file checking +?RCS: patch36: call ./xenix explicitely instead of relying on PATH +?RCS: +?RCS: Revision 3.0.1.3 1993/12/15 08:14:35 ram +?RCS: patch15: variable d_bsd was not always set properly +?RCS: +?RCS: Revision 3.0.1.2 1993/08/30 08:57:14 ram +?RCS: patch8: fixed comment which wrongly attributed the usrinc symbol +?RCS: patch8: no more ugly messages when no /usr/include/ctype.h +?RCS: +?RCS: Revision 3.0.1.1 1993/08/27 14:37:37 ram +?RCS: patch7: added support for OSF/1 machines +?RCS: +?RCS: Revision 3.0 1993/08/18 12:04:57 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?X: +?X: This unit hazards some guesses as to what the general nature of the system +?X: is. The information it collects here is used primarily to establish default +?X: answers to other questions. +?X: +?MAKE:Guess d_eunice d_xenix d_bsd: cat test echo n c contains rm Loc eunicefix +?MAKE: -pick add $@ %< +?S:d_eunice: +?S: This variable conditionally defines the symbols EUNICE and VAX, which +?S: alerts the C program that it must deal with ideosyncracies of VMS. +?S:. +?S:d_xenix: +?S: This variable conditionally defines the symbol XENIX, which alerts +?S: the C program that it runs under Xenix. +?S:. +?S:d_bsd: +?S: This symbol conditionally defines the symbol BSD when running on a +?S: BSD system. +?S:. +?F:./bsd ./usg ./v7 ./osf1 ./eunice ./xenix ./venix +?T:xxx +: make some quick guesses about what we are up against +echo " " +$echo $n "Hmm... $c" +echo exit 1 >bsd +echo exit 1 >usg +echo exit 1 >v7 +echo exit 1 >osf1 +echo exit 1 >eunice +echo exit 1 >xenix +echo exit 1 >venix +d_bsd="$undef" +?X: +?X: Do not use 'usrinc', or we get a circular dependency. because +?X: usrinc is defined in usrinc.U, which relies on us... +?X: +$cat /usr/include/signal.h /usr/include/sys/signal.h >foo 2>/dev/null +if test -f /osf_boot || $contains 'OSF/1' /usr/include/ctype.h >/dev/null 2>&1 +then + echo "Looks kind of like an OSF/1 system, but we'll see..." + echo exit 0 >osf1 +elif test `echo abc | tr a-z A-Z` = Abc ; then + xxx=`./loc addbib blurfl $pth` + if $test -f $xxx; then + echo "Looks kind of like a USG system with BSD features, but we'll see..." + echo exit 0 >bsd + echo exit 0 >usg + else + if $contains SIGTSTP foo >/dev/null 2>&1 ; then + echo "Looks kind of like an extended USG system, but we'll see..." + else + echo "Looks kind of like a USG system, but we'll see..." + fi + echo exit 0 >usg + fi +elif $contains SIGTSTP foo >/dev/null 2>&1 ; then + echo "Looks kind of like a BSD system, but we'll see..." + d_bsd="$define" + echo exit 0 >bsd +else + echo "Looks kind of like a Version 7 system, but we'll see..." + echo exit 0 >v7 +fi +case "$eunicefix" in +*unixtovms*) + $cat <<'EOI' +There is, however, a strange, musty smell in the air that reminds me of +something...hmm...yes...I've got it...there's a VMS nearby, or I'm a Blit. +EOI + echo exit 0 >eunice + d_eunice="$define" +: it so happens the Eunice I know will not run shell scripts in Unix format + ;; +*) + echo " " + echo "Congratulations. You aren't running Eunice." + d_eunice="$undef" + ;; +esac +if test -f /xenix; then + echo "Actually, this looks more like a XENIX system..." + echo exit 0 >xenix + d_xenix="$define" +else + echo " " + echo "It's not Xenix..." + d_xenix="$undef" +fi +chmod +x xenix +$eunicefix xenix +if test -f /venix; then + echo "Actually, this looks more like a VENIX system..." + echo exit 0 >venix +else + echo " " + if ./xenix; then + : null + else + echo "Nor is it Venix..." + fi +fi +chmod +x bsd usg v7 osf1 eunice xenix venix +$eunicefix bsd usg v7 osf1 eunice xenix venix +$rm -f foo + diff --git a/U/Head.U b/U/Head.U new file mode 100644 index 0000000..c6dc77e --- /dev/null +++ b/U/Head.U @@ -0,0 +1,278 @@ +?RCS: $Id: Head.U 1.3 Mon, 10 Nov 2003 14:51:32 -0600 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: Head.U,v $ +?RCS: Revision 1.2 1997/11/25 18:08:08 popiel +?RCS: From dist. +?RCS: +?RCS: Revision 3.0.1.9 1997/02/28 15:02:09 ram +?RCS: patch61: make sure we unset CDPATH for shells that support this +?RCS: patch61: improved Korn shell detection and handling +?RCS: +?RCS: Revision 3.0.1.8 1995/07/25 13:40:02 ram +?RCS: patch56: added SVR4-ish /opt directories to path list (ADO) +?RCS: patch56: OS/2 platforms are using another path separator +?RCS: +?RCS: Revision 3.0.1.7 1995/03/21 08:46:15 ram +?RCS: patch52: definition of paths wrongly added spurious ':' chars +?RCS: +?RCS: Revision 3.0.1.6 1994/10/29 15:54:19 ram +?RCS: patch36: make sure ENV is unset before calling /bin/ksh +?RCS: +?RCS: Revision 3.0.1.5 1994/08/29 16:03:44 ram +?RCS: patch32: now sets PATH only using existing directories +?RCS: +?RCS: Revision 3.0.1.4 1994/06/20 06:54:28 ram +?RCS: patch30: now computes its invocation name into 'me' +?RCS: patch30: symbol me is made visible to all units read-only +?RCS: +?RCS: Revision 3.0.1.3 1993/12/15 08:15:07 ram +?RCS: patch15: added /sbin:/usr/sbin:/usr/libexec in PATH for BSD/386 +?RCS: +?RCS: Revision 3.0.1.2 1993/11/10 17:32:35 ram +?RCS: patch14: ensure PATH is reset to '.' before testing for alias +?RCS: +?RCS: Revision 3.0.1.1 1993/08/27 14:38:07 ram +?RCS: patch7: not all 'test' programs support the -x option +?RCS: +?RCS: Revision 3.0 1993/08/18 12:04:58 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?X: +?X: This is the very first unit in the Configure script. It is mostly just +?X: things to keep people from getting into a tizzy right off the bat. +?X: +?MAKE:Head: +?MAKE: -pick wipe $@ %< +?V:PATH p_ me +?T:argv Id p paths OS2_SHELL +?T:inksh needksh avoidksh newsh changesh reason +#! /bin/sh +# +# If these # comments don't work, trim them. Don't worry about any other +# shell scripts, Configure will trim # comments from them for you. +# +# (If you are trying to port this package to a machine without sh, +# I would suggest you have a look at the prototypical config_h.SH file +# and edit it to reflect your system. Some packages may include samples +# of config.h for certain machines, so you might look for one of those.) +# +?X: +?X: NOTE THAT A CONFIGURE SCRIPT IS IN THE PUBLIC DOMAIN (whether or not +?X: the software which uses it is in the public domain). +?X: +# Yes, you may rip this off to use in other distribution packages. This +# script belongs to the public domain and cannot be copyrighted. +# +?X: +?X: WE ASK YOU NOT TO REMOVE OR ALTER THE FOLLOWING PARAGRAPH, PLEASE: +?X: +# (Note: this Configure script was generated automatically. Rather than +# working with this copy of Configure, you may wish to get metaconfig. +# The dist-3.0 package (which contains metaconfig) was posted in +# comp.sources.misc and is available on CPAN under authors/id/RAM so +# you may fetch it yourself from your nearest archive site.) +# +?X: +?X: NOTA BENE: +?X: If you develop you own version of metaconfig based on this work, +?X: you have to add some comments telling that the script was generated +?X: by your version, not mine: It credits your work. +?X: + +# $Id: Head.U 1.3 Mon, 10 Nov 2003 14:51:32 -0600 dunemush $ +# +# Generated on [metaconfig PL] + +cat >/tmp/c1$$ </tmp/c2$$ </dev/null` + test "$me" || me=$0 + ;; +esac + +?X: +?X: To be able to run under OS/2, we must detect that early enough to use +?X: the proper path separator, stored in $p_. It is : on UNIX and \ on OS/2. +?X: However, we have to be careful not to confuse with win32 running the +?X: cygwin32 unix emulation tools. +?X: +: Proper PATH separator +p_=: +: On OS/2 this directory should exist if this is not floppy only system :-] +if test -d c:/.; then + : Check for cygwin32 emulation + case "x$OSTYPE$OS" in + x*msys*Windows*) + echo 'Running on Windows? Using the MinGW MSys tools...' + ;; + x*win32*) + echo 'Running on Windows? Assuming cygwin32 emulation tools...' + ;; + x*windows*) + echo 'Running on Windows? Assuming cygwin32 emulation tools...' + ;; + x*cygwin*) + echo 'Looks like cygwin32...' + ;; + x*) + p_=\; + PATH=`cmd /c "echo %PATH%" | tr '\\\\' / ` +?X: That's a bug in ksh5.22 + OS2_SHELL=`cmd /c "echo %OS2_SHELL%" | tr '\\\\' / | tr '[A-Z]' '[a-z]'` + ;; + esac +fi + +?X: +?X: There are two schools of thoughts here. Some people correctly argue that +?X: the user has a better chance than we do of setting a reasonable PATH and +?X: others argue that Configure is the best place there is to set up a suitable +?X: PATH. Well, here we try to compromize by keeping the user's PATH and +?X: appending some directories which are known to work on some machine or the +?X: other. The rationale behind this being that a novice user might not have a +?X: proper environment variable set, and some directories like /etc (where +?X: chown is located on some BSD systems) may be missing--RAM. +?X: +?X: SVR4 adds an /opt directory for optional packages. Some sites use +?X: various permutations on /opt as opposed to /usr or /usr/local.-- ADO +?X: +?X: cygwin32 strongly suggests /gnuwin32/b18/H-i386-cygwin32/bin. Talk +?X: about ugly. +?X: +?X: We only add directories that are not already in the PATH of the +?X: user and the directories must exist also. +?X: +: Proper PATH setting +paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin' +paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin" +paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin" +paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin" +paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb" +paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /usr/ccs/bin" +paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib" +paths="$paths /sbin /usr/sbin /usr/libexec /gnuwin32/b18/H-i386-cygwin32/bin" + +case "x$OSTYPE$OS" in + x*msys*Windows*) + PATH='/usr/local/bin:/mingw/bin:/bin:/perl/bin' + ;; + x*) + for p in $paths + do + case "$p_$PATH$p_" in + *$p_$p$p_*) ;; + *) test -d $p && PATH=$PATH$p_$p ;; + esac + done + + PATH=.$p_$PATH + export PATH + ;; +esac + +: shall we be using ksh? +inksh='' +needksh='' +avoidksh='' +newsh=/bin/ksh +changesh='' +?X: Use (alias -x) and not (alias) since zsh and bash recognize the alias +?X: builtin but not the -x option which is typically ksh... +?X: We need to set up PATH before calling the "alias" built-in since some +?X: systems like HP-UX have a binary called /bin/alias. +if (PATH=.; alias -x) >/dev/null 2>&1; then + inksh=true +fi +?X: On HP-UX, large Configure scripts may exercise a bug in /bin/sh, use ksh +if test -f /hp-ux -a -f /bin/ksh; then + needksh='to avoid sh bug in "here document" expansion' +fi +?X: On AIX4, /bin/sh is really ksh and it causes problems, use sh +if test -d /usr/lpp -a -f /usr/bin/bsh -a -f /usr/bin/uname; then + if test X`/usr/bin/uname -v` = X4; then + avoidksh="to avoid AIX 4's /bin/sh" + newsh=/usr/bin/bsh + fi +fi +?X: If we are not in ksh and need it, then feed us back to it +case "$inksh/$needksh" in +/[a-z]*) +?X: Unset ENV to avoid any ~/.kshrc that could alias cd or whatever... + unset ENV + changesh=true + reason="$needksh" + ;; +esac +?X: If we are in ksh and must avoid it, then feed us back to a new shell +case "$inksh/$avoidksh" in +true/[a-z]*) + changesh=true + reason="$avoidksh" + ;; +esac +?X: Warn them if they use ksh on other systems, which are those where +?X: we don't need ksh nor want to avoid it explicitely, yet are using it. +case "$inksh/$needksh-$avoidksh-" in +true/--) + cat <&4 +cat <loc +$startsh +case \$# in +0) exit 1;; +esac +thing=\$1 +shift +dflt=\$1 +shift +for dir in \$*; do + case "\$thing" in + .) + if test -d \$dir/\$thing; then + echo \$dir + exit 0 + fi + ;; + *) +?X: Be careful in case thing includes wildcards that might expand to multiple +?X: files. Choose the last one. This happens when searching for shared +?X: libraries with version numbers. How to choose which one we want is +?X: probably an insoluble problem, in general. +?X: Some folks leave things like libc.so.orig around w/o read +?X: permission. A -r test would handle that, but since ./loc is +?X: also used to find executables (which are installed w/o read +?X: permission on SCO ODT 3.0, we can't include the -r test. + for thisthing in \$dir/\$thing; do + : just loop through to pick last item + done + if test -f \$thisthing; then + echo \$thisthing + exit 0 + elif test -f \$dir/\$thing.exe; then + : on Eunice apparently + echo \$dir/\$thing + exit 0 + fi + ;; + esac +done +echo \$dflt +exit 1 +EOSC +chmod +x loc +$eunicefix loc +loclist=" +?awk:awk +?cat:cat +?chgrp:chgrp +?chmod:chmod +?chown:chown +?comm:comm +?cp:cp +?echo:echo +?expr:expr +?find:find +?grep:grep +?ls:ls +?make:make +?mkdir:mkdir +?mv:mv +?rm:rm +?sed:sed +?sleep:sleep +?sort:sort +?tail:tail +?touch:touch +?tr:tr +?uniq:uniq +" +trylist=" +?Mcc:Mcc +?ar:ar +?bash:bash +?bison:bison +?byacc:byacc +?compress:compress +?cpio:cpio +?cpp:cpp +?csh:csh +?date:date +?egrep:egrep +?emacs:emacs +?flex:flex +?gcc:gcc +?gzip:gzip +?inews:inews +?ksh:ksh +?less:less +?line:line +?lint:lint +?ln:ln +?lp:lp +?lpr:lpr +?mail:mail +?mailx:mailx +?more:more +?nroff:nroff +?perl:perl +?pg:pg +?pmake:pmake +?pr:pr +?rmail:rmail +?sendmail:sendmail +?shar:shar +?smail:smail +?submit:submit +?tar:tar +?tbl:tbl +?test:test +?troff:troff +?uname:uname +?uptime:uptime +?uuname:uuname +?vi:vi +?zcat:zcat +?zip:zip +" +?LINT:set Loc Mcc awk ar bash bison byacc cat chgrp chmod chown \ + comm compress cp cpio cpp csh date echo egrep emacs expr find flex \ + gcc gzip grep inews ksh less line lint ln lp lpr ls mail mailx \ + make mkdir more mv nroff perl pg pmake pr rm rmail sed sendmail \ + shar sleep smail sort submit tail tar tbl test touch tr troff \ + uname uniq uptime uuname vi zcat zip +pth=`echo $PATH | sed -e "s/$p_/ /g"` +pth="$pth /lib /usr/lib" +for file in $loclist; do +?X: +?X: Allow them to -Dmake=pmake on the command line for instance... +?X: If the file is not fully qualified, as in -Dmake=pmake, then we +?X: look the for the specified command (pmake here). If they say +?X: -Dmake=/sbin/make for instance, then we make sure the file +?X: exists, or we die... +?X: + eval xxx=\$$file + case "$xxx" in + /*|?:[\\/]*) + if test -f "$xxx"; then + : ok + else + echo "WARNING: no $xxx -- ignoring your setting for $file." >&4 + xxx=`./loc $file $file $pth` + fi + ;; + '') xxx=`./loc $file $file $pth`;; + *) xxx=`./loc $xxx $xxx $pth`;; + esac + eval $file=$xxx + eval _$file=$xxx + case "$xxx" in + /*) + echo $file is in $xxx. + ;; +?X: Under OS/2, we have PC-like paths + ?:[\\/]*) + echo $file is in $xxx. + ;; + *) + echo "I don't know where '$file' is, and my life depends on it." >&4 + echo "Go find a public domain implementation or fix your PATH setting!" >&4 + exit 1 + ;; + esac +done +echo " " +echo "Don't worry if any of the following aren't found..." +say=offhand +for file in $trylist; do +?X: Allow them to -Dmake=pmake on the command line for instance (see above) + eval xxx=\$$file + case "$xxx" in + /*|?:[\\/]*) + if test -f "$xxx"; then + : ok + else + echo "WARNING: no $xxx -- ignoring your setting for $file." >&4 + xxx=`./loc $file $file $pth` + fi + ;; + '') xxx=`./loc $file $file $pth`;; + *) xxx=`./loc $xxx $xxx $pth`;; + esac + eval $file=$xxx + eval _$file=$xxx + case "$xxx" in + /*) + echo $file is in $xxx. + ;; +?X: Under OS/2, we have PC-like paths + ?:[\\/]*) + echo $file is in $xxx. + ;; + *) + echo "I don't see $file out there, $say." + say=either + ;; + esac +done +case "$egrep" in +egrep) + echo "Substituting grep for egrep." + egrep=$grep + ;; +esac +@if ln +case "$ln" in +ln) + echo "Substituting cp for ln." + ln=$cp + ;; +esac +@end +case "$test" in +test) + echo "Hopefully test is built into your sh." + ;; +*) + if `sh -c "PATH= test true" >/dev/null 2>&1`; then + echo "Using the test built into your sh." +?X: +?X: We need to set both test and _test, since Oldconfig.U will use the _test +?X: value to systematically restore computed paths, which may be wrong if +?X: we choose to load an old config.sh generated on another platform. +?X: + test=test + _test=test + fi + ;; +esac +?LINT:change n c +case "$echo" in +echo) + echo "Hopefully echo is built into your sh." + ;; +?X: For those rare cases where we don't need $echo... +'') ;; +*) + echo " " +echo "Checking compatibility between $echo and builtin echo (if any)..." >&4 + $echo $n "hi there$c" >foo1 + echo $n "hi there$c" >foo2 + if cmp foo1 foo2 >/dev/null 2>&1; then + echo "They are compatible. In fact, they may be identical." + else + case "$n" in + '-n') n='' c='\c';; + *) n='-n' c='';; + esac + cat <$c" + $echo "*" + fi + $rm -f foo1 foo2 + ;; +esac + diff --git a/U/MailList.U b/U/MailList.U new file mode 100644 index 0000000..833aea8 --- /dev/null +++ b/U/MailList.U @@ -0,0 +1,82 @@ +?RCS: $Id: MailList.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: Original Author: Graham Stoney +?RCS: +?RCS: $Log: MailList.U,v $ +?RCS: Revision 3.0.1.1 1994/01/24 14:01:49 ram +?RCS: patch16: created +?RCS: +?RCS: +?X: +?X: This unit offers the user the option of subscribing to the mailing +?X: list. To force inclusion of this unit, you must add it's name to the +?X: dependancies on the MAKE line in your private copy of End.U. +?X: The address of the mailing list server must be set via a "list_request=..." +?X: entry in the .package file. This is usually done by running packinit and +?X: answering the proper questions. +?X: +?MAKE:MailList: cat mailer package Myread cf_name cf_email +?MAKE: -pick wipe $@ %< +?T:list_request list_sub list_unsub list_name +?X: +?X: The cf_name dependency is used through list_sub when the mailing list +?X: manager happens to be listserv, whereas cf_email is used whith majordomo +?X: or when the mailing list request address is scanned by a human. Since +?X: they do not appear within the unit itself, we need a lint hint. +?X: +?LINT:use cf_name cf_email +: offer to join the mailing list +list_request='<$list_request>' +list_sub="<$list_sub>" +list_unsub="<$list_unsub>" +list_name="<$list_name>" +$cat <&4 + $mailer $list_request </dev/null 2>&1 +To: $list_request +Subject: Subscription request by configure + +$list_sub +EOM + ;; +[uU]*) echo "Sending mail to unsubscribe you from the $list_name list..." >&4 + $mailer $list_request </dev/null 2>&1 +To: $list_request +Subject: Unsubscription request by configure + +$list_unsub +EOM + ;; +esac + diff --git a/U/Myinit.U b/U/Myinit.U new file mode 100644 index 0000000..1744736 --- /dev/null +++ b/U/Myinit.U @@ -0,0 +1,29 @@ +?RCS: $Id: Myinit.U 1.5 Sun, 02 Feb 2003 10:43:44 -0600 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: Myinit.U,v $ +?RCS: Revision 3.0.1.1 1994/10/31 09:47:29 ram +?RCS: patch44: leading comment states this unit comes before option processing +?RCS: +?RCS: Revision 3.0 1993/08/18 12:05:07 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?X: +?X: If you want to initialize any default values, copy this unit to your +?X: personal U directory and add the assignments to the end. This file +?X: is included after variables are initialized but before any old +?X: config.sh file is read in and before any Configure switch processing. +?X: +?MAKE:Myinit: Init +?MAKE: -pick add $@ %< +?LINT:set defvoidused libswanted +defvoidused=15 +libswanted='nsl socket m c crypt bind resolv ld dl tcl intl' + diff --git a/U/Oldconfig.U b/U/Oldconfig.U new file mode 100644 index 0000000..3152c7a --- /dev/null +++ b/U/Oldconfig.U @@ -0,0 +1,623 @@ +?RCS: $Id: Oldconfig.U 1.3 Mon, 28 Jun 2004 09:20:49 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: Oldconfig.U,v $ +?RCS: Revision 1.2 1997/11/25 18:20:23 popiel +?RCS: From dist +?RCS: +?RCS: Revision 3.0.1.10 1997/02/28 15:06:39 ram +?RCS: patch61: added support for src.U +?RCS: patch61: new OSNAME define +?RCS: patch61: can now sense new OSes +?RCS: +?RCS: Revision 3.0.1.9 1995/07/25 13:40:51 ram +?RCS: patch56: now knows about OS/2 platforms +?RCS: +?RCS: Revision 3.0.1.8 1995/05/12 12:04:18 ram +?RCS: patch54: config.sh reload logic now knows about new -K switch +?RCS: patch54: cleaned up and extended osvers for DEC OSF/1 (ADO) +?RCS: patch54: added MachTen detection (ADO) +?RCS: +?RCS: Revision 3.0.1.7 1995/02/15 14:13:41 ram +?RCS: patch51: adapted osvers computation for AIX (ADO) +?RCS: +?RCS: Revision 3.0.1.6 1995/01/30 14:27:15 ram +?RCS: patch49: unit Options.U now exports file optdef.sh, not a variable +?RCS: patch49: update code for myuname changed (WED) +?RCS: +?RCS: Revision 3.0.1.5 1995/01/11 15:15:36 ram +?RCS: patch45: added quotes around the INITPROG variable (ADO) +?RCS: patch45: allows variable overriding after config file loading +?RCS: +?RCS: Revision 3.0.1.4 1994/10/29 15:57:05 ram +?RCS: patch36: added ?F: line for metalint file checking +?RCS: patch36: merged with the version used for perl5's Configure (ADO) +?RCS: +?RCS: Revision 3.0.1.3 1994/05/06 14:24:17 ram +?RCS: patch23: added support for osf1 hints +?RCS: patch23: new support for solaris and i386 systems (ADO) +?RCS: +?RCS: Revision 3.0.1.2 1994/01/24 14:05:02 ram +?RCS: patch16: added post-processing on myuname for Xenix targets +?RCS: patch16: message proposing config.sh defaults made consistent +?RCS: +?RCS: Revision 3.0.1.1 1993/09/13 15:56:32 ram +?RCS: patch10: force use of config.sh when -d option is used (WAD) +?RCS: patch10: complain about non-existent hint files (WAD) +?RCS: patch10: added Options dependency for fastread variable +?RCS: +?RCS: Revision 3.0 1993/08/18 12:05:12 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?X: +?X: This unit tries to remember what we did last time we ran Configure, mostly +?X: for the sake of setting defaults. +?X: +?MAKE:Oldconfig hint myuname osname osvers: Instruct Myread uname \ + sh awk sed test cat rm lns n c contains Loc Options Tr src +?MAKE: -pick wipe $@ %< +?S:myuname: +?S: The output of 'uname -a' if available, otherwise the hostname. On Xenix, +?S: pseudo variables assignments in the output are stripped, thank you. The +?S: whole thing is then lower-cased. +?S:. +?S:hint: +?S: Gives the type of hints used for previous answers. May be one of +?S: "default", "recommended" or "previous". +?S:. +?S:osname: +?S: This variable contains the operating system name (e.g. sunos, +?S: solaris, hpux, etc.). It can be useful later on for setting +?S: defaults. Any spaces are replaced with underscores. It is set +?S: to a null string if we can't figure it out. +?S:. +?S:osvers: +?S: This variable contains the operating system version (e.g. +?S: 4.1.3, 5.2, etc.). It is primarily used for helping select +?S: an appropriate hints file, but might be useful elsewhere for +?S: setting defaults. It is set to '' if we can't figure it out. +?S: We try to be flexible about how much of the version number +?S: to keep, e.g. if 4.1.1, 4.1.2, and 4.1.3 are essentially the +?S: same for this package, hints files might just be os_4.0 or +?S: os_4.1, etc., not keeping separate files for each little release. +?S:. +?C:OSNAME: +?C: This symbol contains the name of the operating system, as determined +?C: by Configure. You shouldn't rely on it too much; the specific +?C: feature tests from Configure are generally more reliable. +?C:. +?H:#define OSNAME "$osname" /**/ +?H:. +?F:!config.sh +?T:tmp tmp_n tmp_c tmp_sh file +?T:xxxxfile xxxfile xxfile xfile hintfile newmyuname +?T:tans _ isesix INITPROG +?LINT:change n c sh +: Try to determine whether config.sh was made on this system +case "$config_sh" in +'') +?X: indentation wrong on purpose--RAM +?X: Leave a white space between first two '(' for ksh. The sub-shell is needed +?X: on some machines to avoid the error message when uname is not found; e.g. +?X: old SUN-OS 3.2 would not execute hostname in (uname -a || hostname). Sigh! +myuname=`( ($uname -a) 2>/dev/null || hostname) 2>&1` +?X: Special mention for Xenix, whose 'uname -a' gives us output like this: +?X: sysname=XENIX +?X: nodename=whatever +?X: release=2.3.2 .. etc... +?X: Therefore, we strip all this variable assignment junk and remove all the +?X: new lines to keep the myuname variable sane... --RAM +myuname=`echo $myuname | $sed -e 's/^[^=]*=//' -e 's/\///g' | \ + ./tr '[A-Z]' '[a-z]' | tr '\012' ' '` +?X: Save the value we just computed to reset myuname after we get done here. +newmyuname="$myuname" +dflt=n +case "$knowitall" in +'') + if test -f ../config.sh; then + if $contains myuname= ../config.sh >/dev/null 2>&1; then + eval "`grep myuname= ../config.sh`" + fi + if test "X$myuname" = "X$newmyuname"; then + dflt=y + fi + fi + ;; +*) dflt=y;; +esac + +@if {test -d ../hints} +: Get old answers from old config file if Configure was run on the +: same system, otherwise use the hints. +hint=default +cd .. +?X: Since we are now at the root of the source tree, we must use $src +?X: to access the sources and not $rsrc. See src.U for details... +if test -f config.sh; then + echo " " + rp="I see a config.sh file. Shall I use it to set the defaults?" + . UU/myread + case "$ans" in + n*|N*) echo "OK, I'll ignore it."; mv config.sh config.sh.old;; + *) echo "Fetching default answers from your old config.sh file..." >&4 + tmp_n="$n" + tmp_c="$c" + tmp_sh="$sh" + . ./config.sh + cp config.sh UU + n="$tmp_n" + c="$tmp_c" + : Older versions did not always set $sh. Catch re-use of such + : an old config.sh. + case "$sh" in + '') sh="$tmp_sh" ;; + esac + hint=previous + ;; + esac +fi +if test ! -f config.sh; then + $cat <&4 + dflt='' + : Half the following guesses are probably wrong... If you have better + : tests or hints, please send them to + : The metaconfig authors would also appreciate a copy... + $test -f /irix && osname=irix + $test -f /xenix && osname=sco_xenix + $test -f /dynix && osname=dynix + $test -f /dnix && osname=dnix + $test -f /lynx.os && osname=lynxos + $test -f /unicos && osname=unicos && osvers=`$uname -r` + $test -f /unicosmk.ar && osname=unicosmk && osvers=`$uname -r` + $test -f /bin/mips && /bin/mips && osname=mips + $test -d /NextApps && set X `hostinfo | grep 'NeXT Mach.*:' | \ + $sed -e 's/://' -e 's/\./_/'` && osname=next && osvers=$4 + $test -d /usr/apollo/bin && osname=apollo + $test -f /etc/saf/_sactab && osname=svr4 + $test -d /usr/include/minix && osname=minix + if $test -d /MachTen; then +?X: MachTen uname -a output looks like +?X: xxx 4 0.0 Macintosh +?X: MachTen /sbin/version output looks like +?X: MachTen 4.0 Mon Aug 28 10:18:00 1995 +?X: MachTen 3.x had the 'version' command in /usr/etc/version. + osname=machten + if $test -x /sbin/version; then + osvers=`/sbin/version | $awk '{print $2}' | + $sed -e 's/[A-Za-z]$//'` + elif $test -x /usr/etc/version; then + osvers=`/usr/etc/version | $awk '{print $2}' | + $sed -e 's/[A-Za-z]$//'` + else + osvers="$2.$3" + fi + fi +?X: If we have uname, we already computed a suitable uname -a output, correctly +?X: formatted for Xenix, and it lies in $myuname. + if $test -f $uname; then + set X $myuname + shift + + case "$5" in + fps*) osname=fps ;; + mips*) + case "$4" in + umips) osname=umips ;; + *) osname=mips ;; + esac;; + [23]100) osname=mips ;; + next*) osname=next ;; + news*) osname=news ;; +?X: Interactive Unix. + i386*) + if $test -f /etc/kconfig; then + osname=isc + if test "$lns" = "ln -s"; then + osvers=4 + elif $contains _SYSV3 /usr/include/stdio.h > /dev/null 2>&1 ; then + osvers=3 + elif $contains _POSIX_SOURCE /usr/include/stdio.h > /dev/null 2>&1 ; then + osvers=2 + fi + fi + ;; + esac + + case "$1" in + aix) osname=aix +?X: aix 4.1 uname -a output looks like +?X: AIX foo 1 4 000123456789 +?X: where $4 is the major release number and $3 is the (minor) version. +?X: More detail on the version is available with the oslevel command. +?X: in 3.2.x, it output a string (see case statements below). In 4.1, +?X: it puts out something like 4.1.1.0 + tmp=`( (oslevel) 2>/dev/null || echo "not found") 2>&1` + case "$tmp" in + 'not found') osvers="$4"."$3" ;; + '<3240'|'<>3240') osvers=3.2.0 ;; + '=3240'|'>3240'|'<3250'|'<>3250') osvers=3.2.4 ;; + '=3250'|'>3250') osvers=3.2.5 ;; + *) osvers=$tmp;; + esac + ;; + *dc.osx) osname=dcosx + osvers="$3" + ;; + dnix) osname=dnix + osvers="$3" + ;; + domainos) osname=apollo + osvers="$3" + ;; + dgux) osname=dgux + osvers="$3" + ;; +?X: uname -a returns +?X: DYNIX/ptx xxx 4.0 V4.1.2 i386 + dynixptx*) osname=dynixptx + osvers="$3" + ;; + freebsd) osname=freebsd + osvers="$3" ;; + genix) osname=genix ;; + hp*) osname=hpux + case "$3" in + *.08.*) osvers=9 ;; + *.09.*) osvers=9 ;; + *.10.*) osvers=10 ;; + *) osvers="$3" ;; + esac + ;; + irix*) osname=irix + case "$3" in + 4*) osvers=4 ;; + 5*) osvers=5 ;; + 6*) osvers=6 ;; + *) osvers="$3" ;; + esac + ;; + linux) osname=linux + case "$3" in + 1*) osvers=1 ;; + *) osvers="$3" ;; + esac + ;; + netbsd*) osname=netbsd + osvers="$3" + ;; + bsd386) osname=bsd386 + osvers=`$uname -r` + ;; + next*) osname=next ;; + solaris) osname=solaris + case "$3" in + 5*) osvers=`echo $3 | $sed 's/^5/2/g'` ;; + *) osvers="$3" ;; + esac + ;; + sunos) osname=sunos + case "$3" in + 5*) osname=solaris + osvers=`echo $3 | $sed 's/^5/2/g'` ;; + *) osvers="$3" ;; + esac + ;; + titanos) osname=titanos + case "$3" in + 1*) osvers=1 ;; + 2*) osvers=2 ;; + 3*) osvers=3 ;; + 4*) osvers=4 ;; + *) osvers="$3" ;; + esac + ;; + ultrix) osname=ultrix + osvers="$3" + ;; + osf1|mls+) case "$5" in + alpha) +?X: DEC OSF/1 myuname -a output looks like: osf1 xxxx t3.2 123.4 alpha +?X: where the version number can be either vn.n or tn.n. + osname=dec_osf + osvers=`echo "$3" | sed 's/^[vt]//'` + ;; + hp*) osname=hp_osf1 ;; + mips) osname=mips_osf1 ;; +?X: hp and mips were unsupported Technology Releases -- ADO, 24/10/94 + esac + ;; + uts) osname=uts + osvers="$3" + ;; + qnx) osname=qnx + osvers="$4" + ;; + mingw32*) osname=mingw32 + osvers="$3" + ;; + $2) case "$osname" in + *isc*) ;; + *freebsd*) ;; + svr*) + : svr4.x or possibly later + case "svr$3" in + ${osname}*) + osname=svr$3 + osvers=$4 + ;; + esac + case "$osname" in + svr4.0) + : Check for ESIX + if test -f /stand/boot ; then + eval `grep '^INITPROG=[a-z/0-9]*$' /stand/boot` + if test -n "$INITPROG" -a -f "$INITPROG"; then + isesix=`strings -a $INITPROG|grep 'ESIX SYSTEM V/386 Release 4.0'` + if test -n "$isesix"; then + osname=esix4 + fi + fi + fi + ;; + esac + ;; + *) if test -f /etc/systemid; then + osname=sco + set `echo $3 | $sed 's/\./ /g'` $4 + if $test -f sco_$1_$2_$3.sh; then + osvers=$1.$2.$3 + elif $test -f sco_$1_$2.sh; then + osvers=$1.$2 + elif $test -f sco_$1.sh; then + osvers=$1 + fi + else + case "$osname" in + '') : Still unknown. Probably a generic Sys V. + osname="sysv" + osvers="$3" + ;; + esac + fi + ;; + esac + ;; + *) case "$osname" in + '') : Still unknown. Probably a generic BSD. + osname="$1" + osvers="$3" + ;; + esac + ;; + esac + else +?X: Try to identify sony's NEWS-OS (BSD unix) + if test -f /vmunix -a -f $src/hints/news_os.sh; then + (what /vmunix | UU/tr '[A-Z]' '[a-z]') > UU/kernel.what 2>&1 + if $contains news-os UU/kernel.what >/dev/null 2>&1; then + osname=news_os + fi + $rm -f UU/kernel.what +?X: Maybe it's an OS/2 +?X: Might also be win32 + elif test -d c:/.; then + : Check for cygwin32 emulation + case "x$OS" in + xWindows_*) + set X $myuname + osname=win32 + osvers="$3" + ;; + x*) + set X $myuname + osname=os2 + osvers="$5" + ;; + esac + fi + fi +?X: Fix up cygwin32 to win32, just because... + case "x$osname" in + xcygwin32*) + osname=win32 + ;; + esac + + : Now look for a hint file osname_osvers, unless one has been + : specified already. + case "$hintfile" in + ''|' ') + file=`echo "${osname}_${osvers}" | $sed -e 's@\.@_@g' -e 's@_$@@'` + : Also try without trailing minor version numbers. + xfile=`echo $file | $sed -e 's@_[^_]*$@@'` + xxfile=`echo $xfile | $sed -e 's@_[^_]*$@@'` + xxxfile=`echo $xxfile | $sed -e 's@_[^_]*$@@'` + xxxxfile=`echo $xxxfile | $sed -e 's@_[^_]*$@@'` + case "$file" in + '') dflt=none ;; + *) case "$osvers" in + '') dflt=$file + ;; + *) if $test -f $src/hints/$file.sh ; then + dflt=$file + elif $test -f $src/hints/$xfile.sh ; then + dflt=$xfile + elif $test -f $src/hints/$xxfile.sh ; then + dflt=$xxfile + elif $test -f $src/hints/$xxxfile.sh ; then + dflt=$xxxfile + elif $test -f $src/hints/$xxxxfile.sh ; then + dflt=$xxxxfile + elif $test -f "$src/hints/${osname}.sh" ; then + dflt="${osname}" + else + dflt=none + fi + ;; + esac + ;; + esac + ;; + *) + dflt=`echo $hintfile | $sed 's/\.sh$//'` + ;; + esac + + $cat <> UU/config.sh + elif $test X$tans = X -o X$tans = Xnone ; then + : nothing + else + : Give one chance to correct a possible typo. + echo "$file.sh does not exist" + dflt=$file + rp="hint to use instead?" + . UU/myread + for file in $ans; do + if $test -f "$src/hints/$file.sh"; then + . $src/hints/$file.sh + $cat $src/hints/$file.sh >> UU/config.sh + elif $test X$ans = X -o X$ans = Xnone ; then + : nothing + else + echo "$file.sh does not exist -- ignored." + fi + done + fi + done + + hint=recommended + : Remember our hint file for later. + if $test -f "$src/hints/$file.sh" ; then + hintfile="$file" + else + hintfile='' + fi +fi +cd UU +?X: From here on, we must use $rsrc instead of $src +@else +: Get old answers, if there is a config file out there +hint=default +hintfile='' +if test -f ../config.sh; then + echo " " + rp="I see a config.sh file. Shall I use it to set the defaults?" + . ./myread + case "$ans" in + n*|N*) echo "OK, I'll ignore it.";; + *) echo "Fetching default answers from your old config.sh file..." >&4 + tmp_n="$n" + tmp_c="$c" + . ../config.sh + cp ../config.sh . + n="$tmp_n" + c="$tmp_c" + hint=previous + ;; + esac +fi +@end +?X: remember, indentation is wrong--RAM +;; +*) + echo " " + echo "Fetching default answers from $config_sh..." >&4 + tmp_n="$n" + tmp_c="$c" + cd .. +?X: preserve symbolic links, if any + cp $config_sh config.sh 2>/dev/null + chmod +w config.sh + . ./config.sh + cd UU + cp ../config.sh . + n="$tmp_n" + c="$tmp_c" + hint=previous + ;; +esac +test "$override" && . ./optdef.sh +myuname="$newmyuname" + +: Restore computed paths +for file in $loclist $trylist; do + eval $file="\$_$file" +done + +@if osname || osvers +cat << EOM + +Configure uses the operating system name and version to set some defaults. +The default value is probably right if the name rings a bell. Otherwise, +since spelling matters for me, either accept the default or answer "none" +to leave it blank. + +EOM +@end +@if osname +case "$osname" in + ''|' ') + case "$hintfile" in + ''|' '|none) dflt=none ;; + *) dflt=`echo $hintfile | $sed -e 's/\.sh$//' -e 's/_.*$//'` ;; + esac + ;; + *) dflt="$osname" ;; +esac +rp="Operating system name?" +. ./myread +case "$ans" in +none) osname='' ;; +*) osname=`echo "$ans" | $sed -e 's/[ ][ ]*/_/g' | ./tr '[A-Z]' '[a-z]'`;; +esac +@end +@if osvers +@if osname +echo " " +@end +case "$osvers" in + ''|' ') + case "$hintfile" in + ''|' '|none) dflt=none ;; + *) dflt=`echo $hintfile | $sed -e 's/\.sh$//' -e 's/^[^_]*//'` + dflt=`echo $dflt | $sed -e 's/^_//' -e 's/_/./g'` + case "$dflt" in + ''|' ') dflt=none ;; + esac + ;; + esac + ;; + *) dflt="$osvers" ;; +esac +rp="Operating system version?" +. ./myread +case "$ans" in +none) osvers='' ;; +*) osvers="$ans" ;; +esac + +@end diff --git a/U/ccflags.U b/U/ccflags.U new file mode 100644 index 0000000..66bc158 --- /dev/null +++ b/U/ccflags.U @@ -0,0 +1,426 @@ +?RCS: $Id: ccflags.U 1.6 Sat, 24 Jan 2004 13:13:31 -0600 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: ccflags.U,v $ +?RCS: Revision 3.0.1.9 1997/02/28 15:27:07 ram +?RCS: patch61: removed support for NO_PROTOTYPE detection on SCO +?RCS: patch61: new locincpth variable +?RCS: patch61: added info on the "additional ld flags" question +?RCS: +?RCS: Revision 3.0.1.8 1995/07/25 13:48:54 ram +?RCS: patch56: re-arranged compile line to include ldflags before objects +?RCS: +?RCS: Revision 3.0.1.7 1995/05/12 12:08:33 ram +?RCS: patch54: now checks for cc/ccflags/ldflags coherency +?RCS: +?RCS: Revision 3.0.1.6 1994/10/29 16:07:02 ram +?RCS: patch36: gcc versionning no longer relies on the C compiler's name +?RCS: patch36: simplified check for gcc version checking (ADO) +?RCS: +?RCS: Revision 3.0.1.5 1994/08/29 16:06:35 ram +?RCS: patch32: propagate -posix flag from ccflags to ldflags +?RCS: +?RCS: Revision 3.0.1.4 1994/05/06 14:28:45 ram +?RCS: patch23: -fpcc-struct-return only needed in gcc 1.x (ADO) +?RCS: patch23: cppflags now computed on an option-by-option basis +?RCS: patch23: magically added cc flags now only done the first time +?RCS: +?RCS: Revision 3.0.1.3 1993/09/13 15:58:29 ram +?RCS: patch10: explicitely mention -DDEBUG just in case they need it (WAD) +?RCS: patch10: removed all the "tans" variable usage (WAD) +?RCS: +?RCS: Revision 3.0.1.2 1993/08/27 14:39:38 ram +?RCS: patch7: added support for OSF/1 machines +?RCS: +?RCS: Revision 3.0.1.1 1993/08/25 14:00:24 ram +?RCS: patch6: added defaults for cppflags, ccflags and ldflags +?RCS: +?RCS: Revision 3.0 1993/08/18 12:05:31 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:ccflags ldflags lkflags cppflags optimize warnings locincpth: test cat \ + Myread Guess Options Oldconfig +gccversion mips_type +usrinc \ + package contains rm +cc cppstdin cppminus cpprun cpplast libpth \ + loclibpth hint +?MAKE: -pick add $@ %< +?S:ccflags: +?S: This variable contains any additional C compiler flags desired by +?S: the user. It is up to the Makefile to use this. +?S:. +?S:cppflags: +?S: This variable holds the flags that will be passed to the C pre- +?S: processor. It is up to the Makefile to use it. +?S:. +?S:optimize: +?S: This variable contains any optimizer/debugger flag that should be used. +?S: It is up to the Makefile to use it. +?S:. +?S:warnings: +?S: This variable contains any compiler warning flags that should be used. +?S:. +?S:ldflags: +?S: This variable contains any additional C loader flags desired by +?S: the user. It is up to the Makefile to use this. +?S:. +?S:lkflags: +?S: This variable contains any additional C partial linker flags desired by +?S: the user. It is up to the Makefile to use this. +?S:. +?S:locincpth: +?S: This variable contains a list of additional directories to be +?S: searched by the compiler. The appropriate -I directives will +?S: be added to ccflags. This is intended to simplify setting +?S: local directories from the Configure command line. +?S: It's not much, but it parallels the loclibpth stuff in libpth.U. +?S:. +?T:inctest thisincl xxx flag inclwanted ftry previous thislibdir +?D:cppflags='' +?D:ccflags='' +?D:ldflags='' +?D:optimize='' +?D:warnings='' +?INIT:: Possible local include directories to search. +?INIT:: Set locincpth to "" in a hint file to defeat local include searches. +?INIT:locincpth="/usr/local/include /opt/local/include /usr/gnu/include" +?INIT:locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include" +?INIT:locincpth="$locincpth /usr/kerberos/include" +?INIT:: +?INIT:: no include file wanted by default +?INIT:inclwanted='' +?INIT: +: determine optimize, if desired, or use for debug flag also +case "$optimize" in +' ') dflt='none';; +'') case $gccversion in + 2*) dflt='-g -O' ;; + *egcs*) dflt='-g -O' ;; + *) dflt='-g' ;; + esac ;; +*) dflt="$optimize";; +esac +$cat </dev/null 2>&1 + then + dflt="$dflt -posix" + fi + ;; + esac + ;; +esac + +?X: In USG mode, a MIPS system may need some BSD includes +case "$mips_type" in +*BSD*|'') inclwanted="$locincpth $usrinc";; +*) inclwanted="$locincpth $inclwanted $usrinc/bsd";; +esac +for thisincl in $inclwanted; do + if $test -d $thisincl; then + if $test x$thisincl != x$usrinc; then + case "$dflt" in + *$thisincl*);; + *) dflt="$dflt -I$thisincl";; + esac + fi + fi +done + +?X: Include test function (header, symbol) +inctest='if $contains $2 $usrinc/$1 >/dev/null 2>&1; then + xxx=true; +elif $contains $2 $usrinc/sys/$1 >/dev/null 2>&1; then + xxx=true; +else + xxx=false; +fi; +if $xxx; then + case "$dflt" in + *$2*);; + *) dflt="$dflt -D$2";; + esac; +fi' + +?X: +?X: OSF/1 uses __LANGUAGE_C__ instead of LANGUAGE_C +?X: +if ./osf1; then + set signal.h __LANGUAGE_C__; eval $inctest +else + set signal.h LANGUAGE_C; eval $inctest +fi + +case "$hint" in +none|recommended) dflt="$ccflags $dflt" ;; +*) dflt="$ccflags";; +esac + +case "$dflt" in +''|' ') dflt=none;; +esac +$cat <&4 + set X $cppflags + shift + cppflags='' + $cat >cpp.c <<'EOM' +#define BLURFL foo + +BLURFL xx LFRULB +EOM +?X: +?X: For each cc flag, try it out with both cppstdin and cpprun, since the +?X: first is almost surely a cc wrapper. We have to try both in case +?X: of cc flags like '-Olimit 2900' that are actually two words... +?X: + previous='' + for flag in $* + do + case "$flag" in + -*) ftry="$flag";; + *) ftry="$previous $flag";; + esac + if $cppstdin -DLFRULB=bar $ftry $cppminus cpp1.out 2>/dev/null && \ + $cpprun -DLFRULB=bar $ftry $cpplast cpp2.out 2>/dev/null && \ + $contains 'foo.*xx.*bar' cpp1.out >/dev/null 2>&1 && \ + $contains 'foo.*xx.*bar' cpp2.out >/dev/null 2>&1 + then + cppflags="$cppflags $ftry" + previous='' + else + previous="$flag" + fi + done + set X $cppflags + shift + cppflags=${1+"$@"} + case "$cppflags" in + *-*) echo "They appear to be: $cppflags";; + esac + $rm -f cpp.c cpp?.out + ;; +esac + +: flags used in final linking phase +case "$ldflags" in +'') if ./venix; then + dflt='-i -z' + else + dflt='' + fi + case "$ccflags" in + *-posix*) dflt="$dflt -posix" ;; + esac + ;; +*) dflt="$ldflags";; +esac + +: Try to guess additional flags to pick up local libraries. +for thislibdir in $libpth; do + case " $loclibpth " in + *" $thislibdir "*) + case "$dflt " in + *"-L$thislibdir "*) ;; + *) dflt="$dflt -L$thislibdir" ;; + esac + ;; + esac +done + +case "$dflt" in +'') dflt='none' ;; +esac + +$cat <&4 +?X: Strip extra blanks in case some of the following variables are empty +set X $cc $optimize $ccflags $ldflags try.c -o try +shift +$cat >try.msg < try.c <<'EOF' +#include +main() { exit(0); } +EOF +dflt=y +?X: Use "sh -c" to avoid error messages tagged with leading "Configure:". +?X: We need to try the resulting executable, because cc might yield a 0 status +?X: even when ld failed, in which case the executable will not run properly, +?X: if its x bit is set at all... +if sh -c "$cc $optimize $ccflags try.c -o try $ldflags" >>try.msg 2>&1; then + if sh -c './try' >>try.msg 2>&1; then + dflt=n + else + echo "The program compiled OK, but exited with status $?." >>try.msg + rp="You have a problem. Shall I abort Configure" + dflt=y + fi +else + echo "I can't compile the test program." >>try.msg + rp="You have a BIG problem. Shall I abort Configure" + dflt=y +fi +case "$dflt" in +y) + $cat try.msg +?X: using -K will prevent default aborting--maybe they're cross compiling? + case "$knowitall" in + '') + echo "(The supplied flags might be incorrect with this C compiler.)" + ;; + *) dflt=n;; + esac + echo " " + . ./myread + case "$ans" in + n*|N*) ;; + *) echo "Ok. Stopping Configure." >&4 + exit 1 + ;; + esac + ;; +n) echo "OK, that should do.";; +esac +$rm -f try try.* core + diff --git a/U/cdecl.U b/U/cdecl.U new file mode 100644 index 0000000..59e9ae7 --- /dev/null +++ b/U/cdecl.U @@ -0,0 +1,48 @@ +?RCS: $Id: cdecl.U 1.3 Wed, 17 Mar 2004 16:02:04 -0600 dunemush $ +?RCS: +?RCS: Copyright (c) 1995, Alan Schwartz +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?MAKE:cdecl: Myread cat cc ccflags rm +?MAKE: -pick add $@ %< +?S:cdecl: +?S: Defined to be __cdecl if the compiler can handle a __cdecl keyword +?S: to specify C-style argument passing conventions. Otherwise defined +?S: as nothing. Basically MS VC++. +?S:. +?C:WIN32_CDECL: +?C: Defined as __cdecl if the compiler can handle that keyword to specify +?C: C-style argument passing conventions. This allows MS VC++ +?C: on Win32 to use the __fastcall convention for everything else +?C: and get a performance boost. Any compiler with a brain (read: +?C: not MS VC) handles this optimization automatically without such a +?C: kludge. On these systems, this is defined as nothing. +?C:. +?H:#define WIN32_CDECL $cdecl +?H:. +: check for a __cdecl use +echo " " +$cat >test_cdecl.c <<'EOCP' +#include +#include +#define WIN32_CDECL __cdecl + +int WIN32_CDCEL main(int argc, char **argv) { + exit(0); +} +EOCP + +if ($cc $ccflags -o test_cdecl test_cdecl.c && ./test_cdecl) >/dev/null 2>&1 ; then + cdecl='__cdecl' + echo 'Your compiler likes __cdecl as a keyword.' >&4 +else + cdecl='' + echo "Your compiler doesn't grok __cdecl - it probably has a brain." >&4 +fi +$rm -f test_cdecl* core + diff --git a/U/cf_name.U b/U/cf_name.U new file mode 100644 index 0000000..ffdd79c --- /dev/null +++ b/U/cf_name.U @@ -0,0 +1,72 @@ +?RCS: $Id$ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: Original Author: Graham Stoney +?RCS: +?RCS: $Log: cf_name.U,v $ +?RCS: Revision 3.0.1.2 1994/05/06 14:29:36 ram +?RCS: patch23: fixed user name computation from /etc/passwd in bsd systems +?RCS: +?RCS: Revision 3.0.1.1 1994/01/24 14:05:11 ram +?RCS: patch16: created +?RCS: +?RCS: +?MAKE:cf_name: cf_by passcat Filexp nametype cat test +?MAKE: -pick add $@ %< +?S:cf_name: +?S: Full name of the person who ran the Configure script and answered the +?S: questions. This can be used by units that require the user's full name. +?S: This variable is for internal use only. +?S:. +?T:xxx fn NAME +: figure out their full name +case "$NAME" in +'') case "$nametype" in + other) + fn=`./filexp ~/.fullname` + xxx=usg + $test -f $fn && xxx=other + ;; + *) + xxx="$nametype" + ;; + esac + + case "$xxx" in + bsd) + cf_name=`$passcat | grep "^$cf_by:" | \ + sed -e 's/^[^:]*:[^:]*:[^:]*:[^:]*:\([^:]*\):.*/\1/' \ + -e 's/,.*//'` + ;; + usg) + cf_name=`$passcat | grep "^$cf_by:" | \ + sed -e 's/^[^:]*:[^:]*:[^:]*:[^:]*:\([^:]*\):.*/\1/' \ + -e 's/[^-]*-\(.*\)(.*)/\1/'` + ;; + *) + cf_name=`$cat $fn` + ;; + esac + ;; +*) + cf_name="$NAME" + ;; +esac +?X: +?X: In the original unit, Graham asked for the user name, in case the above +?X: code was unable to figure it out correctly. Since now cf_name has been +?X: made an internal variable only (i.e. it is not saved in config.sh), letting +?X: the user override the computed default each time would be a pain. +?X: Therefore, I have decided to trust the above code to get it right, and for +?X: those rare cases where it will fail, too bad :-) --RAM. +?X: +echo " " +echo "Pleased to meet you, $cf_name." + diff --git a/U/d_argsinfp.U b/U/d_argsinfp.U new file mode 100644 index 0000000..d4ab973 --- /dev/null +++ b/U/d_argsinfp.U @@ -0,0 +1,46 @@ +?RCS: $Id: d_argsinfp.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1995, Alan Schwartz +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?MAKE:d_argsinfp: Myread cat cc ccflags rm ldflags +?MAKE: -pick add $@ %< +?S:d_argsinfp: +?S: Defined if new-style function definitions are allowable. +?S:. +?C:CAN_TAKE_ARGS_IN_FP: +?C: Defined if the compiler prefers that function pointer parameters +?C: in prototypes include the function's arguments, rather than +?C: nothing (that is, int (*fun)(int) rather than int(*fun)(). +?C:. +?H:#$d_argsinfp CAN_TAKE_ARGS_IN_FP /**/ +?H:. +: check for ok to use function ptr arguments in prototypes +echo " " +$cat >test_argsinfp.c <<'EOCP' +#include +int myfun(int); +int fun(int (*func)(int)); +int fun2(int, int (*prevfun)(int(*func)(int))); +int fun (int (*func)(int)) { int a = 1; return func(a); } +int myfun(int x) { return x - 1; } + +int main(int argc, char **argv) { + exit(fun(myfun)); +} +EOCP + +if $cc $ccflags $ldflags -o test_argsinfp test_argsinfp.c >/dev/null 2>&1 ; then + d_argsinfp='define' + echo 'Your compiler prefers arguments in function pointers in prototypes.' >&4 +else + d_argsinfp='undef' + echo "Your compiler prefers no arguments in function pointers in prototypes." >&4 +fi +$rm -f test_argsinfp* core + diff --git a/U/d_assert.U b/U/d_assert.U new file mode 100644 index 0000000..2e2c468 --- /dev/null +++ b/U/d_assert.U @@ -0,0 +1,41 @@ +?RCS: $Id: d_assert.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Revision 3.0 1993/08/18 12:05:39 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:d_assert: Myread cat cc ccflags rm Setvar libs ldflags +?MAKE: -pick add $@ %< +?S:d_assert: +?S: This variable is set if the system has the assert() macro +?S:. +?C:HAS_ASSERT: +?C: If defined, this system has the assert() macro. +?C:. +?H:#$d_assert HAS_ASSERT /**/ +?H:. +?T:val +?LINT:set d_assert +: see if we have the assert macro +echo " " +echo "Let's see if I can assert() myself." >&4 + $cat >d_assert.c < +#include + +int main() +{ + assert(1); +} +EOCP + +if $cc $ccflags $ldflags d_assert.c -o d_assert $libs >/dev/null 2>&1; then + val="$define" + set d_assert; eval $setvar + echo "Looks like I can." >&4 +else + val="$undef" + set d_assert; eval $setvar + echo "Nope, I need assertiveness training." >&4 +fi +$rm -f d_assert* + diff --git a/U/d_attribut.U b/U/d_attribut.U new file mode 100644 index 0000000..0c127ac --- /dev/null +++ b/U/d_attribut.U @@ -0,0 +1,64 @@ +?RCS: $Id: d_attribut.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: Original Author: Andy Dougherty +?RCS: +?RCS: $Log: d_attribut.U,v $ +?RCS: Revision 3.0.1.3 1995/01/30 14:33:45 ram +?RCS: patch49: test C program now includes (WED) +?RCS: +?RCS: Revision 3.0.1.2 1995/01/11 15:25:47 ram +?RCS: patch45: fixed typo in the d_attribut variable (ADO) +?RCS: +?RCS: Revision 3.0.1.1 1994/10/29 16:08:55 ram +?RCS: patch36: created by ADO +?RCS: +?MAKE:d_attribut: Myread Oldconfig cat cc ccflags rm Setvar contains optimize +?MAKE: -pick add $@ %< +?S:d_attribut (d_attrib): +?S: This variable conditionally defines HASATTRIBUTE, which +?S: indicates the C compiler can check for function attributes, +?S: such as printf formats. +?S:. +?C:HASATTRIBUTE ~ %< (GNUC_ATTRIBUTE_CHECK): +?C: This symbol indicates the C compiler can check for function attributes, +?C: such as printf formats. This is normally only supported by GNU cc. +?C:. +?H:?%<:#$d_attribut HASATTRIBUTE /**/ +?H:?%<:#ifndef HASATTRIBUTE +?H:?%<:#define __attribute__(_arg_) +?H:?%<:#endif +?H:. +?W:%<:__attribute__ +?LINT:set d_attribut +?LINT:known __attribute__ +: Look for GNU-cc style attribute checking +echo " " +echo "Checking whether your compiler can handle __attribute__ ..." >&4 +$cat >attrib.c <<'EOCP' +#include +void croak (char* pat,...) __attribute__((format(printf,1,2),noreturn)); +EOCP +if $cc $optimize $ccflags -c attrib.c >attrib.out 2>&1 ; then + if $contains 'warning' attrib.out >/dev/null 2>&1; then + echo "Your C compiler doesn't fully support __attribute__." + val="$undef" + else + echo "Your C compiler supports __attribute__." + val="$define" + fi +else + echo "Your C compiler doesn't seem to understand __attribute__ at all." + val="$undef" +fi +set d_attribut +eval $setvar +$rm -f attrib* + diff --git a/U/d_bindtextdomain.U b/U/d_bindtextdomain.U new file mode 100644 index 0000000..dcdf217 --- /dev/null +++ b/U/d_bindtextdomain.U @@ -0,0 +1,41 @@ +?RCS: $Id: d_bindtextdomain.U 1.2 Wed, 13 Sep 2000 14:49:45 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1995, Alan Schwartz +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?MAKE:d_bindtextdomain: Myread cat cc ccflags rm ldflags libs i_libintl +?MAKE: -pick add $@ %< +?S:d_bindtextdomain: +?S: Defined if bindtextdomain() is available. +?S:. +?C:HAS_BINDTEXTDOMAIN: +?C: Defined if bindtextdomain is available(). +?C:. +?H:#$d_bindtextdomain HAS_BINDTEXTDOMAIN /**/ +?H:. +: check for a new-style definitions +echo " " +$cat >test_bindtextdomain.c < +#endif +int main(int argc, char **argv) { + return (int) bindtextdomain ("", ""); +} +EOCP + +if $cc $ccflags $ldflags -o test_bindtextdomain test_bindtextdomain.c $libs >/dev/null 2>&1 ; then + d_bindtextdomain='define' + echo 'Otima! You seem to have bindtextdomain for translations.' >&4 +else + d_bindtextdomain='undef' + echo "You don't seem to have bindtextdomain. Sinto muito." >&4 +fi +$rm -f test_bindtextdomain* core + diff --git a/U/d_crypt.U b/U/d_crypt.U new file mode 100644 index 0000000..cd5b936 --- /dev/null +++ b/U/d_crypt.U @@ -0,0 +1,87 @@ +?RCS: $Id: d_crypt.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: d_crypt.U,v $ +?RCS: Revision 3.0 1993/08/18 12:05:52 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:d_crypt cryptlib i_crypt: Loc test xlibpth libpth Csym Setvar Inhdr +?MAKE: -pick add $@ %< +?S:d_crypt: +?S: This variable conditionally defines the CRYPT symbol, which +?S: indicates to the C program that the crypt() routine is available +?S: to encrypt passwords and the like. +?S:. +?S:cryptlib: +?S: This variable holds -lcrypt or the path to a libcrypt.a archive if +?S: the crypt() function is not defined in the standard C library. It is +?S: up to the Makefile to use this. +?S:. +?S:i_crypt: +?S: This variable conditionally defines the I_CRYPT symbol, which +?S: indicates whether a C program should include +?S:. +?C:HAS_CRYPT (CRYPT): +?C: This symbol, if defined, indicates that the crypt routine is available +?C: to encrypt passwords and the like. +?C:. +?C:I_CRYPT: +?C: This symbol, if defined, indicates that can be included. +?C:. +?H:#$d_crypt HAS_CRYPT /**/ +?H:. +?H:#$i_crypt I_CRYPT /**/ +?H:. +?M:crypt: HAS_CRYPT +?M:/* If your system doesn't have the crypt(3) DES encryption code, +?M: * (which isn't exportable from the U.S.), then don't encrypt +?M: */ +?M:#ifndef HAS_CRYPT +?M:#define crypt(s,t) (s) +?M:#endif +?M:. +?LINT:set d_crypt i_crypt +?T:val +: see if crypt exists +echo " " +if set crypt val -f d_crypt; eval $csym; $val; then + echo 'crypt() found.' >&4 + 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!' >&4 + val="$undef" + else + val="$define" + fi +fi +set d_crypt +eval $setvar +: see if crypt.h can be included +set crypt.h i_crypt +eval $inhdr + diff --git a/U/d_force_ipv4.U b/U/d_force_ipv4.U new file mode 100644 index 0000000..f17197d --- /dev/null +++ b/U/d_force_ipv4.U @@ -0,0 +1,21 @@ +?RCS: $Id: d_force_ipv4.U 1.1 Sat, 17 Mar 2001 14:16:55 -0600 dunemush $ +?RCS: +?RCS: Revision 3.0 1993/08/18 12:05:39 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:d_force_ipv4: Myread cat cc ccflags rm Setvar libs ldflags +?MAKE: -pick add $@ %< +?S:d_force_ipv4: +?S: This variable allows us to force the use of ipv4 rather than ipv6. +?S:. +?C:FORCE_IPV4: +?C: If defined, this system will not use IPv6. Necessary for Openbsd. +?C:. +?H:#$d_force_ipv4 FORCE_IPV4 /**/ +?H:. +?T:val +?LINT:set d_force_ipv4 +: Do nothing by default +val="$undef" +set d_force_ipv4; eval $setvar + diff --git a/U/d_fpsetround.U b/U/d_fpsetround.U new file mode 100644 index 0000000..6216823 --- /dev/null +++ b/U/d_fpsetround.U @@ -0,0 +1,93 @@ +?RCS: $Id: d_fpsetround.U 1.2 Wed, 17 Mar 2004 16:02:04 -0600 dunemush $ +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: d_fpsetround.U,v $ +?RCS: +?MAKE:d_fpsetround d_fpsetmask i_floatingpoint: Loc test Csym Setvar Inhdr cc ccflags libs rm cat test ldflags +?MAKE: -pick add $@ %< +?S:d_fpsetround: +?S: This variable conditionally defines the HAS_FPSETROUND symbol, +?S: indicating we have fpsetround(), a FreeBSD thing, mostly. +?S:. +?S:d_fpsetmask: +?S: This variable conditionally defines the HAS_FPSETMASK symbol, +?S: indicating we have fpsetmask(), a FreeBSD thing, mostly. +?S:. +?S:i_floatingpoint: +?S: This variable conditionally defines the I_FLOATINGPOINT symbol, which +?S: indicates whether a C program should include , +?S: a FreeBSD thing, mostly. +?S:. +?C:HAS_FPSETROUND: +?C: This symbol, if defined, indicates that the crypt routine is available +?C: to encrypt passwords and the like. +?C:. +?C:I_FLOATINGPOINT: +?C: This symbol, if defined, indicates that can be included. +?C:. +?H:#$d_fpsetround HAS_FPSETROUND /**/ +?H:. +?H:#$d_fpsetmask HAS_FPSETMASK /**/ +?H:. +?H:#$i_floatingpoint I_FLOATINGPOINT /**/ +?H:. +?LINT:set d_fpsetround d_fpsetmask i_floatingpoint +?T:val +echo " " +: see if floatingpoint.h can be included +set floatingpoint.h i_floatingpoint +eval $inhdr + +: see if fpsetround exists +$cat >test_fpsetround.c <<'EOCP' +#$i_floatingpoint I_FLOATINGPOINT +#ifdef I_FLOATINGPOINT +#include +#endif + +int main() { + fpsetround(FP_RN); +} +EOCP + +if ($cc $ccflags $ldflags -o test_fpsetround test_fpsetround.c $libs \ + && ./test_fpsetround) >/dev/null 2>&1 ; then + echo 'fpsetround() is around (and found).' >&4 + val="$define" +else + echo 'no fpsetround(). No problem.' >&4 + val="$undef" +fi +set d_fpsetround +eval $setvar + +: see if fpsetmask exists +$cat >test_fpsetmask.c <<'EOCP' +#$i_floatingpoint I_FLOATINGPOINT +#ifdef I_FLOATINGPOINT +#include +#endif + +int main() { + fpsetmask(0L); +} +EOCP + +if ($cc $ccflags $ldflags -o test_fpsetmask test_fpsetmask.c $libs && \ + ./test_fpsetmask) >/dev/null 2>&1 ; then + echo 'fpsetmask() is up to the task.' >&4 + val="$define" +else + echo 'no fpsetmask(). No problem.' >&4 + val="$undef" +fi +set d_fpsetmask +eval $setvar + +$rm -f test_fpset* core + diff --git a/U/d_gaistr.U b/U/d_gaistr.U new file mode 100644 index 0000000..310b18c --- /dev/null +++ b/U/d_gaistr.U @@ -0,0 +1,27 @@ +?RCS: +?RCS: Copyright (c) 200, Shawn Wagner +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?MAKE:d_gaistr: Inlibc +?MAKE: -pick add $@ %< +?S:d_gaistr (d_gaistr): +?S: This variable conditionally defines the HAS_GAI_STRERROR symbol, which +?S: indicates to the C program that getaddrinfo()'s error codes can be +?S: converted to strings for printing. +?S:. +?C:HAS_GAI_STRERROR (GAI_STRERROR): +?C: This symbol, if defined, indicates that getaddrinfo()'s error cores +?C: can be converted to strings for printing. +?C:. +?H:#$d_gaistr HAS_GAI_STRERROR /**/ +?H:. +?LINT:set d_gaistr +: see if gai_strerror exists +set gai_strerror d_gaistr +eval $inlibc + diff --git a/U/d_getadinf.U b/U/d_getadinf.U new file mode 100644 index 0000000..0786248 --- /dev/null +++ b/U/d_getadinf.U @@ -0,0 +1,27 @@ +?RCS: +?RCS: Copyright (c) 2000, Shawn Wagner +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?MAKE:d_getadinf: Inlibc +?MAKE: -pick add $@ %< +?S:d_getadinf (d_getadinf): +?S: This variable conditionally defines the HAS_GETADDRINFO symbol, which +?S: indicates to the C program that the getaddrinfo() routine is available +?S: to lookup internet addresses in one data base or another.. +?S:. +?C:HAS_GETADDRINFO (GETADDRINFO): +?C: This symbol, if defined, indicates that the getaddrinfo() routine is +?C: available to lookup internet addresses in some data base or other. +?C:. +?H:#$d_getadinf HAS_GETADDRINFO /**/ +?H:. +?LINT:set d_getadinf +: see if getaddrinfo exists +set getaddrinfo d_getadinf +eval $inlibc + diff --git a/U/d_getdate.U b/U/d_getdate.U new file mode 100644 index 0000000..cd4dac2 --- /dev/null +++ b/U/d_getdate.U @@ -0,0 +1,52 @@ +?RCS: $Id: d_getdate.U 1.4 Mon, 04 Dec 2000 10:36:58 -0600 dunemush $ +?RCS: +?RCS: Copyright (c) 2000, Shawn Wagner +?RCS: +?RCS: +?MAKE:d_getdate: Inlibc cc ccflags ldflags libs rm cat i_string +?MAKE: -pick add $@ %< +?S:d_getdate: +?S: This variable conditionally defines the HAS_GETDATE symbol, which +?S: indicates that the getdate() routine exists. The getdate() routine +?S: turns date strings into struct tm's. +?S:. +?C:HAS_GETDATE: +?C: This symbol, if defined, indicates that the getdate() routine is +?C: available to convert date strings into struct tm's. +?C:. +?H:#$d_getdate HAS_GETDATE /**/ +?H:. +?LINT:set d_getdate +: see if getdate exists +set getdate d_getdate +eval $inlibc + +if test $d_getdate = 'define'; then +$cat >test_getdate.c < +#else +#include +#endif +#include +#ifdef __GNUC__ +/* Required to get the getdate() prototype on glibc. */ +#define __USE_XOPEN_EXTENDED +#endif +#include +int main(int argc, char **argv) { + int i; + i = getdate_err; +} +EOCP + +if $cc $ccflags $ldflags -o test_getdate test_getdate.c $libs >/dev/null 2>&1 ; then + d_getdate='define' +else + d_getdate='undef' + echo "You may have getdate, but it's broken." >&4 +fi +$rm -f test_getdate* core + +fi + diff --git a/U/d_gethbynm2.U b/U/d_gethbynm2.U new file mode 100644 index 0000000..7041852 --- /dev/null +++ b/U/d_gethbynm2.U @@ -0,0 +1,27 @@ +?RCS: +?RCS: Copyright (c) 2000, Shawn Wagner +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?MAKE:d_gethbynm2: Inlibc +?MAKE: -pick add $@ %< +?S:d_gethbynm2 (d_gethbynm2): +?S: This variable conditionally defines the HAS_GETHOSTBYNAME2 symbol, which +?S: indicates to the C program that the gethostbyname2() function is +?S: available to resolve hostnames. +?S:. +?C:HAS_GETHOSTBYNAME2: +?C: This symbol, if defined, indicates that the gethostbyname2() +?C: function is available to resolve hostnames. +?C:. +?H:#$d_gethbynm2 HAS_GETHOSTBYNAME2 /**/ +?H:. +?LINT:set d_gethbynm2 +: see if gethostbyname2 exists +set gethostbyname2 d_gethbynm2 +eval $inlibc + diff --git a/U/d_getnminf.U b/U/d_getnminf.U new file mode 100644 index 0000000..ff671a7 --- /dev/null +++ b/U/d_getnminf.U @@ -0,0 +1,49 @@ +?RCS: +?RCS: Copyright (c) 2000, Shawn Wagner +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?MAKE:d_getnminf: cat cc ccflags rm ldflags libs Inlibc +?MAKE: -pick add $@ %< +?S:d_getnminf (d_getnminf): +?S: This variable conditionally defines the HAS_GETNAMEINFO symbol, which +?S: indicates to the C program that the getnameinfo() routine is available +?S: to lookup host names in one data base or another.. +?S:. +?C:HAS_GETNAMEINFO (GETNAMEINFO): +?C: This symbol, if defined, indicates that the getnameinfo() routine is +?C: available to lookup host names in some data base or other. +?C:. +?H:#$d_getnminf HAS_GETNAMEINFO /**/ +?H:. +?LINT:set d_getnminf +: see if getnameinfo exists - along with constants we use +set getnameinfo d_getnminf +eval $inlibc + +if test $d_getnminf = 'define'; then + +echo " " +$cat >test_getnminf.c < +int main(int argc, char **argv) { + int i; + i = NI_MAXHOST + NI_MAXSERV + NI_NOFQDN + NI_NUMERICHOST + NI_NAMEREQD; + i += NI_NUMERICSERV + NI_DGRAM; +} +EOCP + +if $cc $ccflags $ldflags -o test_getnminf test_getnminf.c $libs >/dev/null 2>&1 ; then + d_getnminf='define' + echo "You've got getnameinfo and the netdb constants." >&4 +else + d_getnminf='undef' + echo "You've got getnameinfo but not the NI_* constants! Broken!" >&4 +fi +$rm -f test_getnminf* core + +fi diff --git a/U/d_getpagsz.U b/U/d_getpagsz.U new file mode 100644 index 0000000..af9b702 --- /dev/null +++ b/U/d_getpagsz.U @@ -0,0 +1,133 @@ +?RCS: $Id: d_getpagsz.U 1.2 Mon, 26 Mar 2001 15:18:14 -0600 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: d_getpagsz.U,v $ +?RCS: Revision 3.0.1.1 1994/10/29 16:13:10 ram +?RCS: patch36: added ?F: line for metalint file checking +?RCS: +?RCS: Revision 3.0 1993/08/18 12:06:14 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:d_getpagsz pagesize: Oldconfig Myread Inlibc cat contains cc ccflags \ + ldflags libs rm Findhdr osname d_sysctlbyname test +?MAKE: -pick add $@ %< +?S:d_getpagsz: +?S: This variable conditionally defines HAS_GETPAGESIZE if getpagesize() +?S: is available to get the system page size. +?S:. +?S:pagesize (pagsize): +?S: This variable holds the size in bytes of a system page. +?S:. +?C:HAS_GETPAGESIZE (GETPAGESIZE): +?C: This symbol, if defined, indicates that the getpagesize system call +?C: is available to get system page size, which is the granularity of +?C: many memory management calls. +?C:. +?X: Don't name it PAGESIZE, this is sometimes used by +?C:PAGESIZE_VALUE (PAGSIZE): +?C: This symbol holds the size in bytes of a system page (obtained via +?C: the getpagesize() system call at configuration time or asked to the +?C: user if the system call is not available). +?C:. +?H:#$d_getpagsz HAS_GETPAGESIZE /**/ +?H:#define PAGESIZE_VALUE $pagesize /* System page size, in bytes */ +?H:. +?F:!page +?T:guess +?LINT:set d_getpagsz +: see if getpagesize exists +set getpagesize d_getpagsz +eval $inlibc + +@if pagesize || PAGESIZE_VALUE +: determine the system page size +echo " " +guess=' (OK to guess)' +case "$pagesize" in +'') + $cat >page.c < +extern int getpagesize(); +int main() +{ + printf("%d\n", getpagesize()); +} +EOP + echo "Computing the granularity of memory management calls..." >&4 + dflt='4096' + case "$d_getpagsz" in + "$define") + if $cc $ccflags $ldflags page.c -o page $libs >/dev/null 2>&1; then + dflt=`./page` + guess='' + else + echo "(I can't seem to compile the test program--guessing)" + fi + ;; + *) + if $cc $ccflags $ldflags page.c -o page $libs -lPW >/dev/null 2>&1; then + dflt=`./page` + guess='' + echo "(For your eyes only: I used the getpagesize() from -lPW.)" + else + if $contains PAGESIZE `./findhdr sys/param.h` >/dev/null 2>&1; then + $cat >page.c < +#include +int main() +{ + printf("%d\n", PAGESIZE); +} +EOP + if $cc $ccflags $ldflags page.c -o page $libs >/dev/null 2>&1; then + dflt=`./page` + guess='' + echo "(Using value of PAGESIZE found in .)" + else + if $test "x$d_sysctlbyname" = "x$define"; then + $cat >page.c < +#include +#include +int main() +{ + int res, pgsize + size_t len; + len = sizeof(pgsize); + res = sysctlbyname("hw.pagesize",&pgsize,&len,NULL,0); + if (res < 0) + res = sysctlbyname("hw_pagesize",&pgsize,&len,NULL,0); + printf("%d\n", res ? -1 : pgsize); +} +EOP + if $cc $ccflags $ldflags page.c -o page $libs >/dev/null 2>&1; then + dflt=`./page` + if $test $dflt -gt 0; then + guess='' + echo "(Using value from sysctlbyname)" + else + dflt='4096' + fi + fi + fi + fi + fi + fi + ;; + esac + ;; +*) dflt="$pagesize"; guess='';; +esac +rp="What is the system page size, in bytes$guess?" +. ./myread +pagesize=$ans +$rm -f page.c page + +@end diff --git a/U/d_gettext.U b/U/d_gettext.U new file mode 100644 index 0000000..c5cd2b3 --- /dev/null +++ b/U/d_gettext.U @@ -0,0 +1,41 @@ +?RCS: $Id: d_gettext.U 1.2 Wed, 13 Sep 2000 14:49:45 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1995, Alan Schwartz +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?MAKE:d_gettext: Myread cat cc ccflags rm ldflags libs i_libintl +?MAKE: -pick add $@ %< +?S:d_gettext: +?S: Defined if gettext() is available. +?S:. +?C:HAS_GETTEXT: +?C: Defined if gettext is available(). +?C:. +?H:#$d_gettext HAS_GETTEXT /**/ +?H:. +: check for a new-style definitions +echo " " +$cat >test_gettext.c < +#endif +int main(int argc, char **argv) { + return (int) gettext (""); +} +EOCP + +if $cc $ccflags $ldflags -o test_gettext test_gettext.c $libs >/dev/null 2>&1 ; then + d_gettext='define' + echo 'Voila! You seem to have gettext for translations.' >&4 +else + d_gettext='undef' + echo "You don't seem to have gettext. Quel dommage." >&4 +fi +$rm -f test_gettext* core + diff --git a/U/d_gnulibc.U b/U/d_gnulibc.U new file mode 100644 index 0000000..0e4b38d --- /dev/null +++ b/U/d_gnulibc.U @@ -0,0 +1,70 @@ +?RCS: $Id: d_gnulibc.U,v 3.0.1.1 1997/02/28 15:34:33 ram Exp $ +?RCS: +?RCS: Copyright (c) 1996, Andy Dougherty +?RCS: Copyright (c) 1996, Sven Verdoolaege +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: d_gnulibc.U,v $ +?RCS: Revision 3.0.1.1 1997/02/28 15:34:33 ram +?RCS: patch61: created +?RCS: +?MAKE:d_gnulibc: Myread Oldconfig Setvar contains rm \ + +cc +ccflags +ldflags +libs +?MAKE: -pick add $@ %< +?S:d_gnulibc: +?S: Defined if we're dealing with the GNU C Library. +?S:. +?C:HAS_GNULIBC: +?C: This symbol, if defined, indicates to the C program that +?C: the GNU C library is being used. +?C:. +?H:#$d_gnulibc HAS_GNULIBC /**/ +?H. +?LINT: set d_gnulibc +?X: gnulibc can be executed by calling this entry point. +?X: Ulrich Drepper doesn't think any other libc does that, +?X: but we check if it says 'GNU C Library' to be sure. +echo " " +echo "Checking for GNU C Library..." >&4 +cat >gnulibc.c </dev/null 2>&1 && \ + ./gnulibc | $contains '^GNU C Library' >/dev/null 2>&1; then + val="$define" + echo "You are using the GNU C Library" >&4 +else +cat >gnulibc.c < +int main() +{ +#ifdef __GLIBC__ + return 0; +#else + return 1; +#endif +} +EOM +if $cc $ccflags $ldflags -o gnulibc gnulibc.c $libs >/dev/null 2>&1 && \ + ./gnulibc; then + val="$define" + echo "You are using the GNU C Library" >&4 +else + val="$undef" + echo "You are not using the GNU C Library" >&4 +fi +fi +$rm -f gnulibc* +set d_gnulibc +eval $setvar + diff --git a/U/d_huge.U b/U/d_huge.U new file mode 100644 index 0000000..500138a --- /dev/null +++ b/U/d_huge.U @@ -0,0 +1,225 @@ +?RCS: $Id: d_huge.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Revision 3.0 1993/08/18 12:05:39 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:d_huge_val d_huge d_maxint d_int_max d_maxdouble: Myread cat cc ccflags rm Setvar libs i_values i_limits ldflags +?MAKE: -pick add $@ %< +?S:d_huge_val: +?S: This variable is set if the system defines the HUGE_VAL constant. +?S:. +?S:d_huge: +?S: This variable is set if the system defines the HUGE constant. +?S:. +?S:d_maxint: +?S: This variable is set if the system defines the MAXINT constant. +?S:. +?S:d_int_max: +?S: This variable is set if the system defines the INT_MAX constant. +?S:. +?S:d_maxdouble: +?S: This variable is set if the system defines the MAXDOUBLE constant. +?S:. +?C:HAS_HUGE_VAL: +?C: If defined, this system has the HUGE_VAL constant. We like this, +?C: and don't bother defining the other floats below if we find it. +?C:. +?C:HAS_HUGE: +?C: If defined, this system has the HUGE constant. We like this, and +?C: don't bother defining the other floats below if we find it. +?C:. +?C:HAS_INT_MAX: +?C: If defined, this system has the INT_MAX constant. +?C:. +?C:HAS_MAXINT: +?C: If defined, this system has the MAXINT constant. +?C:. +?C:HAS_MAXDOUBLE: +?C: If defined, this system has the MAXDOUBLE constant. +?C:. +?H:#$d_huge_val HAS_HUGE_VAL /**/ +?H:. +?H:#$d_huge HAS_HUGE /**/ +?H:. +?H:#$d_int_max HAS_INT_MAX /**/ +?H:. +?H:#$d_maxint HAS_MAXINT /**/ +?H:. +?H:#$d_maxdouble HAS_MAXDOUBLE /**/ +?H:. +?M:parse_integer: HAS_HUGE HAS_HUGE_VAL HAS_MAXINT HAS_MAXDOUBLE HAS_INT_MAX +?M:#ifdef HAS_HUGE_VAL +?M:#define HUGE_DOUBLE HUGE_VAL +?M:#else +?M:#ifdef HAS_HUGE +?M:#define HUGE_DOUBLE HUGE +?M:#else +?M:#ifdef HAS_MAXDOUBLE +?M:#define HUGE_DOUBLE MAXDOUBLE +?M:#else +?M:#define HUGE_DOUBLE 2000000000 +?M:#endif +?M:#endif +?M:#endif +?M:#ifdef HAS_INT_MAX +?M:#define HUGE_INT INT_MAX +?M:#else +?M:#ifdef HAS_MAXINT +?M:#define HUGE_INT MAXINT +?M:#else +?M:#define HUGE_INT 2000000000 +?M:#endif +?M:#endif +?M:. +?T:val +?LINT:set d_huge d_huge_val d_maxint d_maxdouble +: see if we have HUGE, HUGE_VAL, MAXINT, or MAXDOUBLE +echo " " +echo "Let's try to figure out a really big double." >&4 + $cat >d_huge.c < +#include +#$i_values I_VALUES +#$i_limits I_LIMITS +#ifdef I_LIMITS +#include +#else +#ifdef I_VALUES +#include +#endif +#endif + +int main() +{ + printf("%f\n",HUGE_VAL); +} +EOCP + if $cc $ccflags $ldflags d_huge.c -o d_huge $libs >/dev/null 2>&1; then + val="$define" + set d_huge_val; eval $setvar + val="$undef" + set d_huge; eval $setvar + set d_maxdouble; eval $setvar + echo "Great. Your system defines HUGE_VAL." >&4 + else + val="$undef" + set d_huge_val; eval $setvar + echo "Your system doesn't have HUGE_VAL. Maybe HUGE?" >&4 + $cat >d_huge.c < +#include +#$i_values I_VALUES +#$i_limits I_LIMITS +#ifdef I_LIMITS +#include +#else +#ifdef I_VALUES +#include +#endif +#endif +int main() +{ + printf("%f\n",HUGE); +} +EOCP + + if $cc $ccflags $ldflags d_huge.c -o d_huge $libs >/dev/null 2>&1; then + val="$define" + set d_huge; eval $setvar + val="$undef" + set d_maxdouble; eval $setvar + echo "Good. Your system defines HUGE." >&4 + else + val="$undef" + set d_huge; eval $setvar + echo "Hmm. Your system doesn't define HUGE. MAX_DOUBLE?" >&4 + $cat >d_huge.c < +#include +#$i_limits I_LIMITS +#ifdef I_LIMITS +#include +#else +#$i_values I_VALUES +#ifdef I_VALUES +#include +#endif +#endif +int main() +{ + printf("%f\n",MAX_DOUBLE); +} +EOCP + + if $cc $ccflags $ldflags d_huge.c -o d_huge $libs >/dev/null 2>&1; then + val="$define" + echo "Ok, you've got MAXDOUBLE." >&4 + else + val="$undef" + echo "Nope, no MAXDOUBLE either. We'll guess one." >&4 + fi + set d_maxdouble; eval $setvar + fi +fi + + +echo " " +echo "Let's try to figure out a really big int, too." >&4 + $cat >d_huge.c < +#include +#$i_limits I_LIMITS +#ifdef I_LIMITS +#include +#else +#$i_values I_VALUES +#ifdef I_VALUES +#include +#endif +#endif +int main() +{ + printf("%d\n",INT_MAX); +} +EOCP + +if $cc $ccflags $ldflags d_huge.c -o d_huge $libs >/dev/null 2>&1; then + val="$define" + set d_int_max; eval $setvar + val="$undef" + set d_maxint; eval $setvar + echo "Ok, you've got INT_MAX." >&4 +else + val="$undef" + echo "No INT_MAX. Maybe MAXINT?" >&4 + set d_int_max; eval $setvar + $cat >d_huge.c < +#include +#$i_limits I_LIMITS +#ifdef I_LIMITS +#include +#else +#$i_values I_VALUES +#ifdef I_VALUES +#include +#endif +#endif +int main() +{ + printf("%d\n",MAXINT); +} +EOCP + if $cc $ccflags $ldflags d_huge.c -o d_huge $libs >/dev/null 2>&1; then + val="$define" + echo "Ok, you've got MAXINT." >&4 + set d_maxint; eval $setvar + else + val="$undef" + echo "No MAXINT. I give up. I'll take a guess." >&4 + set d_maxint; eval $setvar + fi +fi + +$rm -f d_huge* + diff --git a/U/d_ieee.U b/U/d_ieee.U new file mode 100644 index 0000000..9124fc3 --- /dev/null +++ b/U/d_ieee.U @@ -0,0 +1,55 @@ +?RCS: $Id: d_ieee.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1995, Alan Schwartz +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?MAKE:d_ieee: Myread cat cc ccflags rm ldflags +?MAKE: -pick add $@ %< +?S:d_ieee: +?S: Defined if the machine supports IEEE math - that is, can safely +?S: return NaN or Inf rather than crash on bad math. +?S:. +?C:HAS_IEEE_MATH: +?C: Defined if the machine supports IEEE math - that is, can safely +?C: return NaN or Inf rather than crash on bad math. +?C:. +?H:#$d_ieee HAS_IEEE_MATH /**/ +?H:. +: check for a safe ieee +echo " " +echo "Let's see if your math functions handle errors nicely..." >&4 +$cat >test_ieee.c <<'EOCP' +#include +#include + +int main() { + double x; + x = pow(-1,.5); + x = pow(10000,10000); + printf("define\n"); + exit(0); +} +EOCP + +if $cc $ccflags $ldflags -o test_ieee test_ieee.c -lm >/dev/null 2>&1 ; then + d_ieee=`./test_ieee` + if test $d_ieee = define ; then + echo "Great! They can." >&4 + else + echo "Nope, they crash and burn." >&4 + d_ieee='undef' + fi +else + $cat <d_ipv6.c < +#endif +#ifdef I_SYS_SOCK +#include +#endif +#ifdef I_NETINET_IN +#include +#else +#ifdef I_SYS_IN +#include +#endif +#endif +#include +main() +{ + struct sockaddr_in6 test; + int foo = AF_INET6; + printf("%d\n", foo); +} +EOCP +if $cc $ccflags $ldflags d_ipv6.c -o d_ipv6 $libs >/dev/null 2>&1; then + val="$define" + set d_ipv6; eval $setvar + echo "IPv6 structures found." >&4 +else + val="$undef" + set d_ipv6; eval $setvar + echo "No IPv6 structures found. No problem." >&4 +fi diff --git a/U/d_keepsig.U b/U/d_keepsig.U new file mode 100644 index 0000000..9d46f6a --- /dev/null +++ b/U/d_keepsig.U @@ -0,0 +1,78 @@ +?RCS: $Id: d_keepsig.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: d_keepsig.U,v $ +?RCS: Revision 3.0.1.3 1995/01/11 15:26:25 ram +?RCS: patch45: protected "sh -c" within backquotes for Linux and SGI +?RCS: +?RCS: Revision 3.0.1.2 1994/10/29 16:13:59 ram +?RCS: patch36: call ./bsd explicitely instead of relying on PATH +?RCS: +?RCS: Revision 3.0.1.1 1993/10/16 13:48:47 ram +?RCS: patch12: comment for SIGNALS_KEPT was the other way round +?RCS: +?RCS: Revision 3.0 1993/08/18 12:06:26 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:d_keepsig: cat cc ccflags rm Guess contains echo n c Setvar d_sigaction ldflags +?MAKE: -pick add $@ %< +?S:d_keepsig: +?S: This variable contains the eventual value of the SIGNALS_KEPT symbol, +?S: which indicates to the C program if signal handlers need not reinstated +?S: after receipt of a signal. +?S:. +?C:SIGNALS_KEPT (PERSISTENT_SIGNAL): +?C: This symbol is defined if signal handlers needn't be reinstated after +?C: receipt of a signal. +?C:. +?H:#$d_keepsig SIGNALS_KEPT /**/ +?H:. +?LINT:set d_keepsig +: see if signals are kept +val="$undef" +echo " " +echo "Checking to see if signal handlers stick around..." >&4 +if test ${d_sigaction} = "$define"; then + echo "You've got sigaction, so we can force 'em to." >&4 + val="$define" +else + $cat >try.c <<'EOCP' +foo() {} + +int main() +{ + signal(2, foo); + kill(getpid(), 2); + kill(getpid(), 2); + printf("abc\n"); +} +EOCP + if $cc -o try $ccflags $ldflags try.c >/dev/null 2>&1; then + sh -c ./try >try.out 2>/dev/null + if $contains abc try.out >/dev/null 2>&1; then + echo "Yes, they do." + val="$define"; + else + echo "No, they don't." + fi + else + $echo $n "(I can't seem to compile the test program. Assuming $c" + if ./bsd; then + echo "they do.)" + val="$define" + else + echo "they don't.)" + fi + fi +fi +set d_keepsig +eval $setvar +$rm -f try* + diff --git a/U/d_memcpy.U b/U/d_memcpy.U new file mode 100644 index 0000000..c7bee0b --- /dev/null +++ b/U/d_memcpy.U @@ -0,0 +1,63 @@ +?RCS: $Id: d_memcpy.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: d_memcpy.U,v $ +?RCS: Revision 3.0.1.1 1993/09/13 16:02:58 ram +?RCS: patch10: removed text recommending bcopy over memcpy (WAD) +?RCS: +?RCS: Revision 3.0 1993/08/18 12:06:34 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:d_memcpy d_memmove: Inlibc +?MAKE: -pick add $@ %< +?S:d_memcpy: +?S: This variable conditionally defines the HAS_MEMCPY symbol, which +?S: indicates to the C program that the memcpy() routine is available +?S: to copy blocks of memory. +?S:. +?S:d_memmove: +?S: This variable conditionally defines the HAS_MEMMOVE symbol, which +?S: indicates to the C program that the memmove() routine is available +?S: to copy overlapping blocks of memory. +?S:. +?C:HAS_MEMCPY (MEMCPY): +?C: This symbol, if defined, indicates that the memcpy routine is available +?C: to copy blocks of memory. If not, it will be mapped to bcopy +?C: in confmagic.h +?C:. +?C:HAS_MEMMOVE (MEMMOVE): +?C: This symbol, if defined, indicates that the memmove routine is available +?C: to copy blocks of memory. If not, it will be mapped to bcopy +?C:. +?H:#$d_memcpy HAS_MEMCPY /**/ +?H:. +?H:#$d_memmove HAS_MEMMOVE /**/ +?H:. +?M:memcpy:HAS_MEMCPY +?M:#ifndef HAS_MEMCPY +?M:#ifndef memcpy +?M:#define memcpy(d,s,l) bcopy((s),(d),(l)) +?M:#endif +?M:#endif +?M:. +?M:memmove:HAS_MEMMOVE +?M:#ifndef HAS_MEMMOVE +?M:#ifndef memmove +?M:#define memmove(d,s,l) bcopy((s),(d),(l)) +?M:#endif +?M:#endif +?M:. +?LINT:set d_memcpy d_memmove +: see if memcpy exists +set memcpy d_memcpy +eval $inlibc +set memmove d_memmove +eval $inlibc + diff --git a/U/d_memmove.U b/U/d_memmove.U new file mode 100644 index 0000000..e69de29 diff --git a/U/d_newstyle.U b/U/d_newstyle.U new file mode 100644 index 0000000..0273797 --- /dev/null +++ b/U/d_newstyle.U @@ -0,0 +1,41 @@ +?RCS: $Id: d_newstyle.U 1.2 Sat, 30 Jun 2001 08:59:12 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1995, Alan Schwartz +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?MAKE:d_newstyle: Myread cat cc ccflags rm ldflags +?MAKE: -pick add $@ %< +?S:d_newstyle: +?S: Defined if new-style function definitions are allowable. +?S:. +?C:CAN_NEWSTYLE: +?C: Defined if new-style function definitions are allowable. +?C: If they are, we can avoid some warnings that you get if +?C: you declare char arguments in a prototype and use old-style +?C: function definitions, which implicitly promote them to ints. +?C:. +?H:#$d_newstyle CAN_NEWSTYLE /**/ +?H:. +: check for a new-style definitions +echo " " +$cat >test_newstyle.c <<'EOCP' +#include +int main(int argc, char **argv) { + exit(0); +} +EOCP + +if $cc $ccflags $ldflags -o test_newstyle test_newstyle.c >/dev/null 2>&1 ; then + d_newstyle='define' + echo 'Your compiler accepts new-style function definitions.' >&4 +else + d_newstyle='undef' + echo "Your compiler DOESN'T accept new-style function definitions." >&4 +fi +$rm -f test_newstyle* core + diff --git a/U/d_open3.U b/U/d_open3.U new file mode 100644 index 0000000..1e8521f --- /dev/null +++ b/U/d_open3.U @@ -0,0 +1,90 @@ +?RCS: $Id: d_open3.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: d_open3.U,v $ +?RCS: Revision 3.0.1.2 1997/02/28 15:37:12 ram +?RCS: patch61: added ?F: metalint hint +?RCS: +?RCS: Revision 3.0.1.1 1995/07/25 13:58:26 ram +?RCS: patch56: added knowledge of the O_NONBLOCK symbol +?RCS: +?RCS: Revision 3.0 1993/08/18 12:06:44 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:d_open3: test cc cat ccflags ldflags libs h_fcntl h_sysfile rm Setvar Findhdr +?MAKE: -pick add $@ %< +?X: It would be easy to separate the h_O_stuff from this. +?X: Is there a reason to do so? -- HMS +?S:d_open3: +?S: This variable conditionally defines the HAS_OPEN3 manifest constant, +?S: which indicates to the C program that the 3 argument version of +?S: the open(2) function is available. +?S:. +?C:HAS_OPEN3 (OPEN3): +?C: This manifest constant lets the C program know that the three +?C: argument form of open(2) is available. +?C:. +?H:#$d_open3 HAS_OPEN3 /**/ +?H:. +?W:%<:O_RDONLY O_WRONLY O_RDWR O_NDELAY O_APPEND O_SYNC O_CREAT O_TRUNC +?W:%<:O_EXCL O_NONBLOCK +?F:!open3 +?LINT:set d_open3 +?LINT:change h_fcntl h_sysfile +: Locate the flags for 'open()' +echo " " +$cat >open3.c <<'EOCP' +#include +#ifdef I_FCNTL +#include +#endif +#ifdef I_SYS_FILE +#include +#endif +int 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 "`./findhdr sys/file.h`" && \ + $cc $ccflags $ldflags "-DI_SYS_FILE" open3.c -o open3 $libs >/dev/null 2>&1 ; then + h_sysfile=true; + echo " defines the O_* constants..." >&4 + if ./open3; then + echo "and you have the 3 argument form of open()." >&4 + val="$define" + else + echo "but not the 3 argument form of open(). Oh, well." >&4 + val="$undef" + fi +elif $test "`./findhdr fcntl.h`" && \ + $cc $ccflags $ldflags "-DI_FCNTL" open3.c -o open3 $libs >/dev/null 2>&1 ; then + h_fcntl=true; + echo " defines the O_* constants..." >&4 + if ./open3; then + echo "and you have the 3 argument form of open()." >&4 + val="$define" + else + echo "but not the 3 argument form of open(). Oh, well." >&4 + val="$undef" + fi +else + val="$undef" + echo "I can't find the O_* constant definitions! You got problems." >&4 +fi +set d_open3 +eval $setvar +$rm -f open3* + diff --git a/U/d_random.U b/U/d_random.U new file mode 100644 index 0000000..801ab70 --- /dev/null +++ b/U/d_random.U @@ -0,0 +1,53 @@ +?RCS: $Id: d_random.U 1.4 Fri, 15 Feb 2002 16:56:28 -0600 dunemush $ +?RCS: +?RCS: Copyright (c) 1995, Alan Schwartz +?RCS: Based on d_strchr.U +?RCS: +?MAKE:d_random d_lrand48 d_rand: Inlibc +?MAKE: -pick add $@ %< +?S:d_random: +?S: This variable conditionally defines HAS_RANDOM if random() is there +?S:. +?S:d_lrand48: +?S: This conditionally defines HAS_LRAND48 if lrand45() is there +?S:. +?S:d_rand: +?S: This conditionally defines HAS_RAND if rand() is there +?S:. +?C:HAS_RANDOM: +?C: Have we got random(), our first choice for number generation? +?C:. +?C:HAS_LRAND48: +?C: Have we got lrand48(), our second choice? +?C:. +?C:HAS_RAND: +?C: Have we got rand(), our last choice? +?C:. +?H:#$d_random HAS_RANDOM /**/ +?H:#$d_lrand48 HAS_LRAND48 /**/ +?H:#$d_rand HAS_RAND /**/ +?H:. +?M:random: HAS_RANDOM HAS_LRAND48 HAS_RAND +?M:#ifndef HAS_RANDOM +?M:#ifndef random +?M:#ifdef HAS_LRAND48 +?M:#define random lrand48 +?M:#define srandom srand48 +?M:#else +?M:#ifdef HAS_RAND +?M:#define random rand +?M:#define srandom srand +?M:#endif +?M:#endif +?M:#endif +?M:#endif +?M:. +?LINT:set d_lrand48 d_rand d_random +: random, lrand48, or rand +set random d_random +eval $inlibc +set lrand48 d_lrand48 +eval $inlibc +set rand d_rand +eval $inlibc + diff --git a/U/d_rlimit.U b/U/d_rlimit.U new file mode 100644 index 0000000..f63f507 --- /dev/null +++ b/U/d_rlimit.U @@ -0,0 +1,27 @@ +?RCS: $Id: d_rlimit.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1995, Alan Schwartz +?RCS: +?RCS: +?X: We may need to include and FIXME +?X:INC: i_sysresrc i_systime +?MAKE:d_rlimit: Inlibc +?MAKE: -pick add $@ %< +?S:d_rlimit: +?S: This variable conditionally defines the HAS_GETRLIMIT symbol, which +?S: indicates that the getrlimit() routine exists. The getrlimit() routine +?S: supports getting resource limits, and there should be a setrlimit() too +?S: We probably need to include and . +?S:. +?C:HAS_GETRLIMIT (RLIMIT GETRLIMIT): +?C: This symbol, if defined, indicates that the getrlimit() routine is +?C: available to get resource limits. Probably means setrlimit too. +?C: Inclusion of and may be necessary. +?C:. +?H:#$d_rlimit HAS_GETRLIMIT /**/ +?H:. +?LINT:set d_rlimit +: see if getrlimit exists +set getrlimit d_rlimit +eval $inlibc + diff --git a/U/d_round.U b/U/d_round.U new file mode 100644 index 0000000..6eaaaca --- /dev/null +++ b/U/d_round.U @@ -0,0 +1,20 @@ +?RCS: +?RCS: +?RCS: +?MAKE:d_round: Inlibc +?MAKE: -pick add $@ %< +?S:d_round: +?S: This variable conditionally defines the HAS_ROUND symbol, which +?S: indicates that the round() routine exists. +?S:. +?C:HAS_ROUND: +?C: This symbol, if defined, indicates that the round() routine is +?C: available to get some system parameters. +?C:. +?H:#$d_round HAS_ROUND /**/ +?H:. +?LINT:set d_round d_roundbyname +: see if round exists +set round d_round +eval $inlibc + diff --git a/U/d_sendmail.U b/U/d_sendmail.U new file mode 100644 index 0000000..2656216 --- /dev/null +++ b/U/d_sendmail.U @@ -0,0 +1,32 @@ +?RCS: $Id: d_sendmail.U 1.2 Tue, 30 Sep 2003 18:01:23 -0500 dunemush $ +?RCS: +?RCS: +?MAKE:d_sendmail : sendmail Setvar Oldconfig Csym Loc test +?MAKE: -pick add $@ %< +?S:d_sendmail: +?S: This variable is defined if sendmail is available. +?S:. +?C:SENDMAIL: +?C: This symbol contains the full pathname to sendmail. +?C:. +?C:HAS_SENDMAIL: +?C: If defined, we have sendmail. +?C:. +?H:#$d_sendmail HAS_SENDMAIL /**/ +?H:#define SENDMAIL "$sendmail" +?H:. +?W:%<:SENDMAIL HAS_SENDMAIL +?LINT:set d_sendmail +: have we got sendmail? +echo " " +echo "Checking to see if we can use sendmail..." +if $test -f $sendmail; then + echo "Looks like sendmail is in $sendmail" + val="$define" +else + echo "Nope, out of luck." + val="$undef" +fi +set d_sendmail +eval $setvar + diff --git a/U/d_sigchld.U b/U/d_sigchld.U new file mode 100644 index 0000000..e91e995 --- /dev/null +++ b/U/d_sigchld.U @@ -0,0 +1,74 @@ +?RCS: $Id: d_sigchld.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Revision 3.0 1993/08/18 12:05:39 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:d_sigchld d_sigcld: Myread cat cc ccflags rm Setvar libs ldflags +?MAKE: -pick add $@ %< +?S:d_sigchld: +?S: This variable is set if the system defines SIGCHLD +?S:. +?S:d_sigcld: +?S: This variable is set if the system defines SIGCLD (the SysV +?S: version of SIGCHLD) +?S:. +?C:HAS_SIGCHLD: +?C: If defined, this system has the SIGCHLD constant. +?C:. +?C:HAS_SIGCLD: +?C: If defined, this system has the SIGCLD constant (SysVish SIGCHLD). +?C:. +?H:#$d_sigchld HAS_SIGCHLD /**/ +?H:. +?H:#$d_sigcld HAS_SIGCLD /**/ +?H:. +?M:SIGCHLD: HAS_SIGCHLD +?M:#ifndef HAS_SIGCHLD +?M:#define SIGCHLD SIGCLD +?M:#endif +?M:. +?M:SIGCLD: HAS_SIGCLD +?M:#ifndef HAS_SIGCLD +?M:#define SIGCLD SIGCHLD +?M:#endif +?M:. +?T:val +?LINT:set d_sigchld d_sigcld +: see if we have SIGCHLD, SIGCLD, or both +echo " " +echo "How should a child signal a parent?" >&4 +$cat >d_sigchld.c < +#include +int main() +{ + printf("%d\n",SIGCHLD); +} +EOCP +if $cc $ccflags $ldflags d_sigchld.c -o d_sigchld $libs >/dev/null 2>&1; then + val="$define" + set d_sigchld; eval $setvar + echo "SIGCHLD works." +else + val="$undef" + set d_sigchld; eval $setvar + echo "SIGCHLD doesn't work." +fi + +$cat >d_sigchld.c < +#include +int main() +{ + printf("%d\n",SIGCLD); +} +EOCP +if $cc $ccflags $ldflags d_sigchld.c -o d_sigchld $libs >/dev/null 2>&1; then + val="$define" + set d_sigcld; eval $setvar + echo "SIGCLD works." +else + val="$undef" + set d_sigcld; eval $setvar + echo "SIGCLD doesn't work." +fi diff --git a/U/d_signalproto.U b/U/d_signalproto.U new file mode 100644 index 0000000..c1ad548 --- /dev/null +++ b/U/d_signalproto.U @@ -0,0 +1,78 @@ +?RCS: $Id: d_signalproto.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: d_keepsig.U,v $ +?RCS: Revision 3.0.1.3 1995/01/11 15:26:25 ram +?RCS: patch45: protected "sh -c" within backquotes for Linux and SGI +?RCS: +?RCS: Revision 3.0.1.2 1994/10/29 16:13:59 ram +?RCS: patch36: call ./bsd explicitely instead of relying on PATH +?RCS: +?RCS: Revision 3.0.1.1 1993/10/16 13:48:47 ram +?RCS: patch12: comment for SIGNALS_KEPT was the other way round +?RCS: +?RCS: Revision 3.0 1993/08/18 12:06:26 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:d_signalproto: cat cc ccflags rm Guess echo Setvar prototype signal_t ldflags +?MAKE: -pick add $@ %< +?S:d_signalproto: +?S: This variable tells us if we can safely prototype signal() as follows: +?S: Signal_t(*Sigfunc) _((int)); +?S: extern Sigfunc signal _((int signo, Sigfunc func)); +?S:. +?C:CAN_PROTOTYPE_SIGNAL: +?C: This symbol is defined if we can safely prototype our rewritten +?C: signal() function as: +?C: Signal_t(*Sigfunc) _((int)); +?C: extern Sigfunc signal _((int signo, Sigfunc func)); +?C:. +?H:#$d_signalproto CAN_PROTOTYPE_SIGNAL /**/ +?H:. +?LINT:set d_signalproto +: can we prototype signal ourselves +val="$undef" +echo " " +echo "Checking to see if we can declare or prototype signal()..." >&4 +if test ${prototype} = "$define"; then + $cat >try.c < +#include +#ifdef signal +#undef signal +#endif +typedef ${signal_t} (*Sigfunc) (int); +extern Sigfunc signal (int signo, Sigfunc func); +int main() +{ printf("no op\n"); } +EOCP +else + $cat >try.c < +#include +#ifdef signal +#undef signal +#endif +typedef ${signal_t} (*Sigfunc) (); +extern Sigfunc signal (); +int main() +{ printf("no op\n"); } +EOCP +fi +if $cc -o try $ccflags $ldflags try.c >/dev/null 2>&1; then + $echo "Looks like we can." + val="$define"; +else + $echo "Looks like we can't." +fi +set d_signalproto +eval $setvar +$rm -f try* + diff --git a/U/d_signed_stdio.U b/U/d_signed_stdio.U new file mode 100644 index 0000000..68f9f98 --- /dev/null +++ b/U/d_signed_stdio.U @@ -0,0 +1,56 @@ +?RCS: $Id: d_signed_stdio.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1995, Alan Schwartz +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?MAKE:d_signed_stdio: Myread cat cc ccflags rm ldflags +?MAKE: -pick add $@ %< +?S:d_signed_stdio: +?S: Defined if file desriptors in the stdio library are signed chars, +?S: rather than unsigned chars, for example, in SunOS 4.1.x. +?S: This is bad, because descriptors > 127 break. +?S:. +?C:HAS_SIGNED_STDIO: +?C: Defined if file desriptors in the stdio library are signed chars, +?C: rather than unsigned chars, for example, in SunOS 4.1.x. +?C: This is bad, because descriptors > 127 break. +?C:. +?H:#$d_signed_stdio HAS_SIGNED_STDIO /**/ +?H:. +: check for broken brain-damaged signed char stdio calls. +echo " " +echo "Let's see if your stdio uses signed chars instead of unsigned for fd's..." >&4 + +$cat >test_signed_stdio.c <<'EOCP' +#include +int main() { + FILE foo; + foo._file = 128; + if (foo._file == 128) + printf("undef\n"); /* good stdio */ + else + printf("define\n"); /* bad stdio */ +} +EOCP + +if $cc $ccflags $ldflags -o test_signed_stdio test_signed_stdio.c >/dev/null 2>&1 ; then + d_signed_stdio=`./test_signed_stdio` + if test $d_signed_stdio = define ; then + echo "Alas, you've got signed char stdio. Have to work around that." >&4 + else + echo "Cool. Your stdio uses unsigned chars like it should." >&4 + fi +else + $cat <&4 + val="$define" +else + echo 'sigprocmask NOT found.' >&4 + val="$undef" +fi +?X: +?X: Solaris 2.5_x86 with SunWorks Pro C 3.0.1 doesn't have a complete +?X: sigaction structure if compiled with cc -Xc. This compile test +?X: will fail then. +?X: +$cat > set.c <<'EOP' +#include +#include +#include +main() +{ + sigset_t mask, oldmask; + sigprocmask(SIG_SETMASK, &mask, &oldmask); +} +EOP +if $cc $ccflags $ldflags -o set set.c $libs >/dev/null 2>&1; then + : +else + echo "But you don't seem to have a working sigprocmask." >&4 + val="$undef" +fi +set d_sigprocmask; eval $setvar +$rm -f set set$_o set.c + diff --git a/U/d_snprintf.U b/U/d_snprintf.U new file mode 100644 index 0000000..0dfb6e5 --- /dev/null +++ b/U/d_snprintf.U @@ -0,0 +1,39 @@ +?RCS: $Id: d_snprintf.U 1.1 Thu, 01 Feb 2001 14:47:02 -0600 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: d_snprintf.U,v $ +?RCS: Revision 3.0 1993/08/18 12:07:59 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:d_snprintf: Guess cat +cc +ccflags Csym Setvar +?MAKE: -pick add $@ %< +?S:d_snprintf: +?S: This variable conditionally defines the HAS_SNPRINTF symbol, which +?S: indicates to the C program that the snprintf() routine is available. +?S:. +?C:HAS_SNPRINTF: +?C: This symbol, if defined, indicates that the snprintf routine is +?C: available. If not, we use sprintf, which is less safe. +?C:. +?H:#$d_snprintf HAS_SNPRINTF /**/ +?H:. +?LINT:set d_snprintf +: see if snprintf exists +echo " " +if set snprintf val -f d_snprintf; eval $csym; $val; then + echo 'snprintf() found.' >&4 + val="$define" +else + echo 'snprintf() NOT found.' >&4 + val="$undef" +fi +set d_snprintf +eval $setvar + diff --git a/U/d_socklen.U b/U/d_socklen.U new file mode 100644 index 0000000..320e6b4 --- /dev/null +++ b/U/d_socklen.U @@ -0,0 +1,38 @@ +?MAKE: d_socklen: libs sockethdr i_systypes i_syssock cc ccflags ldflags Setvar +?MAKE: -pick add $@ %< +?S:d_socklen: +?S: This variable is set if the system defines the socklen_t type. +?S:. +?C:HAS_SOCKLEN_T: +?C: If defined, this system has the socklen_t type. +?C:. +?H:#$d_socklen HAS_SOCKLEN_T /**/ +?H:. +?LINT:set d_socklen +: see if we have socklen_t. +echo " " +$cat >d_socklen.c < +#endif +#ifdef I_SYS_SOCKET +#include +#endif +#include +main() +{ + socklen_t test = 1; + printf("%d\n",test); +} +EOCP +if $cc $ccflags $ldflags d_socklen.c -o d_socklen $libs >/dev/null 2>&1; then + val="$define" + set d_socklen; eval $setvar + echo "socklen_t works." >&4 +else + val="$undef" + set d_socklen; eval $setvar + echo "socklen_t doesn't work. Using int." >&4 +fi diff --git a/U/d_stdstdio.U b/U/d_stdstdio.U new file mode 100644 index 0000000..4448ba3 --- /dev/null +++ b/U/d_stdstdio.U @@ -0,0 +1,30 @@ +?RCS: $Id: d_stdstdio.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: Original Author: Tye McQueen +?RCS: Actually, now this won't do anything. +?RCS: +?RCS: $Log: d_stdstdio.U,v $ +?RCS: Revision 3.0.1.1 1995/05/12 12:12:11 ram +?RCS: patch54: complete rewrite by Tye McQueen to fit modern systems +?RCS: +?RCS: Revision 3.0 1993/08/18 12:07:31 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:d_stdstdio d_stdiobase stdio_ptr stdio_cnt stdio_base \ + stdio_bufsiz: +ccflags \ + Setvar Findhdr Oldconfig +?MAKE: -pick add $@ %< +?LINT:describe d_stdstdio d_stdiobase stdio_base stdio_bufsiz \ + stdio_cnt stdio_ptr +?LINT:set d_stdstdio d_stdiobase stdio_base stdio_bufsiz \ + stdio_cnt stdio_ptr +: do nothing but prevent the standard stdstdio.U from running + diff --git a/U/d_strchr.U b/U/d_strchr.U new file mode 100644 index 0000000..d458fd4 --- /dev/null +++ b/U/d_strchr.U @@ -0,0 +1,109 @@ +?RCS: $Id: d_strchr.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: d_strchr.U,v $ +?RCS: Revision 3.0.1.2 1993/10/16 13:49:20 ram +?RCS: patch12: added support for HAS_INDEX +?RCS: patch12: added magic for index() and rindex() +?RCS: +?RCS: Revision 3.0.1.1 1993/09/13 16:05:26 ram +?RCS: patch10: now only defines HAS_STRCHR, no macro remap of index (WAD) +?RCS: +?RCS: Revision 3.0 1993/08/18 12:07:32 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:d_strchr d_index: contains strings Setvar Myread Oldconfig Csym +?MAKE: -pick add $@ %< +?S:d_strchr: +?S: This variable conditionally defines HAS_STRCHR if strchr() and +?S: strrchr() are available for string searching. +?S:. +?S:d_index: +?S: This variable conditionally defines HAS_INDEX if index() and +?S: rindex() are available for string searching. +?S:. +?C:HAS_STRCHR: +?C: This symbol is defined to indicate that the strchr()/strrchr() +?C: functions are available for string searching. If not, try the +?C: index()/rindex() pair. +?C:. +?C:HAS_INDEX: +?C: This symbol is defined to indicate that the index()/rindex() +?C: functions are available for string searching. +?C:. +?H:#$d_strchr HAS_STRCHR /**/ +?H:#$d_index HAS_INDEX /**/ +?H:. +?M:index: HAS_INDEX +?M:#ifndef HAS_INDEX +?M:#ifndef index +?M:#define index strchr +?M:#endif +?M:#endif +?M:. +?M:strchr: HAS_STRCHR +?M:#ifndef HAS_STRCHR +?M:#ifndef strchr +?M:#define strchr index +?M:#endif +?M:#endif +?M:. +?M:rindex: HAS_INDEX +?M:#ifndef HAS_INDEX +?M:#ifndef rindex +?M:#define rindex strrchr +?M:#endif +?M:#endif +?M:. +?M:strrchr: HAS_STRCHR +?M:#ifndef HAS_STRCHR +?M:#ifndef strrchr +?M:#define strrchr rindex +?M:#endif +?M:#endif +?M:. +?T:vali +?LINT:set d_strchr d_index +: index or strchr +echo " " +if set index val -f; eval $csym; $val; then + if set strchr val -f d_strchr; eval $csym; $val; then + if $contains strchr "$strings" >/dev/null 2>&1 ; then +?X: has index, strchr, and strchr in string header + val="$define" + vali="$define" + echo "strchr() and index() found." >&4 + else +?X: has index, strchr, and no strchr in string header + val="$undef" + vali="$define" + echo "index() found." >&4 + fi + else +?X: has only index, no strchr, string header is a moot point + val="$undef" + vali="$define" + echo "index() found." >&4 + fi +else + if set strchr val -f d_strchr; eval $csym; $val; then + val="$define" + vali="$undef" + echo "strchr() found." >&4 + else + echo "No index() or strchr() found!" >&4 + val="$undef" + vali="$undef" + fi +fi +set d_strchr; eval $setvar +val="$vali" +set d_index; eval $setvar + diff --git a/U/d_strcoll.U b/U/d_strcoll.U new file mode 100644 index 0000000..716a575 --- /dev/null +++ b/U/d_strcoll.U @@ -0,0 +1,40 @@ +?RCS: $Id: d_strcoll.U 1.3 Tue, 30 Sep 2003 18:01:23 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: Original Author: Andy Dougherty +?RCS: +?RCS: $Log: d_strcoll.U,v $ +?RCS: Revision 3.0.1.1 1994/08/29 16:12:01 ram +?RCS: patch32: created by ADO +?RCS: +?MAKE:d_strcoll: Inlibc +?MAKE: -pick add $@ %< +?S:d_strcoll: +?S: This variable conditionally defines HAS_STRCOLL if strcoll() is +?S: available to compare strings using collating information. +?S:. +?C:HAS_STRCOLL: +?C: This symbol, if defined, indicates that the strcoll routine is +?C: available to compare strings using collating information. +?C:. +?H:#$d_strcoll HAS_STRCOLL /**/ +?H:. +?M:strcoll: HAS_STRCOLL +?M:#ifndef HAS_STRCOLL +?M:#undef strcoll +?M:#define strcoll strcmp +?M:#endif +?M:. +?W:%<:strcoll +?LINT:set d_strcoll +: see if strcoll exists +set strcoll d_strcoll +eval $inlibc + diff --git a/U/d_strxfrm.U b/U/d_strxfrm.U new file mode 100644 index 0000000..6d41024 --- /dev/null +++ b/U/d_strxfrm.U @@ -0,0 +1,40 @@ +?RCS: $Id: d_strxfrm.U 1.2 Tue, 20 Nov 2001 17:08:09 -0600 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: Original Author: Andy Dougherty +?RCS: +?RCS: $Log: d_strxfrm.U,v $ +?RCS: Revision 3.0.1.1 1994/08/29 16:12:01 ram +?RCS: patch32: created by ADO +?RCS: +?MAKE:d_strxfrm: Inlibc +?MAKE: -pick add $@ %< +?S:d_strxfrm: +?S: This variable conditionally defines HAS_STRXFRM if strxfrm() is +?S: available to transform strings using collating information. +?S:. +?C:HAS_STRXFRM: +?C: This symbol, if defined, indicates that the strxfrm routine is +?C: available to transform strings using collating information. +?C:. +?H:#$d_strxfrm HAS_STRXFRM /**/ +?H:. +?M:strxfrm: HAS_STRXFRM +?M:#if !defined(WIN32) && !defined(HAS_STRXFRM) +?M:#define strncoll strncmp +?M:#define strncasecoll strncasecmp +?M:#define strcasecoll strcasecmp +?M:#endif +?M:. +?LINT:set d_strxfrm +: see if strxfrm exists +set strxfrm d_strxfrm +eval $inlibc + diff --git a/U/d_sysctl.U b/U/d_sysctl.U new file mode 100644 index 0000000..16b2cb2 --- /dev/null +++ b/U/d_sysctl.U @@ -0,0 +1,32 @@ +?RCS: +?RCS: +?RCS: +?MAKE:d_sysctl d_sysctlbyname: Inlibc +?MAKE: -pick add $@ %< +?S:d_sysctl: +?S: This variable conditionally defines the HAS_SYSCTL symbol, which +?S: indicates that the sysctl() routine exists. +?S:. +?S:d_sysctlbyname: +?S: This variable conditionally defines the HAS_SYSCTLBYNAME symbol, which +?S: indicates that the sysctlbyname() routine exists. +?S:. +?C:HAS_SYSCTL: +?C: This symbol, if defined, indicates that the sysctl() routine is +?C: available to get some system parameters. +?C:. +?C:HAS_SYSCTLBYNAME: +?C: This symbol, if defined, indicates that the sysctlbyname() routine is +?C: available to get some system parameters. +?C:. +?H:#$d_sysctl HAS_SYSCTL /**/ +?H:#$d_sysctlbyname HAS_SYSCTLBYNAME /**/ +?H:. +?LINT:set d_sysctl d_sysctlbyname +: see if sysctl exists +set sysctl d_sysctl +eval $inlibc +: see if sysctlbyname exists +set sysctlbyname d_sysctlbyname +eval $inlibc + diff --git a/U/d_tcl.U b/U/d_tcl.U new file mode 100644 index 0000000..afde965 --- /dev/null +++ b/U/d_tcl.U @@ -0,0 +1,78 @@ +?MAKE:d_tcl i_tcl: Loc test xlibpth libpth Csym Setvar Inhdr libs +?MAKE: -pick add $@ %< +?S:d_tcl: +?S: This variable conditionally defines the TCL symbol, which +?S: indicates to the C program that the tcl library is available. +?S:. +?S:i_tcl: +?S: This variable conditionally defines the I_TCL symbol, which +?S: indicates whether a C program should include +?S:. +?C:HAS_TCL: +?C: This symbol, if defined, indicates that the tcl library is available +?C:. +?C:I_TCL: +?C: This symbol, if defined, indicates that can be included. +?C:. +?H:?%<:/* HAS_TCL: +?H:?%<: * This symbol, if defined, means we have the tcl library +?H:?%<: */ +?H:?%<:#$d_tcl HAS_TCL /**/ +?H:. +?H:?%<:/* I_TCL: +?H:?%<: * This symbol, if defined, means we have the include file +?H:?%<: */ +?H:?%<:#$i_tcl I_TCL /**/ +?H:. +?W:d_tcl:HAS_TCL I_TCL +?LINT:set d_tcl i_tcl +?T:val +: see if tcl exists +echo " " +ok=0 + +if $test -f src/tcl.c -o -f ../src/tcl.c ; then + echo "I'm tickled pink - we have the penn TCL source." >&4 + echo "Let's see if we have TCL." >&4 + +: see if tcl.h can be included + set tcl.h i_tcl + eval $inhdr + if $test $i_tcl = "$define"; then + echo "We have tcl.h, that's a start." >&4 + : see if the tcl library was found earlier + case $libs in + *tcl*) val="$define" + set d_tcl + eval $setvar + echo "We have the TCL library, too." >&4 + ok=1 + ;; + *) echo "Oops, no TCL library. Check your TCL installation." >&4 + ;; + esac + else + echo "I can't find tcl.h. Check your TCL installation." >&4 + fi +fi + +if $test $ok = 0; then + nlibs="" + for l in $libs; do + case $l in + *tcl*) ;; + *dl*) ;; + *ld*) ;; + *) nlibs="$nlibs$l " ;; + esac + done + libs="$nlibs" + val="$undef" + set d_tcl + eval $setvar + val="$undef" + set i_tcl + eval $setvar +else + echo "TCL will be compiled and included." >&4 +fi diff --git a/U/d_textdomain.U b/U/d_textdomain.U new file mode 100644 index 0000000..01a923e --- /dev/null +++ b/U/d_textdomain.U @@ -0,0 +1,41 @@ +?RCS: $Id: d_textdomain.U 1.2 Wed, 13 Sep 2000 14:49:45 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1995, Alan Schwartz +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?MAKE:d_textdomain: Myread cat cc ccflags rm ldflags libs i_libintl +?MAKE: -pick add $@ %< +?S:d_textdomain: +?S: Defined if textdomain() is available. +?S:. +?C:HAS_TEXTDOMAIN: +?C: Defined if textdomain is available(). +?C:. +?H:#$d_textdomain HAS_TEXTDOMAIN /**/ +?H:. +: check for a new-style definitions +echo " " +$cat >test_textdomain.c < +#endif +int main(int argc, char **argv) { + return (int) textdomain (""); +} +EOCP + +if $cc $ccflags $ldflags -o test_textdomain test_textdomain.c $libs >/dev/null 2>&1 ; then + d_textdomain='define' + echo 'Mabuhay! You seem to have textdomain for translations.' >&4 +else + d_textdomain='undef' + echo "You don't seem to have textdomain. Sayang." >&4 +fi +$rm -f test_textdomain* core + diff --git a/U/d_timelocal.U b/U/d_timelocal.U new file mode 100644 index 0000000..f563d3b --- /dev/null +++ b/U/d_timelocal.U @@ -0,0 +1,22 @@ +?RCS: $Id: d_timelocal.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1995, Alan Schwartz +?RCS: +?RCS: +?MAKE:d_timelocal: Inlibc +?MAKE: -pick add $@ %< +?S:d_timelocal: +?S: This variable conditionally defines the HAS_TIMELOCAL symbol, which +?S: indicates that the timelocal() routine exists. +?S:. +?C:HAS_TIMELOCAL: +?C: This symbol, if defined, indicates that the timelocal() routine is +?C: available. +?C:. +?H:#$d_timelocal HAS_TIMELOCAL /**/ +?H:. +?LINT:set d_timelocal +: see if timelocal exists +set timelocal d_timelocal +eval $inlibc + diff --git a/U/d_toupper.U b/U/d_toupper.U new file mode 100644 index 0000000..126bf5a --- /dev/null +++ b/U/d_toupper.U @@ -0,0 +1,54 @@ +?RCS: $Id: d_toupper.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1995, Alan Schwartz +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?MAKE:d_toupper: Myread cat cc ccflags rm ldflags +?MAKE: -pick add $@ %< +?S:d_toupper: +?S: Defined if toupper() can operate safely on any ascii character. +?S:. +?C:HAS_SAFE_TOUPPER: +?C: Defined if toupper() can operate safely on any ascii character. +?C: Some systems only allow toupper() on lower-case ascii chars. +?C:. +?H:#$d_toupper HAS_SAFE_TOUPPER /**/ +?H:. +: check for a safe toupper +echo " " +echo "Checking out your toupper()..." >&4 +$cat >test_toupper.c <<'EOCP' +#include +#include + +int main() { + char c = 'A'; + if (c == toupper(c)) { + printf("define\n"); + } else { + printf("undef\n"); + } + exit(0); +} +EOCP + +if $cc $ccflags $ldflags -o test_toupper test_toupper.c >/dev/null 2>&1 ; then + d_toupper=`./test_toupper` + if test $d_toupper = define ; then + echo "It's safe toupper uppers." >&4 + else + echo "We can't toupper uppers." >&4 + fi +else + $cat <&4 +echo " " + $cat >d_uint32.c < +#$i_stdint I_STDINT +#ifdef I_STDINT +#include +#endif + +int main() +{ + uint32_t a; + a = 2*2*2*2; + a *= a; /* 2^8 */ + a *= a; /* 2^16 */ + a *= a; /* 2^32 */ + a += 1; /* 2^32 + 1 */ + if (a == 1) + printf("ok\n"); + else + printf("not ok\n"); +} +EOCP + +if $cc $ccflags $ldflags d_uint32.c -o d_uint32 $libs >/dev/null 2>&1; then + val=`./d_uint32` + if test $val = "ok" ; then + val="$define" + set d_uint32_t; eval $setvar + echo "You have uint32_t." >&4 + else + val="$undef" + set d_uint32_t; eval $setvar + echo "You don't have uint32_t, hope you're a 32 bit machine." >&4 + fi +else + val="$undef" + set d_uint32_t; eval $setvar + echo "I can't tell if you have uint32_t, hope you're a 32 bit machine." >&4 +fi + +$rm -f d_uint32* + diff --git a/U/d_uptime.U b/U/d_uptime.U new file mode 100644 index 0000000..79c799a --- /dev/null +++ b/U/d_uptime.U @@ -0,0 +1,47 @@ +?RCS: $Id: d_uptime.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: d_uptime.U,v $ +?RCS: Revision 3.0.1.2 1993/10/16 13:49:20 ram +?RCS: patch12: added support for HAS_INDEX +?RCS: patch12: added magic for index() and rindex() +?RCS: +?RCS: Revision 3.0.1.1 1993/09/13 16:05:26 ram +?RCS: patch10: now only defines HAS_STRCHR, no macro remap of index (WAD) +?RCS: +?RCS: Revision 3.0 1993/08/18 12:07:32 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:d_uptime : Setvar Oldconfig Csym uptime test +?MAKE: -pick add $@ %< +?S:d_uptime: +?S: This variable conditionally defines UPTIME_PATH if the uptime +?S: program is available. +?S:. +?C:UPTIME_PATH: +?C: This symbol gives the full path to the uptime(1) program if +?C: it exists on the system. If not, this symbol is undefined. +?C:. +?C:HAS_UPTIME: +?C: This symbol is defined if uptime(1) is available. +?C:. +?H:#$d_uptime HAS_UPTIME /**/ +?H:#define UPTIME_PATH "$uptime" +?H:. +?LINT:set d_uptime +: uptime +echo " " +if $test -x $uptime ; then + val="$define" +else + val="$undef" +fi +set d_uptime; eval $setvar + diff --git a/U/d_urandom.U b/U/d_urandom.U new file mode 100644 index 0000000..71d6bc8 --- /dev/null +++ b/U/d_urandom.U @@ -0,0 +1,31 @@ +?RCS: $Id: d_urandom.U 1.1 Tue, 08 Apr 2003 22:02:39 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 2002, Shawn Wagner +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?MAKE:d_urandom : Setvar Oldconfig Csym test +?MAKE: -pick add $@ %< +?S:d_urandom: +?S: This variable conditionally defines HAS_DEV_URANDOM if the /dev/urandom +?S: special file is available. +?S:. +?C:HAS_DEV_URANDOM: +?C: This symbol is defined if /dev/urandom is available. +?C:. +?H:#$d_urandom HAS_DEV_URANDOM /**/ +?H:. +?LINT:set d_urandom +: see if /dev/urandom is present +echo " " +if $test -c /dev/urandom ; then + val="$define" +else + val="$undef" +fi +set d_urandom; eval $setvar + diff --git a/U/d_uwait.U b/U/d_uwait.U new file mode 100644 index 0000000..80c8bd3 --- /dev/null +++ b/U/d_uwait.U @@ -0,0 +1,126 @@ +?RCS: $Id: d_uwait.U 1.2 Wed, 09 Aug 2000 14:09:22 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: d_uwait.U,v $ +?RCS: Revision 3.0.1.1 1994/01/24 14:10:49 ram +?RCS: patch16: added knowledge about wait3() +?RCS: patch16: revised 'union wait' look-up algorithm +?RCS: patch16: fixed make dependency line accordingly +?RCS: +?RCS: Revision 3.0 1993/08/18 12:07:54 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:d_uwait d_uwait3: cat contains cppstdin cppminus +cppflags rm \ + Setvar Findhdr +?MAKE: -pick add $@ %< +?S:d_uwait: +?S: This symbol conditionally defines UNION_WAIT which indicates to the C +?S: program that argument for the wait() system call should be declared as +?S: 'union wait status' instead of 'int status'. +?S:. +?S:d_uwait3: +?S: This symbol conditionally defines UNION_WAIT3 which indicates to the C +?S: program that the first argument for the wait3() system call should be +?S: declared as 'union wait status' instead of 'int status'. +?S:. +?C:UNION_WAIT: +?C: This symbol if defined indicates to the C program that the argument +?C: for the wait() system call should be declared as 'union wait status' +?C: instead of 'int status'. You probably need to include +?C: in the former case (see I_SYSWAIT). +?C:. +?C:UNION_WAIT3: +?C: This symbol if defined indicates to the C program that the first argument +?C: for the wait3() system call should be declared as 'union wait status' +?C: instead of 'int status'. You probably need to include +?C: in the former case (see I_SYS_WAIT). It seems safe to assume that the +?C: same rule applies to the second parameter of wait4(). +?C:. +?H:#$d_uwait UNION_WAIT /**/ +?H:#$d_uwait3 UNION_WAIT3 /**/ +?H:. +?T:val2 flags f also +?LINT:set d_uwait d_uwait3 +: see if union wait is available +echo " " +?X: +?X: Unfortunately, we can't just grep for "union wait" because +?X: some weird systems (did I hear HP-UX?) define union wait only when _BSD +?X: is defined. The same thing happens on OSF/1, who is pushing weirdness to +?X: its limits by requiring wait() to use (int *) but wait3() to use +?X: (union wait *), unless _BSD is defined and -lbsd is used, in which case +?X: wait() also expects (union wait *). Aaargh!!--RAM +?X: +set X $cppflags +shift +flags='' +also='' +for f in $*; do + case "$f" in + *NO_PROTO*) ;; + *) flags="$flags $f";; + esac +done +xxx="`./findhdr sys/wait.h`" +case "x$xxx" in +x) xxx=/dev/null +esac +$cat "$xxx" | $cppstdin $flags $cppminus >wait.out 2>/dev/null +if $contains 'union.*wait.*{' wait.out >/dev/null 2>&1 ; then + echo "Looks like your knows about 'union wait'..." >&4 + val="$define" +@if UNION_WAIT + also='also ' + if $contains 'extern.*wait[ ]*([ ]*int' wait.out >/dev/null 2>&1 + then + echo "But wait() seems to expect an 'int' pointer (POSIX way)." >&4 + val="$undef" + also='' + elif $contains 'extern.*wait[ ]*([ ]*union' wait.out >/dev/null 2>&1 + then + echo "And indeed wait() expects an 'union wait' pointer (BSD way)." >&4 + else + echo "So we'll use that for wait()." >&4 + fi +@end +@if UNION_WAIT3 || d_uwait3 + val2="$define" +@end +@if UNION_WAIT3 + if $contains 'extern.*wait3[ ]*([ ]*int' wait.out >/dev/null 2>&1 + then + echo "However wait3() seems to expect an 'int' pointer, weird." >&4 + val2="$undef" + elif $contains 'extern.*wait3[ ]*([ ]*union' wait.out >/dev/null 2>&1 + then + echo "And wait3() ${also}expects an 'union wait' pointer, fine." >&4 + else + echo "As expected, wait3() ${also}uses an 'union wait' pointer." >&4 + fi +@end +else + echo "No trace of 'union wait' in ..." >&4 + val="$undef" +@if UNION_WAIT && UNION_WAIT3 + echo "Both wait() and wait3() will use a plain 'int' pointer then." >&4 +@elsif UNION_WAIT + echo "Your wait() should be happy with a plain 'int' pointer." >&4 +@elsif UNION_WAIT3 + echo "Your wait3() should be happy with a plain 'int' pointer." >&4 +@end +fi +set d_uwait +eval $setvar +@if UNION_WAIT3 || d_uwait3 +val="$val2"; set d_uwait3 +eval $setvar +@end +$rm -f wait.out + diff --git a/U/d_vsnprintf.U b/U/d_vsnprintf.U new file mode 100644 index 0000000..2f98cba --- /dev/null +++ b/U/d_vsnprintf.U @@ -0,0 +1,41 @@ +?RCS: $Id: d_vsnprintf.U 1.2 Sat, 30 Jun 2001 08:59:12 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: d_vsnprintf.U,v $ +?RCS: Revision 3.0 1993/08/18 12:07:59 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:d_vsnprintf: Guess cat +cc +ccflags Csym Setvar +?MAKE: -pick add $@ %< +?S:d_vsnprintf: +?S: This variable conditionally defines the HAS_VSNPRINTF symbol, which +?S: indicates to the C program that the vsnprintf() routine is available +?S: to printf with a pointer to an argument list. +?S:. +?C:HAS_VSNPRINTF: +?C: This symbol, if defined, indicates that the vsnprintf routine is +?C: available to printf with a pointer to an argument list. If not, you +?C: may need to write your own, probably in terms of _doprnt(). +?C:. +?H:#$d_vsnprintf HAS_VSNPRINTF /**/ +?H:. +?LINT:set d_vsnprintf +: see if vsnprintf exists +echo " " +if set vsnprintf val -f d_vsnprintf; eval $csym; $val; then + echo 'vsnprintf() found.' >&4 + val="$define" +else + echo 'vsnprintf() NOT found.' >&4 + val="$undef" +fi +set d_vsnprintf +eval $setvar + diff --git a/U/i_arpanameser.U b/U/i_arpanameser.U new file mode 100644 index 0000000..cf293fb --- /dev/null +++ b/U/i_arpanameser.U @@ -0,0 +1,31 @@ +?RCS: $Id: i_arpanameser.U 1.1 Thu, 01 Feb 2001 14:47:02 -0600 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: i_arpanameser.U,v $ +?RCS: Revision 3.0 1993/08/18 12:08:15 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:i_arpanameser: Inhdr +?MAKE: -pick add $@ %< +?S:i_arpanameser: +?S: This variable conditionally defines the I_ARPA_NAMESER symbol, +?S: and indicates whether a C program should include . +?S:. +?C:I_ARPA_NAMESER: +?C: This symbol, if defined, indicates to the C program that it should +?C: include to get nameser_addr and friends declarations. +?C:. +?H:#$i_arpanameser I_ARPA_NAMESER /**/ +?H:. +?LINT:set i_arpanameser +: see if arpa/nameser.h has to be included +set arpa/nameser.h i_arpanameser +eval $inhdr + diff --git a/U/i_errno.U b/U/i_errno.U new file mode 100644 index 0000000..0f4e2da --- /dev/null +++ b/U/i_errno.U @@ -0,0 +1,46 @@ +?RCS: $Id: i_errno.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: i_errno.U,v $ +?RCS: Revision 3.0 1993/08/18 12:08:34 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?X: +?X: Look whether needs to be included +?X: +?MAKE:i_errno i_syserrno: Inhdr +?MAKE: -pick add $@ %< +?S:i_errno: +?S: This variable conditionally defines the I_ERRNO symbol, +?S: and indicates whether a C program can include . +?S:. +?S:i_syserrno: +?S: This variable conditionally defines the I_SYS_ERRNO symbol, +?S: and indicates whether a C program can include . +?S:. +?C:I_ERRNO: +?C: This symbol, if defined, indicates to the C program that it can +?C: include . +?C:. +?C:I_SYS_ERRNO: +?C: This symbol, if defined, indicates to the C program that it can +?C: include . +?C:. +?H:#$i_errno I_ERRNO /**/ +?H:. +?H:#$i_syserrno I_SYS_ERRNO /**/ +?H:. +?LINT:set i_errno i_syserrno +: see if errno.h can be included +set errno.h i_errno +eval $inhdr +: see if sys/errno.h can be included +set sys/errno.h i_syserrno +eval $inhdr diff --git a/U/i_libintl.U b/U/i_libintl.U new file mode 100644 index 0000000..a9b6a98 --- /dev/null +++ b/U/i_libintl.U @@ -0,0 +1,33 @@ +?RCS: $Id: i_libintl.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: i_libintl.U,v $ +?RCS: Revision 3.0 1993/08/18 12:08:34 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?X: +?X: Look whether can be included +?X: +?MAKE:i_libintl: Inhdr +?MAKE: -pick add $@ %< +?S:i_libintl: +?S: This variable conditionally defines the I_LIBINTL symbol, +?S: and indicates whether a C program can include . +?S:. +?C:I_LIBINTL: +?C: This symbol, if defined, indicates to the C program that it can +?C: include . +?C:. +?H:#$i_libintl I_LIBINTL /**/ +?H:. +?LINT:set i_libintl +: see if libintl.h can be included +set libintl.h i_libintl +eval $inhdr diff --git a/U/i_memory.U b/U/i_memory.U new file mode 100644 index 0000000..f1fe84e --- /dev/null +++ b/U/i_memory.U @@ -0,0 +1,68 @@ +?RCS: $Id: i_memory.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: i_memory.U,v $ +?RCS: Revision 1.2 1997/11/25 22:07:30 popiel +?RCS: , +?RCS: +?RCS: Revision 3.0.1.3 1994/06/20 07:01:55 ram +?RCS: patch30: cosmetic changes +?RCS: +?RCS: Revision 3.0.1.2 1994/05/13 15:23:56 ram +?RCS: patch27: modified to avoid spurious Whoa warnings (ADO) +?RCS: +?RCS: Revision 3.0.1.1 1994/05/06 15:02:25 ram +?RCS: patch23: avoid conflicts with +?RCS: +?RCS: Revision 3.0 1993/08/18 12:08:22 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:i_memory: Inhdr strings cppstdin cppflags cppminus contains rm Setvar +?MAKE: -pick add $@ %< +?S:i_memory: +?S: This variable conditionally defines the I_MEMORY symbol, and indicates +?S: whether a C program should include . +?S:. +?C:I_MEMORY: +?C: This symbol, if defined, indicates to the C program that it should +?C: include . +?C:. +?H:#$i_memory I_MEMORY /**/ +?H:. +?LINT:set i_memory +?X: +?X: Unfortunately, the definitions of memory functions sometimes +?X: conflict with those in . We'll assume that if +?X: contains memcpy, then we don't need memory.h +?X: +: see if memory.h is available. +val='' +set memory.h val +eval $inhdr + +: See if it conflicts with string.h +case "$val" in +$define) + case "$strings" in + '') ;; + *) + $cppstdin $cppflags $cppminus < "$strings" > mem.h + if $contains 'memcpy' mem.h >/dev/null 2>&1; then + echo " " + echo "We won't be including ." + val="$undef" + fi + $rm -f mem.h + ;; + esac +esac +set i_memory +eval $setvar + diff --git a/U/i_netdb.U b/U/i_netdb.U new file mode 100644 index 0000000..41f7ef7 --- /dev/null +++ b/U/i_netdb.U @@ -0,0 +1,33 @@ +?RCS: $Id: i_netdb.U 1.1 Mon, 26 Mar 2001 15:51:56 -0600 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: i_netdb.U,v $ +?RCS: Revision 3.0 1993/08/18 12:08:34 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?X: +?X: Look whether needs to be included +?X: +?MAKE:i_netdb: Inhdr +?MAKE: -pick add $@ %< +?S:i_netdb: +?S: This variable conditionally defines the I_NETDB symbol, +?S: and indicates whether a C program can include . +?S:. +?C:I_NETDB: +?C: This symbol, if defined, indicates to the C program that it can +?C: include . +?C:. +?H:#$i_netdb I_NETDB /**/ +?H:. +?LINT:set i_netdb +: see if netdb.h can be included +set netdb.h i_netdb +eval $inhdr diff --git a/U/i_nitcp.U b/U/i_nitcp.U new file mode 100644 index 0000000..1b13b82 --- /dev/null +++ b/U/i_nitcp.U @@ -0,0 +1,34 @@ +?RCS: $Id$ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: i_nitcp.U,v $ +?RCS: Revision 3.0 1993/08/18 12:08:24 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?X: +?X: This unit looks wether is available or not +?X: +?MAKE:i_nitcp: Inhdr +?MAKE: -pick add $@ %< +?S:i_nitcp: +?S: This variable conditionally defines I_NETINET_TCP, which indicates +?S: to the C program that it should include . +?S:. +?C:I_NETINET_TCP: +?C: This symbol, if defined, indicates to the C program that it should +?C: include . +?C:. +?H:#$i_nitcp I_NETINET_TCP /**/ +?H:. +?LINT:set i_nitcp +: see if this is a netinet/tcp.h system +set netinet/tcp.h i_nitcp +eval $inhdr + diff --git a/U/i_nl_types.U b/U/i_nl_types.U new file mode 100644 index 0000000..8a9a741 --- /dev/null +++ b/U/i_nl_types.U @@ -0,0 +1,33 @@ +?RCS: $Id: i_nl_types.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: i_nl_types.U,v $ +?RCS: Revision 3.0 1993/08/18 12:08:34 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?X: +?X: Look whether can be included +?X: +?MAKE:i_nl_types: Inhdr +?MAKE: -pick add $@ %< +?S:i_nl_types: +?S: This variable conditionally defines the I_NL_TYPES symbol, +?S: and indicates whether a C program can include . +?S:. +?C:I_NL_TYPES: +?C: This symbol, if defined, indicates to the C program that it can +?C: include . +?C:. +?H:#$i_nl_types I_NL_TYPES /**/ +?H:. +?LINT:set i_nl_types +: see if nl_types.h can be included +set nl_types.h i_nl_types +eval $inhdr diff --git a/U/i_setjmp.U b/U/i_setjmp.U new file mode 100644 index 0000000..e62d95c --- /dev/null +++ b/U/i_setjmp.U @@ -0,0 +1,31 @@ +?RCS: $Id: i_setjmp.U 1.1 Wed, 29 Nov 2000 11:35:38 -0600 dunemush $ +?RCS: +?RCS: Copyright (c) 200 Shawn Wagner +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: +?X: +?X: Look whether can be included and setjmp/longjmp work +?X: the way we expect. +?X: +?MAKE:i_setjmp: Inhdr +?MAKE: -pick add $@ %< +?S:i_setjmp: +?S: This variable conditionally defines the I_SETJMP symbol, +?S: and indicates wether or not we have a working setjmp/longjmp. +?S:. +?C:I_SETJMP: +?C: This symbol, if defined, indicates to the C program that it can +?C: include and have things work right. +?C:. +?H:#$i_setjmp I_SETJMP /**/ +?H:. +?LINT:set i_setjmp +: see if setjmp.h can be included +set setjmp.h i_setjmp +eval $inhdr diff --git a/U/i_stdint.U b/U/i_stdint.U new file mode 100644 index 0000000..31dde7c --- /dev/null +++ b/U/i_stdint.U @@ -0,0 +1,32 @@ +?RCS: $Id$ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: +?MAKE:i_stdint: test Inlibc Cppsym Guess Setvar Findhdr +?MAKE: -pick add $@ %< +?S:i_stdint: +?S: This variable conditionally defines the I_STDINT symbol, which +?S: indicates to the C program that it should include . +?S:. +?C:I_STDINT: +?C: This symbol, if defined, indicates that the program should include +?C: . +?C:. +?H:#$i_stdint I_STDINT /**/ +?H:. +?LINT:set i_stdint +: see if this is a stdint system +val="$undef" +if $test "`./findhdr stdint.h`"; then + val="$define" + echo " found." >&4 +fi +echo " " +set i_stdint; eval $setvar diff --git a/U/i_sysioctl.U b/U/i_sysioctl.U new file mode 100644 index 0000000..3643214 --- /dev/null +++ b/U/i_sysioctl.U @@ -0,0 +1,202 @@ +?RCS: $Id: i_sysioctl.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: i_sysioctl.U,v $ +?RCS: Revision 3.0.1.2 1994/05/06 15:04:57 ram +?RCS: patch23: added knowledge for (WED) +?RCS: patch23: optimized amount of findhdr calls +?RCS: +?RCS: Revision 3.0.1.1 1993/11/10 17:36:09 ram +?RCS: patch14: now use a compiler check for TIOCNOTTY because of HP-UX 9.x +?RCS: +?RCS: Revision 3.0 1993/08/18 12:08:32 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:i_sysioctl i_bsdioctl i_sysfilio i_syssockio d_voidtty: test contains \ + cat i_termio i_termios i_sgtty Setvar Findhdr +cc rm Inhdr +?MAKE: -pick add $@ %< +?S:i_sysioctl: +?S: This variable conditionally defines the I_SYS_IOCTL symbol, which +?S: indicates to the C program that exists and should +?S: be included. +?S:. +?S:i_sysfilio: +?S: This variable conditionally defines the I_SYS_FILIO symbol, which +?S: indicates to the C program that exists and should +?S: be included in preference to . +?S:. +?S:i_bsdioctl: +?S: This variable conditionally defines the I_SYS_BSDIOCTL symbol, which +?S: indicates to the C program that exists and should +?S: be included. +?S:. +?S:i_syssockio: +?S: This variable conditionally defines I_SYS_SOCKIO to indicate to the +?S: C program that socket ioctl codes may be found in +?S: instead of . +?S:. +?S:d_voidtty: +?S: This variable conditionally defines USE_IOCNOTTY to indicate that the +?S: ioctl() call with TIOCNOTTY should be used to void tty association. +?S: Otherwise (on USG probably), it is enough to close the standard file +?S: decriptors and do a setpgrp(). +?S:. +?C:I_SYS_IOCTL (I_SYSIOCTL): +?C: This symbol, if defined, indicates that exists and should +?C: be included. Otherwise, include or . +?C:. +?C:I_SYS_FILIO: +?C: This symbol, if defined, indicates that exists and +?C: should be included instead of . +?C:. +?C:I_SYS_BSDIOCTL (I_BSDIOCTL): +?C: This symbol, if defined, indicates that exists and should +?C: be included. Otherwise, try . This is primarly intended for +?C: definitions of sockets options, like SIOCATMARK. +?C:. +?C:I_SYS_SOCKIO (I_SYSSOCKIO): +?C: This symbol, if defined, indicates the should be included +?C: to get socket ioctl options, like SIOCATMARK. +?C:. +?C:USE_TIOCNOTTY (VOIDTTY): +?C: This symbol, if defined indicate to the C program that the ioctl() +?C: call with TIOCNOTTY should be used to void tty association. +?C: Otherwise (on USG probably), it is enough to close the standard file +?C: decriptors and do a setpgrp(). +?C:. +?H:#$i_sysioctl I_SYS_IOCTL /**/ +?H:#$i_sysfilio I_SYS_FILIO /**/ +?H:#$i_bsdioctl I_SYS_BSDIOCTL /**/ +?H:#$i_syssockio I_SYS_SOCKIO /**/ +?H:#$d_voidtty USE_TIOCNOTTY /**/ +?H:. +?T:xxx +: see if ioctl defs are in sgtty, termio, sys/filio or sys/ioctl +?LINT:set i_sysfilio +set sys/filio.h i_sysfilio +eval $inhdr +echo " " +if $test "`./findhdr sys/ioctl.h`"; then + val="$define" + echo ' found.' >&4 +else + val="$undef" + if $test $i_sysfilio = "$define"; then + echo ' NOT found.' >&4 + else + $test $i_sgtty = "$define" && xxx="sgtty.h" + $test $i_termio = "$define" && xxx="termio.h" + $test $i_termios = "$define" && xxx="termios.h" +echo "No found, assuming ioctl args are defined in <$xxx>." >&4 + fi +fi +?LINT:set i_sysioctl +set i_sysioctl +eval $setvar + +@if I_BSDIOCTL || i_bsdioctl +?X: +?X: The only machine I know where this inclusion was necessary is a +?X: BULL DPX 5000 (a French machine). +?X: +: see if socket ioctl defs are in sys/bsdioctl or sys/ioctl +echo " " +xxx="`./findhdr sys/bsdioctl.h`" +if $test "$xxx"; then + if $contains SIOCATMARK $xxx >/dev/null 2>&1; then + val="$define" + echo "You have socket ioctls defined in ." >&4 + else + val="$undef" + echo "No socket ioctls found in ." >&4 + fi +else + val="$undef" + echo " not found, but that's ok." >&4 +fi +?LINT:set i_bsdioctl +set i_bsdioctl +eval $setvar + +@end +@if I_SYSSOCKIO || i_syssockio +: see if socket ioctl defs are in sys/sockio.h +echo " " +xxx="`./findhdr sys/sockio.h`" +if $test "$xxx"; then + if $contains SIOCATMARK $xxx >/dev/null 2>&1; then + val="$define" + echo "You have socket ioctls defined in ." >&4 + else + val="$undef" + echo "No socket ioctls found in ." >&4 + fi +else + val="$undef" +@if I_BSDIOCTL + case "$i_bsdioctl" in + "$define") $cat < not found, using ioctls from . +EOM + ;; + *) $cat < not found, assuming socket ioctls are in . +EOM + ;; + esac +@else + $cat < not found, assuming socket ioctls are in . +EOM +@end +fi +?LINT:set i_syssockio +set i_syssockio +eval $setvar + +@end +@if VOIDTTY || d_voidtty +: check how to void tty association +echo " " +case "$i_sysioctl" in +"$define") xxx='sys/ioctl.h';; +?X: otherwise $xxx was set during the determination of i_sysioctl, above. +esac +?X: +?X: Can't use $contains here since HP-UX 9.x has TIOCNOTTY between a pair +?X: of #ifdef/#endif and is never actually defined. Oh well... +?X: +$cat > tcio.c < /* Just in case */ +#include <$xxx> + +int main() +{ +#ifdef TIOCNOTTY + exit(0); +#else + exit(1); +#endif +} +EOM +if ($cc -o tcio tcio.c && ./tcio) >/dev/null 2>&1; then + val="$define" + echo "TIOCNOTTY found in <$xxx>." >&4 + echo "Using ioctl() call on /dev/tty to void tty association." >&4 +else + val="$undef" + echo "Closing standard file descriptors should void tty association." >&4 +fi +?LINT:set d_voidtty +set d_voidtty +eval $setvar +$rm -f tcio tcio.? core + +@end diff --git a/U/i_syspage.U b/U/i_syspage.U new file mode 100644 index 0000000..b348b84 --- /dev/null +++ b/U/i_syspage.U @@ -0,0 +1,34 @@ +?RCS: $Id: i_syspage.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: i_syspage.U,v $ +?RCS: Revision 3.0 1993/08/18 12:08:34 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?X: +?X: Look whether needs to be included +?X: +?MAKE:i_syspage: Inhdr +?MAKE: -pick add $@ %< +?S:i_syspage: +?S: This variable conditionally defines the I_SYS_PAGE symbol, +?S: and indicates whether a C program should include . +?S:. +?C:I_SYS_PAGE (I_SYSPAGE): +?C: This symbol, if defined, indicates to the C program that it should +?C: include . +?C:. +?H:#$i_syspage I_SYS_PAGE /**/ +?H:. +?LINT:set i_syspage +: see if sys/page.h has to be included +set sys/page.h i_syspage +eval $inhdr + diff --git a/U/i_sysvlimit.U b/U/i_sysvlimit.U new file mode 100644 index 0000000..9de3131 --- /dev/null +++ b/U/i_sysvlimit.U @@ -0,0 +1,34 @@ +?RCS: $Id: i_sysvlimit.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: i_sysvlimit.U,v $ +?RCS: Revision 3.0 1993/08/18 12:08:34 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?X: +?X: Look wether needs to be included +?X: +?MAKE:i_sysvlimit: Inhdr +?MAKE: -pick add $@ %< +?S:i_sysvlimit: +?S: This variable conditionally defines the I_SYS_VLIMIT symbol, +?S: and indicates whether a C program should include . +?S:. +?C:I_SYS_VLIMIT (I_SYSVLIMIT): +?C: This symbol, if defined, indicates to the C program that it should +?C: include . +?C:. +?H:#$i_sysvlimit I_SYS_VLIMIT /**/ +?H:. +?LINT:set i_sysvlimit +: see if sys/vlimit.h has to be included +set sys/vlimit.h i_sysvlimit +eval $inhdr + diff --git a/U/i_termio.U b/U/i_termio.U new file mode 100644 index 0000000..1259aad --- /dev/null +++ b/U/i_termio.U @@ -0,0 +1,123 @@ +?RCS: $Id: i_termio.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: i_termio.U,v $ +?RCS: Revision 3.0.1.4 1994/10/29 16:20:54 ram +?RCS: patch36: call ./usg and ./Cppsym explicitely instead of relying on PATH +?RCS: +?RCS: Revision 3.0.1.3 1994/08/29 16:26:38 ram +?RCS: patch32: don't include all threee I_* symbols in config.h +?RCS: patch32: (had forgotten to undo this part last time) +?RCS: +?RCS: Revision 3.0.1.2 1994/05/13 15:25:03 ram +?RCS: patch27: undone ADO's fix in previous patch since it was useless +?RCS: +?RCS: Revision 3.0.1.1 1994/05/06 15:05:23 ram +?RCS: patch23: now include all three defines in config.h (ADO) +?RCS: +?RCS: Revision 3.0 1993/08/18 12:08:44 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:i_termio i_sgtty i_termios: test Inlibc Cppsym Guess Setvar Findhdr +?MAKE: -pick add $@ %< +?S:i_termio: +?S: This variable conditionally defines the I_TERMIO symbol, which +?S: indicates to the C program that it should include rather +?S: than . +?S:. +?S:i_termios: +?S: This variable conditionally defines the I_TERMIOS symbol, which +?S: indicates to the C program that the POSIX file is +?S: to be included. +?S:. +?S:i_sgtty: +?S: This variable conditionally defines the I_SGTTY symbol, which +?S: indicates to the C program that it should include rather +?S: than . +?S:. +?C:I_TERMIO: +?C: This symbol, if defined, indicates that the program should include +?C: rather than . There are also differences in +?C: the ioctl() calls that depend on the value of this symbol. +?C:. +?C:I_TERMIOS: +?C: This symbol, if defined, indicates that the program should include +?C: the POSIX termios.h rather than sgtty.h or termio.h. +?C: There are also differences in the ioctl() calls that depend on the +?C: value of this symbol. +?C:. +?C:I_SGTTY: +?C: This symbol, if defined, indicates that the program should include +?C: rather than . There are also differences in +?C: the ioctl() calls that depend on the value of this symbol. +?C:. +?H:#$i_termio I_TERMIO /**/ +?H:#$i_termios I_TERMIOS /**/ +?H:#$i_sgtty I_SGTTY /**/ +?H:. +?T:val2 val3 +?LINT:set i_termio i_sgtty i_termios +: see if this is a termio system +val="$undef" +val2="$undef" +val3="$undef" +?X: Prefer POSIX-approved termios.h over all else +if $test "`./findhdr termios.h`"; then + set tcsetattr i_termios + eval $inlibc + val3="$i_termios" +fi +echo " " +case "$val3" in +"$define") echo "You have POSIX termios.h... good!" >&4;; +*) if ./Cppsym pyr; then + case "`/bin/universe`" in + ucb) if $test "`./findhdr sgtty.h`"; then + val2="$define" + echo " found." >&4 + else + echo "System is pyramid with BSD universe." + echo " not found--you could have problems." >&4 + fi;; + *) if $test "`./findhdr termio.h`"; then + val="$define" + echo " found." >&4 + else + echo "System is pyramid with USG universe." + echo " not found--you could have problems." >&4 + fi;; + esac +?X: Start with USG to avoid problems if both usg/bsd was guessed + elif ./usg; then + if $test "`./findhdr termio.h`"; then + echo " found." >&4 + val="$define" + elif $test "`./findhdr sgtty.h`"; then + echo " found." >&4 + val2="$define" + else +echo "Neither nor found--you could have problems." >&4 + fi + else + if $test "`./findhdr sgtty.h`"; then + echo " found." >&4 + val2="$define" + elif $test "`./findhdr termio.h`"; then + echo " found." >&4 + val="$define" + else +echo "Neither nor found--you could have problems." >&4 + fi + fi;; +esac +set i_termio; eval $setvar +val=$val2; set i_sgtty; eval $setvar +val=$val3; set i_termios; eval $setvar + diff --git a/U/i_varhdr.U b/U/i_varhdr.U new file mode 100644 index 0000000..f03da79 --- /dev/null +++ b/U/i_varhdr.U @@ -0,0 +1,165 @@ +?RCS: $Id: i_varhdr.U 1.2 Tue, 30 Sep 2003 18:01:23 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: i_varhdr.U,v $ +?RCS: Revision 3.0.1.3 1997/02/28 15:54:42 ram +?RCS: patch61: varargs script now starts with leading "startsh" +?RCS: +?RCS: Revision 3.0.1.2 1994/10/29 16:21:02 ram +?RCS: patch36: added ?F: line for metalint file checking +?RCS: +?RCS: Revision 3.0.1.1 1994/05/13 15:26:05 ram +?RCS: patch27: this unit now supersedes old i_stdarg.U and i_varargs.U +?RCS: patch27: modified to avoid spurious Whoa warnings (ADO) +?RCS: +?RCS: Revision 3.0 1993/08/18 12:08:49 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:i_stdarg i_varargs i_varhdr: cat cc ccflags rm test Setvar \ + Findhdr startsh _o ldflags +?MAKE: -pick add $@ %< +?S:i_stdarg: +?S: This variable conditionally defines the I_STDARG symbol, which +?S: indicates to the C program that exists and should +?S: be included. +?S:. +?S:i_varargs: +?S: This variable conditionally defines I_VARARGS, which indicates +?S: to the C program that it should include . +?S:. +?S:i_varhdr: +?S: Contains the name of the header to be included to get va_dcl definition. +?S: Typically one of varargs.h or stdarg.h. +?S:. +?C:I_STDARG: +?C: This symbol, if defined, indicates that exists and should +?C: be included. +?C:. +?C:I_VARARGS: +?C: This symbol, if defined, indicates to the C program that it should +?C: include . +?C:. +?H:#$i_stdarg I_STDARG /**/ +?H:. +?H:#$i_varargs I_VARARGS /**/ +?H:. +?W:%<:va_dcl +?F:!varargs +?T:valstd +?LINT:set i_stdarg i_varargs +?X: +?X: Don't use setvar because the varags test below might override these. +?X: Actually, the messages here are just informative. We don't wish to set +?X: i_varargs or i_stdarg to their final value before knowing which of the +?X: two we'll include. +?X: +: see if stdarg is available +echo " " +if $test "`./findhdr stdarg.h`"; then + echo " found." >&4 + valstd="$define" +else + echo " NOT found." >&4 + valstd="$undef" +fi + +: see if varags is available +echo " " +if $test "`./findhdr varargs.h`"; then + echo " found." >&4 +else + echo " NOT found, but that's ok (I hope)." >&4 +fi + +?X: +?X: if you have stdarg.h, you need to support prototypes to actually use it; +?X: but if stdarg.h exists and the compiler doesn't support prototypes (for some +?X: bizarre reason), we'll fall back to varargs.h anyway so it's not so bad. +?X: +: set up the varargs testing programs +$cat > varargs.c < +#endif +#ifdef I_VARARGS +#include +#endif + +#ifdef I_STDARG +int f(char *p, ...) +#else +int f(va_alist) +va_dcl +#endif +{ + va_list ap; +#ifndef I_STDARG + char *p; +#endif +#ifdef I_STDARG + va_start(ap,p); +#else + va_start(ap); + p = va_arg(ap, char *); +#endif + va_end(ap); +} +EOP +$cat > varargs </dev/null 2>&1; then + echo "true" +else + echo "false" +fi +$rm -f varargs$_o +EOP +chmod +x varargs + +: now check which varargs header should be included +echo " " +i_varhdr='' +case "$valstd" in +"$define") + if `./varargs I_STDARG`; then + val='stdarg.h' + elif `./varargs I_VARARGS`; then + val='varargs.h' + fi + ;; +*) + if `./varargs I_VARARGS`; then + val='varargs.h' + fi + ;; +esac +case "$val" in +'') +echo "I could not find the definition for va_dcl... You have problems..." >&4 + val="$undef"; set i_stdarg; eval $setvar + val="$undef"; set i_varargs; eval $setvar + ;; +*) + set i_varhdr + eval $setvar + case "$i_varhdr" in + stdarg.h) + val="$define"; set i_stdarg; eval $setvar + val="$undef"; set i_varargs; eval $setvar + ;; + varargs.h) + val="$undef"; set i_stdarg; eval $setvar + val="$define"; set i_varargs; eval $setvar + ;; + esac + echo "We'll include <$i_varhdr> to get va_dcl definition." >&4;; +esac +$rm -f varargs* + diff --git a/U/libc.U b/U/libc.U new file mode 100644 index 0000000..e224b16 --- /dev/null +++ b/U/libc.U @@ -0,0 +1,368 @@ +?RCS: $Id: libc.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: libc.U,v $ +?RCS: Revision 3.0.1.10 1997/02/28 15:56:48 ram +?RCS: patch61: replaced .a with $_a all over the place +?RCS: patch61: added support for HPUX-10 nm output +?RCS: +?RCS: Revision 3.0.1.9 1995/07/25 14:11:56 ram +?RCS: patch56: now knows about OS/2 platforms +?RCS: +?RCS: Revision 3.0.1.8 1995/05/12 12:20:47 ram +?RCS: patch54: made sure only most recent version of shared lib is picked +?RCS: patch54: final "nm -p" check now uses xscan and xrun like everybody +?RCS: patch54: can now grok linux nm output with lead __IO (ADO) +?RCS: patch54: added support for linux ELF output, using 'W' for alias (ADO) +?RCS: +?RCS: Revision 3.0.1.7 1994/10/29 16:23:40 ram +?RCS: patch36: now looks for shared libraries before anything else (ADO) +?RCS: patch36: added new nm output format (ADO) +?RCS: +?RCS: Revision 3.0.1.6 1994/08/29 16:28:10 ram +?RCS: patch32: added I-type symbols for nm output parsing on Linux +?RCS: +?RCS: Revision 3.0.1.5 1994/06/20 07:03:24 ram +?RCS: patch30: checks are now presented by succession of if/elif +?RCS: patch30: uniformized checks for shared objects with new so symbol +?RCS: +?RCS: Revision 3.0.1.4 1994/05/06 15:06:33 ram +?RCS: patch23: added shared library knowledge (ADO and WED) +?RCS: +?RCS: Revision 3.0.1.3 1994/01/24 14:12:17 ram +?RCS: patch16: can now export nm_extract as an internal-use only variable +?RCS: +?RCS: Revision 3.0.1.2 1993/09/13 16:09:03 ram +?RCS: patch10: added special handling for Apollo systems (WAD) +?RCS: +?RCS: Revision 3.0.1.1 1993/08/27 14:40:03 ram +?RCS: patch7: added entry for /usr/shlib/libc.so (OSF/1 machines) +?RCS: +?RCS: Revision 3.0 1993/08/18 12:08:57 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:libc +nm_extract: echo n c rm test grep Getfile Myread Oldconfig Loc \ + sed libs incpath libpth runnm nm_opt nm_so_opt contains xlibpth so _a _o +?MAKE: -pick add $@ %< +?S:libc: +?S: This variable contains the location of the C library. +?S:. +?S:nm_extract: +?S: This variable holds the name of the extraction command used to process +?S: the output of nm and yield the list of defined symbols. It is used +?S: internally by Configure. +?S:. +?T:thislib try libnames xxx xscan xrun thisname com tans file +?F:!libnames +?LINT:change nm_opt +case "$runnm" in +true) +?X: indentation is wrong on purpose--RAM +: get list of predefined functions in a handy place +echo " " +case "$libc" in +'') libc=unknown + case "$libs" in + *-lc_s*) libc=`./loc libc_s$_a $libc $libpth` + esac + ;; +esac +libnames=''; +case "$libs" in +'') ;; +*) for thislib in $libs; do + case "$thislib" in + -lc|-lc_s) + : Handle C library specially below. + ;; + -l*) + thislib=`echo $thislib | $sed -e 's/^-l//'` + if try=`./loc lib$thislib.$so.'*' X $libpth`; $test -f "$try"; then + : + elif try=`./loc lib$thislib.$so X $libpth`; $test -f "$try"; then + : + elif try=`./loc lib$thislib$_a X $libpth`; $test -f "$try"; then + : + elif try=`./loc $thislib$_a X $libpth`; $test -f "$try"; then + : + elif try=`./loc lib$thislib X $libpth`; $test -f "$try"; then + : + elif try=`./loc $thislib X $libpth`; $test -f "$try"; then + : + elif try=`./loc Slib$thislib$_a X $xlibpth`; $test -f "$try"; then + : + else + try='' + fi + libnames="$libnames $try" + ;; + *) libnames="$libnames $thislib" ;; + esac + done + ;; +esac +?X: +?X: Some systems (e.g. DG/UX) use "environmental" links, which make the test +?X: -f fail. Ditto for symbolic links. So in order to reliably check the +?X: existence of a file, we use test -r. It will still fail with DG/UX links +?X: though, but at least it will detect symbolic links. At some strategic +?X: points, we make use of (test -h), using a sub-shell in case builtin test +?X: does not implement the -h check for symbolic links. This makes it +?X: possible to preset libc in a hint file for instance and have it show up +?X: as-is in the question. +?X: +xxx=normal +case "$libc" in +unknown) +?X: +?X: The sed below transforms .so.9 .so.12 into something like .so.0009 .so.0012, +?X: then sorts on it to allow keeping .so.12 instead of .so.9 as the latest +?X: up-to-date library. The initial filename (before sed munging, saved in hold +?X: space via 'h') is appended via 'G' before sorting, then the leading munged +?X: part is removed after sorting. Nice efficient work from Tye McQueen. +?X: The initial blurfl is here to prevent the trailing pipe from producing an +?X: empty string, causing Configure to output all its set variables! +?X: + set /lib/libc.$so + for xxx in $libpth; do + $test -r $1 || set $xxx/libc.$so + $test -r $1 || \ + set `echo blurfl; echo $xxx/libc.$so.[0-9]* | \ + tr ' ' '\012' | egrep -v '\.[A-Za-z]*$' | $sed -e ' + h + s/[0-9][0-9]*/0000&/g + s/0*\([0-9][0-9][0-9][0-9][0-9]\)/\1/g + G + s/\n/ /' | \ + sort | $sed -e 's/^.* //'` + eval set \$$# + done + $test -r $1 || set /usr/ccs/lib/libc.$so + $test -r $1 || set /lib/libsys_s$_a + ;; +*) +?X: ensure the test below for the (shared) C library will fail + set blurfl + ;; +esac +if $test -r "$1"; then + echo "Your (shared) C library seems to be in $1." + libc="$1" +elif $test -r /lib/libc && $test -r /lib/clib; then +?X: +?X: Apollo has its C library in /lib/clib AND /lib/libc +?X: not to mention its math library in /lib/syslib... +?X: + echo "Your C library seems to be in both /lib/clib and /lib/libc." + xxx=apollo + libc='/lib/clib /lib/libc' + if $test -r /lib/syslib; then + echo "(Your math library is in /lib/syslib.)" +?X: Put syslib in libc -- not quite right, but won't hurt + libc="$libc /lib/syslib" + fi +elif $test -r "$libc" || (test -h "$libc") >/dev/null 2>&1; then + echo "Your C library seems to be in $libc, as you said before." +?X: For mips, and... +elif $test -r $incpath/usr/lib/libc$_a; then + libc=$incpath/usr/lib/libc$_a; + echo "Your C library seems to be in $libc. That's fine." +elif $test -r /lib/libc$_a; then + libc=/lib/libc$_a; + echo "Your C library seems to be in $libc. You're normal." +else + if tans=`./loc libc$_a blurfl/dyick $libpth`; $test -r "$tans"; then + : + elif tans=`./loc libc blurfl/dyick $libpth`; $test -r "$tans"; then + libnames="$libnames "`./loc clib blurfl/dyick $libpth` + elif tans=`./loc clib blurfl/dyick $libpth`; $test -r "$tans"; then + : + elif tans=`./loc Slibc$_a blurfl/dyick $xlibpth`; $test -r "$tans"; then + : + elif tans=`./loc Mlibc$_a blurfl/dyick $xlibpth`; $test -r "$tans"; then + : + else + tans=`./loc Llibc$_a blurfl/dyick $xlibpth` + fi + if $test -r "$tans"; then + echo "Your C library seems to be in $tans, of all places." + libc=$tans + else + libc='blurfl' + fi +fi +if $test $xxx = apollo -o -r "$libc" || (test -h "$libc") >/dev/null 2>&1; then + dflt="$libc" + cat < libpath + cat >&4 < libnames +set X `cat libnames` +shift +xxx=files +case $# in 1) xxx=file; esac +echo "Extracting names from the following $xxx for later perusal:" >&4 +echo " " +$sed 's/^/ /' libnames >&4 +echo " " +$echo $n "This may take a while...$c" >&4 + +?X: +?X: Linux may need the special Dynamic option to nm for shared libraries. +?X: In general, this is stored in the nm_so_opt variable. +?X: Unfortunately, that option may be fatal on non-shared libraries. +?X: +for file in $*; do + case $file in + *$so*) nm $nm_so_opt $nm_opt $file 2>/dev/null;; + *) nm $nm_opt $file 2>/dev/null;; + esac +done >libc.tmp + +$echo $n ".$c" +?X: +?X: To accelerate processing, we look at the correct 'sed' command +?X: by using a small subset of libc.tmp, i.e. fprintf function. +?X: When we know which sed command to use, do the name extraction +?X: +$grep fprintf libc.tmp > libc.ptf +?X: +?X: In order to ehance readability and save some space, we define +?X: some variables that will be "eval"ed. +?X: +xscan='eval "libc.list"; $echo $n ".$c" >&4' +xrun='eval "libc.list"; echo "done" >&4' +?X: BSD-like output, I and W types added for Linux +?X: Some versions of Linux include a leading __IO in the symbol name. +?X: HPUX10 reportedly has trailing spaces, though I'm suprised it has +?X: BSD-like output. (AD). +xxx='[ADTSIW]' +if com="$sed -n -e 's/__IO//' -e 's/^.* $xxx *_[_.]*//p' -e 's/^.* $xxx *//p'";\ + eval $xscan;\ + $contains '^fprintf$' libc.list >/dev/null 2>&1; then + eval $xrun +?X: SYSV-like output +elif com="$sed -n -e 's/^__*//' -e 's/^\([a-zA-Z_0-9$]*\).*xtern.*/\1/p'";\ + eval $xscan;\ + $contains '^fprintf$' libc.list >/dev/null 2>&1; then + eval $xrun +elif com="$sed -n -e '/|UNDEF/d' -e '/FUNC..GL/s/^.*|__*//p'";\ + eval $xscan;\ + $contains '^fprintf$' libc.list >/dev/null 2>&1; then + eval $xrun +elif com="$sed -n -e 's/^.* D __*//p' -e 's/^.* D //p'";\ + eval $xscan;\ + $contains '^fprintf$' libc.list >/dev/null 2>&1; then + eval $xrun +elif com="$sed -n -e 's/^_//' -e 's/^\([a-zA-Z_0-9]*\).*xtern.*text.*/\1/p'";\ + eval $xscan;\ + $contains '^fprintf$' libc.list >/dev/null 2>&1; then + eval $xrun +elif com="$sed -n -e 's/^.*|FUNC |GLOB .*|//p'";\ + eval $xscan;\ + $contains '^fprintf$' libc.list >/dev/null 2>&1; then + eval $xrun +elif com="$grep '|' | $sed -n -e '/|COMMON/d' -e '/|DATA/d' \ + -e '/ file/d' -e 's/^\([^ ]*\).*/\1/p'";\ + eval $xscan;\ + $contains '^fprintf$' libc.list >/dev/null 2>&1; then + eval $xrun +elif com="$sed -n -e 's/^.*|FUNC |GLOB .*|//p' -e 's/^.*|FUNC |WEAK .*|//p'";\ + eval $xscan;\ + $contains '^fprintf$' libc.list >/dev/null 2>&1; then + eval $xrun +?X: mips nm output (sysV) +elif com="$sed -n -e 's/^__//' -e '/|Undef/d' -e '/|Proc/s/ .*//p'";\ + eval $xscan;\ + $contains '^fprintf$' libc.list >/dev/null 2>&1; then + eval $xrun +elif com="$sed -n -e '/Def. Text/s/.* \([^ ]*\)\$/\1/p'";\ + eval $xscan;\ + $contains '^fprintf$' libc.list >/dev/null 2>&1; then + eval $xrun +?X: OS/2 nm output +elif com="$sed -n -e 's/^[-0-9a-f ]*_\(.*\)=.*/\1/p'";\ + eval $xscan;\ + $contains '^fprintf$' libc.list >/dev/null 2>&1; then + eval $xrun +elif com="$sed -n -e 's/.*\.text n\ \ \ \.//p'";\ + eval $xscan;\ + $contains '^fprintf$' libc.list >/dev/null 2>&1; then + eval $xrun +else + nm -p $* 2>/dev/null >libc.tmp + $grep fprintf libc.tmp > libc.ptf + if com="$sed -n -e 's/^.* [ADTSIW] *_[_.]*//p' -e 's/^.* [ADTSIW] //p'";\ + eval $xscan; $contains '^fprintf$' libc.list >/dev/null 2>&1 + then + nm_opt='-p' + eval $xrun + else + echo " " + echo "nm didn't seem to work right. Trying ar instead..." >&4 + com='' + if ar t $libc > libc.tmp; then + for thisname in $libnames; do + ar t $thisname >>libc.tmp + done + $sed -e "s/\\$_o\$//" < libc.tmp > libc.list + echo "Ok." >&4 + else + echo "ar didn't seem to work right." >&4 + echo "Maybe this is a Cray...trying bld instead..." >&4 + if bld t $libc | $sed -e 's/.*\///' -e "s/\\$_o:.*\$//" > libc.list + then + for thisname in $libnames; do + bld t $libnames | \ + $sed -e 's/.*\///' -e "s/\\$_o:.*\$//" >>libc.list + ar t $thisname >>libc.tmp + done + echo "Ok." >&4 + else + echo "That didn't work either. Giving up." >&4 + exit 1 + fi + fi + fi +fi +nm_extract="$com" +if $test -f /lib/syscalls.exp; then + echo " " + echo "Also extracting names from /lib/syscalls.exp for good ole AIX..." >&4 + $sed -n 's/^\([^ ]*\)[ ]*syscall$/\1/p' /lib/syscalls.exp >>libc.list +fi +?X: remember, indentation is wrong on purpose--RAM +;; +esac +$rm -f libnames libpath + diff --git a/U/libmysqlclient.U b/U/libmysqlclient.U new file mode 100644 index 0000000..52c1ea7 --- /dev/null +++ b/U/libmysqlclient.U @@ -0,0 +1,64 @@ +?RCS: $Id$ +?RCS: +?RCS: +?MAKE:libmysqlclient d_mysql: test Loc libpth _a cc ccflags ldflags libs rm cat +?MAKE: -pick add $@ %< +?S:libmysqlclient: +?S: This variable contains the argument to pass to the loader in order +?S: to get the ssl library routines. If there is no mysql +?S: library, it is null. +?S:. +?S:d_mysql: +?S: Defined if mysql client libraries are available. +?S:. +?C:HAS_MYSQL: +?C: Defined if mysql client libraries are available. +?C:. +?H:#$d_mysql HAS_MYSQL /**/ +?H:. +?T:xxx +: see if we should include -lmysqlclient +echo " " + +d_mysql="$undef" + +if $test "x$no_mysql" = "x"; then + + libmysqlclient="-lmysqlclient" + + $cat > test_mysql.c < +#include +#include +#include + +int main(int argc, char **argv) { + printf("Your mysql is version %s\n",mysql_get_client_info()); + exit(0); +} +EOM + + if $cc $ccflags $ldflags -o test_mysql test_mysql.c $libs $libmysqlclient >/dev/null 2>&1 ; + then + echo 'You have mysql...' >&4 + version=`./test_mysql` + if $test $? -eq 0; then + echo "$version" >&4 + d_mysql="$define" + else + echo "...but my test program didn't run correctly." >&4 + libmysqlclient='' + fi + else + echo "You don't seem to have mysql." >&4 + libmysqlclient='' + fi + $rm -f test_mysql* core + +else + + echo "Skipping mysql tests." >&4 + libmysqlclient='' + +fi + diff --git a/U/libs.U b/U/libs.U new file mode 100644 index 0000000..bbcd45c --- /dev/null +++ b/U/libs.U @@ -0,0 +1,212 @@ +?RCS: $Id: libs.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: libs.U,v $ +?RCS: Revision 3.0.1.6 1997/02/28 16:09:11 ram +?RCS: patch61: replaced .a with $_a all over the place +?RCS: +?RCS: Revision 3.0.1.5 1995/07/25 14:12:05 ram +?RCS: patch56: now knows about OS/2 platforms +?RCS: +?RCS: Revision 3.0.1.4 1994/10/29 16:24:22 ram +?RCS: patch36: removed old broken thislib/thatlib processing (ADO) +?RCS: +?RCS: Revision 3.0.1.3 1994/06/20 07:05:44 ram +?RCS: patch30: code cleanup with if/elif by ADO and RAM +?RCS: patch30: undone patch23 for libswanted default setting +?RCS: +?RCS: Revision 3.0.1.2 1994/05/06 15:08:45 ram +?RCS: patch23: now includes ordered default libswanted variable (ADO) +?RCS: patch23: major cleanup for library lookups (ADO) +?RCS: +?RCS: Revision 3.0.1.1 1993/08/25 14:02:31 ram +?RCS: patch6: added default for libs +?RCS: +?RCS: Revision 3.0 1993/08/18 12:09:03 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:libs: test cat Myread Oldconfig Loc libpth package xlibpth so _a +?MAKE: -pick add $@ %< +?S:libs: +?S: This variable holds the additional libraries we want to use. +?S: It is up to the Makefile to deal with it. +?S:. +?T:xxx thislib libswanted +?D:libs='' +?X: +?X: This order is chosen so that libraries -lndir, -ldir, -lucb, -lbsd, +?X: -lBSD, -lPW, and -lx only get used if there are unresolved +?X: routines at link time. Usually, these are backwards compatability +?X: libraries, and may not be as reliable as the standard c library. +?X: +?X: The -lsocket -linet -lnsl order has been reported to be necessary +?X: for at least one SVR4 implementation. +?X: -lc must proceed -lucb or -lbsd for most Solaris applications. +?X: -lc_s proceeds -lc so we pick up the shared library version, if +?X: it is available. +?X: +?X: The ordering of c, posix, and cposix is a guess and almost +?X: certainly wrong on about half of all systems. +?X: +?X: Set proper libswanted in your private Myinit.U if needed. +?X: +?X:: default ordered library list +?X:libswanted='net socket inet nsl nm sdbm gdbm ndbm dbm malloc dl' +?X:libswanted="$libswanted dld sun m c_s c posix cposix ndir dir ucb" +?X:libswanted="$libswanted bsd BSD PW x" +?X: +?INIT:: default library list +?INIT:libswanted='' +: Looking for optional libraries +echo " " +echo "Checking for optional libraries..." >&4 +case "$libs" in +' '|'') dflt='';; +*) dflt="$libs";; +esac +case "$libswanted" in +'') libswanted='c_s';; +esac +for thislib in $libswanted; do + +?X: +?X: Comparaisons via case statement use the string " $dflt " to ensure that +?X: each library is separated by a space. That way, by looking to something +?X: like *"-l$thislib "*, we ensure we find -lm and not -lmalloc (which was +?X: the case with the old looking pattern *-l$thislib*. +?X: + +?X: A kludge - if we find libbind, we don't want libresolv + + if $test "$thislib" = "resolv"; then + case " $dflt " in + *"-lbind "*) echo "We've already found -lbind, so we don't need -lresolv" ;; + *) + + if xxx=`./loc lib$thislib.$so.[0-9]'*' X $libpth`; $test -f "$xxx"; then + echo "Found -l$thislib (shared)." + case " $dflt " in + *"-l$thislib "*);; + *) dflt="$dflt -l$thislib";; + esac + elif xxx=`./loc lib$thislib.$so X $libpth` ; $test -f "$xxx"; then + echo "Found -l$thislib (shared)." + case " $dflt " in + *"-l$thislib "*);; + *) dflt="$dflt -l$thislib";; + esac + elif xxx=`./loc lib$thislib$_a X $libpth`; $test -f "$xxx"; then + echo "Found -l$thislib." + case " $dflt " in + *"-l$thislib "*);; + *) dflt="$dflt -l$thislib";; + esac +?X: Don't forget about OS/2 where -lmalloc is spelled out malloc.a + elif xxx=`./loc $thislib$_a X $libpth`; $test -f "$xxx"; then + echo "Found -l$thislib." + case " $dflt " in + *"-l$thislib "*);; + *) dflt="$dflt -l$thislib";; + esac + elif xxx=`./loc lib${thislib}_s$_a X $libpth`; $test -f "$xxx"; then + echo "Found -l${thislib}_s." + case " $dflt " in + *"-l$thislib "*);; + *) dflt="$dflt -l${thislib}_s";; + esac + elif xxx=`./loc Slib$thislib$_a X $xlibpth`; $test -f "$xxx"; then + echo "Found -l$thislib." + case " $dflt " in + *"-l$thislib "*);; + *) dflt="$dflt -l$thislib";; + esac + else + echo "No -l$thislib." + fi + + ;; + esac + else + + if xxx=`./loc lib$thislib.$so.[0-9]'*' X $libpth`; $test -f "$xxx"; then + echo "Found -l$thislib (shared)." + case " $dflt " in + *"-l$thislib "*);; + *) dflt="$dflt -l$thislib";; + esac + elif xxx=`./loc lib$thislib.$so X $libpth` ; $test -f "$xxx"; then + echo "Found -l$thislib (shared)." + case " $dflt " in + *"-l$thislib "*);; + *) dflt="$dflt -l$thislib";; + esac + elif xxx=`./loc lib$thislib$_a X $libpth`; $test -f "$xxx"; then + echo "Found -l$thislib." + case " $dflt " in + *"-l$thislib "*);; + *) dflt="$dflt -l$thislib";; + esac +?X: Don't forget about OS/2 where -lmalloc is spelled out malloc.a + elif xxx=`./loc $thislib$_a X $libpth`; $test -f "$xxx"; then + echo "Found -l$thislib." + case " $dflt " in + *"-l$thislib "*);; + *) dflt="$dflt -l$thislib";; + esac + elif xxx=`./loc lib${thislib}_s$_a X $libpth`; $test -f "$xxx"; then + echo "Found -l${thislib}_s." + case " $dflt " in + *"-l$thislib "*);; + *) dflt="$dflt -l${thislib}_s";; + esac + elif xxx=`./loc Slib$thislib$_a X $xlibpth`; $test -f "$xxx"; then + echo "Found -l$thislib." + case " $dflt " in + *"-l$thislib "*);; + *) dflt="$dflt -l$thislib";; + esac + else + echo "No -l$thislib." + fi + + fi +done +set X $dflt +shift +dflt="$*" +case "$libs" in +'') dflt="$dflt";; +*) dflt="$libs";; +esac +case "$dflt" in +' '|'') dflt='none';; +esac + +$cat < test_ssl.c < +#include +#include +int main(int argc, char **argv) { + printf("Your openssl is version %lx\n",OPENSSL_VERSION_NUMBER); + exit(OPENSSL_VERSION_NUMBER < 0x00906000L); +} +EOM + + if $cc $ccflags $ldflags -o test_ssl test_ssl.c $libs $libssl >/dev/null 2>&1 ; + then + echo 'You have openssl...' >&4 + version=`./test_ssl` + if $test $? -eq 0; then + echo '...and at least version 0.9.6. Great.' >&4 + d_openssl="$define" + else + echo '...but not version 0.9.6 or later.' >&4 + libssl='' + fi + else + echo "You don't seem to have openssl." >&4 + libssl='' + fi + $rm -f test_ssl* core + +else + + echo "Skipping openssl tests." >&4 + libssl='' + +fi + diff --git a/U/mailer.U b/U/mailer.U new file mode 100644 index 0000000..f55285b --- /dev/null +++ b/U/mailer.U @@ -0,0 +1,65 @@ +?RCS: $Id: mailer.U 1.1 Thu, 20 Jul 2000 17:42:54 -0500 dunemush $ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: mailer.U,v $ +?RCS: Revision 3.0.1.3 1995/01/11 15:32:11 ram +?RCS: patch45: can now use Loc variables since path stripping is deferred +?RCS: +?RCS: Revision 3.0.1.2 1994/05/06 15:10:04 ram +?RCS: patch23: ensure full path value is used for rmail also +?RCS: +?RCS: Revision 3.0.1.1 1994/01/24 14:14:18 ram +?RCS: patch16: now use _sendmail vars and friends for portability issues +?RCS: +?RCS: Revision 3.0 1993/08/18 12:09:10 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:mailer: test cat rmail mail smail sendmail Getfile Oldconfig package +?MAKE: -pick add $@ %< +?S:mailer: +?S: This variable contains the full pathname of a reasonable mailer. +?S: By reasonable, we mean some program which can understand internet +?S: addresses or at least forward them to some internet router. This +?S: mailer should be invoked as "mailer [options] recipients /etc/passwd (WED) +?RCS: +?RCS: Revision 3.0.1.1 1993/09/13 16:10:09 ram +?RCS: patch10: made questions more explicit for 'Configure -s' prompting (WAD) +?RCS: +?RCS: Revision 3.0 1993/08/18 12:09:20 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:nametype d_passnames d_berknames d_usgnames: Myread Guess Oldconfig cat test osname +?MAKE: -pick add $@ %< +?S:nametype: +?S: This variable indicates how full names are stored on this system. +?S: Values are bsd, usg, and other. +?S:. +?S:d_passnames: +?S: This variable conditionally defines the PASSNAMES symbol, +?S: which indicates to the C program that full names are stored in +?S: the /etc/passwd file. +?S:. +?S:d_berknames: +?S: This variable conditionally defines the PASSNAMES symbol, +?S: which indicates to the C program that full names are stored in +?S: the /etc/passwd file in Berkeley format. +?S:. +?S:d_usgnames: +?S: This variable conditionally defines the PASSNAMES symbol, +?S: which indicates to the C program that full names are stored in +?S: the /etc/passwd file in USG format. +?S:. +?C:PASSNAMES: +?C: This symbol, if defined, indicates that full names are stored in +?C: the /etc/passwd file. +?C:. +?C:BERKNAMES: +?C: This symbol, if defined, indicates that full names are stored in +?C: the /etc/passwd file in Berkeley format (name first thing, everything +?C: up to first comma, with & replaced by capitalized login id, yuck). +?C:. +?C:USGNAMES: +?C: This symbol, if defined, indicates that full names are stored in +?C: the /etc/passwd file in USG format (everything after - and before ( is +?C: the name). +?C:. +?H:#$d_passnames PASSNAMES /* (undef to take name from ~/.fullname) */ +?H:#$d_berknames BERKNAMES /* (that is, ":name,stuff:") */ +?H:#$d_usgnames USGNAMES /* (that is, ":stuff-name(stuff):") */ +?H:. +: find out how to find out full name +case "$d_berknames" in +"$define") + dflt=y;; +"$undef") + dflt=n;; +*) + if ./bsd; then + dflt=y + elif ./xenix; then + dflt=y + elif $test "x$osname" = "xlinux"; then + dflt=y + else + dflt=n + fi + ;; +esac +$cat <<'EOM' + +Does your /etc/passwd file keep full names in Berkeley/V7 format (name first +thing after ':' in GCOS field)? In that case, a typical entry in the password +file looks like this: + + guest:**paswword**:10:100:Mister Guest User:/usr/users:/bin/sh + ^^^^^^^^^^^^^^^^^ +EOM +rp="Berkeley/V7 format for full name in /etc/passwd?" +. ./myread +case "$ans" in +y*) d_passnames="$define" + d_berknames="$define" + d_usgnames="$undef" + nametype=bsd + ;; +*) + case "$d_usgnames" in + "$define") dflt=y;; + "$undef") dflt=n;; + *) + if ./usg; then + dflt=y + else + dflt=n + fi + ;; + esac +$cat <<'EOM' + +Does your passwd file keep full names in USG format (name sandwiched between a +'-' and a '(')? In that case, a typical entry in the password file looks like +this: + + guest:**paswword**:10:100:000-Mister Guest User(000):/usr/users:/bin/sh + ^^^^^^^^^^^^^^^^^ +EOM + rp="USG format for full name in /etc/passwd?" + . ./myread + case "$ans" in + n*) echo "Full name will be taken from ~/.fullname" + d_passnames="$undef" + d_berknames="$undef" + d_usgnames="$undef" + nametype=other + ;; + *) + d_passnames="$define" + d_berknames="$undef" + d_usgnames="$define" + nametype=usg + ;; + esac;; +esac + diff --git a/U/sockopt.U b/U/sockopt.U new file mode 100644 index 0000000..683987c --- /dev/null +++ b/U/sockopt.U @@ -0,0 +1,120 @@ +?RCS: $Id$ +?RCS: +?RCS: Copyright (c) 1991-1993, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic Licence, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic Licence; a copy of which may be found at the root +?RCS: of the source tree for dist 3.0. +?RCS: +?RCS: $Log: sockopt.U,v $ +?RCS: Revision 3.0.1.1 1995/07/25 14:16:14 ram +?RCS: patch56: obsoleted KEEPALIVE in favor of CAN_KEEPALIVE for consistency +?RCS: +?RCS: Revision 3.0 1993/08/18 12:09:48 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:d_keepalive d_keepidle: cat rm contains +cc +ccflags socketlib sockethdr \ + d_oldsock libs Oldconfig Setvar Findhdr i_nitcp +?MAKE: -pick add $@ %< +?S:d_keepalive: +?S: This symbol conditionally defines CAN_KEEPALIVE which indicates to the C +?S: program that setsockopt SO_KEEPALIVE will work properly. +?S:. +?S:d_keepidle: +?S: This symbol conditionally defines CAN_KEEPIDLE which indicates to the C +?S: program that setsockopt TCP_KEEPIDLE will work properly. +?S:. +?C:CAN_KEEPALIVE: +?C: This symbol if defined indicates to the C program that the SO_KEEPALIVE +?C: option of setsockopt() will work as advertised in the manual. +?C:. +?C:CAN_KEEPIDLE: +?C: This symbol if defined indicates to the C program that the TCP_KEEPIDLE +?C: option of setsockopt() will work as advertised in the manual. +?C:. +?H:#$d_keepalive CAN_KEEPALIVE /**/ +?H:. +?H:#$d_keepidle CAN_KEEPIDLE /**/ +?H:. +?LINT:set d_keepalive d_keepidle +: see if setsockopt with SO_KEEPALIVE works as advertised +echo " " +case "$d_oldsock" in +"$undef") + echo "OK, let's see if SO_KEEPALIVE works as advertised..." >&4 + $cat > socket.c < +#include +#include +#$i_nitcp I_NETINET_TCP +#ifdef I_NETINET_TCP +#include +#endif +#include + +main() +{ + int s = socket(AF_INET, SOCK_STREAM, 0); + int val = 1; + if (s == -1) + exit(1); + if (-1 == setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, &val, sizeof(val))) + exit(2); +#ifdef I_NETINET_TCP +#ifdef TCP_KEEPIDLE + val = 1; + if (-1 == setsockopt(s, IPPROTO_TCP, TCP_KEEPIDLE, &val, sizeof(val))) + exit(3); +#else + exit(3); +#endif +#endif + exit(0); +} +EOP + if $cc $ccflags $sockethdr socket.c -o socket $libs \ + $socketlib >/dev/null 2>&1; then + ./socket >/dev/null 2>&1 + case $? in + 0) echo "Yes, it does!" + val="$define" + val2="$i_nitcp" + ;; + 1) $cat </dev/null` + if $test $dflt -gt 20; then + dflt=y + else + dflt=n + fi + ;; + esac + ;; +*) + case "$usenm" in + true) dflt=y;; + *) dflt=n;; + esac + ;; +esac +$cat < /dev/null 2>&1; then + nm_so_opt='--dynamic' + fi + ;; + esac + ;; +esac + diff --git a/config_h.SH b/config_h.SH deleted file mode 100644 index 203a07a..0000000 --- a/config_h.SH +++ /dev/null @@ -1,870 +0,0 @@ -case $CONFIG in -'') - if test -f config.sh; then TOP=.; - elif test -f ../config.sh; then TOP=..; - elif test -f ../../config.sh; then TOP=../..; - elif test -f ../../../config.sh; then TOP=../../..; - elif test -f ../../../../config.sh; then TOP=../../../..; - else - echo "Can't find config.sh."; exit 1 - fi - . $TOP/config.sh - ;; -esac -case "$0" in -*/*) cd `expr X$0 : 'X\(.*\)/'` ;; -esac -echo "Extracting config.h (with variable substitutions)" -sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-def!#undef!' -/* - * This file was produced by running the config_h.SH script, which - * gets its values from config.sh, which is generally produced by - * running Configure. - * - * Feel free to modify any of this as the need arises. Note, however, - * that running config_h.SH again will wipe out any changes you've made. - * For a more permanent change edit config.sh and rerun config_h.SH. - * - * \$Id: Config_h.U,v 3.0.1.5 1997/02/28 14:57:43 ram Exp $ - */ - -/* - * Package name : $package - * Source directory : $src - * Configuration time: $cf_time - * Configured by : $cf_by - * Target system : $myuname - */ - -#ifndef _config_h_ -#define _config_h_ - -/* getdtablesize: - * This catches use of the getdtablesize() subroutine, and remaps it - * to either ulimit(4,0) or NOFILE, if getdtablesize() isn't available. - */ -#$d_gettblsz getdtablesize() $tablesize /**/ - -/* HAS_BCOPY: - * This symbol is defined if the bcopy() routine is available to - * copy blocks of memory. - */ -#$d_bcopy HAS_BCOPY /**/ - -/* HAS_BZERO: - * This symbol is defined if the bzero() routine is available to - * set a memory block to 0. - */ -#$d_bzero HAS_BZERO /**/ - -/* HASCONST: - * This symbol, if defined, indicates that this C compiler knows about - * the const type. There is no need to actually test for that symbol - * within your programs. The mere use of the "const" keyword will - * trigger the necessary tests. - */ -#$d_const HASCONST /**/ -#ifndef HASCONST -#define const -#endif - -/* HAS_GETPRIORITY: - * This symbol, if defined, indicates that the getpriority routine is - * available to get a process's priority. - */ -#$d_getprior HAS_GETPRIORITY /**/ - -/* INTERNET: - * This symbol, if defined, indicates that there is a mailer available - * which supports internet-style addresses (user@site.domain). - */ -#$d_internet INTERNET /**/ - -/* HAS_ITIMER: - * This symbol, if defined, indicates that the setitimer() routine exists. - */ -#$d_itimer HAS_ITIMER /**/ - -/* HAS_MEMSET: - * This symbol, if defined, indicates that the memset routine is available - * to set blocks of memory. - */ -#$d_memset HAS_MEMSET /**/ - -/* HAS_RENAME: - * This symbol, if defined, indicates that the rename routine is available - * to rename files. Otherwise you should do the unlink(), link(), unlink() - * trick. - */ -#$d_rename HAS_RENAME /**/ - -/* HAS_GETRUSAGE: - * This symbol, if defined, indicates that the getrusage() routine is - * available to get process statistics with a sub-second accuracy. - * Inclusion of and may be necessary. - */ -#$d_rusage HAS_GETRUSAGE /**/ - -/* HAS_SELECT: - * This symbol, if defined, indicates that the select routine is - * available to select active file descriptors. If the timeout field - * is used, may need to be included. - */ -#$d_select HAS_SELECT /**/ - -/* HAS_SETLOCALE: - * This symbol, if defined, indicates that the setlocale routine is - * available to handle locale-specific ctype implementations. - */ -#$d_setlocale HAS_SETLOCALE /**/ - -/* HAS_SETPGID: - * This symbol, if defined, indicates that the setpgid(pid, gpid) - * routine is available to set process group ID. - */ -#$d_setpgid HAS_SETPGID /**/ - -/* HAS_SETPGRP: - * This symbol, if defined, indicates that the setpgrp routine is - * available to set the current process group. - */ -/* USE_BSD_SETPGRP: - * This symbol, if defined, indicates that setpgrp needs two - * arguments whereas USG one needs none. See also HAS_SETPGID - * for a POSIX interface. - */ -#$d_setpgrp HAS_SETPGRP /**/ -#$d_bsdsetpgrp USE_BSD_SETPGRP /**/ - -/* HAS_SETPRIORITY: - * This symbol, if defined, indicates that the setpriority routine is - * available to set a process's priority. - */ -#$d_setprior HAS_SETPRIORITY /**/ - -/* HAS_SIGACTION: - * This symbol, if defined, indicates that Vr4's sigaction() routine - * is available. - */ -#$d_sigaction HAS_SIGACTION /**/ - -/* HAS_SOCKET: - * This symbol, if defined, indicates that the BSD socket interface is - * supported. - */ -/* HAS_SOCKETPAIR: - * This symbol, if defined, indicates that the BSD socketpair() call is - * supported. - */ -#$d_socket HAS_SOCKET /**/ -#$d_sockpair HAS_SOCKETPAIR /**/ - -/* HAS_STRCASECMP: - * This symbol, if defined, indicates that the strcasecmp() routine is - * available for case-insensitive string compares. - */ -#$d_strccmp HAS_STRCASECMP /**/ - -/* HAS_STRDUP: - * This symbol, if defined, indicates that the strdup routine is - * available to duplicate strings in memory. Otherwise, roll up - * your own... - */ -#$d_strdup HAS_STRDUP /**/ - -/* HAS_SYSCONF: - * This symbol, if defined, indicates that sysconf() is available - * to determine system related limits and options. - */ -#$d_sysconf HAS_SYSCONF /**/ - -/* VOIDSIG: - * This symbol is defined if this system declares "void (*signal(...))()" in - * signal.h. The old way was to declare it as "int (*signal(...))()". It - * is up to the package author to declare things correctly based on the - * symbol. - */ -/* Signal_t: - * This symbol's value is either "void" or "int", corresponding to the - * appropriate return type of a signal handler. Thus, you can declare - * a signal handler using "Signal_t (*handler)()", and define the - * handler using "Signal_t handler(sig)". - */ -#$d_voidsig VOIDSIG /**/ -#define Signal_t $signal_t /* Signal handler's return type */ - -/* HASVOLATILE: - * This symbol, if defined, indicates that this C compiler knows about - * the volatile declaration. - */ -#$d_volatile HASVOLATILE /**/ -#ifndef HASVOLATILE -#define volatile -#endif - -/* HAS_WAITPID: - * This symbol, if defined, indicates that the waitpid routine is - * available to wait for child process. - */ -#$d_waitpid HAS_WAITPID /**/ - -/* I_ARPA_INET: - * This symbol, if defined, indicates to the C program that it should - * include to get inet_addr and friends declarations. - */ -#$i_arpainet I_ARPA_INET /**/ - -/* I_FCNTL: - * This manifest constant tells the C program to include . - */ -#$i_fcntl I_FCNTL /**/ - -/* I_LIMITS: - * This symbol, if defined, indicates to the C program that it should - * include to get definition of symbols like WORD_BIT or - * LONG_MAX, i.e. machine dependant limitations. - */ -#$i_limits I_LIMITS /**/ - -/* I_LOCALE: - * This symbol, if defined, indicates to the C program that it should - * include . - */ -#$i_locale I_LOCALE /**/ - -/* I_MALLOC: - * This symbol, if defined, indicates to the C program that it should - * include . - */ -#$i_malloc I_MALLOC /**/ - -/* I_NETINET_IN: - * This symbol, if defined, indicates to the C program that it should - * include . Otherwise, you may try . - */ -/* I_SYS_IN: - * This symbol, if defined, indicates to the C program that it should - * include instead of . - */ -#$i_niin I_NETINET_IN /**/ -#$i_sysin I_SYS_IN /**/ - -/* I_STDDEF: - * This symbol, if defined, indicates that exists and should - * be included. - */ -#$i_stddef I_STDDEF /**/ - -/* I_STDLIB: - * This symbol, if defined, indicates that exists and should - * be included. - */ -#$i_stdlib I_STDLIB /**/ - -/* I_STRING: - * This symbol, if defined, indicates to the C program that it should - * include (USG systems) instead of (BSD systems). - */ -#$i_string I_STRING /**/ - -/* I_SYS_FILE: - * This symbol, if defined, indicates to the C program that it should - * include to get definition of R_OK and friends. - */ -#$i_sysfile I_SYS_FILE /**/ - -/* I_SYS_MMAN: - * This symbol, if defined, indicates to the C program that it should - * include . - */ -#$i_sysmman I_SYS_MMAN /**/ - -/* I_SYS_PARAM: - * This symbol, if defined, indicates to the C program that it should - * include . - */ -#$i_sysparam I_SYS_PARAM /**/ - -/* I_SYS_RESOURCE: - * This symbol, if defined, indicates to the C program that it should - * include . - */ -#$i_sysresrc I_SYS_RESOURCE /**/ - -/* I_SYS_SELECT: - * This symbol, if defined, indicates to the C program that it should - * include in order to get definition of struct timeval. - */ -#$i_sysselct I_SYS_SELECT /**/ - -/* I_SYS_SOCKET: - * This symbol, if defined, indicates to the C program that it should - * include before performing socket calls. - */ -#$i_syssock I_SYS_SOCKET /**/ - -/* I_SYS_STAT: - * This symbol, if defined, indicates to the C program that it should - * include . - */ -#$i_sysstat I_SYS_STAT /**/ - -/* I_SYS_TYPES: - * This symbol, if defined, indicates to the C program that it should - * include . - */ -#$i_systypes I_SYS_TYPES /**/ - -/* I_SYS_WAIT: - * This symbol, if defined, indicates to the C program that it should - * include . - */ -#$i_syswait I_SYS_WAIT /**/ - -/* I_TIME: - * This symbol, if defined, indicates to the C program that it should - * include . - */ -/* I_SYS_TIME: - * This symbol, if defined, indicates to the C program that it should - * include . - */ -#$i_time I_TIME /**/ -#$i_systime I_SYS_TIME /**/ - -/* I_UNISTD: - * This symbol, if defined, indicates to the C program that it should - * include . - */ -#$i_unistd I_UNISTD /**/ - -/* I_VALUES: - * This symbol, if defined, indicates to the C program that it should - * include to get definition of symbols like MINFLOAT or - * MAXLONG, i.e. machine dependant limitations. Probably, you - * should use instead, if it is available. - */ -#$i_values I_VALUES /**/ - -/* Free_t: - * This variable contains the return type of free(). It is usually - * void, but occasionally int. - */ -/* Malloc_t: - * This symbol is the type of pointer returned by malloc and realloc. - */ -#define Malloc_t $malloctype /**/ -#define Free_t $freetype /**/ - -/* MYHOSTNAME: - * This symbol contains name of the host the program is going to run on. - * The domain is not kept with hostname, but must be gotten from MYDOMAIN. - * The dot comes with MYDOMAIN, and need not be supplied by the program. - * If gethostname() or uname() exist, MYHOSTNAME may be ignored. If MYDOMAIN - * is not used, MYHOSTNAME will hold the name derived from PHOSTNAME. - */ -#define MYHOSTNAME "$myhostname" /**/ - -/* Pid_t: - * This symbol holds the type used to declare process ids in the kernel. - * It can be int, uint, pid_t, etc... It may be necessary to include - * to get any typedef'ed information. - */ -#define Pid_t $pidtype /* PID type */ - -/* CAN_PROTOTYPE: - * If defined, this macro indicates that the C compiler can handle - * function prototypes. - */ -/* _: - * This macro is used to declare function parameters for folks who want - * to make declarations with prototypes using a different style than - * the above macros. Use double parentheses. For example: - * - * int main _((int argc, char *argv[])); - */ -#$prototype CAN_PROTOTYPE /**/ -#ifdef CAN_PROTOTYPE -#define _(args) args -#else -#define _(args) () -#endif - -/* Size_t: - * This symbol holds the type used to declare length parameters - * for string functions. It is usually size_t, but may be - * unsigned long, int, etc. It may be necessary to include - * to get any typedef'ed information. - */ -#define Size_t $sizetype /* length paramater for string functions */ - -/* VOIDFLAGS: - * This symbol indicates how much support of the void type is given by this - * compiler. What various bits mean: - * - * 1 = supports declaration of void - * 2 = supports arrays of pointers to functions returning void - * 4 = supports comparisons between pointers to void functions and - * addresses of void functions - * 8 = suports declaration of generic void pointers - * - * The package designer should define VOIDUSED to indicate the requirements - * of the package. This can be done either by #defining VOIDUSED before - * including config.h, or by defining defvoidused in Myinit.U. If the - * latter approach is taken, only those flags will be tested. If the - * level of void support necessary is not present, defines void to int. - */ -#ifndef VOIDUSED -#define VOIDUSED $defvoidused -#endif -#define VOIDFLAGS $voidflags -#if (VOIDFLAGS & VOIDUSED) != VOIDUSED -#define void int /* is void to be avoided? */ -#define M_VOID /* Xenix strikes again */ -#endif - -/* WIN32_CDECL: - * Defined as __cdecl if the compiler can handle that keyword to specify - * C-style argument passing conventions. This allows MS VC++ - * on Win32 to use the __fastcall convention for everything else - * and get a performance boost. Any compiler with a brain (read: - * not MS VC) handles this optimization automatically without such a - * kludge. On these systems, this is defined as nothing. - */ -#define WIN32_CDECL $cdecl - -/* CAN_TAKE_ARGS_IN_FP: - * Defined if the compiler prefers that function pointer parameters - * in prototypes include the function's arguments, rather than - * nothing (that is, int (*fun)(int) rather than int(*fun)(). - */ -#$d_argsinfp CAN_TAKE_ARGS_IN_FP /**/ - -/* HAS_ASSERT: - * If defined, this system has the assert() macro. - */ -#$d_assert HAS_ASSERT /**/ - -/* HASATTRIBUTE: - * This symbol indicates the C compiler can check for function attributes, - * such as printf formats. This is normally only supported by GNU cc. - */ -#$d_attribut HASATTRIBUTE /**/ -#ifndef HASATTRIBUTE -#define __attribute__(_arg_) -#endif - -/* HAS_BINDTEXTDOMAIN: - * Defined if bindtextdomain is available(). - */ -#$d_bindtextdomain HAS_BINDTEXTDOMAIN /**/ - -/* HAS_CRYPT: - * This symbol, if defined, indicates that the crypt routine is available - * to encrypt passwords and the like. - */ -/* I_CRYPT: - * This symbol, if defined, indicates that can be included. - */ -#$d_crypt HAS_CRYPT /**/ - -#$i_crypt I_CRYPT /**/ - -/* FORCE_IPV4: - * If defined, this system will not use IPv6. Necessary for Openbsd. - */ -#$d_force_ipv4 FORCE_IPV4 /**/ - -/* HAS_FPSETROUND: - * This symbol, if defined, indicates that the crypt routine is available - * to encrypt passwords and the like. - */ -/* I_FLOATINGPOINT: - * This symbol, if defined, indicates that can be included. - */ -#$d_fpsetround HAS_FPSETROUND /**/ - -#$d_fpsetmask HAS_FPSETMASK /**/ - -#$i_floatingpoint I_FLOATINGPOINT /**/ - -/* HAS_GAI_STRERROR: - * This symbol, if defined, indicates that getaddrinfo()'s error cores - * can be converted to strings for printing. - */ -#$d_gaistr HAS_GAI_STRERROR /**/ - -/* HAS_GETADDRINFO: - * This symbol, if defined, indicates that the getaddrinfo() routine is - * available to lookup internet addresses in some data base or other. - */ -#$d_getadinf HAS_GETADDRINFO /**/ - -/* HAS_GETDATE: - * This symbol, if defined, indicates that the getdate() routine is - * available to convert date strings into struct tm's. - */ -#$d_getdate HAS_GETDATE /**/ - -/* HAS_GETHOSTBYNAME2: - * This symbol, if defined, indicates that the gethostbyname2() - * function is available to resolve hostnames. - */ -#$d_gethbynm2 HAS_GETHOSTBYNAME2 /**/ - -/* HAS_GETNAMEINFO: - * This symbol, if defined, indicates that the getnameinfo() routine is - * available to lookup host names in some data base or other. - */ -#$d_getnminf HAS_GETNAMEINFO /**/ - -/* HAS_GETPAGESIZE: - * This symbol, if defined, indicates that the getpagesize system call - * is available to get system page size, which is the granularity of - * many memory management calls. - */ -/* PAGESIZE_VALUE: - * This symbol holds the size in bytes of a system page (obtained via - * the getpagesize() system call at configuration time or asked to the - * user if the system call is not available). - */ -#$d_getpagsz HAS_GETPAGESIZE /**/ -#define PAGESIZE_VALUE $pagesize /* System page size, in bytes */ - -/* HAS_GETTEXT: - * Defined if gettext is available(). - */ -#$d_gettext HAS_GETTEXT /**/ - -/* HAS_HUGE_VAL: - * If defined, this system has the HUGE_VAL constant. We like this, - * and don't bother defining the other floats below if we find it. - */ -/* HAS_HUGE: - * If defined, this system has the HUGE constant. We like this, and - * don't bother defining the other floats below if we find it. - */ -/* HAS_INT_MAX: - * If defined, this system has the INT_MAX constant. - */ -/* HAS_MAXINT: - * If defined, this system has the MAXINT constant. - */ -/* HAS_MAXDOUBLE: - * If defined, this system has the MAXDOUBLE constant. - */ -#$d_huge_val HAS_HUGE_VAL /**/ - -#$d_huge HAS_HUGE /**/ - -#$d_int_max HAS_INT_MAX /**/ - -#$d_maxint HAS_MAXINT /**/ - -#$d_maxdouble HAS_MAXDOUBLE /**/ - -/* HAS_IEEE_MATH: - * Defined if the machine supports IEEE math - that is, can safely - * return NaN or Inf rather than crash on bad math. - */ -#$d_ieee HAS_IEEE_MATH /**/ - -/* HAS_INET_PTON: - * This symbol, if defined, indicates that the inet_pton() and - * inet_ntop() routines are available to convert IP addresses.. - */ -#$d_in2p HAS_INET_PTON /**/ - -/* HAS_IPV6: - * If defined, this system has the sockaddr_in6 struct and AF_INET6. - * We can't rely on just AF_INET6 being defined. - */ -#$d_ipv6 HAS_IPV6 /**/ - -/* SIGNALS_KEPT: - * This symbol is defined if signal handlers needn't be reinstated after - * receipt of a signal. - */ -#$d_keepsig SIGNALS_KEPT /**/ - -/* HAS_MEMCPY: - * This symbol, if defined, indicates that the memcpy routine is available - * to copy blocks of memory. If not, it will be mapped to bcopy - * in confmagic.h - */ -/* HAS_MEMMOVE: - * This symbol, if defined, indicates that the memmove routine is available - * to copy blocks of memory. If not, it will be mapped to bcopy - */ -#$d_memcpy HAS_MEMCPY /**/ - -#$d_memmove HAS_MEMMOVE /**/ - -/* CAN_NEWSTYLE: - * Defined if new-style function definitions are allowable. - * If they are, we can avoid some warnings that you get if - * you declare char arguments in a prototype and use old-style - * function definitions, which implicitly promote them to ints. - */ -#$d_newstyle CAN_NEWSTYLE /**/ - -/* HAS_RANDOM: - * Have we got random(), our first choice for number generation? - */ -/* HAS_LRAND48: - * Have we got lrand48(), our second choice? - */ -/* HAS_RAND: - * Have we got rand(), our last choice? - */ -#$d_random HAS_RANDOM /**/ -#$d_lrand48 HAS_LRAND48 /**/ -#$d_rand HAS_RAND /**/ - -/* HAS_GETRLIMIT: - * This symbol, if defined, indicates that the getrlimit() routine is - * available to get resource limits. Probably means setrlimit too. - * Inclusion of and may be necessary. - */ -#$d_rlimit HAS_GETRLIMIT /**/ - -/* SENDMAIL: - * This symbol contains the full pathname to sendmail. - */ -/* HAS_SENDMAIL: - * If defined, we have sendmail. - */ -#$d_sendmail HAS_SENDMAIL /**/ -#define SENDMAIL "$sendmail" - -/* HAS_SIGCHLD: - * If defined, this system has the SIGCHLD constant. - */ -/* HAS_SIGCLD: - * If defined, this system has the SIGCLD constant (SysVish SIGCHLD). - */ -#$d_sigchld HAS_SIGCHLD /**/ - -#$d_sigcld HAS_SIGCLD /**/ - -/* CAN_PROTOTYPE_SIGNAL: - * This symbol is defined if we can safely prototype our rewritten - * signal() function as: - * Signal_t(*Sigfunc) _((int)); - * extern Sigfunc signal _((int signo, Sigfunc func)); - */ -#$d_signalproto CAN_PROTOTYPE_SIGNAL /**/ - -/* HAS_SIGPROCMASK: - * This symbol, if defined, indicates that POSIX's sigprocmask() routine - * is available. - */ -#$d_sigprocmask HAS_SIGPROCMASK /**/ - -/* HAS_SNPRINTF: - * This symbol, if defined, indicates that the snprintf routine is - * available. If not, we use sprintf, which is less safe. - */ -#$d_snprintf HAS_SNPRINTF /**/ - -/* HAS_SOCKLEN_T: - * If defined, this system has the socklen_t type. - */ -#$d_socklen HAS_SOCKLEN_T /**/ - -/* HAS_STRCHR: - * This symbol is defined to indicate that the strchr()/strrchr() - * functions are available for string searching. If not, try the - * index()/rindex() pair. - */ -/* HAS_INDEX: - * This symbol is defined to indicate that the index()/rindex() - * functions are available for string searching. - */ -#$d_strchr HAS_STRCHR /**/ -#$d_index HAS_INDEX /**/ - -/* HAS_STRCOLL: - * This symbol, if defined, indicates that the strcoll routine is - * available to compare strings using collating information. - */ -#$d_strcoll HAS_STRCOLL /**/ - -/* HAS_STRXFRM: - * This symbol, if defined, indicates that the strxfrm routine is - * available to transform strings using collating information. - */ -#$d_strxfrm HAS_STRXFRM /**/ - -/* HAS_TCL: - * This symbol, if defined, indicates that the tcl library is available - */ -/* I_TCL: - * This symbol, if defined, indicates that can be included. - */ -/* HAS_TCL: - * This symbol, if defined, means we have the tcl library - */ -#$d_tcl HAS_TCL /**/ - -/* I_TCL: - * This symbol, if defined, means we have the include file - */ -#$i_tcl I_TCL /**/ - -/* HAS_TEXTDOMAIN: - * Defined if textdomain is available(). - */ -#$d_textdomain HAS_TEXTDOMAIN /**/ - -/* HAS_TIMELOCAL: - * This symbol, if defined, indicates that the timelocal() routine is - * available. - */ -#$d_timelocal HAS_TIMELOCAL /**/ - -/* HAS_SAFE_TOUPPER: - * Defined if toupper() can operate safely on any ascii character. - * Some systems only allow toupper() on lower-case ascii chars. - */ -#$d_toupper HAS_SAFE_TOUPPER /**/ - -/* HAS_UINT32_T: - * If defined, this system has the uint32_t type. - */ -#$d_uint32_t HAS_UINT32_T /**/ - -/* UPTIME_PATH: - * This symbol gives the full path to the uptime(1) program if - * it exists on the system. If not, this symbol is undefined. - */ -/* HAS_UPTIME: - * This symbol is defined if uptime(1) is available. - */ -#$d_uptime HAS_UPTIME /**/ -#define UPTIME_PATH "$uptime" - -/* HAS_DEV_URANDOM: - * This symbol is defined if /dev/urandom is available. - */ -#$d_urandom HAS_DEV_URANDOM /**/ - -/* UNION_WAIT: - * This symbol if defined indicates to the C program that the argument - * for the wait() system call should be declared as 'union wait status' - * instead of 'int status'. You probably need to include - * in the former case (see I_SYSWAIT). - */ -#$d_uwait UNION_WAIT /**/ - -/* HAS_VSNPRINTF: - * This symbol, if defined, indicates that the vsnprintf routine is - * available to printf with a pointer to an argument list. If not, you - * may need to write your own, probably in terms of _doprnt(). - */ -#$d_vsnprintf HAS_VSNPRINTF /**/ - -/* I_ARPA_NAMESER: - * This symbol, if defined, indicates to the C program that it should - * include to get nameser_addr and friends declarations. - */ -#$i_arpanameser I_ARPA_NAMESER /**/ - -/* I_ERRNO: - * This symbol, if defined, indicates to the C program that it can - * include . - */ -/* I_SYS_ERRNO: - * This symbol, if defined, indicates to the C program that it can - * include . - */ -#$i_errno I_ERRNO /**/ - -#$i_syserrno I_SYS_ERRNO /**/ - -/* I_LIBINTL: - * This symbol, if defined, indicates to the C program that it can - * include . - */ -#$i_libintl I_LIBINTL /**/ - -/* I_MEMORY: - * This symbol, if defined, indicates to the C program that it should - * include . - */ -#$i_memory I_MEMORY /**/ - -/* I_NETDB: - * This symbol, if defined, indicates to the C program that it can - * include . - */ -#$i_netdb I_NETDB /**/ - -/* I_NETINET_TCP: - * This symbol, if defined, indicates to the C program that it should - * include . - */ -#$i_nitcp I_NETINET_TCP /**/ - -/* I_SETJMP: - * This symbol, if defined, indicates to the C program that it can - * include and have things work right. - */ -#$i_setjmp I_SETJMP /**/ - -/* I_STDINT: - * This symbol, if defined, indicates that the program should include - * . - */ -#$i_stdint I_STDINT /**/ - -/* USE_TIOCNOTTY: - * This symbol, if defined indicate to the C program that the ioctl() - * call with TIOCNOTTY should be used to void tty association. - * Otherwise (on USG probably), it is enough to close the standard file - * decriptors and do a setpgrp(). - */ -#$d_voidtty USE_TIOCNOTTY /**/ - -/* I_SYS_PAGE: - * This symbol, if defined, indicates to the C program that it should - * include . - */ -#$i_syspage I_SYS_PAGE /**/ - -/* I_SYS_VLIMIT: - * This symbol, if defined, indicates to the C program that it should - * include . - */ -#$i_sysvlimit I_SYS_VLIMIT /**/ - -/* I_STDARG: - * This symbol, if defined, indicates that exists and should - * be included. - */ -#$i_stdarg I_STDARG /**/ - -/* HAS_MYSQL: - * Defined if mysql client libraries are available. - */ -#$d_mysql HAS_MYSQL /**/ - -/* HAS_OPENSSL: - * Defined if openssl 0.9.6+ is available. - */ -#$d_openssl HAS_OPENSSL /**/ - -/* CAN_KEEPALIVE: - * This symbol if defined indicates to the C program that the SO_KEEPALIVE - * option of setsockopt() will work as advertised in the manual. - */ -/* CAN_KEEPIDLE: - * This symbol if defined indicates to the C program that the TCP_KEEPIDLE - * option of setsockopt() will work as advertised in the manual. - */ -#$d_keepalive CAN_KEEPALIVE /**/ - -#$d_keepidle CAN_KEEPIDLE /**/ - -#endif -!GROK!THIS! diff --git a/game/txt/evt/index.evt b/game/txt/evt/index.evt deleted file mode 100644 index f98f7b7..0000000 --- a/game/txt/evt/index.evt +++ /dev/null @@ -1,7 +0,0 @@ - -& Entries --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - -& &Entries --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- diff --git a/game/txt/hlp/index.hlp b/game/txt/hlp/index.hlp deleted file mode 100644 index 4a1928b..0000000 --- a/game/txt/hlp/index.hlp +++ /dev/null @@ -1,640 +0,0 @@ - -& Entries --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - ^ ; : - " ] @@ - @@() \ % - %~ %: %! - %# + 1.50p6 - 1.50p7 1.50p8 1.50p9 - 1.50p10 1.50p11 1.50p12 - 1.50p13 1.50p14 1.50pdune1 - 1.50pdune2 1.6.0p0 1.6.0p3 - 1.6.0p4 1.6.0p5 1.6.1p0 - 1.6.1p1 1.6.10p0 1.6.10p1 - 1.6.10p2 1.6.10p3 1.6.10p4 - 1.6.10p5 1.6.10p6 1.6.2p0 - 1.6.2p1 1.6.3p0 1.6.3p1 - 1.6.3p2 1.6.3p3 1.6.3p4 - 1.6.3p5 1.6.3p6 1.6.3p7 - -For more, see Entries-2 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-2 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - 1.6.4p0 1.6.4p1 1.6.4p2 - 1.6.5p0 1.6.5p1 1.6.5p2 - 1.6.5p3 1.6.5p4 1.6.6p0 - 1.6.7p0 1.6.7p1 1.6.7p2 - 1.6.7p3 1.6.7p4 1.6.7p5 - 1.6.7p6 1.6.8p0 1.6.8p1 - 1.6.9p0 1.6.9p1 1.6.9p2 - 1.6.9p3 1.6.9p4 1.6.9p5 - 1.6.9p6 1.6.9p7 1.6.9p8 - 1.6.9p9 1.7.0p0 1.7.0p1 - 1.7.0p2 1.7.0p3 1.7.0p4 - 1.7.0p5 1.7.0p6 1.7.0p7 - 1.7.0p8 1.7.0p9 1.7.0p10 - 1.7.0p11 1.7.1p0 1.7.1p1 - 1.7.1p2 1.7.1p3 1.7.2p0 - 1.7.2p1 1.7.2p2 1.7.2p3 - -For more, see Entries-3 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-3 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - 1.7.2p4 1.7.2p5 1.7.2p6 - 1.7.2p7 1.7.2p8 1.7.2p9 - 1.7.2p10 1.7.2p11 1.7.2p12 - 1.7.2p13 1.7.2p14 1.7.2p15 - 1.7.2p16 1.7.2p17 1.7.2p18 - 1.7.2p19 1.7.2p20 1.7.2p21 - 1.7.2p22 1.7.2p23 1.7.2p24 - 1.7.2p25 1.7.2p26 1.7.2p27 - 1.7.2p28 1.7.2p29 1.7.2p30 - 1.7.2p31 1.7.2p32 1.7.2p33 - 1.7.2p34 1.7.2p35 1.7.3p0 - 1.7.3p1 1.7.3p2 1.7.3p3 - 1.7.3p4 1.7.3p5 1.7.3p6 - 1.7.3p7 1.7.3p8 1.7.3p9 - 1.7.3p10 1.7.3p11 1.7.3p12 - 1.7.3p13 1.7.3p14 1.7.4p0 - -For more, see Entries-4 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-4 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - 1.7.4p1 1.7.4p2 1.7.4p3 - 1.7.4p4 1.7.4p5 1.7.4p6 - 1.7.4p7 1.7.4p8 1.7.4p9 - 1.7.4p10 1.7.4p11 1.7.4p12 - 1.7.4p13 1.7.4p14 1.7.4p15 - 1.7.4p16 1.7.4p17 1.7.4p18 - 1.7.4p19 1.7.4p20 1.7.5p0 - 1.7.5p1 1.7.5p2 1.7.5p3 - 1.7.5p4 1.7.5p5 1.7.5p6 - 1.7.5p7 1.7.5p8 1.7.5p9 - 1.7.5p10 1.7.5p11 1.7.5p12 - 1.7.6p0 1.7.6p1 1.7.6p2 - 1.7.6p3 1.7.6p4 1.7.6p5 - 1.7.6p6 1.7.6p7 1.7.6p8 - 1.7.6p9 1.7.6p10 1.7.6p11 - 1.7.6p12 1.7.6p13 1.7.6p14 - -For more, see Entries-5 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-5 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - 1.7.6p15 1.7.6p16 1.7.7p0 - 1.7.7p1 1.7.7p2 1.7.7p3 - 1.7.7p4 1.7.7p5 1.7.7p6 - 1.7.7p7 1.7.7p8 1.7.7p9 - 1.7.7p10 1.7.7p11 1.7.7p12 - 1.7.7p13 1.7.7p14 1.7.7p15 - 1.7.7p16 1.7.7p17 1.7.7p18 - 1.7.7p19 1.7.7p20 1.7.7p21 - 1.7.7p22 1.7.7p23 1.7.7p24 - 1.7.7p25 1.7.7p26 1.7.7p26 - 1.7.7p27 1.7.7p28 1.7.7p29 - 1.7.7p30 1.7.7p31 1.8.0p0 - 1.8.0p1 1.8.0p2 1.8.0p3 - 1.8.0p4 1.8.0p5 1.8.0p6 - 1.8.0p7 1.8.0p8 1.8.0p9 - 1.8.0p10 1.8.0p11 1.8.0p12 - -For more, see Entries-6 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-6 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - 1.8.0p13 %2 %3 - %4 @aahear abode - abs() @abuy accent() - accent2 accent3 accent4 - accname() @aclone @aconnect - acos() action2 action lists - add() @adescribe @adestroy - @adisconnect @adrop @aefail - @aenter @afailure @afollow - after() agenda @agive - @ahear ahelp @aidescribe - @aleave @alfail @alias - alias() align() align2 - @allhalt allof() @allquota - alphamax() alphamin() @amhear - @amove ancestors and() - -For more, see Entries-7 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-7 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - andflags() andlflags() anews - @announce anonymous2 anonymous3 - anonymous4 anonymous attributes ansi - ansi() @apayment aposs() - @areceive art() @asdin - @asdout asin() @assert - @asuccess atan() atan2() - @atport @atrchown @atrlock - atrlock() attrcnt() attrib-ownership - attrib_set() @attribute attribute flags - attribute functions attribute list @-attributes - attributes attributes2 attributes3 - attributes4 attributes list attribute trees - attribute trees2 attribute trees3 attribute trees4 - attr trees attr trees2 attr trees3 - attr trees4 audible audible2 - -For more, see Entries-8 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-8 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - @aufail @aunfollow @aunidle - @ause auth_parent @away - @azenter @azleave band() - baseconv() beep() before() - bitwise functions bnand() bnot() - boolean2 boolean3 boolean functions - boolean values @boot bor() - bound() brackets() @break - break() brief builder - @-building @buy buy - bxor() cand() capstr() - case() caseall() cat() - cbuffer() cd cdesc() - ceil() @cemit cemit() - center() cflags() ch - changes @channel @channel2 - -For more, see Entries-9 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-9 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - @channel3 @channel4 @channel5 - channel functions channel-list channels() - @charges @chat chat - checkpass() children() @chown - @chownall chown_ok chr() - @chzone @chzone2 @chzoneall - clflags() clients @clock - clock() @clock2 @clone - clone() cloudy cmds() - cmsgs() cobramush code - color @command @command2 - @command3 $-commands commands - $-commands2 @comment communication functions - comp() comsys con() - @config config() @config attribs - @config chat @config cmds @config cosmetic - -For more, see Entries-10 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-10 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - @config cosmetic2 @config costs @config db - @config dump @config funcs @config limits - @config limits2 @config limits3 @config log - @config net @config parameters @config tiny - @conformat conn() connected - connection functions contact control - controls() convsecs() convtime() - convutcsecs() copyright copyrite - cor() cos() @cost - costs cowner() @cpattr - @create create() credits - @cron @cron2 @cron3 - cstatus() ctime() ctitle() - ctu() cusers() cv - cwho() @dannounce dark - dark2 database @dbck - -For more, see Entries-11 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-11 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - dbref # dbref2 dbref functions - dbref number dbrefs debug - debug2 @debugforwardlist dec() - @decompile @decompile2 @decompile3 - decompose() decrypt() default() - delete() @descformat @describe - desert @destroy @destroy2 - destroy_ok die() @dig - dig() @dig2 digest() - @-director @disable dismiss - dist2d() dist3d() div() - @division division division() - division commands division credits division functions - division powers division powers2 division powers3 - division system division tutorial division tutorial2 - division tutorial3 divscope divscope() - -For more, see Entries-12 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-12 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - @doing doing doing() - @dolist downdiv() download - @drain @drop drop - drop-tos @dump dynhelp() - e() @ealias edefault() - @edit edit() @efail - element() elements() elist() - @elock elock() @emit - emit() empire() empire objects - @empower empty @enable - enactor encrypt() endtag() - @enter enter enter_ok - @entrances entrances() eq() - escape() etimefmt() etimefmt2 - etimefmt3 @eunlock eval() - evaluation2 evaluation order events - -For more, see Entries-13 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-13 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - examine executor exit() - @exitformat exits exits2 - exp() extract() @failure - failure fdiv() @filter - filter() @filter2 filterbool() - @find findable() first() - @firstexit firstof() fixed - @flag @flag2 flag list - flag permissions flags flags() - flags2 flags list flip() - floating floor() floordiv() - fmod() fold() fold2 - folderstats() @follow follow - followers() following() @force - @force2 foreach() foreach2 - @forwardlist fraction() fullalias() - -For more, see Entries-14 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-14 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - fullname() @function @function2 - @function3 @function4 function list - functions functions() functions2 - gagged @gedit gender - @-general get get() - get_eval() @give give - global commands globals go - going goto grab() - graball() @grep2 @grep - grep() gt() gte() - guests @halt halt - hasattr() hasattrp() hasattrpval() - hasattrval() hasdivpower() hasflag() - haspower() haspowergroup() hastype() - @haven haven height() - here hidden() @hide - -For more, see Entries-15 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-15 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - home home() homes - @hook @hook2 host() - hostname() html html() - html functions i18n icfuncs - @idescformat @idescribe @idle - idle idle() idle_average() - idlesecs() idle_total() if() - ifelse() ilev() iname() - inc() index index() - indiv() indivall() @infilter - info information functions informative topics - inherit inheritable @inprefix - insert() interiors interiors2 - internationalization inum() inventory - @invformat ipaddr() isdaylight() - isdbref() isint() isnum() - -For more, see Entries-16 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-16 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - isword() itemize() items() - iter() iter2 itext() - join jump_ok jury_ok - @kick kickass kickass credits - @lalias #lambda lambda - last() @lastactivity lastip - last & lastlogout lastsite lattr() - lcon() lcstr() ldelete() - @leave leave left() - @lemit lemit() @level - level() lexits() @lfail - lflags() license light - @link link() linking - link_ok @list list() - @listen @listen2 listening - listening2 listening3 listen_parent - -For more, see Entries-17 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-17 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - list functions @listmotd lists - lit() ljust() lmath() - ln() lnum() loc() - locale localize() locate() - locate2 @lock lock() - @lock2 @lock3 @lock4 - @lock5 @lock6 @lock7 - @lock8 @lock9 locking - lock list locklist locks - lock types locktypes lock types2 - locktypes2 @log log() - logout @logwipe look - look2 looping lparent() - lplayers() lports() lpos() - lsearch() lsearch2 lsearchr() - @lset lstats() lt() - -For more, see Entries-18 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-18 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - lte() lvcon() lvexits() - lvplayers() lwho() @map2 - macros macros2 @mail - mail mail() mail-admin - maildstats() @mailfilter mailfilter - mail-folders mail-forward @mailforwardlist - mailfrom() mailfstats() mail functions - mail-other mail-reading mail-sending - mailstats() mailstatus() mailsubject() - mailtime() @malias @malias2 - @malias3 @malias4 @malias5 - @map map() mapsql() - mapsql2 master room match() - matchall() matching math functions - max() me mean() - median() member() merge() - -For more, see Entries-19 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-19 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - mid() min() mistrust - mix() mix2 mod() - modulo() modulus() money - money() monitor mortal - @motd @move move - mtime() mudname() mul() - multi-guests munge() munge2 - munge3 mushcode mushcode2 - mushcode topics @mvattr mwho() - myopic %n @name - name() @nameaccent @nameformat - namegrab() namegraball() nand() - nattr() nchildren() nearby() - neq() newbie newbie2 - newbie3 new locks @newpassword - news next() nlsearch() - -For more, see Entries-20 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-20 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - noaccents no_command no_leave - noleave non-standard attributes nor() - nospoof not() no_tel - @notify no_warn nowarn - nsearch() @nsemit @nslemit - @nsoemit @nspemit @nsremit - @nszemit @nuke null() - num() obj() object parents - objeval() objid() objmem() - @obuy @odescribe @odrop - @oefail @oemit oemit() - @oenter @ofailure @ofollow - @ogive @oidescribe @oleave - @olfail @omove on-vacation - opaque @opayment @open - open() or() ord() - -For more, see Entries-21 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-21 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - ordinal() @oreceive orflags() - orlflags() orphan @osuccess - @otport @oufail @ounfollow - @ouse outputprefix outputsuffix - owner() @oxenter @oxleave - @oxmove @oxtport @ozenter - @ozleave page page2 - paranoid @parent parent - parent() parents parents2 - parents3 parents4 parents5 - parse() @password patchlevels - @payment @pcreate pcreate() - @pemit pemit() @pemit2 - pennmush changes pennmush credits pghaspower() - pgpowers() pi() pickrand() - player playermem() pmatch() - -For more, see Entries-22 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-22 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - @poll poll() @poor - ports() pos() pose - pose2 poss() @power - power() @powergroup2 @powergroup3 - @powergroup powergroups() powers() - powers2 powers3 powers list - powers list2 powers list3 power types - power yescodes pow_inherit powover() - @prefix @pricelist privilege - @program program() @program2 - @program3 @prompt prompt() - @ps pueblo pueblo() - pueblo features puppet puppets - puppets2 @purge %q0 - %q1 %q2 %q3 - %q4 %q5 %q6 - -For more, see Entries-23 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-23 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - %q7 %q8 %q9 - %qa %qb %qc - %qd %qe %qf - %qg %qh %qi - %qj %qk %ql - %qm %qn %qo - %qp %qq %qr - %qs %qt %qu - queue quiet quit - quitprog() @quota quota() - %qv %qw %qx - %qy %qz r() - rand() randword() read - @readcache @receive @reclass - recv() @recycle regedit() - regeditall() regeditalli() regediti() - -For more, see Entries-24 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-24 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - regexp regexp classes regexp classes2 - regexp examples regexps regexps2 - regexp syntax regexp syntax2 regexp syntax3 - regexp syntax4 regexp syntax5 regexp syntax6 - regexp syntax7 regexp syntax8 registers - registers2 regmatch() regmatchi() - regrab() regraball() regraballi() - regrabi() regrep() - regular expression functions @rejectmotd - remainder() @remit remit() - remove() repeat() replace() - rest() @restart restarts() - restarttime() restrict restrict2 - restrict3 reswitch() reswitchall() - reswitchalli() reswitchi() reverse() - revwords() r-function right() - -For more, see Entries-25 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-25 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - rjust() rloc() rnum() - room room() root() - round() royalty rquota - rules @runout @rwall - s() safe s-@announce - say @scan scan() - score scramble() screenheight - screenwidth @sd s-@dannounce - @sdin @sdout @search - search() @search2 search2 - @search3 secs() secure() - @select semaphores semaphores2 - semaphores3 semaphores4 semaphores5 - semaphores6 semipose sent() - session @set set() - setdiff() setinter() setq() - -For more, see Entries-26 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-26 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - setq2 setq3 setr() - setting-attributes setunion() @sex - sex s-function sha0() - shared shared players shared players2 - shl() shr() shuffle() - @shutdown sign() signal() - sin() @sitelock @sitelock2 - @sitelock3 s-join softcode - sort() sortby() sortkey() - soundex() soundex2 soundlike() - soundslike() space() spellnum() - splice() spoofing @sql - sql() sqlescape() sql functions - sqrt() squish() @squota - s-@reclass ssl() s-summon - stack starttime() @startup - -For more, see Entries-27 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-27 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - @stats stats() stddev() - step2 step() sticky - strcat() string functions strings - strinsert() stripaccents() stripansi() - strlen() strmatch() strreplace() - @su sub() subj() - substitutions substitutions2 substitutions3 - substitutions4 @success success - summon suspect @sweep - @switch switch() @switch2 - switch2 switchall() switches - switch wildcards t() table() - tag() tagwrap() take - tan() teach tel() - @teleport tel_ok temple - terminfo() terse textfile() - -For more, see Entries-28 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-28 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - think time() timefmt() - timefmt2 time functions timestring() - topics2 topicszq @tport - tr() track_money translation - transparent transparent2 @trigger - trigger() @trigger2 trim() - trimpenn() trimtiny() trunc() - trust type() types2 - types of objects u() u2 - ucstr() udefault() @ufail - ufun() ufun2 uldefault() - ulocal() ulocal2 @ulock - @undestroy unfindable @unfollow - unfollow unidle_times() uninspected - @unlink @unlock @unrecycle - unregistered updiv() @uptime - -For more, see Entries-29 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-29 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - @uptime2 @use use - user-defined2 user-defined commands utctime() - utility functions @uunlock v() - vadd() val() valid() - vcross() vdim() vdot() - @verb @verb2 @verb3 - @verb4 verbose verbs - @version version() v-function - visible() visual vmag() - vmax() vmin() vmul() - vrml @vrml_url vsub() - vtattr() vtcount vtcount() - vtcreate() vtdestroy vtlcon() - vtloc() vtlocate() vtm - vtmaster() vtname() @vtplural - vtref vtref() @vts - -For more, see Entries-30 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-30 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - vts vts functions vttel() - vunit() @wait wait() - @wait2 @wall @warnings - warnings @warnings2 @warnings3 - warnings list warnings list2 @wcheck - where() @whereis whisper - whisper2 who width() - wildcards @wipe wipe() - with wizard @wizmotd - @wizwall wordpos() words() - wrap() xget() xor() - @zclone zclone_ok @zemit - zemit() @zenter zfun() - @zleave zmo zmp - zmr zone zone() - zone master objects zone master rooms zone masters - -For more, see Entries-31 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -& Entries-31 --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - zone objects zones zones2 - z_tel - -& &Entries --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - &help --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- diff --git a/scripts/.gitify-empty b/scripts/.gitify-empty new file mode 100644 index 0000000..e69de29 diff --git a/scripts/makedist.sh b/scripts/makedist.sh new file mode 100644 index 0000000..ed0e85c --- /dev/null +++ b/scripts/makedist.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +SELF=`which "$0"` +DIR=`dirname "$SELF"` +cd "$DIR" +cd .. + +# Step 1: make it distribution-ready +echo "Preparing distribution..." +. ./scripts/preparedist.sh + +# Step 2: determine version +echo "Determining version..." +VERSION=`grep VERSION hdrs/version.h | sed 's/^.*"\(.*\)".*$/\1/'` +echo "Version is $VERSION" + +# Step 3: make tarball +echo "Making tarball..." +TARBALL="cobramush-$VERSION.tar.gz" +tar -czf "$TARBALL" `cat MANIFEST` + +echo "Tarball $TARBALL created" + diff --git a/scripts/preparedist.sh b/scripts/preparedist.sh new file mode 100644 index 0000000..83e1246 --- /dev/null +++ b/scripts/preparedist.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +SELF=`which "$0"` +DIR=`dirname "$SELF"` +cd "$DIR" +cd .. + +# Step 1: run metaconfig +echo "Running metaconfig to generate Configure and config_h.SH..." +metaconfig + +# Step 2: generate changes.txt +echo "Generating changes.txt..." +( cd game/txt && ruby genchanges.rb ) + +# Step 3: index help files +echo "Indexing help, news, and events..." +cd game/txt +for i in hlp nws evt ; do + cd $i + rm -f index.$i + cat *.$i | perl ../index-files.pl > index.$i + cd .. +done + +cd ../.. +