X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=config_h.SH;h=7e0f25af9ddfccf971acb2884ef6f6245c58760d;hb=39eb404022bff33467711717d8de9566914a79f1;hp=7047dfaef373e0cfb7b83322664bb10fc1921669;hpb=ff49bff8f179cd4f0cb16d6811e862f772f03ee0;p=p5sagit%2Fp5-mst-13.2.git diff --git a/config_h.SH b/config_h.SH index 7047dfa..7e0f25a 100644 --- a/config_h.SH +++ b/config_h.SH @@ -44,17 +44,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #define LOC_SED "$full_sed" /**/ -/* 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. - */ -#define BIN "$bin" /**/ -#define BIN_EXP "$binexp" /**/ - /* HAS_ALARM: * This symbol, if defined, indicates that the alarm routine is * available. @@ -242,27 +231,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$d_getgrps HAS_GETGROUPS /**/ -/* HAS_GETHOSTNAME: - * This symbol, if defined, indicates that the C program may use the - * gethostname() routine to derive the host name. See also HAS_UNAME - * and PHOSTNAME. - */ -/* HAS_UNAME: - * This symbol, if defined, indicates that the C program may use the - * uname() routine to derive the host name. See also HAS_GETHOSTNAME - * and PHOSTNAME. - */ -/* PHOSTNAME: - * This symbol, if defined, indicates that the C program may use the - * contents of PHOSTNAME as a command to feed to the popen() routine - * to derive the host name. See also HAS_GETHOSTNAME and HAS_UNAME. - * Note that the command uses a fully qualified path, so that it is safe - * even if used by a process with super-user privileges. - */ -#$d_gethname HAS_GETHOSTNAME /**/ -#$d_uname HAS_UNAME /**/ -#$d_phostname PHOSTNAME "$aphostname" /* How to get the host name */ - /* HAS_GETLOGIN: * This symbol, if defined, indicates that the getlogin routine is * available to get the login name. @@ -408,18 +376,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$d_mktime HAS_MKTIME /**/ -/* HAS_MSYNC: - * This symbol, if defined, indicates that the msync system call is - * available to synchronize a mapped file. - */ -#$d_msync HAS_MSYNC /**/ - -/* HAS_MUNMAP: - * This symbol, if defined, indicates that the munmap system call is - * available to unmap a region, usually mapped by mmap(). - */ -#$d_munmap HAS_MUNMAP /**/ - /* HAS_NICE: * This symbol, if defined, indicates that the nice routine is * available. @@ -726,11 +682,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$d_umask HAS_UMASK /**/ -/* HAS_VFORK: - * This symbol, if defined, indicates that vfork() exists. - */ -#$d_vfork HAS_VFORK /**/ - /* HASVOLATILE: * This symbol, if defined, indicates that this C compiler knows about * the volatile declaration. @@ -1047,6 +998,22 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #define STDCHAR $stdchar /**/ +/* 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. + */ +#$d_quad HAS_QUAD /**/ +#ifdef HAS_QUAD +# define Quad_t $quadtype /**/ +# define Uquad_t $uquadtype /**/ +# define QUADKIND $quadkind /**/ +# define QUAD_IS_INT 1 +# define QUAD_IS_LONG 2 +# define QUAD_IS_LONG_LONG 3 +# define QUAD_IS_INT64_T 4 +#endif + /* HAS_ACCESSX: * This symbol, if defined, indicates that the accessx routine is * available to do extended access checks. @@ -1071,20 +1038,54 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$i_syssecrt I_SYS_SECURITY /**/ +/* CROSSCOMPILE: + * This symbol, if defined, signifies that we our + * build process is a cross-compilation. + */ +#$crosscompile CROSSCOMPILE /**/ + +/* INTSIZE: + * This symbol contains the value of sizeof(int) so that the C + * preprocessor can make decisions based on it. + */ +/* LONGSIZE: + * This symbol contains the value of sizeof(long) so that the C + * preprocessor can make decisions based on it. + */ +/* SHORTSIZE: + * This symbol contains the value of sizeof(short) so that the C + * preprocessor can make decisions based on it. + */ +#define INTSIZE $intsize /**/ +#define LONGSIZE $longsize /**/ +#define SHORTSIZE $shortsize /**/ + +/* MULTIARCH: + * This symbol, if defined, signifies that the build + * process will produce some binary files that are going to be + * used in a cross-platform environment. This is the case for + * example with the NeXT "fat" binaries that contain executables + * for several CPUs. + */ +#$multiarch MULTIARCH /**/ + /* MEM_ALIGNBYTES: - * This symbol contains the number of bytes required to align a - * double. Usual values are 2, 4 and 8. - * On NeXT starting with 3.2, you can build "Fat" Multiple Architecture - * Binaries (MAB) for targets with varying alignment. 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. - * The default is eight, for safety. + * This symbol contains the number of bytes required to align a + * double. Usual values are 2, 4 and 8. The default is eight, + * for safety. */ -#define MEM_ALIGNBYTES $alignbytes /**/ +#if defined(CROSSCOMPILE) || defined(MULTIARCH) +# define MEM_ALIGNBYTES 8 +#else +#define MEM_ALIGNBYTES $alignbytes +#endif /* BYTEORDER: * This symbol holds the hexadecimal constant defined in byteorder, * i.e. 0x1234 or 0x4321, 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 @@ -1095,14 +1096,31 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- * so the default case (for NeXT) is big endian to catch them. * This might matter for NeXT 3.0. */ -#ifndef NeXT +#if defined(CROSSCOMPILE) || defined(MULTIARCH) +# ifdef __LITTLE_ENDIAN__ +# if LONGSIZE == 4 +# define BYTEORDER 0x1234 +# else +# if LONGSIZE == 8 +# define BYTEORDER 0x12345678 +# endif +# endif +# else +# ifdef __BIG_ENDIAN__ +# if LONGSIZE == 4 +# define BYTEORDER 0x4321 +# else +# if LONGSIZE == 8 +# define BYTEORDER 0x87654321 +# endif +# endif +# endif +# endif +# if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__)) +# define BYTEORDER 0x4321 +# endif +#else #define BYTEORDER 0x$byteorder /* large digits for MSB */ -#else /* NeXT */ -#ifdef __LITTLE_ENDIAN__ -#define BYTEORDER 0x1234 -#else /* __BIG_ENDIAN__ */ -#define BYTEORDER 0x4321 -#endif /* ENDIAN CHECK */ #endif /* NeXT */ /* CASTI32: @@ -1334,22 +1352,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- #$i_systime I_SYS_TIME /**/ #$i_systimek I_SYS_TIME_KERNEL /**/ -/* INTSIZE: - * This symbol contains the value of sizeof(int) so that the C - * preprocessor can make decisions based on it. - */ -/* LONGSIZE: - * This symbol contains the value of sizeof(long) so that the C - * preprocessor can make decisions based on it. - */ -/* SHORTSIZE: - * This symbol contains the value of sizeof(short) so that the C - * preprocessor can make decisions based on it. - */ -#define INTSIZE $intsize /**/ -#define LONGSIZE $longsize /**/ -#define SHORTSIZE $shortsize /**/ - /* VAL_O_NONBLOCK: * This symbol is to be used during open() or fcntl(F_SETFL) to turn on * non-blocking I/O for the file descriptor. Note that there is no way @@ -1426,6 +1428,94 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$ebcdic 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 $package. 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 + * program already searches PRIVLIB. + */ +/* ARCHLIB_EXP: + * 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. + */ +#$d_archlib ARCHLIB "$archlib" /**/ +#$d_archlib ARCHLIB_EXP "$archlibexp" /**/ + +/* 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. + */ +#define BIN "$bin" /**/ +#define BIN_EXP "$binexp" /**/ + +/* INSTALL_USR_BIN_PERL: + * This symbol, if defined, indicates that Perl is to be installed + * also as /usr/bin/perl. + */ +#$installusrbinperl INSTALL_USR_BIN_PERL /**/ + +/* PRIVLIB: + * This symbol contains the name of the private library for this package. + * 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. The program + * should be prepared to do ~ expansion. + */ +/* PRIVLIB_EXP: + * 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 "$privlib" /**/ +#define PRIVLIB_EXP "$privlibexp" /**/ + +/* SITEARCH: + * This symbol contains the name of the private library for this package. + * 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. The program + * should be prepared to do ~ expansion. + * The standard distribution will put nothing in this directory. + * After perl has been installed, users may install their own local + * architecture-dependent modules in this directory with + * MakeMaker Makefile.PL + * or equivalent. See INSTALL for details. + */ +/* SITEARCH_EXP: + * 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 "$sitearch" /**/ +#define SITEARCH_EXP "$sitearchexp" /**/ + +/* SITELIB: + * This symbol contains the name of the private library for this package. + * 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. The program + * should be prepared to do ~ expansion. + * The standard distribution will put nothing in this directory. + * After perl has been installed, users may install their own local + * architecture-independent modules in this directory with + * MakeMaker Makefile.PL + * or equivalent. See INSTALL for details. + */ +/* SITELIB_EXP: + * This symbol contains the ~name expanded version of SITELIB, to be used + * in programs that are not prepared to deal with ~ expansion at run-time. + */ +#define SITELIB "$sitelib" /**/ +#define SITELIB_EXP "$sitelibexp" /**/ + +/* PERL_VENDORLIB_EXP: + * This symbol contains the ~name expanded version of VENDORLIB, to be used + * in programs that are not prepared to deal with ~ expansion at run-time. + */ +#$d_vendorlib PERL_VENDORLIB_EXP "$vendorlibexp" /**/ + /* OSNAME: * This symbol contains the name of the operating system, as determined * by Configure. You shouldn't rely on it too much; the specific @@ -1474,9 +1564,14 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- * available directly to the user. Note that it may well be different from * the preprocessor used to compile the C program. */ +/* CPPLAST: + * 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 "$cppstdin" #define CPPMINUS "$cppminus" #define CPPRUN "$cpprun" +#define CPPLAST "$cpplast" /* HAS_ACCESS: * This manifest constant lets the C program know that the access() @@ -1556,6 +1651,35 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$d_gethent HAS_GETHOSTENT /**/ +/* HAS_GETHOSTNAME: + * This symbol, if defined, indicates that the C program may use the + * gethostname() routine to derive the host name. See also HAS_UNAME + * and PHOSTNAME. + */ +/* HAS_UNAME: + * This symbol, if defined, indicates that the C program may use the + * uname() routine to derive the host name. See also HAS_GETHOSTNAME + * and PHOSTNAME. + */ +/* PHOSTNAME: + * This symbol, if defined, indicates the command to feed to the + * popen() routine to derive the host name. See also HAS_GETHOSTNAME + * and HAS_UNAME. Note that the command uses a fully qualified path, + * so that it is safe even if used by a process with super-user + * privileges. + */ +/* HAS_PHOSTNAME: + * This symbol, if defined, indicates that the C program may use the + * contents of PHOSTNAME as a command to feed to the popen() routine + * to derive the host name. + */ +#$d_gethname HAS_GETHOSTNAME /**/ +#$d_uname HAS_UNAME /**/ +#$d_phostname HAS_PHOSTNAME +#ifdef HAS_PHOSTNAME +#define PHOSTNAME "$aphostname" /* How to get the host name */ +#endif + /* HAS_GETNETBYADDR: * This symbol, if defined, indicates that the getnetbyaddr() routine is * available to look up networks by their IP addresses. @@ -1667,17 +1791,11 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- #define LONGLONGSIZE $longlongsize /**/ #endif -/* HAS_MMAP: - * This symbol, if defined, indicates that the mmap system call is - * available to map a file into memory. - */ -/* 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'. +/* HAS_MEMCHR: + * This symbol, if defined, indicates that the memchr routine is available + * to locate characters within a C string. */ -#$d_mmap HAS_MMAP /**/ -#define Mmap_t $mmaptype /**/ +#$d_memchr HAS_MEMCHR /**/ /* HAS_MSG: * This symbol, if defined, indicates that the entire msg*(2) library is @@ -1785,26 +1903,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- * Checking just with #ifdef might not be enough because this symbol * has been known to be an enum. */ -/* HAS_SENDMSG: - * This symbol, if defined, indicates that the sendmsg is supported - * to send messages between sockets. You will also need struct - * iovec from , HAS_STRUCT_IOVEC and I_SYSUIO. - */ -/* HAS_RECVMSG: - * This symbol, if defined, indicates that the recvmsg is supported - * to send messages between sockets. You will also need struct - * iovec from , HAS_STRUCT_IOVEC and I_SYSUIO. - */ -/* HAS_STRUCT_MSGHDR: - * This symbol, if defined, indicates that the struct msghdr - * (BSD 4.3 or 4.4) is supported. You will also need struct - * iovec from , HAS_STRUCT_IOVEC and I_SYSUIO. - */ -/* HAS_STRUCT_CMSGHDR: - * This symbol, if defined, indicates that the struct cmsghdr - * (BSD 4.4) is supported. You will also need struct - * iovec from , HAS_STRUCT_IOVEC and I_SYSUIO. - */ #$d_socket HAS_SOCKET /**/ #$d_sockpair HAS_SOCKETPAIR /**/ #$d_msg_ctrunc HAS_MSG_CTRUNC /**/ @@ -1813,16 +1911,14 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- #$d_msg_peek HAS_MSG_PEEK /**/ #$d_msg_proxy HAS_MSG_PROXY /**/ #$d_scm_rights HAS_SCM_RIGHTS /**/ -#$d_sendmsg HAS_SENDMSG /**/ -#$d_recvmsg HAS_RECVMSG /**/ -#$d_msghdr_s HAS_STRUCT_MSGHDR /**/ -#$d_cmsghdr_s HAS_STRUCT_CMSGHDR /**/ /* USE_STAT_BLOCKS: * This symbol is defined if this system has a stat structure declaring * st_blksize and st_blocks. */ +#ifndef USE_STAT_BLOCKS #$d_statblks USE_STAT_BLOCKS /**/ +#endif /* HAS_STRERROR: * This symbol, if defined, indicates that the strerror routine is @@ -1865,6 +1961,11 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- #$d_semctl_semun USE_SEMCTL_SEMUN /**/ #$d_semctl_semid_ds USE_SEMCTL_SEMID_DS /**/ +/* HAS_VFORK: + * This symbol, if defined, indicates that vfork() exists. + */ +#$d_vfork HAS_VFORK /**/ + /* 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 @@ -2026,21 +2127,25 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- #define M_VOID /* Xenix strikes again */ #endif -/* ARCHLIB: - * This variable, if defined, holds the name of the directory in - * which the user wants to put architecture-dependent public - * library files for $package. 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 - * program already searches PRIVLIB. +/* HAS_ATOLF: + * This symbol, if defined, indicates that the atolf routine is + * available to convert strings into long doubles. */ -/* ARCHLIB_EXP: - * 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. +#$d_atolf HAS_ATOLF /**/ + +/* HAS_ATOLL: + * This symbol, if defined, indicates that the atoll routine is + * available to convert strings into long longs. */ -#$d_archlib ARCHLIB "$archlib" /**/ -#$d_archlib ARCHLIB_EXP "$archlibexp" /**/ +#$d_atoll HAS_ATOLL /**/ + +/* PERL_BINCOMPAT_5005: + * This symbol, if defined, indicates that Perl 5.006 should be + * binary-compatible with Perl 5.005. This is impossible for builds + * that use features like threads and multiplicity it is always $undef + * for those versions. + */ +#$d_bincompat5005 PERL_BINCOMPAT_5005 /**/ /* DLSYM_NEEDS_UNDERSCORE: * This symbol, if defined, indicates that we need to prepend an @@ -2050,36 +2155,85 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$d_dlsymun DLSYM_NEEDS_UNDERSCORE /**/ +/* HAS_ENDSPENT: + * This symbol, if defined, indicates that the endspent system call is + * available to finalize the scan of SysV shadow password entries. + */ +#$d_endspent HAS_ENDSPENT /**/ + +/* HAS_STRUCT_FS_DATA: + * This symbol, if defined, indicates that the struct fs_data + * to do statfs() is supported. + */ +#$d_fs_data_s HAS_STRUCT_FS_DATA /**/ + /* HAS_FSEEKO: * This symbol, if defined, indicates that the fseeko routine is * available to fseek beyond 32 bits (useful for ILP32 hosts). */ #$d_fseeko HAS_FSEEKO /**/ +/* HAS_FSTATFS: + * This symbol, if defined, indicates that the fstatfs routine is + * available to stat filesystems by file descriptors. + */ +#$d_fstatfs HAS_FSTATFS /**/ /* HAS_FTELLO: * This symbol, if defined, indicates that the ftello routine is - * available to ftell from beyond 32 bits (useful for ILP32 hosts). + * available to ftell beyond 32 bits (useful for ILP32 hosts). */ #$d_ftello HAS_FTELLO /**/ -/* HAS_MADVISE: - * This symbol, if defined, indicates that the madvise system call is - * available to map a file into memory. +/* HAS_GETMNT: + * This symbol, if defined, indicates that the getmnt routine is + * available to get filesystem mount info by filename. + */ +#$d_getmnt HAS_GETMNT /**/ + +/* HAS_GETMNTENT: + * This symbol, if defined, indicates that the getmntent routine is + * available to iterate through mounted file systems to get their info. + */ +#$d_getmntent HAS_GETMNTENT /**/ + +/* HAS_GETSPENT: + * This symbol, if defined, indicates that the getspent system call is + * available to retrieve SysV shadow password entries sequentially. */ -#$d_madvise HAS_MADVISE /**/ +#$d_getspent HAS_GETSPENT /**/ -/* HAS_MPROTECT: - * This symbol, if defined, indicates that the mprotect system call is - * available to modify the access protection of a memory mapped file. +/* HAS_GETSPNAM: + * This symbol, if defined, indicates that the getspnam system call is + * available to retrieve SysV shadow password entries by name. */ -#$d_mprotect HAS_MPROTECT /**/ +#$d_getspnam HAS_GETSPNAM /**/ -/* HAS_READV: - * This symbol, if defined, indicates that the readv routine is - * available to do gather reads. You will also need - * and there I_SYSUIO. +/* HAS_HASMNTOPT: + * This symbol, if defined, indicates that the hasmntopt routine is + * available to query the mount options of file systems. */ -#$d_readv HAS_READV /**/ +#$d_hasmntopt HAS_HASMNTOPT /**/ + +/* HAS_INT64_T: + * This symbol will defined if the C compiler supports int64_t. + * Usually the needs to be included, but sometimes + * is enough. + */ +#$d_int64t HAS_INT64_T /**/ + +/* 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. + */ +#$d_ldbl_dig HAS_LDBL_DIG /* */ + +/* HAS_SETSPENT: + * This symbol, if defined, indicates that the setspent system call is + * available to initialize the scan of SysV shadow password entries. + */ +#$d_setspent HAS_SETSPENT /**/ /* USE_SFIO: * This symbol, if defined, indicates that sfio should @@ -2087,23 +2241,32 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$d_sfio USE_SFIO /**/ -/* HAS_FSTATFS: - * This symbol, if defined, indicates that the fstatfs routine is - * available to do stat filesystems of file descriptors. +/* HAS_SQRTL: + * This symbol, if defined, indicates that the sqrtl routine is + * available to do long double square roots. */ -/* HAS_STRUCT_STATFS_FLAGS: +#$d_sqrtl HAS_SQRTL /**/ + +/* HAS_STRUCT_STATFS_F_FLAGS: * This symbol, if defined, indicates that the struct statfs * does have the f_flags member containing the mount flags of - * the filesystem holding the file. - * This kind of struct statfs is coming from sys/mount.h (BSD) - * and not from sys/statfs.h (SYSV). + * the filesystem containing the file. + * This kind of struct statfs is coming from (BSD 4.3), + * not from (SYSV). Older BSDs (like Ultrix) do not + * have statfs() and struct statfs, they have ustat() and getmnt() + * with struct ustat and struct fs_data. */ -#$d_fstatfs HAS_FSTATFS /**/ -#$d_statfsflags HAS_STRUCT_STATFS_FLAGS /**/ +#$d_statfs_f_flags HAS_STRUCT_STATFS_F_FLAGS /**/ + +/* HAS_STRUCT_STATFS: + * This symbol, if defined, indicates that the struct statfs + * to do statfs() is supported. + */ +#$d_statfs_s HAS_STRUCT_STATFS /**/ /* HAS_FSTATVFS: * This symbol, if defined, indicates that the fstatvfs routine is - * available to do stat filesystems of file descriptors. + * available to stat filesystems by file descriptors. */ #$d_fstatvfs HAS_FSTATVFS /**/ @@ -2115,47 +2278,11 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$d_telldirproto HAS_TELLDIR_PROTO /**/ -/* HAS_WRITEV: - * This symbol, if defined, indicates that the writev routine is - * available to do scatter writes. - */ -#$d_writev HAS_WRITEV /**/ - -/* HAS_DBMINIT64: - * This symbol, if defined, indicates that the dbminit64 routine is - * available to open dbm files larger than 2 gigabytes. - */ -/* HAS_DBMCLOSE64: - * This symbol, if defined, indicates that the dbmclose64 routine is - * available to close dbm files larger than 2 gigabytes. +/* HAS_USTAT: + * This symbol, if defined, indicates that the ustat system call is + * available to query file system statistics by dev_t. */ -/* HAS_FETCH64: - * This symbol, if defined, indicates that the fetch64 routine is - * available to fetch from dbm files larger than 2 gigabytes. - */ -/* HAS_STORE64: - * This symbol, if defined, indicates that the store64 routine is - * available to store to dbm files larger than 2 gigabytes. - */ -/* HAS_DELETE64: - * This symbol, if defined, indicates that the delete64 routine is - * available to delete from dbm files larger than 2 gigabytes. - */ -/* HAS_FIRSTKEY64: - * This symbol, if defined, indicates that the firstkey64 routine is - * available to firstkey in dbm files larger than 2 gigabytes. - */ -/* HAS_NEXTKEY64: - * This symbol, if defined, indicates that the nextkey64 routine is - * available to nextkey in dbm files larger than 2 gigabytes. - */ -#$d_dbminit64 HAS_DBMINIT64 /**/ -#$d_dbmclose64 HAS_DBMCLOSE64 /**/ -#$d_fetch64 HAS_FETCH64 /**/ -#$d_store64 HAS_STORE64 /**/ -#$d_delete64 HAS_DELETE64 /**/ -#$d_firstkey64 HAS_FIRSTKEY64 /**/ -#$d_nextkey64 HAS_NEXTKEY64 /**/ +#$d_ustat HAS_USTAT /**/ /* USE_DYNAMIC_LOADING: * This symbol, if defined, indicates that dynamic loading of @@ -2163,6 +2290,20 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$usedl USE_DYNAMIC_LOADING /**/ +/* FFLUSH_NULL: + * This symbol, if defined, tells that fflush(NULL) does flush + * all pending stdio output. + */ +/* FFLUSH_ALL: + * This symbol, if defined, tells that to flush + * all pending stdio output one must loop through all + * the stdio file handles stored in an array and fflush them. + * Note that if fflushNULL is defined, fflushall will not + * even be probed for and will be left undefined. + */ +#$fflushNULL FFLUSH_NULL /**/ +#$fflushall FFLUSH_ALL /**/ + /* DB_Prefix_t: * This symbol contains the type of the prefix structure element * in the header file. In older versions of DB, it was @@ -2180,13 +2321,7 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- * This symbol, if defined, indicates to the C program that it should * include . */ -/* HAS_INT64_T: - * This symbol will defined if the C compiler supports int64_t. - * Usually the needs to be included, but sometimes - * is enough. - */ #$i_inttypes I_INTTYPES /**/ -#$d_int64t HAS_INT64_T /**/ /* I_MNTENT: * This symbol, if defined, indicates that exists and @@ -2194,17 +2329,29 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$i_mntent I_MNTENT /**/ +/* I_NETINET_TCP: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +#$i_netinettcp I_NETINET_TCP /**/ + /* I_POLL: * This symbol, if defined, indicates that exists and * should be included. */ #$i_poll I_POLL /**/ -/* I_SYS_MMAN: - * This symbol, if defined, indicates that exists and +/* I_SHADOW: + * This symbol, if defined, indicates that exists and * should be included. */ -#$i_sysmman I_SYS_MMAN /**/ +#$i_shadow I_SHADOW /**/ + +/* I_SOCKS: + * This symbol, if defined, indicates that exists and + * should be included. + */ +#$i_socks I_SOCKS /**/ /* I_SYS_MOUNT: * This symbol, if defined, indicates that exists and @@ -2212,94 +2359,158 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$i_sysmount I_SYS_MOUNT /**/ +/* I_SYS_STATFS: + * This symbol, if defined, indicates that exists. + */ +#$i_sysstatfs I_SYS_STATFS /**/ + /* I_SYS_STATVFS: * This symbol, if defined, indicates that exists and * should be included. */ #$i_sysstatvfs I_SYS_STATVFS /**/ -/* INSTALL_USR_BIN_PERL: - * This symbol, if defined, indicates that Perl is to be installed - * also as /usr/bin/perl. +/* I_SYS_VFS: + * This symbol, if defined, indicates that exists and + * should be included. */ -#$installusrbinperl INSTALL_USR_BIN_PERL /**/ +#$i_sysvfs I_SYS_VFS /**/ -/* HAS_FSTAT64: - * This symbol, if defined, indicates that the fstat64 routine is - * available to stat files (fds) larger than 2 gigabytes. +/* I_USTAT: + * This symbol, if defined, indicates that exists and + * should be included. */ -/* HAS_FTRUNCATE64: - * This symbol, if defined, indicates that the ftruncate64 routine is - * available to tell files larger than 2 gigabytes. +#$i_ustat I_USTAT /**/ + +/* HAS_OFF64_T: + * This symbol will be defined if the C compiler supports off64_t. */ -/* HAS_LSEEK64: - * This symbol, if defined, indicates that the lseek64 routine is - * available to seek files larger than 2 gigabytes. +/* HAS_FPOS64_T: + * This symbol will be defined if the C compiler supports fpos64_t. */ -/* HAS_LSTAT64: - * This symbol, if defined, indicates that the lstat64 routine is - * available to stat files (symlinks) larger than 2 gigabytes. +#$d_off64_t HAS_OFF64_T /**/ +#$d_fpos64_t HAS_FPOS64_T /**/ + +/* PERL_PRIfldbl: + * This symbol, if defined, contains the string used by stdio to + * format long doubles (format 'f') for output. */ -/* HAS_OPEN64: - * This symbol, if defined, indicates that the open64 routine is - * available to open files larger than 2 gigabytes. +/* PERL_PRIgldbl: + * This symbol, if defined, contains the string used by stdio to + * format long doubles (format 'g') for output. */ -/* HAS_OPENDIR64: - * This symbol, if defined, indicates that the opendir64 routine is - * available to opendir files larger than 2 gigabytes. +#$d_PRIfldbl PERL_PRIfldbl $sPRIfldbl /**/ +#$d_PRIgldbl PERL_PRIgldbl $sPRIgldbl /**/ + +/* IVTYPE: + * This symbol defines the C type used for Perl's IV. */ -/* HAS_READDIR64: - * This symbol, if defined, indicates that the readdir64 routine is - * available to readdir files larger than 2 gigabytes. +/* UVTYPE: + * This symbol defines the C type used for Perl's UV. */ -/* HAS_SEEKDIR64: - * This symbol, if defined, indicates that the seekdir64 routine is - * available to seekdir files larger than 2 gigabytes. +/* I8TYPE: + * This symbol defines the C type used for Perl's I8. */ -/* HAS_STAT64: - * This symbol, if defined, indicates that the stat64 routine is - * available to stat files larger than 2 gigabytes. +/* U8TYPE: + * This symbol defines the C type used for Perl's U8. */ -/* HAS_TELLDIR64: - * This symbol, if defined, indicates that the telldir64 routine is - * available to telldir files larger than 2 gigabytes. +/* I16TYPE: + * This symbol defines the C type used for Perl's I16. */ -/* HAS_TRUNCATE64: - * This symbol, if defined, indicates that the truncate64 routine is - * available to truncate files larger than 2 gigabytes. +/* U16TYPE: + * This symbol defines the C type used for Perl's U16. */ -/* HAS_OFF64_T: - * This symbol will be defined if the C compiler supports off64_t. +/* I32TYPE: + * This symbol defines the C type used for Perl's I32. + */ +/* U32TYPE: + * This symbol defines the C type used for Perl's U32. + */ +/* I64TYPE: + * This symbol defines the C type used for Perl's I64. + */ +/* U64TYPE: + * This symbol defines the C type used for Perl's U64. + */ +/* NVTYPE: + * This symbol defines the C type used for Perl's NV. + */ +/* IVSIZE: + * This symbol contains the sizeof(IV). */ -/* HAS_STRUCT_DIRENT64: - * This symbol will be defined if the C compiler supports struct dirent64. - */ -#$d_fstat64 HAS_FSTAT64 /**/ -#$d_ftruncate64 HAS_FTRUNCATE64 /**/ -#$d_lseek64 HAS_LSEEK64 /**/ -#$d_lstat64 HAS_LSTAT64 /**/ -#$d_open64 HAS_OPEN64 /**/ -#$d_opendir64 HAS_OPENDIR64 /**/ -#$d_readdir64 HAS_READDIR64 /**/ -#$d_seekdir64 HAS_SEEKDIR64 /**/ -#$d_stat64 HAS_STAT64 /**/ -#$d_telldir64 HAS_TELLDIR64 /**/ -#$d_truncate64 HAS_TRUNCATE64 /**/ -#$d_off64t HAS_OFF64_T /**/ -#$d_dirent64_s HAS_STRUCT_DIRENT64 /**/ +/* UVSIZE: + * This symbol contains the sizeof(UV). + */ +/* I8SIZE: + * This symbol contains the sizeof(I8). + */ +/* U8SIZE: + * This symbol contains the sizeof(U8). + */ +/* I16SIZE: + * This symbol contains the sizeof(I16). + */ +/* U16SIZE: + * This symbol contains the sizeof(U16). + */ +/* I32SIZE: + * This symbol contains the sizeof(I32). + */ +/* U32SIZE: + * This symbol contains the sizeof(U32). + */ +/* I64SIZE: + * This symbol contains the sizeof(I64). + */ +/* U64SIZE: + * This symbol contains the sizeof(U64). + */ +#define IVTYPE $ivtype /**/ +#define UVTYPE $uvtype /**/ +#define I8TYPE $i8type /**/ +#define U8TYPE $u8type /**/ +#define I16TYPE $i16type /**/ +#define U16TYPE $u16type /**/ +#define I32TYPE $i32type /**/ +#define U32TYPE $u32type /**/ +#ifdef HAS_QUAD +#define I64TYPE $i64type /**/ +#define U64TYPE $u64type /**/ +#endif +#define NVTYPE $nvtype /**/ +#define IVSIZE $ivsize /**/ +#define UVSIZE $uvsize /**/ +#define I8SIZE $i8size /**/ +#define U8SIZE $u8size /**/ +#define I16SIZE $i16size /**/ +#define U16SIZE $u16size /**/ +#define I32SIZE $i32size /**/ +#define U32SIZE $u32size /**/ +#ifdef HAS_QUAD +#define I64SIZE $i64size /**/ +#define U64SIZE $u64size /**/ +#endif -/* PRIVLIB: - * This symbol contains the name of the private library for this package. - * 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. The program - * should be prepared to do ~ expansion. +/* IVdf: + * This symbol defines the format string used for printing a Perl IV + * as a signed decimal integer. */ -/* PRIVLIB_EXP: - * 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. +/* UVuf: + * This symbol defines the format string used for printing a Perl UV + * as an unsigned decimal integer. */ -#define PRIVLIB "$privlib" /**/ -#define PRIVLIB_EXP "$privlibexp" /**/ +/* UVof: + * This symbol defines the format string used for printing a Perl UV + * as an unsigned octal integer. + */ +/* UVxf: + * This symbol defines the format string used for printing a Perl UV + * as an unsigned hexadecimal integer. + */ +#define IVdf $ivdformat /**/ +#define UVuf $uvuformat /**/ +#define UVof $uvoformat /**/ +#define UVxf $uvxformat /**/ /* SELECT_MIN_BITS: * This symbol holds the minimum number of bits operated by select. @@ -2310,38 +2521,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #define SELECT_MIN_BITS $selectminbits /**/ -/* SITEARCH: - * This symbol contains the name of the private library for this package. - * 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. The program - * should be prepared to do ~ expansion. - * The standard distribution will put nothing in this directory. - * Individual sites may place their own extensions and modules in - * this directory. - */ -/* SITEARCH_EXP: - * 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 "$sitearch" /**/ -#define SITEARCH_EXP "$sitearchexp" /**/ - -/* SITELIB: - * This symbol contains the name of the private library for this package. - * 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. The program - * should be prepared to do ~ expansion. - * The standard distribution will put nothing in this directory. - * Individual sites may place their own extensions and modules in - * this directory. - */ -/* SITELIB_EXP: - * This symbol contains the ~name expanded version of SITELIB, to be used - * in programs that are not prepared to deal with ~ expansion at run-time. - */ -#define SITELIB "$sitelib" /**/ -#define SITELIB_EXP "$sitelibexp" /**/ - /* 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 @@ -2349,71 +2528,120 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #define STARTPERL "$startperl" /**/ -/* HAS_FGETPOS64: - * This symbol, if defined, indicates that the fgetpos64 routine is - * available to getpos files larger than 2 gigabytes. - */ -/* HAS_FOPEN64: - * This symbol, if defined, indicates that the fopen64 routine is - * available to open files larger than 2 gigabytes. +/* HAS_STDIO_STREAM_ARRAY: + * This symbol, if defined, tells that there is an array + * holding the stdio streams. */ -/* HAS_FREOPEN64: - * This symbol, if defined, indicates that the freopen64 routine is - * available to reopen files larger than 2 gigabytes. +/* STDIO_STREAM_ARRAY: + * This symbol tells the name of the array holding the stdio streams. + * Usual values include _iob, __iob, and __sF. */ -/* HAS_FSEEK64: - * This symbol, if defined, indicates that the fseek64 routine is - * available to seek files larger than 2 gigabytes. - */ -/* HAS_FSEEKO64: - * This symbol, if defined, indicates that the fseeko64 routine is - * available to seek files larger than 2 gigabytes. - */ -/* HAS_FSETPOS64: - * This symbol, if defined, indicates that the fsetpos64 routine is - * available to setpos files larger than 2 gigabytes. - */ -/* HAS_FTELL64: - * This symbol, if defined, indicates that the ftell64 routine is - * available to tell files larger than 2 gigabytes. - */ -/* HAS_FTELLO64: - * This symbol, if defined, indicates that the ftello64 routine is - * available to tell files larger than 2 gigabytes. - */ -/* HAS_TMPFILE64: - * This symbol, if defined, indicates that the tmpfile64 routine is - * available to tmpfile files larger than 2 gigabytes. +#$d_stdio_stream_array HAS_STDIO_STREAM_ARRAY /**/ +#define STDIO_STREAM_ARRAY $stdio_stream_array + +/* HAS_STRTOULL: + * This symbol, if defined, indicates that the strtoull routine is + * available to convert strings into unsigned long longs. */ -#$d_fgetpos64 HAS_FGETPOS64 /**/ -#$d_fopen64 HAS_FOPEN64 /**/ -#$d_freopen64 HAS_FREOPEN64 /**/ -#$d_fseek64 HAS_FSEEK64 /**/ -#$d_fseeko64 HAS_FSEEKO64 /**/ -#$d_fsetpos64 HAS_FSETPOS64 /**/ -#$d_ftell64 HAS_FTELL64 /**/ -#$d_ftello64 HAS_FTELLO64 /**/ -#$d_tmpfile64 HAS_TMPFILE64 /**/ +#$d_strtoull HAS_STRTOULL /**/ /* USE_64_BITS: - * This symbol, if defined, indicates that 64-bit interfaces should - * be used when available. If not defined, the native default interfaces + * This symbol, if defined, indicates that 64-bit integers should + * be used when available. If not defined, the native integers * will be used (be they 32 or 64 bits). */ +#ifndef USE_64_BITS #$use64bits USE_64_BITS /**/ +#endif + +/* USE_LARGE_FILES: + * This symbol, if defined, indicates that large file support + * should be used when available. The USE_64_BITS symbol will + * also be turned on if necessary. + */ +#ifndef USE_LARGE_FILES +#$uselargefiles USE_LARGE_FILES /**/ +#endif + +/* USE_LONG_DOUBLE: + * This symbol, if defined, indicates that long doubles should + * be used when available. + */ +#ifndef USE_LONG_DOUBLE +#$uselongdouble USE_LONG_DOUBLE /**/ +#endif + +/* USE_LONG_LONG: + * This symbol, if defined, indicates that long longs should + * be used when available. + */ +#ifndef USE_LONG_LONG +#$uselonglong USE_LONG_LONG /**/ +#endif + +#ifndef USE_MORE_BITS +#$usemorebits USE_MORE_BITS /**/ +#endif /* MULTIPLICITY: * This symbol, if defined, indicates that Perl should * be built to use multiplicity. */ +#ifndef MULTIPLICTY #$usemultiplicity MULTIPLICITY /**/ +#endif /* USE_PERLIO: * This symbol, if defined, indicates that the PerlIO abstraction should * be used throughout. If not defined, stdio should be * used in a fully backward compatible manner. */ +#ifndef USE_PERLIO #$useperlio USE_PERLIO /**/ +#endif + +/* USE_SOCKS: + * This symbol, if defined, indicates that Perl should + * be built to use socks. + */ +#ifndef USE_SOCKS +#$usesocks USE_SOCKS /**/ +#endif + +/* PERL_XS_APIVERSION: + * This variable contains the version of the oldest perl binary + * compatible with the present perl. perl.c:incpush() and + * lib/lib.pm will automatically search in $sitearch for older + * directories across major versions back to xs_apiversion. + * This is only useful if you have a perl library directory tree + * structured like the default one. + * See INSTALL for how this works. + * The versioned site_perl directory was introduced in 5.005, + * so that is the lowest possible value. + * Since this can depend on compile time options (such as + * bincompat) it is set by Configure. Other non-default sources + * of potential incompatibility, such as multiplicity, threads, + * debugging, 64bits, sfio, etc., are not checked for currently, + * though in principle we could go snooping around in old + * Config.pm files. + */ +/* PERL_PM_APIVERSION: + * This variable contains the version of the oldest perl + * compatible with the present perl. (That is, pure perl modules + * written for pm_apiversion will still work for the current + * version). perl.c:incpush() and lib/lib.pm will automatically + * search in $sitelib for older directories across major versions + * back to pm_apiversion. This is only useful if you have a perl + * library directory tree structured like the default one. The + * versioned site_perl library was introduced in 5.005, so that's + * the default setting for this variable. It's hard to imagine + * it changing before Perl6. It is included here for symmetry + * with xs_apiveprsion -- the searching algorithms will + * (presumably) be similar. + * See the INSTALL file for how this works. + */ +#define PERL_XS_APIVERSION $xs_apiversion /* Change to string for tuples?*/ +#define PERL_PM_APIVERSION $pm_apiversion /* Change to string for tuples?*/ /* HAS_DRAND48_PROTO: * This symbol, if defined, indicates that the system provides @@ -2527,6 +2755,12 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$i_machcthr I_MACH_CTHREADS /**/ +/* I_PTHREAD: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +#$i_pthread I_PTHREAD /**/ + /* USE_THREADS: * This symbol, if defined, indicates that Perl should * be built to use threads. @@ -2535,7 +2769,9 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- * This symbol, if defined, indicates that Perl should * be built to use the old draft POSIX threads API. */ +#ifndef USE_TTHREADS #$usethreads USE_THREADS /**/ +#endif #$d_oldpthreads OLD_PTHREADS_API /**/ /* Time_t: @@ -2559,6 +2795,16 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #define Fpos_t $fpostype /* File position type */ +/* Gid_t_f: + * This symbol defines the format string used for printing a Gid_t. + */ +#define Gid_t_f $gidformat /**/ + +/* Gid_t_size: + * This symbol holds the size of a Gid_t in bytes. + */ +#define Gid_t_size $gidsize /* GID size */ + /* Gid_t: * This symbol holds the return type of getgid() and the type of * argument to setrgid() and related functions. Typically, @@ -2576,8 +2822,12 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- /* LSEEKSIZE: * This symbol holds the number of bytes used by the Off_t. */ +/* Off_t_size: + * This symbol holds the number of bytes used by the Off_t. + */ #define Off_t $lseektype /* type */ #define LSEEKSIZE $lseeksize /* size */ +#define Off_t_size $lseeksize /* size */ /* Mode_t: * This symbol holds the type used to declare file modes @@ -2602,6 +2852,16 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #define Size_t $sizetype /* length paramater for string functions */ +/* Uid_t_f: + * This symbol defines the format string used for printing a Uid_t. + */ +#define Uid_t_f $uidformat /**/ + +/* Uid_t_size: + * This symbol holds the size of a Uid_t in bytes. + */ +#define Uid_t_size $uidsize /* UID size */ + /* Uid_t: * This symbol holds the type used to declare user ids in the kernel. * It can be int, ushort, uid_t, etc... It may be necessary to include