# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Tue Jun 27 04:45:48 EET DST 2000 [metaconfig 3.0 PL70]
+# Generated on Wed Aug 16 02:10:47 EET DST 2000 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by perlbug@perl.com)
cat >/tmp/c1$$ <<EOF
d_pipe=''
d_poll=''
d_portable=''
+d_printf_exp_digits=''
d_old_pthread_create_joinable=''
old_pthread_create_joinable=''
d_pthread_yield=''
d_bsdsetpgrp=''
d_setpgrp=''
d_setprior=''
+d_setproctitle=''
d_setpwent=''
d_setregid=''
d_setresgid=''
fflushall=''
fpossize=''
fpostype=''
+gccosandvers=''
gccversion=''
gidformat=''
gidsign=''
i_iconv=''
i_ieeefp=''
i_inttypes=''
+i_libutil=''
i_limits=''
i_locale=''
i_machcthr=''
archname64=''
use64bitall=''
use64bitint=''
+ccflags_uselargefiles=''
+ldflags_uselargefiles=''
+libswanted_uselargefiles=''
uselargefiles=''
uselongdouble=''
usemorebits=''
libswanted=''
: some systems want to use only the non-versioned libso:s
ignore_versioned_solibs=''
+ccflags_uselargefiles=''
+ldflags_uselargefiles=''
+libswanted_uselargefiles=''
: set usemultiplicity on the Configure command line to enable multiplicity.
: set usesocks on the Configure command line to enable socks.
: set usethreads on the Configure command line to enable threads.
libswanted='sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl'
libswanted="$libswanted dld ld sun m c cposix posix"
libswanted="$libswanted ndir dir crypt sec"
-libswanted="$libswanted ucb bsd BSD PW x iconv"
+libswanted="$libswanted ucb bsd BSD PW x iconv util"
: We probably want to search /usr/shlib before most other libraries.
: This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
You may safely delete it if you wish.
EOF
+xpatchlevel=`awk '/define[ ]+PERL_VERSION/ {print $3}' $rsrc/patchlevel.h`
+case "$usedevel" in
+$define|true|[yY]*) ;;
+*) case "$xpatchlevel" in
+ *[13579])
+ cat >&4 <<EOH
+*** WHOA THERE!!! ***
+
+ This is an UNSTABLE DEVELOPMENT release.
+ (The patchlevel, $xpatchlevel, is odd--as opposed to even,
+ and that signifies a development release. If you want a
+ maintenance release, you want an even-numbered release.)
+
+ Do ***NOT*** install this into production use.
+ Data corruption and crashes are possible.
+
+ It is most seriously suggested that you do not continue any further
+ unless you want to help in developing and debugging Perl.
+
+EOH
+ rp='Do you really want to continue?'
+ dflt='n'
+ . ./myread
+ case "$ans" in
+ [yY]) echo >&4 "Okay, continuing." ;;
+ *) echo >&4 "Okay, bye."
+ exit 1
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+esac
+
: general instructions
needman=true
firsttime=true
;;
esac
+cat <<EOS >checkcc
+$startsh
+EOS
+cat <<'EOSC' >>checkcc
+case "$cc" in
+'') ;;
+*) $rm -f try try.*
+ $cat >try.c <<EOM
+int main(int argc, char *argv[]) {
+ return 0;
+}
+EOM
+ if $cc -o try try.c; then
+ :
+ else
+ echo "Uh-oh, the C compiler '$cc' doesn't seem to be working." >&4
+ despair=yes
+ trygcc=yes
+ case "$cc" in
+ *gcc*) trygcc=no ;;
+ esac
+ case "`$cc -v -c try.c 2>&1`" in
+ *gcc*) trygcc=no ;;
+ esac
+ if $test X"$trygcc" = Xyes; then
+ if gcc -o try -c try.c; then
+ echo " "
+ echo "You seem to have a working gcc, though." >&4
+ rp="Would you like to use it?"
+ dflt=y
+ if $test -f myread; then
+ . ./myread
+ else
+ if $test -f UU/myread; then
+ . ./UU/myread
+ else
+ echo "Cannot find myread, sorry. Aborting." >&2
+ exit 1
+ fi
+ fi
+ case "$ans" in
+ [yY]*) cc=gcc; ccflags=''; despair=no ;;
+ esac
+ fi
+ fi
+ if $test X"$despair" = Xyes; then
+ echo "You need to find a working C compiler." >&4
+ echo "I cannot continue any further, aborting." >&4
+ exit 1
+ fi
+ fi
+ $rm -f try try.*
+ ;;
+esac
+EOSC
+
: determine whether symbolic links are supported
echo " "
$touch blurfl
;;
esac
fi
+. ./UU/checkcc
if test ! -f config.sh; then
$cat <<EOM
osf1|mls+) case "$5" in
alpha)
osname=dec_osf
- osvers=`echo "$3" | sed 's/^[xvt]//'`
+ osvers=`sizer -v | awk '{print $3}' | tr '[A-Z]' '[a-z]' | sed 's/^[xvt]//'`
+ case "$osvers" in
+ [1-9].[0-9]*) ;;
+ *) osvers=`echo "$3" | sed 's/^[xvt]//'` ;;
+ esac
;;
hp*) osname=hp_osf1 ;;
mips) osname=mips_osf1 ;;
if $test -f cc.cbu; then
. ./cc.cbu
fi
-: Quick sanity check, we will do a fuller one later when we know
-: the various flags and libs
-$rm -f try try.*
-$cat >try.c <<EOM
-int main(int argc, char *argv[]) {
- return 0;
-}
-EOM
-if $cc -o try try.c; then
- :
-else
- echo "Uh-oh, the C compiler "$cc" doesn't seem to be working..." >&4
- despair=yes
- trygcc=yes
- case "$cc" in
- *gcc) trygcc=no ;;
- esac
- case "`$cc -v 2>&1`" in
- *gcc*) trygcc=no ;;
- esac
- if $test X"$trygcc" = Xyes; then
- if gcc -o try try.c; then
- echo " "
- echo "You seem to have a working gcc, though."
- rp="Do you want to use it?"
- dflt=y
- . ./myread
- case "$ans" in
- [yY]*) cc=gcc; despair=no ;;
- esac
- fi
- fi
- if $test X"$despair" = Xyes; then
- echo "You need to find a working C compiler." >&4
- echo "I cannot continue any further, aborting." >&4
- exit 1
- fi
-fi
-$rm -f try try.*
-
+. ./checkcc
echo " "
echo "Checking for GNU cc in disguise and/or its version number..." >&4
case "$gccversion" in
1*) cpp=`./loc gcc-cpp $cpp $pth` ;;
esac
+case "$gccversion" in
+'') gccosandvers='' ;;
+*) gccshortvers=`echo "$gccversion"|sed 's/ .*//'`
+ gccosandvers=`$cc -v 2>&1|grep '/specs$'|sed "s!.*/[^-/]*-[^-/]*-\([^-/]*\)/$gccshortvers/specs!\1!"`
+ gccshortvers=''
+ case "$gccosandvers" in
+ $osname) gccosandvers='' ;; # linux gccs seem to have no linux osvers, grr
+ $osname$osvers) ;; # looking good
+ $osname*) cat <<EOM >&4
+
+*** WHOA THERE!!! ***
+
+ Your gcc has not been compiled for the exact release of
+ your operating system ($gccosandvers versus $osname$osvers).
+
+ In general it is a good idea to keep gcc synchronized with
+ the operating system because otherwise serious problems
+ may ensue when trying to compile software, like Perl.
+
+ I'm trying to be optimistic here, though, and will continue.
+ If later during the configuration and build icky compilation
+ problems appear (headerfile conflicts being the most common
+ manifestation), I suggest reinstalling the gcc to match
+ your operating system release.
+
+EOM
+ ;;
+ *) gccosandvers='' ;; # failed to parse, better be silent
+ esac
+ ;;
+esac
+
+
+
: see how we invoke the C preprocessor
echo " "
set try
if eval $compile; then
val="$define"
- echo "You have have long long."
+ echo "You have long long."
else
val="$undef"
echo "You do not have long long."
set poll d_poll
eval $inlibc
+echo " "
+echo "Checking how many exponent digits your sprintf formats use..."
+$cat >try.c <<'EOSC'
+#include <stdio.h>
+int main() {
+ char b[10];
+ exit(sprintf(b, "%0.1e", 1.2) - 5);
+}
+EOSC
+set try
+if eval $compile; then
+ ./try$_exe
+ case "$?" in
+ 2|3) d_printf_exp_digits=$? ;;
+ esac
+fi
+case "$d_printf_exp_digits" in
+2|3) echo "Your sprintf seems to use $d_printf_exp_digits exponent digits."
+ ;;
+*) cat <<EOM >&4
+I do not understand what your sprintf is saying.
+I'm guessing it uses at least 2 exponent digits.
+EOM
+ d_printf_exp_digits=2
+ ;;
+esac
+$rm -f try try.*
+
: see whether the various POSIXish _yields exist
$cat >try.c <<EOP
set setpriority d_setprior
eval $inlibc
+: see if setproctitle exists
+set setproctitle d_setproctitle
+eval $inlibc
+
: see if setpwent exists
set setpwent d_setpwent
eval $inlibc
set ieeefp.h i_ieeefp
eval $inhdr
+: see if this is a libutil.h system
+set libutil.h i_libutil
+eval $inhdr
+
: see if locale.h is available
set locale.h i_locale
eval $inhdr
EOSH
./tr '[a-z]' '[A-Z]' < Cppsym.know > Cppsym.a
./tr '[A-Z]' '[a-z]' < Cppsym.know > Cppsym.b
-$cat Cppsym.a Cppsym.b | $tr ' ' $trnl | sort | uniq > Cppsym.know
-$rm -f Cppsym.a Cppsym.b
+$cat Cppsym.know > Cppsym.c
+$cat Cppsym.a Cppsym.b Cppsym.c | $tr ' ' $trnl | sort | uniq > Cppsym.know
+$rm -f Cppsym.a Cppsym.b Cppsym.c
cat <<EOSH > Cppsym
$startsh
if $test \$# -gt 0; then
ccflags="$ccflags"
case "$osname-$gccversion" in
irix-) ccflags="\$ccflags -woff 1178" ;;
+os2-*) ccflags="\$ccflags -Zlinker /PM:VIO" ;;
esac
$cc $optimize \$ccflags $ldflags -o try try.c $libs && ./try$exe_ext
EOSH
else
if $test -s ccsym.com; then
echo "Your C compiler and pre-processor define these symbols:"
- $sed -e 's/\(.*\)=.*/\1/' ccsym.com
+ $sed -e 's/\(..*\)=.*/\1/' ccsym.com
also='also '
symbols='ones'
cppccsymbols=`$cat ccsym.com`
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
+ $sed -e 's/\(..*\)=.*/\1/' ccsym.cpp
also='further '
cppsymbols=`$cat ccsym.cpp`
cppsymbols=`echo $cppsymbols`
if $test -s ccsym.own; then
$test "$also" && echo " "
echo "Your C compiler ${also}defines the following cpp symbols:"
- $sed -e 's/\(.*\)=1/\1/' ccsym.own
- $sed -e 's/\(.*\)=.*/\1/' ccsym.own | $uniq >>Cppsym.true
+ $sed -e 's/\(..*\)=1/\1/' ccsym.own
+ $sed -e 's/\(..*\)=.*/\1/' ccsym.own | $uniq >>Cppsym.true
ccsymbols=`$cat ccsym.own`
ccsymbols=`echo $ccsymbols`
$test "$silent" || sleep 1
fi
fi
-$rm -f ccsym*
+$rm -f ccsym* Cppsym.*
: see if this is a termio system
val="$undef"
true|$define|y) avail_ext="$avail_ext $xxx" ;;
esac
;;
+ Sys/Syslog|sys/syslog)
+ : XXX syslog requires socket
+ case "$d_socket" in
+ true|$define|y) avail_ext="$avail_ext $xxx" ;;
+ esac
+ ;;
Thread|thread)
case "$usethreads" in
true|$define|y) avail_ext="$avail_ext $xxx" ;;
cccdlflags='$cccdlflags'
ccdlflags='$ccdlflags'
ccflags='$ccflags'
+ccflags_uselargefiles='$ccflags_uselargefiles'
ccsymbols='$ccsymbols'
cf_by='$cf_by'
cf_email='$cf_email'
d_pipe='$d_pipe'
d_poll='$d_poll'
d_portable='$d_portable'
+d_printf_exp_digits='$d_printf_exp_digits'
d_pthread_yield='$d_pthread_yield'
d_pwage='$d_pwage'
d_pwchange='$d_pwchange'
d_setpgrp2='$d_setpgrp2'
d_setpgrp='$d_setpgrp'
d_setprior='$d_setprior'
+d_setproctitle='$d_setproctitle'
d_setpwent='$d_setpwent'
d_setregid='$d_setregid'
d_setresgid='$d_setresgid'
full_ar='$full_ar'
full_csh='$full_csh'
full_sed='$full_sed'
+gccosandvers='$gccosandvers'
gccversion='$gccversion'
gidformat='$gidformat'
gidsign='$gidsign'
i_iconv='$i_iconv'
i_ieeefp='$i_ieeefp'
i_inttypes='$i_inttypes'
+i_libutil='$i_libutil'
i_limits='$i_limits'
i_locale='$i_locale'
i_machcthr='$i_machcthr'
ld='$ld'
lddlflags='$lddlflags'
ldflags='$ldflags'
+ldflags_uselargefiles='$ldflags_uselargefiles'
ldlibpthname='$ldlibpthname'
less='$less'
lib_ext='$lib_ext'
libsfound='$libsfound'
libspath='$libspath'
libswanted='$libswanted'
+libswanted_uselargefiles='$libswanted_uselargefiles'
line='$line'
lint='$lint'
lkflags='$lkflags'