This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Rely on C89 <time.h>
[perl5.git] / uconfig.h
index 6832f6f..50c1c95 100644 (file)
--- a/uconfig.h
+++ b/uconfig.h
  */
 /*#define HAS_ALARM            / **/
 
-/* HAS_BCMP:
- *     This symbol is defined if the bcmp() routine is available to
- *     compare blocks of memory.
- */
-/*#define HAS_BCMP     / **/
-
-/* HAS_BCOPY:
- *     This symbol is defined if the bcopy() routine is available to
- *     copy blocks of memory.
- */
-/*#define HAS_BCOPY    / **/
-
-/* HAS_BZERO:
- *     This symbol is defined if the bzero() routine is available to
- *     set a memory block to 0.
- */
-/*#define HAS_BZERO    / **/
-
 /* HAS_CBRT:
  *     This symbol, if defined, indicates that the cbrt() (cube root)
  *     function is available.
  */
 /*#define HAS_MBTOWC           / **/
 
-/* HAS_MEMCMP:
- *     This symbol, if defined, indicates that the memcmp routine is available
- *     to compare blocks of memory.
- */
-#define HAS_MEMCMP     /**/
-
-/* HAS_MEMCPY:
- *     This symbol, if defined, indicates that the memcpy routine is available
- *     to copy blocks of memory.
- */
-#define HAS_MEMCPY     /**/
-
-/* HAS_MEMMOVE:
- *     This symbol, if defined, indicates that the memmove routine is available
- *     to copy potentially overlapping blocks of memory. This should be used
- *     only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your
- *     own version.
- */
-/*#define HAS_MEMMOVE  / **/
-
-/* HAS_MEMSET:
- *     This symbol, if defined, indicates that the memset routine is available
- *     to set blocks of memory.
- */
-#define HAS_MEMSET     /**/
-
 /* HAS_MKDIR:
  *     This symbol, if defined, indicates that the mkdir routine is available
  *     to create directories.  Otherwise you should fork off a new process to
  */
 /*#define HAS_MKTIME           / **/
 
+/* HAS_MSG:
+ *     This symbol, if defined, indicates that the entire msg*(2) library is
+ *     supported (IPC mechanism based on message queues).
+ */
+/*#define HAS_MSG              / **/
+
 /* HAS_MSYNC:
  *     This symbol, if defined, indicates that the msync system call is
  *     available to synchronize a mapped file.
  */
 /*#define HAS_SELECT   / **/
 
+/* HAS_SEM:
+ *     This symbol, if defined, indicates that the entire sem*(2) library is
+ *     supported.
+ */
+/*#define HAS_SEM              / **/
+
 /* HAS_SETEGID:
  *     This symbol, if defined, indicates that the setegid routine is available
  *     to change the effective gid of the current program.
  */
 #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
- *     index()/rindex() pair.
- */
-/* HAS_INDEX:
- *     This symbol is defined to indicate that the index()/rindex()
- *     functions are available for string searching.
- */
-/*#define HAS_STRCHR   / **/
-/*#define HAS_INDEX    / **/
-
 /* HAS_STRCOLL:
  *     This symbol, if defined, indicates that the strcoll routine is
  *     available to compare strings using collating information.
  */
 /*#define I_NETINET_IN / **/
 
-/* I_STDDEF:
- *     This symbol, if defined, indicates that <stddef.h> exists and should
- *     be included.
- */
-#define I_STDDEF       /**/
-
-/* I_STDLIB:
- *     This symbol, if defined, indicates that <stdlib.h> exists and should
- *     be included.
- */
-#define I_STDLIB               /**/
-
 /* I_STRING:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <string.h> (USG systems) instead of <strings.h> (BSD systems).
  */
 #define STDCHAR char   /**/
 
-/* CAN_VAPROTO:
- *     This variable is defined on systems supporting prototype declaration
- *     of functions with a variable number of arguments.
- */
-/* _V:
- *     This macro is used to declare function parameters in prototypes for
- *     functions with a variable number of parameters. Use double parentheses.
- *     For example:
- *
- *             int printf _V((char *fmt, ...));
- *
- *     Remember to use the plain simple _() macro when declaring a function
- *     with no variable number of arguments, since it might be possible to
- *     have a non-effect _V() macro and still get prototypes via _().
- */
-/*#define CAN_VAPROTO  / **/
-#ifdef CAN_VAPROTO
-#define        _V(args) args
-#else
-#define        _V(args) ()
-#endif
-
 /* INTSIZE:
  *     This symbol contains the value of sizeof(int) so that the C
  *     preprocessor can make decisions based on it.
  */
 /*#define HAS_OPEN3            / **/
 
-/* HAS_SAFE_BCOPY:
- *     This symbol, if defined, indicates that the bcopy routine is available
- *     to copy potentially overlapping memory blocks. Normally, you should
- *     probably use memmove() or memcpy(). If neither is defined, roll your
- *     own version.
- */
-/*#define HAS_SAFE_BCOPY       / **/
-
-/* HAS_SAFE_MEMCPY:
- *     This symbol, if defined, indicates that the memcpy routine is available
- *     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.
- */
-/*#define HAS_SAFE_MEMCPY      / **/
-
-/* HAS_SANE_MEMCMP:
- *     This symbol, if defined, indicates that the memcmp routine is available
- *     and can be used to compare relative magnitudes of chars with their high
- *     bits set.  If it is not defined, roll your own version.
- */
-/*#define HAS_SANE_MEMCMP      / **/
-
 /* HAS_SIGACTION:
  *     This symbol, if defined, indicates that Vr4's sigaction() routine
  *     is available.
 #define FILE_bufsiz(fp)        ((fp)->_IO_read_end - (fp)->_IO_read_base)
 #endif
 
-/* HAS_VPRINTF:
- *     This symbol, if defined, indicates that the vprintf routine is available
- *     to printf with a pointer to an argument list.  If unavailable, you
- *     may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- *     This symbol is defined if this system has vsprintf() returning type
- *     (char*).  The trend seems to be to declare it as "int vsprintf()".  It
- *     is up to the package author to declare vsprintf correctly based on the
- *     symbol.
- */
-#define HAS_VPRINTF    /**/
-/*#define USE_CHAR_VSPRINTF    / **/
-
 /* DOUBLESIZE:
  *     This symbol contains the size of a double, so that the C preprocessor
  *     can make decisions based on it.
 #define DOUBLESIZE 8           /**/
 
 /* I_TIME:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <time.h>.
+ *     This symbol is always defined, and indicates to the C program that
+ *     it should include <time.h>.
  */
 /* I_SYS_TIME:
  *     This symbol, if defined, indicates to the C program that it should
  *     This symbol contains the ~name expanded version of ARCHLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-/*#define ARCHLIB "/usr/local/lib/perl5/5.26/unknown"          / **/
-/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.26/unknown"              / **/
+/*#define ARCHLIB "/usr/local/lib/perl5/5.27/unknown"          / **/
+/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.27/unknown"              / **/
 
 /* BIN:
  *     This symbol holds the path of the bin directory where the package will
  *     This symbol contains the ~name expanded version of PRIVLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define PRIVLIB "/usr/local/lib/perl5/5.26"            /**/
-#define PRIVLIB_EXP "/usr/local/lib/perl5/5.26"                /**/
+#define PRIVLIB "/usr/local/lib/perl5/5.27"            /**/
+#define PRIVLIB_EXP "/usr/local/lib/perl5/5.27"                /**/
 
 /* SITEARCH:
  *     This symbol contains the name of the private library for this package.
  *     This symbol contains the ~name expanded version of SITEARCH, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-/*#define SITEARCH "/usr/local/lib/perl5/5.26/unknown"         / **/
-/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.26/unknown"             / **/
+/*#define SITEARCH "/usr/local/lib/perl5/5.27/unknown"         / **/
+/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.27/unknown"             / **/
 
 /* SITELIB:
  *     This symbol contains the name of the private library for this package.
  *     removed.  The elements in inc_version_list (inc_version_list.U) can
  *     be tacked onto this variable to generate a list of directories to search.
  */
-#define SITELIB "/usr/local/lib/perl5/5.26"            /**/
-#define SITELIB_EXP "/usr/local/lib/perl5/5.26"                /**/
+#define SITELIB "/usr/local/lib/perl5/5.27"            /**/
+#define SITELIB_EXP "/usr/local/lib/perl5/5.27"                /**/
 #define SITELIB_STEM "/usr/local/lib/perl5"            /**/
 
 /* PERL_VENDORARCH:
 #define LONGLONGSIZE 8         /**/
 #endif
 
-/* HAS_MEMCHR:
- *     This symbol, if defined, indicates that the memchr routine is available
- *     to locate characters within a C string.
- */
-#define HAS_MEMCHR     /**/
-
 /* HAS_MKSTEMP:
  *     This symbol, if defined, indicates that the mkstemp routine is
  *     available to exclusively create and open a uniquely named
 /*#define HAS_MMAP             / **/
 #define Mmap_t void *  /**/
 
-/* HAS_MSG:
- *     This symbol, if defined, indicates that the entire msg*(2) library is
- *     supported (IPC mechanism based on message queues).
- */
-/*#define HAS_MSG              / **/
-
-/* HAS_SEM:
- *     This symbol, if defined, indicates that the entire sem*(2) library is
- *     supported.
- */
-/*#define HAS_SEM              / **/
-
 /* HAS_SETGRENT:
  *     This symbol, if defined, indicates that the setgrent routine is
  *     available for initializing sequential access of the group database.
 /*#define USE_STAT_BLOCKS      / **/
 #endif
 
-/* USE_STRUCT_COPY:
- *     This symbol, if defined, indicates that this C compiler knows how
- *     to copy structures.  If undefined, you'll need to use a block copy
- *     routine of some sort instead.
- */
-/*#define      USE_STRUCT_COPY / **/
-
 /* HAS_STRERROR:
  *     This symbol, if defined, indicates that the strerror routine is
  *     available to translate error numbers to strings. See the writeup
  */
 #define Signal_t int   /* Signal handler's return type */
 
-/* HASVOLATILE:
- *     This symbol, if defined, indicates that this C compiler knows about
- *     the volatile declaration.
- */
-/*#define      HASVOLATILE     / **/
-#ifndef HASVOLATILE
-#define volatile
-#endif
-
 /* I_DIRENT:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <dirent.h>. Using this symbol also triggers the definition
 /*#define I_TERMIOS            / **/
 /*#define I_SGTTY              / **/
 
-/* 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>.
- */
-#define I_STDARG               /**/
-/*#define I_VARARGS    / **/
-
 /* Free_t:
  *     This variable contains the return type of free().  It is usually
  * void, but occasionally int.
  */
 /*#define MYMALLOC                     / **/
 
-/* CAN_PROTOTYPE:
- *     If defined, this macro indicates that the C compiler can handle
- *     function prototypes.
- */
-/* _:
- *     This macro is used to declare function parameters for folks who want
- *     to make declarations with prototypes using a different style than
- *     the above macros.  Use double parentheses.  For example:
- *
- *             int main _((int argc, char *argv[]));
- */
-/*#define      CAN_PROTOTYPE   / **/
-#ifdef CAN_PROTOTYPE
-#define        _(args) args
-#else
-#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
 /*#define HAS_BUILTIN_EXPECT   / **/
 /*#define HAS_BUILTIN_CHOOSE_EXPR      / **/
 
+/* HAS_BUILTIN_ADD_OVERFLOW:
+ *     This symbol, if defined, indicates that the compiler supports
+ *     __builtin_add_overflow for adding integers with overflow checks.
+ */
+/* HAS_BUILTIN_SUB_OVERFLOW:
+ *     This symbol, if defined, indicates that the compiler supports
+ *     __builtin_sub_overflow for subtracting integers with overflow checks.
+ */
+/* HAS_BUILTIN_MUL_OVERFLOW:
+ *     This symbol, if defined, indicates that the compiler supports
+ *     __builtin_mul_overflow for multiplying integers with overflow checks.
+ */
+/*#define HAS_BUILTIN_ADD_OVERFLOW     / **/
+/*#define HAS_BUILTIN_SUB_OVERFLOW     / **/
+/*#define HAS_BUILTIN_MUL_OVERFLOW     / **/
+
 /* HAS_C99_VARIADIC_MACROS:
  *     If defined, the compiler supports C99 variadic macros.
  */
  */
 /*#define HAS_STRUCT_FS_DATA   / **/
 
+/* HAS_FCHMODAT:
+ *     This symbol is defined if the fchmodat() routine is available.
+ */
+/* HAS_LINKAT:
+ *     This symbol is defined if the linkat() routine is available.
+ */
+/* HAS_OPENAT:
+ *     This symbol is defined if the openat() routine is available.
+ */
+/* HAS_RENAMEAT:
+ *     This symbol is defined if the renameat() routine is available.
+ */
+/* HAS_UNLINKAT:
+ *     This symbol is defined if the unlinkat() routine is available.
+ */
+/*#define      HAS_FCHMODAT    / **/
+/*#define      HAS_LINKAT      / **/
+/*#define      HAS_OPENAT      / **/
+/*#define      HAS_RENAMEAT    / **/
+/*#define      HAS_UNLINKAT    / **/
+
 /* HAS_FSEEKO:
  *     This symbol, if defined, indicates that the fseeko routine is
  *     available to fseek beyond 32 bits (useful for ILP32 hosts).
  */
 /*#define HAS_MEMMEM           / **/
 
+/* HAS_MEMRCHR:
+ *     This symbol, if defined, indicates that the memrchr routine is
+ *     available to return a pointer to the last occurrence of a byte in
+ *     a memory area (or NULL if not found).
+ */
+/*#define HAS_MEMRCHR          / **/
+
 /* HAS_MKDTEMP:
  *     This symbol, if defined, indicates that the mkdtemp routine is
  *     available to exclusively create a uniquely named temporary directory.
  */
 /*#define HAS_NAN              / **/
 
+/* HAS_NANOSLEEP:
+ *     This symbol, if defined, indicates that the nanosleep
+ *     system call is available to sleep with 1E-9 sec accuracy.
+ */
+/*#define HAS_NANOSLEEP                / **/
+
 /* HAS_NEARBYINT:
  *     This symbol, if defined, indicates that the nearbyint routine is
  *     available to return the integral value closest to (according to
 /*#define      USE_SITECUSTOMIZE               / **/
 #endif
 
-/* HAS_SNPRINTF:
- *     This symbol, if defined, indicates that the snprintf () library
- *     function is available for use.
- */
-/* HAS_VSNPRINTF:
- *     This symbol, if defined, indicates that the vsnprintf () library
- *     function is available for use.
- */
-/*#define HAS_SNPRINTF / **/
-/*#define HAS_VSNPRINTF        / **/
-
 /* HAS_SOCKATMARK:
  *     This symbol, if defined, indicates that the sockatmark routine is
  *     available to test whether a socket is at the out-of-band mark.
  */
 /*#define HAS_SOCKS5_INIT              / **/
 
-/* SPRINTF_RETURNS_STRLEN:
- *     This variable defines whether sprintf returns the length of the string
- *     (as per the ANSI spec). Some C libraries retain compatibility with
- *     pre-ANSI C and return a pointer to the passed in buffer; for these
- *     this variable will be undef.
- */
-/*#define SPRINTF_RETURNS_STRLEN       / **/
-
 /* HAS_SQRTL:
  *     This symbol, if defined, indicates that the sqrtl routine is
  *     available to do long double square roots.
  */
 /*#define HAS_STRLCPY          / **/
 
+/* HAS_STRNLEN:
+ *     This symbol, if defined, indicates that the strnlen () routine is
+ *     available to check the length of a string up to a maximum.
+ */
+/*#define HAS_STRNLEN          / **/
+
 /* HAS_STRTOLD:
  *     This symbol, if defined, indicates that the strtold routine is
  *     available to convert strings to long doubles.
  */
 /*#define      I_USTAT         / **/
 
+/* I_WCHAR:
+ *     This symbol, if defined, indicates to the C program that <wchar.h>
+ *     is available for inclusion
+ */
+/*#define   I_WCHAR    / **/
+
 /* DOUBLEINFBYTES:
  *     This symbol, if defined, is a comma-separated list of
  *     hexadecimal bytes for the double precision infinity.
 #define        NVSIZE          8               /**/
 #undef NV_PRESERVES_UV
 #define        NV_PRESERVES_UV_BITS    0
-#define        NV_OVERFLOWS_INTEGERS_AT        256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0
+#define        NV_OVERFLOWS_INTEGERS_AT        (256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0)
 #undef NV_ZERO_IS_ALLBITS_ZERO
 #if UVSIZE == 8
 #   ifdef BYTEORDER
 /*#define HAS_GMTIME_R    / **/
 #define GMTIME_R_PROTO 0          /**/
 
+/* HAS_LOCALECONV_L:
+ *     This symbol, if defined, indicates that the localeconv_l routine is
+ *     available to query certain information about a locale.
+ */
+/*#define HAS_LOCALECONV_L             / **/
+
 /* HAS_LOCALTIME_R:
  *     This symbol, if defined, indicates that the localtime_r routine
  *     is available to localtime re-entrantly.
 /*#define HAS_LOCALTIME_R         / **/
 #define LOCALTIME_R_PROTO 0       /**/
 
+/* HAS_MBRLEN:
+ *     This symbol, if defined, indicates that the mbrlen routine is
+ *     available to get the length of multi-byte character strings.
+ */
+/*#define HAS_MBRLEN   / **/
+
+/* HAS_MBRTOWC:
+ *     This symbol, if defined, indicates that the mbrtowc routine is
+ *     available to convert a multi-byte character into a wide character.
+ */
+/*#define HAS_MBRTOWC  / **/
+
+/* HAS_THREAD_SAFE_NL_LANGINFO_L:
+ *     This symbol, when defined, indicates presence of the nl_langinfo_l()
+ *     function, and that it is thread-safe.
+ */
+/*#define HAS_THREAD_SAFE_NL_LANGINFO_L        / **/
+
 /* OLD_PTHREAD_CREATE_JOINABLE:
  *     This symbol, if defined, indicates how to create pthread
  *     in joinable (aka undetached) state.  NOTE: not defined
 /*#define HAS_STRERROR_R          / **/
 #define STRERROR_R_PROTO 0        /**/
 
+/* HAS_STRTOLD_L:
+ *     This symbol, if defined, indicates that the strtold_l routine is
+ *     available to convert strings to long doubles.
+ */
+/*#define HAS_STRTOLD_L                / **/
+
 /* HAS_TMPNAM_R:
  *     This symbol, if defined, indicates that the tmpnam_r routine
  *     is available to tmpnam re-entrantly.
 #endif
 
 /* Generated from:
- * a0cea6273c16c1c5d8625665c84bda01926ce960c26873d4e5596b5b02a53e92 config_h.SH
- * b1c042726e6a17692921b6947c4e7c196c5c0cee011667ba719b15af7c31e669 uconfig.sh
+ * ef59adc025306aceebb47a7515e514357b77e44a359af4bc0bf5d52082e41a26 config_h.SH
+ * d40282b246b20f1f20a5febcae42b3ac44234c5a1c1a2df89e5ac77a54830cca uconfig.sh
  * ex: set ro: */