extractsh=''
override=''
knowitall=''
+
rm -f optdef.sh
+cat >optdef.sh <<EOS
+$startsh
+EOS
: option parsing
while test $# -gt 0; do
: now set up to do reads with possible shell escape and default assignment
cat <<EOSC >myread
+$startsh
xxxm=\$dflt
$myecho
ans='!'
$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
*) osvers=$tmp;;
esac
;;
+ *dc.osx) osname=dcosx
+ osvers="$3"
+ ;;
dnix) osname=dnix
osvers="$3"
;;
ultrix) osname=ultrix
osvers="$3"
;;
- osf1) case "$5" in
+ osf1|mls+) case "$5" in
alpha)
osname=dec_osf
osvers=`echo "$3" | sed 's/^[vt]//'`
tarch=`arch`"-$osname"
elif xxx=`./loc uname blurfl $pth`; $test -f "$xxx" ; then
if uname -m > tmparch 2>&1 ; then
- tarch=`$sed -e 's/ *$//' -e 's/ /_/g'
+ tarch=`$sed -e 's/ *$//' -e 's/ /_/g' \
-e 's/$/'"-$osname/" tmparch`
else
tarch="$osname"
$eunicefix filexp
: now set up to get a file name
-cat <<'EOSC' >getfile
+cat <<EOS >getfile
+$startsh
+EOS
+cat <<'EOSC' >>getfile
tilde=''
fullpath=''
already=''
fi
: set up the script used to warn in case of inconsistency
-cat <<'EOSC' >whoa
+cat <<EOS >whoa
+$startsh
+EOS
+cat <<'EOSC' >>whoa
dflt=y
echo " "
echo "*** WHOA THERE!!! ***" >&4
:
elif try=`./loc lib$thislib$lib_ext X $libpth`; $test -f "$try"; then
:
+ elif try=`./loc $thislib$lib_ext 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
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
solaris|netbsd)
xxx="-R $shrpdir"
;;
+ freebsd)
+ xxx="-Wl,-R$shrpdir"
+ ;;
linux|irix*)
xxx="-Wl,-rpath,$shrpdir"
;;
echo "(Attempting domain name extraction from $tans)"
: Why was there an Egrep here, when Sed works?
: Look for either a search or a domain directive.
- dflt=.`$sed -n -e 's/^search[ ]*\(.*\)/\1/p' $tans \
- | ./tr '[A-Z]' '[a-z]' 2>/dev/null`
+ 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/^domain[ ]*\(.*\)/\1/p' $tans \
- | ./tr '[A-Z]' '[a-z]' 2>/dev/null`
+ .) dflt=.`$sed -n -e 's/ / /g' \
+ -e 's/^domain *\([^ ]*\).*/\1/p' $tans \
+ | ./tr '[A-Z]' '[a-z]' 2>/dev/null`
;;
esac
fi
}
EOCP
if $cc $ccflags $ldflags try.c -o try >/dev/null 2>&1; then
- echo "$startsh" >mtry
+ cat <<EOS >mtry
+$startsh
+EOS
echo "./try >try.out 2>try.ret 3>try.err || exit 4" >>mtry
chmod +x mtry
./mtry >/dev/null 2>&1
*) echo "However, your read() returns '$status' on EOF??";;
esac
val="$define"
- if test "$status" -eq "$rd_nodata"; then
+ if test "$status" = "$rd_nodata"; then
echo "WARNING: you can't distinguish between EOF and no data!"
val="$undef"
fi
printf("int\n");
else
printf("long\n");
+ fflush(stdout);
exit(0);
}
EOM