summaryrefslogtreecommitdiff
path: root/Configure
diff options
context:
space:
mode:
authorAndy Dougherty <doughera@lafcol.lafayette.edu>1995-05-30 22:59:41 +0000
committerAndy Dougherty <doughera@lafcol.lafayette.edu>1995-05-30 22:59:41 +0000
commit16d20bd98cd29be76029ebf04027a7edd34d817b (patch)
tree9ff5dd75c8b63cfd0da63bc9e4d59f464986bc0e /Configure
parent3b35bae3d5913952e779006fe378c78297e23080 (diff)
downloadperl-16d20bd98cd29be76029ebf04027a7edd34d817b.tar.gz
This is my patch patch.1i for perl5.001.
To apply, change to your perl directory, run the commands above, then apply with patch -p1 -N < thispatch. After you apply this patch, I would recommend: rm config.sh sh Configure [whatever options you use] make depend make make test Here are the highlights: All pod documentation now installed, along with corresponding man pages, if possible (Configure allows you to change this). cppstdin no longer points back to the build directory. This necessitated two changes to the test suite: comp/cpp.t is now a front end that punts if cppstdin is not yet available (the old perl4 trick doesn't work for perl5). The op/misc.t test ./perl -P -e 'use POSIX;' has been dropped since I couldn't think of an elegant way to bypass it for systems that need the cppstdin wrapper. Grand autoload patch included (minus the installperl, lib/, and ext/ changes). The lib/ changes are in patch.1g, and the ext/ changes are in patch.1h. Better detection and use of stdio variants, especially on SVR4. Sarathy's consolidated patches (for ties) included. New filter stuff included. Three patches from Larry (gv.c, toke.c, pp_ctl.c) Patch and enjoy, Andy Dougherty doughera@lafcol.lafayette.edu Dept. of Physics Lafayette College Easton, PA 18042 Here's the file-by-file breakdown of what's included: Changes.Conf Document changes in the Configure & build process. Configure Upgrade to metaconfig PL55. Add /opt hierarchy to paths searched for programs. Tye McQueen's updated std stdio testing. Prompting for installation info for perl module pages. Add possible SITELIB to include site-specific include directories. By default this is disabled, but it seemed a neat idea now that the standard perl library is getting so big. Check that the compiler chosen exists and actually supports the options the user specified. Correctly sort multiple shared library version numbers. Use a compile & link test for gconvert(), dlopen(), and dlerror(). Do not include build directory name in cppstdin wrapper. MANIFEST Updated. Makefile.SH Reorganized a bit to support separate install.perl and install.man targets to use the new installman script and to accomodate those who don't want to install the man pages. Organize cleanup of .SH files a little better. No longer automatically make the pod/*.man files. This is done by installman only if requested. Include additional error messages and info for regenerating the automatically maintained header files. Add 'minitest' target. README Updated. README.vms Fix perl5-porters subscription info. config_H Updated. config_h.SH Updated. configpm Embedded pod. configure GNU configure-like front end to metaconfig's Configure. Only supports a few options. doio.c Updated to use new std stdio testing. embed.h Add new symbols for filtering. global.sym see embed.h. gv.c C<sub method;> patch from lwall. hints/README.hints Updated. hints/aux.sh Updated. hints/cxux.sh Updated. hints/epix.sh New file. hints/freebsd.sh Updated. hints/irix_4.sh Updated. hints/irix_5.sh Updated. hints/irix_6.sh Updated. hints/linux.sh Updated. hints/powerunix.sh Updated. installman New file to install pod/*.pod and lib/*.p(m|od) man pages. installperl Move installation of man pages over to installman script. Install pod/*.pod files in $privlib/pod/. Preserve timestamps on .a files. makedepend.SH Now includes . and .. in PATH to explicitly find cppstdin wrapper. opcode.h opcode.pl shmwrite fix. perl.c Changed unofficial patchlevel message. Included optional SITELIB directory. perl.h #include <memory.h> cryptswitch gone/filters added. EUNICE replaced by UNLINK_ALL_VERSIONS. Only matters for VMS. perldoc.SH New file. pod/perl.pod Describe where modpods are. pp_ctl.c sort bug fix from lwall. pp_hot.c csh glob bug fix from tchrist. Sarathy's consolidated "tie" patch for NETaa13753 N 2 trey pp_sys.c Emulate flock with lockf, if possible. Use new std stdio unit. proto.h Filters stuff. prototype for unlnk() is only needed #if UNLINK_ALL_VERSIONS sv.c Sarathy's consolidated "tie" patch for NETaa13753 N 2 trey Sarathy's consolidated patch for nested ties. Use new std stdio unit. t/comp/cpp.aux New file. This only gets called if cppstdin is avaiable. t/comp/cpp.t Calls cpp.aux test only if cppstdin is available. t/op/misc.t Drop perl -P -e 'use POSIX;' test. it couldn't work on systems without the cppstdin wrapper installed, and is usually misleading when it fails anyway. toke.c filter stuff. fix for NETaa13798 from lwall. unixish.h undef UNLINK_ALL_VERSIONS since it's irrelevant for unix. util.c s/EUNICE/UNLINK_ALL_VERSIONS/ for the unlnk() function. vms/config.vms VMS updates from Charles Bailey. std stdio updates to match changes in perl sources. add UNLINK_ALL_VERSIONS constant, but leave it #undef. vms/ext/MM_VMS.pm vms/ext/VMS/stdio/stdio.xs vms/perlvms.pod vms/vms.c VMS updates from Charles Bailey. x2p/Makefile.SH Updated to match man page Configure questions. Slight clean-up on .SH targets. x2p/str.c Use new std stdio unit.
Diffstat (limited to 'Configure')
-rwxr-xr-xConfigure564
1 files changed, 441 insertions, 123 deletions
diff --git a/Configure b/Configure
index 916940bfcd..e2910d544a 100755
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
# $Id: Head.U,v 3.0.1.7 1995/03/21 08:46:15 ram Exp $
#
-# Generated on Mon Apr 17 15:46:57 EDT 1995 [metaconfig 3.0 PL53]
+# Generated on Wed May 31 09:14:05 EDT 1995 [metaconfig 3.0 PL55]
cat >/tmp/c1$$ <<EOF
ARGGGHHHH!!!!!
@@ -58,7 +58,9 @@ esac
: 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"
@@ -279,7 +281,6 @@ d_htonl=''
d_isascii=''
d_killpg=''
d_link=''
-d_linuxstd=''
d_locconv=''
d_lockf=''
d_lstat=''
@@ -348,7 +349,12 @@ d_sockpair=''
sockethdr=''
socketlib=''
d_statblks=''
+d_stdiobase=''
d_stdstdio=''
+stdio_base=''
+stdio_bufsiz=''
+stdio_cnt=''
+stdio_ptr=''
d_index=''
d_strchr=''
d_strcoll=''
@@ -469,10 +475,14 @@ mallocobj=''
mallocsrc=''
malloctype=''
usemymalloc=''
-installmansrc=''
-manext=''
-mansrc=''
-mansrcexp=''
+installman1dir=''
+man1dir=''
+man1direxp=''
+man1ext=''
+installman3dir=''
+man3dir=''
+man3direxp=''
+man3ext=''
huge=''
large=''
medium=''
@@ -505,6 +515,10 @@ scriptdir=''
scriptdirexp=''
selecttype=''
sig_name=''
+d_sitelib=''
+installsitelib=''
+sitelib=''
+sitelibexp=''
sizetype=''
so=''
sharpbang=''
@@ -693,7 +707,7 @@ EOS
: produce awk script to parse command line options
cat >options.awk <<'EOF'
BEGIN {
- optstr = "dD:eEf:hOrsSU:V"; # getopt-style specification
+ optstr = "dD:eEf:hKOrsSU:V"; # getopt-style specification
len = length(optstr);
for (i = 1; i <= len; i++) {
@@ -751,6 +765,7 @@ error=''
silent=''
extractsh=''
override=''
+knowitall=''
rm -f optdef.sh
: option parsing
@@ -773,6 +788,7 @@ while test $# -gt 0; do
-r) shift; reuseval=true;;
-s) shift; silent=true;;
-E) shift; alldone=exit;;
+ -K) shift; knowitall=true;;
-O) shift; override=true;;
-S) shift; extractsh=true;;
-D)
@@ -800,7 +816,7 @@ while test $# -gt 0; do
esac
shift
;;
- -V) echo "$me generated by metaconfig 3.0 PL53." >&2
+ -V) echo "$me generated by metaconfig 3.0 PL55." >&2
exit 0;;
--) break;;
-*) echo "$me: unknown option $1" >&2; shift; error=true;;
@@ -811,7 +827,7 @@ done
case "$error" in
true)
cat >&2 <<EOM
-Usage: $me [-dehrEOSV] [-f config.sh] [-D symbol] [-D symbol=value]
+Usage: $me [-dehrEKOSV] [-f config.sh] [-D symbol] [-D symbol=value]
[-U symbol] [-U symbol=]
-d : use defaults for all answers.
-e : go on without questioning past the production of config.sh.
@@ -823,6 +839,7 @@ Usage: $me [-dehrEOSV] [-f config.sh] [-D symbol] [-D symbol=value]
-D symbol symbol gets the value 'define'
-D symbol=value symbol gets the value 'value'
-E : stop at the end of questions, after having produced config.sh.
+ -K : do not use unless you know what you are doing.
-O : let -D and -U override definitions from loaded configuration file.
-S : perform variable substitutions on all .SH files (can mix with -f)
-U : undefine symbol:
@@ -1422,25 +1439,27 @@ myuname=`echo $myuname | $sed -e 's/^[^=]*=//' -e 's/\///g' | \
./tr '[A-Z]' '[a-z]' | tr '\012' ' '`
newmyuname="$myuname"
dflt=n
-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
+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
-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
- $cat <<EOM
-
-I see a config.sh file. Was it built on THIS system with THIS compiler?
-EOM
- rp="Shall I use config.sh to set the defaults?"
+ 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;;
@@ -2106,7 +2125,15 @@ if $cc -o gccvers gccvers.c >/dev/null 2>&1; then
*) echo "You are using GNU cc $gccversion." ;;
esac
else
- echo "I can't compile the test program -- Assuming it isn't GNU cc."
+ 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
@@ -2745,6 +2772,60 @@ none) ldflags='';;
esac
rmlist="$rmlist pdp11"
+: coherency check
+echo " "
+echo "Checking your choice of C compiler and flags for coherency..." >&4
+set X $cc $optimize $ccflags try.c -o try $ldflags
+shift
+$cat >try.msg <<EOM
+I've tried to compile and run a simple program with:
+
+ $*
+ ./try
+
+and I got the following output:
+
+EOM
+$cat > try.c <<'EOF'
+#include <stdio.h>
+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
+
: Set private lib path
case "$plibpth" in
'') if ./mips; then
@@ -2992,10 +3073,18 @@ unknown)
set /usr/ccs/lib/libc.$so
$test -r $1 || set /usr/lib/libc.$so
$test -r $1 || set /usr/shlib/libc.$so
- $test -r $1 || set /usr/lib/libc.$so.[0-9]*
+ $test -r $1 || \
+ set `echo blurfl; echo /usr/lib/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 \$$#
$test -r $1 || set /lib/libc.$so
$test -r $1 || set /lib/libsys_s.a
- eval set \$$#
;;
*)
set blurfl
@@ -3085,7 +3174,8 @@ $echo $n ".$c"
$grep fprintf libc.tmp > libc.ptf
xscan='eval "<libc.ptf $com >libc.list"; $echo $n ".$c" >&4'
xrun='eval "<libc.tmp $com >libc.list"; echo "done" >&4'
-if com="$sed -n -e 's/__IO//' -e 's/^.* [ADTSIW] *_[_.]*//p' -e 's/^.* [ADTSIW] //p'";\
+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
@@ -3128,11 +3218,12 @@ elif com="$sed -n -e '/Def. Text/s/.* \([^ ]*\)\$/\1/p'";\
eval $xrun
else
nm -p $* 2>/dev/null >libc.tmp
- com="$sed -n -e 's/^.* [ADTSIW] *_[_.]*//p' -e 's/^.* [ADTSIW] //p'";\
- eval "<libc.tmp $com >libc.list"
- if $contains '^fprintf$' libc.list >/dev/null 2>&1; then
+ $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'
- echo "done" >&4
+ eval $xrun
else
echo " "
echo "nm didn't seem to work right. Trying ar instead..." >&4
@@ -3146,7 +3237,8 @@ else
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
+ 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
@@ -3191,7 +3283,7 @@ yes)
else tval=false;
fi;;
*)
- echo "main() { extern int $1$tdc; printf(\"%d\", $1$tc); }" > t.c;
+ echo "main() { extern short $1$tdc; printf(\"%hd\", $1$tc); }" > t.c;
if $cc $ccflags -o t t.c $ldflags $libs >/dev/null 2>&1;
then tval=true;
else tval=false;
@@ -3247,8 +3339,15 @@ yes)
esac'
: see if gconvert exists
+: On some SVR4 systems, gconvert is present but can not be used
+: because it requires some other unavailable functions.
+: Therefore, do not use the nm extraction, but use a real compile
+: and link test instead.
+xxx_runnm="$runnm"
+runnm=false
set gconvert d_gconvert
eval $inlibc
+runnm="$xxx_runnm"
case "$d_gconvert" in
$define)
@@ -4152,16 +4251,28 @@ eval $setvar
$rm -f try.c
: see if dlerror exists
+: On NetBSD and FreeBSD, dlerror might be available, but it is in
+: /usr/lib/crt0.o, not in any of the libraries. Therefore, do not
+: use the nm extraction, but use a real compile and link test instead.
+xxx_runnm="$runnm"
+runnm=false
set dlerror d_dlerror
eval $inlibc
+runnm="$xxx_runnm"
: see if dld is available
set dld.h i_dld
eval $inhdr
: see if dlopen exists
+: On NetBSD and FreeBSD, dlopen is available, but it is in
+: /usr/lib/crt0.o, not in any of the libraries. Therefore, do not
+: use the nm extraction, but use a real compile and link test instead.
+xxx_runnm="$runnm"
+runnm=false
set dlopen d_dlopen
eval $inlibc
+runnm="$xxx_runnm"
: determine which dynamic loading, if any, to compile in
echo " "
@@ -4229,9 +4340,8 @@ EOM
'') case "$osname" in
hpux) dflt='+z' ;;
next) dflt='none' ;;
- solaris) dflt='-K pic' ;;
+ solaris|svr4*|esix*) dflt='-Kpic' ;;
sunos) dflt='-pic' ;;
- svr4*|esix*) dflt='-Kpic' ;;
*) dflt='none' ;;
esac ;;
*) dflt='-fpic' ;;
@@ -4836,47 +4946,6 @@ eval $inlibc
set link d_link
eval $inlibc
-: see if stdio is really std
-echo " "
-xxx=`./findhdr stdio.h`
-if $contains 'char.*_ptr;' "$xxx" >/dev/null 2>&1 ; then
- if $contains '_cnt;' "$xxx" >/dev/null 2>&1 ; then
- echo "Your stdio is pretty std." >&4
- val="$define"
- else
- echo "Your stdio isn't very std." >&4
- val="$undef"
- fi
-else
- echo "Your stdio isn't very std." >&4
- val="$undef"
-fi
-set d_stdstdio
-eval $setvar
-
-: see if stdio is like that in linux
-case "$d_stdstdio" in
-"$undef")
- echo " "
- xxx=`./findhdr stdio.h`
- $cppstdin $cppflags $cppminus < "$xxx" > stdio.E
- if $contains 'char.*_IO_read_base' stdio.E >/dev/null 2>&1 && \
- $contains '_IO_read_ptr' stdio.E >/dev/null 2>&1 && \
- $contains '_IO_read_end' stdio.E >/dev/null 2>&1 ; then
- echo "Your stdio looks like linux." >&4
- val="$define"
- else
- echo "You don't have linux stdio, either." >&4
- val="$undef"
- fi
- $rm -f stdio.E
- ;;
-*) val="$undef" ;;
-esac
-
-set d_linuxstd
-eval $setvar
-
: see if localeconv exists
set localeconv d_locconv
eval $inlibc
@@ -5422,6 +5491,49 @@ fi
set d_shm
eval $setvar
+: determine whether the user wants to include a site-specific library
+: in addition to privlib.
+$cat <<EOM
+
+Some sites may wish to specify a local directory for $package
+to search by default in addition to $privlib.
+If you don't want to use such an additional directory, answer 'none'.
+
+EOM
+dflt=none
+fn=d~+n
+rp='Local directory for additional library files?'
+. ./getfile
+if $test "X$sitelibexp" != "X$ansexp"; then
+ installsitelib=''
+fi
+sitelib="$ans"
+sitelibexp="$ansexp"
+if $afs; then
+ $cat <<EOM
+
+Since you are running AFS, I need to distinguish the directory in which
+private files reside from the directory in which they are installed (and from
+which they are presumably copied to the former directory by occult means).
+
+EOM
+ case "$installsitelib" in
+ '') dflt=`echo $sitelibexp | sed 's#^/afs/#/afs/.#'`;;
+ *) dflt="$installsitelib";;
+ esac
+ fn=de~
+ rp='Where will additional local files be installed?'
+ . ./getfile
+ installsitelib="$ans"
+else
+ installsitelib="$sitelibexp"
+fi
+
+case "$sitelibexp" in
+''|' ') d_sitelib=undef ;;
+*) d_sitelib=define ;;
+esac
+
socketlib=''
sockethdr=''
: see whether socket exists
@@ -5493,6 +5605,103 @@ fi
set d_statblks
eval $setvar
+: see if _ptr and _cnt from stdio act std
+echo " "
+if $contains '_IO_fpos_t' `./findhdr stdio.h` >/dev/null 2>&1 ; then
+ echo "(Looks like you have stdio.h from Linux.)"
+ case "$stdio_ptr" in
+ '') stdio_ptr='((fp)->_IO_read_ptr)';;
+ esac
+ case "$stdio_cnt" in
+ '') stdio_cnt='((fp)->_IO_read_end - (fp)->_IO_read_ptr)';;
+ esac
+ case "$stdio_base" in
+ '') stdio_base='((fp)->_IO_read_base)';;
+ esac
+ case "$stdio_bufsiz" in
+ '') stdio_bufsiz='((fp)->_IO_read_end - (fp)->_IO_read_base))';;
+ esac
+else
+ case "$stdio_ptr" in
+ '') stdio_ptr='((fp)->_ptr)';;
+ esac
+ case "$stdio_cnt" in
+ '') stdio_cnt='((fp)->_cnt)';;
+ esac
+ case "$stdio_base" in
+ '') stdio_base='((fp)->_base)';;
+ esac
+ case "$stdio_bufsiz" in
+ '') stdio_bufsiz='((fp)->_cnt + (fp)->_ptr - (fp)->_base)';;
+ esac
+fi
+: test whether _ptr and _cnt really work
+echo "Checking how std your stdio is..." >&4
+$cat >try.c <<EOP
+#include <stdio.h>
+#define FILE_ptr(fp) $stdio_ptr
+#define FILE_cnt(fp) $stdio_cnt
+main() {
+ FILE *fp = fopen("try.c", "r");
+ char c = getc(fp);
+ if (
+ 18 <= FILE_cnt(fp) &&
+ strncmp(FILE_ptr(fp), "include <stdio.h>\n", 18) == 0
+ )
+ exit(0);
+ exit(1);
+}
+EOP
+val="$undef"
+if $cc $ccflags $ldflags -o try try.c $libs >/dev/null 2>&1; then
+ if ./try; then
+ echo "Your stdio acts pretty std."
+ val="$define"
+ else
+ echo "Your stdio isn't very std."
+ fi
+else
+ echo "Your stdio doesn't appear very std."
+fi
+$rm -f try.c try
+set d_stdstdio
+eval $setvar
+
+: see if _base is also standard
+val="$undef"
+case "$d_stdstdio" in
+$define)
+ $cat >try.c <<EOP
+#include <stdio.h>
+#define FILE_base(fp) $stdio_base
+#define FILE_bufsiz(fp) $stdio_bufsiz
+main() {
+ FILE *fp = fopen("try.c", "r");
+ char c = getc(fp);
+ if (
+ 19 <= FILE_bufsiz(fp) &&
+ strncmp(FILE_base(fp), "#include <stdio.h>\n", 19) == 0
+ )
+ exit(0);
+ exit(1);
+}
+EOP
+ if $cc $ccflags $ldflags -o try try.c $libs > /dev/null 2>&1; then
+ if ./try; then
+ echo "Even its _base field acts std."
+ val="$define"
+ else
+ echo "But its _base field isn't std."
+ fi
+ else
+ echo "However, it seems to be lacking the _base field."
+ fi
+ $rm -f try.c try
+ ;;
+esac
+set d_stdiobase
+eval $setvar
+
: see if strcoll exists
set strcoll d_strcoll
eval $inlibc
@@ -6143,20 +6352,20 @@ eval $inhdr
case "$i_db" in
define)
: Check the return type needed for hash
+ echo " "
echo "Checking return type needed for hash for Berkeley DB ..." >&4
$cat >try.c <<'EOCP'
#include <sys/types.h>
#include <db.h>
-u_int32_t
-hash_cb (ptr, size)
-const void * ptr ;
-size_t size ;
+u_int32_t hash_cb (ptr, size)
+void *ptr;
+size_t size;
{
}
-HASHINFO info ;
+HASHINFO info;
main()
{
- info.hash = hash_cb ;
+ info.hash = hash_cb;
}
EOCP
if $cc $ccflags -c try.c >try.out 2>&1 ; then
@@ -6179,20 +6388,20 @@ esac
case "$i_db" in
define)
: Check the return type needed for prefix
+ echo " "
echo "Checking return type needed for prefix for Berkeley DB ..." >&4
cat >try.c <<'EOCP'
#include <sys/types.h>
#include <db.h>
-size_t
-prefix_cb (key1, key2)
-const DBT * key1 ;
-const DBT * key2 ;
+size_t prefix_cb (key1, key2)
+DBT *key1;
+DBT *key2;
{
}
-BTREEINFO info ;
+BTREEINFO info;
main()
{
- info.prefix = prefix_cb ;
+ info.prefix = prefix_cb;
}
EOCP
if $cc $ccflags -c try.c >try.out 2>&1 ; then
@@ -6571,7 +6780,7 @@ rp="What type is lseek's offset on this system declared as?"
lseektype="$ans"
: determine where manual pages go
-set mansrc mansrc none
+set man1dir man1dir none
eval $prefixit
$cat <<EOM
@@ -6580,12 +6789,12 @@ EOM
case "$nroff" in
nroff)
echo "However, you don't have nroff, so they're probably useless to you."
- case "$mansrc" in
- '') mansrc="none";;
+ case "$man1dir" in
+ '') man1dir="none";;
esac;;
esac
echo "If you don't want the manual sources installed, answer 'none'."
-case "$mansrc" in
+case "$man1dir" in
'')
lookpath="$prefixexp/man/man1 $prefixexp/man/u_man/man1"
lookpath="$lookpath $prefixexp/man/l_man/man1"
@@ -6593,9 +6802,9 @@ case "$mansrc" in
lookpath="$lookpath /usr/man/local/man1 /usr/man/l_man/man1"
lookpath="$lookpath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1"
lookpath="$lookpath /usr/man/man.L"
- mansrc=`./loc . $prefixexp/man/man1 $lookpath`
- if $test -d "$mansrc"; then
- dflt="$mansrc"
+ man1dir=`./loc . $prefixexp/man/man1 $lookpath`
+ if $test -d "$man1dir"; then
+ dflt="$man1dir"
else
dflt="$sysman"
fi
@@ -6603,21 +6812,21 @@ case "$mansrc" in
eval $prefixup
;;
' ') dflt=none;;
-*) dflt="$mansrc"
+*) dflt="$man1dir"
;;
esac
echo " "
fn=dn~
-rp='Where do the manual pages (source) go?'
+rp="Where do the main $spackage manual pages (source) go?"
. ./getfile
-if test "X$mansrcexp" != "X$ansexp"; then
- installmansrc=''
+if test "X$man1direxp" != "X$ansexp"; then
+ installman1dir=''
fi
-mansrc="$ans"
-mansrcexp="$ansexp"
-case "$mansrc" in
-'') mansrc=' '
- installmansrc='';;
+man1dir="$ans"
+man1direxp="$ansexp"
+case "$man1dir" in
+'') man1dir=' '
+ installman1dir='';;
esac
if $afs; then
$cat <<EOM
@@ -6627,28 +6836,111 @@ manual pages reside from the directory in which they are installed (and from
which they are presumably copied to the former directory by occult means).
EOM
- case "$installmansrc" in
- '') dflt=`echo $mansrcexp | sed 's#^/afs/#/afs/.#'`;;
- *) dflt="$installmansrc";;
+ case "$installman1dir" in
+ '') dflt=`echo $man1direxp | sed 's#^/afs/#/afs/.#'`;;
+ *) dflt="$installman1dir";;
esac
fn=de~
rp='Where will man pages be installed?'
. ./getfile
- installmansrc="$ans"
+ installman1dir="$ans"
else
- installmansrc="$mansrcexp"
+ installman1dir="$man1direxp"
fi
-case "$mansrc" in
-' ') manext='0';;
-*l) manext=l;;
-*n) manext=n;;
-*o) manext=l;;
-*p) manext=n;;
-*C) manext=C;;
-*L) manext=L;;
-*L1) manext=L1;;
-*) manext=1;;
+case "$man1dir" in
+' ') man1ext='0';;
+*l) man1ext=l;;
+*n) man1ext=n;;
+*o) man1ext=l;;
+*p) man1ext=n;;
+*C) man1ext=C;;
+*L) man1ext=L;;
+*L1) man1ext=L1;;
+*) man1ext=1;;
+esac
+
+: determine where library module manual pages go
+set man3dir man3dir none
+eval $prefixit
+$cat <<EOM
+
+$spackage has manual pages for many of the library modules.
+EOM
+
+case "$nroff" in
+nroff)
+ $cat <<'EOM'
+However, you don't have nroff, so they're probably useless to you.
+You can use the supplied perldoc script instead.
+EOM
+ case "$man3dir" in
+ '') man3dir="none";;
+ esac;;
+esac
+
+case "$d_flexfnam" in
+undef)
+ $cat <<'EOM'
+However, your system can't handle the long file names like File::Basename.3.
+You can use the supplied perldoc script instead.
+EOM
+ case "$man3dir" in
+ '') man3dir="none";;
+ esac;;
+esac
+
+echo "If you don't want the manual sources installed, answer 'none'."
+case "$man3dir" in
+'') dflt="$privlib/man/man3" ;;
+' ') dflt=none;;
+*) dflt="$man3dir" ;;
+esac
+echo " "
+
+fn=dn~
+rp="Where do the $spackage library man pages (source) go?"
+. ./getfile
+if test "X$man3direxp" != "X$ansexp"; then
+ installman3dir=''
+fi
+
+man3dir="$ans"
+man3direxp="$ansexp"
+case "$man3dir" in
+'') man3dir=' '
+ installman3dir='';;
+esac
+if $afs; then
+ $cat <<EOM
+
+Since you are running AFS, I need to distinguish the directory in which
+manual pages reside from the directory in which they are installed (and from
+which they are presumably copied to the former directory by occult means).
+
+EOM
+ case "$installman3dir" in
+ '') dflt=`echo $man3direxp | sed 's#^/afs/#/afs/.#'`;;
+ *) dflt="$installman3dir";;
+ esac
+ fn=de~
+ rp='Where will man pages be installed?'
+ . ./getfile
+ installman3dir="$ans"
+else
+ installman3dir="$man3direxp"
+fi
+
+case "$man3dir" in
+' ') man3ext='0';;
+*l) man3ext=l;;
+*n) man3ext=n;;
+*o) man3ext=l;;
+*p) man3ext=n;;
+*C) man3ext=C;;
+*L) man3ext=L;;
+*L3) man3ext=L3;;
+*) man3ext=3;;
esac
: see what type is used for mode_t
@@ -7060,7 +7352,8 @@ echo " "
case "$sig_name" in
'')
echo "Generating a list of signal names..." >&4
- xxx=`./findhdr signal.h`" "`./findhdr sys/signal.h`" "`./findhdr linux/signal.h`
+ xxx=`./findhdr signal.h`" "`./findhdr sys/signal.h`
+ xxx="$xxx "`./findhdr linux/signal.h`
set X `cat $xxx 2>&1 | $awk '
$1 ~ /^#define$/ && $2 ~ /^SIG[A-Z0-9]*$/ && $3 ~ /^[1-9][0-9]*$/ {
sig[$3] = substr($2,4,20)
@@ -7638,6 +7931,19 @@ case "$d_vfork" in
;;
esac
+: Remove build directory name from cppstdin so it can be used from
+: either the present location or the final installed location.
+echo " "
+: Get out of the UU directory to get correct path name.
+cd ..
+case "$cppstdin" in
+`pwd`/cppstdin)
+ echo "Stripping down cppstdin path name"
+ cppstdin=cppstdin
+ ;;
+esac
+cd UU
+
: end of configuration questions
echo " "
echo "End of configuration questions."
@@ -7796,7 +8102,6 @@ d_index='$d_index'
d_isascii='$d_isascii'
d_killpg='$d_killpg'
d_link='$d_link'
-d_linuxstd='$d_linuxstd'
d_locconv='$d_locconv'
d_lockf='$d_lockf'
d_lstat='$d_lstat'
@@ -7865,9 +8170,11 @@ d_shmctl='$d_shmctl'
d_shmdt='$d_shmdt'
d_shmget='$d_shmget'
d_shrplib='$d_shrplib'
+d_sitelib='$d_sitelib'
d_socket='$d_socket'
d_sockpair='$d_sockpair'
d_statblks='$d_statblks'
+d_stdiobase='$d_stdiobase'
d_stdstdio='$d_stdstdio'
d_strchr='$d_strchr'
d_strcoll='$d_strcoll'
@@ -7983,9 +8290,11 @@ incpath='$incpath'
inews='$inews'
installarchlib='$installarchlib'
installbin='$installbin'
-installmansrc='$installmansrc'
+installman1dir='$installman1dir'
+installman3dir='$installman3dir'
installprivlib='$installprivlib'
installscript='$installscript'
+installsitelib='$installsitelib'
intsize='$intsize'
known_extensions='$known_extensions'
ksh='$ksh'
@@ -8013,9 +8322,12 @@ make='$make'
mallocobj='$mallocobj'
mallocsrc='$mallocsrc'
malloctype='$malloctype'
-manext='$manext'
-mansrc='$mansrc'
-mansrcexp='$mansrcexp'
+man1dir='$man1dir'
+man1direxp='$man1direxp'
+man1ext='$man1ext'
+man3dir='$man3dir'
+man3direxp='$man3direxp'
+man3ext='$man3ext'
medium='$medium'
mips='$mips'
mips_type='$mips_type'
@@ -8067,6 +8379,8 @@ shrpdir='$shrpdir'
shsharp='$shsharp'
sig_name='$sig_name'
signal_t='$signal_t'
+sitelib='$sitelib'
+sitelibexp='$sitelibexp'
sizetype='$sizetype'
sleep='$sleep'
smail='$smail'
@@ -8082,6 +8396,10 @@ ssizetype='$ssizetype'
startsh='$startsh'
static_ext='$static_ext'
stdchar='$stdchar'
+stdio_base='$stdio_base'
+stdio_bufsiz='$stdio_bufsiz'
+stdio_cnt='$stdio_cnt'
+stdio_ptr='$stdio_ptr'
strings='$strings'
submit='$submit'
sysman='$sysman'