X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/6f980a54574e0bf71b1f27e663d5e95cbb8a2612..3e376abb76ccc749a8a33aa2345ea550b212d201:/uconfig.h diff --git a/uconfig.h b/uconfig.h index 2846c82..e7f8127 100644 --- a/uconfig.h +++ b/uconfig.h @@ -1,20 +1,16 @@ -/* - * This file was produced by running the config_h.SH script, which +/* This file was produced by running the config_h.SH script, which * gets its values from uconfig.sh, which is generally produced by * running Configure. * * Feel free to modify any of this as the need arises. Note, however, * that running config_h.SH again will wipe out any changes you've made. * For a more permanent change edit uconfig.sh and rerun config_h.SH. - * - * $Id: Config_h.U,v 3.0.1.5 1997/02/28 14:57:43 ram Exp $ */ -/* - * Package name : - * Source directory : - * Configuration time: - * Configured by : +/* Package name : perl5 + * Source directory : . + * Configuration time: Thu Jan 1 00:00:00 GMT 1970 + * Configured by : root@localhost * Target system : unknown */ @@ -32,23 +28,11 @@ */ /*#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. +/* HAS_CBRT: + * This symbol, if defined, indicates that the cbrt() (cube root) + * function is available. */ -/*#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 / **/ +/*#define HAS_CBRT / **/ /* HAS_CHOWN: * This symbol, if defined, indicates that the chown routine is @@ -68,16 +52,17 @@ */ /*#define HAS_CHSIZE / **/ -/* 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. +/* HAS_CRYPT: + * This symbol, if defined, indicates that the crypt routine is available + * to encrypt passwords and the like. */ -/*#define HASCONST / **/ -#ifndef HASCONST -#define const -#endif +/*#define HAS_CRYPT / **/ + +/* HAS_CTERMID: + * This symbol, if defined, indicates that the ctermid routine is + * available to generate filename for terminal. + */ +/*#define HAS_CTERMID / **/ /* HAS_CUSERID: * This symbol, if defined, indicates that the cuserid routine is @@ -85,14 +70,6 @@ */ /*#define HAS_CUSERID / **/ -/* HAS_DBL_DIG: - * This symbol, if defined, indicates that this system's - * or 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. - */ -/*#define HAS_DBL_DIG / * */ - /* HAS_DIFFTIME: * This symbol, if defined, indicates that the difftime routine is * available. @@ -179,7 +156,7 @@ /*#define HAS_GETLOGIN / **/ /* HAS_GETPGID: - * This symbol, if defined, indicates to the C program that + * This symbol, if defined, indicates to the C program that * the getpgid(pid) function is available to get the * process group id. */ @@ -249,42 +226,16 @@ /* 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. */ /*#define 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. */ /*#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 @@ -306,6 +257,12 @@ */ /*#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. @@ -351,8 +308,8 @@ /* HAS_POLL: * This symbol, if defined, indicates that the poll routine is - * available to poll active file descriptors. You may safely - * include when this symbol is defined. + * available to poll active file descriptors. Please check I_POLL and + * I_SYS_POLL to know which header should be included as well. */ /*#define HAS_POLL / **/ @@ -387,6 +344,13 @@ */ /*#define HAS_READLINK / **/ +/* HAS_REGCOMP: + * This symbol, if defined, indicates that the regcomp() routine is + * available to do some regular patern matching (usually on POSIX.2 + * conforming systems). + */ +#define HAS_REGCOMP /* POSIX.2 */ + /* HAS_RENAME: * This symbol, if defined, indicates that the rename routine is available * to rename files. Otherwise you should do the unlink(), link(), unlink() @@ -408,6 +372,12 @@ */ /*#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. @@ -420,6 +390,13 @@ */ /*#define HAS_SETEUID / **/ +/* HAS_SETGROUPS: + * This symbol, if defined, indicates that the setgroups() routine is + * available to set the list of process groups. If unavailable, multiple + * groups are probably not supported. + */ +/*#define HAS_SETGROUPS / **/ + /* HAS_SETLINEBUF: * This symbol, if defined, indicates that the setlinebuf routine is * available to change stderr or stdout from block-buffered or unbuffered @@ -495,17 +472,11 @@ */ /*#define HAS_SETSID / **/ -/* 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_STAT: + * This symbol, if defined, indicates that the stat routine is + * available to get file status. */ -/* HAS_INDEX: - * This symbol is defined to indicate that the index()/rindex() - * functions are available for string searching. - */ -/*#define HAS_STRCHR / **/ -/*#define HAS_INDEX / **/ +#define HAS_STAT /**/ /* HAS_STRCOLL: * This symbol, if defined, indicates that the strcoll routine is @@ -513,13 +484,6 @@ */ /*#define HAS_STRCOLL / **/ -/* 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_STRTOD: * This symbol, if defined, indicates that the strtod routine is * available to provide better numeric string conversion than atof(). @@ -530,7 +494,7 @@ * This symbol, if defined, indicates that the strtol routine is available * to provide better numeric string conversion than atoi() and friends. */ -/*#define HAS_STRTOL / **/ +#define HAS_STRTOL /**/ /* HAS_STRXFRM: * This symbol, if defined, indicates that the strxfrm() routine is @@ -598,15 +562,6 @@ */ /*#define HAS_USLEEP / **/ -/* HASVOLATILE: - * This symbol, if defined, indicates that this C compiler knows about - * the volatile declaration. - */ -/*#define HASVOLATILE / **/ -#ifndef HASVOLATILE -#define volatile -#endif - /* HAS_WAIT4: * This symbol, if defined, indicates that wait4() exists. */ @@ -626,10 +581,23 @@ /* 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. */ /*#define HAS_WCTOMB / **/ +/* Groups_t: + * This symbol holds the type used for the second argument to + * getgroups() and setgroups(). Usually, this is the same as + * gidtype (gid_t) , but sometimes it isn't. + * It can be int, ushort, gid_t, etc... + * It may be necessary to include to get any + * typedef'ed information. This is only required if you have + * getgroups() or setgroups().. + */ +#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS) +#define Groups_t int /* Type for 2nd arg to [sg]etgroups() */ +#endif + /* I_ARPA_INET: * This symbol, if defined, indicates to the C program that it should * include to get inet_addr and friends declarations. @@ -647,26 +615,6 @@ /*#define I_DBM / **/ /*#define I_RPCSVC_DBM / **/ -/* I_DIRENT: - * This symbol, if defined, indicates to the C program that it should - * include . Using this symbol also triggers the definition - * of the Direntry_t define which ends up being 'struct dirent' or - * 'struct direct' depending on the availability of . - */ -/* DIRNAMLEN: - * This symbol, if defined, indicates to the C program that the length - * of directory entry names is provided by a d_namlen field. Otherwise - * you need to do strlen() on the d_name field. - */ -/* Direntry_t: - * This symbol is set to 'struct direct' or 'struct dirent' depending on - * whether dirent is available or not. You should use this pseudo type to - * portably declare your directory entries. - */ -#define I_DIRENT /**/ -/*#define DIRNAMLEN / **/ -#define Direntry_t struct dirent - /* I_DLFCN: * This symbol, if defined, indicates that exists and should * be included. @@ -678,19 +626,11 @@ */ /*#define I_FCNTL / **/ -/* I_FLOAT: - * This symbol, if defined, indicates to the C program that it should - * include to get definition of symbols like DBL_MAX or - * DBL_MIN, i.e. machine dependent floating point values. - */ -/*#define I_FLOAT / **/ - -/* I_LIMITS: - * This symbol, if defined, indicates to the C program that it should - * include to get definition of symbols like WORD_BIT or - * LONG_MAX, i.e. machine dependant limitations. +/* I_GDBM: + * This symbol, if defined, indicates that exists and should + * be included. */ -/*#define I_LIMITS / **/ +/*#define I_GDBM / **/ /* I_LOCALE: * This symbol, if defined, indicates to the C program that it should @@ -698,54 +638,12 @@ */ /*#define I_LOCALE / **/ -/* I_MATH: - * This symbol, if defined, indicates to the C program that it should - * include . - */ -#define I_MATH /**/ - -/* I_MEMORY: - * This symbol, if defined, indicates to the C program that it should - * include . - */ -/*#define I_MEMORY / **/ - -/* I_NET_ERRNO: - * This symbol, if defined, indicates that exists and - * should be included. - */ -/*#define I_NET_ERRNO / **/ - /* I_NETINET_IN: * This symbol, if defined, indicates to the C program that it should * include . Otherwise, you may try . */ /*#define I_NETINET_IN / **/ -/* I_SFIO: - * This symbol, if defined, indicates to the C program that it should - * include . - */ -/*#define I_SFIO / **/ - -/* I_STDDEF: - * This symbol, if defined, indicates that exists and should - * be included. - */ -/*#define I_STDDEF / **/ - -/* I_STDLIB: - * This symbol, if defined, indicates that exists and should - * be included. - */ -#define I_STDLIB /**/ - -/* I_STRING: - * This symbol, if defined, indicates to the C program that it should - * include (USG systems) instead of (BSD systems). - */ -#define I_STRING /**/ - /* I_SYS_DIR: * This symbol, if defined, indicates to the C program that it should * include . @@ -781,6 +679,13 @@ */ /*#define I_SYS_PARAM / **/ +/* I_SYS_POLL: + * This symbol, if defined, indicates that the program may include + * . When I_POLL is also defined, it's probably safest + * to only include . + */ +/*#define I_SYS_POLL / **/ + /* I_SYS_RESOURCE: * This symbol, if defined, indicates to the C program that it should * include . @@ -823,26 +728,6 @@ */ /*#define 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. - */ -/*#define I_TERMIO / **/ -/*#define I_TERMIOS / **/ -/*#define I_SGTTY / **/ - /* I_UNISTD: * This symbol, if defined, indicates to the C program that it should * include . @@ -855,20 +740,18 @@ */ /*#define I_UTIME / **/ -/* I_VALUES: - * This symbol, if defined, indicates to the C program that it should - * include to get definition of symbols like MINFLOAT or - * MAXLONG, i.e. machine dependant limitations. Probably, you - * should use instead, if it is available. - */ -/*#define I_VALUES / **/ - /* I_VFORK: * This symbol, if defined, indicates to the C program that it should * include vfork.h. */ /*#define I_VFORK / **/ +/* STDCHAR: + * This symbol is defined to be the type of char used in stdio.h. + * It has the values "unsigned char" or "char". + */ +#define STDCHAR char /**/ + /* INTSIZE: * This symbol contains the value of sizeof(int) so that the C * preprocessor can make decisions based on it. @@ -896,8 +779,9 @@ /* HAS_QUAD: * This symbol, if defined, tells that there's a 64-bit integer type, - * Quad_t, and its unsigned counterpar, Uquad_t. QUADKIND will be one - * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T. + * Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one + * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T, + * or QUAD_IS___INT64. */ /*#define HAS_QUAD / **/ #ifdef HAS_QUAD @@ -908,6 +792,7 @@ # define QUAD_IS_LONG 2 # define QUAD_IS_LONG_LONG 3 # define QUAD_IS_INT64_T 4 +# define QUAD_IS___INT64 5 #endif /* HAS_ACCESSX: @@ -923,45 +808,33 @@ /*#define HAS_EACCESS / **/ /* I_SYS_ACCESS: - * This symbol, if defined, indicates to the C program that it should - * include . + * This symbol, if defined, indicates to the C program that it should + * include . */ /*#define I_SYS_ACCESS / **/ /* I_SYS_SECURITY: - * This symbol, if defined, indicates to the C program that it should - * include . + * This symbol, if defined, indicates to the C program that it should + * include . */ /*#define I_SYS_SECURITY / **/ /* 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 4 -#endif /* BYTEORDER: * 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 @@ -981,12 +854,15 @@ # endif # endif # endif -# if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__)) -# define BYTEORDER 0x4321 -# endif #else #define BYTEORDER 0x1234 /* large digits for MSB */ -#endif /* NeXT */ +#endif + +/* CHARBITS: + * This symbol contains the size of a char, so that the C preprocessor + * can make decisions based on it. + */ +#define CHARBITS 8 /**/ /* CASTI32: * This symbol is defined if the C compiler can cast negative @@ -1046,16 +922,17 @@ /*#define HAS_GETPAGESIZE / **/ /* HAS_GNULIBC: - * This symbol, if defined, indicates to the C program that + * This symbol, if defined, indicates to the C program that * the GNU C library is being used. A better check is to use * the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc. */ -/*#define HAS_GNULIBC / **/ +/*#define HAS_GNULIBC / **/ #if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE) # define _GNU_SOURCE #endif + /* HAS_ISASCII: - * This manifest constant lets the C program know that isascii + * This manifest constant lets the C program know that isascii * is available. */ /*#define HAS_ISASCII / **/ @@ -1073,35 +950,48 @@ */ /*#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 HAS_SIGACTION / **/ +/* HAS_SIGINFO_SI_ERRNO: + * This symbol, if defined, indicates that siginfo_t has the + * si_errno member + */ +/* HAS_SIGINFO_SI_PID: + * This symbol, if defined, indicates that siginfo_t has the + * si_pid member + */ +/* HAS_SIGINFO_SI_UID: + * This symbol, if defined, indicates that siginfo_t has the + * si_uid member + */ +/* HAS_SIGINFO_SI_ADDR: + * This symbol, if defined, indicates that siginfo_t has the + * si_addr member + */ +/* HAS_SIGINFO_SI_STATUS: + * This symbol, if defined, indicates that siginfo_t has the + * si_status member + */ +/* HAS_SIGINFO_SI_BAND: + * This symbol, if defined, indicates that siginfo_t has the + * si_band member + */ +/* HAS_SIGINFO_SI_VALUE: + * This symbol, if defined, indicates that siginfo_t has the + * si_value member + */ +/*#define HAS_SIGINFO_SI_ERRNO / **/ +/*#define HAS_SIGINFO_SI_PID / **/ +/*#define HAS_SIGINFO_SI_UID / **/ +/*#define HAS_SIGINFO_SI_ADDR / **/ +/*#define HAS_SIGINFO_SI_STATUS / **/ +/*#define HAS_SIGINFO_SI_BAND / **/ +/*#define HAS_SIGINFO_SI_VALUE / **/ + /* HAS_SIGSETJMP: * This variable indicates to the C program that the sigsetjmp() * routine is available to save the calling process's registers @@ -1133,6 +1023,27 @@ #define Siglongjmp(buf,retval) longjmp((buf),(retval)) #endif +/* HAS_STATIC_INLINE: + * This symbol, if defined, indicates that the C compiler supports + * C99-style static inline. That is, the function can't be called + * from another translation unit. + */ +/* PERL_STATIC_INLINE: + * This symbol gives the best-guess incantation to use for static + * inline functions. If HAS_STATIC_INLINE is defined, this will + * give C99-style inline. If HAS_STATIC_INLINE is not defined, + * this will give a plain 'static'. It will always be defined + * to something that gives static linkage. + * Possibilities include + * static inline (c99) + * static __inline__ (gcc -ansi) + * static __inline (MSVC) + * static _inline (older MSVC) + * static (c89 compilers) + */ +/*#define HAS_STATIC_INLINE / **/ +#define PERL_STATIC_INLINE static /**/ + /* USE_STDIO_PTR: * This symbol is defined if the _ptr and _cnt fields (or similar) * of the stdio FILE structure can be used to access the stdio buffer @@ -1167,12 +1078,12 @@ * This symbol is defined if using the FILE_ptr macro as an lvalue * to increase the pointer by n leaves File_cnt(fp) unchanged. */ -/*#define USE_STDIO_PTR / **/ +/*#define USE_STDIO_PTR / **/ #ifdef USE_STDIO_PTR #define FILE_ptr(fp) ((fp)->_IO_read_ptr) -/*#define STDIO_PTR_LVALUE / **/ +/*#define STDIO_PTR_LVALUE / **/ #define FILE_cnt(fp) ((fp)->_IO_read_end - (fp)->_IO_read_ptr) -/*#define STDIO_CNT_LVALUE / **/ +/*#define STDIO_CNT_LVALUE / **/ /*#define STDIO_PTR_LVAL_SETS_CNT / **/ /*#define STDIO_PTR_LVAL_NOCHANGE_CNT / **/ #endif @@ -1197,26 +1108,12 @@ * structure pointed to its argument. This macro will always be defined * if USE_STDIO_BASE is defined. */ -/*#define USE_STDIO_BASE / **/ +/*#define USE_STDIO_BASE / **/ #ifdef USE_STDIO_BASE #define FILE_base(fp) ((fp)->_IO_read_base) #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. @@ -1224,8 +1121,8 @@ #define DOUBLESIZE 8 /**/ /* I_TIME: - * This symbol, if defined, indicates to the C program that it should - * include . + * This symbol is always defined, and indicates to the C program that + * it should include . */ /* I_SYS_TIME: * This symbol, if defined, indicates to the C program that it should @@ -1304,9 +1201,9 @@ * function used to generate normalized random numbers. * Values include 15, 16, 31, and 48. */ -#define Drand01() ((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15)) /**/ -#define Rand_seed_t int /**/ -#define seedDrand01(x) srand((Rand_seed_t)x) /**/ +#define Drand01() Perl_drand48() /**/ +#define Rand_seed_t U32 /**/ +#define seedDrand01(x) Perl_drand48_init((Rand_seed_t)x) /**/ #define RANDBITS 48 /**/ /* SSize_t: @@ -1317,18 +1214,18 @@ * to get any typedef'ed information. * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t). */ -#define SSize_t int /* signed count of bytes */ +#define SSize_t int /* signed count of bytes */ /* EBCDIC: - * This symbol, if defined, indicates that this system uses + * This symbol, if defined, indicates that this system uses * EBCDIC encoding. */ -/*#define EBCDIC / **/ +/*#define EBCDIC / **/ /* ARCHLIB: * This variable, if defined, holds the name of the directory in * which the user wants to put architecture-dependent public - * library files for . It is most often a local directory + * library files for perl5. It is most often a local directory * such as /usr/local/lib. Programs using this variable must be * prepared to deal with filename expansion. If ARCHLIB is the * same as PRIVLIB, it is not defined, since presumably the @@ -1338,8 +1235,8 @@ * 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.7/unknown" / **/ -/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.7/unknown" / **/ +/*#define ARCHLIB "/usr/local/lib/perl5/5.29/unknown" / **/ +/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.29/unknown" / **/ /* BIN: * This symbol holds the path of the bin directory where the package will @@ -1349,8 +1246,13 @@ * This symbol is the filename expanded version of the BIN symbol, for * programs that do not want to deal with that at run-time. */ +/* PERL_RELOCATABLE_INC: + * This symbol, if defined, indicates that we'd like to relocate entries + * in @INC at run time based on the location of the perl binary. + */ #define BIN "/usr/local/bin" /**/ -#define BIN_EXP "" /**/ +#define BIN_EXP "/usr/local/bin" /**/ +#define PERL_RELOCATABLE_INC "undef" /**/ /* PERL_INC_VERSION_LIST: * This variable specifies the list of subdirectories in over @@ -1359,11 +1261,11 @@ * for a C initialization string. See the inc_version_list entry * in Porting/Glossary for more details. */ -#define PERL_INC_VERSION_LIST NULL /**/ +/*#define PERL_INC_VERSION_LIST NULL / **/ /* 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. */ /*#define INSTALL_USR_BIN_PERL / **/ @@ -1375,19 +1277,7 @@ * and architecture-specific directories. See PERL_INC_VERSION_LIST * for more details. */ -/*#define PERL_OTHERLIBDIRS "" / **/ - -/* INSTALL_PREFIX: - * This symbol contains the "root" of installation tree for this package. - * The program should be prepared to do ~ expansion. - */ -/* INSTALL_PREFIX_EXP: - * This symbol contains the "root" of installation tree for this package - * to be used in programs that are not prepared to deal with ~ expansion - * at run-time. - */ -#define INSTALL_PREFIX "" /**/ -#define INSTALL_PREFIX_EXP "" /**/ +/*#define PERL_OTHERLIBDIRS " " / **/ /* PRIVLIB: * This symbol contains the name of the private library for this package. @@ -1399,8 +1289,8 @@ * 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.7" /**/ -#define PRIVLIB_EXP "/usr/local/lib/perl5/5.7" /**/ +#define PRIVLIB "/usr/local/lib/perl5/5.29" /**/ +#define PRIVLIB_EXP "/usr/local/lib/perl5/5.29" /**/ /* SITEARCH: * This symbol contains the name of the private library for this package. @@ -1417,8 +1307,8 @@ * 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 "" /**/ -#define SITEARCH_EXP "" /**/ +/*#define SITEARCH "/usr/local/lib/perl5/5.29/unknown" / **/ +/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.29/unknown" / **/ /* SITELIB: * This symbol contains the name of the private library for this package. @@ -1440,19 +1330,19 @@ * 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 "" /**/ -#define SITELIB_EXP "" /**/ -#define SITELIB_STEM "" /**/ +#define SITELIB "/usr/local/lib/perl5/5.29" /**/ +#define SITELIB_EXP "/usr/local/lib/perl5/5.29" /**/ +#define SITELIB_STEM "/usr/local/lib/perl5" /**/ /* PERL_VENDORARCH: * If defined, this symbol contains the name of a private library. * The library is private in the sense that it needn't be in anyone's * execution path, but it should be accessible by the world. - * It may have a ~ on the front. + * It may have a ~ on the front. * The standard distribution will put nothing in this directory. * Vendors who distribute perl may wish to place their own * architecture-dependent modules and extensions in this directory with - * MakeMaker Makefile.PL INSTALLDIRS=vendor + * MakeMaker Makefile.PL INSTALLDIRS=vendor * or equivalent. See INSTALL for details. */ /* PERL_VENDORARCH_EXP: @@ -1485,7 +1375,7 @@ * feature tests from Configure are generally more reliable. */ #define OSNAME "unknown" /**/ -#define OSVERS "" /**/ +#define OSVERS "unknown" /**/ /* CAT2: * This macro concatenates 2 tokens together. @@ -1496,25 +1386,22 @@ #if 42 == 1 #define CAT2(a,b) a/**/b #define STRINGIFY(a) "a" - /* If you can get stringification with catify, tell me how! */ #endif #if 42 == 42 -#define PeRl_CaTiFy(a, b) a ## b +#define PeRl_CaTiFy(a, b) a ## b #define PeRl_StGiFy(a) #a -/* the additional level of indirection enables these macros to be - * used as arguments to other macros. See K&R 2nd ed., page 231. */ #define CAT2(a,b) PeRl_CaTiFy(a,b) #define StGiFy(a) PeRl_StGiFy(a) #define STRINGIFY(a) PeRl_StGiFy(a) #endif #if 42 != 1 && 42 != 42 -# include "Bletch: How does this C preprocessor concatenate tokens?" +#include "Bletch: How does this C preprocessor concatenate tokens?" #endif /* 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: @@ -1536,10 +1423,10 @@ * This symbol is intended to be used along with CPPRUN in the same manner * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "". */ -#define CPPSTDIN "" -#define CPPMINUS "" -#define CPPRUN "" -#define CPPLAST "" +#define CPPSTDIN "cc -E" +#define CPPMINUS "-" +#define CPPRUN "cc -E" +#define CPPLAST "-" /* HAS_ACCESS: * This manifest constant lets the C program know that the access() @@ -1548,23 +1435,60 @@ */ /*#define HAS_ACCESS / **/ -/* HASATTRIBUTE: - * This symbol indicates the C compiler can check for function attributes, - * such as printf formats. This is normally only supported by GNU cc. +/* HASATTRIBUTE_FORMAT: + * Can we handle GCC attribute for checking printf-style formats */ -/*#define HASATTRIBUTE / **/ -#ifndef HASATTRIBUTE -#ifdef __attribute__ -#undef __attribute__ -#endif -#define __attribute__(_arg_) -#endif +/* PRINTF_FORMAT_NULL_OK: + * Allows __printf__ format to be null when checking printf-style + */ +/* HASATTRIBUTE_MALLOC: + * Can we handle GCC attribute for malloc-style functions. + */ +/* HASATTRIBUTE_NONNULL: + * Can we handle GCC attribute for nonnull function parms. + */ +/* HASATTRIBUTE_NORETURN: + * Can we handle GCC attribute for functions that do not return + */ +/* HASATTRIBUTE_PURE: + * Can we handle GCC attribute for pure functions + */ +/* HASATTRIBUTE_UNUSED: + * Can we handle GCC attribute for unused variables and arguments + */ +/* HASATTRIBUTE_DEPRECATED: + * Can we handle GCC attribute for marking deprecated APIs + */ +/* HASATTRIBUTE_WARN_UNUSED_RESULT: + * Can we handle GCC attribute for warning on unused results + */ +/*#define HASATTRIBUTE_DEPRECATED / **/ +/*#define HASATTRIBUTE_FORMAT / **/ +/*#define PRINTF_FORMAT_NULL_OK / **/ +/*#define HASATTRIBUTE_NORETURN / **/ +/*#define HASATTRIBUTE_MALLOC / **/ +/*#define HASATTRIBUTE_NONNULL / **/ +/*#define HASATTRIBUTE_PURE / **/ +/*#define HASATTRIBUTE_UNUSED / **/ +/*#define HASATTRIBUTE_WARN_UNUSED_RESULT / **/ -/* HAS_CRYPT: - * This symbol, if defined, indicates that the crypt routine is available - * to encrypt passwords and the like. +/* 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. */ -/*#define HAS_CRYPT / **/ +/*#define 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. + */ +/*#define HASCONST / **/ +#ifndef HASCONST +#define const +#endif /* HAS_CSH: * This symbol, if defined, indicates that the C-shell exists. @@ -1577,6 +1501,13 @@ #define CSH "" /**/ #endif +/* 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. + */ +/*#define 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. @@ -1689,7 +1620,7 @@ /*#define HAS_UNAME / **/ /*#define HAS_PHOSTNAME / **/ #ifdef HAS_PHOSTNAME -#define PHOSTNAME "" /* How to get the host name */ +#define PHOSTNAME "/bin/hostname" /* How to get the host name */ #endif /* HAS_GETNETBYADDR: @@ -1792,20 +1723,85 @@ * doubles. */ /* LONG_DOUBLESIZE: - * This symbol contains the size of a long double, so that the + * This symbol contains the size of a long double, so that the * C preprocessor can make decisions based on it. It is only - * defined if the system supports long doubles. - */ + * defined if the system supports long doubles. Note that this + * is sizeof(long double), which may include unused bytes. + */ +/* 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_LE_LE + * 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. + */ +/*#define HAS_LDEXPL / **/ /*#define HAS_LONG_DOUBLE / **/ #ifdef HAS_LONG_DOUBLE #define LONG_DOUBLESIZE 8 /**/ +#define LONG_DOUBLEKIND 0 /**/ +#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_LE_LE 5 +#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 */ +#undef LONG_DOUBLE_STYLE_IEEE +#undef LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE +#undef LONG_DOUBLE_STYLE_IEEE_EXTENDED +#undef LONG_DOUBLE_STYLE_IEEE_STD +#undef LONG_DOUBLE_STYLE_VAX #endif /* HAS_LONG_LONG: * This symbol will be defined if the C compiler supports long long. */ /* LONGLONGSIZE: - * This symbol contains the size of a long long, so that the + * This symbol contains the size of a long long, so that the * C preprocessor can make decisions based on it. It is only * defined if the system supports long long. */ @@ -1814,12 +1810,6 @@ #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 @@ -1834,22 +1824,10 @@ /* Mmap_t: * This symbol holds the return type of the mmap() system call * (and simultaneously the type of the first argument). - * Usually set to 'void *' or 'cadd_t'. + * Usually set to 'void *' or 'caddr_t'. */ /*#define HAS_MMAP / **/ -#define Mmap_t /**/ - -/* 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 / **/ +#define Mmap_t void * /**/ /* HAS_SETGRENT: * This symbol, if defined, indicates that the setgrent routine is @@ -1857,13 +1835,6 @@ */ /*#define HAS_SETGRENT / **/ -/* HAS_SETGROUPS: - * This symbol, if defined, indicates that the setgroups() routine is - * available to set the list of process groups. If unavailable, multiple - * groups are probably not supported. - */ -/*#define HAS_SETGROUPS / **/ - /* HAS_SETHOSTENT: * This symbol, if defined, indicates that the sethostent() routine is * available. @@ -1941,71 +1912,59 @@ * This symbol, if defined, indicates that the BSD socketpair() call is * supported. */ -/* HAS_MSG_CTRUNC: - * This symbol, if defined, indicates that the MSG_CTRUNC is supported. - * Checking just with #ifdef might not be enough because this symbol - * has been known to be an enum. +/* HAS_SOCKADDR_SA_LEN: + * This symbol, if defined, indicates that the struct sockaddr + * structure has a member called sa_len, indicating the length of + * the structure. */ -/* HAS_MSG_DONTROUTE: - * This symbol, if defined, indicates that the MSG_DONTROUTE is supported. - * Checking just with #ifdef might not be enough because this symbol - * has been known to be an enum. +/* HAS_SOCKADDR_IN6: + * This symbol, if defined, indicates the availability of + * struct sockaddr_in6; */ -/* HAS_MSG_OOB: - * This symbol, if defined, indicates that the MSG_OOB is supported. - * Checking just with #ifdef might not be enough because this symbol - * has been known to be an enum. +/* HAS_SIN6_SCOPE_ID: + * This symbol, if defined, indicates that the struct sockaddr_in6 + * structure has a member called sin6_scope_id. */ -/* HAS_MSG_PEEK: - * This symbol, if defined, indicates that the MSG_PEEK is supported. - * Checking just with #ifdef might not be enough because this symbol - * has been known to be an enum. +/* HAS_IP_MREQ: + * This symbol, if defined, indicates the availability of + * struct ip_mreq; */ -/* HAS_MSG_PROXY: - * This symbol, if defined, indicates that the MSG_PROXY is supported. - * Checking just with #ifdef might not be enough because this symbol - * has been known to be an enum. +/* HAS_IP_MREQ_SOURCE: + * This symbol, if defined, indicates the availability of + * struct ip_mreq_source; */ -/* HAS_SCM_RIGHTS: - * This symbol, if defined, indicates that the SCM_RIGHTS is supported. - * Checking just with #ifdef might not be enough because this symbol - * has been known to be an enum. +/* 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; */ /*#define HAS_SOCKET / **/ /*#define HAS_SOCKETPAIR / **/ -/*#define HAS_MSG_CTRUNC / **/ -/*#define HAS_MSG_DONTROUTE / **/ -/*#define HAS_MSG_OOB / **/ -/*#define HAS_MSG_PEEK / **/ -/*#define HAS_MSG_PROXY / **/ -/*#define HAS_SCM_RIGHTS / **/ +/*#define HAS_SOCKADDR_SA_LEN / **/ +/*#define HAS_SOCKADDR_IN6 / **/ +/*#define HAS_SIN6_SCOPE_ID / **/ +/*#define HAS_IP_MREQ / **/ +/*#define HAS_IP_MREQ_SOURCE / **/ +/*#define HAS_IPV6_MREQ / **/ +/*#define HAS_IPV6_MREQ_SOURCE / **/ /* USE_STAT_BLOCKS: * This symbol is defined if this system has a stat structure declaring * st_blksize and st_blocks. */ #ifndef USE_STAT_BLOCKS -/*#define USE_STAT_BLOCKS / **/ +/*#define USE_STAT_BLOCKS / **/ #endif -/* 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. - */ -/*#define HAS_STRERROR / **/ /*#define HAS_SYS_ERRLIST / **/ -#define Strerror(e) strerror(e) /* HAS_STRTOUL: * This symbol, if defined, indicates that the strtoul routine is @@ -2040,6 +1999,12 @@ */ /*#define HAS_VFORK / **/ +/* HAS_PSEUDOFORK: + * This symbol, if defined, indicates that an emulation of the + * fork routine is available. + */ +/*#define HAS_PSEUDOFORK / **/ + /* Signal_t: * This symbol's value is either "void" or "int", corresponding to the * appropriate return type of a signal handler. Thus, you can declare @@ -2048,18 +2013,31 @@ */ #define Signal_t int /* Signal handler's return type */ -/* Groups_t: - * This symbol holds the type used for the second argument to - * getgroups() and setgroups(). Usually, this is the same as - * gidtype (gid_t) , but sometimes it isn't. - * It can be int, ushort, gid_t, etc... - * It may be necessary to include to get any - * typedef'ed information. This is only required if you have - * getgroups() or setgroups().. +/* I_DIRENT: + * This symbol, if defined, indicates to the C program that it should + * include . Using this symbol also triggers the definition + * of the Direntry_t define which ends up being 'struct dirent' or + * 'struct direct' depending on the availability of . */ -#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS) -#define Groups_t int /* Type for 2nd arg to [sg]etgroups() */ -#endif +/* DIRNAMLEN: + * This symbol, if defined, indicates to the C program that the length + * of directory entry names is provided by a d_namlen field. Otherwise + * you need to do strlen() on the d_name field. + */ +/* Direntry_t: + * This symbol is set to 'struct direct' or 'struct dirent' depending on + * whether dirent is available or not. You should use this pseudo type to + * portably declare your directory entries. + */ +#define I_DIRENT /**/ +/*#define DIRNAMLEN / **/ +#define Direntry_t struct dirent + +/* I_EXECINFO: + * This symbol, if defined, indicates to the C program that it should + * include for backtrace() support. + */ +/*#define I_EXECINFO / **/ /* I_GRP: * This symbol, if defined, indicates to the C program that it should @@ -2076,7 +2054,40 @@ * This symbol, if defined, indicates that exists and should * be included. */ +/* I_GDBMNDBM: + * This symbol, if defined, indicates that exists and should + * be included. This was the location of the ndbm.h compatibility file + * in RedHat 7.1. + */ +/* I_GDBM_NDBM: + * This symbol, if defined, indicates that exists and should + * be included. This is the location of the ndbm.h compatibility file + * in Debian 4.0. + */ +/* NDBM_H_USES_PROTOTYPES: + * This symbol, if defined, indicates that uses real ANSI C + * prototypes instead of K&R style function declarations without any + * parameter information. While ANSI C prototypes are supported in C++, + * K&R style function declarations will yield errors. + */ +/* GDBMNDBM_H_USES_PROTOTYPES: + * This symbol, if defined, indicates that uses real ANSI C + * prototypes instead of K&R style function declarations without any + * parameter information. While ANSI C prototypes are supported in C++, + * K&R style function declarations will yield errors. + */ +/* GDBM_NDBM_H_USES_PROTOTYPES: + * This symbol, if defined, indicates that uses real ANSI C + * prototypes instead of K&R style function declarations without any + * parameter information. While ANSI C prototypes are supported in C++, + * K&R style function declarations will yield errors. + */ /*#define I_NDBM / **/ +/*#define I_GDBMNDBM / **/ +/*#define I_GDBM_NDBM / **/ +/*#define NDBM_H_USES_PROTOTYPES / **/ +/*#define GDBMNDBM_H_USES_PROTOTYPES / **/ +/*#define GDBM_NDBM_H_USES_PROTOTYPES / **/ /* I_NETDB: * This symbol, if defined, indicates that exists and @@ -2084,6 +2095,12 @@ */ /*#define I_NETDB / **/ +/* I_NET_ERRNO: + * This symbol, if defined, indicates that exists and + * should be included. + */ +/*#define I_NET_ERRNO / **/ + /* I_PWD: * This symbol, if defined, indicates to the C program that it should * include . @@ -2136,54 +2153,45 @@ */ /*#define I_SYSUIO / **/ -/* I_STDARG: - * This symbol, if defined, indicates that exists and should - * be included. +/* 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_VARARGS: - * This symbol, if defined, indicates to the C program that it should - * include . +/* 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. */ -#define I_STDARG /**/ -/*#define I_VARARGS / **/ +/* 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. + */ +/*#define I_TERMIO / **/ +/*#define I_TERMIOS / **/ +/*#define I_SGTTY / **/ /* 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. */ #define Malloc_t void * /**/ -#define Free_t int /**/ - -/* MYMALLOC: - * This symbol, if defined, indicates that we're using our own malloc. - */ -/*#define MYMALLOC / **/ +#define Free_t void /**/ /* PERL_MALLOC_WRAP: * This symbol, if defined, indicates that we'd like malloc wrap checks. */ -/*#define PERL_MALLOC_WRAP / **/ +/*#define PERL_MALLOC_WRAP / **/ -/* 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[])); +/* MYMALLOC: + * This symbol, if defined, indicates that we're using our own malloc. */ -/*#define CAN_PROTOTYPE / **/ -#ifdef CAN_PROTOTYPE -#define _(args) args -#else -#define _(args) () -#endif +/*#define MYMALLOC / **/ /* SH_PATH: * This symbol contains the full pathname to the shell used on this @@ -2192,7 +2200,7 @@ * /bin/pdksh, /bin/ash, /bin/bash, or even something such as * D:/bin/sh.exe. */ -#define SH_PATH "" /**/ +#define SH_PATH "/bin/sh" /**/ /* SIG_NAME: * This symbol contains a list of signal names in order of @@ -2217,10 +2225,10 @@ * The signals in the list are separated with commas, and the indices * within that list and the SIG_NAME list match, so it's easy to compute * the signal name from a number or vice versa at the price of a small - * dynamic linear lookup. + * dynamic linear lookup. * Duplicates are allowed, but are moved to the end of the list. * The signal number corresponding to sig_name[i] is sig_number[i]. - * if (i < NSIG) then sig_number[i] == i. + * if (i < NSIG) then sig_number[i] == i. * The last element is 0, corresponding to the 0 at the end of * the sig_name_init list. * Note that this variable is initialized from the sig_num_init, @@ -2234,37 +2242,6 @@ #define SIG_NUM 0 /**/ #define SIG_SIZE 1 /**/ -/* STDCHAR: - * This symbol is defined to be the type of char used in stdio.h. - * It has the values "unsigned char" or "char". - */ -#define STDCHAR char /**/ - -/* 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 = suports 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 1 -#endif -#define VOIDFLAGS 1 -#if (VOIDFLAGS & VOIDUSED) != VOIDUSED -#define void int /* is void to be avoided? */ -#define M_VOID /* Xenix strikes again */ -#endif - /* USE_CROSS_COMPILE: * This symbol, if defined, indicates that Perl is being cross-compiled. */ @@ -2277,6 +2254,13 @@ #define PERL_TARGETARCH "" /**/ #endif +/* PERL_USE_DEVEL: + * This symbol, if defined, indicates that Perl was configured with + * -Dusedevel, to enable development features. This should not be + * done for production builds. + */ +/*#define PERL_USE_DEVEL / **/ + /* HAS_ATOLF: * This symbol, if defined, indicates that the atolf routine is * available to convert strings into long doubles. @@ -2295,12 +2279,67 @@ */ /*#define HAS__FWALK / **/ +/* HAS_ACCEPT4: + * This symbol, if defined, indicates that the accept4 routine is + * available to accept socket connections. + */ +/*#define HAS_ACCEPT4 / **/ + +/* HAS_ACOSH: + * This symbol, if defined, indicates that the acosh routine is + * available to do the inverse hyperbolic cosine function. + */ +/*#define HAS_ACOSH / **/ + /* HAS_AINTL: * This symbol, if defined, indicates that the aintl routine is * available. If copysignl is also present we can emulate modfl. */ /*#define HAS_AINTL / **/ +/* HAS_ASINH: + * This symbol, if defined, indicates that the asinh routine is + * available to do the inverse hyperbolic sine function. + */ +/*#define HAS_ASINH / **/ + +/* HAS_ATANH: + * This symbol, if defined, indicates that the atanh routine is + * available to do the inverse hyperbolic tangent function. + */ +/*#define HAS_ATANH / **/ + +/* HAS_BUILTIN_CHOOSE_EXPR: + * Can we handle GCC builtin for compile-time ternary-like expressions + */ +/* HAS_BUILTIN_EXPECT: + * Can we handle GCC builtin for telling that certain values are more + * likely + */ +/*#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_C99_VARIADIC_MACROS / **/ + /* HAS_CLASS: * This symbol, if defined, indicates that the class routine is * available to classify doubles. Available for example in AIX. @@ -2319,18 +2358,36 @@ */ /*#define HAS_CLASS / **/ +/* HAS_CLEARENV: + * This symbol, if defined, indicates that the clearenv () routine is + * available for use. + */ +/*#define HAS_CLEARENV / **/ + /* HAS_STRUCT_CMSGHDR: * This symbol, if defined, indicates that the struct cmsghdr * is supported. */ /*#define HAS_STRUCT_CMSGHDR / **/ +/* HAS_COPYSIGN: + * This symbol, if defined, indicates that the copysign routine is + * available to do the copysign function. + */ +/*#define HAS_COPYSIGN / **/ + /* HAS_COPYSIGNL: * This symbol, if defined, indicates that the copysignl routine is * available. If aintl is also present we can emulate modfl. */ /*#define HAS_COPYSIGNL / **/ +/* USE_CPLUSPLUS: + * This symbol, if defined, indicates that a C++ compiler was + * used to compiled Perl and will be used to compile extensions. + */ +/*#define USE_CPLUSPLUS / **/ + /* HAS_DBMINIT_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the dbminit() function. Otherwise, it is up @@ -2339,6 +2396,12 @@ */ /*#define HAS_DBMINIT_PROTO / **/ +/* HAS_DIR_DD_FD: + * This symbol, if defined, indicates that the the DIR* dirstream + * structure contains a member variable named dd_fd. + */ +/*#define HAS_DIR_DD_FD / **/ + /* HAS_DIRFD: * This manifest constant lets the C program know that dirfd * is available. @@ -2351,7 +2414,37 @@ * makes sense if you *have* dlsym, which we will presume is the * case if you're using dl_dlopen.xs. */ -/*#define DLSYM_NEEDS_UNDERSCORE / **/ +/*#define DLSYM_NEEDS_UNDERSCORE / **/ + +/* HAS_DUP3: + * This symbol, if defined, indicates that the dup3 routine is + * available to duplicate file descriptors. + */ +/*#define HAS_DUP3 / **/ + +/* HAS_ERF: + * This symbol, if defined, indicates that the erf routine is + * available to do the error function. + */ +/*#define HAS_ERF / **/ + +/* HAS_ERFC: + * This symbol, if defined, indicates that the erfc routine is + * available to do the complementary error function. + */ +/*#define HAS_ERFC / **/ + +/* HAS_EXP2: + * This symbol, if defined, indicates that the exp2 routine is + * available to do the 2**x function. + */ +/*#define HAS_EXP2 / **/ + +/* HAS_EXPM1: + * This symbol, if defined, indicates that the expm1 routine is + * available to do the exp(x) - 1 when x is near 1 function. + */ +/*#define HAS_EXPM1 / **/ /* HAS_FAST_STDIO: * This symbol, if defined, indicates that the "fast stdio" @@ -2372,6 +2465,26 @@ */ /*#define FCNTL_CAN_LOCK / **/ +/* HAS_FDCLOSE: + * This symbol, if defined, indicates that the fdclose routine is + * available to free a FILE structure without closing the underlying + * file descriptor. This function appeared in FreeBSD 10.2. + */ +/*#define HAS_FDCLOSE / **/ + +/* HAS_FDIM: + * This symbol, if defined, indicates that the fdim routine is + * available to do the positive difference function. + */ +/*#define HAS_FDIM / **/ + +/* HAS_FEGETROUND: + * This symbol, if defined, indicates that the fegetround routine is + * available to return the macro corresponding to the current rounding + * mode. + */ +/*#define 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). @@ -2393,6 +2506,24 @@ */ /*#define HAS_FLOCK_PROTO / **/ +/* HAS_FMA: + * This symbol, if defined, indicates that the fma routine is + * available to do the multiply-add function. + */ +/*#define HAS_FMA / **/ + +/* HAS_FMAX: + * This symbol, if defined, indicates that the fmax routine is + * available to do the maximum function. + */ +/*#define HAS_FMAX / **/ + +/* HAS_FMIN: + * This symbol, if defined, indicates that the fmin routine is + * available to do the minimum function. + */ +/*#define HAS_FMIN / **/ + /* HAS_FP_CLASS: * This symbol, if defined, indicates that the fp_class routine is * available to classify doubles. Available for example in Digital UNIX. @@ -2411,6 +2542,13 @@ */ /*#define 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. + */ +/*#define 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. @@ -2434,14 +2572,26 @@ * available to classify doubles. Available for example in HP-UX. * The returned values are defined in 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 + * + * FP_NORMAL Normalized + * FP_ZERO Zero + * FP_INFINITE Infinity + * FP_SUBNORMAL Denormalized + * FP_NAN NaN * */ -/*#define HAS_FPCLASSIFY / **/ +/*#define HAS_FPCLASSIFY / **/ +/*#define HAS_FP_CLASSIFY / **/ /* HAS_FPCLASSL: * This symbol, if defined, indicates that the fpclassl routine is @@ -2461,10 +2611,16 @@ */ /*#define HAS_FPCLASSL / **/ +/* HAS_FPGETROUND: + * This symbol, if defined, indicates that the fpgetround routine is + * available to get the floating point rounding mode. + */ +/*#define HAS_FPGETROUND / **/ + /* HAS_FPOS64_T: * This symbol will be defined if the C compiler supports fpos64_t. */ -/*#define HAS_FPOS64_T / **/ +/*#define HAS_FPOS64_T / **/ /* HAS_FREXPL: * This symbol, if defined, indicates that the frexpl routine is @@ -2479,6 +2635,27 @@ */ /*#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). @@ -2504,6 +2681,25 @@ */ /*#define HAS_FTELLO / **/ +/* HAS_FUTIMES: + * This symbol, if defined, indicates that the futimes routine is + * available to change file descriptor time stamps with struct timevals. + */ +/*#define 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. + */ +/*#define HAS_GAI_STRERROR / **/ + +/* HAS_GETADDRINFO: + * This symbol, if defined, indicates that the getaddrinfo() function + * is available for use. + */ +/*#define HAS_GETADDRINFO / **/ + /* HAS_GETCWD: * This symbol, if defined, indicates that the getcwd routine is * available to get the current working directory. @@ -2512,7 +2708,7 @@ /* HAS_GETESPWNAM: * This symbol, if defined, indicates that the getespwnam system call is - * available to retrieve enchanced (shadow) password entries by name. + * available to retrieve enhanced (shadow) password entries by name. */ /*#define HAS_GETESPWNAM / **/ @@ -2540,6 +2736,12 @@ */ /*#define HAS_GETMNTENT / **/ +/* HAS_GETNAMEINFO: + * This symbol, if defined, indicates that the getnameinfo() function + * is available for use. + */ +/*#define HAS_GETNAMEINFO / **/ + /* HAS_GETPRPWNAM: * This symbol, if defined, indicates that the getprpwnam system call is * available to retrieve protected (shadow) password entries by name. @@ -2558,31 +2760,80 @@ */ /*#define HAS_HASMNTOPT / **/ +/* HAS_HYPOT: + * This symbol, if defined, indicates that the hypot routine is + * available to do the hypotenuse function. + */ +/*#define HAS_HYPOT / **/ + +/* HAS_ILOGB: + * This symbol, if defined, indicates that the ilogb routine is + * available to get integer exponent of a floating-point value. + */ +/*#define HAS_ILOGB / **/ + /* HAS_ILOGBL: * This symbol, if defined, indicates that the ilogbl routine is * available. If scalbnl is also present we can emulate frexpl. */ /*#define HAS_ILOGBL / **/ +/* HAS_INETNTOP: + * This symbol, if defined, indicates that the inet_ntop() function + * is available to parse IPv4 and IPv6 strings. + */ +/*#define HAS_INETNTOP / **/ + +/* HAS_INETPTON: + * This symbol, if defined, indicates that the inet_pton() function + * is available to parse IPv4 and IPv6 strings. + */ +/*#define HAS_INETPTON / **/ + /* HAS_INT64_T: - * This symbol will defined if the C compiler supports int64_t. - * Usually the needs to be included, but sometimes + * This symbol will defined if the C compiler supports int64_t. + * Usually the needs to be included, but sometimes * is enough. */ /*#define HAS_INT64_T / **/ +/* HAS_ISBLANK: + * This manifest constant lets the C program know that isblank + * is available. + */ +/*#define HAS_ISBLANK / **/ + /* HAS_ISFINITE: * This symbol, if defined, indicates that the isfinite routine is * available to check whether a double is finite (non-infinity non-NaN). */ /*#define 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). + */ +/*#define HAS_ISFINITEL / **/ + /* HAS_ISINF: * This symbol, if defined, indicates that the isinf routine is * available to check whether a double is an infinity. */ /*#define HAS_ISINF / **/ +/* HAS_ISINFL: + * This symbol, if defined, indicates that the isinfl routine is + * available to check whether a long double is an infinity. + */ +/*#define HAS_ISINFL / **/ + +/* HAS_ISLESS: + * This symbol, if defined, indicates that the isless routine is + * available to do the isless function. + */ +/*#define HAS_ISLESS / **/ + /* HAS_ISNAN: * This symbol, if defined, indicates that the isnan routine is * available to check whether a double is a NaN. @@ -2595,13 +2846,130 @@ */ /*#define 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). + */ +/*#define 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. + */ +/*#define HAS_J0 / **/ +/*#define HAS_J0L / **/ + +/* HAS_LC_MONETARY_2008: + * This symbol, if defined, indicates that the localeconv routine is + * available and has the additional members added in POSIX 1003.1-2008. + */ +/*#define HAS_LC_MONETARY_2008 / **/ + /* HAS_LDBL_DIG: * This symbol, if defined, indicates that this system's * or defines the symbol LDBL_DIG, which is the number * 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. */ -/*#define HAS_LDBL_DIG / * */ +/*#define 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. + */ +/*#define 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. + */ +/*#define 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. + */ +/*#define LIBM_LIB_VERSION / **/ + +/* HAS_LLRINT: + * This symbol, if defined, indicates that the llrint routine is + * available to return the long long value closest to a double + * (according to the current rounding mode). + */ +/*#define HAS_LLRINT / **/ + +/* HAS_LLRINTL: + * This symbol, if defined, indicates that the llrintl routine is + * available to return the long long value closest to a long double + * (according to the current rounding mode). + */ +/*#define HAS_LLRINTL / **/ + +/* HAS_LLROUND: + * This symbol, if defined, indicates that the llround routine is + * available to return the nearest long long value. + */ +/*#define HAS_LLROUND / **/ + +/* HAS_LLROUNDL: + * This symbol, if defined, indicates that the llroundl routine is + * available to return the nearest long long value away from zero of + * the long double argument value. + */ +/*#define HAS_LLROUNDL / **/ + +/* HAS_LOG1P: + * This symbol, if defined, indicates that the log1p routine is + * available to do the logarithm of 1 plus argument function. + */ +/*#define HAS_LOG1P / **/ + +/* HAS_LOG2: + * This symbol, if defined, indicates that the log2 routine is + * available to do the log2 function. + */ +/*#define HAS_LOG2 / **/ + +/* HAS_LOGB: + * This symbol, if defined, indicates that the logb routine is + * available to do the logb function. + */ +/*#define HAS_LOGB / **/ + +/* HAS_LRINT: + * This symbol, if defined, indicates that the lrint routine is + * available to return the integral value closest to a double + * (according to the current rounding mode). + */ +/*#define HAS_LRINT / **/ + +/* HAS_LRINTL: + * This symbol, if defined, indicates that the lrintl routine is + * available to return the integral value closest to a long double + * (according to the current rounding mode). + */ +/*#define HAS_LRINTL / **/ + +/* HAS_LROUND: + * This symbol, if defined, indicates that the lround routine is + * available to return the nearest integral value. + */ +/*#define HAS_LROUND / **/ + +/* HAS_LROUNDL: + * This symbol, if defined, indicates that the lroundl routine is + * available to return the nearest integral value away from zero of + * the long double argument value. + */ +/*#define HAS_LROUNDL / **/ /* HAS_MADVISE: * This symbol, if defined, indicates that the madvise system call is @@ -2609,15 +2977,48 @@ */ /*#define HAS_MADVISE / **/ +/* HAS_MALLOC_SIZE: + * This symbol, if defined, indicates that the malloc_size + * routine is available for use. + */ +/*#define HAS_MALLOC_SIZE / **/ + +/* HAS_MALLOC_GOOD_SIZE: + * This symbol, if defined, indicates that the malloc_good_size + * routine is available for use. + */ +/*#define HAS_MALLOC_GOOD_SIZE / **/ + +/* HAS_MEMMEM: + * 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). + */ +/*#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_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. + */ +/*#define HAS_MKOSTEMP / **/ + /* HAS_MKSTEMPS: * This symbol, if defined, indicates that the mkstemps routine is - * available to excluslvely create and open a uniquely named + * available to exclusively create and open a uniquely named * (with a suffix) temporary file. */ /*#define HAS_MKSTEMPS / **/ @@ -2632,16 +3033,8 @@ * a prototype for the modfl() function. Otherwise, it is up * to the program to supply one. */ -/* HAS_MODFL_POW32_BUG: - * This symbol, if defined, indicates that the modfl routine is - * broken for long doubles >= pow(2, 32). - * For example from 4294967303.150000 one would get 4294967302.000000 - * and 1.150000. The bug has been seen in certain versions of glibc, - * release 2.2.2 is known to be okay. - */ /*#define HAS_MODFL / **/ /*#define HAS_MODFL_PROTO / **/ -/*#define HAS_MODFL_POW32_BUG / **/ /* HAS_MPROTECT: * This symbol, if defined, indicates that the mprotect system call is @@ -2655,6 +3048,71 @@ */ /*#define HAS_STRUCT_MSGHDR / **/ +/* HAS_NAN: + * This symbol, if defined, indicates that the nan routine is + * available to generate NaN. + */ +/*#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 + * the current rounding mode) to x. + */ +/*#define HAS_NEARBYINT / **/ + +/* HAS_NEWLOCALE: + * This symbol, if defined, indicates that the newlocale routine is + * available to return a new locale object or modify an existing + * locale object. + */ +/* HAS_FREELOCALE: + * This symbol, if defined, indicates that the freelocale routine is + * available to deallocates the resources associated with a locale object. + */ +/* HAS_USELOCALE: + * 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 to get uselocale() and its friends. + */ +/*#define HAS_NEWLOCALE / **/ +/*#define HAS_FREELOCALE / **/ +/*#define HAS_USELOCALE / **/ +/*#define HAS_DUPLOCALE / **/ +/*#define HAS_QUERYLOCALE / **/ +/*#define I_XLOCALE / **/ + +/* HAS_NEXTAFTER: + * This symbol, if defined, indicates that the nextafter routine is + * available to return the next machine representable double from + * x in direction y. + */ +/*#define HAS_NEXTAFTER / **/ + +/* HAS_NEXTTOWARD: + * This symbol, if defined, indicates that the nexttoward routine is + * available to return the next machine representable long double from + * x in direction y. + */ +/*#define HAS_NEXTTOWARD / **/ + /* HAS_NL_LANGINFO: * This symbol, if defined, indicates that the nl_langinfo routine is * available to return local data. You will also need @@ -2665,7 +3123,26 @@ /* HAS_OFF64_T: * This symbol will be defined if the C compiler supports off64_t. */ -/*#define HAS_OFF64_T / **/ +/*#define HAS_OFF64_T / **/ + +/* HAS_PIPE2: + * This symbol, if defined, indicates that the pipe2 routine is + * available to create an inter-process channel. + */ +/*#define HAS_PIPE2 / **/ + +/* 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 + * available to set process title and supports PR_SET_NAME. + */ +/*#define HAS_PRCTL / **/ +/*#define HAS_PRCTL_SET_NAME / **/ /* HAS_PROCSELFEXE: * This symbol is defined if PROCSELFEXE_PATH is a symlink @@ -2688,6 +3165,11 @@ */ /*#define HAS_PTHREAD_ATTR_SETSCOPE / **/ +/* HAS_PTRDIFF_T: + * This symbol will be defined if the C compiler supports ptrdiff_t. + */ +#define HAS_PTRDIFF_T /**/ + /* HAS_READV: * This symbol, if defined, indicates that the readv routine is * available to do gather reads. You will also need @@ -2701,6 +3183,31 @@ */ /*#define HAS_RECVMSG / **/ +/* HAS_REMAINDER: + * This symbol, if defined, indicates that the remainder routine is + * available to return the floating-point remainder. + */ +/*#define HAS_REMAINDER / **/ + +/* HAS_REMQUO: + * This symbol, if defined, indicates that the remquo routine is + * available to return the remainder and part of quotient. + */ +/*#define HAS_REMQUO / **/ + +/* HAS_RINT: + * This symbol, if defined, indicates that the rint routine is + * available to return the nearest integral value to x as double + * using the current rounding mode. + */ +/*#define HAS_RINT / **/ + +/* HAS_ROUND: + * This symbol, if defined, indicates that the round routine is + * available to round to nearest integer, away from zero. + */ +/*#define HAS_ROUND / **/ + /* HAS_SBRK_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the sbrk() function. Otherwise, it is up @@ -2710,6 +3217,13 @@ */ /*#define HAS_SBRK_PROTO / **/ +/* HAS_SCALBN: + * This symbol, if defined, indicates that the scalbn routine is + * available to multiply floating-point number by integral power + * of radix. + */ +/*#define HAS_SCALBN / **/ + /* HAS_SCALBNL: * This symbol, if defined, indicates that the scalbnl routine is * available. If ilogbl is also present we can emulate frexpl. @@ -2734,11 +3248,15 @@ */ /*#define HAS_SETPROCTITLE / **/ -/* USE_SFIO: - * This symbol, if defined, indicates that sfio should - * be used. +/* HAS_SIGNBIT: + * This symbol, if defined, indicates that the signbit routine is + * available to check if the given number has the sign bit set. + * This should include correct testing of -0.0. This will only be set + * if the signbit() routine is safe to use with the NV type used internally + * in perl. Users should call Perl_signbit(), which will be #defined to + * the system's signbit() function or macro if this symbol is defined. */ -/*#define USE_SFIO / **/ +/*#define HAS_SIGNBIT / **/ /* HAS_SIGPROCMASK: * This symbol, if defined, indicates that the sigprocmask @@ -2747,6 +3265,25 @@ */ /*#define HAS_SIGPROCMASK / **/ +/* USE_SITECUSTOMIZE: + * This symbol, if defined, indicates that sitecustomize should + * be used. + */ +#ifndef USE_SITECUSTOMIZE +/*#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. @@ -2812,12 +3349,37 @@ */ /*#define 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). + */ +/*#define HAS_STRERROR_L / **/ + /* HAS_STRFTIME: * This symbol, if defined, indicates that the strftime routine is * available to do time formatting. */ /*#define HAS_STRFTIME / **/ +/* HAS_STRLCAT: + * This symbol, if defined, indicates that the strlcat () routine is + * available to do string concatenation. + */ +/*#define HAS_STRLCAT / **/ + +/* HAS_STRLCPY: + * This symbol, if defined, indicates that the strlcpy () routine is + * available to do string copying. + */ +/*#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. @@ -2865,6 +3427,61 @@ */ /*#define HAS_TELLDIR_PROTO / **/ +/* HAS_TGAMMA: + * This symbol, if defined, indicates that the tgamma routine is + * available to do the gamma function. See also HAS_LGAMMA. + */ +/*#define HAS_TGAMMA / **/ + +/* HAS_CTIME64: + * This symbol, if defined, indicates that the ctime64 () routine is + * available to do the 64bit variant of ctime () + */ +/* HAS_LOCALTIME64: + * This symbol, if defined, indicates that the localtime64 () routine is + * available to do the 64bit variant of localtime () + */ +/* HAS_GMTIME64: + * This symbol, if defined, indicates that the gmtime64 () routine is + * available to do the 64bit variant of gmtime () + */ +/* HAS_MKTIME64: + * This symbol, if defined, indicates that the mktime64 () routine is + * available to do the 64bit variant of mktime () + */ +/* HAS_DIFFTIME64: + * This symbol, if defined, indicates that the difftime64 () routine is + * available to do the 64bit variant of difftime () + */ +/* HAS_ASCTIME64: + * This symbol, if defined, indicates that the asctime64 () routine is + * available to do the 64bit variant of asctime () + */ +/*#define HAS_CTIME64 / **/ +/*#define HAS_LOCALTIME64 / **/ +/*#define HAS_GMTIME64 / **/ +/*#define HAS_MKTIME64 / **/ +/*#define HAS_DIFFTIME64 / **/ +/*#define HAS_ASCTIME64 / **/ + +/* HAS_TIMEGM: + * This symbol, if defined, indicates that the timegm routine is + * available to do the opposite of gmtime () + */ +/*#define HAS_TIMEGM / **/ + +/* HAS_TRUNC: + * This symbol, if defined, indicates that the trunc routine is + * available to round doubles towards zero. + */ +/*#define HAS_TRUNC / **/ + +/* HAS_TRUNCL: + * This symbol, if defined, indicates that the truncl routine is + * available. If copysignl is also present we can emulate modfl. + */ +/*#define HAS_TRUNCL / **/ + /* U32_ALIGNMENT_REQUIRED: * This symbol, if defined, indicates that you must access * character data through U32-aligned pointers. @@ -2886,6 +3503,12 @@ */ /*#define HAS_UNORDERED / **/ +/* HAS_UNSETENV: + * This symbol, if defined, indicates that the unsetenv () routine is + * available for use. + */ +/*#define HAS_UNSETENV / **/ + /* HAS_USLEEP_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the usleep() function. Otherwise, it is up @@ -2900,12 +3523,30 @@ */ /*#define HAS_USTAT / **/ +/* HAS_WCSCMP: + * This symbol, if defined, indicates that the wcscmp routine is + * available to compare two wide character strings. + */ +/*#define HAS_WCSCMP / **/ + +/* HAS_WCSXFRM: + * This symbol, if defined, indicates that the wcsxfrm routine is + * available to tranform a wide character string for wcscmp(). + */ +/*#define HAS_WCSXFRM / **/ + /* HAS_WRITEV: * This symbol, if defined, indicates that the writev routine is * available to do scatter writes. */ /*#define HAS_WRITEV / **/ +/* DEFAULT_INC_EXCLUDES_DOT: + * This symbol, if defined, removes the legacy default behavior of + * including '.' at the end of @INC. + */ +/*#define DEFAULT_INC_EXCLUDES_DOT / **/ + /* USE_DYNAMIC_LOADING: * This symbol, if defined, indicates that dynamic loading of * some sort is available. @@ -2913,8 +3554,10 @@ /*#define 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 @@ -2923,8 +3566,14 @@ * Note that if fflushNULL is defined, fflushall will not * even be probed for and will be left undefined. */ -/*#define FFLUSH_NULL / **/ -/*#define FFLUSH_ALL / **/ +/*#define FFLUSH_NULL / **/ +/*#define FFLUSH_ALL / **/ + +/* I_BFD: + * This symbol, if defined, indicates that exists and + * can be included. + */ +/*#define I_BFD / **/ /* I_CRYPT: * This symbol, if defined, indicates that exists and @@ -2957,10 +3606,16 @@ * For DB version 1 this is always 0. */ #define DB_Hash_t u_int32_t /**/ -#define DB_Prefix_t size_t /**/ -#define DB_VERSION_MAJOR_CFG /**/ -#define DB_VERSION_MINOR_CFG /**/ -#define DB_VERSION_PATCH_CFG /**/ +#define DB_Prefix_t size_t /**/ +#define DB_VERSION_MAJOR_CFG 0 /**/ +#define DB_VERSION_MINOR_CFG 0 /**/ +#define DB_VERSION_PATCH_CFG 0 /**/ + +/* I_FENV: + * This symbol, if defined, indicates to the C program that it should + * include to get the floating point environment definitions. + */ +/*#define I_FENV / **/ /* I_FP: * This symbol, if defined, indicates that exists and @@ -2981,8 +3636,8 @@ /*#define I_IEEEFP / **/ /* I_INTTYPES: - * This symbol, if defined, indicates to the C program that it should - * include . + * This symbol, if defined, indicates to the C program that it should + * include . */ /*#define I_INTTYPES / **/ @@ -2998,6 +3653,12 @@ */ /*#define I_LIBUTIL / **/ +/* I_MALLOCMALLOC: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +/*#define I_MALLOCMALLOC / **/ + /* I_MNTENT: * This symbol, if defined, indicates that exists and * should be included. @@ -3005,14 +3666,14 @@ /*#define I_MNTENT / **/ /* I_NETINET_TCP: - * This symbol, if defined, indicates to the C program that it should - * include . + * This symbol, if defined, indicates to the C program that it should + * include . */ /*#define I_NETINET_TCP / **/ /* I_POLL: * This symbol, if defined, indicates that exists and - * should be included. + * should be included. (see also HAS_POLL) */ /*#define I_POLL / **/ @@ -3022,6 +3683,12 @@ */ /*#define I_PROT / **/ +/* I_QUADMATH: + * This symbol, if defined, indicates that exists and + * should be included. + */ +/*#define I_QUADMATH / **/ + /* I_SHADOW: * This symbol, if defined, indicates that exists and * should be included. @@ -3034,6 +3701,18 @@ */ /*#define I_SOCKS / **/ +/* I_STDBOOL: + * This symbol, if defined, indicates that exists and + * can be included. + */ +/*#define I_STDBOOL / **/ + +/* I_STDINT: + * This symbol, if defined, indicates that exists and + * should be included. + */ +/*#define I_STDINT / **/ + /* I_SUNMATH: * This symbol, if defined, indicates that exists and * should be included. @@ -3087,6 +3766,33 @@ */ /*#define I_USTAT / **/ +/* I_WCHAR: + * This symbol, if defined, indicates to the C program that + * 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. + */ +/* DOUBLENANBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes (0xHH) for the double precision not-a-number. + */ +/* LONGDBLINFBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes for the long double precision infinity. + */ +/* LONGDBLNANBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes (0xHH) for the long double precision not-a-number. + */ +#define DOUBLEINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f /**/ +#define DOUBLENANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f /**/ +#define LONGDBLINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /**/ +#define LONGDBLNANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /**/ + /* PERL_PRIfldbl: * This symbol, if defined, contains the string used by stdio to * format long doubles (format 'f') for output. @@ -3103,10 +3809,108 @@ * This symbol, if defined, contains the string used by stdio to * format long doubles (format 'f') for input. */ +/* DOUBLEKIND: + * DOUBLEKIND will be one of + * DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN + * DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN + * DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN + * DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN + * DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN + * DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN + * DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE + * DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE + * DOUBLE_IS_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 3 /**/ +#define DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN 1 +#define DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN 2 +#define DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN 3 +#define DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN 4 +#define DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN 5 +#define DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN 6 +#define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE 7 +#define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE 8 +#define DOUBLE_IS_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 /*#define PERL_PRIfldbl "llf" / **/ /*#define PERL_PRIgldbl "llg" / **/ /*#define PERL_PRIeldbl "lle" / **/ /*#define PERL_SCNfldbl "llf" / **/ +#define DOUBLE_HAS_INF +#define DOUBLE_HAS_NAN +#define DOUBLE_HAS_NEGATIVE_ZERO +#define DOUBLE_HAS_SUBNORMALS +#undef DOUBLE_STYLE_CRAY +#undef DOUBLE_STYLE_IBM +#define DOUBLE_STYLE_IEEE +#undef DOUBLE_STYLE_VAX + +/* DOUBLEMANTBITS: + * This symbol, if defined, tells how many mantissa bits + * there are in double precision floating point format. + * Note that this is usually DBL_MANT_DIG minus one, since + * with the standard IEEE 754 formats DBL_MANT_DIG includes + * the implicit bit, which doesn't really exist. + */ +/* LONGDBLMANTBITS: + * This symbol, if defined, tells how many mantissa bits + * there are in long double precision floating point format. + * Note that this can be LDBL_MANT_DIG minus one, + * since LDBL_MANT_DIG can include the IEEE 754 implicit bit. + * The common x86-style 80-bit long double does not have + * an implicit bit. + */ +/* NVMANTBITS: + * This symbol, if defined, tells how many mantissa bits + * (not including implicit bit) there are in a Perl NV. + * This depends on which floating point type was chosen. + */ +#define DOUBLEMANTBITS 52 +#define LONGDBLMANTBITS 64 +#define NVMANTBITS 52 /* NEED_VA_COPY: * This symbol, if defined, indicates that the system stores @@ -3117,7 +3921,7 @@ * of copying mechanisms, handy.h defines a platform- * independent macro, Perl_va_copy(src, dst), to do the job. */ -/*#define NEED_VA_COPY / **/ +#define NEED_VA_COPY /**/ /* IVTYPE: * This symbol defines the C type used for Perl's IV. @@ -3184,6 +3988,11 @@ */ /* NVSIZE: * This symbol contains the sizeof(NV). + * Note that some floating point formats have unused bytes. + * The most notable example is the x86* 80-bit extended precision + * which comes in byte sizes of 12 and 16 (for 32 and 64 bit + * platforms, respectively), but which only uses 10 bytes. + * Perl compiled with -Duselongdouble on x86* is like this. */ /* NV_PRESERVES_UV: * This symbol, if defined, indicates that a variable of type NVTYPE @@ -3193,9 +4002,19 @@ * This symbol contains the number of bits a variable of type NVTYPE * can preserve of a variable of type UVTYPE. */ +/* NV_OVERFLOWS_INTEGERS_AT: + * This symbol gives the largest integer value that NVs can hold. This + * value + 1.0 cannot be stored accurately. It is expressed as constant + * floating point expression to reduce the chance of decimal/binary + * conversion issues. If it can not be determined, the value 0 is given. + */ +/* NV_ZERO_IS_ALLBITS_ZERO: + * This symbol, if defined, indicates that a variable of type NVTYPE + * stores 0.0 in memory as all bits zero. + */ #define IVTYPE long /**/ #define UVTYPE unsigned long /**/ -#define I8TYPE char /**/ +#define I8TYPE signed char /**/ #define U8TYPE unsigned char /**/ #define I16TYPE short /**/ #define U16TYPE unsigned short /**/ @@ -3221,6 +4040,8 @@ #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) +#undef NV_ZERO_IS_ALLBITS_ZERO #if UVSIZE == 8 # ifdef BYTEORDER # if BYTEORDER == 0x1234 @@ -3283,14 +4104,24 @@ * 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 32 /**/ +#define SELECT_MIN_BITS 32 /**/ + +/* ST_INO_SIZE: + * This variable contains the size of struct stat's st_ino in bytes. + */ +/* ST_INO_SIGN: + * This symbol holds the signedness of struct stat's st_ino. + * 1 for unsigned, -1 for signed. + */ +#define ST_INO_SIGN 1 /* st_ino sign */ +#define ST_INO_SIZE 4 /* st_ino size */ /* STARTPERL: * This variable contains the string to put in front of a perl * script to make sure (one hopes) that it runs with perl and not * some shell. */ -#define STARTPERL "" /**/ +#define STARTPERL "#!perl" /**/ /* HAS_STDIO_STREAM_ARRAY: * This symbol, if defined, tells that there is an array @@ -3301,7 +4132,30 @@ * Usual values include _iob, __iob, and __sF. */ /*#define HAS_STDIO_STREAM_ARRAY / **/ +#ifdef HAS_STDIO_STREAM_ARRAY #define STDIO_STREAM_ARRAY +#endif + +/* GMTIME_MAX: + * This symbol contains the maximum value for the time_t offset that + * the system function gmtime () accepts, and defaults to 0 + */ +/* GMTIME_MIN: + * This symbol contains the minimum value for the time_t offset that + * the system function gmtime () accepts, and defaults to 0 + */ +/* LOCALTIME_MAX: + * This symbol contains the maximum value for the time_t offset that + * the system function localtime () accepts, and defaults to 0 + */ +/* LOCALTIME_MIN: + * This symbol contains the minimum value for the time_t offset that + * the system function localtime () accepts, and defaults to 0 + */ +#define GMTIME_MAX 2147483647 /**/ +#define GMTIME_MIN 0 /**/ +#define LOCALTIME_MAX 2147483647 /**/ +#define LOCALTIME_MIN 0 /**/ /* USE_64_BIT_INT: * This symbol, if defined, indicates that 64-bit integers should @@ -3324,11 +4178,22 @@ #ifndef USE_64_BIT_INT /*#define USE_64_BIT_INT / **/ #endif - #ifndef USE_64_BIT_ALL /*#define USE_64_BIT_ALL / **/ #endif +/* USE_CBACKTRACE: + * This symbol, if defined, indicates that Perl should + * be built with support for backtrace. + */ +/*#define USE_CBACKTRACE / **/ + +/* USE_DTRACE: + * This symbol, if defined, indicates that Perl should + * be built with support for DTrace. + */ +/*#define USE_DTRACE / **/ + /* USE_FAST_STDIO: * This symbol, if defined, indicates that Perl should * be built to use 'fast stdio'. @@ -3338,6 +4203,13 @@ /*#define USE_FAST_STDIO / **/ #endif +/* 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. + */ +/*#define USE_KERN_PROC_PATHNAME / **/ + /* USE_LARGE_FILES: * This symbol, if defined, indicates that large file support * should be used when available. @@ -3370,6 +4242,13 @@ /*#define MULTIPLICITY / **/ #endif +/* USE_NSGETEXECUTABLEPATH: + * This symbol, if defined, indicates that we can use _NSGetExecutablePath + * and realpath to get a full path for the executable, and hence convert + * $^X to an absolute path. + */ +/*#define USE_NSGETEXECUTABLEPATH / **/ + /* USE_PERLIO: * This symbol, if defined, indicates that the PerlIO abstraction should * be used throughout. If not defined, stdio should be @@ -3379,6 +4258,14 @@ /*#define USE_PERLIO / **/ #endif +/* USE_QUADMATH: + * This symbol, if defined, indicates that the quadmath library should + * be used when available. + */ +#ifndef USE_QUADMATH +/*#define USE_QUADMATH / **/ +#endif + /* USE_SOCKS: * This symbol, if defined, indicates that Perl should * be built to use socks. @@ -3459,10 +4346,10 @@ /* Select_fd_set_t: * This symbol holds the type used for the 2nd, 3rd, and 4th * arguments to select. Usually, this is 'fd_set *', if HAS_FD_SET - * is defined, and 'int *' otherwise. This is only useful if you + * is defined, and 'int *' otherwise. This is only useful if you * have select(), of course. */ -#define Select_fd_set_t int /**/ +#define Select_fd_set_t int /**/ /* Sock_size_t: * This symbol holds the type used for the size argument of @@ -3488,8 +4375,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r * is defined. */ -/*#define HAS_ASCTIME_R / **/ -#define ASCTIME_R_PROTO 0 /**/ +/*#define HAS_ASCTIME_R / **/ +#define ASCTIME_R_PROTO 0 /**/ /* HAS_CRYPT_R: * This symbol, if defined, indicates that the crypt_r routine @@ -3501,8 +4388,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r * is defined. */ -/*#define HAS_CRYPT_R / **/ -#define CRYPT_R_PROTO 0 /**/ +/*#define HAS_CRYPT_R / **/ +#define CRYPT_R_PROTO 0 /**/ /* HAS_CTERMID_R: * This symbol, if defined, indicates that the ctermid_r routine @@ -3514,8 +4401,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r * is defined. */ -/*#define HAS_CTERMID_R / **/ -#define CTERMID_R_PROTO 0 /**/ +/*#define HAS_CTERMID_R / **/ +#define CTERMID_R_PROTO 0 /**/ /* HAS_CTIME_R: * This symbol, if defined, indicates that the ctime_r routine @@ -3527,8 +4414,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r * is defined. */ -/*#define HAS_CTIME_R / **/ -#define CTIME_R_PROTO 0 /**/ +/*#define HAS_CTIME_R / **/ +#define CTIME_R_PROTO 0 /**/ /* HAS_DRAND48_R: * This symbol, if defined, indicates that the drand48_r routine @@ -3540,8 +4427,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r * is defined. */ -/*#define HAS_DRAND48_R / **/ -#define DRAND48_R_PROTO 0 /**/ +/*#define HAS_DRAND48_R / **/ +#define DRAND48_R_PROTO 0 /**/ /* HAS_ENDGRENT_R: * This symbol, if defined, indicates that the endgrent_r routine @@ -3553,8 +4440,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r * is defined. */ -/*#define HAS_ENDGRENT_R / **/ -#define ENDGRENT_R_PROTO 0 /**/ +/*#define HAS_ENDGRENT_R / **/ +#define ENDGRENT_R_PROTO 0 /**/ /* HAS_ENDHOSTENT_R: * This symbol, if defined, indicates that the endhostent_r routine @@ -3566,8 +4453,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r * is defined. */ -/*#define HAS_ENDHOSTENT_R / **/ -#define ENDHOSTENT_R_PROTO 0 /**/ +/*#define HAS_ENDHOSTENT_R / **/ +#define ENDHOSTENT_R_PROTO 0 /**/ /* HAS_ENDNETENT_R: * This symbol, if defined, indicates that the endnetent_r routine @@ -3579,8 +4466,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r * is defined. */ -/*#define HAS_ENDNETENT_R / **/ -#define ENDNETENT_R_PROTO 0 /**/ +/*#define HAS_ENDNETENT_R / **/ +#define ENDNETENT_R_PROTO 0 /**/ /* HAS_ENDPROTOENT_R: * This symbol, if defined, indicates that the endprotoent_r routine @@ -3592,8 +4479,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r * is defined. */ -/*#define HAS_ENDPROTOENT_R / **/ -#define ENDPROTOENT_R_PROTO 0 /**/ +/*#define HAS_ENDPROTOENT_R / **/ +#define ENDPROTOENT_R_PROTO 0 /**/ /* HAS_ENDPWENT_R: * This symbol, if defined, indicates that the endpwent_r routine @@ -3605,8 +4492,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r * is defined. */ -/*#define HAS_ENDPWENT_R / **/ -#define ENDPWENT_R_PROTO 0 /**/ +/*#define HAS_ENDPWENT_R / **/ +#define ENDPWENT_R_PROTO 0 /**/ /* HAS_ENDSERVENT_R: * This symbol, if defined, indicates that the endservent_r routine @@ -3618,8 +4505,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r * is defined. */ -/*#define HAS_ENDSERVENT_R / **/ -#define ENDSERVENT_R_PROTO 0 /**/ +/*#define HAS_ENDSERVENT_R / **/ +#define ENDSERVENT_R_PROTO 0 /**/ /* HAS_GETGRENT_R: * This symbol, if defined, indicates that the getgrent_r routine @@ -3631,8 +4518,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r * is defined. */ -/*#define HAS_GETGRENT_R / **/ -#define GETGRENT_R_PROTO 0 /**/ +/*#define HAS_GETGRENT_R / **/ +#define GETGRENT_R_PROTO 0 /**/ /* HAS_GETGRGID_R: * This symbol, if defined, indicates that the getgrgid_r routine @@ -3644,8 +4531,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r * is defined. */ -/*#define HAS_GETGRGID_R / **/ -#define GETGRGID_R_PROTO 0 /**/ +/*#define HAS_GETGRGID_R / **/ +#define GETGRGID_R_PROTO 0 /**/ /* HAS_GETGRNAM_R: * This symbol, if defined, indicates that the getgrnam_r routine @@ -3657,8 +4544,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r * is defined. */ -/*#define HAS_GETGRNAM_R / **/ -#define GETGRNAM_R_PROTO 0 /**/ +/*#define HAS_GETGRNAM_R / **/ +#define GETGRNAM_R_PROTO 0 /**/ /* HAS_GETHOSTBYADDR_R: * This symbol, if defined, indicates that the gethostbyaddr_r routine @@ -3670,8 +4557,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r * is defined. */ -/*#define HAS_GETHOSTBYADDR_R / **/ -#define GETHOSTBYADDR_R_PROTO 0 /**/ +/*#define HAS_GETHOSTBYADDR_R / **/ +#define GETHOSTBYADDR_R_PROTO 0 /**/ /* HAS_GETHOSTBYNAME_R: * This symbol, if defined, indicates that the gethostbyname_r routine @@ -3683,8 +4570,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r * is defined. */ -/*#define HAS_GETHOSTBYNAME_R / **/ -#define GETHOSTBYNAME_R_PROTO 0 /**/ +/*#define HAS_GETHOSTBYNAME_R / **/ +#define GETHOSTBYNAME_R_PROTO 0 /**/ /* HAS_GETHOSTENT_R: * This symbol, if defined, indicates that the gethostent_r routine @@ -3696,8 +4583,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r * is defined. */ -/*#define HAS_GETHOSTENT_R / **/ -#define GETHOSTENT_R_PROTO 0 /**/ +/*#define HAS_GETHOSTENT_R / **/ +#define GETHOSTENT_R_PROTO 0 /**/ /* HAS_GETLOGIN_R: * This symbol, if defined, indicates that the getlogin_r routine @@ -3709,8 +4596,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r * is defined. */ -/*#define HAS_GETLOGIN_R / **/ -#define GETLOGIN_R_PROTO 0 /**/ +/*#define HAS_GETLOGIN_R / **/ +#define GETLOGIN_R_PROTO 0 /**/ /* HAS_GETNETBYADDR_R: * This symbol, if defined, indicates that the getnetbyaddr_r routine @@ -3722,8 +4609,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r * is defined. */ -/*#define HAS_GETNETBYADDR_R / **/ -#define GETNETBYADDR_R_PROTO 0 /**/ +/*#define HAS_GETNETBYADDR_R / **/ +#define GETNETBYADDR_R_PROTO 0 /**/ /* HAS_GETNETBYNAME_R: * This symbol, if defined, indicates that the getnetbyname_r routine @@ -3735,8 +4622,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r * is defined. */ -/*#define HAS_GETNETBYNAME_R / **/ -#define GETNETBYNAME_R_PROTO 0 /**/ +/*#define HAS_GETNETBYNAME_R / **/ +#define GETNETBYNAME_R_PROTO 0 /**/ /* HAS_GETNETENT_R: * This symbol, if defined, indicates that the getnetent_r routine @@ -3748,8 +4635,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r * is defined. */ -/*#define HAS_GETNETENT_R / **/ -#define GETNETENT_R_PROTO 0 /**/ +/*#define HAS_GETNETENT_R / **/ +#define GETNETENT_R_PROTO 0 /**/ /* HAS_GETPROTOBYNAME_R: * This symbol, if defined, indicates that the getprotobyname_r routine @@ -3761,8 +4648,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r * is defined. */ -/*#define HAS_GETPROTOBYNAME_R / **/ -#define GETPROTOBYNAME_R_PROTO 0 /**/ +/*#define HAS_GETPROTOBYNAME_R / **/ +#define GETPROTOBYNAME_R_PROTO 0 /**/ /* HAS_GETPROTOBYNUMBER_R: * This symbol, if defined, indicates that the getprotobynumber_r routine @@ -3774,8 +4661,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r * is defined. */ -/*#define HAS_GETPROTOBYNUMBER_R / **/ -#define GETPROTOBYNUMBER_R_PROTO 0 /**/ +/*#define HAS_GETPROTOBYNUMBER_R / **/ +#define GETPROTOBYNUMBER_R_PROTO 0 /**/ /* HAS_GETPROTOENT_R: * This symbol, if defined, indicates that the getprotoent_r routine @@ -3787,8 +4674,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r * is defined. */ -/*#define HAS_GETPROTOENT_R / **/ -#define GETPROTOENT_R_PROTO 0 /**/ +/*#define HAS_GETPROTOENT_R / **/ +#define GETPROTOENT_R_PROTO 0 /**/ /* HAS_GETPWENT_R: * This symbol, if defined, indicates that the getpwent_r routine @@ -3800,8 +4687,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwent_r * is defined. */ -/*#define HAS_GETPWENT_R / **/ -#define GETPWENT_R_PROTO 0 /**/ +/*#define HAS_GETPWENT_R / **/ +#define GETPWENT_R_PROTO 0 /**/ /* HAS_GETPWNAM_R: * This symbol, if defined, indicates that the getpwnam_r routine @@ -3813,8 +4700,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r * is defined. */ -/*#define HAS_GETPWNAM_R / **/ -#define GETPWNAM_R_PROTO 0 /**/ +/*#define HAS_GETPWNAM_R / **/ +#define GETPWNAM_R_PROTO 0 /**/ /* HAS_GETPWUID_R: * This symbol, if defined, indicates that the getpwuid_r routine @@ -3826,8 +4713,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwuid_r * is defined. */ -/*#define HAS_GETPWUID_R / **/ -#define GETPWUID_R_PROTO 0 /**/ +/*#define HAS_GETPWUID_R / **/ +#define GETPWUID_R_PROTO 0 /**/ /* HAS_GETSERVBYNAME_R: * This symbol, if defined, indicates that the getservbyname_r routine @@ -3839,8 +4726,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r * is defined. */ -/*#define HAS_GETSERVBYNAME_R / **/ -#define GETSERVBYNAME_R_PROTO 0 /**/ +/*#define HAS_GETSERVBYNAME_R / **/ +#define GETSERVBYNAME_R_PROTO 0 /**/ /* HAS_GETSERVBYPORT_R: * This symbol, if defined, indicates that the getservbyport_r routine @@ -3852,8 +4739,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r * is defined. */ -/*#define HAS_GETSERVBYPORT_R / **/ -#define GETSERVBYPORT_R_PROTO 0 /**/ +/*#define HAS_GETSERVBYPORT_R / **/ +#define GETSERVBYPORT_R_PROTO 0 /**/ /* HAS_GETSERVENT_R: * This symbol, if defined, indicates that the getservent_r routine @@ -3865,8 +4752,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r * is defined. */ -/*#define HAS_GETSERVENT_R / **/ -#define GETSERVENT_R_PROTO 0 /**/ +/*#define HAS_GETSERVENT_R / **/ +#define GETSERVENT_R_PROTO 0 /**/ /* HAS_GETSPNAM_R: * This symbol, if defined, indicates that the getspnam_r routine @@ -3878,8 +4765,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getspnam_r * is defined. */ -/*#define HAS_GETSPNAM_R / **/ -#define GETSPNAM_R_PROTO 0 /**/ +/*#define HAS_GETSPNAM_R / **/ +#define GETSPNAM_R_PROTO 0 /**/ /* HAS_GMTIME_R: * This symbol, if defined, indicates that the gmtime_r routine @@ -3891,21 +4778,58 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r * is defined. */ -/*#define HAS_GMTIME_R / **/ -#define GMTIME_R_PROTO 0 /**/ +/*#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. */ +/* LOCALTIME_R_NEEDS_TZSET: + * Many libc's localtime_r implementations do not call tzset, + * making them differ from localtime(), and making timezone + * changes using $ENV{TZ} without explicitly calling tzset + * impossible. This symbol makes us call tzset before localtime_r + */ +/*#define LOCALTIME_R_NEEDS_TZSET / **/ +#ifdef LOCALTIME_R_NEEDS_TZSET +#define L_R_TZSET tzset(), +#else +#define L_R_TZSET +#endif + /* LOCALTIME_R_PROTO: * This symbol encodes the prototype of localtime_r. * It is zero if d_localtime_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r * is defined. */ -/*#define HAS_LOCALTIME_R / **/ -#define LOCALTIME_R_PROTO 0 /**/ +/*#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 @@ -3924,7 +4848,7 @@ /*#define HAS_PTHREAD_ATFORK / **/ /* HAS_PTHREAD_YIELD: - * This symbol, if defined, indicates that the pthread_yield + * This symbol, if defined, indicates that the pthread_yield * routine is available to yield the execution of the current * thread. sched_yield is preferable to pthread_yield. */ @@ -3952,8 +4876,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_random_r * is defined. */ -/*#define HAS_RANDOM_R / **/ -#define RANDOM_R_PROTO 0 /**/ +/*#define HAS_RANDOM_R / **/ +#define RANDOM_R_PROTO 0 /**/ /* HAS_READDIR64_R: * This symbol, if defined, indicates that the readdir64_r routine @@ -3965,8 +4889,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r * is defined. */ -/*#define HAS_READDIR64_R / **/ -#define READDIR64_R_PROTO 0 /**/ +/*#define HAS_READDIR64_R / **/ +#define READDIR64_R_PROTO 0 /**/ /* HAS_READDIR_R: * This symbol, if defined, indicates that the readdir_r routine @@ -3978,8 +4902,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir_r * is defined. */ -/*#define HAS_READDIR_R / **/ -#define READDIR_R_PROTO 0 /**/ +/*#define HAS_READDIR_R / **/ +#define READDIR_R_PROTO 0 /**/ /* HAS_SETGRENT_R: * This symbol, if defined, indicates that the setgrent_r routine @@ -3991,8 +4915,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setgrent_r * is defined. */ -/*#define HAS_SETGRENT_R / **/ -#define SETGRENT_R_PROTO 0 /**/ +/*#define HAS_SETGRENT_R / **/ +#define SETGRENT_R_PROTO 0 /**/ /* HAS_SETHOSTENT_R: * This symbol, if defined, indicates that the sethostent_r routine @@ -4004,8 +4928,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r * is defined. */ -/*#define HAS_SETHOSTENT_R / **/ -#define SETHOSTENT_R_PROTO 0 /**/ +/*#define HAS_SETHOSTENT_R / **/ +#define SETHOSTENT_R_PROTO 0 /**/ /* HAS_SETLOCALE_R: * This symbol, if defined, indicates that the setlocale_r routine @@ -4017,8 +4941,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r * is defined. */ -/*#define HAS_SETLOCALE_R / **/ -#define SETLOCALE_R_PROTO 0 /**/ +/*#define HAS_SETLOCALE_R / **/ +#define SETLOCALE_R_PROTO 0 /**/ /* HAS_SETNETENT_R: * This symbol, if defined, indicates that the setnetent_r routine @@ -4030,8 +4954,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r * is defined. */ -/*#define HAS_SETNETENT_R / **/ -#define SETNETENT_R_PROTO 0 /**/ +/*#define HAS_SETNETENT_R / **/ +#define SETNETENT_R_PROTO 0 /**/ /* HAS_SETPROTOENT_R: * This symbol, if defined, indicates that the setprotoent_r routine @@ -4043,8 +4967,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r * is defined. */ -/*#define HAS_SETPROTOENT_R / **/ -#define SETPROTOENT_R_PROTO 0 /**/ +/*#define HAS_SETPROTOENT_R / **/ +#define SETPROTOENT_R_PROTO 0 /**/ /* HAS_SETPWENT_R: * This symbol, if defined, indicates that the setpwent_r routine @@ -4056,8 +4980,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setpwent_r * is defined. */ -/*#define HAS_SETPWENT_R / **/ -#define SETPWENT_R_PROTO 0 /**/ +/*#define HAS_SETPWENT_R / **/ +#define SETPWENT_R_PROTO 0 /**/ /* HAS_SETSERVENT_R: * This symbol, if defined, indicates that the setservent_r routine @@ -4069,8 +4993,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r * is defined. */ -/*#define HAS_SETSERVENT_R / **/ -#define SETSERVENT_R_PROTO 0 /**/ +/*#define HAS_SETSERVENT_R / **/ +#define SETSERVENT_R_PROTO 0 /**/ /* HAS_SRAND48_R: * This symbol, if defined, indicates that the srand48_r routine @@ -4082,8 +5006,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r * is defined. */ -/*#define HAS_SRAND48_R / **/ -#define SRAND48_R_PROTO 0 /**/ +/*#define HAS_SRAND48_R / **/ +#define SRAND48_R_PROTO 0 /**/ /* HAS_SRANDOM_R: * This symbol, if defined, indicates that the srandom_r routine @@ -4095,8 +5019,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r * is defined. */ -/*#define HAS_SRANDOM_R / **/ -#define SRANDOM_R_PROTO 0 /**/ +/*#define HAS_SRANDOM_R / **/ +#define SRANDOM_R_PROTO 0 /**/ /* HAS_STRERROR_R: * This symbol, if defined, indicates that the strerror_r routine @@ -4108,8 +5032,20 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r * is defined. */ -/*#define HAS_STRERROR_R / **/ -#define STRERROR_R_PROTO 0 /**/ +/*#define HAS_STRERROR_R / **/ +#define STRERROR_R_PROTO 0 /**/ + +/* HAS_STRTOD_L: + * This symbol, if defined, indicates that the strtod_l routine is + * available to convert strings to long doubles. + */ +/*#define HAS_STRTOD_L / **/ + +/* 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 @@ -4121,8 +5057,8 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r * is defined. */ -/*#define HAS_TMPNAM_R / **/ -#define TMPNAM_R_PROTO 0 /**/ +/*#define HAS_TMPNAM_R / **/ +#define TMPNAM_R_PROTO 0 /**/ /* HAS_TTYNAME_R: * This symbol, if defined, indicates that the ttyname_r routine @@ -4134,18 +5070,18 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r * is defined. */ -/*#define HAS_TTYNAME_R / **/ -#define TTYNAME_R_PROTO 0 /**/ +/*#define HAS_TTYNAME_R / **/ +#define TTYNAME_R_PROTO 0 /**/ /* I_MACH_CTHREADS: - * This symbol, if defined, indicates to the C program that it should - * include . + * This symbol, if defined, indicates to the C program that it should + * include . */ /*#define I_MACH_CTHREADS / **/ /* I_PTHREAD: - * This symbol, if defined, indicates to the C program that it should - * include . + * This symbol, if defined, indicates to the C program that it should + * include . */ /*#define I_PTHREAD / **/ @@ -4156,6 +5092,7 @@ /* USE_5005THREADS: * This symbol, if defined, indicates that Perl should be built to * use the 5.005-based threading implementation. + * Only valid up to 5.8.x. */ /* OLD_PTHREADS_API: * This symbol, if defined, indicates that Perl should @@ -4188,7 +5125,7 @@ /* 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 . + * use getrusage(). It may be necessary to include . */ /*#define HAS_TIMES / **/ @@ -4205,7 +5142,7 @@ #define Gid_t_f "lu" /**/ /* 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 1 /* GID sign */ @@ -4240,7 +5177,7 @@ #define Off_t_size 4 /* size */ /* Mode_t: - * This symbol holds the type used to declare file modes + * This symbol holds the type used to declare file modes * for systems calls. It is usually mode_t, but may be * int or unsigned short. It may be necessary to include * to get any typedef'ed information. @@ -4257,7 +5194,7 @@ /* Size_t_size: * This symbol holds the size of a Size_t in bytes. */ -#define Size_t_size 4 /* */ +#define Size_t_size 4 /**/ /* Size_t: * This symbol holds the type used to declare length parameters @@ -4265,7 +5202,7 @@ * unsigned long, int, etc. It may be necessary to include * to get any typedef'ed information. */ -#define Size_t int /* length paramater for string functions */ +#define Size_t size_t /* length parameter for string functions */ /* Uid_t_f: * This symbol defines the format string used for printing a Uid_t. @@ -4273,7 +5210,7 @@ #define Uid_t_f "lu" /**/ /* 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 1 /* UID sign */ @@ -4291,3 +5228,8 @@ #define Uid_t int /* UID type */ #endif + +/* Generated from: + * 86429d6dea8cb2d81b30da9d916693eb4c04ebeb21969c8df6f470ac77cd5c92 config_h.SH + * fd30f4a36ebf71b0b366649cee58bb37d9d61863201e087e8f40e4ceae0abf1d uconfig.sh + * ex: set ro: */