X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/18126d98dd72d4ba13a522432703d46bc37850cf..6d24ec7be998b8dc8da69b2fa6fb65fc3a0b96e1:/config_h.SH diff --git a/config_h.SH b/config_h.SH index 82bc97a..c3aa608 100755 --- a/config_h.SH +++ b/config_h.SH @@ -1,3 +1,5 @@ +#!/bin/sh +# # THIS IS A GENERATED FILE # DO NOT HAND-EDIT # @@ -259,6 +261,12 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_locconv HAS_LOCALECONV /**/ +/* HAS_LC_MONETARY_2008: + * This symbol, if defined, indicates that the localeconv routine is + * available and has the additional members added in POSIX 1003.1-2008. + */ +#$d_lc_monetary_2008 HAS_LC_MONETARY_2008 /**/ + /* HAS_LOCKF: * This symbol, if defined, indicates that the lockf routine is * available to do file locking. @@ -279,13 +287,13 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un /* HAS_MBSTOWCS: * This symbol, if defined, indicates that the mbstowcs routine is - * available to covert a multibyte string into a wide character string. + * available to convert a multibyte string into a wide character string. */ #$d_mbstowcs HAS_MBSTOWCS /**/ /* HAS_MBTOWC: * This symbol, if defined, indicates that the mbtowc routine is available - * to covert a multibyte to a wide character. + * to convert a multibyte to a wide character. */ #$d_mbtowc HAS_MBTOWC /**/ @@ -348,6 +356,33 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_munmap HAS_MUNMAP /**/ +/* HAS_NAN: + * This symbol, if defined, indicates that the nan routine is + * available to generate NaN. + */ +#$d_nan HAS_NAN /**/ + +/* HAS_NEARBYINT: + * This symbol, if defined, indicates that the nextafter routine is + * available to return the integral value closest to (according to + the current rounding mode) to x. + */ +#$d_nearbyint HAS_NEARBYINT /**/ + +/* HAS_NEXTAFTER: + * This symbol, if defined, indicates that the nextafter routine is + * available to return the next machine representable long double from + * x in direction y. + */ +#$d_nextafter HAS_NEXTAFTER /**/ + +/* HAS_NEXTTOWARD: + * This symbol, if defined, indicates that the nexttoward routine is + * available to return the next machine representable long double from + * x in direction y. + */ +#$d_nexttoward HAS_NEXTTOWARD /**/ + /* HAS_NICE: * This symbol, if defined, indicates that the nice routine is * available. @@ -417,6 +452,16 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_readlink HAS_READLINK /**/ +/* HAS_REMAINDER: + * This symbol, if defined, indicates that the remainder routine is available. + */ +#$d_remainder HAS_REMAINDER /**/ + +/* HAS_REMQUO: + * This symbol, if defined, indicates that the remquo routine is available. + */ +#$d_remquo HAS_REMQUO /**/ + /* HAS_RENAME: * This symbol, if defined, indicates that the rename routine is available * to rename files. Otherwise you should do the unlink(), link(), unlink() @@ -424,6 +469,13 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_rename HAS_RENAME /**/ +/* HAS_RINT: + * This symbol, if defined, indicates that the rint routine is available + * to return the nearest integral value to x as double using the current + * rounding mode. + */ +#$d_rint HAS_RINT /**/ + /* HAS_RMDIR: * This symbol, if defined, indicates that the rmdir routine is * available to remove directories. Otherwise you should fork off a @@ -431,6 +483,11 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_rmdir HAS_RMDIR /**/ +/* HAS_ROUND: + * This symbol, if defined, indicates that the round routine is available. + */ +#$d_round HAS_ROUND /**/ + /* HAS_SELECT: * This symbol, if defined, indicates that the select routine is * available to select active file descriptors. If the timeout field @@ -604,6 +661,12 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_tcsetpgrp HAS_TCSETPGRP /**/ +/* HAS_TGAMMA: + * This symbol, if defined, indicates that the lgamma routine is + * available to do the gamma function. See also HAS_LGAMMA. + */ +#$d_tgamma HAS_TGAMMA /**/ + /* HAS_TRUNCATE: * This symbol, if defined, indicates that the truncate routine is * available to truncate files. @@ -647,7 +710,7 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un /* HAS_WCTOMB: * This symbol, if defined, indicates that the wctomb routine is available - * to covert a wide character to a multibyte. + * to convert a wide character to a multibyte. */ #$d_wctomb HAS_WCTOMB /**/ @@ -736,12 +799,6 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$i_niin I_NETINET_IN /**/ -/* I_SFIO: - * This symbol, if defined, indicates to the C program that it should - * include . - */ -#$i_sfio I_SFIO /**/ - /* I_STDDEF: * This symbol, if defined, indicates that exists and should * be included. @@ -844,26 +901,6 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$i_syswait I_SYS_WAIT /**/ -/* I_TERMIO: - * This symbol, if defined, indicates that the program should include - * rather than . There are also differences in - * the ioctl() calls that depend on the value of this symbol. - */ -/* I_TERMIOS: - * This symbol, if defined, indicates that the program should include - * the POSIX termios.h rather than sgtty.h or termio.h. - * There are also differences in the ioctl() calls that depend on the - * value of this symbol. - */ -/* I_SGTTY: - * This symbol, if defined, indicates that the program should include - * rather than . There are also differences in - * the ioctl() calls that depend on the value of this symbol. - */ -#$i_termio I_TERMIO /**/ -#$i_termios I_TERMIOS /**/ -#$i_sgtty I_SGTTY /**/ - /* I_UNISTD: * This symbol, if defined, indicates to the C program that it should * include . @@ -925,18 +962,6 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un #define OSNAME "$osname" /**/ #define OSVERS "$osvers" /**/ -/* 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 - /* MULTIARCH: * This symbol, if defined, signifies that the build * process will produce some binary files that are going to be @@ -949,13 +974,10 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un /* MEM_ALIGNBYTES: * 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. + * 4 and 8. The default is eight, for safety. For cross-compiling + * or multiarch support, Configure will set a minimum of 8. */ -#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH) -# define MEM_ALIGNBYTES 8 -#else #define MEM_ALIGNBYTES $alignbytes -#endif /* ARCHLIB: * This variable, if defined, holds the name of the directory in @@ -1017,19 +1039,10 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un * This symbol holds the hexadecimal constant defined in byteorder, * in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc... * If the compiler supports cross-compiling or multiple-architecture - * binaries (eg. on NeXT systems), use compiler-defined macros to + * binaries, use compiler-defined macros to * determine the byte order. - * On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture - * Binaries (MAB) on either big endian or little endian machines. - * The endian-ness is available at compile-time. This only matters - * for perl, where the config.h can be generated and installed on - * one system, and used by a different architecture to build an - * extension. Older versions of NeXT that might not have - * defined either *_ENDIAN__ were all on Motorola 680x0 series, - * so the default case (for NeXT) is big endian to catch them. - * This might matter for NeXT 3.0. - */ -#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH) + */ +#if defined(MULTIARCH) # ifdef __LITTLE_ENDIAN__ # if LONGSIZE == 4 # define BYTEORDER 0x1234 @@ -1049,12 +1062,9 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un # endif # endif # endif -# if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__)) -# define BYTEORDER 0x4321 -# endif #else #define BYTEORDER 0x$byteorder /* large digits for MSB */ -#endif /* NeXT */ +#endif /* CHARBITS: * This symbol contains the size of a char, so that the C preprocessor @@ -1176,6 +1186,13 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un #$d_attribute_unused HASATTRIBUTE_UNUSED /**/ #$d_attribute_warn_unused_result HASATTRIBUTE_WARN_UNUSED_RESULT /**/ +/* HAS_BACKTRACE: + * This symbol, if defined, indicates that the backtrace() routine is + * available to get a stack trace. The header must be + * included to use this routine. + */ +#$d_backtrace HAS_BACKTRACE /**/ + /* CASTI32: * This symbol is defined if the C compiler can cast negative * or large floating point numbers to 32-bit ints. @@ -1264,6 +1281,13 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un #$d_ctime_r HAS_CTIME_R /**/ #define CTIME_R_PROTO $ctime_r_proto /**/ +/* HAS_DLADDR: + * This symbol, if defined, indicates that the dladdr() routine is + * available to query dynamic linker information for an address. + * The header must be included to use this routine. + */ +#$d_dladdr HAS_DLADDR /**/ + /* 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. @@ -1972,9 +1996,36 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un * C preprocessor can make decisions based on it. It is only * defined if the system supports long doubles. */ +/* HAS_LDEXPL: + * This symbol, if defined, indicates that the ldexpl routine is + * available to shift a long double floating-point number + * by an integral power of 2. + */ +/* LONG_DOUBLEKIND: + * LONG_DOUBLEKIND will be one of + * LONG_DOUBLE_IS_DOUBLE + * LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN + * LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN + * LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN + * LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN + * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN + * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN + * LONG_DOUBLE_IS_UNKNOWN_FORMAT + * It is only defined if the system supports long doubles. + */ +#$d_ldexpl HAS_LDEXPL /**/ #$d_longdbl HAS_LONG_DOUBLE /**/ #ifdef HAS_LONG_DOUBLE #define LONG_DOUBLESIZE $longdblsize /**/ +#define LONG_DOUBLEKIND $longdblkind /**/ +#define LONG_DOUBLE_IS_DOUBLE 0 +#define LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN 1 +#define LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN 2 +#define LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN 3 +#define LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN 4 +#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN 5 +#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN 6 +#define LONG_DOUBLE_IS_UNKNOWN_FORMAT -1 #endif /* HAS_LONG_LONG: @@ -2392,10 +2443,22 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un * This symbol, if defined, indicates that the struct sockaddr_in6 * structure has a member called sin6_scope_id. */ +/* HAS_IP_MREQ: + * This symbol, if defined, indicates the availability of + * struct ip_mreq; + */ +/* HAS_IP_MREQ_SOURCE: + * This symbol, if defined, indicates the availability of + * struct ip_mreq_source; + */ /* HAS_IPV6_MREQ: * This symbol, if defined, indicates the availability of * struct ipv6_mreq; */ +/* HAS_IPV6_MREQ_SOURCE: + * This symbol, if defined, indicates the availability of + * struct ipv6_mreq_source; + */ #$d_socket HAS_SOCKET /**/ #$d_sockpair HAS_SOCKETPAIR /**/ #$d_sockaddr_sa_len HAS_SOCKADDR_SA_LEN /**/ @@ -2407,7 +2470,10 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un #$d_scm_rights HAS_SCM_RIGHTS /**/ #$d_sockaddr_in6 HAS_SOCKADDR_IN6 /**/ #$d_sin6_scope_id HAS_SIN6_SCOPE_ID /**/ +#$d_ip_mreq HAS_IP_MREQ /**/ +#$d_ip_mreq_source HAS_IP_MREQ_SOURCE /**/ #$d_ipv6_mreq HAS_IPV6_MREQ /**/ +#$d_ipv6_mreq_source HAS_IPV6_MREQ_SOURCE /**/ /* HAS_SRAND48_R: * This symbol, if defined, indicates that the srand48_r routine @@ -2693,8 +2759,31 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #define DOUBLESIZE $doublesize /**/ +/* DOUBLEKIND: + * DOUBLEKIND will be one of + * DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN + * DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN + * DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN + * DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN + * DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN + * DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN + * DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE + * DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE + * DOUBLE_IS_UNKNOWN_FORMAT + */ +#define DOUBLEKIND $doublekind /**/ +#define DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN 1 +#define DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN 2 +#define DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN 3 +#define DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN 4 +#define DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN 5 +#define DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN 6 +#define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE 7 +#define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE 8 +#define DOUBLE_IS_UNKNOWN_FORMAT -1 + /* EBCDIC: - * This symbol, if defined, indicates that this system uses + * This symbol, if defined, indicates that this system uses * EBCDIC encoding. */ #$ebcdic EBCDIC /**/ @@ -2712,7 +2801,7 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un #define Gid_t_f $gidformat /**/ /* Gid_t_sign: - * This symbol holds the signedess of a Gid_t. + * This symbol holds the signedness of a Gid_t. * 1 for unsigned, -1 for signed. */ #define Gid_t_sign $gidsign /* GID sign */ @@ -2751,6 +2840,12 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un #$d_dirnamlen DIRNAMLEN /**/ #define Direntry_t $direntrytype +/* I_EXECINFO: + * This symbol, if defined, indicates to the C program that it should + * include for backtrace() support. + */ +#$i_execinfo I_EXECINFO /**/ + /* I_GRP: * This symbol, if defined, indicates to the C program that it should * include . @@ -2871,6 +2966,12 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un #$d_pwgecos PWGECOS /**/ #$d_pwpasswd PWPASSWD /**/ +/* I_QUADMATH: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +#$i_quadmath I_QUADMATH /**/ + /* I_SYS_ACCESS: * This symbol, if defined, indicates to the C program that it should * include . @@ -2889,6 +2990,26 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$i_sysuio I_SYSUIO /**/ +/* I_TERMIO: + * This symbol, if defined, indicates that the program should include + * rather than . There are also differences in + * the ioctl() calls that depend on the value of this symbol. + */ +/* I_TERMIOS: + * This symbol, if defined, indicates that the program should include + * the POSIX termios.h rather than sgtty.h or termio.h. + * There are also differences in the ioctl() calls that depend on the + * value of this symbol. + */ +/* I_SGTTY: + * This symbol, if defined, indicates that the program should include + * rather than . There are also differences in + * the ioctl() calls that depend on the value of this symbol. + */ +#$i_termio I_TERMIO /**/ +#$i_termios I_TERMIOS /**/ +#$i_sgtty I_SGTTY /**/ + /* I_TIME: * This symbol, if defined, indicates to the C program that it should * include . @@ -3146,7 +3267,7 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un * /bin/pdksh, /bin/ash, /bin/bash, or even something such as * D:/bin/sh.exe. */ -#define SH_PATH "$sh" /**/ +#define SH_PATH "$targetsh" /**/ /* SIG_NAME: * This symbol contains a list of signal names in order of @@ -3271,7 +3392,7 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un #define Uid_t_f $uidformat /**/ /* Uid_t_sign: - * This symbol holds the signedess of a Uid_t. + * This symbol holds the signedness of a Uid_t. * 1 for unsigned, -1 for signed. */ #define Uid_t_sign $uidsign /* UID sign */ @@ -3344,29 +3465,16 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un #$d_vendorlib PERL_VENDORLIB_EXP "$vendorlibexp" /**/ #$d_vendorlib PERL_VENDORLIB_STEM "$vendorlib_stem" /**/ -/* VOIDFLAGS: - * This symbol indicates how much support of the void type is given by this - * compiler. What various bits mean: - * - * 1 = supports declaration of void - * 2 = supports arrays of pointers to functions returning void - * 4 = supports comparisons between pointers to void functions and - * addresses of void functions - * 8 = supports declaration of generic void pointers - * - * The package designer should define VOIDUSED to indicate the requirements - * of the package. This can be done either by #defining VOIDUSED before - * including config.h, or by defining defvoidused in Myinit.U. If the - * latter approach is taken, only those flags will be tested. If the - * level of void support necessary is not present, defines void to int. - */ -#ifndef VOIDUSED -#define VOIDUSED $defvoidused -#endif -#define VOIDFLAGS $voidflags -#if (VOIDFLAGS & VOIDUSED) != VOIDUSED -#define void int /* is void to be avoided? */ -#define M_VOID /* Xenix strikes again */ +/* 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 /* PERL_USE_DEVEL: @@ -3394,6 +3502,84 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d__fwalk HAS__FWALK /**/ +/* HAS_ACOSH: + * This symbol, if defined, indicates that the acosh routine is + * available to do the inverse hyperbolic cosine function. + */ +#$d_acosh HAS_ACOSH /**/ + +/* HAS_ASINH: + * This symbol, if defined, indicates that the asinh routine is + * available to do the inverse hyperbolic sine function. + */ +#$d_asinh HAS_ASINH /**/ + +/* HAS_ATANH: + * This symbol, if defined, indicates that the atanh routine is + * available to do the inverse hyperbolic tangent function. + */ +#$d_atanh HAS_ATANH /**/ + +/* HAS_CBRT: + * This symbol, if defined, indicates that the cbrt routine is + * available to do the cubic root function. + */ +#$d_cbrt HAS_CBRT /**/ + +/* HAS_COPYSIGN: + * This symbol, if defined, indicates that the copysign routine is + * available to do the copysign function. + */ +#$d_copysign HAS_COPYSIGN /**/ + +/* HAS_ERF: + * This symbol, if defined, indicates that the erf routine is + * available to do the error function. + */ +#$d_erf HAS_ERF /**/ + +/* HAS_ERFC: + * This symbol, if defined, indicates that the erfc routine is + * available to do the complementary error function. + */ +#$d_erfc HAS_ERFC /**/ + +/* HAS_EXP2: + * This symbol, if defined, indicates that the exp2 routine is + * available to do the 2**x function. + */ +#$d_exp2 HAS_EXP2 /**/ + +/* HAS_EXPM1: + * This symbol, if defined, indicates that the expm1 routine is + * available to do the exp(x) - 1 when x is near 1. + */ +#$d_expm1 HAS_EXPM1 /**/ + +/* HAS_FMA: + * This symbol, if defined, indicates that the fma routine is + * available to do the multiply-add function. + */ +#$d_fma HAS_FMA /**/ + +/* HAS_FDIM: + * This symbol, if defined, indicates that the fdim routine is + * available to do the positive difference function. + */ +#$d_fdim HAS_FDIM /**/ + +/* HAS_FMAX: + * This symbol, if defined, indicates that the fma routine is + * available to do the maximum function. + */ +#$d_fmax HAS_FMAX /**/ + +/* HAS_FMIN: + * This symbol, if defined, indicates that the fma routine is + * available to do the minimum function. + */ +#$d_fmin HAS_FMIN /**/ + /* HAS_AINTL: * This symbol, if defined, indicates that the aintl routine is * available. If copysignl is also present we can emulate modfl. @@ -3504,6 +3690,13 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_fcntl_can_lock FCNTL_CAN_LOCK /**/ +/* HAS_FEGETROUND: + * This symbol, if defined, indicates that the fegetround routine is + * available to return the macro corresponding to the current rounding + * mode. + */ +#$d_fegetround HAS_FEGETROUND /**/ + /* HAS_FINITE: * This symbol, if defined, indicates that the finite routine is * available to check whether a double is finite (non-infinity non-NaN). @@ -3543,6 +3736,13 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_fp_class HAS_FP_CLASS /**/ +/* HAS_FP_CLASSL: + * This symbol, if defined, indicates that the fp_classl routine is + * available to classify long doubles. Available for example in + * Digital UNIX. See for possible values HAS_FP_CLASS. + */ +#$d_fp_classl HAS_FP_CLASSL /**/ + /* HAS_FPCLASS: * This symbol, if defined, indicates that the fpclass routine is * available to classify doubles. Available for example in Solaris/SVR4. @@ -3573,7 +3773,19 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un * FP_NAN NaN * */ -#$d_fpclassify HAS_FPCLASSIFY /**/ +/* HAS_FP_CLASSIFY: + * This symbol, if defined, indicates that the fp_classify routine is + * available to classify doubles. The values are defined in + * + * FP_NORMAL Normalized + * FP_ZERO Zero + * FP_INFINITE Infinity + * FP_SUBNORMAL Denormalized + * FP_NAN NaN + * + */ +#$d_fpclassify HAS_FPCLASSIFY /**/ +#$d_fp_classify HAS_FP_CLASSIFY /**/ /* HAS_FPCLASSL: * This symbol, if defined, indicates that the fpclassl routine is @@ -3593,6 +3805,12 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_fpclassl HAS_FPCLASSL /**/ +/* HAS_FPGETROUND: + * This symbol, if defined, indicates that the fpgetround routine is + * available to get the floating point rounding mode. + */ +#$d_fpgetround HAS_FPGETROUND /**/ + /* HAS_FPOS64_T: * This symbol will be defined if the C compiler supports fpos64_t. */ @@ -3708,6 +3926,18 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_hasmntopt HAS_HASMNTOPT /**/ +/* HAS_HYPOT: + * This symbol, if defined, indicates that the hypot routine is + * available to do the hypotenuse function. + */ +#$d_hypot HAS_HYPOT /**/ + +/* HAS_ILOGB: + * This symbol, if defined, indicates that the ilogb routine is + * available. + */ +#$d_ilogb HAS_ILOGB /**/ + /* HAS_ILOGBL: * This symbol, if defined, indicates that the ilogbl routine is * available. If scalbnl is also present we can emulate frexpl. @@ -3734,7 +3964,7 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un #$d_int64_t HAS_INT64_T /**/ /* HAS_ISBLANK: - * This manifest constant lets the C program know that isblank + * This manifest constant lets the C program know that isblank * is available. */ #$d_isblank HAS_ISBLANK /**/ @@ -3745,12 +3975,25 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_isfinite HAS_ISFINITE /**/ +/* HAS_ISFINITEL: + * This symbol, if defined, indicates that the isfinitel routine is + * available to check whether a long double is finite. + * (non-infinity non-NaN). + */ +#$d_isfinitel HAS_ISFINITEL /**/ + /* 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_ISINFL: + * This symbol, if defined, indicates that the isinfl routine is + * available to check whether a long double is an infinity. + */ +#$d_isinfl HAS_ISINFL /**/ + /* HAS_ISNAN: * This symbol, if defined, indicates that the isnan routine is * available to check whether a double is a NaN. @@ -3763,6 +4006,25 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_isnanl HAS_ISNANL /**/ +/* HAS_ISNORMAL: + * This symbol, if defined, indicates that the isnormal routine is + * available to check whether a double is normal (non-zero normalized). + */ +#$d_isnormal HAS_ISNORMAL /**/ + +/* HAS_J0: + * This symbol, if defined, indicates to the C program that the + * j0() function is available for Bessel functions of the first + * kind of the order zero, for doubles. + */ +/* HAS_J0L: + * This symbol, if defined, indicates to the C program that the + * j0l() function is available for Bessel functions of the first + * kind of the order zero, for long doubles. + */ +#$d_j0 HAS_J0 /**/ +#$d_j0l HAS_J0L /**/ + /* HAS_LDBL_DIG: * This symbol, if defined, indicates that this system's * or defines the symbol LDBL_DIG, which is the number @@ -3771,12 +4033,70 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_ldbl_dig HAS_LDBL_DIG /* */ +/* HAS_LGAMMA: + * This symbol, if defined, indicates that the lgamma routine is + * available to do the log gamma function. See also HAS_TGAMMA and + * HAS_LGAMMA_R. + */ +#$d_lgamma HAS_LGAMMA /**/ + +/* HAS_LGAMMA_R: + * This symbol, if defined, indicates that the lgamma_r routine is + * available to do the log gamma function without using the global + * signgam variable. + */ +#$d_lgamma_r HAS_LGAMMA_R /**/ + /* LIBM_LIB_VERSION: * This symbol, if defined, indicates that libm exports _LIB_VERSION * and that math.h defines the enum to manipulate it. */ #$d_libm_lib_version LIBM_LIB_VERSION /**/ +/* HAS_LLRINT: + * This symbol, if defined, indicates that the llrint routine is + * available to return the closest long long value according to + * the current rounding mode. + */ +#$d_llrint HAS_LLRINT /**/ + +/* HAS_LLROUND: + * This symbol, if defined, indicates that the llround routine is + * available to return the nearest long long value. + */ +#$d_llround HAS_LLROUND /**/ + +/* HAS_LOG1P: + * This symbol, if defined, indicates that the lgamma routine is + * available to do the log1p function. + */ +#$d_log1p HAS_LOG1P /**/ + +/* HAS_LOG2: + * This symbol, if defined, indicates that the lgamma routine is + * available to do the log2 function. + */ +#$d_log2 HAS_LOG2 /**/ + +/* HAS_LOGB: + * This symbol, if defined, indicates that the lgamma routine is + * available to do the logb function. + */ +#$d_logb HAS_LOGB /**/ + +/* HAS_LRINT: + * This symbol, if defined, indicates that the lrint routine is + * available to return the closest integral value according to + * the current rounding mode. + */ +#$d_lrint HAS_LRINT /**/ + +/* HAS_LROUND: + * This symbol, if defined, indicates that the lround routine is + * available to return the nearest integral value. + */ +#$d_lround HAS_LROUND /**/ + /* HAS_MADVISE: * This symbol, if defined, indicates that the madvise system call is * available to map a file into memory. @@ -3856,6 +4176,8 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un /* HAS_PRCTL: * This symbol, if defined, indicates that the prctl routine is * available to set process title. + * Note that there are at least two prctl variants: Linux and Irix. + * While they are somewhat similar, they are incompatible. */ /* HAS_PRCTL_SET_NAME: * This symbol, if defined, indicates that the prctl routine is @@ -3885,6 +4207,11 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_pthread_attr_setscope HAS_PTHREAD_ATTR_SETSCOPE /**/ +/* HAS_PTRDIFF_T: + * This symbol will be defined if the C compiler supports ptrdiff_t. + */ +#$d_ptrdiff_t HAS_PTRDIFF_T /**/ + /* HAS_READV: * This symbol, if defined, indicates that the readv routine is * available to do gather reads. You will also need @@ -3907,6 +4234,11 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_sbrkproto HAS_SBRK_PROTO /**/ +/* HAS_SCALBN: + * This symbol, if defined, indicates that the scalbn routine is available. + */ +#$d_scalbn HAS_SCALBN /**/ + /* HAS_SCALBNL: * This symbol, if defined, indicates that the scalbnl routine is * available. If ilogbl is also present we can emulate frexpl. @@ -3931,12 +4263,6 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_setproctitle HAS_SETPROCTITLE /**/ -/* USE_SFIO: - * This symbol, if defined, indicates that sfio should - * be used. - */ -#$d_sfio USE_SFIO /**/ - /* HAS_SIGNBIT: * This symbol, if defined, indicates that the signbit routine is * available to check if the given number has the sign bit set. @@ -4148,6 +4474,17 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_timegm HAS_TIMEGM /**/ +/* HAS_TRUNC: + * This symbol, if defined, indicates that the trunc routine is available. + */ +#$d_trunc HAS_TRUNC /**/ + +/* HAS_TRUNCL: + * This symbol, if defined, indicates that the truncl routine is + * available. If copysignl is also present we can emulate modfl. + */ +#$d_truncl HAS_TRUNCL /**/ + /* U32_ALIGNMENT_REQUIRED: * This symbol, if defined, indicates that you must access * character data through U32-aligned pointers. @@ -4189,6 +4526,18 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_ustat HAS_USTAT /**/ +/* HAS_WCSCMP: + * This symbol, if defined, indicates that the wcscmp routine is + * available to compare two wide character strings. + */ +#$d_wcscmp HAS_WCSCMP /**/ + +/* HAS_WCSXFRM: + * This symbol, if defined, indicates that the wcsxfrm routine is + * available to tranform a wide character string for wcscmp(). + */ +#$d_wcsxfrm HAS_WCSXFRM /**/ + /* HAS_WRITEV: * This symbol, if defined, indicates that the writev routine is * available to do scatter writes. @@ -4202,8 +4551,10 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un #$usedl USE_DYNAMIC_LOADING /**/ /* FFLUSH_NULL: - * This symbol, if defined, tells that fflush(NULL) does flush - * all pending stdio output. + * This symbol, if defined, tells that fflush(NULL) correctly + * flushes all pending stdio output without side effects. In + * particular, on some platforms calling fflush(NULL) *still* + * corrupts STDIN if it is a pipe. */ /* FFLUSH_ALL: * This symbol, if defined, tells that to flush @@ -4221,6 +4572,12 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$i_assert I_ASSERT /**/ +/* I_BFD: + * This symbol, if defined, indicates that exists and + * can be included. + */ +#$i_bfd I_BFD /**/ + /* I_CRYPT: * This symbol, if defined, indicates that exists and * should be included. @@ -4257,6 +4614,12 @@ sed <$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_FENV: + * This symbol, if defined, indicates to the C program that it should + * include to get the floating point environment definitions. + */ +#$i_fenv I_FENV /**/ + /* I_FP: * This symbol, if defined, indicates that exists and * should be included. @@ -4341,6 +4704,12 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$i_stdbool I_STDBOOL /**/ +/* I_STDINT: + * This symbol, if defined, indicates that exists and + * should be included. + */ +#$i_stdint I_STDINT /**/ + /* I_SUNMATH: * This symbol, if defined, indicates that exists and * should be included. @@ -4415,12 +4784,6 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un #$d_PRIeldbl PERL_PRIeldbl $sPRIeldbl /**/ #$d_SCNfldbl PERL_SCNfldbl $sSCNfldbl /**/ -/* PERL_MAD: - * This symbol, if defined, indicates that the Misc Attribution - * Declaration code should be conditionally compiled. - */ -#$mad PERL_MAD /**/ - /* NEED_VA_COPY: * This symbol, if defined, indicates that the system stores * the variable argument list datatype, va_list, in a format @@ -4614,7 +4977,7 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un * This variable contains the size of struct stat's st_ino in bytes. */ /* ST_INO_SIGN: - * This symbol holds the signedess of struct stat's st_ino. + * This symbol holds the signedness of struct stat's st_ino. * 1 for unsigned, -1 for signed. */ #define ST_INO_SIGN $st_ino_sign /* st_ino sign */ @@ -4686,6 +5049,12 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un #$use64bitall USE_64_BIT_ALL /**/ #endif +/* USE_CBACKTRACE: + * This symbol, if defined, indicates that Perl should + * be built with support for backtrace. + */ +#$usecbacktrace USE_CBACKTRACE /**/ + /* USE_DTRACE: * This symbol, if defined, indicates that Perl should * be built with support for DTrace. @@ -4724,6 +5093,14 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un #$uselongdouble USE_LONG_DOUBLE /**/ #endif +/* USE_QUADMATH: + * This symbol, if defined, indicates that the quadmath library should + * be used when available. + */ +#ifndef USE_QUADMATH +#$usequadmath USE_QUADMATH /**/ +#endif + /* USE_MORE_BITS: * This symbol, if defined, indicates that 64-bit interfaces and * long doubles should be used when available.