* 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()
* 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
* This symbol, if defined, indicates that <sys/uio.h> exists and
* should be included.
*/
+/* HAS_STRUCT_IOVEC:
+ * This symbol, if defined, indicates that the struct iovec
+ * to do scatter writes/gather reads is supported.
+ */
#$i_sysuio I_SYSUIO /**/
+#$d_iovec_s HAS_STRUCT_IOVEC /**/
/* Free_t:
* This variable contains the return type of free(). It is usually
#define M_VOID /* Xenix strikes again */
#endif
+/* HAS_ATOLF:
+ * This symbol, if defined, indicates that the atolf routine is
+ * available to convert strings into long doubles.
+ */
+#$d_atolf HAS_ATOLF /**/
+
+/* HAS_ATOLL:
+ * This symbol, if defined, indicates that the atoll routine is
+ * available to convert strings into long longs.
+ */
+#$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
*/
#$d_hasmntopt HAS_HASMNTOPT /**/
+/* HAS_LDBL_DIG:
+ * This symbol, if defined, indicates that this system's <float.h>
+ * or <limits.h> 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_MADVISE:
* This symbol, if defined, indicates that the madvise system call is
* available to map a file into memory.
*/
#$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_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 /**/
-
/* USE_DYNAMIC_LOADING:
* This symbol, if defined, indicates that dynamic loading of
* some sort is available.
*/
#$i_sysstatvfs I_SYS_STATVFS /**/
-/* HAS_FSTAT64:
- * This symbol, if defined, indicates that the fstat64 routine is
- * available to stat files (fds) larger than 2 gigabytes.
- */
-/* HAS_FTRUNCATE64:
- * This symbol, if defined, indicates that the ftruncate64 routine is
- * available to tell files larger than 2 gigabytes.
- */
-/* HAS_LSEEK64:
- * This symbol, if defined, indicates that the lseek64 routine is
- * available to seek files larger than 2 gigabytes.
- */
-/* HAS_LSTAT64:
- * This symbol, if defined, indicates that the lstat64 routine is
- * available to stat files (symlinks) larger than 2 gigabytes.
- */
-/* HAS_OPEN64:
- * This symbol, if defined, indicates that the open64 routine is
- * available to open files larger than 2 gigabytes.
+/* HAS_OFF64_T:
+ * This symbol will be defined if the C compiler supports off64_t.
*/
-/* HAS_OPENDIR64:
- * This symbol, if defined, indicates that the opendir64 routine is
- * available to opendir files larger than 2 gigabytes.
+/* HAS_FPOS64_T:
+ * This symbol will be defined if the C compiler supports fpos64_t.
*/
-/* HAS_READDIR64:
- * This symbol, if defined, indicates that the readdir64 routine is
- * available to readdir files 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_SEEKDIR64:
- * This symbol, if defined, indicates that the seekdir64 routine is
- * available to seekdir 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_STAT64:
- * This symbol, if defined, indicates that the stat64 routine is
- * available to stat files larger than 2 gigabytes.
+#$d_PRIfldbl PERL_PRIfldbl $sPRIfldbl /**/
+#$d_PRIgldbl PERL_PRIgldbl $sPRIgldbl /**/
+
+/* PERL_PRId64:
+ * This symbol, if defined, contains the string used by stdio to
+ * format 64-bit decimal numbers (format 'd') for output.
*/
-/* HAS_TELLDIR64:
- * This symbol, if defined, indicates that the telldir64 routine is
- * available to telldir files larger than 2 gigabytes.
+/* PERL_PRIu64:
+ * This symbol, if defined, contains the string used by stdio to
+ * format 64-bit unsigned decimal numbers (format 'u') for output.
*/
-/* HAS_TRUNCATE64:
- * This symbol, if defined, indicates that the truncate64 routine is
- * available to truncate files larger than 2 gigabytes.
+/* PERL_PRIo64:
+ * This symbol, if defined, contains the string used by stdio to
+ * format 64-bit octal numbers (format 'o') for output.
*/
-/* HAS_OFF64_T:
- * This symbol will be defined if the C compiler supports off64_t.
+/* PERL_PRIx64:
+ * This symbol, if defined, contains the string used by stdio to
+ * format 64-bit hexadecimal numbers (format 'x') for output.
*/
-/* 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_off64_t HAS_OFF64_T /**/
-#$d_dirent64_s HAS_STRUCT_DIRENT64 /**/
+#$d_PRId64 PERL_PRId64 $sPRId64 /**/
+#$d_PRIu64 PERL_PRIu64 $sPRIu64 /**/
+#$d_PRIo64 PERL_PRIo64 $sPRIo64 /**/
+#$d_PRIx64 PERL_PRIx64 $sPRIx64 /**/
/* SELECT_MIN_BITS:
* This symbol holds the minimum number of bits operated by select.
*/
#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_FREOPEN64:
- * This symbol, if defined, indicates that the freopen64 routine is
- * available to reopen files larger than 2 gigabytes.
- */
-/* 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_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 /**/
-
/* HAS_STDIO_STREAM_ARRAY:
* This symbol, if defined, tells that there is an array
* holding the stdio streams.
#$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_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
*/
#$use64bits USE_64_BITS /**/
+/* 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.
+ */
+#$uselargefiles USE_LARGE_FILES /**/
+
+/* USE_LONG_DOUBLE:
+ * This symbol, if defined, indicates that long doubles should
+ * be used when available.
+ */
+#$uselongdouble USE_LONG_DOUBLE /**/
+
/* MULTIPLICITY:
* This symbol, if defined, indicates that Perl should
* be built to use multiplicity.
*/
#$usesocks USE_SOCKS /**/
+/* 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
* a prototype for the drand48() function. Otherwise, it is up
*/
#$i_machcthr I_MACH_CTHREADS /**/
+/* I_PTHREAD:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <pthread.h>.
+ */
+#$i_pthread I_PTHREAD /**/
+
/* USE_THREADS:
* This symbol, if defined, indicates that Perl should
* be built to use threads.
*/
#define Size_t $sizetype /* length paramater for string functions */
+/* Uid_t_SIGN:
+ * This symbol holds the signedess of a Uid_t.
+ * 1 for unsigned, -1 for signed.
+ */
+#define Uid_t_SIGN $uidsign /* UID sign */
+
/* 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