# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Fri Feb 15 17:48:38 EET 2002 [metaconfig 3.0 PL70]
+# Generated on Fri Mar 8 23:12:53 EET 2002 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by perlbug@perl.org)
cat >c1$$ <<EOF
i_sgtty=''
i_termio=''
i_termios=''
+d_tm_tm_gmtoff=''
+d_tm_tm_zone=''
i_systime=''
i_systimek=''
i_time=''
fi
: Set executable suffix now -- needed before hints available
-: maybe Stratus VOS
-if test -f "/system/gnu_library/bin/ar.pm"; then
+if test -f "/libs/version.library"; then
+: Amiga OS
+ _exe=""
+elif test -f "/system/gnu_library/bin/ar.pm"; then
+: Stratus VOS
_exe=".pm"
-fi
-: maybe dos djgpp
-if test -n "$DJGPP"; then
+elif test -n "$DJGPP"; then
+: DOS DJGPP
_exe=".exe"
-fi
-: maybe os/2
-if test -d c:/. ; then
+elif test -d c:/. ; then
+: OS/2 or cygwin
_exe=".exe"
fi
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
+ awk '$1 !~ /PACK[A-Z]+/ {print $1}' "$rsrc/MANIFEST" | (split -l 50 2>/dev/null || split -50)
rm -f missing
tmppwd=`pwd`
for filelist in x??; do
exit 1
;;
*) case "$lns:$issymlink" in
- *"ln -s:"*"test -"?)
+ *"ln"*" -s:"*"test -"?)
echo "Creating the symbolic links..." >&4
echo "(First creating the subdirectories...)" >&4
cd ..
for thisdir in $libspath; do
xxx=''
if $test ! -f "$xxx" -a "X$ignore_versioned_solibs" = "X"; then
- xxx=`ls $thisdir/lib$thislib.$so.[0-9] 2>/dev/null|tail -1`
+ xxx=`ls $thisdir/lib$thislib.$so.[0-9] 2>/dev/null|sed -n '$p'`
$test -f "$xxx" && eval $libscheck
$test -f "$xxx" && libstyle=shared
fi
Gconvert((DOUBLETYPE)123.456, 8, 0, buf);
checkit("123.456", buf);
- /* Testing of 1e+129 in bigintpm.t must not get extra '.' here. */
- Gconvert((DOUBLETYPE)1e30, 8, 0, buf);
- if (strlen(buf) > 5)
- checkit("1e+030", buf); /* for Microsoft */
- else
- checkit("1e+30", buf);
+ /* Testing of 1e+129 in bigintpm.t must not get extra '.' here. */
+ Gconvert((DOUBLETYPE)1e34, 8, 0, buf);
+ /* 34 should be enough to scare even long double
+ * places into using the e notation. */
+ if (strlen(buf) > 5)
+ checkit("1e+034", buf); /* for Microsoft */
+ else
+ checkit("1e+34", buf);
+
+ /* For Perl, if you add additional tests here, also add them to
+ * t/base/num.t for benefit of platforms not using Configure or
+ * overriding d_Gconvert */
exit(0);
}
EOP
-: add prefered functions to our list first
+: first add preferred functions to our list
xxx_list=""
-for xxx_convert in $gcvt_preference; do
+for xxx_convert in $gconvert_preference; do
case $xxx_convert in
gcvt|gconvert|sprintf) xxx_list="$xxx_list $xxx_convert" ;;
- *) echo "Discarding unrecognized gcvt_preference $xxx_convert" ;;
+ *) echo "Discarding unrecognized gconvert_preference $xxx_convert" >&4 ;;
esac
done
: then add any others
"$define$define")
: again, add prefered functions to our list first
xxx_ld_list=""
- for xxx_convert in $gcvt_ld_preference; do
+ for xxx_convert in $gconvert_ld_preference; do
case $xxx_convert in
qgcvt|gcvt|gconvert|sprintf) xxx_ld_list="$xxx_ld_list $xxx_convert" ;;
- *) echo "Discarding unrecognized gcvt_preference $xxx_convert" ;;
+ *) echo "Discarding unrecognized gconvert_ld_preference $xxx_convert" ;;
esac
done
: then add qgcvt, sprintf--then, in xxx_list order, gconvert and gcvt
echo "$xxx_convert NOT found." >&4
fi
done
-
+
if test X$xxx_convert = X; then
echo "*** WHOA THERE!!! ***" >&4
echo "None of ($xxx_list) seemed to work properly. I'll use sprintf." >&4
esac
$rm -f try.c try
fi
+: see if struct tm knows about tm_zone
+case "$i_systime$i_time" in
+*$define*)
+ echo " "
+ echo "Checking to see if your struct tm has tm_zone field..." >&4
+ set d_tm_tm_zone tm tm_zone $i_systime sys/time.h $i_time time.h
+ eval $hasfield
+ ;;
+*) val="$undef"
+ set d_tm_tm_zone
+ eval $setvar
+ ;;
+esac
+case "$d_tm_tm_zone" in
+"$define") echo "Yes, it does." ;;
+*) echo "No, it doesn't." ;;
+esac
+: see if struct tm knows about tm_gmtoff
+case "$i_systime$i_time" in
+*$define*)
+ echo " "
+ echo "Checking to see if your struct tm has tm_gmtoff field..." >&4
+ set d_tm_tm_gmtoff tm tm_gmtoff $i_systime sys/time.h $i_time time.h
+ eval $hasfield
+ ;;
+*) val="$undef"
+ set d_tm_tm_gmtoff
+ eval $setvar
+ ;;
+esac
+case "$d_tm_tm_gmtoff" in
+"$define") echo "Yes, it does." ;;
+*) echo "No, it doesn't." ;;
+esac
: check for fd_set items
$cat <<EOM
set d_procselfexe
eval $setvar
+: see whether the pthread_atfork exists
+$cat >try.c <<EOP
+#include <pthread.h>
+#include <stdio.h>
+int main() {
+#ifdef PTHREAD_ATFORK
+ pthread_atfork(NULL,NULL,NULL);
+#endif
+}
+EOP
+
: see if pthread_atfork exists
-set pthread_atfork d_pthread_atfork
-eval $inlibc
+set try -DPTHREAD_ATFORK
+if eval $compile; then
+ val="$define"
+else
+ val="$undef"
+fi
+case "$usethreads" in
+$define)
+ case "$val" in
+ $define) echo 'pthread_atfork found.' >&4 ;;
+ *) echo 'pthread_atfork NOT found.' >&4 ;;
+ esac
+esac
+set d_pthread_atfork
+eval $setvar
: see whether the various POSIXish _yields exist
set signal
if eval $compile_ok; then
- $run ./signal$_exe | $sort -n +1 | $uniq | $awk -f signal.awk >signal.lst
+ $run ./signal$_exe | ($sort -n -k 2 2>/dev/null || $sort -n +1) | $uniq | $awk -f signal.awk >signal.lst
else
echo "(I can't seem be able to compile the whole test program)" >&4
echo "(I'll try it in little pieces.)" >&4
done
if $test -s signal.ls1; then
$cat signal.nsg signal.ls1 |
- $sort -n +1 | $uniq | $awk -f signal.awk >signal.lst
+ $sort -n | $uniq | $awk -f signal.awk >signal.lst
fi
fi
# Special case: Add in threads/shared since it is not picked up by the
# recursive find above (and adding in general recursive finding breaks
# SDBM_File/sdbm). A.D. 10/25/2001.
-known_extensions="$known_extensions threads/shared"
+# Encode::XX need explicit mentions for the same reason.
+# --jhi 2002-03-04
+known_extensions="$known_extensions threads/shared Encode/CN Encode/JP Encode/KR Encode/TW"
set X $nonxs_extensions
shift
nonxs_extensions="$*"
d_telldirproto='$d_telldirproto'
d_time='$d_time'
d_times='$d_times'
+d_tm_tm_gmtoff='$d_tm_tm_gmtoff'
+d_tm_tm_zone='$d_tm_tm_zone'
d_truncate='$d_truncate'
d_tzname='$d_tzname'
d_u32align='$d_u32align'