Configure syncup
authorH.Merijn Brand <h.m.brand@xs4all.nl>
Sun, 23 Nov 2014 18:45:33 +0000 (19:45 +0100)
committerH.Merijn Brand <h.m.brand@xs4all.nl>
Sun, 23 Nov 2014 18:45:33 +0000 (19:45 +0100)
Some of these changes also made it upstream to the dist svn repo.
OpenSource++

16 files changed:
Configure
Cross/config.sh-arm-linux
NetWare/config.wc
Porting/Glossary
Porting/config.sh
config_h.SH
configure.com
metaconfig.h
plan9/config_sh.sample
symbian/config.sh
uconfig.h
uconfig.sh
uconfig64.sh
win32/config.ce
win32/config.gc
win32/config.vc

index 69dd589..4a014d6 100755 (executable)
--- a/Configure
+++ b/Configure
 # Yes, you may rip this off to use in other distribution packages. This
 # script belongs to the public domain and cannot be copyrighted.
 #
-# Note: this Configure script was generated automatically. Rather than
-# working with this copy of Configure, you may wish to get metaconfig.
-# The dist package (which contains metaconfig) is available via SVN:
-#     svn co https://svn.code.sf.net/p/dist/code/trunk/dist
+# Note: this Configure script was generated automatically by the tool
+# called "metaconfig". Rather than working with this copy of Configure,
+# you may wish to get metaconfig. Perl uses a modified version of this
+# tool, available in the "dist" folder in the checkout of the git repo
+#    $ git clone git://perl5.git.perl.org/metaconfig.git metaconfig
+# The original dist package (including metaconfig) is available via SVN:
+#    $ svn co https://svn.code.sf.net/p/dist/code/trunk/dist
 #
 # Though this script was generated by metaconfig from metaunits, it is
 # OK to send patches against Configure itself. It's up to the Configure
@@ -26,7 +29,6 @@
 #     $ git clone git://perl5.git.perl.org/metaconfig.git metaconfig
 #
 # See Porting/pumpkin.pod for more information on metaconfig.
-#
 
 # Generated using [metaconfig 3.5 PL0]
 # (with additional metaconfig patches by perlbug@perl.org)
@@ -373,12 +375,12 @@ d__fwalk=''
 d_access=''
 d_accessx=''
 d_acosh=''
-d_asinh=''
-d_atanh=''
 d_aintl=''
 d_alarm=''
 asctime_r_proto=''
 d_asctime_r=''
+d_asinh=''
+d_atanh=''
 d_attribute_deprecated=''
 d_attribute_format=''
 d_attribute_malloc=''
@@ -467,10 +469,10 @@ d_fchmod=''
 d_fchown=''
 d_fcntl=''
 d_fcntl_can_lock=''
-d_fdim=''
 d_fd_macros=''
 d_fd_set=''
 d_fds_bits=''
+d_fdim=''
 d_fegetround=''
 d_fgetpos=''
 d_finite=''
@@ -478,7 +480,6 @@ d_finitel=''
 d_flexfnam=''
 d_flock=''
 d_flockproto=''
-d_fdim=''
 d_fma=''
 d_fmax=''
 d_fmin=''
@@ -602,12 +603,14 @@ d_isfinite=''
 d_isfinitel=''
 d_isinf=''
 d_isinfl=''
+d_isless=''
 d_isnan=''
 d_isnanl=''
 d_isnormal=''
 d_j0=''
 d_j0l=''
 d_killpg=''
+d_lc_monetary_2008=''
 d_lchown=''
 d_ldbl_dig=''
 d_lgamma=''
@@ -620,12 +623,11 @@ d_localtime_r=''
 d_localtime_r_needs_tzset=''
 localtime_r_proto=''
 d_locconv=''
-d_lc_monetary_2008=''
 d_lockf=''
-d_ldexpl=''
 d_log1p=''
 d_log2=''
 d_logb=''
+d_ldexpl=''
 d_longdbl=''
 longdblkind=''
 longdblsize=''
@@ -706,6 +708,9 @@ readdir_r_proto=''
 d_readlink=''
 d_readv=''
 d_recvmsg=''
+d_re_comp=''
+d_regcmp=''
+d_regcomp=''
 d_remainder=''
 d_remquo=''
 d_rename=''
@@ -808,6 +813,7 @@ d_srandom_r=''
 srandom_r_proto=''
 d_sresgproto=''
 d_sresuproto=''
+d_stat=''
 d_statblks=''
 d_statfs_f_flags=''
 d_statfs_s=''
@@ -856,6 +862,7 @@ d_system=''
 d_tcgetpgrp=''
 d_tcsetpgrp=''
 d_telldirproto=''
+d_tgamma=''
 d_time=''
 timetype=''
 d_asctime64=''
@@ -869,7 +876,6 @@ clocktype=''
 d_times=''
 d_tmpnam_r=''
 tmpnam_r_proto=''
-d_tgamma=''
 d_trunc=''
 d_truncate=''
 d_truncl=''
@@ -911,7 +917,6 @@ ld=''
 ld_can_script=''
 lddlflags=''
 usedl=''
-doublekind=''
 doublesize=''
 ebcdic=''
 fflushNULL=''
@@ -1086,6 +1091,7 @@ d_PRIeldbl=''
 d_PRIfldbl=''
 d_PRIgldbl=''
 d_SCNfldbl=''
+doublekind=''
 sPRIEUldbl=''
 sPRIFUldbl=''
 sPRIGUldbl=''
@@ -1298,7 +1304,6 @@ libswanted_uselargefiles=''
 uselargefiles=''
 uselongdouble=''
 usemorebits=''
-usequadmath=''
 usemultiplicity=''
 nm_opt=''
 nm_so_opt=''
@@ -1306,6 +1311,7 @@ runnm=''
 usenm=''
 usensgetexecutablepath=''
 useperlio=''
+usequadmath=''
 usesocks=''
 d_oldpthreads=''
 use5005threads=''
@@ -2864,13 +2870,13 @@ $define|true|[yY]*)
                             }
                             {
                                 print "# dir = ", dir, "file = ", file
-                                mf[dir] = mf[dir]" "src"/"dir"/"file;
+                                mf[dir] = mf[dir]" "source"/"dir"/"file;
                             } END {
                                 for (d in mf) {
                                     if (d != ".") { print("mkdir -p "d) }
                                     print("ln -sf "mf[d]" "d);
                                 }
-                            }' src="$src" > UU/mksymlinks.$$
+                            }' source="$src" > UU/mksymlinks.$$
                        sh UU/mksymlinks.$$
                        rm UU/mksymlinks.$$
                        # Sanity check 1.
@@ -4487,14 +4493,6 @@ esac
 set usemultiplicity
 eval $setvar
 
-: Check if usequadmath is requested
-case "$usequadmath" in
-"$define"|true|[yY]*)
-       usequadmath="$define"
-       ;;
-*)     usequadmath="$undef" ;;
-esac
-
 : Check if morebits is requested
 case "$usemorebits" in
 "$define"|true|[yY]*)
@@ -5202,6 +5200,12 @@ EOM
     esac
 fi
 
+: Check if quadmath is requested
+case "$usequadmath" in
+"$define"|true|[yY]*) usequadmath="$define" ;;
+*)                    usequadmath="$undef"  ;;
+esac
+
 : Looking for optional libraries
 echo " "
 echo "Checking for optional libraries..." >&4
@@ -6828,93 +6832,6 @@ $rm_try
 set float.h i_float
 eval $inhdr
 
-echo " "
-$echo "Checking the kind of doubles you have..." >&4
-$cat <<EOP >try.c
-#$i_stdlib I_STDLIB
-#define DOUBLESIZE $doublesize
-#ifdef I_STDLIB
-#include <stdlib.h>
-#endif
-#include <stdio.h>
-static const double d = -0.1;
-int main() {
-  unsigned const char* b = (unsigned const char*)(&d);
-#if DOUBLESIZE == 4
-  if (b[0] == 0xCD && b[3] == 0xBD) {
-    /* IEEE 754 32-bit little-endian */
-    printf("1\n");
-    exit(0);
-  }
-  if (b[0] == 0xBD && b[3] == 0xCD) {
-    /* IEEE 754 32-bit big-endian */
-    printf("2\n");
-    exit(0);
-  }
-#endif
-#if DOUBLESIZE == 8
-  if (b[0] == 0x9A && b[7] == 0xBF) {
-    /* IEEE 754 64-bit little-endian */
-    printf("3\n");
-    exit(0);
-  }
-  if (b[0] == 0xBF && b[7] == 0x9A) {
-    /* IEEE 754 64-bit big-endian */
-    printf("4\n");
-    exit(0);
-  }
-  if (b[0] == 0x99 && b[3] == 0xBF && b[4] == 0x9A && b[7] == 0x99) {
-   /* ARM mixed endian: two little-endian 32-bit floats, in big endian order:
-    * 4 5 6 7 0 1 2 3 (MSB = 7, LSB = 0)
-    * 99 99 b9 bf 9a 99 99 99 */
-    printf("7\n");
-    exit(0);
-  }
-  if (b[0] == 0x99 && b[3] == 0x9A && b[4] == 0xBF && b[7] == 0x99) {
-   /* The opposite of case 7, mixed endian: two big-endian 32-bit floats,
-    * in little endian order: 3 2 1 0 7 6 5 4 (MSB = 7, LSB = 0)
-    * 99 99 99 9a bf b9 99 99 */
-    printf("8\n");
-    exit(0);
-  }
-#endif
-#if DOUBLESIZE == 16
-  if (b[0] == 0x9A && b[15] == 0xBF) {
-    /* IEEE 754 128-bit little-endian */
-    printf("5\n");
-    exit(0);
-  }
-  if (b[0] == 0xBF && b[15] == 0x9A) {
-    /* IEEE 754 128-bit big-endian */
-    printf("6\n");
-    exit(0);
-  }
-#endif
-  /* Rumoredly some old ARM processors have 'mixed endian' doubles,
-   * two 32-bit little endians stored in big-endian order. */
-  /* Then there are old mainframe/miniframe formats like VAX, IBM, and CRAY.
-   * Whether those environments can still build Perl is debatable. */
-  printf("-1\n"); /* unknown */
-  exit(0);
-}
-EOP
-set try
-if eval $compile; then
-    doublekind=`$run ./try`
-else
-    doublekind=-1
-fi
-case "$doublekind" in
-1) echo "You have IEEE 754 32-bit little endian doubles." >&4 ;;
-2) echo "You have IEEE 754 32-bit big endian doubles." >&4 ;;
-3) echo "You have IEEE 754 64-bit little endian doubles." >&4 ;;
-4) echo "You have IEEE 754 64-bit big endian doubles." >&4 ;;
-5) echo "You have IEEE 754 128-bit little endian doubles." >&4 ;;
-6) echo "You have IEEE 754 128-bit big endian doubles." >&4 ;;
-*) echo "Cannot figure out your double.  You VAX, or something?" >&4 ;;
-esac
-$rm_try
-
 : check for long doubles
 echo " "
 echo "Checking to see if you have long double..." >&4
@@ -6935,10 +6852,6 @@ eval $setvar
 set ldexpl d_ldexpl
 eval $inlibc
 
-: see if this is a quadmath.h system
-set quadmath.h i_quadmath
-eval $inhdr
-
 : check for length of long double
 case "${d_longdbl}${longdblsize}" in
 $define)
@@ -6973,7 +6886,6 @@ EOCP
 esac
 $rm_try
 
-echo " "
 $echo "Checking the kind of long doubles you have..." >&4
 case "$d_longdbl" in
 define)
@@ -6988,8 +6900,8 @@ $cat <<EOP >try.c
 #ifdef I_STDLIB
 #include <stdlib.h>
 #endif
-static const long double d = -0.1L;
 #include <stdio.h>
+static const long double d = -0.1L;
 int main() {
   unsigned const char* b = (unsigned const char*)(&d);
 #if DOUBLESIZE == LONGDBLSIZE
@@ -7065,188 +6977,40 @@ case "$longdblkind" in
 esac
 $rm_try
 
-: Check print/scan long double stuff
+: determine the architecture name
 echo " "
-
-if $test X"$d_longdbl" = X"$define"; then
-
-echo "Checking how to print long doubles..." >&4
-
-if $test X"$sPRIfldbl" = X -a X"$doublesize" = X"$longdblsize"; then
-       $cat >try.c <<'EOCP'
-#include <sys/types.h>
-#include <stdio.h>
-int main() {
-  double d = 123.456;
-  printf("%.3f\n", d);
-}
-EOCP
-       set try
-       if eval $compile; then
-               yyy=`$run ./try`
-               case "$yyy" in
-               123.456)
-                       sPRIfldbl='"f"'; sPRIgldbl='"g"'; sPRIeldbl='"e"';
-                       sPRIFUldbl='"F"'; sPRIGUldbl='"G"'; sPRIEUldbl='"E"';
-                       echo "We will use %f."
-                       ;;
-               esac
-       fi
-fi
-
-if $test X"$sPRIfldbl" = X; then
-       $cat >try.c <<'EOCP'
-#include <sys/types.h>
-#include <stdio.h>
-int main() {
-  long double d = 123.456;
-  printf("%.3Lf\n", d);
-}
-EOCP
-       set try
-       if eval $compile; then
-               yyy=`$run ./try`
-               case "$yyy" in
-               123.456)
-                       sPRIfldbl='"Lf"'; sPRIgldbl='"Lg"'; sPRIeldbl='"Le"';
-                       sPRIFUldbl='"LF"'; sPRIGUldbl='"LG"'; sPRIEUldbl='"LE"';
-                       echo "We will use %Lf."
-                       ;;
-               esac
-       fi
-fi
-
-if $test X"$sPRIfldbl" = X; then
-       $cat >try.c <<'EOCP'
-#include <sys/types.h>
-#include <stdio.h>
-int main() {
-  long double d = 123.456;
-  printf("%.3llf\n", d);
-}
-EOCP
-       set try
-       if eval $compile; then
-               yyy=`$run ./try`
-               case "$yyy" in
-               123.456)
-                       sPRIfldbl='"llf"'; sPRIgldbl='"llg"'; sPRIeldbl='"lle"';
-                       sPRIFUldbl='"llF"'; sPRIGUldbl='"llG"'; sPRIEUldbl='"llE"';
-                       echo "We will use %llf."
-                       ;;
-               esac
-       fi
-fi
-
-if $test X"$sPRIfldbl" = X; then
-       $cat >try.c <<'EOCP'
-#include <sys/types.h>
-#include <stdio.h>
-int main() {
-  long double d = 123.456;
-  printf("%.3lf\n", d);
-}
-EOCP
-       set try
-       if eval $compile; then
-               yyy=`$run ./try`
-               case "$yyy" in
-               123.456)
-                       sPRIfldbl='"lf"'; sPRIgldbl='"lg"'; sPRIeldbl='"le"';
-                       sPRIFUldbl='"lF"'; sPRIGUldbl='"lG"'; sPRIEUldbl='"lE"';
-                       echo "We will use %lf."
-                       ;;
-               esac
+if xxx=`./loc arch blurfl $pth`; $test -f "$xxx"; then
+       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' \
+                       -e 's/$/'"-$osname/" tmparch`
+       else
+               tarch="$osname"
        fi
-fi
-
-if $test X"$sPRIfldbl" = X; then
-       echo "Cannot figure out how to print long doubles." >&4
+       $rm -f tmparch
 else
-       sSCNfldbl=$sPRIfldbl    # expect consistency
+       tarch="$osname"
 fi
-
-$rm_try
-
-fi # d_longdbl
-
-case "$sPRIfldbl" in
-'')    d_PRIfldbl="$undef"; d_PRIgldbl="$undef"; d_PRIeldbl="$undef";
-       d_PRIFUldbl="$undef"; d_PRIGUldbl="$undef"; d_PRIEUldbl="$undef";
-       d_SCNfldbl="$undef";
-       ;;
-*)     d_PRIfldbl="$define"; d_PRIgldbl="$define"; d_PRIeldbl="$define";
-       d_PRIFUldbl="$define"; d_PRIGUldbl="$define"; d_PRIEUldbl="$define";
-       d_SCNfldbl="$define";
+case "$myarchname" in
+''|"$tarch") ;;
+*)
+       echo "(Your architecture name used to be $myarchname.)"
+       archname=''
        ;;
 esac
-
-: Before committing on uselongdouble, see whether that looks sane.
-if $test "$uselongdouble" = "$define"; then
-    message=""
-    echo " "
-    echo "Checking if your long double math functions work right..." >&4
-    $cat > try.c <<EOF
-#include <math.h>
-#include <stdio.h>
-int main() {
-  printf("%"$sPRIgldbl"\n", sqrtl(logl(expl(cosl(sinl(0.0L))))+powl(2.0L, 3.0L)));
-}
-EOF
-    case "$osname:$gccversion" in
-    aix:)      saveccflags="$ccflags"
-               ccflags="$ccflags -qlongdouble" ;; # to avoid core dump
-    esac
-    set try
-    if eval $compile_ok; then
-      yyy=`$run ./try`
-    fi
-    case "$yyy" in
-    3) echo "Your long double math functions are working correctly." >&4 ;;
-    *) echo "Your long double math functions are broken, not using long doubles." >&4
-       uselongdouble=$undef
-       ;;
-    esac
-    $rm_try
-    case "$osname:$gccversion" in
-    aix:)      ccflags="$saveccflags" ;; # restore
-    esac
-fi
-
-: determine the architecture name
-echo " "
-if xxx=`./loc arch blurfl $pth`; $test -f "$xxx"; then
-       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' \
-                       -e 's/$/'"-$osname/" tmparch`
-       else
-               tarch="$osname"
-       fi
-       $rm -f tmparch
-else
-       tarch="$osname"
-fi
-case "$myarchname" in
-''|"$tarch") ;;
-*)
-       echo "(Your architecture name used to be $myarchname.)"
-       archname=''
-       ;;
-esac
-case "$targetarch" in
-'') ;;
-*)  archname=`echo $targetarch|sed 's,^[^-]*-,,'` ;;
-esac
-myarchname="$tarch"
-case "$archname" in
-'') dflt="$tarch";;
-*) dflt="$archname";;
-esac
-rp='What is your architecture name'
-. ./myread
-archname="$ans"
+case "$targetarch" in
+'') ;;
+*)  archname=`echo $targetarch|sed 's,^[^-]*-,,'` ;;
+esac
+myarchname="$tarch"
+case "$archname" in
+'') dflt="$tarch";;
+*) dflt="$archname";;
+esac
+rp='What is your architecture name'
+. ./myread
+archname="$ans"
 
 : optionally add API version to the architecture for versioned archlibs
 case "$useversionedarchname" in
@@ -7261,40 +7025,40 @@ y|Y)    useversionedarchname="$define" ;;
 esac
 case "$useversionedarchname" in
 $define)
-        case "$archname" in
-        *-$api_versionstring)
-                echo "...and architecture name already has -$api_versionstring" >&4
-                ;;
-        *)
-                archname="$archname-$api_versionstring"
-                echo "...setting architecture name to $archname." >&4
-                ;;
-        esac
-        ;;
+       case "$archname" in
+       *-$api_versionstring)
+               echo "...and architecture name already has -$api_versionstring" >&4
+               ;;
+       *)
+               archname="$archname-$api_versionstring"
+               echo "...setting architecture name to $archname." >&4
+               ;;
+       esac
+       ;;
 esac
 
 case "$usethreads" in
 $define)
        echo "Threads selected." >&4
        case "$archname" in
-        *-thread*) echo "...and architecture name already has -thread." >&4
-                ;;
-        *)      archname="$archname-thread"
-                echo "...setting architecture name to $archname." >&4
-                ;;
-        esac
+       *-thread*) echo "...and architecture name already has -thread." >&4
+               ;;
+       *)      archname="$archname-thread"
+               echo "...setting architecture name to $archname." >&4
+               ;;
+       esac
        ;;
 esac
 case "$usemultiplicity" in
 $define)
        echo "Multiplicity selected." >&4
        case "$archname" in
-        *-multi*) echo "...and architecture name already has -multi." >&4
-                ;;
-        *)      archname="$archname-multi"
-                echo "...setting architecture name to $archname." >&4
-                ;;
-        esac
+       *-multi*) echo "...and architecture name already has -multi." >&4
+               ;;
+       *)      archname="$archname-multi"
+               echo "...setting architecture name to $archname." >&4
+               ;;
+       esac
        ;;
 esac
 case "$use64bitint$use64bitall" in
@@ -7311,12 +7075,12 @@ case "$use64bitint$use64bitall" in
                "$define") echo "Maximal 64 bitness selected." >&4 ;;
                esac
                case "$archname" in
-               *-$archname64*) echo "...and architecture name already has $archname64." >&4
-                       ;;
-               *)      archname="$archname-$archname64"
-                       echo "...setting architecture name to $archname." >&4
-                       ;;
-               esac
+               *-$archname64*) echo "...and architecture name already has $archname64." >&4
+                       ;;
+               *)      archname="$archname-$archname64"
+                       echo "...setting architecture name to $archname." >&4
+                       ;;
+               esac
                ;;
        esac
 esac
@@ -7329,12 +7093,12 @@ $define)
                ;;
        *)
                case "$archname" in
-               *-ld*) echo "...and architecture name already has -ld." >&4
-                       ;;
-               *)      archname="$archname-ld"
-                       echo "...setting architecture name to $archname." >&4
-                       ;;
-               esac
+               *-ld*) echo "...and architecture name already has -ld." >&4
+                       ;;
+               *)      archname="$archname-ld"
+                       echo "...setting architecture name to $archname." >&4
+                       ;;
+               esac
                ;;
        esac
        ;;
@@ -7343,12 +7107,12 @@ case "$usequadmath" in
 $define)
        echo "quadmath selected." >&4
        case "$archname" in
-        *-ld*) echo "...and architecture name already has -quadmath." >&4
-                ;;
-        *)      archname="$archname-quadmath"
-                echo "...setting architecture name to $archname." >&4
+       *-ld*) echo "...and architecture name already has -quadmath." >&4
                ;;
-        esac
+       *)      archname="$archname-quadmath"
+               echo "...setting architecture name to $archname." >&4
+               ;;
+       esac
        ;;
 esac
 if $test -f archname.cbu; then
@@ -10262,6 +10026,239 @@ esac
 set qgcvt d_qgcvt
 eval $inlibc
 
+: Check what kind of doubles your system has
+$echo "Checking the kind of doubles you have..." >&4
+$cat >try.c <<EOP
+#$i_stdlib I_STDLIB
+#define DOUBLESIZE $doublesize
+#ifdef I_STDLIB
+#include <stdlib.h>
+#endif
+#include <stdio.h>
+static const double d = -0.1;
+int main() {
+  unsigned const char* b = (unsigned const char*)(&d);
+#if DOUBLESIZE == 4
+  if (b[0] == 0xCD && b[3] == 0xBD) {
+    /* IEEE 754 32-bit little-endian */
+    printf("1\n");
+    exit(0);
+  }
+  if (b[0] == 0xBD && b[3] == 0xCD) {
+    /* IEEE 754 32-bit big-endian */
+    printf("2\n");
+    exit(0);
+  }
+#endif
+#if DOUBLESIZE == 8
+  if (b[0] == 0x9A && b[7] == 0xBF) {
+    /* IEEE 754 64-bit little-endian */
+    printf("3\n");
+    exit(0);
+  }
+  if (b[0] == 0xBF && b[7] == 0x9A) {
+    /* IEEE 754 64-bit big-endian */
+    printf("4\n");
+    exit(0);
+  }
+  if (b[0] == 0x99 && b[3] == 0xBF && b[4] == 0x9A && b[7] == 0x99) {
+   /* ARM mixed endian: two little-endian 32-bit floats, in big endian order:
+    * 4 5 6 7 0 1 2 3 (MSB = 7, LSB = 0)
+    * 99 99 b9 bf 9a 99 99 99 */
+    printf("7\n");
+    exit(0);
+  }
+  if (b[0] == 0x99 && b[3] == 0x9A && b[4] == 0xBF && b[7] == 0x99) {
+   /* The opposite of case 7, mixed endian: two big-endian 32-bit floats,
+    * in little endian order: 3 2 1 0 7 6 5 4 (MSB = 7, LSB = 0)
+    * 99 99 99 9a bf b9 99 99 */
+    printf("8\n");
+    exit(0);
+  }
+#endif
+#if DOUBLESIZE == 16
+  if (b[0] == 0x9A && b[15] == 0xBF) {
+    /* IEEE 754 128-bit little-endian */
+    printf("5\n");
+    exit(0);
+  }
+  if (b[0] == 0xBF && b[15] == 0x9A) {
+    /* IEEE 754 128-bit big-endian */
+    printf("6\n");
+    exit(0);
+  }
+#endif
+  /* Then there are old mainframe/miniframe formats like VAX, IBM, and CRAY.
+   * Whether those environments can still build Perl is debatable. */
+  printf("-1\n"); /* unknown */
+  exit(0);
+}
+EOP
+set try
+if eval $compile; then
+    doublekind=`$run ./try`
+else
+    doublekind=-1
+fi
+case "$doublekind" in
+1) echo "You have IEEE 754 32-bit little endian doubles." >&4 ;;
+2) echo "You have IEEE 754 32-bit big endian doubles." >&4 ;;
+3) echo "You have IEEE 754 64-bit little endian doubles." >&4 ;;
+4) echo "You have IEEE 754 64-bit big endian doubles." >&4 ;;
+5) echo "You have IEEE 754 128-bit little endian doubles." >&4 ;;
+6) echo "You have IEEE 754 128-bit big endian doubles." >&4 ;;
+*) echo "Cannot figure out your double.  You VAX, or something?" >&4 ;;
+esac
+$rm_try
+
+: Check print/scan long double stuff
+echo " "
+
+if $test X"$d_longdbl" = X"$define"; then
+
+echo "Checking how to print long doubles..." >&4
+
+if $test X"$sPRIfldbl" = X -a X"$doublesize" = X"$longdblsize"; then
+       $cat >try.c <<'EOCP'
+#include <sys/types.h>
+#include <stdio.h>
+int main() {
+  double d = 123.456;
+  printf("%.3f\n", d);
+}
+EOCP
+       set try
+       if eval $compile; then
+               yyy=`$run ./try`
+               case "$yyy" in
+               123.456)
+                       sPRIfldbl='"f"'; sPRIgldbl='"g"'; sPRIeldbl='"e"';
+                       sPRIFUldbl='"F"'; sPRIGUldbl='"G"'; sPRIEUldbl='"E"';
+                       echo "We will use %f."
+                       ;;
+               esac
+       fi
+fi
+
+if $test X"$sPRIfldbl" = X; then
+       $cat >try.c <<'EOCP'
+#include <sys/types.h>
+#include <stdio.h>
+int main() {
+  long double d = 123.456;
+  printf("%.3Lf\n", d);
+}
+EOCP
+       set try
+       if eval $compile; then
+               yyy=`$run ./try`
+               case "$yyy" in
+               123.456)
+                       sPRIfldbl='"Lf"'; sPRIgldbl='"Lg"'; sPRIeldbl='"Le"';
+                       sPRIFUldbl='"LF"'; sPRIGUldbl='"LG"'; sPRIEUldbl='"LE"';
+                       echo "We will use %Lf."
+                       ;;
+               esac
+       fi
+fi
+
+if $test X"$sPRIfldbl" = X; then
+       $cat >try.c <<'EOCP'
+#include <sys/types.h>
+#include <stdio.h>
+int main() {
+  long double d = 123.456;
+  printf("%.3llf\n", d);
+}
+EOCP
+       set try
+       if eval $compile; then
+               yyy=`$run ./try`
+               case "$yyy" in
+               123.456)
+                       sPRIfldbl='"llf"'; sPRIgldbl='"llg"'; sPRIeldbl='"lle"';
+                       sPRIFUldbl='"llF"'; sPRIGUldbl='"llG"'; sPRIEUldbl='"llE"';
+                       echo "We will use %llf."
+                       ;;
+               esac
+       fi
+fi
+
+if $test X"$sPRIfldbl" = X; then
+       $cat >try.c <<'EOCP'
+#include <sys/types.h>
+#include <stdio.h>
+int main() {
+  long double d = 123.456;
+  printf("%.3lf\n", d);
+}
+EOCP
+       set try
+       if eval $compile; then
+               yyy=`$run ./try`
+               case "$yyy" in
+               123.456)
+                       sPRIfldbl='"lf"'; sPRIgldbl='"lg"'; sPRIeldbl='"le"';
+                       sPRIFUldbl='"lF"'; sPRIGUldbl='"lG"'; sPRIEUldbl='"lE"';
+                       echo "We will use %lf."
+                       ;;
+               esac
+       fi
+fi
+
+if $test X"$sPRIfldbl" = X; then
+       echo "Cannot figure out how to print long doubles." >&4
+else
+       sSCNfldbl=$sPRIfldbl    # expect consistency
+fi
+
+$rm_try
+
+fi # d_longdbl
+
+case "$sPRIfldbl" in
+'')    d_PRIfldbl="$undef"; d_PRIgldbl="$undef"; d_PRIeldbl="$undef";
+       d_PRIFUldbl="$undef"; d_PRIGUldbl="$undef"; d_PRIEUldbl="$undef";
+       d_SCNfldbl="$undef";
+       ;;
+*)     d_PRIfldbl="$define"; d_PRIgldbl="$define"; d_PRIeldbl="$define";
+       d_PRIFUldbl="$define"; d_PRIGUldbl="$define"; d_PRIEUldbl="$define";
+       d_SCNfldbl="$define";
+       ;;
+esac
+
+: Before committing on uselongdouble, see whether that looks sane.
+if $test "$uselongdouble" = "$define"; then
+    message=""
+    echo " "
+    echo "Checking if your long double math functions work right..." >&4
+    $cat > try.c <<EOF
+#include <math.h>
+#include <stdio.h>
+int main() {
+  printf("%"$sPRIgldbl"\n", sqrtl(logl(expl(cosl(sinl(0.0L))))+powl(2.0L, 3.0L)));
+}
+EOF
+    case "$osname:$gccversion" in
+    aix:)      saveccflags="$ccflags"
+               ccflags="$ccflags -qlongdouble" ;; # to avoid core dump
+    esac
+    set try
+    if eval $compile_ok; then
+      yyy=`$run ./try`
+    fi
+    case "$yyy" in
+    3) echo "Your long double math functions are working correctly." >&4 ;;
+    *) echo "Your long double math functions are broken, not using long doubles." >&4
+       uselongdouble=$undef
+       ;;
+    esac
+    $rm_try
+    case "$osname:$gccversion" in
+    aix:)      ccflags="$saveccflags" ;; # restore
+    esac
+fi
+
 : Check how to convert floats to strings.
 
 if test "X$d_Gconvert" = X; then
@@ -10561,6 +10558,10 @@ $rm -f access*
 set accessx d_accessx
 eval $inlibc
 
+: see if acosh exists
+set acosh d_acosh
+eval $inlibc
+
 : see if aintl exists
 set aintl d_aintl
 eval $inlibc
@@ -10867,6 +10868,14 @@ case "$d_asctime_r" in
        ;;
 esac
 
+: see if asinh exists
+set asinh d_asinh
+eval $inlibc
+
+: see if atanh exists
+set atanh d_atanh
+eval $inlibc
+
 : see if atolf exists
 set atolf d_atolf
 eval $inlibc
@@ -11711,6 +11720,10 @@ set d_castneg
 eval $setvar
 $rm_try
 
+: see if cbrt exists
+set cbrt d_cbrt
+eval $inlibc
+
 : see if vprintf exists
 echo " "
 if set vprintf val -f d_vprintf; eval $csym; $val; then
 set d_const
 eval $setvar
 
+: see if copysign exists
+set copysign d_copysign
+eval $inlibc
+
 : see if copysignl exists
 set copysignl d_copysignl
 eval $inlibc
@@ -13182,146 +13199,6 @@ esac
 set i_sysfile
 eval $setvar
 
-: see if acosh exists
-set acosh d_acosh
-eval $inlibc
-
-: see if asinh exists
-set asinh d_asinh
-eval $inlibc
-
-: see if atanh exists
-set atanh d_atanh
-eval $inlibc
-
-: see if cbrt exists
-set cbrt d_cbrt
-eval $inlibc
-
-: see if copysign exists
-set copysign d_copysign
-eval $inlibc
-
-: see if erf exists
-set erf d_erf
-eval $inlibc
-
-: see if erfc exists
-set erfc d_erfc
-eval $inlibc
-
-: see if exp2 exists
-set exp2 d_exp2
-eval $inlibc
-
-: see if expm1 exists
-set expm1 d_expm1
-eval $inlibc
-
-: see if fdim exists
-set fdim d_fdim
-eval $inlibc
-
-: see if fma exists
-set fma d_fma
-eval $inlibc
-
-: see if fmax exists
-set fmax d_fmax
-eval $inlibc
-
-: see if fmin exists
-set fmin d_fmin
-eval $inlibc
-
-: see if hypot exists
-set hypot d_hypot
-eval $inlibc
-
-: see if ilogb exists
-set ilogb d_ilogb
-eval $inlibc
-
-: see if lgamma exists
-set lgamma d_lgamma
-eval $inlibc
-
-: see if lgamma_r exists
-set lgamma_r d_lgamma_r
-eval $inlibc
-
-: see if llrint exists
-set llrint d_llrint
-eval $inlibc
-
-: see if llround exists
-set llround d_llround
-eval $inlibc
-
-: see if log1p exists
-set log1p d_log1p
-eval $inlibc
-
-: see if log2 exists
-set log2 d_log2
-eval $inlibc
-
-: see if logb exists
-set logb d_logb
-eval $inlibc
-
-: see if lrint exists
-set lrint d_lrint
-eval $inlibc
-
-: see if lround exists
-set lround d_lround
-eval $inlibc
-
-: see if nan exists
-set nan d_nan
-eval $inlibc
-
-: see if nearbyint exists
-set nearbyint d_nearbyint
-eval $inlibc
-
-: see if nextafter exists
-set nextafter d_nextafter
-eval $inlibc
-
-: see if nexttoward exists
-set nexttoward d_nexttoward
-eval $inlibc
-
-: see if remainder exists
-set remainder d_remainder
-eval $inlibc
-
-: see if remquo exists
-set remquo d_remquo
-eval $inlibc
-
-: see if rint exists
-set rint d_rint
-eval $inlibc
-
-: see if round exists
-set round d_round
-eval $inlibc
-
-: see if scalbn exists
-set scalbn d_scalbn
-eval $inlibc
-
-: see if tgamma exists
-set tgamma d_tgamma
-eval $inlibc
-
-: see if trunc exists
-set trunc d_trunc
-eval $inlibc
-
 : see if fcntl.h is there
 val=''
 set fcntl.h val
@@ -13589,6 +13466,22 @@ EOCP
 esac
 $rm_try head.c mtry
 
+: see if erf exists
+set erf d_erf
+eval $inlibc
+
+: see if erfc exists
+set erfc d_erfc
+eval $inlibc
+
+: see if exp2 exists
+set exp2 d_exp2
+eval $inlibc
+
+: see if expm1 exists
+set expm1 d_expm1
+eval $inlibc
+
 : see if _ptr and _cnt from stdio act std
 echo " "
 
@@ -14034,6 +13927,10 @@ EOM
 fi
 $rm_try
 
+: see if fdim exists
+set fdim d_fdim
+eval $inlibc
+
 : see if fegetround exists
 set fegetround d_fegetround
 eval $inlibc
@@ -14059,6 +13956,18 @@ echo " "
 set d_flockproto flock $i_sysfile sys/file.h
 eval $hasproto
 
+: see if fma exists
+set fma d_fma
+eval $inlibc
+
+: see if fmax exists
+set fmax d_fmax
+eval $inlibc
+
+: see if fmin exists
+set fmin d_fmin
+eval $inlibc
+
 : see if fp_class exists
 set fp_class d_fp_class
 eval $inlibc
@@ -15743,6 +15652,14 @@ esac
 set d_htonl
 eval $setvar
 
+: see if hypot exists
+set hypot d_hypot
+eval $inlibc
+
+: see if ilogb exists
+set ilogb d_ilogb
+eval $inlibc
+
 : see if ilogbl exists
 set ilogbl d_ilogbl
 eval $inlibc
@@ -15974,6 +15891,31 @@ eval $inlibc
 set killpg d_killpg
 eval $inlibc
 
+: see if localeconv exists
+set localeconv d_locconv
+eval $inlibc
+
+: see if libc has the POSIX.1-2008 currency locale rules
+case "$d_locconv:$d_lc_monetary_2008" in
+$define:)
+       $cat >try.c <<EOCP
+#include <locale.h>
+int main() {
+       struct lconv *lc = localeconv();
+       char int_p_cs_precedes = lc->int_p_cs_precedes;
+       return 0;
+}
+EOCP
+       set try
+       if eval $compile; then
+               d_lc_monetary_2008="$define"
+       else
+               d_lc_monetary_2008="$undef"
+       fi;
+       $rm_try
+       ;;
+esac
+
 : see if lchown exists
 echo " "
 $cat > try.c <<'EOCP'
@@ -16033,6 +15975,14 @@ $rm -f ldbl_dig.?
 set d_ldbl_dig
 eval $setvar
 
+: see if lgamma exists
+set lgamma d_lgamma
+eval $inlibc
+
+: see if lgamma_r exists
+set lgamma_r d_lgamma_r
+eval $inlibc
+
 : check to see if math.h defines _LIB_VERSION
 d_libm_lib_version="$undef"
 case $i_math in
@@ -16061,102 +16011,18 @@ EOCP
 
     esac
 
-: check for fpclassify
-echo " "
-echo "Checking to see if you have fpclassify..." >&4
-$cat >try.c <<EOCP
-#$i_math I_MATH
-#ifdef I_MATH
-#include <math.h>
-#endif
-int main() { return fpclassify(1.0) == FP_NORMAL ? 0 : 1; }
-EOCP
-set try
-if eval $compile; then
-       val="$define"
-       echo "You have fpclassify."
-else
-       val="$undef"
-       echo "You do not have fpclassify."
-fi
-$rm_try
-set d_fpclassify
-eval $setvar
-
-: check for isfinite
-echo " "
-echo "Checking to see if you have isfinite..." >&4
-$cat >try.c <<EOCP
-#$i_math I_MATH
-#ifdef I_MATH
-#include <math.h>
-#endif
-int main() { return isfinite(0.0); }
-EOCP
-set try
-if eval $compile; then
-       val="$define"
-       echo "You have isfinite."
-else
-       val="$undef"
-       echo "You do not have isfinite."
-fi
-$rm_try
-set d_isfinite
-eval $setvar
-
-: check for isinf
-echo " "
-echo "Checking to see if you have isinf..." >&4
-$cat >try.c <<EOCP
-#$i_math I_MATH
-#ifdef I_MATH
-#include <math.h>
-#endif
-int main() { return isinf(0.0); }
-EOCP
-set try
-if eval $compile; then
-       val="$define"
-       echo "You have isinf."
-else
-       val="$undef"
-       echo "You do not have isinf."
-fi
-$rm_try
-set d_isinf
-eval $setvar
-
-: check for isnan
-echo " "
-echo "Checking to see if you have isnan..." >&4
-$cat >try.c <<EOCP
-#$i_math I_MATH
-#ifdef I_MATH
-#include <math.h>
-#endif
-int main() { return isnan(0.0); }
-EOCP
-set try
-if eval $compile; then
-       val="$define"
-       echo "You have isnan."
-else
-       val="$undef"
-       echo "You do not have isnan."
-fi
-$rm_try
-set d_isnan
-eval $setvar
-
-: see if this is a quadmath.h system
-set quadmath.h i_quadmath
-eval $inhdr
-
 : see if link exists
 set link d_link
 eval $inlibc
 
+: see if llrint exists
+set llrint d_llrint
+eval $inlibc
+
+: see if llround exists
+set llround d_llround
+eval $inlibc
+
 : see if localtime_r exists
 set localtime_r d_localtime_r
 eval $inlibc
@@ -16276,33 +16142,28 @@ EOCP
 esac
 $rm_try
 
-: see if localeconv exists
-set localeconv d_locconv
+: see if lockf exists
+set lockf d_lockf
 eval $inlibc
 
-: see if libc has the POSIX.1-2008 currency locale rules
-case "$d_locconv:$d_lc_monetary_2008" in
-  $define:)
-       $cat >try.c <<EOCP
-#include <locale.h>
-int main() {
-       struct lconv *lc = localeconv();
-       char int_p_cs_precedes = lc->int_p_cs_precedes;
-       return 0;
-}
-EOCP
-       set try
-       if eval $compile; then
-               d_lc_monetary_2008="$define"
-       else
-               d_lc_monetary_2008="$undef"
-       fi;
-       $rm_try
-       ;;
-esac
+: see if log1p exists
+set log1p d_log1p
+eval $inlibc
 
-: see if lockf exists
-set lockf d_lockf
+: see if log2 exists
+set log2 d_log2
+eval $inlibc
+
+: see if logb exists
+set logb d_logb
+eval $inlibc
+
+: see if lrint exists
+set lrint d_lrint
+eval $inlibc
+
+: see if lround exists
+set lround d_lround
 eval $inlibc
 
 : see if prototype for lseek is available
@@ -16610,6 +16471,22 @@ eval $inlibc
 set munmap d_munmap
 eval $inlibc
 
+: see if nan exists
+set nan d_nan
+eval $inlibc
+
+: see if nearbyint exists
+set nearbyint d_nearbyint
+eval $inlibc
+
+: see if nextafter exists
+set nextafter d_nextafter
+eval $inlibc
+
+: see if nexttoward exists
+set nexttoward d_nexttoward
+eval $inlibc
+
 : see if nice exists
 set nice d_nice
 eval $inlibc
@@ -16622,6 +16499,10 @@ eval $inhdr
 set nl_langinfo d_nl_langinfo
 eval $inlibc
 
+: see if this is a quadmath.h system
+set quadmath.h i_quadmath
+eval $inhdr
+
 : check for volatile keyword
 echo " "
 echo 'Checking to see if your C compiler knows about "volatile"...' >&4
@@ -17586,14 +17467,56 @@ eval $inlibc
 set recvmsg d_recvmsg
 eval $inlibc
 
+: see if regcomp, regcmp, or re_comp exist, for regular pattern matching
+echo " "
+if set regcomp val -f d_regcomp; eval $csym; $val; then
+       echo 'regcomp() found.' >&4
+       d_regcomp="$define"
+       d_regcmp="$undef"
+       d_re_comp="$undef"
+elif set regcmp val -f d_regcmp; eval $csym; $val; then
+       echo 'regcmp() found.' >&4
+       d_regcmp="$define"
+       d_regcomp="$undef"
+       d_re_comp="$undef"
+elif set re_comp val -f d_re_comp; eval $csym; $val; then
+       echo 're_comp() found, assuming re_exec() also exists.' >&4
+       d_re_comp="$define"
+       d_regcomp="$undef"
+       d_regcmp="$undef"
+else
+       $cat >&4 <<EOM
+No regcomp(), regcmp() nor re_comp() found !! No regular pattern matching.
+EOM
+       d_regcmp="$undef"
+       d_re_comp="$undef"
+       d_regcomp="$undef"
+fi
+
+: see if remainder exists
+set remainder d_remainder
+eval $inlibc
+
+: see if remquo exists
+set remquo d_remquo
+eval $inlibc
+
 : see if rename exists
 set rename d_rename
 eval $inlibc
 
+: see if rint exists
+set rint d_rint
+eval $inlibc
+
 : see if rmdir exists
 set rmdir d_rmdir
 eval $inlibc
 
+: see if round exists
+set round d_round
+eval $inlibc
+
 : see if memory.h is available.
 val=''
 set memory.h val
@@ -17829,6 +17752,10 @@ echo " "
 set d_sbrkproto sbrk $i_unistd unistd.h
 eval $hasproto
 
+: see if scalbn exists
+set scalbn d_scalbn
+eval $inlibc
+
 : see if select exists
 set select d_select
 eval $inlibc
@@ -18927,6 +18854,10 @@ echo " "
 set d_sresuproto setresuid $i_unistd unistd.h
 eval $hasproto
 
+: see if stat exists
+set stat d_stat
+eval $inlibc
+
 : see if sys/stat.h is available
 set sys/stat.h i_sysstat
 eval $inhdr
@@ -19549,6 +19480,10 @@ echo " "
 set d_telldirproto telldir $i_systypes sys/types.h $i_dirent dirent.h
 eval $hasproto
 
+: see if tgamma exists
+set tgamma d_tgamma
+eval $inlibc
+
 : see if time exists
 echo " "
 if test "X$d_time" = X -o X"$timetype" = X; then
@@ -19634,6 +19569,10 @@ case "$d_tmpnam_r" in
        ;;
 esac
 
+: see if trunc exists
+set trunc d_trunc
+eval $inlibc
+
 : see if truncate exists
 set truncate d_truncate
 eval $inlibc
@@ -24028,14 +23967,15 @@ d_isfinite='$d_isfinite'
 d_isfinitel='$d_isfinitel'
 d_isinf='$d_isinf'
 d_isinfl='$d_isinfl'
+d_isless='$d_isless'
 d_isnan='$d_isnan'
 d_isnanl='$d_isnanl'
 d_isnormal='$d_isnormal'
 d_j0='$d_j0'
 d_j0l='$d_j0l'
 d_killpg='$d_killpg'
-d_lchown='$d_lchown'
 d_lc_monetary_2008='$d_lc_monetary_2008'
+d_lchown='$d_lchown'
 d_ldbl_dig='$d_ldbl_dig'
 d_ldexpl='$d_ldexpl'
 d_lgamma='$d_lgamma'
@@ -24049,7 +23989,6 @@ d_localtime64='$d_localtime64'
 d_localtime_r='$d_localtime_r'
 d_localtime_r_needs_tzset='$d_localtime_r_needs_tzset'
 d_locconv='$d_locconv'
-d_lgamma='$d_lgamma'
 d_lockf='$d_lockf'
 d_log1p='$d_log1p'
 d_log2='$d_log2'
@@ -24139,12 +24078,15 @@ d_pwquota='$d_pwquota'
 d_qgcvt='$d_qgcvt'
 d_quad='$d_quad'
 d_random_r='$d_random_r'
+d_re_comp='$d_re_comp'
 d_readdir64_r='$d_readdir64_r'
 d_readdir='$d_readdir'
 d_readdir_r='$d_readdir_r'
 d_readlink='$d_readlink'
 d_readv='$d_readv'
 d_recvmsg='$d_recvmsg'
+d_regcmp='$d_regcmp'
+d_regcomp='$d_regcomp'
 d_remainder='$d_remainder'
 d_remquo='$d_remquo'
 d_rename='$d_rename'
@@ -24228,6 +24170,7 @@ d_srand48_r='$d_srand48_r'
 d_srandom_r='$d_srandom_r'
 d_sresgproto='$d_sresgproto'
 d_sresuproto='$d_sresuproto'
+d_stat='$d_stat'
 d_statblks='$d_statblks'
 d_statfs_f_flags='$d_statfs_f_flags'
 d_statfs_s='$d_statfs_s'
@@ -24277,8 +24220,8 @@ d_times='$d_times'
 d_tm_tm_gmtoff='$d_tm_tm_gmtoff'
 d_tm_tm_zone='$d_tm_tm_zone'
 d_tmpnam_r='$d_tmpnam_r'
-d_truncate='$d_truncate'
 d_trunc='$d_trunc'
+d_truncate='$d_truncate'
 d_truncl='$d_truncl'
 d_ttyname_r='$d_ttyname_r'
 d_tzname='$d_tzname'
index b5f9ce4..f8b4402 100644 (file)
@@ -316,6 +316,7 @@ d_isfinite='undef'
 d_isfinitel='undef'
 d_isinf='define'
 d_isinfl='define'
+d_isless='undef'
 d_isnan='define'
 d_isnanl='define'
 d_isnormal='undef'
@@ -430,6 +431,7 @@ d_readdir_r='undef'
 d_readlink='define'
 d_readv='define'
 d_recvmsg='define'
+d_regcomp='undef'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
@@ -513,6 +515,7 @@ d_srand48_r='undef'
 d_srandom_r='undef'
 d_sresgproto='undef'
 d_sresuproto='undef'
+d_stat='define'
 d_statblks='define'
 d_statfs_f_flags='undef'
 d_statfs_s='define'
index 8b5a2e9..1ef2bc2 100644 (file)
@@ -305,6 +305,7 @@ d_isfinite='undef'
 d_isfinitel='undef'
 d_isinf='undef'
 d_isinfl='undef'
+d_isless='undef'
 d_isnan='undef'
 d_isnanl='undef'
 d_isnormal='undef'
@@ -419,6 +420,7 @@ d_readdir_r='undef'
 d_readlink='undef'
 d_readv='undef'
 d_recvmsg='undef'
+d_regcomp='undef'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
@@ -503,6 +505,7 @@ d_srand48_r='undef'
 d_srandom_r='undef'
 d_sresgproto='undef'
 d_sresuproto='undef'
+d_stat='define'
 d_statblks='undef'
 d_statfs_f_flags='undef'
 d_statfs_s='undef'
index 24750fd..a3b257b 100644 (file)
@@ -549,7 +549,8 @@ d_castneg (d_castneg.U):
 
 d_cbrt (d_cbrt.U):
        This variable conditionally defines the HAS_CBRT symbol, which
-       indicates to the C program that the cbrt() routine is available.
+       indicates to the C program that the cbrt() (cube root) function
+       is available.
 
 d_charvspr (d_vprintf.U):
        This variable conditionally defines CHARVSPRINTF if this system
@@ -569,10 +570,6 @@ d_chsize (d_chsize.U):
        indicates to the C program that the chsize() routine is available
        to truncate files.  You might need a -lx to get this routine.
 
-d_copysign (d_copysign.U):
-       This variable conditionally defines the HAS_COPYSIGN symbol, which
-       indicates to the C program that the copysign() routine is available.
-
 d_class (d_class.U):
        This variable conditionally defines the HAS_CLASS symbol, which
        indicates to the C program that the class() routine is available.
@@ -594,6 +591,10 @@ d_const (d_const.U):
        indicates to the C program that this C compiler knows about the
        const type.
 
+d_copysign (d_copysign.U):
+       This variable conditionally defines the HAS_COPYSIGN symbol, which
+       indicates to the C program that the copysign() routine is available.
+
 d_copysignl (d_copysignl.U):
        This variable conditionally defines the HAS_COPYSIGNL symbol, which
        indicates to the C program that the copysignl() routine is available.
@@ -824,10 +825,6 @@ d_fcntl_can_lock (d_fcntl_can_lock.U):
        This variable conditionally defines the FCNTL_CAN_LOCK symbol
        and indicates whether file locking with fcntl() works.
 
-d_fdim (d_fdim.U):
-       This variable conditionally defines the HAS_FDIM symbol, which
-       indicates to the C program that the fdim() routine is available.
-
 d_fd_macros (d_fd_set.U):
        This variable contains the eventual value of the HAS_FD_MACROS symbol,
        which indicates if your C compiler knows about the macros which
@@ -837,6 +834,10 @@ d_fd_set (d_fd_set.U):
        This variable contains the eventual value of the HAS_FD_SET symbol,
        which indicates if your C compiler knows about the fd_set typedef.
 
+d_fdim (d_fdim.U):
+       This variable conditionally defines the HAS_FDIM symbol, which
+       indicates to the C program that the fdim() routine is available.
+
 d_fds_bits (d_fd_set.U):
        This variable contains the eventual value of the HAS_FDS_BITS symbol,
        which indicates if your fd_set typedef contains the fds_bits member.
@@ -1407,6 +1408,10 @@ d_isnanl (d_isnanl.U):
        This variable conditionally defines the HAS_ISNANL symbol, which
        indicates to the C program that the isnanl() routine is available.
 
+d_isnormal (d_isnormal.U):
+       This variable conditionally defines the HAS_ISNORMAL symbol, which
+       indicates to the C program that the isnormal() routine is available.
+
 d_j0 (d_j0.U):
        This variable conditionally defines the HAS_J0 symbol, which
        indicates to the C program that the j0() routine is available.
@@ -1442,12 +1447,12 @@ d_ldexpl (d_longdbl.U):
 d_lgamma (d_lgamma.U):
        This variable conditionally defines the HAS_LGAMMA symbol, which
        indicates to the C program that the lgamma() routine is available
-        for the log gamma function.  See also d_tgamma and d_lgamma_r.
+       for the log gamma function.  See also d_tgamma and d_lgamma_r.
 
 d_lgamma_r (d_lgamma_r.U):
        This variable conditionally defines the HAS_LGAMMA_R symbol, which
-       indicates to the C program that the lgamma() routine is available
-        for the log gamma function, without using the global signgam variable.
+       indicates to the C program that the lgamma_r() routine is available
+       for the log gamma function, without using the global signgam variable.
 
 d_libm_lib_version (d_libm_lib_version.U):
        This variable conditionally defines the LIBM_LIB_VERSION symbol,
@@ -1473,7 +1478,7 @@ d_llrint (d_llrint.U):
 d_llround (d_llround.U):
        This variable conditionally defines the HAS_LLROUND symbol, which
        indicates to the C program that the llround() routine is available
-        to return the long long value nearest to x.
+       to return the long long value nearest to x.
 
 d_localtime64 (d_timefuncs64.U):
        This variable conditionally defines the HAS_LOCALTIME64 symbol, which
@@ -1499,17 +1504,17 @@ d_lockf (d_lockf.U):
 d_log1p (d_log1p.U):
        This variable conditionally defines the HAS_LOG1P symbol, which
        indicates to the C program that the logp1() routine is available
-        to compute log(1 + x) for values of x close to zero.
+       to compute log(1 + x) for values of x close to zero.
 
 d_log2 (d_log2.U):
        This variable conditionally defines the HAS_LOG2 symbol, which
        indicates to the C program that the log2() routine is available
-        to compute log base two.
+       to compute log base two.
 
 d_logb (d_logb.U):
        This variable conditionally defines the HAS_LOGB symbol, which
        indicates to the C program that the logb() routine is available
-        to extract the exponent of x.
+       to extract the exponent of x.
 
 d_longdbl (d_longdbl.U):
        This variable conditionally defines HAS_LONG_DOUBLE if
@@ -1528,7 +1533,7 @@ d_lrint (d_lrint.U):
 d_lround (d_lround.U):
        This variable conditionally defines the HAS_LROUND symbol, which
        indicates to the C program that the lround() routine is available
-        to return the integral value nearest to x.
+       to return the integral value nearest to x.
 
 d_lseekproto (d_lseekproto.U):
        This variable conditionally defines the HAS_LSEEK_PROTO symbol,
@@ -1965,6 +1970,12 @@ d_random_r (d_random_r.U):
        which indicates to the C program that the random_r()
        routine is available.
 
+d_re_comp (d_regcmp.U):
+       This variable conditionally defines the HAS_RECOMP symbol, which
+       indicates to the C program that the re_comp() routine is available
+       for regular patern matching (usally on BSD). If so, it is likely that
+       re_exec() exists.
+
 d_readdir (d_readdir.U):
        This variable conditionally defines HAS_READDIR if readdir() is
        available to read directory entries.
@@ -1992,6 +2003,16 @@ d_recvmsg (d_recvmsg.U):
        This variable conditionally defines the HAS_RECVMSG symbol, which
        indicates to the C program that the recvmsg() routine is available.
 
+d_regcmp (d_regcmp.U):
+       This variable conditionally defines the HAS_REGCMP symbol, which
+       indicates to the C program that the regcmp() routine is available
+       for regular patern matching (usally on System V).
+
+d_regcomp (d_regcmp.U):
+       This variable conditionally defines the HAS_REGCOMP symbol, which
+       indicates to the C program that the regcomp() routine is available
+       for regular patern matching (usally on POSIX.2 conforming systems).
+
 d_remainder (d_remainder.U):
        This variable conditionally defines the HAS_REMAINDER symbol, which
        indicates to the C program that the remainder() routine is available.
@@ -2378,6 +2399,10 @@ d_sresuproto (d_sresuproto.U):
        a prototype for the setresuid() function.  Otherwise, it is
        up to the program to supply one.
 
+d_stat (d_stat.U):
+       This variable conditionally defines HAS_STAT if stat() is
+       available to get file status.
+
 d_statblks (d_statblks.U):
        This variable conditionally defines USE_STAT_BLOCKS
        if this system has a stat structure declaring
@@ -2572,7 +2597,7 @@ d_telldirproto (d_telldirproto.U):
 d_tgamma (d_tgamma.U):
        This variable conditionally defines the HAS_TGAMMA symbol, which
        indicates to the C program that the tgamma() routine is available
-        for the gamma function.  See also d_lgamma.
+       for the gamma function.  See also d_lgamma.
 
 d_time (d_time.U):
        This variable conditionally defines the HAS_TIME symbol, which indicates
@@ -2601,15 +2626,15 @@ d_tmpnam_r (d_tmpnam_r.U):
        which indicates to the C program that the tmpnam_r()
        routine is available.
 
-d_truncate (d_truncate.U):
-       This variable conditionally defines HAS_TRUNCATE if truncate() is
-       available to truncate files.
-
 d_trunc (d_trunc.U):
-       This variable conditionally defines the HAS_TRUNCL symbol, which
+       This variable conditionally defines the HAS_TRUNC symbol, which
        indicates to the C program that the trunc() routine is available
        to round doubles towards zero.
 
+d_truncate (d_truncate.U):
+       This variable conditionally defines HAS_TRUNCATE if truncate() is
+       available to truncate files.
+
 d_truncl (d_truncl.U):
        This variable conditionally defines the HAS_TRUNCL symbol, which
        indicates to the C program that the truncl() routine is available
@@ -2793,7 +2818,7 @@ dlsrc (dlsrc.U):
        This variable contains the name of the dynamic loading file that
        will be used with the package.
 
-doublekind (doublekind.U):
+doublekind (longdblfio.U):
        This variable, if defined, encodes the type of a double:
        1 = IEEE 754 32-bit big little endian,
        2 = IEEE 754 32-bit big big endian,
@@ -2852,7 +2877,7 @@ emacs (Loc.U):
        This variable is defined but not used by Configure.
        The value is the empty string and is not useful.
 
-ddgrent_r_proto (d_endgrent_r.U):
+endgrent_r_proto (d_endgrent_r.U):
        This variable encodes the prototype of endgrent_r.
        It is zero if d_endgrent_r is undef, and one of the
        REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r
index 5419ff9..87f46b3 100644 (file)
@@ -325,6 +325,7 @@ d_isfinite='undef'
 d_isfinitel='undef'
 d_isinf='define'
 d_isinfl='undef'
+d_isless='undef'
 d_isnan='define'
 d_isnanl='define'
 d_isnormal='undef'
@@ -441,6 +442,7 @@ d_readdir_r='undef'
 d_readlink='define'
 d_readv='define'
 d_recvmsg='define'
+d_regcomp='undef'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
@@ -524,6 +526,7 @@ d_srand48_r='undef'
 d_srandom_r='undef'
 d_sresgproto='undef'
 d_sresuproto='undef'
+d_stat='define'
 d_statblks='define'
 d_statfs_f_flags='define'
 d_statfs_s='define'
index c3aa608..2cf870a 100755 (executable)
@@ -81,6 +81,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_bzero HAS_BZERO    /**/
 
+/* HAS_CBRT:
+ *     This symbol, if defined, indicates that the cbrt() (cube root)
+ *     function is available.
+ */
+#$d_cbrt HAS_CBRT      /**/
+
 /* HAS_CHOWN:
  *     This symbol, if defined, indicates that the chown routine is
  *     available.
@@ -261,12 +267,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_locconv HAS_LOCALECONV     /**/
 
-/* HAS_LC_MONETARY_2008:
- *     This symbol, if defined, indicates that the localeconv routine is
- *     available and has the additional members added in POSIX 1003.1-2008.
- */
-#$d_lc_monetary_2008 HAS_LC_MONETARY_2008      /**/
-
 /* HAS_LOCKF:
  *     This symbol, if defined, indicates that the lockf routine is
  *     available to do file locking.
@@ -356,33 +356,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_munmap HAS_MUNMAP          /**/
 
-/* HAS_NAN:
- *     This symbol, if defined, indicates that the nan routine is
- *     available to generate NaN.
- */
-#$d_nan HAS_NAN                /**/
-
-/* HAS_NEARBYINT:
- *     This symbol, if defined, indicates that the nextafter routine is
- *     available to return the integral value closest to (according to
-       the current rounding mode) to x.
- */
-#$d_nearbyint HAS_NEARBYINT            /**/
-
-/* HAS_NEXTAFTER:
- *     This symbol, if defined, indicates that the nextafter routine is
- *     available to return the next machine representable long double from
- *     x in direction y.
- */
-#$d_nextafter HAS_NEXTAFTER            /**/
-
-/* HAS_NEXTTOWARD:
- *     This symbol, if defined, indicates that the nexttoward routine is
- *     available to return the next machine representable long double from
- *     x in direction y.
- */
-#$d_nexttoward HAS_NEXTTOWARD          /**/
-
 /* HAS_NICE:
  *     This symbol, if defined, indicates that the nice routine is
  *     available.
@@ -452,15 +425,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_readlink HAS_READLINK              /**/
 
-/* HAS_REMAINDER:
- *     This symbol, if defined, indicates that the remainder routine is available.
+/* HAS_REGCOMP:
+ *     This symbol, if defined, indicates that the regcomp() routine is
+ *     available to do some regular patern matching (usually on POSIX.2
+ *     conforming systems).
  */
-#$d_remainder HAS_REMAINDER    /**/
-
-/* HAS_REMQUO:
- *     This symbol, if defined, indicates that the remquo routine is available.
- */
-#$d_remquo HAS_REMQUO  /**/
+#$d_regcomp HAS_REGCOMP                /* POSIX.2 */
 
 /* HAS_RENAME:
  *     This symbol, if defined, indicates that the rename routine is available
@@ -469,13 +439,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_rename HAS_RENAME  /**/
 
-/* HAS_RINT:
- *     This symbol, if defined, indicates that the rint routine is available
- *     to return the nearest integral value to x as double using the current
- *     rounding mode.
- */
-#$d_rint HAS_RINT      /**/
-
 /* HAS_RMDIR:
  *     This symbol, if defined, indicates that the rmdir routine is
  *     available to remove directories. Otherwise you should fork off a
@@ -483,11 +446,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_rmdir HAS_RMDIR            /**/
 
-/* HAS_ROUND:
- *     This symbol, if defined, indicates that the round routine is available.
- */
-#$d_round HAS_ROUND    /**/
-
 /* HAS_SELECT:
  *     This symbol, if defined, indicates that the select routine is
  *     available to select active file descriptors. If the timeout field
@@ -589,6 +547,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_setsid HAS_SETSID  /**/
 
+/* HAS_STAT:
+ *     This symbol, if defined, indicates that the stat routine is
+ *     available to get file status.
+ */
+#$d_stat HAS_STAT      /**/
+
 /* HAS_STRCHR:
  *     This symbol is defined to indicate that the strchr()/strrchr()
  *     functions are available for string searching. If not, try the
@@ -661,12 +625,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_tcsetpgrp HAS_TCSETPGRP            /**/
 
-/* HAS_TGAMMA:
- *     This symbol, if defined, indicates that the lgamma routine is
- *     available to do the gamma function.  See also HAS_LGAMMA.
- */
-#$d_tgamma HAS_TGAMMA          /**/
-
 /* HAS_TRUNCATE:
  *     This symbol, if defined, indicates that the truncate routine is
  *     available to truncate files.
@@ -2759,29 +2717,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #define DOUBLESIZE $doublesize         /**/
 
-/* DOUBLEKIND:
- *     DOUBLEKIND will be one of
- *     DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN
- *     DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN
- *     DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN
- *     DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN
- *     DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN
- *     DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN
- *     DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE
- *     DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE
- *     DOUBLE_IS_UNKNOWN_FORMAT
- */
-#define DOUBLEKIND $doublekind         /**/
-#define DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN        1
-#define DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN   2
-#define DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN        3
-#define DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN   4
-#define DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN       5
-#define DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN  6
-#define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE   7
-#define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE   8
-#define DOUBLE_IS_UNKNOWN_FORMAT               -1
-
 /* EBCDIC:
  *     This symbol, if defined, indicates that this system uses
  *     EBCDIC encoding.
@@ -2966,12 +2901,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$d_pwgecos PWGECOS    /**/
 #$d_pwpasswd PWPASSWD  /**/
 
-/* I_QUADMATH:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <quadmath.h>.
- */
-#$i_quadmath   I_QUADMATH                /**/
-
 /* I_SYS_ACCESS:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <sys/access.h>.
@@ -3508,6 +3437,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_acosh HAS_ACOSH            /**/
 
+/* HAS_AINTL:
+ *     This symbol, if defined, indicates that the aintl routine is
+ *     available.  If copysignl is also present we can emulate modfl.
+ */
+#$d_aintl HAS_AINTL            /**/
+
 /* HAS_ASINH:
  *     This symbol, if defined, indicates that the asinh routine is
  *     available to do the inverse hyperbolic sine function.
@@ -3520,72 +3455,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_atanh HAS_ATANH            /**/
 
-/* HAS_CBRT:
- *     This symbol, if defined, indicates that the cbrt routine is
- *     available to do the cubic root function.
- */
-#$d_cbrt HAS_CBRT              /**/
-
-/* HAS_COPYSIGN:
- *     This symbol, if defined, indicates that the copysign routine is
- *     available to do the copysign function.
- */
-#$d_copysign HAS_COPYSIGN              /**/
-
-/* HAS_ERF:
- *     This symbol, if defined, indicates that the erf routine is
- *     available to do the error function.
- */
-#$d_erf HAS_ERF                /**/
-
-/* HAS_ERFC:
- *     This symbol, if defined, indicates that the erfc routine is
- *     available to do the complementary error function.
- */
-#$d_erfc HAS_ERFC              /**/
-
-/* HAS_EXP2:
- *     This symbol, if defined, indicates that the exp2 routine is
- *     available to do the 2**x function.
- */
-#$d_exp2 HAS_EXP2              /**/
-
-/* HAS_EXPM1:
- *     This symbol, if defined, indicates that the expm1 routine is
- *     available to do the exp(x) - 1 when x is near 1.
- */
-#$d_expm1 HAS_EXPM1            /**/
-
-/* HAS_FMA:
- *     This symbol, if defined, indicates that the fma routine is
- *     available to do the multiply-add function.
- */
-#$d_fma HAS_FMA                /**/
-
-/* HAS_FDIM:
- *     This symbol, if defined, indicates that the fdim routine is
- *     available to do the positive difference function.
- */
-#$d_fdim HAS_FDIM              /**/
-
-/* HAS_FMAX:
- *     This symbol, if defined, indicates that the fma routine is
- *     available to do the maximum function.
- */
-#$d_fmax HAS_FMAX              /**/
-
-/* HAS_FMIN:
- *     This symbol, if defined, indicates that the fma routine is
- *     available to do the minimum function.
- */
-#$d_fmin HAS_FMIN              /**/
-
-/* HAS_AINTL:
- *     This symbol, if defined, indicates that the aintl routine is
- *     available.  If copysignl is also present we can emulate modfl.
- */
-#$d_aintl HAS_AINTL            /**/
-
 /* HAS_BUILTIN_CHOOSE_EXPR:
  *     Can we handle GCC builtin for compile-time ternary-like expressions
  */
@@ -3631,6 +3500,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_cmsghdr_s HAS_STRUCT_CMSGHDR       /**/
 
+/* HAS_COPYSIGN:
+ *     This symbol, if defined, indicates that the copysign routine is
+ *     available to do the copysign function.
+ */
+#$d_copysign HAS_COPYSIGN              /**/
+
 /* HAS_COPYSIGNL:
  *     This symbol, if defined, indicates that the copysignl routine is
  *     available.  If aintl is also present we can emulate modfl.
@@ -3671,6 +3546,30 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_dlsymun    DLSYM_NEEDS_UNDERSCORE  /**/
 
+/* HAS_ERF:
+ *     This symbol, if defined, indicates that the erf routine is
+ *     available to do the error function.
+ */
+#$d_erf HAS_ERF                /**/
+
+/* HAS_ERFC:
+ *     This symbol, if defined, indicates that the erfc routine is
+ *     available to do the complementary error function.
+ */
+#$d_erfc HAS_ERFC              /**/
+
+/* HAS_EXP2:
+ *     This symbol, if defined, indicates that the exp2 routine is
+ *     available to do the 2**x function.
+ */
+#$d_exp2 HAS_EXP2              /**/
+
+/* HAS_EXPM1:
+ *     This symbol, if defined, indicates that the expm1 routine is
+ *     available to do the exp(x) - 1 when x is near 1 function.
+ */
+#$d_expm1 HAS_EXPM1            /**/
+
 /* HAS_FAST_STDIO:
  *     This symbol, if defined, indicates that the "fast stdio"
  *     is available to manipulate the stdio buffers directly.
@@ -3690,6 +3589,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_fcntl_can_lock FCNTL_CAN_LOCK              /**/
 
+/* HAS_FDIM:
+ *     This symbol, if defined, indicates that the fdim routine is
+ *     available to do the positive difference function.
+ */
+#$d_fdim HAS_FDIM              /**/
+
 /* HAS_FEGETROUND:
  *     This symbol, if defined, indicates that the fegetround routine is
  *     available to return the macro corresponding to the current rounding
@@ -3718,6 +3623,24 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_flockproto HAS_FLOCK_PROTO /**/
 
+/* HAS_FMA:
+ *     This symbol, if defined, indicates that the fma routine is
+ *     available to do the multiply-add function.
+ */
+#$d_fma HAS_FMA                /**/
+
+/* HAS_FMAX:
+ *     This symbol, if defined, indicates that the fmax routine is
+ *     available to do the maximum function.
+ */
+#$d_fmax HAS_FMAX              /**/
+
+/* HAS_FMIN:
+ *     This symbol, if defined, indicates that the fmin routine is
+ *     available to do the minimum function.
+ */
+#$d_fmin HAS_FMIN              /**/
+
 /* HAS_FP_CLASS:
  *     This symbol, if defined, indicates that the fp_class routine is
  *     available to classify doubles.  Available for example in Digital UNIX.
@@ -3934,7 +3857,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 
 /* HAS_ILOGB:
  *     This symbol, if defined, indicates that the ilogb routine is
- *     available.
+ *     available to get integer exponent of a floating-point value.
  */
 #$d_ilogb HAS_ILOGB            /**/
 
@@ -3994,6 +3917,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_isinfl HAS_ISINFL          /**/
 
+/* HAS_ISLESS:
+ *     This symbol, if defined, indicates that the isless routine is
+ *     available to do the isless function.
+ */
+#$d_isless HAS_ISLESS          /**/
+
 /* HAS_ISNAN:
  *     This symbol, if defined, indicates that the isnan routine is
  *     available to check whether a double is a NaN.
@@ -4025,6 +3954,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$d_j0 HAS_J0          /**/
 #$d_j0l        HAS_J0L         /**/
 
+/* HAS_LC_MONETARY_2008:
+ *     This symbol, if defined, indicates that the localeconv routine is
+ *     available and has the additional members added in POSIX 1003.1-2008.
+ */
+#$d_lc_monetary_2008 HAS_LC_MONETARY_2008              /**/
+
 /* HAS_LDBL_DIG:
  *     This symbol, if defined, indicates that this system's <float.h>
  *     or <limits.h> defines the symbol LDBL_DIG, which is the number
@@ -4067,19 +4002,19 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$d_llround HAS_LLROUND                /**/
 
 /* HAS_LOG1P:
- *     This symbol, if defined, indicates that the lgamma routine is
- *     available to do the log1p function.
+ *     This symbol, if defined, indicates that the log1p routine is
+ *     available to do the logarithm of 1 plus argument function.
  */
 #$d_log1p HAS_LOG1P            /**/
 
 /* HAS_LOG2:
- *     This symbol, if defined, indicates that the lgamma routine is
+ *     This symbol, if defined, indicates that the log2 routine is
  *     available to do the log2 function.
  */
 #$d_log2 HAS_LOG2              /**/
 
 /* HAS_LOGB:
- *     This symbol, if defined, indicates that the lgamma routine is
+ *     This symbol, if defined, indicates that the logb routine is
  *     available to do the logb function.
  */
 #$d_logb HAS_LOGB              /**/
@@ -4161,6 +4096,33 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_msghdr_s HAS_STRUCT_MSGHDR /**/
 
+/* HAS_NAN:
+ *     This symbol, if defined, indicates that the nan routine is
+ *     available to generate NaN.
+ */
+#$d_nan HAS_NAN                /**/
+
+/* HAS_NEARBYINT:
+ *     This symbol, if defined, indicates that the nearbyint routine is
+ *     available to return the integral value closest to (according to
+ *     the current rounding mode) to x.
+ */
+#$d_nearbyint HAS_NEARBYINT            /**/
+
+/* HAS_NEXTAFTER:
+ *     This symbol, if defined, indicates that the nextafter routine is
+ *     available to return the next machine representable double from
+ *     x in direction y.
+ */
+#$d_nextafter HAS_NEXTAFTER            /**/
+
+/* HAS_NEXTTOWARD:
+ *     This symbol, if defined, indicates that the nexttoward routine is
+ *     available to return the next machine representable long double from
+ *     x in direction y.
+ */
+#$d_nexttoward HAS_NEXTTOWARD          /**/
+
 /* HAS_NL_LANGINFO:
  *     This symbol, if defined, indicates that the nl_langinfo routine is
  *     available to return local data.  You will also need <langinfo.h>
@@ -4225,6 +4187,31 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_recvmsg HAS_RECVMSG                /**/
 
+/* HAS_REMAINDER:
+ *     This symbol, if defined, indicates that the remainder routine is
+ *     available to return the floating-point remainder.
+ */
+#$d_remainder HAS_REMAINDER            /**/
+
+/* HAS_REMQUO:
+ *     This symbol, if defined, indicates that the remquo routine is
+ *     available to return the remainder and part of quotient.
+ */
+#$d_remquo HAS_REMQUO          /**/
+
+/* HAS_RINT:
+ *     This symbol, if defined, indicates that the rint routine is
+ *     available to return the nearest integral value to x as double
+ *     using the current rounding mode.
+ */
+#$d_rint HAS_RINT              /**/
+
+/* HAS_ROUND:
+ *     This symbol, if defined, indicates that the round routine is
+ *     available to round to nearest integer, away from zero.
+ */
+#$d_round HAS_ROUND            /**/
+
 /* HAS_SBRK_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the sbrk() function.  Otherwise, it is up
@@ -4235,7 +4222,9 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$d_sbrkproto  HAS_SBRK_PROTO  /**/
 
 /* HAS_SCALBN:
- *     This symbol, if defined, indicates that the scalbn routine is available.
+ *     This symbol, if defined, indicates that the scalbn routine is
+ *     available to multiply floating-point number by integral power
+ *     of radix.
  */
 #$d_scalbn HAS_SCALBN          /**/
 
@@ -4437,6 +4426,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_telldirproto       HAS_TELLDIR_PROTO       /**/
 
+/* HAS_TGAMMA:
+ *     This symbol, if defined, indicates that the tgamma routine is
+ *     available to do the gamma function. See also HAS_LGAMMA.
+ */
+#$d_tgamma HAS_TGAMMA          /**/
+
 /* HAS_CTIME64:
  *     This symbol, if defined, indicates that the ctime64 () routine is
  *     available to do the 64bit variant of ctime ()
@@ -4475,7 +4470,8 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$d_timegm HAS_TIMEGM          /**/
 
 /* HAS_TRUNC:
- *     This symbol, if defined, indicates that the trunc routine is available.
+ *     This symbol, if defined, indicates that the trunc routine is
+ *     available to round doubles towards zero.
  */
 #$d_trunc HAS_TRUNC            /**/
 
@@ -4686,6 +4682,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$i_prot       I_PROT          /**/
 
+/* I_QUADMATH:
+ *     This symbol, if defined, indicates that <quadmath.h> exists and
+ *     should be included.
+ */
+#$i_quadmath   I_QUADMATH              /**/
+
 /* I_SHADOW:
  *     This symbol, if defined, indicates that <shadow.h> exists and
  *     should be included.
@@ -4779,6 +4781,28 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     This symbol, if defined, contains the string used by stdio to
  *     format long doubles (format 'f') for input.
  */
+/* DOUBLEKIND:
+ *     DOUBLEKIND will be one of
+ *     DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN
+ *     DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN
+ *     DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN
+ *     DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN
+ *     DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN
+ *     DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN
+ *     DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE
+ *     DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE
+ *     DOUBLE_IS_UNKNOWN_FORMAT
+ */
+#define DOUBLEKIND $doublekind         /**/
+#define DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN        1
+#define DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN   2
+#define DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN        3
+#define DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN   4
+#define DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN       5
+#define DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN  6
+#define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE   7
+#define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE   8
+#define DOUBLE_IS_UNKNOWN_FORMAT               -1
 #$d_PRIfldbl PERL_PRIfldbl     $sPRIfldbl      /**/
 #$d_PRIgldbl PERL_PRIgldbl     $sPRIgldbl      /**/
 #$d_PRIeldbl PERL_PRIeldbl     $sPRIeldbl      /**/
@@ -5093,14 +5117,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$uselongdouble        USE_LONG_DOUBLE         /**/
 #endif
 
-/* USE_QUADMATH:
- *     This symbol, if defined, indicates that the quadmath library should
- *     be used when available.
- */
-#ifndef USE_QUADMATH
-#$usequadmath  USE_QUADMATH            /**/
-#endif
-
 /* USE_MORE_BITS:
  *     This symbol, if defined, indicates that 64-bit interfaces and
  *     long doubles should be used when available.
@@ -5133,6 +5149,14 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$useperlio    USE_PERLIO              /**/
 #endif
 
+/* USE_QUADMATH:
+ *     This symbol, if defined, indicates that the quadmath library should
+ *     be used when available.
+ */
+#ifndef USE_QUADMATH
+#$usequadmath  USE_QUADMATH            /**/
+#endif
+
 /* USE_SOCKS:
  *     This symbol, if defined, indicates that Perl should
  *     be built to use socks.
index cda0b27..da47e65 100644 (file)
@@ -6157,6 +6157,7 @@ $ WC "d_isfinite='undef'"
 $ WC "d_isfinitel='undef'"
 $ WC "d_isinf='undef'"
 $ WC "d_isinfl='undef'"
+$ WC "d_isless='undef'"
 $ WC "d_isnan='" + d_isnan + "'"
 $ WC "d_isnanl='" + d_isnanl + "'"
 $ WC "d_isnormal='" + d_isnormal + "'"
@@ -6271,6 +6272,7 @@ $ WC "d_readlink='" + d_readlink + "'"
 $ WC "d_readv='undef'"
 $ WC "d_realpath='" + d_realpath + "'"
 $ WC "d_recvmsg='undef'"
+$ WC "d_regcomp='undef'"
 $ WC "d_remainder='" + d_remainder + "'"
 $ WC "d_remquo='" + d_remquo + "'"
 $ WC "d_rename='define'"
@@ -6357,6 +6359,7 @@ $ WC "d_sresgproto='undef'"
 $ WC "d_sresgproto='undef'"
 $ WC "d_sresproto='undef'"
 $ WC "d_sresuproto='undef'"
+$ WC "d_stat='define'"
 $ WC "d_statblks='undef'"
 $ WC "d_statfs_f_flags='undef'"
 $ WC "d_statfs_s='undef'"
index 2abced7..fef2e4b 100644 (file)
@@ -22,6 +22,7 @@
  * HAS_GMTIME64
  * HAS_ISFINITEL
  * HAS_ISINFL
+ * HAS_ISLESS
  * HAS_J0
  * HAS_LOCALTIME64
  * HAS_MKTIME64
index 4ee8dc0..fb2d261 100644 (file)
@@ -316,6 +316,7 @@ d_isfinite='undef'
 d_isfinitel='undef'
 d_isinf='undef'
 d_isinfl='undef'
+d_isless='undef'
 d_isnan='undef'
 d_isnanl='undef'
 d_isnormal='undef'
@@ -430,6 +431,7 @@ d_readdir_r='undef'
 d_readlink='define'
 d_readv='define'
 d_recvmsg='undef'
+d_regcomp='undef'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
@@ -513,6 +515,7 @@ d_srand48_r='undef'
 d_srandom_r='undef'
 d_sresgproto='undef'
 d_sresuproto='undef'
+d_stat='define'
 d_statblks='undef'
 d_statfs_f_flags='undef'
 d_statfs_s='undef'
index 7f40fc8..7e7cd71 100644 (file)
@@ -262,6 +262,7 @@ d_isfinite='undef'
 d_isfinitel='undef'
 d_isinf='undef'
 d_isinfl='undef'
+d_isless='undef'
 d_isnan='undef'
 d_isnanl='undef'
 d_isnormal='undef'
@@ -376,6 +377,7 @@ d_readdir_r='undef'
 d_readlink='undef'
 d_readv='undef'
 d_recvmsg='undef'
+d_regcomp='undef'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
@@ -461,6 +463,7 @@ d_srand48_r='undef'
 d_srandom_r='undef'
 d_sresgproto='undef'
 d_sresuproto='undef'
+d_stat='define'
 d_statblks='undef'
 d_statfs_f_flags='undef'
 d_statfs_s='undef'
index 08e09ae..189b0fd 100644 (file)
--- a/uconfig.h
+++ b/uconfig.h
  */
 /*#define HAS_BZERO    / **/
 
+/* HAS_CBRT:
+ *     This symbol, if defined, indicates that the cbrt() (cube root)
+ *     function is available.
+ */
+/*#define HAS_CBRT     / **/
+
 /* HAS_CHOWN:
  *     This symbol, if defined, indicates that the chown routine is
  *     available.
  */
 /*#define HAS_LOCALECONV       / **/
 
-/* HAS_LC_MONETARY_2008:
- *     This symbol, if defined, indicates that the localeconv routine is
- *     available and has the additional members added in POSIX 1003.1-2008.
- */
-/*#define HAS_LC_MONETARY_2008 / **/
-
 /* HAS_LOCKF:
  *     This symbol, if defined, indicates that the lockf routine is
  *     available to do file locking.
  */
 /*#define HAS_MUNMAP           / **/
 
-/* HAS_NAN:
- *     This symbol, if defined, indicates that the nan routine is
- *     available to generate NaN.
- */
-/*#define HAS_NAN              / **/
-
-/* HAS_NEARBYINT:
- *     This symbol, if defined, indicates that the nextafter routine is
- *     available to return the integral value closest to (according to
-       the current rounding mode) to x.
- */
-/*#define HAS_NEARBYINT                / **/
-
-/* HAS_NEXTAFTER:
- *     This symbol, if defined, indicates that the nextafter routine is
- *     available to return the next machine representable long double from
- *     x in direction y.
- */
-/*#define HAS_NEXTAFTER                / **/
-
-/* HAS_NEXTTOWARD:
- *     This symbol, if defined, indicates that the nexttoward routine is
- *     available to return the next machine representable long double from
- *     x in direction y.
- */
-/*#define HAS_NEXTTOWARD               / **/
-
 /* HAS_NICE:
  *     This symbol, if defined, indicates that the nice routine is
  *     available.
  */
 /*#define HAS_READLINK         / **/
 
-/* HAS_REMAINDER:
- *     This symbol, if defined, indicates that the remainder routine is available.
+/* HAS_REGCOMP:
+ *     This symbol, if defined, indicates that the regcomp() routine is
+ *     available to do some regular patern matching (usually on POSIX.2
+ *     conforming systems).
  */
-/*#define HAS_REMAINDER        / **/
-
-/* HAS_REMQUO:
- *     This symbol, if defined, indicates that the remquo routine is available.
- */
-/*#define HAS_REMQUO   / **/
+#define HAS_REGCOMP            /* POSIX.2 */
 
 /* HAS_RENAME:
  *     This symbol, if defined, indicates that the rename routine is available
  */
 #define HAS_RENAME     /**/
 
-/* HAS_RINT:
- *     This symbol, if defined, indicates that the rint routine is available
- *     to return the nearest integral value to x as double using the current
- *     rounding mode.
- */
-/*#define HAS_RINT     / **/
-
 /* HAS_RMDIR:
  *     This symbol, if defined, indicates that the rmdir routine is
  *     available to remove directories. Otherwise you should fork off a
  */
 /*#define HAS_RMDIR            / **/
 
-/* HAS_ROUND:
- *     This symbol, if defined, indicates that the round routine is available.
- */
-/*#define HAS_ROUND    / **/
-
 /* HAS_SELECT:
  *     This symbol, if defined, indicates that the select routine is
  *     available to select active file descriptors. If the timeout field
  */
 /*#define HAS_SETSID   / **/
 
+/* HAS_STAT:
+ *     This symbol, if defined, indicates that the stat routine is
+ *     available to get file status.
+ */
+#define HAS_STAT       /**/
+
 /* HAS_STRCHR:
  *     This symbol is defined to indicate that the strchr()/strrchr()
  *     functions are available for string searching. If not, try the
  */
 /*#define HAS_TCSETPGRP                / **/
 
-/* HAS_TGAMMA:
- *     This symbol, if defined, indicates that the lgamma routine is
- *     available to do the gamma function.  See also HAS_LGAMMA.
- */
-/*#define HAS_TGAMMA           / **/
-
 /* HAS_TRUNCATE:
  *     This symbol, if defined, indicates that the truncate routine is
  *     available to truncate files.
  */
 #define DOUBLESIZE 8           /**/
 
-/* DOUBLEKIND:
- *     DOUBLEKIND will be one of
- *     DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN
- *     DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN
- *     DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN
- *     DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN
- *     DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN
- *     DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN
- *     DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE
- *     DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE
- *     DOUBLE_IS_UNKNOWN_FORMAT
- */
-#define DOUBLEKIND 3           /**/
-#define DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN        1
-#define DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN   2
-#define DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN        3
-#define DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN   4
-#define DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN       5
-#define DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN  6
-#define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE   7
-#define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE   8
-#define DOUBLE_IS_UNKNOWN_FORMAT               -1
-
 /* EBCDIC:
  *     This symbol, if defined, indicates that this system uses
  *     EBCDIC encoding.
 /*#define PWGECOS      / **/
 /*#define PWPASSWD     / **/
 
-/* I_QUADMATH:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <quadmath.h>.
- */
-/*#define   I_QUADMATH                / **/
-
 /* I_SYS_ACCESS:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <sys/access.h>.
  */
 /*#define HAS_ACOSH            / **/
 
+/* HAS_AINTL:
+ *     This symbol, if defined, indicates that the aintl routine is
+ *     available.  If copysignl is also present we can emulate modfl.
+ */
+/*#define HAS_AINTL            / **/
+
 /* HAS_ASINH:
  *     This symbol, if defined, indicates that the asinh routine is
  *     available to do the inverse hyperbolic sine function.
  */
 /*#define HAS_ATANH            / **/
 
-/* HAS_CBRT:
- *     This symbol, if defined, indicates that the cbrt routine is
- *     available to do the cubic root function.
- */
-/*#define HAS_CBRT             / **/
-
-/* HAS_COPYSIGN:
- *     This symbol, if defined, indicates that the copysign routine is
- *     available to do the copysign function.
- */
-/*#define HAS_COPYSIGN         / **/
-
-/* HAS_ERF:
- *     This symbol, if defined, indicates that the erf routine is
- *     available to do the error function.
- */
-/*#define HAS_ERF              / **/
-
-/* HAS_ERFC:
- *     This symbol, if defined, indicates that the erfc routine is
- *     available to do the complementary error function.
- */
-/*#define HAS_ERFC             / **/
-
-/* HAS_EXP2:
- *     This symbol, if defined, indicates that the exp2 routine is
- *     available to do the 2**x function.
- */
-/*#define HAS_EXP2             / **/
-
-/* HAS_EXPM1:
- *     This symbol, if defined, indicates that the expm1 routine is
- *     available to do the exp(x) - 1 when x is near 1.
- */
-/*#define HAS_EXPM1            / **/
-
-/* HAS_FMA:
- *     This symbol, if defined, indicates that the fma routine is
- *     available to do the multiply-add function.
- */
-/*#define HAS_FMA              / **/
-
-/* HAS_FDIM:
- *     This symbol, if defined, indicates that the fdim routine is
- *     available to do the positive difference function.
- */
-/*#define HAS_FDIM             / **/
-
-/* HAS_FMAX:
- *     This symbol, if defined, indicates that the fma routine is
- *     available to do the maximum function.
- */
-/*#define HAS_FMAX             / **/
-
-/* HAS_FMIN:
- *     This symbol, if defined, indicates that the fma routine is
- *     available to do the minimum function.
- */
-/*#define HAS_FMIN             / **/
-
-/* HAS_AINTL:
- *     This symbol, if defined, indicates that the aintl routine is
- *     available.  If copysignl is also present we can emulate modfl.
- */
-/*#define HAS_AINTL            / **/
-
 /* HAS_BUILTIN_CHOOSE_EXPR:
  *     Can we handle GCC builtin for compile-time ternary-like expressions
  */
  */
 /*#define HAS_STRUCT_CMSGHDR   / **/
 
+/* HAS_COPYSIGN:
+ *     This symbol, if defined, indicates that the copysign routine is
+ *     available to do the copysign function.
+ */
+/*#define HAS_COPYSIGN         / **/
+
 /* HAS_COPYSIGNL:
  *     This symbol, if defined, indicates that the copysignl routine is
  *     available.  If aintl is also present we can emulate modfl.
  */
 /*#define      DLSYM_NEEDS_UNDERSCORE  / **/
 
+/* HAS_ERF:
+ *     This symbol, if defined, indicates that the erf routine is
+ *     available to do the error function.
+ */
+/*#define HAS_ERF              / **/
+
+/* HAS_ERFC:
+ *     This symbol, if defined, indicates that the erfc routine is
+ *     available to do the complementary error function.
+ */
+/*#define HAS_ERFC             / **/
+
+/* HAS_EXP2:
+ *     This symbol, if defined, indicates that the exp2 routine is
+ *     available to do the 2**x function.
+ */
+/*#define HAS_EXP2             / **/
+
+/* HAS_EXPM1:
+ *     This symbol, if defined, indicates that the expm1 routine is
+ *     available to do the exp(x) - 1 when x is near 1 function.
+ */
+/*#define HAS_EXPM1            / **/
+
 /* HAS_FAST_STDIO:
  *     This symbol, if defined, indicates that the "fast stdio"
  *     is available to manipulate the stdio buffers directly.
  */
 /*#define FCNTL_CAN_LOCK               / **/
 
+/* HAS_FDIM:
+ *     This symbol, if defined, indicates that the fdim routine is
+ *     available to do the positive difference function.
+ */
+/*#define HAS_FDIM             / **/
+
 /* HAS_FEGETROUND:
  *     This symbol, if defined, indicates that the fegetround routine is
  *     available to return the macro corresponding to the current rounding
  */
 /*#define      HAS_FLOCK_PROTO / **/
 
+/* HAS_FMA:
+ *     This symbol, if defined, indicates that the fma routine is
+ *     available to do the multiply-add function.
+ */
+/*#define HAS_FMA              / **/
+
+/* HAS_FMAX:
+ *     This symbol, if defined, indicates that the fmax routine is
+ *     available to do the maximum function.
+ */
+/*#define HAS_FMAX             / **/
+
+/* HAS_FMIN:
+ *     This symbol, if defined, indicates that the fmin routine is
+ *     available to do the minimum function.
+ */
+/*#define HAS_FMIN             / **/
+
 /* HAS_FP_CLASS:
  *     This symbol, if defined, indicates that the fp_class routine is
  *     available to classify doubles.  Available for example in Digital UNIX.
 
 /* HAS_ILOGB:
  *     This symbol, if defined, indicates that the ilogb routine is
- *     available.
+ *     available to get integer exponent of a floating-point value.
  */
 /*#define HAS_ILOGB            / **/
 
  */
 /*#define HAS_ISINFL           / **/
 
+/* HAS_ISLESS:
+ *     This symbol, if defined, indicates that the isless routine is
+ *     available to do the isless function.
+ */
+/*#define HAS_ISLESS           / **/
+
 /* HAS_ISNAN:
  *     This symbol, if defined, indicates that the isnan routine is
  *     available to check whether a double is a NaN.
 /*#define      HAS_J0          / **/
 /*#define      HAS_J0L         / **/
 
+/* HAS_LC_MONETARY_2008:
+ *     This symbol, if defined, indicates that the localeconv routine is
+ *     available and has the additional members added in POSIX 1003.1-2008.
+ */
+/*#define HAS_LC_MONETARY_2008         / **/
+
 /* HAS_LDBL_DIG:
  *     This symbol, if defined, indicates that this system's <float.h>
  *     or <limits.h> defines the symbol LDBL_DIG, which is the number
 /*#define HAS_LLROUND          / **/
 
 /* HAS_LOG1P:
- *     This symbol, if defined, indicates that the lgamma routine is
- *     available to do the log1p function.
+ *     This symbol, if defined, indicates that the log1p routine is
+ *     available to do the logarithm of 1 plus argument function.
  */
 /*#define HAS_LOG1P            / **/
 
 /* HAS_LOG2:
- *     This symbol, if defined, indicates that the lgamma routine is
+ *     This symbol, if defined, indicates that the log2 routine is
  *     available to do the log2 function.
  */
 /*#define HAS_LOG2             / **/
 
 /* HAS_LOGB:
- *     This symbol, if defined, indicates that the lgamma routine is
+ *     This symbol, if defined, indicates that the logb routine is
  *     available to do the logb function.
  */
 /*#define HAS_LOGB             / **/
  */
 /*#define HAS_STRUCT_MSGHDR    / **/
 
+/* HAS_NAN:
+ *     This symbol, if defined, indicates that the nan routine is
+ *     available to generate NaN.
+ */
+/*#define HAS_NAN              / **/
+
+/* HAS_NEARBYINT:
+ *     This symbol, if defined, indicates that the nearbyint routine is
+ *     available to return the integral value closest to (according to
+ *     the current rounding mode) to x.
+ */
+/*#define HAS_NEARBYINT                / **/
+
+/* HAS_NEXTAFTER:
+ *     This symbol, if defined, indicates that the nextafter routine is
+ *     available to return the next machine representable double from
+ *     x in direction y.
+ */
+/*#define HAS_NEXTAFTER                / **/
+
+/* HAS_NEXTTOWARD:
+ *     This symbol, if defined, indicates that the nexttoward routine is
+ *     available to return the next machine representable long double from
+ *     x in direction y.
+ */
+/*#define HAS_NEXTTOWARD               / **/
+
 /* HAS_NL_LANGINFO:
  *     This symbol, if defined, indicates that the nl_langinfo routine is
  *     available to return local data.  You will also need <langinfo.h>
  */
 /*#define HAS_RECVMSG          / **/
 
+/* HAS_REMAINDER:
+ *     This symbol, if defined, indicates that the remainder routine is
+ *     available to return the floating-point remainder.
+ */
+/*#define HAS_REMAINDER                / **/
+
+/* HAS_REMQUO:
+ *     This symbol, if defined, indicates that the remquo routine is
+ *     available to return the remainder and part of quotient.
+ */
+/*#define HAS_REMQUO           / **/
+
+/* HAS_RINT:
+ *     This symbol, if defined, indicates that the rint routine is
+ *     available to return the nearest integral value to x as double
+ *     using the current rounding mode.
+ */
+/*#define HAS_RINT             / **/
+
+/* HAS_ROUND:
+ *     This symbol, if defined, indicates that the round routine is
+ *     available to round to nearest integer, away from zero.
+ */
+/*#define HAS_ROUND            / **/
+
 /* HAS_SBRK_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the sbrk() function.  Otherwise, it is up
 /*#define      HAS_SBRK_PROTO  / **/
 
 /* HAS_SCALBN:
- *     This symbol, if defined, indicates that the scalbn routine is available.
+ *     This symbol, if defined, indicates that the scalbn routine is
+ *     available to multiply floating-point number by integral power
+ *     of radix.
  */
 /*#define HAS_SCALBN           / **/
 
  */
 /*#define      HAS_TELLDIR_PROTO       / **/
 
+/* HAS_TGAMMA:
+ *     This symbol, if defined, indicates that the tgamma routine is
+ *     available to do the gamma function. See also HAS_LGAMMA.
+ */
+/*#define HAS_TGAMMA           / **/
+
 /* HAS_CTIME64:
  *     This symbol, if defined, indicates that the ctime64 () routine is
  *     available to do the 64bit variant of ctime ()
 /*#define HAS_TIMEGM           / **/
 
 /* HAS_TRUNC:
- *     This symbol, if defined, indicates that the trunc routine is available.
+ *     This symbol, if defined, indicates that the trunc routine is
+ *     available to round doubles towards zero.
  */
 /*#define HAS_TRUNC            / **/
 
  */
 /*#define      I_PROT          / **/
 
+/* I_QUADMATH:
+ *     This symbol, if defined, indicates that <quadmath.h> exists and
+ *     should be included.
+ */
+/*#define      I_QUADMATH              / **/
+
 /* I_SHADOW:
  *     This symbol, if defined, indicates that <shadow.h> exists and
  *     should be included.
  *     This symbol, if defined, contains the string used by stdio to
  *     format long doubles (format 'f') for input.
  */
+/* DOUBLEKIND:
+ *     DOUBLEKIND will be one of
+ *     DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN
+ *     DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN
+ *     DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN
+ *     DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN
+ *     DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN
+ *     DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN
+ *     DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE
+ *     DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE
+ *     DOUBLE_IS_UNKNOWN_FORMAT
+ */
+#define DOUBLEKIND 3           /**/
+#define DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN        1
+#define DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN   2
+#define DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN        3
+#define DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN   4
+#define DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN       5
+#define DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN  6
+#define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE   7
+#define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE   8
+#define DOUBLE_IS_UNKNOWN_FORMAT               -1
 /*#define PERL_PRIfldbl        "llf"   / **/
 /*#define PERL_PRIgldbl        "llg"   / **/
 /*#define PERL_PRIeldbl        "lle"   / **/
 /*#define      USE_LONG_DOUBLE         / **/
 #endif
 
-/* USE_QUADMATH:
- *     This symbol, if defined, indicates that the quadmath library should
- *     be used when available.
- */
-#ifndef USE_QUADMATH
-/*#define      USE_QUADMATH            / **/
-#endif
-
 /* USE_MORE_BITS:
  *     This symbol, if defined, indicates that 64-bit interfaces and
  *     long doubles should be used when available.
 /*#define      USE_PERLIO              / **/
 #endif
 
+/* USE_QUADMATH:
+ *     This symbol, if defined, indicates that the quadmath library should
+ *     be used when available.
+ */
+#ifndef USE_QUADMATH
+/*#define      USE_QUADMATH            / **/
+#endif
+
 /* USE_SOCKS:
  *     This symbol, if defined, indicates that Perl should
  *     be built to use socks.
 #endif
 
 /* Generated from:
- * 7c85f69913f492fecfaef3ab68fba849dc01a6b917c88c66991f06fa1ef53797 config_h.SH
- * 22822d456ad16d8f6b30a42bfa66aab6d7b264993ad6c95ecbf385c3a87c8826 uconfig.sh
+ * 45b69f7afc4f5a9118deafae60c017b206cc0acf790bf42c0c80cfe114a06e47 config_h.SH
+ * 37fcea608869353fa4ba82c931a6a9668f955825992315f17a1500b8bcba2bf8 uconfig.sh
  * ex: set ro: */
index a4b3327..e168f17 100644 (file)
@@ -255,6 +255,7 @@ d_isfinite='undef'
 d_isfinitel='undef'
 d_isinf='undef'
 d_isinfl='undef'
+d_isless='undef'
 d_isnan='undef'
 d_isnanl='undef'
 d_isnormal='undef'
@@ -369,6 +370,7 @@ d_readdir_r='undef'
 d_readlink='undef'
 d_readv='undef'
 d_recvmsg='undef'
+d_regcomp='define'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
@@ -452,6 +454,7 @@ d_srand48_r='undef'
 d_srandom_r='undef'
 d_sresgproto='undef'
 d_sresuproto='undef'
+d_stat='define'
 d_statblks='undef'
 d_statfs_f_flags='undef'
 d_statfs_s='undef'
index 92952cc..76cbbb0 100644 (file)
@@ -256,6 +256,7 @@ d_isfinite='undef'
 d_isfinitel='undef'
 d_isinf='undef'
 d_isinfl='undef'
+d_isless='undef'
 d_isnan='undef'
 d_isnanl='undef'
 d_isnormal='undef'
@@ -370,6 +371,7 @@ d_readdir_r='undef'
 d_readlink='undef'
 d_readv='undef'
 d_recvmsg='undef'
+d_regcomp='undef'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
@@ -453,6 +455,7 @@ d_srand48_r='undef'
 d_srandom_r='undef'
 d_sresgproto='undef'
 d_sresuproto='undef'
+d_stat='define'
 d_statblks='undef'
 d_statfs_f_flags='undef'
 d_statfs_s='undef'
index 96a9c17..f49379f 100644 (file)
@@ -303,6 +303,7 @@ d_isfinite='undef'
 d_isfinitel='undef'
 d_isinf='undef'
 d_isinfl='undef'
+d_isless='undef'
 d_isnan='define'
 d_isnanl='undef'
 d_isnormal='undef'
@@ -417,6 +418,7 @@ d_readdir_r='undef'
 d_readlink='undef'
 d_readv='undef'
 d_recvmsg='undef'
+d_regcomp='undef'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
@@ -501,6 +503,7 @@ d_srand48_r='undef'
 d_srandom_r='undef'
 d_sresgproto='undef'
 d_sresuproto='undef'
+d_stat='define'
 d_statblks='undef'
 d_statfs_f_flags='undef'
 d_statfs_s='undef'
index a23d4f3..32d11d7 100644 (file)
@@ -303,6 +303,7 @@ d_isfinite='undef'
 d_isfinitel='undef'
 d_isinf='undef'
 d_isinfl='undef'
+d_isless='undef'
 d_isnan='define'
 d_isnanl='undef'
 d_isnormal='undef'
@@ -418,6 +419,7 @@ d_readdir_r='undef'
 d_readlink='undef'
 d_readv='undef'
 d_recvmsg='undef'
+d_regcomp='undef'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
@@ -501,6 +503,7 @@ d_srand48_r='undef'
 d_srandom_r='undef'
 d_sresgproto='undef'
 d_sresuproto='undef'
+d_stat='define'
 d_statblks='undef'
 d_statfs_f_flags='undef'
 d_statfs_s='undef'
index d7cd9de..db77d08 100644 (file)
@@ -303,6 +303,7 @@ d_isfinite='undef'
 d_isfinitel='undef'
 d_isinf='undef'
 d_isinfl='undef'
+d_isless='undef'
 d_isnan='define'
 d_isnanl='undef'
 d_isnormal='undef'
@@ -418,6 +419,7 @@ d_readdir_r='undef'
 d_readlink='undef'
 d_readv='undef'
 d_recvmsg='undef'
+d_regcomp='undef'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
@@ -501,6 +503,7 @@ d_srand48_r='undef'
 d_srandom_r='undef'
 d_sresgproto='undef'
 d_sresuproto='undef'
+d_stat='define'
 d_statblks='undef'
 d_statfs_f_flags='undef'
 d_statfs_s='undef'