X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/7800d569f0a4112af6e99b3247deab54389a0025..HEAD:/plan9/config.plan9 diff --git a/plan9/config.plan9 b/plan9/config.plan9 index 09fbc98..a59a189 100644 --- a/plan9/config.plan9 +++ b/plan9/config.plan9 @@ -2,12 +2,12 @@ * This file is mangled by fndvers (and perhaps other scripts) to produce * the config.h for Plan 9. It was handwritten because the standard * configuration scripts were written in a shell dialect incomprehensible - * to Plan 9. + * to Plan 9. * config.h for Plan 9 - * Version: 5.8.0 - */ + * Version: blead + */ -/* Configuration time: 21-Oct-1996 15:11 +/* First configuration time: 21-Oct-1996 15:11 * Configured by: Luther Huffman, lutherh@stratcom.com * Target system: Plan 9 */ @@ -18,19 +18,46 @@ * */ +/* Last configuration time: June 2020 + * Configured by: David Romano, unobe@cpan.org + * Target system: Plan 9/9front + */ + #ifndef _config_h_ #define _config_h_ +/* CHARBITS: + * This symbol contains the size of a char, so that the C preprocessor + * can make decisions based on it. + */ +#define CHARBITS 8 /**/ + + /* CAT2: * This macro catenates 2 tokens together. */ -#define CAT2(a,b)a ## b +#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_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 catenate tokens?" +#endif + #define CAT3(a,b,c)a ## b ## c #define CAT4(a,b,c,d)a ## b ## c ## d #define CAT5(a,b,c,d,e)a ## b ## c ## d ## e -#define StGiFy(a)# a -#define STRINGIFY(a)StGiFy(a) #define SCAT2(a,b)StGiFy(a) StGiFy(b) #define SCAT3(a,b,c)StGiFy(a) StGiFy(b) StGiFy(c) #define SCAT4(a,b,c,d)StGiFy(a) StGiFy(b) StGiFy(c) StGiFy(d) @@ -52,16 +79,22 @@ # endif #endif -/* BIN: - * This symbol holds the path of the bin directory where the package will - * be installed. Program must be prepared to deal with ~name substitution. - */ -/* BIN_EXP: - * This symbol is the filename expanded version of the BIN symbol, for - * programs that do not want to deal with that at run-time. +/* 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 + * 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. */ -#define BIN "/_P9P_OBJTYPE/bin" /* */ -#define BIN_EXP "/_P9P_OBJTYPE/bin" /* */ /* LOC_SED: * This symbol holds the complete pathname to the sed program. @@ -108,18 +141,7 @@ * This symbol, if defined, indicates that the chsize routine is available * to truncate files. You might need a -lx to get this routine. */ -/*#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. - */ -#define HASCONST /**/ -#ifndef HASCONST -#define const -#endif +/*#define HAS_CHSIZE / **/ /* HAS_CUSERID: * This symbol, if defined, indicates that the cuserid routine is @@ -213,7 +235,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. */ @@ -277,7 +299,7 @@ /* HAS_MBLEN: * This symbol, if defined, indicates that the mblen routine is available - * to find the number of bytes in a multibye character. + * to find the number of bytes in a multibyte character. */ #define HAS_MBLEN /**/ @@ -285,7 +307,7 @@ * This symbol, if defined, indicates that the mbstowcs routine is * available to covert a multibyte string into a wide character string. */ -#define HAS_MBSTOWCS /**/ +#define HAS_MBSTOWCS /**/ /* HAS_MBTOWC: * This symbol, if defined, indicates that the mbtowc routine is available @@ -513,7 +535,7 @@ * This symbol, if defined, indicates that the strtod routine is * available to provide better numeric string conversion than atof(). */ -#define HAS_STRTOD /**/ +/*#define HAS_STRTOD /**/ /* HAS_STRTOL: * This symbol, if defined, indicates that the strtol routine is available @@ -614,7 +636,7 @@ * This symbol, if defined, indicates to the C program that it should * include to get inet_addr and friends declarations. */ -#define I_ARPA_INET /**/ +#define I_ARPA_INET /**/ /* I_DBM: * This symbol, if defined, indicates that exists and should @@ -662,10 +684,10 @@ * This symbol, if defined, indicates to the C program that it should * include . */ -#define I_LOCALE /**/ +#define I_LOCALE /**/ /* I_NET_ERRNO: - * This symbol, if defined, indicates that exists and + * This symbol, if defined, indicates that exists and * should be included. */ /*#define I_NET_ERRNO /* config-skip */ @@ -696,7 +718,7 @@ * This symbol, if defined, indicates the should be included * to get socket ioctl options, like SIOCATMARK. */ -#define I_SYS_IOCTL /**/ +#define I_SYS_IOCTL /**/ /*#define I_SYS_SOCKIO / **/ /* I_SYS_NDIR: @@ -728,19 +750,19 @@ * This symbol, if defined, indicates to the C program that it should * include . */ -#define I_SYS_STAT /**/ +#define I_SYS_STAT /**/ /* I_SYS_TIMES: * This symbol, if defined, indicates to the C program that it should * include . */ -#define I_SYS_TIMES /**/ +#define I_SYS_TIMES /**/ /* I_SYS_TYPES: * This symbol, if defined, indicates to the C program that it should * include . */ -#define I_SYS_TYPES /**/ +#define I_SYS_TYPES /**/ /* I_SYS_UN: * This symbol, if defined, indicates to the C program that it should @@ -876,17 +898,6 @@ */ #define PLAN9 /**/ -/* 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. - */ -#if defined(MULTIARCH) -# define MEM_ALIGNBYTES 8 -#else -#define MEM_ALIGNBYTES 4 -#endif - /* ARCHLIB: * This variable, if defined, holds the name of the directory in * which the user wants to put architecture-dependent public @@ -931,8 +942,8 @@ * This symbol is the filename expanded version of the BIN symbol, for * programs that do not want to deal with that at run-time. */ -#define BIN "/usr/bin" /**/ -#define BIN_EXP "/usr/bin" /**/ +#define BIN "/_P9P_OBJTYPE/bin" /* */ +#define BIN_EXP "/_P9P_OBJTYPE/bin" /* */ /* BYTEORDER: * This symbol holds the hexadecimal constant defined in byteorder, @@ -977,30 +988,6 @@ #define BYTEORDER 0x1234 /* large digits for MSB */ #endif /* NeXT */ -/* CAT2: - * This macro catenates 2 tokens together. - */ -/* STRINGIFY: - * This macro surrounds its token with double quotes. - */ -#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_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?" -#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 @@ -1061,7 +1048,7 @@ * This symbol is defined if the C compiler can cast negative * or large floating point numbers to 32-bit ints. */ -/*#define CASTI32 / **/ +/*#define CASTI32 / **/ /* CASTNEGFLOAT: * This symbol is defined if the C compiler can cast negative @@ -1075,7 +1062,7 @@ * 2 = couldn't cast >= 0x80000000 * 4 = couldn't cast in argument expression list */ -/*#define CASTNEGFLOAT /* config-skip */ +/*#define CASTNEGFLOAT /* config-skip */ #if _P9P_OBJTYPE == 386 # define CASTFLAGS 3 /**/ /* config-skip */ #else @@ -1176,7 +1163,7 @@ * to the program to supply one. A good guess is * extern double drand48(void); */ -/*#define HAS_DRAND48_PROTO / **/ +/*#define HAS_DRAND48_PROTO / **/ /* HAS_ENDGRENT: * This symbol, if defined, indicates that the getgrent routine is @@ -1282,7 +1269,7 @@ * This symbol, if defined, indicates that the system supports filenames * longer than 14 characters. */ -#define FLEXFILENAMES /**/ +#define FLEXFILENAMES /**/ /* HAS_FP_CLASS: * This symbol, if defined, indicates that the fp_class routine is @@ -1322,7 +1309,8 @@ /* HAS_FPCLASSIFY: * This symbol, if defined, indicates that the fpclassify routine is - * available to classify doubles. Available for example in HP-UX. + * available to classify doubles. Available for example in HP-UX and + * Plan9/9front. * The returned values are defined in and are * * FP_NORMAL Normalized @@ -1332,12 +1320,12 @@ * FP_NAN NaN * */ -/*#define HAS_FPCLASSIFY / **/ +#define HAS_FPCLASSIFY / **/ /* 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 @@ -1510,7 +1498,7 @@ * gethostbyaddr(). Otherwise, it is up to the program to guess * them. See netdbtype.U for probing for various Netdb_xxx_t types. */ -/*#define HAS_GETHOST_PROTOS / **/ +/*#define HAS_GETHOST_PROTOS / **/ /* HAS_GETITIMER: * This symbol, if defined, indicates that the getitimer routine is @@ -1567,7 +1555,7 @@ * getnetbyaddr(). Otherwise, it is up to the program to guess * them. See netdbtype.U for probing for various Netdb_xxx_t types. */ -/*#define HAS_GETNET_PROTOS / **/ +/*#define HAS_GETNET_PROTOS / **/ /* HAS_GETPAGESIZE: * This symbol, if defined, indicates that the getpagesize system call @@ -1610,7 +1598,7 @@ * getprotobyaddr(). Otherwise, it is up to the program to guess * them. See netdbtype.U for probing for various Netdb_xxx_t types. */ -/*#define HAS_GETPROTO_PROTOS / **/ +/*#define HAS_GETPROTO_PROTOS / **/ /* HAS_GETPRPWNAM: * This symbol, if defined, indicates that the getprpwnam system call is @@ -1676,7 +1664,7 @@ * getservbyaddr(). Otherwise, it is up to the program to guess * them. See netdbtype.U for probing for various Netdb_xxx_t types. */ -/*#define HAS_GETSERV_PROTOS / **/ +/*#define HAS_GETSERV_PROTOS / **/ /* HAS_GETSPNAM: * This symbol, if defined, indicates that the getspnam system call is @@ -1718,11 +1706,11 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r * is defined. */ -/*#define HAS_GMTIME_R / **/ +#define HAS_GMTIME_R / **/ #define GMTIME_R_PROTO 0 /**/ /* 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. */ @@ -1775,7 +1763,7 @@ #define HAS_INT64_T /**/ /* 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 / **/ @@ -1835,29 +1823,68 @@ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r * is defined. */ -/*#define HAS_LOCALTIME_R / **/ -/*#define LOCALTIME_R_NEEDS_TZSET / **/ +#define HAS_LOCALTIME_R +#define LOCALTIME_R_NEEDS_TZSET / **/ #define LOCALTIME_R_PROTO 0 /**/ - +#ifdef LOCALTIME_R_NEEDS_TZSET +#define L_R_TZSET tzset(), +#else +#define L_R_TZSET +#endif /* HAS_LONG_DOUBLE: * This symbol will be defined if the C compiler supports long * 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. - */ -#define HAS_LONG_DOUBLE /**/ + * 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_UNKNOWN_FORMAT + * It is only defined if the system supports long doubles. + */ +/*#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_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 */ #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. */ @@ -1872,7 +1899,7 @@ * to the program to supply one. A good guess is * extern off_t lseek(int, off_t, int); */ -/*#define HAS_LSEEK_PROTO / **/ +/*#define HAS_LSEEK_PROTO / **/ /* HAS_MADVISE: * This symbol, if defined, indicates that the madvise system call is @@ -1940,7 +1967,7 @@ /* HAS_OFF64_T: * This symbol will be defined if the C compiler supports off64_t. */ -/*#define HAS_OFF64_T / **/ +/*#define HAS_OFF64_T / **/ /* HAS_OPEN3: * This manifest constant lets the C program know that the three @@ -1959,7 +1986,7 @@ /*#define OLD_PTHREAD_CREATE_JOINABLE / **/ /* 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. */ @@ -2023,7 +2050,7 @@ * extern void* sbrk(int); * extern void* sbrk(size_t); */ -/*#define HAS_SBRK_PROTO / **/ +/*#define HAS_SBRK_PROTO / **/ /* HAS_SEM: * This symbol, if defined, indicates that the entire sem*(2) library is @@ -2215,8 +2242,8 @@ * This symbol, if defined, indicates that the BSD socketpair() call is * supported. */ -#define HAS_SOCKET /**/ -#define HAS_SOCKETPAIR /**/ +#define HAS_SOCKET /**/ +#define HAS_SOCKETPAIR /**/ /* HAS_SOCKS5_INIT: * This symbol, if defined, indicates that the socks5_init routine is @@ -2419,7 +2446,7 @@ * to the program to supply one. A good guess is * extern long telldir(DIR*); */ -/*#define HAS_TELLDIR_PROTO / **/ +/*#define HAS_TELLDIR_PROTO / **/ /* HAS_TIME: * This symbol, if defined, indicates that the time() routine exists. @@ -2528,7 +2555,7 @@ * This symbol, if defined, indicates that this system uses * EBCDIC encoding. */ -/*#define EBCDIC / **/ +/*#define EBCDIC / **/ /* FFLUSH_NULL: * This symbol, if defined, tells that fflush(NULL) does flush @@ -2541,8 +2568,8 @@ * 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 / **/ /* Fpos_t: * This symbol holds the type used to declare file positions in libc. @@ -2554,7 +2581,7 @@ /* Gid_t_f: * This symbol defines the format string used for printing a Gid_t. */ -#define Gid_t_f "hd" /**/ +#define Gid_t_f "hd" /**/ /* Gid_t_sign: * This symbol holds the signedess of a Gid_t. @@ -2580,8 +2607,8 @@ * 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 + * 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().. */ @@ -2623,7 +2650,7 @@ * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_FP_CLASS / **/ +/*#define I_FP_CLASS / **/ /* I_GRP: * This symbol, if defined, indicates to the C program that it should @@ -2640,7 +2667,7 @@ * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_IEEEFP / **/ +/*#define I_IEEEFP / **/ /* I_INTTYPES: * This symbol, if defined, indicates to the C program that it should @@ -2652,7 +2679,7 @@ * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_LIBUTIL / **/ +/*#define I_LIBUTIL / **/ /* I_MACH_CTHREADS: * This symbol, if defined, indicates to the C program that it should @@ -2664,7 +2691,7 @@ * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_MNTENT / **/ +/*#define I_MNTENT / **/ /* I_NETDB: * This symbol, if defined, indicates that exists and @@ -2682,13 +2709,13 @@ * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_POLL / **/ +/*#define I_POLL / **/ /* I_PROT: * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_PROT / **/ +/*#define I_PROT / **/ /* I_PTHREAD: * This symbol, if defined, indicates to the C program that it should @@ -2742,70 +2769,76 @@ /*#define PWGECOS / **/ /*#define PWPASSWD / **/ +/* 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. */ -/*#define I_SHADOW / **/ +/*#define I_SHADOW / **/ /* I_SOCKS: * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_SOCKS / **/ +/*#define I_SOCKS / **/ /* I_SUNMATH: * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_SUNMATH / **/ +/*#define I_SUNMATH / **/ /* I_SYSLOG: * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_SYSLOG / **/ +/*#define I_SYSLOG / **/ /* I_SYSMODE: * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_SYSMODE / **/ +/*#define I_SYSMODE / **/ /* I_SYS_MOUNT: * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_SYS_MOUNT / **/ +/*#define I_SYS_MOUNT / **/ /* I_SYS_STATFS: * This symbol, if defined, indicates that exists. */ -/*#define I_SYS_STATFS / **/ +/*#define I_SYS_STATFS / **/ /* I_SYS_STATVFS: * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_SYS_STATVFS / **/ +/*#define I_SYS_STATVFS / **/ /* I_SYSUIO: * This symbol, if defined, indicates that exists and * should be included. */ -#define I_SYSUIO /**/ +#define I_SYSUIO /**/ /* I_SYSUTSNAME: * This symbol, if defined, indicates that exists and * should be included. */ -#define I_SYSUTSNAME /**/ +#define I_SYSUTSNAME /**/ /* I_SYS_VFS: * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_SYS_VFS / **/ +/*#define I_SYS_VFS / **/ /* Plan 9: P9 has both and */ /* I_TIME: @@ -2836,7 +2869,7 @@ * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_USTAT / **/ +/*#define I_USTAT / **/ /* PERL_INC_VERSION_LIST: * This variable specifies the list of subdirectories in over @@ -2853,6 +2886,27 @@ */ /*#define INSTALL_USR_BIN_PERL / **/ +/* 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 0xe2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0x7f /**/ +#define DOUBLENANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f /**/ +#define LONGDBLINFBYTES 0xe2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0x7f /**/ +#define LONGDBLNANBYTES 0x00, 0x00, 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. @@ -2905,7 +2959,7 @@ #define MYMALLOC /**/ /* 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. @@ -2948,7 +3002,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 / **/ /* Netdb_host_t: * This symbol holds the type used for the 1st argument @@ -3055,34 +3109,46 @@ * This symbol contains the number of bits a variable of type NVTYPE * can preserve of a variable of type UVTYPE. */ -#define IVTYPE long /**/ -#define UVTYPE unsigned long /**/ -#define I8TYPE char /**/ -#define U8TYPE unsigned char /**/ -#define I16TYPE short /**/ -#define U16TYPE unsigned short /**/ -#define I32TYPE long /**/ -#define U32TYPE unsigned long /**/ +/* 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 decimale/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 U8TYPE unsigned char /**/ +#define I16TYPE short /**/ +#define U16TYPE unsigned short /**/ +#define I32TYPE long /**/ +#define U32TYPE unsigned long /**/ #ifdef HAS_QUAD -#define I64TYPE long long /**/ -#define U64TYPE unsigned long long /**/ +#define I64TYPE long long /**/ +#define U64TYPE unsigned long long /**/ #endif -#define NVTYPE double /**/ -#define IVSIZE 4 /**/ -#define UVSIZE 4 /**/ -#define I8SIZE 1 /**/ -#define U8SIZE 1 /**/ -#define I16SIZE 2 /**/ -#define U16SIZE 2 /**/ -#define I32SIZE 4 /**/ -#define U32SIZE 4 /**/ +#define NVTYPE double /**/ +#define IVSIZE 4 /**/ +#define UVSIZE 4 /**/ +#define I8SIZE 1 /**/ +#define U8SIZE 1 /**/ +#define I16SIZE 2 /**/ +#define U16SIZE 2 /**/ +#define I32SIZE 4 /**/ +#define U32SIZE 4 /**/ #ifdef HAS_QUAD -#define I64SIZE 8 /**/ -#define U64SIZE 8 /**/ +#define I64SIZE 8 /**/ +#define U64SIZE 8 /**/ #endif -#define NVSIZE 8 /**/ -/*#define NV_PRESERVES_UV -#define NV_PRESERVES_UV_BITS 31 +#define NVSIZE 8 /**/ +#define NV_PRESERVES_UV +#define NV_PRESERVES_UV_BITS 31 +#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 /* IVdf: * This symbol defines the format string used for printing a Perl IV @@ -3116,14 +3182,39 @@ * This symbol defines the format string used for printing a Perl NV * using %g-ish floating point format. */ -#define IVdf "ld" /**/ -#define UVuf "lu" /**/ -#define UVof "lo" /**/ -#define UVxf "lx" /**/ -#define UVXf "lX" /**/ -#define NVef "e" /**/ -#define NVff "f" /**/ -#define NVgf "g" /**/ +/* I32df: + * This symbol defines the format string used for printing a Perl I32 + * as a signed decimal integer. + */ +/* U32uf: + * This symbol defines the format string used for printing a Perl U32 + * as an unsigned decimal integer. + */ +/* U32of: + * This symbol defines the format string used for printing a Perl U32 + * as an unsigned octal integer. + */ +/* U32xf: + * This symbol defines the format string used for printing a Perl U32 + * as an unsigned hexadecimal integer in lowercase abcdef. + */ +/* U32Xf: + * This symbol defines the format string used for printing a Perl U32 + * as an unsigned hexadecimal integer in uppercase ABCDEF. + */ +#define IVdf "ld" /**/ +#define UVuf "lu" /**/ +#define UVof "lo" /**/ +#define UVxf "lx" /**/ +#define UVXf "lX" /**/ +#define NVef "e" /**/ +#define NVff "f" /**/ +#define NVgf "g" /**/ +#define I32df "ld" /**/ +#define U32uf "lu" /**/ +#define U32of "lo" /**/ +#define U32xf "lx" /**/ +#define U32Xf "lX" /**/ /* Pid_t: * This symbol holds the type used to declare process ids in the kernel. @@ -3142,8 +3233,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 "/sys/lib/perl/5.27.11" /**/ -#define PRIVLIB_EXP "/sys/lib/perl/5.27.11" /**/ +#define PRIVLIB "/sys/lib/perl/_P9P_VERSION" /**/ +#define PRIVLIB_EXP "/sys/lib/perl/_P9P_VERSION" /**/ /* PTRSIZE: * This symbol contains the size of a pointer, so that the C preprocessor @@ -3190,7 +3281,7 @@ /* 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 fd_set* /**/ @@ -3216,10 +3307,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 list. */ @@ -3270,9 +3361,9 @@ * 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 "/sys/lib/perl/5.27.11/site_perl" /**/ -#define SITELIB_EXP "/sys/lib/perl/5.27.11/site_perl" /**/ -#define SITELIB_STEM "/sys/lib/perl/5.27.11/site_perl" /**/ +#define SITELIB "/sys/lib/perl/_P9P_VERSION/site_perl" /**/ +#define SITELIB_EXP "/sys/lib/perl/_P9P_VERSION/site_perl" /**/ +#define SITELIB_STEM "/sys/lib/perl/_P9P_VERSION/site_perl" /**/ /* Size_t_size: * This symbol holds the size of a Size_t in bytes. @@ -3308,7 +3399,7 @@ * script to make sure (one hopes) that it runs with perl and not * some shell. */ -#define STARTPERL "#!/bin/perl" /**/ +#define STARTPERL "#!/bin/perl-_P9P_VERSION" /**/ /* STDCHAR: * This symbol is defined to be the type of char used in stdio.h. @@ -3324,13 +3415,13 @@ * This symbol tells the name of the array holding the stdio streams. * Usual values include _iob, __iob, and __sF. */ -/*#define HAS_STDIO_STREAM_ARRAY / **/ +/*#define HAS_STDIO_STREAM_ARRAY / **/ #define STDIO_STREAM_ARRAY /* Uid_t_f: * This symbol defines the format string used for printing a Uid_t. */ -#define Uid_t_f "hd" /**/ +#define Uid_t_f "hd" /**/ /* Uid_t_sign: * This symbol holds the signedess of a Uid_t. @@ -3350,6 +3441,27 @@ */ #define Uid_t uid_t /* UID type */ +/* 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 * be used when available. If not defined, the native integers @@ -3369,11 +3481,11 @@ * you may need at least to reboot your OS to 64-bit mode. */ #ifndef USE_64_BIT_INT -/*#define USE_64_BIT_INT / **/ +/*#define USE_64_BIT_INT / **/ #endif #ifndef USE_64_BIT_ALL -/*#define USE_64_BIT_ALL / **/ +/*#define USE_64_BIT_ALL / **/ #endif /* USE_FAST_STDIO: @@ -3382,7 +3494,7 @@ * Defaults to define in Perls 5.8 and earlier, to undef later. */ #ifndef USE_FAST_STDIO -/*#define USE_FAST_STDIO / **/ +/*#define USE_FAST_STDIO / **/ #endif /* USE_LARGE_FILES: @@ -3390,7 +3502,7 @@ * should be used when available. */ #ifndef USE_LARGE_FILES -#define USE_LARGE_FILES /**/ +#define USE_LARGE_FILES /**/ #endif /* USE_LONG_DOUBLE: @@ -3398,7 +3510,7 @@ * be used when available. */ #ifndef USE_LONG_DOUBLE -/*#define USE_LONG_DOUBLE / **/ +/*#define USE_LONG_DOUBLE / **/ #endif /* USE_MORE_BITS: @@ -3406,7 +3518,7 @@ * long doubles should be used when available. */ #ifndef USE_MORE_BITS -/*#define USE_MORE_BITS / **/ +/*#define USE_MORE_BITS / **/ #endif /* MULTIPLICITY: @@ -3414,7 +3526,7 @@ * be built to use multiplicity. */ #ifndef MULTIPLICITY -/*#define MULTIPLICITY / **/ +/*#define MULTIPLICITY / **/ #endif /* USE_PERLIO: @@ -3423,7 +3535,15 @@ * used in a fully backward compatible manner. */ #ifndef USE_PERLIO -#define USE_PERLIO /**/ +#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: @@ -3431,17 +3551,13 @@ * be built to use socks. */ #ifndef USE_SOCKS -/*#define USE_SOCKS / **/ +/*#define USE_SOCKS / **/ #endif /* USE_ITHREADS: * This symbol, if defined, indicates that Perl should be built to * use the interpreter-based threading implementation. */ -/* USE_5005THREADS: - * This symbol, if defined, indicates that Perl should be built to - * use the 5.005-based threading implementation. - */ /* OLD_PTHREADS_API: * This symbol, if defined, indicates that Perl should * be built to use the old draft POSIX threads API. @@ -3451,23 +3567,20 @@ * try to use the various _r versions of library functions. * This is extremely experimental. */ -/*#define USE_5005THREADS / **/ -/*#define USE_ITHREADS / **/ -#if defined(USE_5005THREADS) && !defined(USE_ITHREADS) -#define USE_THREADS /* until src is revised*/ -#endif -/*#define OLD_PTHREADS_API / **/ -/*#define USE_REENTRANT_API / **/ +/*#define USE_ITHREADS / **/ +/*#define USE_THREADS / **/ +/*#define OLD_PTHREADS_API / **/ +/*#define USE_REENTRANT_API / **/ /* 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: @@ -3552,8 +3665,8 @@ * Perl has been cross-compiled to. Undefined if not a cross-compile. */ #ifndef USE_CROSS_COMPILE -/*#define USE_CROSS_COMPILE / **/ -#define PERL_TARGETARCH "" /**/ +/*#define USE_CROSS_COMPILE / **/ +#define PERL_TARGETARCH "" /**/ #endif /* HAS_COPYSIGNL: @@ -3574,7 +3687,7 @@ * to the program to supply one. A good guess is * extern int dbminit(char *); */ -/*#define HAS_DBMINIT_PROTO / **/ +/*#define HAS_DBMINIT_PROTO / **/ /* HAS_DIRFD: * This manifest constant lets the C program know that dirfd @@ -3588,7 +3701,7 @@ * to the program to supply one. A good guess is * extern int flock(int, int); */ -/*#define HAS_FLOCK_PROTO / **/ +/*#define HAS_FLOCK_PROTO / **/ /* HAS_FPCLASSL: * This symbol, if defined, indicates that the fpclassl routine is @@ -3655,7 +3768,7 @@ * to the program to supply one. A good guess is * extern int sockatmark(int); */ -/*#define HAS_SOCKATMARK_PROTO / **/ +/*#define HAS_SOCKATMARK_PROTO / **/ /* HAS_SETRESGID_PROTO: * This symbol, if defined, indicates that the system provides @@ -3663,7 +3776,7 @@ * to the program to supply one. Good guesses are * extern int setresgid(uid_t ruid, uid_t euid, uid_t suid); */ -/*#define HAS_SETRESGID_PROTO / **/ +/*#define HAS_SETRESGID_PROTO / **/ /* HAS_SETRESUID_PROTO: * This symbol, if defined, indicates that the system provides @@ -3671,7 +3784,7 @@ * to the program to supply one. Good guesses are * extern int setresuid(uid_t ruid, uid_t euid, uid_t suid); */ -/*#define HAS_SETRESUID_PROTO / **/ +/*#define HAS_SETRESUID_PROTO / **/ /* HAS_STRFTIME: * This symbol, if defined, indicates that the strftime routine is @@ -3686,7 +3799,7 @@ * extern int syscall(int, ...); * extern int syscall(long, ...); */ -/*#define HAS_SYSCALL_PROTO / **/ +/*#define HAS_SYSCALL_PROTO / **/ /* U32_ALIGNMENT_REQUIRED: * This symbol, if defined, indicates that you must access @@ -3702,25 +3815,25 @@ * to the program to supply one. A good guess is * extern int usleep(useconds_t); */ -/*#define HAS_USLEEP_PROTO / **/ +/*#define HAS_USLEEP_PROTO / **/ /* I_CRYPT: * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_CRYPT / **/ +/*#define I_CRYPT / **/ /* I_FP: * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_FP / **/ +/*#define I_FP / **/ /* I_LANGINFO: * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_LANGINFO / **/ +/*#define I_LANGINFO / **/ /* HAS_CTERMID_R: * This symbol, if defined, indicates that the ctermid_r routine