# $Id: Head.U 6 2006-08-25 22:21:46Z rmanfredi $
#
-# Generated on Sat May 17 16:03:30 CEST 2008 [metaconfig 3.5 PL0]
+# Generated on Fri Aug 8 16:16:43 CEST 2008 [metaconfig 3.5 PL0]
# (with additional metaconfig patches by perlbug@perl.org)
cat >c1$$ <<EOF
d_telldirproto=''
d_time=''
timetype=''
+d_timegm=''
clocktype=''
d_times=''
d_tmpnam_r=''
d_stdio_stream_array=''
stdio_stream_array=''
sysman=''
+sGMTIME_max=''
+sGMTIME_min=''
trnl=''
uidformat=''
uidsign=''
_exe=".exe"
fi
+groupstype=''
i_whoami=''
: Trailing extension. Override this in a hint file, if needed.
: Extra object files, if any, needed on this platform.
archobjs=''
archname=''
-groupstype=''
libnames=''
: change the next line if compiling for Xenix/286 on Xenix/386
xlibpth='/usr/lib/386 /lib/386'
echo "#!$xcat" >sharp
$eunicefix sharp
chmod +x sharp
- ./sharp > today
+ ./sharp > today 2>/dev/null
if test -s today; then
sharpbang='#!'
else
echo "#! $xcat" > sharp
$eunicefix sharp
chmod +x sharp
- ./sharp > today
+ ./sharp > today 2>/dev/null
if test -s today; then
sharpbang='#! '
else
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" |\
+ awk '$1 !~ /PACK[A-Z]+/ {print $1}' "$rsrc/MANIFEST" | \
(split -l 50 2>/dev/null || split -50)
rm -f missing
tmppwd=`pwd`
case "$ccflags" in
*-posix*) dflt="$dflt -posix" ;;
esac
- # See note above about -fstack-protector
- case "$ccflags" in
- *-fstack-protector*) dflt="$dflt -fstack-protector" ;;
- esac
;;
*) dflt="$ldflags";;
esac
+# See note above about -fstack-protector
+case "$ccflags" in
+*-fstack-protector*)
+ case "$dflt" in
+ *-fstack-protector*) ;; # Don't add it again
+ *) dflt="$dflt -fstack-protector" ;;
+ esac
+ ;;
+esac
: Try to guess additional flags to pick up local libraries.
for thislibdir in $libpth; do
;;
esac
-: get list of predefined functions in a handy place
+: Figure out where the libc is located
case "$runnm" in
true)
+: get list of predefined functions in a handy place
echo " "
case "$libc" in
'') libc=unknown
echo " "
echo "$nm didn't seem to work right. Trying $ar instead..." >&4
com=''
- if $ar t $libc > libc.tmp && $contains '^fprintf$' libc.tmp >/dev/null 2>&1; then
+ if $ar t $libc > libc.tmp && \
+ $contains '^fprintf$' libc.tmp >/dev/null 2>&1
+ then
for thisname in $libnames $libc; do
$ar t $thisname >>libc.tmp
done
$sed -e "s/\\$_o\$//" < libc.tmp > libc.list
echo "Ok." >&4
elif test "X$osname" = "Xos2" && $ar tv $libc > libc.tmp; then
- # Repeat libc to extract forwarders to DLL entries too
for thisname in $libnames $libc; do
$ar tv $thisname >>libc.tmp
- # Revision 50 of EMX has bug in $ar.
- # it will not extract forwarders to DLL entries
- # Use emximp which will extract exactly them.
emximp -o tmp.imp $thisname \
2>/dev/null && \
$sed -e 's/^\([_a-zA-Z0-9]*\) .*$/\1/p' \
< tmp.imp >>libc.tmp
- $rm tmp.imp
+ $rm -f tmp.imp
done
$sed -e "s/\\$_o\$//" -e 's/^ \+//' < 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
+ if bld t $libc | \
+ $sed -e 's/.*\///' -e "s/\\$_o:.*\$//" > libc.list &&
+ $test -s libc.list
then
for thisname in $libnames; do
bld t $libnames | \
*) 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[0-9]*[ ]*$/\1/p' /lib/syscalls.exp >>libc.list
+ $sed -n 's/^\([^ ]*\)[ ]*syscall[0-9]*[ ]*$/\1/p' \
+ /lib/syscalls.exp >>libc.list
fi
;;
esac
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`
+ -e 1q 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`
+ -e 1q 2>/dev/null`
;;
esac
fi
EOP
set try
-d_sprintf_returns_strlen="$undef"
if eval $compile; then
xxx="`$run ./try`"
case "$?" in
d_sprintf_returns_strlen="$undef"
;;
esac
+else
+ echo "(I can't seem to compile the test program--assuming it doesn't)" >&4
+ d_sprintf_returns_strlen="$undef"
fi
$rm_try
eval $setvar
fi
+: see if timegm exists
+set timegm d_timegm
+eval $inlibc
+
: see if this is a sys/times.h system
set sys/times.h i_systimes
eval $inhdr
fi
fi
fi
- $rm_try
+ $rm -f core try.core core.try.*
case "$fflushNULL" in
x) $cat >&4 <<EOM
Your fflush(NULL) works okay for output streams.
esac
;;
*) dflt="$pager"
- : Instruct ./getfile to trust the hinted or previous pager value,
- : even if it does not begin with a slash. For example, on os2,
- : pager might be cmd /c more. See comments in UU/getfile.
fn="f/($pager)"
;;
esac
fi
$rm -f foo* bar*
+: see if this is a values.h system
+set values.h i_values
+eval $inhdr
+
+: Check the max offset that gmtime accepts
+echo "Checking max offsets that gmtime () accepts"
+
+case $i_values in
+ define) yyy="#include <values.h>" ;;
+ *) yyy="" ;;
+ esac
+
+$cat >try.c <<EOCP
+#include <sys/types.h>
+#include <stdio.h>
+#include <time.h>
+$yyy
+
+int i;
+struct tm *tmp;
+time_t pt;
+
+void gm_check (time_t t)
+{
+ tmp = gmtime (&t);
+ if (tmp == NULL || tmp->tm_year < -1900)
+ tmp = NULL;
+ else
+ pt = t;
+ } /* gm_check */
+
+int check_max ()
+{
+ tmp = NULL;
+ pt = 0;
+#ifdef MAXLONG
+ gm_check (MAXLONG);
+#endif
+ if (tmp == NULL || tmp->tm_year < 0) {
+ for (i = 63; i >= 0; i--) {
+ time_t x = pt | ((time_t)1 << i);
+ if (x < 0) continue;
+ gm_check (x);
+ }
+ }
+ printf ("sGMTIME_max=%ld\n", pt);
+ return (0);
+ }
+
+int check_min ()
+{
+ tmp = NULL;
+ pt = 0;
+#ifdef MINLONG
+ gm_check (MINLONG);
+#endif
+ if (tmp == NULL) {
+ for (i = 36; i >= 0; i--) {
+ time_t x = pt - ((time_t)1 << i);
+ if (x > 0) continue;
+ gm_check (x);
+ }
+ }
+ printf ("sGMTIME_min=%ld\n", pt);
+ return (0);
+ }
+
+int main (int argc, char *argv[])
+{
+ fprintf (stderr, "Sizeof time_t = %ld\n", sizeof (time_t));
+ check_max ();
+ check_min ();
+ return (0);
+ } /* main */
+EOCP
+set try
+if eval $compile; then
+ yyy=`$run ./try`
+ eval $yyy
+else
+ echo "Cannot determine sGMTIME_max and sGMTIME_min." >&4
+ fi
+$rm_try
+
: check for type of arguments to select.
case "$selecttype" in
'') case "$d_select" in
: see what type of char stdio uses.
echo " "
-echo '#include <stdio.h>' > stdio.c
-$cppstdin $cppminus < stdio.c > stdioh
+echo '#include <stdio.h>' | $cppstdin $cppminus > stdioh
if $contains 'unsigned.*char.*_ptr;' stdioh >/dev/null 2>&1 ; then
echo "Your stdio uses unsigned chars." >&4
stdchar="unsigned char"
echo "Your stdio uses signed chars." >&4
stdchar="char"
fi
-$rm -f stdio.* stdioh
+$rm -f stdioh
: see what type uids are declared as in the kernel
echo " "
set i_gdbm
eval $setvar
-: see if this is a ieeefp.h system
-case "$i_ieeefp" in
-'' ) set ieeefp.h i_ieeefp
- eval $inhdr
- ;;
-esac
-
-: see if this is a libutil.h system
-set libutil.h i_libutil
-eval $inhdr
-
-: see if mach cthreads are available
-if test "X$usethreads" = "X$define"; then
- set mach/cthreads.h i_machcthr
- eval $inhdr
-else
- i_machcthr="$undef"
-fi
-
-: see if this is a mntent.h system
-set mntent.h i_mntent
-eval $inhdr
-
: see if ndbm.h is available
set ndbm.h i_ndbm
eval $inhdr
set d_ndbm
eval $setvar
+: see if this is a ieeefp.h system
+case "$i_ieeefp" in
+'' ) set ieeefp.h i_ieeefp
+ eval $inhdr
+ ;;
+esac
+
+: see if this is a libutil.h system
+set libutil.h i_libutil
+eval $inhdr
+
+: see if mach cthreads are available
+if test "X$usethreads" = "X$define"; then
+ set mach/cthreads.h i_machcthr
+ eval $inhdr
+else
+ i_machcthr="$undef"
+fi
+
+: see if this is a mntent.h system
+set mntent.h i_mntent
+eval $inhdr
+
: see if net/errno.h is available
val=''
set net/errno.h val
set utime.h i_utime
eval $inhdr
-: see if this is a values.h system
-set values.h i_values
-eval $inhdr
-
: see if this is a vfork system
case "$d_vfork" in
"$define")
d_telldir='$d_telldir'
d_telldirproto='$d_telldirproto'
d_time='$d_time'
+d_timegm='$d_timegm'
d_times='$d_times'
d_tm_tm_gmtoff='$d_tm_tm_gmtoff'
d_tm_tm_zone='$d_tm_tm_zone'
rmail='$rmail'
run='$run'
runnm='$runnm'
+sGMTIME_max='$sGMTIME_max'
+sGMTIME_min='$sGMTIME_min'
sPRIEUldbl='$sPRIEUldbl'
sPRIFUldbl='$sPRIFUldbl'
sPRIGUldbl='$sPRIGUldbl'