This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Re-gen Configure based on #13778..13781.
[perl5.git] / config_h.SH
index b3a8c7e..37ad71a 100644 (file)
@@ -112,12 +112,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #define const
 #endif
 
-/* HAS_CRYPT:
- *     This symbol, if defined, indicates that the crypt routine is available
- *     to encrypt passwords and the like.
- */
-#$d_crypt HAS_CRYPT            /**/
-
 /* HAS_CUSERID:
  *     This symbol, if defined, indicates that the cuserid routine is
  *     available to get character login names.
@@ -145,26 +139,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_dlerror HAS_DLERROR        /**/
 
-/* SETUID_SCRIPTS_ARE_SECURE_NOW:
- *     This symbol, if defined, indicates that the bug that prevents
- *     setuid scripts from being secure is not present in this kernel.
- */
-/* DOSUID:
- *     This symbol, if defined, indicates that the C program should
- *     check the script that it is executing for setuid/setgid bits, and
- *     attempt to emulate setuid/setgid on systems that have disabled
- *     setuid #! scripts because the kernel can't do it securely.
- *     It is up to the package designer to make sure that this emulation
- *     is done securely.  Among other things, it should do an fstat on
- *     the script it just opened to make sure it really is a setuid/setgid
- *     script, it should make sure the arguments passed correspond exactly
- *     to the argument on the #! line, and it should not trust any
- *     subprocesses to which it must pass the filename rather than the
- *     file descriptor of the script to be executed.
- */
-#$d_suidsafe SETUID_SCRIPTS_ARE_SECURE_NOW     /**/
-#$d_dosuid DOSUID              /**/
-
 /* HAS_DUP2:
  *     This symbol, if defined, indicates that the dup2 routine is
  *     available to duplicate file descriptors.
@@ -942,17 +916,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$i_values I_VALUES            /**/
 
-/* I_STDARG:
- *     This symbol, if defined, indicates that <stdarg.h> exists and should
- *     be included.
- */
-/* I_VARARGS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <varargs.h>.
- */
-#$i_stdarg I_STDARG            /**/
-#$i_varargs I_VARARGS  /**/
-
 /* I_VFORK:
  *     This symbol, if defined, indicates to the C program that it should
  *     include vfork.h.
@@ -977,21 +940,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #define        _(args) ()
 #endif
 
-/* SH_PATH:
- *     This symbol contains the full pathname to the shell used on this
- *     on this system to execute Bourne shell scripts.  Usually, this will be
- *     /bin/sh, though it's possible that some systems will have /bin/ksh,
- *     /bin/pdksh, /bin/ash, /bin/bash, or even something such as
- *     D:/bin/sh.exe.
- */
-#define SH_PATH "$sh"  /**/
-
-/* CROSSCOMPILE:
- *     This symbol, if defined, signifies that we our
- *     build process is a cross-compilation.
- */
-#$crosscompile CROSSCOMPILE            /**/
-
 /* INTSIZE:
  *     This symbol contains the value of sizeof(int) so that the C
  *     preprocessor can make decisions based on it.
@@ -1075,7 +1023,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     double, or a long double when applicable. Usual values are 2,
  *     4 and 8. The default is eight, for safety.
  */
-#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
 #  define MEM_ALIGNBYTES 8
 #else
 #define MEM_ALIGNBYTES $alignbytes
@@ -1152,7 +1100,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     so the default case (for NeXT) is big endian to catch them. 
  *     This might matter for NeXT 3.0.
  */
-#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
 #  ifdef __LITTLE_ENDIAN__
 #    if LONGSIZE == 4
 #      define BYTEORDER 0x1234
@@ -1267,6 +1215,24 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$d_castneg    CASTNEGFLOAT            /**/
 #define CASTFLAGS $castflags           /**/
 
+/* HAS_CLASS:
+ *     This symbol, if defined, indicates that the class routine is
+ *     available to classify doubles.  Available for example in AIX.
+ *     The returned values are defined in <float.h> and are:
+ *
+ *     FP_PLUS_NORM    Positive normalized, nonzero
+ *     FP_MINUS_NORM   Negative normalized, nonzero
+ *     FP_PLUS_DENORM  Positive denormalized, nonzero
+ *     FP_MINUS_DENORM Negative denormalized, nonzero
+ *     FP_PLUS_ZERO    +0.0
+ *     FP_MINUS_ZERO   -0.0
+ *     FP_PLUS_INF     +INF
+ *     FP_MINUS_INF    -INF
+ *     FP_NANS         Signaling Not a Number (NaNS)
+ *     FP_NANQ         Quiet Not a Number (NaNQ)
+ */
+#$d_class HAS_CLASS            /**/
+
 /* VOID_CLOSEDIR:
  *     This symbol, if defined, indicates that the closedir() routine
  *     does not return a value.
@@ -1342,6 +1308,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_endsent HAS_ENDSERVENT             /**/
 
+/* HAS_FCHDIR:
+ *     This symbol, if defined, indicates that the fchdir routine is
+ *     available to change directory using a file descriptor.
+ */
+#$d_fchdir HAS_FCHDIR          /**/
+
 /* FCNTL_CAN_LOCK:
  *     This symbol, if defined, indicates that fcntl() can be used
  *     for file locking.  Normally on Unix systems this is defined.
@@ -1355,12 +1327,75 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_fd_set HAS_FD_SET  /**/
 
+/* HAS_FINITE:
+ *     This symbol, if defined, indicates that the finite routine is
+ *     available to check whether a double is finite (non-infinity non-NaN).
+ */
+#$d_finite HAS_FINITE          /**/
+
+/* HAS_FINITEL:
+ *     This symbol, if defined, indicates that the finitel routine is
+ *     available to check whether a long double is finite
+ *     (non-infinity non-NaN).
+ */
+#$d_finitel HAS_FINITEL                /**/
+
 /* FLEXFILENAMES:
  *     This symbol, if defined, indicates that the system supports filenames
  *     longer than 14 characters.
  */
 #$d_flexfnam   FLEXFILENAMES           /**/
 
+/* HAS_FP_CLASS:
+ *     This symbol, if defined, indicates that the fp_class routine is
+ *     available to classify doubles.  Available for example in Digital UNIX.
+ *     The returned values are defined in <math.h> and are:
+ *
+ *     FP_SNAN           Signaling NaN (Not-a-Number)
+ *     FP_QNAN           Quiet NaN (Not-a-Number)
+ *     FP_POS_INF        +infinity
+ *     FP_NEG_INF        -infinity
+ *     FP_POS_NORM       Positive normalized
+ *     FP_NEG_NORM       Negative normalized
+ *     FP_POS_DENORM     Positive denormalized
+ *     FP_NEG_DENORM     Negative denormalized
+ *     FP_POS_ZERO       +0.0 (positive zero)
+ *     FP_NEG_ZERO       -0.0 (negative zero)
+ */
+#$d_fp_class HAS_FP_CLASS              /**/
+
+/* HAS_FPCLASS:
+ *     This symbol, if defined, indicates that the fpclass routine is
+ *     available to classify doubles.  Available for example in Solaris/SVR4.
+ *     The returned values are defined in <ieeefp.h> and are:
+ *
+ *     FP_SNAN         signaling NaN
+ *     FP_QNAN         quiet NaN
+ *     FP_NINF         negative infinity
+ *     FP_PINF         positive infinity
+ *     FP_NDENORM      negative denormalized non-zero
+ *     FP_PDENORM      positive denormalized non-zero
+ *     FP_NZERO        negative zero
+ *     FP_PZERO        positive zero
+ *     FP_NNORM        negative normalized non-zero
+ *     FP_PNORM        positive normalized non-zero
+ */
+#$d_fpclass HAS_FPCLASS                /**/
+
+/* HAS_FPCLASSIFY:
+ *     This symbol, if defined, indicates that the fpclassify routine is
+ *     available to classify doubles.  Available for example in HP-UX.
+ *     The returned values are defined in <math.h> and are
+ *
+ *           FP_NORMAL     Normalized
+ *           FP_ZERO       Zero
+ *           FP_INFINITE   Infinity
+ *           FP_SUBNORMAL  Denormalized
+ *           FP_NAN        NaN
+ *
+ */
+#$d_fpclassify HAS_FPCLASSIFY          /**/
+
 /* HAS_FPOS64_T:
  *     This symbol will be defined if the C compiler supports fpos64_t.
  */
@@ -1670,12 +1705,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$d_htonl HAS_NTOHL            /**/
 #$d_htonl HAS_NTOHS            /**/
 
-/* HAS_ICONV:
- *     This symbol, if defined, indicates that the iconv routine is
- *     available to do character set conversions.
- */
-#$d_iconv HAS_ICONV            /**/
-
 /* HAS_INT64_T:
  *     This symbol will defined if the C compiler supports int64_t.
  *     Usually the <inttypes.h> needs to be included, but sometimes
@@ -1689,6 +1718,18 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_isascii HAS_ISASCII                /**/
 
+/* HAS_ISFINITE:
+ *     This symbol, if defined, indicates that the isfinite routine is
+ *     available to check whether a double is finite (non-infinity non-NaN).
+ */
+#$d_isfinite HAS_ISFINITE              /**/
+
+/* HAS_ISINF:
+ *     This symbol, if defined, indicates that the isinf routine is
+ *     available to check whether a double is an infinity.
+ */
+#$d_isinf HAS_ISINF            /**/
+
 /* HAS_ISNAN:
  *     This symbol, if defined, indicates that the isnan routine is
  *     available to check whether a double is a NaN.
@@ -1883,7 +1924,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 
 /* HAS_SAFE_BCOPY:
  *     This symbol, if defined, indicates that the bcopy routine is available
- *     to copy potentially overlapping memory blocks. Otherwise you should
+ *     to copy potentially overlapping memory blocks. Normally, you should
  *     probably use memmove() or memcpy(). If neither is defined, roll your
  *     own version.
  */
@@ -1891,9 +1932,9 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 
 /* HAS_SAFE_MEMCPY:
  *     This symbol, if defined, indicates that the memcpy routine is available
- *     to copy potentially overlapping memory blocks. Otherwise you should
- *     probably use memmove() or memcpy(). If neither is defined, roll your
- *     own version.
+ *     to copy potentially overlapping memory blocks.  If you need to
+ *     copy overlapping memory blocks, you should check HAS_MEMMOVE and
+ *     use memmove() instead, if available.
  */
 #$d_safemcpy HAS_SAFE_MEMCPY   /**/
 
@@ -2313,6 +2354,13 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$d_semctl_semun USE_SEMCTL_SEMUN      /**/
 #$d_semctl_semid_ds USE_SEMCTL_SEMID_DS        /**/
 
+/* HAS_UNORDERED:
+ *     This symbol, if defined, indicates that the unordered routine is
+ *     available to check whether two doubles are unordered
+ *     (effectively: whether either of them is NaN)
+ */
+#$d_unordered HAS_UNORDERED            /**/
+
 /* HAS_USTAT:
  *     This symbol, if defined, indicates that the ustat system call is
  *     available to query file system statistics by dev_t.
@@ -2459,6 +2507,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #define DB_VERSION_MINOR_CFG   $db_version_minor       /**/
 #define DB_VERSION_PATCH_CFG   $db_version_patch       /**/
 
+/* I_FP_CLASS:
+ *     This symbol, if defined, indicates that <fp_class.h> exists and
+ *     should be included.
+ */
+#$i_fp_class   I_FP_CLASS              /**/
+
 /* I_GRP:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <grp.h>.
@@ -2470,12 +2524,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$i_grp I_GRP          /**/
 #$d_grpasswd GRPASSWD  /**/
 
-/* I_ICONV:
- *     This symbol, if defined, indicates that <iconv.h> exists and
- *     should be included.
- */
-#$i_iconv      I_ICONV         /**/
-
 /* I_IEEEFP:
  *     This symbol, if defined, indicates that <ieeefp.h> exists and
  *     should be included.
@@ -2988,7 +3036,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     This macro is to be used to generate uniformly distributed
  *     random numbers over the range [0., 1.[.  You may have to supply
  *     an 'extern double drand48();' in your program since SunOS 4.1.3
- *     doesn't provide you with anything relevant in it's headers.
+ *     doesn't provide you with anything relevant in its headers.
  *     See HAS_DRAND48_PROTO.
  */
 /* Rand_seed_t:
@@ -3267,12 +3315,18 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     This symbol, if defined, indicates that Perl should
  *     be built to use the old draft POSIX threads API.
  */
+/* USE_REENTRANT_API:
+ *     This symbol, if defined, indicates that Perl should
+ *     try to use the various _r versions of library functions.
+ *     This is extremely experimental.
+ */
 #$use5005threads       USE_5005THREADS         /**/
 #$useithreads  USE_ITHREADS            /**/
 #if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
 #define                USE_THREADS             /* until src is revised*/
 #endif
 #$d_oldpthreads        OLD_PTHREADS_API                /**/
+#$usereentrant USE_REENTRANT_API       /**/
 
 /* PERL_VENDORARCH:
  *     If defined, this symbol contains the name of a private library.
@@ -3364,6 +3418,64 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #define PERL_XS_APIVERSION "$xs_apiversion"
 #define PERL_PM_APIVERSION "$pm_apiversion"
 
+/* HAS_CRYPT:
+ *     This symbol, if defined, indicates that the crypt routine is available
+ *     to encrypt passwords and the like.
+ */
+#$d_crypt HAS_CRYPT            /**/
+
+/* SETUID_SCRIPTS_ARE_SECURE_NOW:
+ *     This symbol, if defined, indicates that the bug that prevents
+ *     setuid scripts from being secure is not present in this kernel.
+ */
+/* DOSUID:
+ *     This symbol, if defined, indicates that the C program should
+ *     check the script that it is executing for setuid/setgid bits, and
+ *     attempt to emulate setuid/setgid on systems that have disabled
+ *     setuid #! scripts because the kernel can't do it securely.
+ *     It is up to the package designer to make sure that this emulation
+ *     is done securely.  Among other things, it should do an fstat on
+ *     the script it just opened to make sure it really is a setuid/setgid
+ *     script, it should make sure the arguments passed correspond exactly
+ *     to the argument on the #! line, and it should not trust any
+ *     subprocesses to which it must pass the filename rather than the
+ *     file descriptor of the script to be executed.
+ */
+#$d_suidsafe SETUID_SCRIPTS_ARE_SECURE_NOW     /**/
+#$d_dosuid DOSUID              /**/
+
+/* I_STDARG:
+ *     This symbol, if defined, indicates that <stdarg.h> exists and should
+ *     be included.
+ */
+/* I_VARARGS:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <varargs.h>.
+ */
+#$i_stdarg I_STDARG            /**/
+#$i_varargs I_VARARGS  /**/
+
+/* SH_PATH:
+ *     This symbol contains the full pathname to the shell used on this
+ *     on this system to execute Bourne shell scripts.  Usually, this will be
+ *     /bin/sh, though it's possible that some systems will have /bin/ksh,
+ *     /bin/pdksh, /bin/ash, /bin/bash, or even something such as
+ *     D:/bin/sh.exe.
+ */
+#define SH_PATH "$sh"  /**/
+
+/* USE_CROSS_COMPILE:
+ *     This symbol, if defined, indicates that Perl is being cross-compiled.
+ */
+/* PERL_TARGETARCH:
+ *     This symbol, if defined, indicates the target architecture
+ *     Perl has been cross-compiled to.  Undefined if not a cross-compile.
+ */
+#ifndef USE_CROSS_COMPILE
+#$usecrosscompile      USE_CROSS_COMPILE       /**/
+#define        PERL_TARGETARCH "$targetarch"   /**/
+#endif
+
 /* HAS_DBMINIT_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the dbminit() function.  Otherwise, it is up
@@ -3372,6 +3484,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_dbminitproto       HAS_DBMINIT_PROTO       /**/
 
+/* HAS_DIRFD:
+ *     This manifest constant lets the C program know that dirfd
+ *     is available.
+ */
+#$d_dirfd HAS_DIRFD            /**/
+
 /* HAS_FLOCK_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the flock() function.  Otherwise, it is up
@@ -3380,11 +3498,44 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_flockproto HAS_FLOCK_PROTO /**/
 
-/* HAS_REALPATH:
- *     This symbol, if defined, indicates that the realpath routine is
- *     available to do resolve paths.
- */
-#$d_realpath HAS_REALPATH              /**/
+/* HAS_FPCLASSL:
+ *     This symbol, if defined, indicates that the fpclassl routine is
+ *     available to classify long doubles.  Available for example in IRIX.
+ *     The returned values are defined in <ieeefp.h> and are:
+ *
+ *     FP_SNAN         signaling NaN
+ *     FP_QNAN         quiet NaN
+ *     FP_NINF         negative infinity
+ *     FP_PINF         positive infinity
+ *     FP_NDENORM      negative denormalized non-zero
+ *     FP_PDENORM      positive denormalized non-zero
+ *     FP_NZERO        negative zero
+ *     FP_PZERO        positive zero
+ *     FP_NNORM        negative normalized non-zero
+ *     FP_PNORM        positive normalized non-zero
+ */
+#$d_fpclassl HAS_FPCLASSL              /**/
+
+/* 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>
+ *     and therefore I_LANGINFO.
+ */
+#$d_nl_langinfo HAS_NL_LANGINFO                /**/
+
+/* HAS_PROCSELFEXE:
+ *     This symbol is defined if PROCSELFEXE_PATH is a symlink
+ *     to the absolute pathname of the executing program.
+ */
+/* PROCSELFEXE_PATH:
+ *     If HAS_PROCSELFEXE is defined this symbol is the filename
+ *     of the symbolic link pointing to the absolute pathname of
+ *     the executing program.
+ */
+#$d_procselfexe HAS_PROCSELFEXE        /**/
+#if defined(HAS_PROCSELFEXE) && !defined(PROCSELFEXE_PATH)
+#define PROCSELFEXE_PATH       $procselfexe    /**/
+#endif
 
 /* HAS_SIGPROCMASK:
  *     This symbol, if defined, indicates that the sigprocmask
@@ -3452,5 +3603,23 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_usleepproto        HAS_USLEEP_PROTO        /**/
 
+/* I_FP:
+ *     This symbol, if defined, indicates that <fp.h> exists and
+ *     should be included.
+ */
+#$i_fp I_FP            /**/
+
+/* I_LANGINFO:
+ *     This symbol, if defined, indicates that <langinfo.h> exists and
+ *     should be included.
+ */
+#$i_langinfo   I_LANGINFO              /**/
+
+/* HAS_PTHREAD_ATFORK:
+ *     This symbol, if defined, indicates that the pthread_atfork routine
+ *     is available setup fork handlers.
+ */
+#$d_pthread_atfork HAS_PTHREAD_ATFORK          /**/
+
 #endif
 !GROK!THIS!