*/
#$d_alarm HAS_ALARM /**/
-/* HAS_BCMP:
- * This symbol is defined if the bcmp() routine is available to
- * compare blocks of memory.
- */
-#$d_bcmp HAS_BCMP /**/
-
-/* HAS_BCOPY:
- * This symbol is defined if the bcopy() routine is available to
- * copy blocks of memory.
- */
-#$d_bcopy HAS_BCOPY /**/
-
-/* HAS_BZERO:
- * This symbol is defined if the bzero() routine is available to
- * set a memory block to 0.
- */
-#$d_bzero HAS_BZERO /**/
-
/* HAS_CBRT:
* This symbol, if defined, indicates that the cbrt() (cube root)
* function is available.
*/
#$d_cuserid HAS_CUSERID /**/
-/* HAS_DBL_DIG:
- * This symbol, if defined, indicates that this system's <float.h>
- * or <limits.h> defines the symbol DBL_DIG, which is the number
- * of significant digits in a double precision number. If this
- * symbol is not defined, a guess of 15 is usually pretty good.
- */
-#$d_dbl_dig HAS_DBL_DIG /**/
-
/* HAS_DIFFTIME:
* This symbol, if defined, indicates that the difftime routine is
* available.
*/
#$d_mbtowc HAS_MBTOWC /**/
-/* HAS_MEMCMP:
- * This symbol, if defined, indicates that the memcmp routine is available
- * to compare blocks of memory.
- */
-#$d_memcmp HAS_MEMCMP /**/
-
-/* HAS_MEMCPY:
- * This symbol, if defined, indicates that the memcpy routine is available
- * to copy blocks of memory.
- */
-#$d_memcpy 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.
- */
-#$d_memmove HAS_MEMMOVE /**/
-
-/* HAS_MEMSET:
- * This symbol, if defined, indicates that the memset routine is available
- * to set blocks of memory.
- */
-#$d_memset 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
*/
#$d_mktime HAS_MKTIME /**/
+/* HAS_MSG:
+ * This symbol, if defined, indicates that the entire msg*(2) library is
+ * supported (IPC mechanism based on message queues).
+ */
+#$d_msg HAS_MSG /**/
+
/* HAS_MSYNC:
* This symbol, if defined, indicates that the msync system call is
* available to synchronize a mapped file.
/* HAS_REGCOMP:
* This symbol, if defined, indicates that the regcomp() routine is
- * available to do some regular patern matching (usually on POSIX.2
+ * available to do some regular pattern matching (usually on POSIX.2
* conforming systems).
*/
#$d_regcomp HAS_REGCOMP /* POSIX.2 */
*/
#$d_select HAS_SELECT /**/
+/* HAS_SEM:
+ * This symbol, if defined, indicates that the entire sem*(2) library is
+ * supported.
+ */
+#$d_sem HAS_SEM /**/
+
/* HAS_SETEGID:
* This symbol, if defined, indicates that the setegid routine is available
* to change the effective gid of the current program.
*/
#$d_setlinebuf HAS_SETLINEBUF /**/
-/* HAS_SETLOCALE:
- * This symbol, if defined, indicates that the setlocale routine is
- * available to handle locale-specific ctype implementations.
- */
-#$d_setlocale HAS_SETLOCALE /**/
-
/* HAS_SETPGID:
* This symbol, if defined, indicates that the setpgid(pid, gpid)
* routine is available to set process group ID.
*/
#$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
- * index()/rindex() pair.
- */
-/* HAS_INDEX:
- * This symbol is defined to indicate that the index()/rindex()
- * functions are available for string searching.
- */
-#$d_strchr HAS_STRCHR /**/
-#$d_index HAS_INDEX /**/
-
/* HAS_STRCOLL:
* This symbol, if defined, indicates that the strcoll routine is
* available to compare strings using collating information.
*/
#$i_fcntl I_FCNTL /**/
-/* I_FLOAT:
- * This symbol, if defined, indicates to the C program that it should
- * include <float.h> to get definition of symbols like DBL_MAX or
- * DBL_MIN, i.e. machine dependent floating point values.
- */
-#$i_float I_FLOAT /**/
-
/* I_GDBM:
* This symbol, if defined, indicates that <gdbm.h> exists and should
* be included.
*/
#$i_gdbm I_GDBM /**/
-/* I_LIMITS:
- * This symbol, if defined, indicates to the C program that it should
- * include <limits.h> to get definition of symbols like WORD_BIT or
- * LONG_MAX, i.e. machine dependant limitations.
- */
-#$i_limits I_LIMITS /**/
-
/* I_LOCALE:
* This symbol, if defined, indicates to the C program that it should
* include <locale.h>.
*/
#$i_locale I_LOCALE /**/
-/* I_MATH:
- * This symbol, if defined, indicates to the C program that it should
- * include <math.h>.
- */
-#$i_math I_MATH /**/
-
-/* I_MEMORY:
- * This symbol, if defined, indicates to the C program that it should
- * include <memory.h>.
- */
-#$i_memory I_MEMORY /**/
-
/* I_NETINET_IN:
* This symbol, if defined, indicates to the C program that it should
* include <netinet/in.h>. Otherwise, you may try <sys/in.h>.
*/
#$i_niin I_NETINET_IN /**/
-/* I_STDDEF:
- * This symbol, if defined, indicates that <stddef.h> exists and should
- * be included.
- */
-#$i_stddef I_STDDEF /**/
-
-/* I_STDLIB:
- * This symbol, if defined, indicates that <stdlib.h> exists and should
- * be included.
- */
-#$i_stdlib 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).
- */
-#$i_string I_STRING /**/
-
/* I_SYS_DIR:
* This symbol, if defined, indicates to the C program that it should
* include <sys/dir.h>.
*/
#$i_utime I_UTIME /**/
-/* I_VALUES:
- * This symbol, if defined, indicates to the C program that it should
- * include <values.h> to get definition of symbols like MINFLOAT or
- * MAXLONG, i.e. machine dependant limitations. Probably, you
- * should use <limits.h> instead, if it is available.
- */
-#$i_values I_VALUES /**/
-
/* I_VFORK:
* This symbol, if defined, indicates to the C program that it should
* include vfork.h.
*/
#define STDCHAR $stdchar /**/
-/* 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 _().
- */
-#$vaproto 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.
#$d_eaccess HAS_EACCESS /**/
/* I_SYS_ACCESS:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/access.h>.
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/access.h>.
*/
#$i_sysaccess I_SYS_ACCESS /**/
/* I_SYS_SECURITY:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/security.h>.
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/security.h>.
*/
#$i_syssecrt I_SYS_SECURITY /**/
* This symbol contains the number of bytes required to align a
* double, or a long double when applicable. Usual values are 2,
* 4 and 8. The default is eight, for safety. For cross-compiling
- * or multiarch support, Configure will set a minimum of 8.
+ * or multiarch support, Configure will set a minimum of 8.
*/
#define MEM_ALIGNBYTES $alignbytes
* the GNU C library is being used. A better check is to use
* the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
*/
-#$d_gnulibc HAS_GNULIBC /**/
+#$d_gnulibc HAS_GNULIBC /**/
#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
# define _GNU_SOURCE
#endif
*/
#$d_open3 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.
- */
-#$d_safebcpy 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.
- */
-#$d_safemcpy 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.
- */
-#$d_sanemcmp HAS_SANE_MEMCMP /**/
-
/* HAS_SIGACTION:
* This symbol, if defined, indicates that Vr4's sigaction() routine
* is available.
* This symbol is defined if using the FILE_ptr macro as an lvalue
* to increase the pointer by n leaves File_cnt(fp) unchanged.
*/
-#$d_stdstdio USE_STDIO_PTR /**/
+#$d_stdstdio USE_STDIO_PTR /**/
#ifdef USE_STDIO_PTR
#define FILE_ptr(fp) $stdio_ptr
-#$d_stdio_ptr_lval STDIO_PTR_LVALUE /**/
+#$d_stdio_ptr_lval STDIO_PTR_LVALUE /**/
#define FILE_cnt(fp) $stdio_cnt
-#$d_stdio_cnt_lval STDIO_CNT_LVALUE /**/
+#$d_stdio_cnt_lval STDIO_CNT_LVALUE /**/
#$d_stdio_ptr_lval_sets_cnt STDIO_PTR_LVAL_SETS_CNT /**/
#$d_stdio_ptr_lval_nochange_cnt STDIO_PTR_LVAL_NOCHANGE_CNT /**/
#endif
* structure pointed to its argument. This macro will always be defined
* if USE_STDIO_BASE is defined.
*/
-#$d_stdiobase USE_STDIO_BASE /**/
+#$d_stdiobase USE_STDIO_BASE /**/
#ifdef USE_STDIO_BASE
#define FILE_base(fp) $stdio_base
#define FILE_bufsiz(fp) $stdio_bufsiz
#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.
- */
-#$d_vprintf HAS_VPRINTF /**/
-#$d_charvspr 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 $doublesize /**/
/* 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
* to get any typedef'ed information.
* We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
*/
-#define SSize_t $ssizetype /* signed count of bytes */
+#define SSize_t $ssizetype /* signed count of bytes */
/* EBCDIC:
* This symbol, if defined, indicates that this system uses
* EBCDIC encoding.
*/
-#$ebcdic EBCDIC /**/
+#$ebcdic EBCDIC /**/
/* ARCHLIB:
* This variable, if defined, holds the name of the directory in
*/
#define BIN "$bin" /**/
#define BIN_EXP "$binexp" /**/
-#define PERL_RELOCATABLE_INC "$userelocatableinc" /**/
+#define PERL_RELOCATABLE_INC "$userelocatableinc" /**/
/* PERL_INC_VERSION_LIST:
* This variable specifies the list of subdirectories in over
/* INSTALL_USR_BIN_PERL:
* This symbol, if defined, indicates that Perl is to be installed
- * also as /usr/bin/perl.
+ * also as /usr/bin/perl.
*/
#$installusrbinperl INSTALL_USR_BIN_PERL /**/
/* CPPSTDIN:
* This symbol contains the first part of the string which will invoke
* the C preprocessor on the standard input and produce to standard
- * output. Typical value of "cc -E" or "/lib/cpp", but it can also
+ * output. Typical value of "cc -E" or "/lib/cpp", but it can also
* call a wrapper. See CPPRUN.
*/
/* CPPMINUS:
/* HASATTRIBUTE_WARN_UNUSED_RESULT:
* Can we handle GCC attribute for warning on unused results
*/
+/* HASATTRIBUTE_ALWAYS_INLINE:
+ * Can we handle GCC attribute for functions that should always be
+ * inlined.
+ */
#$d_attribute_deprecated HASATTRIBUTE_DEPRECATED /**/
#$d_attribute_format HASATTRIBUTE_FORMAT /**/
#$d_printf_format_null PRINTF_FORMAT_NULL_OK /**/
#$d_attribute_pure HASATTRIBUTE_PURE /**/
#$d_attribute_unused HASATTRIBUTE_UNUSED /**/
#$d_attribute_warn_unused_result HASATTRIBUTE_WARN_UNUSED_RESULT /**/
+#$d_attribute_always_inline HASATTRIBUTE_ALWAYS_INLINE /**/
/* HAS_BACKTRACE:
* This symbol, if defined, indicates that the backtrace() routine is
*/
#$d_backtrace HAS_BACKTRACE /**/
-/* HASCONST:
- * This symbol, if defined, indicates that this C compiler knows about
- * the const type. There is no need to actually test for that symbol
- * within your programs. The mere use of the "const" keyword will
- * trigger the necessary tests.
- */
-#$d_const HASCONST /**/
-#ifndef HASCONST
-#define const
-#endif
-
/* HAS_CSH:
* This symbol, if defined, indicates that the C-shell exists.
*/
* LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE
* LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE
* LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE
+ * LONG_DOUBLE_IS_VAX_H_FLOAT
* LONG_DOUBLE_IS_UNKNOWN_FORMAT
* It is only defined if the system supports long doubles.
*/
+/* LONG_DOUBLE_STYLE_IEEE:
+ * This symbol, if defined, indicates that the long double
+ * is any of the IEEE 754 style long doubles:
+ * LONG_DOUBLE_STYLE_IEEE_STD, LONG_DOUBLE_STYLE_IEEE_EXTENDED,
+ * LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE.
+ */
+/* LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE:
+ * This symbol, if defined, indicates that the long double is
+ * the 128-bit double-double.
+ */
+/* LONG_DOUBLE_STYLE_IEEE_EXTENDED:
+ * This symbol, if defined, indicates that the long double is
+ * the 80-bit IEEE 754. Note that despite the 'extended' this
+ * is less than the 'std', since this is an extension of
+ * the double precision.
+ */
+/* LONG_DOUBLE_STYLE_IEEE_STD:
+ * This symbol, if defined, indicates that the long double is
+ * the 128-bit IEEE 754.
+ */
+/* LONG_DOUBLE_STYLE_VAX:
+ * This symbol, if defined, indicates that the long double is
+ * the 128-bit VAX format H.
+ */
#$d_ldexpl HAS_LDEXPL /**/
#$d_longdbl HAS_LONG_DOUBLE /**/
#ifdef HAS_LONG_DOUBLE
#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE 6
#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE 7
#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE 8
+#define LONG_DOUBLE_IS_VAX_H_FLOAT 9
#define LONG_DOUBLE_IS_UNKNOWN_FORMAT -1
#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE /* back-compat */
#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE /* back-compat */
+#$d_long_double_style_ieee LONG_DOUBLE_STYLE_IEEE
+#$d_long_double_style_ieee_doubledouble LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE
+#$d_long_double_style_ieee_extended LONG_DOUBLE_STYLE_IEEE_EXTENDED
+#$d_long_double_style_ieee_std LONG_DOUBLE_STYLE_IEEE_STD
+#$d_long_double_style_vax LONG_DOUBLE_STYLE_VAX
#endif
/* HAS_LONG_LONG:
#define LONGLONGSIZE $longlongsize /**/
#endif
-/* HAS_MEMCHR:
- * This symbol, if defined, indicates that the memchr routine is available
- * to locate characters within a C string.
- */
-#$d_memchr HAS_MEMCHR /**/
-
/* HAS_MKSTEMP:
* This symbol, if defined, indicates that the mkstemp routine is
* available to exclusively create and open a uniquely named
#$d_mmap HAS_MMAP /**/
#define Mmap_t $mmaptype /**/
-/* HAS_MSG:
- * This symbol, if defined, indicates that the entire msg*(2) library is
- * supported (IPC mechanism based on message queues).
- */
-#$d_msg HAS_MSG /**/
-
-/* HAS_SEM:
- * This symbol, if defined, indicates that the entire sem*(2) library is
- * supported.
- */
-#$d_sem HAS_SEM /**/
-
/* HAS_SETGRENT:
* This symbol, if defined, indicates that the setgrent routine is
* available for initializing sequential access of the group database.
* This symbol, if defined, indicates the availability of
* struct sockaddr_in6;
*/
+/* HAS_SOCKADDR_STORAGE:
+ * This symbol, if defined, indicates the availability of
+ * struct sockaddr_storage;
+ */
/* HAS_SIN6_SCOPE_ID:
* This symbol, if defined, indicates that the struct sockaddr_in6
* structure has a member called sin6_scope_id.
#$d_sockpair HAS_SOCKETPAIR /**/
#$d_sockaddr_sa_len HAS_SOCKADDR_SA_LEN /**/
#$d_sockaddr_in6 HAS_SOCKADDR_IN6 /**/
+#$d_sockaddr_storage HAS_SOCKADDR_STORAGE /**/
#$d_sin6_scope_id HAS_SIN6_SCOPE_ID /**/
#$d_ip_mreq HAS_IP_MREQ /**/
#$d_ip_mreq_source HAS_IP_MREQ_SOURCE /**/
* st_blksize and st_blocks.
*/
#ifndef USE_STAT_BLOCKS
-#$d_statblks USE_STAT_BLOCKS /**/
+#$d_statblks 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.
- */
-#$d_strctcpy 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
- * of Strerror() in this file before you try to define your own.
- */
/* HAS_SYS_ERRLIST:
* This symbol, if defined, indicates that the sys_errlist array is
* available to translate error numbers to strings. The extern int
* sys_nerr gives the size of that table.
*/
-/* Strerror:
- * This preprocessor symbol is defined as a macro if strerror() is
- * not available to translate error numbers to strings but sys_errlist[]
- * array is there.
- */
-#$d_strerror HAS_STRERROR /**/
#$d_syserrlst HAS_SYS_ERRLIST /**/
-#define Strerror(e) $d_strerrm
/* HAS_STRTOUL:
* This symbol, if defined, indicates that the strtoul routine is
*/
#define Signal_t $signal_t /* Signal handler's return type */
-/* HASVOLATILE:
- * This symbol, if defined, indicates that this C compiler knows about
- * the volatile declaration.
- */
-#$d_volatile 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
#$i_termios I_TERMIOS /**/
#$i_sgtty 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>.
- */
-#$i_stdarg I_STDARG /**/
-#$i_varargs I_VARARGS /**/
-
/* Free_t:
* This variable contains the return type of free(). It is usually
- * void, but occasionally int.
+ * void, but occasionally int.
*/
/* Malloc_t:
* This symbol is the type of pointer returned by malloc and realloc.
*/
#$d_mymalloc 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[]));
- */
-#$prototype 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
*/
#$d__fwalk HAS__FWALK /**/
+/* HAS_ACCEPT4:
+ * This symbol, if defined, indicates that the accept4 routine is
+ * available to accept socket connections.
+ */
+#$d_accept4 HAS_ACCEPT4 /**/
+
/* HAS_ACOSH:
* This symbol, if defined, indicates that the acosh routine is
* available to do the inverse hyperbolic cosine function.
#$d_builtin_expect HAS_BUILTIN_EXPECT /**/
#$d_builtin_choose_expr 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.
+ */
+#$d_builtin_add_overflow HAS_BUILTIN_ADD_OVERFLOW /**/
+#$d_builtin_sub_overflow HAS_BUILTIN_SUB_OVERFLOW /**/
+#$d_builtin_mul_overflow HAS_BUILTIN_MUL_OVERFLOW /**/
+
/* HAS_C99_VARIADIC_MACROS:
* If defined, the compiler supports C99 variadic macros.
*/
* makes sense if you *have* dlsym, which we will presume is the
* case if you're using dl_dlopen.xs.
*/
-#$d_dlsymun DLSYM_NEEDS_UNDERSCORE /**/
+#$d_dlsymun DLSYM_NEEDS_UNDERSCORE /**/
+
+/* HAS_DUP3:
+ * This symbol, if defined, indicates that the dup3 routine is
+ * available to duplicate file descriptors.
+ */
+#$d_dup3 HAS_DUP3 /**/
/* HAS_ERF:
* This symbol, if defined, indicates that the erf 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
+ * FP_NORMAL Normalized
+ * FP_ZERO Zero
+ * FP_INFINITE Infinity
+ * FP_SUBNORMAL Denormalized
+ * FP_NAN NaN
*
*/
/* HAS_FP_CLASSIFY:
* This symbol, if defined, indicates that the fp_classify routine is
* available to classify doubles. The values are defined in <math.h>
*
- * FP_NORMAL Normalized
- * FP_ZERO Zero
- * FP_INFINITE Infinity
- * FP_SUBNORMAL Denormalized
- * FP_NAN NaN
+ * 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.
*/
-#$d_fpos64_t HAS_FPOS64_T /**/
+#$d_fpos64_t HAS_FPOS64_T /**/
/* HAS_FREXPL:
* This symbol, if defined, indicates that the frexpl routine is
*/
#$d_fs_data_s 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.
+ */
+#$d_fchmodat HAS_FCHMODAT /**/
+#$d_linkat HAS_LINKAT /**/
+#$d_openat HAS_OPENAT /**/
+#$d_renameat HAS_RENAMEAT /**/
+#$d_unlinkat HAS_UNLINKAT /**/
+
/* HAS_FSEEKO:
* This symbol, if defined, indicates that the fseeko routine is
* available to fseek beyond 32 bits (useful for ILP32 hosts).
*/
#$d_futimes HAS_FUTIMES /**/
+/* HAS_GAI_STRERROR:
+ * This symbol, if defined, indicates that the gai_strerror routine
+ * is available to translate error codes returned by getaddrinfo()
+ * into human readable strings.
+ */
+#$d_gai_strerror HAS_GAI_STRERROR /**/
+
/* HAS_GETADDRINFO:
* This symbol, if defined, indicates that the getaddrinfo() function
* is available for use.
#$d_inetpton HAS_INETPTON /**/
/* HAS_INT64_T:
- * This symbol will defined if the C compiler supports int64_t.
- * Usually the <inttypes.h> needs to be included, but sometimes
+ * This symbol will defined if the C compiler supports int64_t.
+ * Usually the <inttypes.h> needs to be included, but sometimes
* <sys/types.h> is enough.
*/
#$d_int64_t HAS_INT64_T /**/
* of significant digits in a long double precision number. Unlike
* for DBL_DIG, there's no good guess for LDBL_DIG if it is undefined.
*/
-#$d_ldbl_dig HAS_LDBL_DIG /* */
+#$d_ldbl_dig HAS_LDBL_DIG /* */
/* HAS_LGAMMA:
* This symbol, if defined, indicates that the lgamma routine is
* This symbol, if defined, indicates that the memmem routine is
* available to return a pointer to the start of the first occurance
* of a substring in a memory area (or NULL if not found).
+ * In glibc, memmem is a GNU extension. The function is visible in
+ * libc, but the prototype is only visible if _GNU_SOURCE is #defined.
+ * Thus we only define this if both the prototype and symbol are found.
*/
#$d_memmem 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).
+ */
+#$d_memrchr HAS_MEMRCHR /**/
+
/* HAS_MKDTEMP:
* This symbol, if defined, indicates that the mkdtemp routine is
* available to exclusively create a uniquely named temporary directory.
*/
#$d_mkdtemp HAS_MKDTEMP /**/
+/* HAS_MKOSTEMP:
+ * This symbol, if defined, indicates that the mkostemp routine is
+ * available to exclusively create and open a uniquely named (with a
+ * suffix) temporary file.
+ */
+#$d_mkostemp HAS_MKOSTEMP /**/
+
/* HAS_MKSTEMPS:
* This symbol, if defined, indicates that the mkstemps routine is
* available to exclusively create and open a uniquely named
*/
#$d_nan HAS_NAN /**/
+/* HAS_NANOSLEEP:
+ * This symbol, if defined, indicates that the nanosleep
+ * system call is available to sleep with 1E-9 sec accuracy.
+ */
+#$d_nanosleep HAS_NANOSLEEP /**/
+
/* HAS_NEARBYINT:
* This symbol, if defined, indicates that the nearbyint routine is
* available to return the integral value closest to (according to
* This symbol, if defined, indicates that the uselocale routine is
* available to set the current locale for the calling thread.
*/
+/* HAS_DUPLOCALE:
+ * This symbol, if defined, indicates that the duplocale routine is
+ * available to duplicate a locale object.
+ */
/* HAS_QUERYLOCALE:
* This symbol, if defined, indicates that the querylocale routine is
* available to return the name of the locale for a category mask.
*/
+/* I_XLOCALE:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <xlocale.h> to get uselocale() and its friends.
+ */
#$d_newlocale HAS_NEWLOCALE /**/
#$d_freelocale HAS_FREELOCALE /**/
#$d_uselocale HAS_USELOCALE /**/
+#$d_duplocale HAS_DUPLOCALE /**/
#$d_querylocale HAS_QUERYLOCALE /**/
+#$i_xlocale I_XLOCALE /**/
/* HAS_NEXTAFTER:
* This symbol, if defined, indicates that the nextafter routine is
/* HAS_OFF64_T:
* This symbol will be defined if the C compiler supports off64_t.
*/
-#$d_off64_t HAS_OFF64_T /**/
+#$d_off64_t HAS_OFF64_T /**/
+
+/* HAS_PIPE2:
+ * This symbol, if defined, indicates that the pipe2 routine is
+ * available to create an inter-process channel.
+ */
+#$d_pipe2 HAS_PIPE2 /**/
/* HAS_PRCTL:
* This symbol, if defined, indicates that the prctl routine is
/* HAS_PTRDIFF_T:
* This symbol will be defined if the C compiler supports ptrdiff_t.
*/
-#$d_ptrdiff_t HAS_PTRDIFF_T /**/
+#$d_ptrdiff_t HAS_PTRDIFF_T /**/
/* HAS_READV:
* This symbol, if defined, indicates that the readv routine is
*/
#$d_setitimer HAS_SETITIMER /**/
+/* HAS_SETLOCALE:
+ * This symbol, if defined, indicates that the setlocale routine is
+ * available to handle locale-specific ctype implementations.
+ */
+/* SETLOCALE_ACCEPTS_ANY_LOCALE_NAME:
+ * This symbol, if defined, indicates that the setlocale routine is
+ * available and it accepts any input locale name as valid.
+ */
+#$d_setlocale HAS_SETLOCALE /**/
+#$d_setlocale_accepts_any_locale_name SETLOCALE_ACCEPTS_ANY_LOCALE_NAME /**/
+
/* HAS_SETPROCTITLE:
* This symbol, if defined, indicates that the setproctitle routine is
* available to set process title.
*/
#$d_socks5_init 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.
- */
-#$d_sprintf_returns_strlen SPRINTF_RETURNS_STRLEN /**/
-
/* HAS_SQRTL:
* This symbol, if defined, indicates that the sqrtl routine is
* available to do long double square roots.
*/
#$d_fstatvfs HAS_FSTATVFS /**/
+/* HAS_STRERROR_L:
+ * This symbol, if defined, indicates that the strerror_l routine is
+ * available to return the error message for a given errno value in
+ * a particular locale (identified by a locale_t object).
+ */
+#$d_strerror_l HAS_STRERROR_L /**/
+
/* HAS_STRFTIME:
* This symbol, if defined, indicates that the strftime routine is
* available to do time formatting.
*/
#$d_strlcpy 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.
+ */
+#$d_strnlen HAS_STRNLEN /**/
+
/* HAS_STRTOLD:
* This symbol, if defined, indicates that the strtold routine is
* available to convert strings to long doubles.
*/
#$d_timegm HAS_TIMEGM /**/
+/* HAS_TOWLOWER:
+ * This symbol, if defined, indicates that the towlower () routine is
+ * available to do case conversion.
+ */
+#$d_towlower HAS_TOWLOWER /**/
+
+/* HAS_TOWUPPER:
+ * This symbol, if defined, indicates that the towupper () routine is
+ * available to do case conversion.
+ */
+#$d_towupper HAS_TOWUPPER /**/
+
/* HAS_TRUNC:
* This symbol, if defined, indicates that the trunc routine is
* available to round doubles towards zero.
*/
#$d_writev HAS_WRITEV /**/
+/* DEFAULT_INC_EXCLUDES_DOT:
+ * This symbol, if defined, removes the legacy default behavior of
+ * including '.' at the end of @INC.
+ */
+#$default_inc_excludes_dot DEFAULT_INC_EXCLUDES_DOT /**/
+
/* USE_DYNAMIC_LOADING:
* This symbol, if defined, indicates that dynamic loading of
* some sort is available.
* Note that if fflushNULL is defined, fflushall will not
* even be probed for and will be left undefined.
*/
-#$fflushNULL FFLUSH_NULL /**/
-#$fflushall FFLUSH_ALL /**/
-
-/* I_ASSERT:
- * This symbol, if defined, indicates that <assert.h> exists and
- * could be included by the C program to get the assert() macro.
- */
-#$i_assert I_ASSERT /**/
+#$fflushNULL FFLUSH_NULL /**/
+#$fflushall FFLUSH_ALL /**/
/* I_BFD:
* This symbol, if defined, indicates that <bfd.h> exists and
* For DB version 1 this is always 0.
*/
#define DB_Hash_t $db_hashtype /**/
-#define DB_Prefix_t $db_prefixtype /**/
-#define DB_VERSION_MAJOR_CFG $db_version_major /**/
-#define DB_VERSION_MINOR_CFG $db_version_minor /**/
-#define DB_VERSION_PATCH_CFG $db_version_patch /**/
+#define DB_Prefix_t $db_prefixtype /**/
+#define DB_VERSION_MAJOR_CFG $db_version_major /**/
+#define DB_VERSION_MINOR_CFG $db_version_minor /**/
+#define DB_VERSION_PATCH_CFG $db_version_patch /**/
/* I_FENV:
* This symbol, if defined, indicates to the C program that it should
#$i_ieeefp I_IEEEFP /**/
/* I_INTTYPES:
- * This symbol, if defined, indicates to the C program that it should
- * include <inttypes.h>.
+ * This symbol, if defined, indicates to the C program that it should
+ * include <inttypes.h>.
*/
#$i_inttypes I_INTTYPES /**/
#$i_mntent I_MNTENT /**/
/* I_NETINET_TCP:
- * This symbol, if defined, indicates to the C program that it should
- * include <netinet/tcp.h>.
+ * This symbol, if defined, indicates to the C program that it should
+ * include <netinet/tcp.h>.
*/
#$i_netinettcp I_NETINET_TCP /**/
*/
#$i_ustat I_USTAT /**/
+/* I_WCHAR:
+ * This symbol, if defined, indicates to the C program that <wchar.h>
+ * is available for inclusion
+ */
+#$i_wchar I_WCHAR /**/
+
+/* I_WCTYPE:
+ * This symbol, if defined, indicates that <wctype.h> exists.
+ */
+#$i_wctype I_WCTYPE /**/
+
/* DOUBLEINFBYTES:
* This symbol, if defined, is a comma-separated list of
* hexadecimal bytes for the double precision infinity.
* 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_VAX_F_FLOAT
+ * DOUBLE_IS_VAX_D_FLOAT
+ * DOUBLE_IS_VAX_G_FLOAT
+ * DOUBLE_IS_IBM_SINGLE_32_BIT
+ * DOUBLE_IS_IBM_DOUBLE_64_BIT
+ * DOUBLE_IS_CRAY_SINGLE_64_BIT
* DOUBLE_IS_UNKNOWN_FORMAT
*/
+/* DOUBLE_HAS_INF:
+ * This symbol, if defined, indicates that the double has
+ * the infinity.
+ */
+/* DOUBLE_HAS_NAN:
+ * This symbol, if defined, indicates that the double has
+ * the not-a-number.
+ */
+/* DOUBLE_HAS_NEGATIVE_ZERO:
+ * This symbol, if defined, indicates that the double has
+ * the negative_zero.
+ */
+/* DOUBLE_HAS_SUBNORMALS:
+ * This symbol, if defined, indicates that the double has
+ * the subnormals (denormals).
+ */
+/* DOUBLE_STYLE_CRAY:
+ * This symbol, if defined, indicates that the double is
+ * the 64-bit CRAY mainframe format.
+ */
+/* DOUBLE_STYLE_IBM:
+ * This symbol, if defined, indicates that the double is
+ * the 64-bit IBM mainframe format.
+ */
+/* DOUBLE_STYLE_IEEE:
+ * This symbol, if defined, indicates that the double is
+ * the 64-bit IEEE 754.
+ */
+/* DOUBLE_STYLE_VAX:
+ * This symbol, if defined, indicates that the double is
+ * the 64-bit VAX format D or G.
+ */
#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_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_VAX_F_FLOAT 9
+#define DOUBLE_IS_VAX_D_FLOAT 10
+#define DOUBLE_IS_VAX_G_FLOAT 11
+#define DOUBLE_IS_IBM_SINGLE_32_BIT 12
+#define DOUBLE_IS_IBM_DOUBLE_64_BIT 13
+#define DOUBLE_IS_CRAY_SINGLE_64_BIT 14
#define DOUBLE_IS_UNKNOWN_FORMAT -1
#$d_PRIfldbl PERL_PRIfldbl $sPRIfldbl /**/
#$d_PRIgldbl PERL_PRIgldbl $sPRIgldbl /**/
#$d_PRIeldbl PERL_PRIeldbl $sPRIeldbl /**/
#$d_SCNfldbl PERL_SCNfldbl $sSCNfldbl /**/
+#$d_double_has_inf DOUBLE_HAS_INF
+#$d_double_has_nan DOUBLE_HAS_NAN
+#$d_double_has_negative_zero DOUBLE_HAS_NEGATIVE_ZERO
+#$d_double_has_subnormals DOUBLE_HAS_SUBNORMALS
+#$d_double_style_cray DOUBLE_STYLE_CRAY
+#$d_double_style_ibm DOUBLE_STYLE_IBM
+#$d_double_style_ieee DOUBLE_STYLE_IEEE
+#$d_double_style_vax DOUBLE_STYLE_VAX
/* DOUBLEMANTBITS:
* This symbol, if defined, tells how many mantissa bits
#define NVSIZE $nvsize /**/
#$d_nv_preserves_uv NV_PRESERVES_UV
#define NV_PRESERVES_UV_BITS $nv_preserves_uv_bits
-#define NV_OVERFLOWS_INTEGERS_AT $nv_overflows_integers_at
+#define NV_OVERFLOWS_INTEGERS_AT ($nv_overflows_integers_at)
#$d_nv_zero_is_allbits_zero NV_ZERO_IS_ALLBITS_ZERO
#if UVSIZE == 8
# ifdef BYTEORDER
* is either n or 32*ceil(n/32), especially many little-endians do
* the latter. This is only useful if you have select(), naturally.
*/
-#define SELECT_MIN_BITS $selectminbits /**/
+#define SELECT_MIN_BITS $selectminbits /**/
/* ST_INO_SIZE:
* This variable contains the size of struct stat's st_ino in bytes.
#$use64bitall USE_64_BIT_ALL /**/
#endif
-/* USE_CBACKTRACE:
+/* USE_C_BACKTRACE:
* This symbol, if defined, indicates that Perl should
* be built with support for backtrace.
*/
-#$usecbacktrace USE_CBACKTRACE /**/
+#$usecbacktrace USE_C_BACKTRACE /**/
/* USE_DTRACE:
* This symbol, if defined, indicates that Perl should
/* USE_KERN_PROC_PATHNAME:
* This symbol, if defined, indicates that we can use sysctl with
* KERN_PROC_PATHNAME to get a full path for the executable, and hence
- * convert $^X to an absolute path.
+ * convert $^X to an absolute path.
*/
#$usekernprocpathname USE_KERN_PROC_PATHNAME /**/
* is defined, and 'int *' otherwise. This is only useful if you
* have select(), of course.
*/
-#define Select_fd_set_t $selecttype /**/
+#define Select_fd_set_t $selecttype /**/
/* Sock_size_t:
* This symbol holds the type used for the size argument of
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r
* is defined.
*/
-#$d_asctime_r HAS_ASCTIME_R /**/
-#define ASCTIME_R_PROTO $asctime_r_proto /**/
+#$d_asctime_r HAS_ASCTIME_R /**/
+#define ASCTIME_R_PROTO $asctime_r_proto /**/
/* HAS_CRYPT_R:
* This symbol, if defined, indicates that the crypt_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r
* is defined.
*/
-#$d_crypt_r HAS_CRYPT_R /**/
-#define CRYPT_R_PROTO $crypt_r_proto /**/
+#$d_crypt_r HAS_CRYPT_R /**/
+#define CRYPT_R_PROTO $crypt_r_proto /**/
/* HAS_CTERMID_R:
* This symbol, if defined, indicates that the ctermid_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r
* is defined.
*/
-#$d_ctermid_r HAS_CTERMID_R /**/
-#define CTERMID_R_PROTO $ctermid_r_proto /**/
+#$d_ctermid_r HAS_CTERMID_R /**/
+#define CTERMID_R_PROTO $ctermid_r_proto /**/
/* HAS_CTIME_R:
* This symbol, if defined, indicates that the ctime_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r
* is defined.
*/
-#$d_ctime_r HAS_CTIME_R /**/
-#define CTIME_R_PROTO $ctime_r_proto /**/
+#$d_ctime_r HAS_CTIME_R /**/
+#define CTIME_R_PROTO $ctime_r_proto /**/
/* HAS_DRAND48_R:
* This symbol, if defined, indicates that the drand48_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r
* is defined.
*/
-#$d_drand48_r HAS_DRAND48_R /**/
-#define DRAND48_R_PROTO $drand48_r_proto /**/
+#$d_drand48_r HAS_DRAND48_R /**/
+#define DRAND48_R_PROTO $drand48_r_proto /**/
/* HAS_ENDGRENT_R:
* This symbol, if defined, indicates that the endgrent_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r
* is defined.
*/
-#$d_endgrent_r HAS_ENDGRENT_R /**/
-#define ENDGRENT_R_PROTO $endgrent_r_proto /**/
+#$d_endgrent_r HAS_ENDGRENT_R /**/
+#define ENDGRENT_R_PROTO $endgrent_r_proto /**/
/* HAS_ENDHOSTENT_R:
* This symbol, if defined, indicates that the endhostent_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r
* is defined.
*/
-#$d_endhostent_r HAS_ENDHOSTENT_R /**/
-#define ENDHOSTENT_R_PROTO $endhostent_r_proto /**/
+#$d_endhostent_r HAS_ENDHOSTENT_R /**/
+#define ENDHOSTENT_R_PROTO $endhostent_r_proto /**/
/* HAS_ENDNETENT_R:
* This symbol, if defined, indicates that the endnetent_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r
* is defined.
*/
-#$d_endnetent_r HAS_ENDNETENT_R /**/
-#define ENDNETENT_R_PROTO $endnetent_r_proto /**/
+#$d_endnetent_r HAS_ENDNETENT_R /**/
+#define ENDNETENT_R_PROTO $endnetent_r_proto /**/
/* HAS_ENDPROTOENT_R:
* This symbol, if defined, indicates that the endprotoent_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r
* is defined.
*/
-#$d_endprotoent_r HAS_ENDPROTOENT_R /**/
-#define ENDPROTOENT_R_PROTO $endprotoent_r_proto /**/
+#$d_endprotoent_r HAS_ENDPROTOENT_R /**/
+#define ENDPROTOENT_R_PROTO $endprotoent_r_proto /**/
/* HAS_ENDPWENT_R:
* This symbol, if defined, indicates that the endpwent_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r
* is defined.
*/
-#$d_endpwent_r HAS_ENDPWENT_R /**/
-#define ENDPWENT_R_PROTO $endpwent_r_proto /**/
+#$d_endpwent_r HAS_ENDPWENT_R /**/
+#define ENDPWENT_R_PROTO $endpwent_r_proto /**/
/* HAS_ENDSERVENT_R:
* This symbol, if defined, indicates that the endservent_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r
* is defined.
*/
-#$d_endservent_r HAS_ENDSERVENT_R /**/
-#define ENDSERVENT_R_PROTO $endservent_r_proto /**/
+#$d_endservent_r HAS_ENDSERVENT_R /**/
+#define ENDSERVENT_R_PROTO $endservent_r_proto /**/
/* HAS_GETGRENT_R:
* This symbol, if defined, indicates that the getgrent_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r
* is defined.
*/
-#$d_getgrent_r HAS_GETGRENT_R /**/
-#define GETGRENT_R_PROTO $getgrent_r_proto /**/
+#$d_getgrent_r HAS_GETGRENT_R /**/
+#define GETGRENT_R_PROTO $getgrent_r_proto /**/
/* HAS_GETGRGID_R:
* This symbol, if defined, indicates that the getgrgid_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r
* is defined.
*/
-#$d_getgrgid_r HAS_GETGRGID_R /**/
-#define GETGRGID_R_PROTO $getgrgid_r_proto /**/
+#$d_getgrgid_r HAS_GETGRGID_R /**/
+#define GETGRGID_R_PROTO $getgrgid_r_proto /**/
/* HAS_GETGRNAM_R:
* This symbol, if defined, indicates that the getgrnam_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r
* is defined.
*/
-#$d_getgrnam_r HAS_GETGRNAM_R /**/
-#define GETGRNAM_R_PROTO $getgrnam_r_proto /**/
+#$d_getgrnam_r HAS_GETGRNAM_R /**/
+#define GETGRNAM_R_PROTO $getgrnam_r_proto /**/
/* HAS_GETHOSTBYADDR_R:
* This symbol, if defined, indicates that the gethostbyaddr_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r
* is defined.
*/
-#$d_gethostbyaddr_r HAS_GETHOSTBYADDR_R /**/
-#define GETHOSTBYADDR_R_PROTO $gethostbyaddr_r_proto /**/
+#$d_gethostbyaddr_r HAS_GETHOSTBYADDR_R /**/
+#define GETHOSTBYADDR_R_PROTO $gethostbyaddr_r_proto /**/
/* HAS_GETHOSTBYNAME_R:
* This symbol, if defined, indicates that the gethostbyname_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r
* is defined.
*/
-#$d_gethostbyname_r HAS_GETHOSTBYNAME_R /**/
-#define GETHOSTBYNAME_R_PROTO $gethostbyname_r_proto /**/
+#$d_gethostbyname_r HAS_GETHOSTBYNAME_R /**/
+#define GETHOSTBYNAME_R_PROTO $gethostbyname_r_proto /**/
/* HAS_GETHOSTENT_R:
* This symbol, if defined, indicates that the gethostent_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r
* is defined.
*/
-#$d_gethostent_r HAS_GETHOSTENT_R /**/
-#define GETHOSTENT_R_PROTO $gethostent_r_proto /**/
+#$d_gethostent_r HAS_GETHOSTENT_R /**/
+#define GETHOSTENT_R_PROTO $gethostent_r_proto /**/
/* HAS_GETLOGIN_R:
* This symbol, if defined, indicates that the getlogin_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r
* is defined.
*/
-#$d_getlogin_r HAS_GETLOGIN_R /**/
-#define GETLOGIN_R_PROTO $getlogin_r_proto /**/
+#$d_getlogin_r HAS_GETLOGIN_R /**/
+#define GETLOGIN_R_PROTO $getlogin_r_proto /**/
/* HAS_GETNETBYADDR_R:
* This symbol, if defined, indicates that the getnetbyaddr_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r
* is defined.
*/
-#$d_getnetbyaddr_r HAS_GETNETBYADDR_R /**/
-#define GETNETBYADDR_R_PROTO $getnetbyaddr_r_proto /**/
+#$d_getnetbyaddr_r HAS_GETNETBYADDR_R /**/
+#define GETNETBYADDR_R_PROTO $getnetbyaddr_r_proto /**/
/* HAS_GETNETBYNAME_R:
* This symbol, if defined, indicates that the getnetbyname_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r
* is defined.
*/
-#$d_getnetbyname_r HAS_GETNETBYNAME_R /**/
-#define GETNETBYNAME_R_PROTO $getnetbyname_r_proto /**/
+#$d_getnetbyname_r HAS_GETNETBYNAME_R /**/
+#define GETNETBYNAME_R_PROTO $getnetbyname_r_proto /**/
/* HAS_GETNETENT_R:
* This symbol, if defined, indicates that the getnetent_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r
* is defined.
*/
-#$d_getnetent_r HAS_GETNETENT_R /**/
-#define GETNETENT_R_PROTO $getnetent_r_proto /**/
+#$d_getnetent_r HAS_GETNETENT_R /**/
+#define GETNETENT_R_PROTO $getnetent_r_proto /**/
/* HAS_GETPROTOBYNAME_R:
* This symbol, if defined, indicates that the getprotobyname_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r
* is defined.
*/
-#$d_getprotobyname_r HAS_GETPROTOBYNAME_R /**/
-#define GETPROTOBYNAME_R_PROTO $getprotobyname_r_proto /**/
+#$d_getprotobyname_r HAS_GETPROTOBYNAME_R /**/
+#define GETPROTOBYNAME_R_PROTO $getprotobyname_r_proto /**/
/* HAS_GETPROTOBYNUMBER_R:
* This symbol, if defined, indicates that the getprotobynumber_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r
* is defined.
*/
-#$d_getprotobynumber_r HAS_GETPROTOBYNUMBER_R /**/
-#define GETPROTOBYNUMBER_R_PROTO $getprotobynumber_r_proto /**/
+#$d_getprotobynumber_r HAS_GETPROTOBYNUMBER_R /**/
+#define GETPROTOBYNUMBER_R_PROTO $getprotobynumber_r_proto /**/
/* HAS_GETPROTOENT_R:
* This symbol, if defined, indicates that the getprotoent_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r
* is defined.
*/
-#$d_getprotoent_r HAS_GETPROTOENT_R /**/
-#define GETPROTOENT_R_PROTO $getprotoent_r_proto /**/
+#$d_getprotoent_r HAS_GETPROTOENT_R /**/
+#define GETPROTOENT_R_PROTO $getprotoent_r_proto /**/
/* HAS_GETPWENT_R:
* This symbol, if defined, indicates that the getpwent_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwent_r
* is defined.
*/
-#$d_getpwent_r HAS_GETPWENT_R /**/
-#define GETPWENT_R_PROTO $getpwent_r_proto /**/
+#$d_getpwent_r HAS_GETPWENT_R /**/
+#define GETPWENT_R_PROTO $getpwent_r_proto /**/
/* HAS_GETPWNAM_R:
* This symbol, if defined, indicates that the getpwnam_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r
* is defined.
*/
-#$d_getpwnam_r HAS_GETPWNAM_R /**/
-#define GETPWNAM_R_PROTO $getpwnam_r_proto /**/
+#$d_getpwnam_r HAS_GETPWNAM_R /**/
+#define GETPWNAM_R_PROTO $getpwnam_r_proto /**/
/* HAS_GETPWUID_R:
* This symbol, if defined, indicates that the getpwuid_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwuid_r
* is defined.
*/
-#$d_getpwuid_r HAS_GETPWUID_R /**/
-#define GETPWUID_R_PROTO $getpwuid_r_proto /**/
+#$d_getpwuid_r HAS_GETPWUID_R /**/
+#define GETPWUID_R_PROTO $getpwuid_r_proto /**/
/* HAS_GETSERVBYNAME_R:
* This symbol, if defined, indicates that the getservbyname_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r
* is defined.
*/
-#$d_getservbyname_r HAS_GETSERVBYNAME_R /**/
-#define GETSERVBYNAME_R_PROTO $getservbyname_r_proto /**/
+#$d_getservbyname_r HAS_GETSERVBYNAME_R /**/
+#define GETSERVBYNAME_R_PROTO $getservbyname_r_proto /**/
/* HAS_GETSERVBYPORT_R:
* This symbol, if defined, indicates that the getservbyport_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r
* is defined.
*/
-#$d_getservbyport_r HAS_GETSERVBYPORT_R /**/
-#define GETSERVBYPORT_R_PROTO $getservbyport_r_proto /**/
+#$d_getservbyport_r HAS_GETSERVBYPORT_R /**/
+#define GETSERVBYPORT_R_PROTO $getservbyport_r_proto /**/
/* HAS_GETSERVENT_R:
* This symbol, if defined, indicates that the getservent_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r
* is defined.
*/
-#$d_getservent_r HAS_GETSERVENT_R /**/
-#define GETSERVENT_R_PROTO $getservent_r_proto /**/
+#$d_getservent_r HAS_GETSERVENT_R /**/
+#define GETSERVENT_R_PROTO $getservent_r_proto /**/
/* HAS_GETSPNAM_R:
* This symbol, if defined, indicates that the getspnam_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_getspnam_r
* is defined.
*/
-#$d_getspnam_r HAS_GETSPNAM_R /**/
-#define GETSPNAM_R_PROTO $getspnam_r_proto /**/
+#$d_getspnam_r HAS_GETSPNAM_R /**/
+#define GETSPNAM_R_PROTO $getspnam_r_proto /**/
/* HAS_GMTIME_R:
* This symbol, if defined, indicates that the gmtime_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r
* is defined.
*/
-#$d_gmtime_r HAS_GMTIME_R /**/
-#define GMTIME_R_PROTO $gmtime_r_proto /**/
+#$d_gmtime_r HAS_GMTIME_R /**/
+#define GMTIME_R_PROTO $gmtime_r_proto /**/
+
+/* HAS_LOCALECONV_L:
+ * This symbol, if defined, indicates that the localeconv_l routine is
+ * available to query certain information about a locale.
+ */
+#$d_localeconv_l HAS_LOCALECONV_L /**/
/* HAS_LOCALTIME_R:
* This symbol, if defined, indicates that the localtime_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r
* is defined.
*/
-#$d_localtime_r HAS_LOCALTIME_R /**/
-#define LOCALTIME_R_PROTO $localtime_r_proto /**/
+#$d_localtime_r HAS_LOCALTIME_R /**/
+#define LOCALTIME_R_PROTO $localtime_r_proto /**/
+
+/* HAS_MBRLEN:
+ * This symbol, if defined, indicates that the mbrlen routine is
+ * available to get the length of multi-byte character strings.
+ */
+#$d_mbrlen 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.
+ */
+#$d_mbrtowc 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.
+ */
+#$d_thread_safe_nl_langinfo_l HAS_THREAD_SAFE_NL_LANGINFO_L /**/
/* OLD_PTHREAD_CREATE_JOINABLE:
* This symbol, if defined, indicates how to create pthread
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_random_r
* is defined.
*/
-#$d_random_r HAS_RANDOM_R /**/
-#define RANDOM_R_PROTO $random_r_proto /**/
+#$d_random_r HAS_RANDOM_R /**/
+#define RANDOM_R_PROTO $random_r_proto /**/
/* HAS_READDIR64_R:
* This symbol, if defined, indicates that the readdir64_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
* is defined.
*/
-#$d_readdir64_r HAS_READDIR64_R /**/
-#define READDIR64_R_PROTO $readdir64_r_proto /**/
+#$d_readdir64_r HAS_READDIR64_R /**/
+#define READDIR64_R_PROTO $readdir64_r_proto /**/
/* HAS_READDIR_R:
* This symbol, if defined, indicates that the readdir_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir_r
* is defined.
*/
-#$d_readdir_r HAS_READDIR_R /**/
-#define READDIR_R_PROTO $readdir_r_proto /**/
+#$d_readdir_r HAS_READDIR_R /**/
+#define READDIR_R_PROTO $readdir_r_proto /**/
/* HAS_SETGRENT_R:
* This symbol, if defined, indicates that the setgrent_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_setgrent_r
* is defined.
*/
-#$d_setgrent_r HAS_SETGRENT_R /**/
-#define SETGRENT_R_PROTO $setgrent_r_proto /**/
+#$d_setgrent_r HAS_SETGRENT_R /**/
+#define SETGRENT_R_PROTO $setgrent_r_proto /**/
/* HAS_SETHOSTENT_R:
* This symbol, if defined, indicates that the sethostent_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r
* is defined.
*/
-#$d_sethostent_r HAS_SETHOSTENT_R /**/
-#define SETHOSTENT_R_PROTO $sethostent_r_proto /**/
+#$d_sethostent_r HAS_SETHOSTENT_R /**/
+#define SETHOSTENT_R_PROTO $sethostent_r_proto /**/
/* HAS_SETLOCALE_R:
* This symbol, if defined, indicates that the setlocale_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r
* is defined.
*/
-#$d_setlocale_r HAS_SETLOCALE_R /**/
-#define SETLOCALE_R_PROTO $setlocale_r_proto /**/
+#$d_setlocale_r HAS_SETLOCALE_R /**/
+#define SETLOCALE_R_PROTO $setlocale_r_proto /**/
/* HAS_SETNETENT_R:
* This symbol, if defined, indicates that the setnetent_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r
* is defined.
*/
-#$d_setnetent_r HAS_SETNETENT_R /**/
-#define SETNETENT_R_PROTO $setnetent_r_proto /**/
+#$d_setnetent_r HAS_SETNETENT_R /**/
+#define SETNETENT_R_PROTO $setnetent_r_proto /**/
/* HAS_SETPROTOENT_R:
* This symbol, if defined, indicates that the setprotoent_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r
* is defined.
*/
-#$d_setprotoent_r HAS_SETPROTOENT_R /**/
-#define SETPROTOENT_R_PROTO $setprotoent_r_proto /**/
+#$d_setprotoent_r HAS_SETPROTOENT_R /**/
+#define SETPROTOENT_R_PROTO $setprotoent_r_proto /**/
/* HAS_SETPWENT_R:
* This symbol, if defined, indicates that the setpwent_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_setpwent_r
* is defined.
*/
-#$d_setpwent_r HAS_SETPWENT_R /**/
-#define SETPWENT_R_PROTO $setpwent_r_proto /**/
+#$d_setpwent_r HAS_SETPWENT_R /**/
+#define SETPWENT_R_PROTO $setpwent_r_proto /**/
/* HAS_SETSERVENT_R:
* This symbol, if defined, indicates that the setservent_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r
* is defined.
*/
-#$d_setservent_r HAS_SETSERVENT_R /**/
-#define SETSERVENT_R_PROTO $setservent_r_proto /**/
+#$d_setservent_r HAS_SETSERVENT_R /**/
+#define SETSERVENT_R_PROTO $setservent_r_proto /**/
/* HAS_SRAND48_R:
* This symbol, if defined, indicates that the srand48_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
* is defined.
*/
-#$d_srand48_r HAS_SRAND48_R /**/
-#define SRAND48_R_PROTO $srand48_r_proto /**/
+#$d_srand48_r HAS_SRAND48_R /**/
+#define SRAND48_R_PROTO $srand48_r_proto /**/
/* HAS_SRANDOM_R:
* This symbol, if defined, indicates that the srandom_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
* is defined.
*/
-#$d_srandom_r HAS_SRANDOM_R /**/
-#define SRANDOM_R_PROTO $srandom_r_proto /**/
+#$d_srandom_r HAS_SRANDOM_R /**/
+#define SRANDOM_R_PROTO $srandom_r_proto /**/
/* HAS_STRERROR_R:
* This symbol, if defined, indicates that the strerror_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
* is defined.
*/
-#$d_strerror_r HAS_STRERROR_R /**/
-#define STRERROR_R_PROTO $strerror_r_proto /**/
+#$d_strerror_r HAS_STRERROR_R /**/
+#define STRERROR_R_PROTO $strerror_r_proto /**/
+
+/* HAS_STRTOD_L:
+ * This symbol, if defined, indicates that the strtod_l routine is
+ * available to convert strings to long doubles.
+ */
+#$d_strtod_l HAS_STRTOD_L /**/
+
+/* HAS_STRTOLD_L:
+ * This symbol, if defined, indicates that the strtold_l routine is
+ * available to convert strings to long doubles.
+ */
+#$d_strtold_l HAS_STRTOLD_L /**/
/* HAS_TMPNAM_R:
* This symbol, if defined, indicates that the tmpnam_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
* is defined.
*/
-#$d_tmpnam_r HAS_TMPNAM_R /**/
-#define TMPNAM_R_PROTO $tmpnam_r_proto /**/
+#$d_tmpnam_r HAS_TMPNAM_R /**/
+#define TMPNAM_R_PROTO $tmpnam_r_proto /**/
/* HAS_TTYNAME_R:
* This symbol, if defined, indicates that the ttyname_r routine
* REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
* is defined.
*/
-#$d_ttyname_r HAS_TTYNAME_R /**/
-#define TTYNAME_R_PROTO $ttyname_r_proto /**/
+#$d_ttyname_r HAS_TTYNAME_R /**/
+#define TTYNAME_R_PROTO $ttyname_r_proto /**/
+
+/* HAS_WCRTOMB:
+ * This symbol, if defined, indicates that the wcrtomb routine is
+ * available to convert a wide character into a multi-byte character.
+ */
+#$d_wcrtomb HAS_WCRTOMB /**/
/* I_MACH_CTHREADS:
- * This symbol, if defined, indicates to the C program that it should
- * include <mach/cthreads.h>.
+ * This symbol, if defined, indicates to the C program that it should
+ * include <mach/cthreads.h>.
*/
#$i_machcthr I_MACH_CTHREADS /**/
/* I_PTHREAD:
- * This symbol, if defined, indicates to the C program that it should
- * include <pthread.h>.
+ * This symbol, if defined, indicates to the C program that it should
+ * include <pthread.h>.
*/
#$i_pthread I_PTHREAD /**/
/* HAS_TIMES:
* This symbol, if defined, indicates that the times() routine exists.
* Note that this became obsolete on some systems (SUNOS), which now
- * use getrusage(). It may be necessary to include <sys/times.h>.
+ * use getrusage(). It may be necessary to include <sys/times.h>.
*/
#$d_times HAS_TIMES /**/