This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate mainline.
[perl5.git] / win32 / config_H.vc
index 9eb865a..7d64e6b 100644 (file)
@@ -13,7 +13,7 @@
 /*
  * Package name      : perl5
  * Source directory  : 
- * Configuration time: Mon Jul  2 02:04:03 2001
+ * Configuration time: Sun May 12 17:16:11 2002
  * Configured by     : gsar
  * Target system     : 
  */
@@ -30,7 +30,7 @@
  *     This symbol, if defined, indicates that the alarm routine is
  *     available.
  */
-/*#define HAS_ALARM            /**/
+#define HAS_ALARM              /**/
 
 /* HASATTRIBUTE:
  *     This symbol indicates the C compiler can check for function attributes,
 #define const
 #endif
 
-/* HAS_CRYPT:
- *     This symbol, if defined, indicates that the crypt routine is available
- *     to encrypt passwords and the like.
- */
-/*#define HAS_CRYPT            /**/
-
 /* HAS_CUSERID:
  *     This symbol, if defined, indicates that the cuserid routine is
  *     available to get character login names.
  *     <sys/resource.h> needs to be included (see I_SYS_RESOURCE).
  *     The type "Timeval" should be used to refer to "struct timeval".
  */
-/*#define HAS_GETTIMEOFDAY     /**/
+#define HAS_GETTIMEOFDAY       /**/
 #ifdef HAS_GETTIMEOFDAY
 #define Timeval struct timeval /* Structure used by gettimeofday() */
 #endif
  */
 /*#define HAS_SETSID   /**/
 
-/* Shmat_t:
- *     This symbol holds the return type of the shmat() system call.
- *     Usually set to 'void *' or 'char *'.
- */
-/* HAS_SHMAT_PROTOTYPE:
- *     This symbol, if defined, indicates that the sys/shm.h includes
- *     a prototype for shmat().  Otherwise, it is up to the program to
- *     guess one.  Shmat_t shmat _((int, Shmat_t, int)) is a good guess,
- *     but not always right so it should be emitted by the program only
- *     when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
- */
-#define Shmat_t void * /**/
-/*#define HAS_SHMAT_PROTOTYPE  /**/
-
 /* HAS_STRCHR:
  *     This symbol is defined to indicate that the strchr()/strrchr()
  *     functions are available for string searching. If not, try the
  */
 /*#define I_MEMORY             /**/
 
-/* I_NDBM:
- *     This symbol, if defined, indicates that <ndbm.h> exists and should
- *     be included.
- */
-/*#define I_NDBM       /**/
-
 /* I_NET_ERRNO:
  *     This symbol, if defined, indicates that <net/errno.h> exists and 
  *     should be included.
  */
 /*#define I_VFORK      /**/
 
-/* 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[]));
- */
-#define        CAN_PROTOTYPE   /**/
-#ifdef CAN_PROTOTYPE
-#define        _(args) args
-#else
-#define        _(args) ()
-#endif
-
-/* SH_PATH:
- *     This symbol contains the full pathname to the shell used on this
- *     on this system to execute Bourne shell scripts.  Usually, this will be
- *     /bin/sh, though it's possible that some systems will have /bin/ksh,
- *     /bin/pdksh, /bin/ash, /bin/bash, or even something such as
- *     D:/bin/sh.exe.
- */
-#define SH_PATH "cmd /x /c"  /**/
-
 /* INTSIZE:
  *     This symbol contains the value of sizeof(int) so that the C
  *     preprocessor can make decisions based on it.
  *     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 "c:\\perl\\5.7.2\\lib\\MSWin32-x86-multi-thread"               /**/
+#define ARCHLIB "c:\\perl\\lib"                /**/
 /*#define ARCHLIB_EXP ""       /**/
 
 /* ARCHNAME:
  *     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 "c:\\perl\\5.7.2\\bin\\MSWin32-x86-multi-thread"   /**/
-#define BIN_EXP "c:\\perl\\5.7.2\\bin\\MSWin32-x86-multi-thread"       /**/
-
-/* PERL_BINCOMPAT_5005:
- *     This symbol, if defined, indicates that this version of Perl 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.
- */
-/*#define PERL_BINCOMPAT_5005                  /**/
+#define BIN "c:\\perl\\bin"    /**/
+#define BIN_EXP "c:\\perl\\bin"        /**/
 
 /* BYTEORDER:
  *     This symbol holds the hexadecimal constant defined in byteorder,
- *     i.e. 0x1234 or 0x4321, etc...
+ *     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.
  *     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 "cl -nologo -E"
+#define CPPSTDIN "cppstdin"
 #define CPPMINUS ""
 #define CPPRUN "cl -nologo -E"
 #define CPPLAST ""
  */
 #define HAS_ACCESS             /**/
 
+/* HAS_ASCTIME_R:
+ *     This symbol, if defined, indicates that the asctime_r routine
+ *     is available to asctime re-entrantly.
+ */
+/* ASCTIME_R_PROTO:
+ *     This symbol encodes the prototype of asctime_r.
+ */
+/*#define HAS_ASCTIME_R           /**/
+#define ASCTIME_R_PROTO 0         /**/
+
 /* CASTI32:
  *     This symbol is defined if the C compiler can cast negative
  *     or large floating point numbers to 32-bit ints.
 #define        CASTNEGFLOAT            /**/
 #define CASTFLAGS 0            /**/
 
+/* HAS_CLASS:
+ *     This symbol, if defined, indicates that the class routine is
+ *     available to classify doubles.  Available for example in AIX.
+ *     The returned values are defined in <float.h> and are:
+ *
+ *     FP_PLUS_NORM    Positive normalized, nonzero
+ *     FP_MINUS_NORM   Negative normalized, nonzero
+ *     FP_PLUS_DENORM  Positive denormalized, nonzero
+ *     FP_MINUS_DENORM Negative denormalized, nonzero
+ *     FP_PLUS_ZERO    +0.0
+ *     FP_MINUS_ZERO   -0.0
+ *     FP_PLUS_INF     +INF
+ *     FP_MINUS_INF    -INF
+ *     FP_NANS         Signaling Not a Number (NaNS)
+ *     FP_NANQ         Quiet Not a Number (NaNQ)
+ */
+/*#define HAS_CLASS            /**/
+
 /* VOID_CLOSEDIR:
  *     This symbol, if defined, indicates that the closedir() routine
  *     does not return a value.
  */
 /*#define HAS_STRUCT_CMSGHDR   /**/
 
+/* HAS_CRYPT_R:
+ *     This symbol, if defined, indicates that the crypt_r routine
+ *     is available to crypt re-entrantly.
+ */
+/* CRYPT_R_PROTO:
+ *     This symbol encodes the prototype of crypt_r.
+ */
+/*#define HAS_CRYPT_R     /**/
+#define CRYPT_R_PROTO 0           /**/
+
 /* HAS_CSH:
  *     This symbol, if defined, indicates that the C-shell exists.
  */
 #define CSH "" /**/
 #endif
 
+/* HAS_CTIME_R:
+ *     This symbol, if defined, indicates that the ctime_r routine
+ *     is available to ctime re-entrantly.
+ */
+/* CTIME_R_PROTO:
+ *     This symbol encodes the prototype of ctime_r.
+ */
+/*#define HAS_CTIME_R     /**/
+#define CTIME_R_PROTO 0           /**/
+
 /* DLSYM_NEEDS_UNDERSCORE:
  *     This symbol, if defined, indicates that we need to prepend an
  *     underscore to the symbol name before calling dlsym().  This only
  */
 /*#define      DLSYM_NEEDS_UNDERSCORE  /**/
 
+/* HAS_DRAND48_R:
+ *     This symbol, if defined, indicates that the drand48_r routine
+ *     is available to drand48 re-entrantly.
+ */
+/* DRAND48_R_PROTO:
+ *     This symbol encodes the prototype of drand48_r.
+ */
+/*#define HAS_DRAND48_R           /**/
+#define DRAND48_R_PROTO 0         /**/
+
 /* HAS_DRAND48_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the drand48() function.  Otherwise, it is up
  *     to the program to supply one.  A good guess is
- *             extern double drand48 _((void));
+ *             extern double drand48(void);
  */
 /*#define      HAS_DRAND48_PROTO       /**/
 
  */
 /*#define HAS_ENDGRENT         /**/
 
+/* HAS_ENDGRENT_R:
+ *     This symbol, if defined, indicates that the endgrent_r routine
+ *     is available to endgrent re-entrantly.
+ */
+/* ENDGRENT_R_PROTO:
+ *     This symbol encodes the prototype of endgrent_r.
+ */
+/*#define HAS_ENDGRENT_R          /**/
+#define ENDGRENT_R_PROTO 0        /**/
+
 /* HAS_ENDHOSTENT:
  *     This symbol, if defined, indicates that the endhostent() routine is
  *     available to close whatever was being used for host queries.
  */
 /*#define HAS_ENDPWENT         /**/
 
+/* HAS_ENDPWENT_R:
+ *     This symbol, if defined, indicates that the endpwent_r routine
+ *     is available to endpwent re-entrantly.
+ */
+/* ENDPWENT_R_PROTO:
+ *     This symbol encodes the prototype of endpwent_r.
+ */
+/*#define HAS_ENDPWENT_R          /**/
+#define ENDPWENT_R_PROTO 0        /**/
+
 /* HAS_ENDSERVENT:
  *     This symbol, if defined, indicates that the endservent() routine is
  *     available to close whatever was being used for service queries.
  */
 #define HAS_FD_SET     /**/
 
+/* HAS_FINITE:
+ *     This symbol, if defined, indicates that the finite routine is
+ *     available to check whether a double is finite (non-infinity non-NaN).
+ */
+/*#define HAS_FINITE           /**/
+
+/* HAS_FINITEL:
+ *     This symbol, if defined, indicates that the finitel routine is
+ *     available to check whether a long double is finite
+ *     (non-infinity non-NaN).
+ */
+/*#define HAS_FINITEL          /**/
+
 /* FLEXFILENAMES:
  *     This symbol, if defined, indicates that the system supports filenames
  *     longer than 14 characters.
  */
 #define        FLEXFILENAMES           /**/
 
+/* HAS_FP_CLASS:
+ *     This symbol, if defined, indicates that the fp_class routine is
+ *     available to classify doubles.  Available for example in Digital UNIX.
+ *     The returned values are defined in <math.h> and are:
+ *
+ *     FP_SNAN           Signaling NaN (Not-a-Number)
+ *     FP_QNAN           Quiet NaN (Not-a-Number)
+ *     FP_POS_INF        +infinity
+ *     FP_NEG_INF        -infinity
+ *     FP_POS_NORM       Positive normalized
+ *     FP_NEG_NORM       Negative normalized
+ *     FP_POS_DENORM     Positive denormalized
+ *     FP_NEG_DENORM     Negative denormalized
+ *     FP_POS_ZERO       +0.0 (positive zero)
+ *     FP_NEG_ZERO       -0.0 (negative zero)
+ */
+/*#define HAS_FP_CLASS         /**/
+
+/* HAS_FPCLASS:
+ *     This symbol, if defined, indicates that the fpclass routine is
+ *     available to classify doubles.  Available for example in Solaris/SVR4.
+ *     The returned values are defined in <ieeefp.h> and are:
+ *
+ *     FP_SNAN         signaling NaN
+ *     FP_QNAN         quiet NaN
+ *     FP_NINF         negative infinity
+ *     FP_PINF         positive infinity
+ *     FP_NDENORM      negative denormalized non-zero
+ *     FP_PDENORM      positive denormalized non-zero
+ *     FP_NZERO        negative zero
+ *     FP_PZERO        positive zero
+ *     FP_NNORM        negative normalized non-zero
+ *     FP_PNORM        positive normalized non-zero
+ */
+/*#define HAS_FPCLASS          /**/
+
+/* HAS_FPCLASSIFY:
+ *     This symbol, if defined, indicates that the fpclassify routine is
+ *     available to classify doubles.  Available for example in HP-UX.
+ *     The returned values are defined in <math.h> and are
+ *
+ *           FP_NORMAL     Normalized
+ *           FP_ZERO       Zero
+ *           FP_INFINITE   Infinity
+ *           FP_SUBNORMAL  Denormalized
+ *           FP_NAN        NaN
+ *
+ */
+/*#define HAS_FPCLASSIFY               /**/
+
 /* HAS_FPOS64_T:
  *     This symbol will be defined if the C compiler supports fpos64_t.
  */
  *     a macro using sprintf("%g") is used. Arguments for the Gconvert
  *     macro are: value, number of digits, whether trailing zeros should
  *     be retained, and the output buffer.
- *     Possible values are:
+ *     The usual values are:
  *             d_Gconvert='gconvert((x),(n),(t),(b))'
  *             d_Gconvert='gcvt((x),(n),(b))'
  *             d_Gconvert='sprintf((b),"%.*g",(n),(x))'
  */
 /*#define HAS_GETGRENT         /**/
 
+/* HAS_GETGRENT_R:
+ *     This symbol, if defined, indicates that the getgrent_r routine
+ *     is available to getgrent re-entrantly.
+ */
+/* GETGRENT_R_PROTO:
+ *     This symbol encodes the prototype of getgrent_r.
+ */
+/*#define HAS_GETGRENT_R          /**/
+#define GETGRENT_R_PROTO 0        /**/
+
+/* HAS_GETGRGID_R:
+ *     This symbol, if defined, indicates that the getgrgid_r routine
+ *     is available to getgrgid re-entrantly.
+ */
+/* GETGRGID_R_PROTO:
+ *     This symbol encodes the prototype of getgrgid_r.
+ */
+/*#define HAS_GETGRGID_R          /**/
+#define GETGRGID_R_PROTO 0        /**/
+
+/* HAS_GETGRNAM_R:
+ *     This symbol, if defined, indicates that the getgrnam_r routine
+ *     is available to getgrnam re-entrantly.
+ */
+/* GETGRNAM_R_PROTO:
+ *     This symbol encodes the prototype of getgrnam_r.
+ */
+/*#define HAS_GETGRNAM_R          /**/
+#define GETGRNAM_R_PROTO 0        /**/
+
 /* HAS_GETHOSTBYADDR:
  *     This symbol, if defined, indicates that the gethostbyaddr() routine is
  *     available to look up hosts by their IP addresses.
  */
 /*#define HAS_GETITIMER                /**/
 
+/* HAS_GETLOGIN_R:
+ *     This symbol, if defined, indicates that the getlogin_r routine
+ *     is available to getlogin re-entrantly.
+ */
+/* GETLOGIN_R_PROTO:
+ *     This symbol encodes the prototype of getlogin_r.
+ */
+/*#define HAS_GETLOGIN_R          /**/
+#define GETLOGIN_R_PROTO 0        /**/
+
 /* HAS_GETMNT:
  *     This symbol, if defined, indicates that the getmnt routine is
  *     available to get filesystem mount info by filename.
  */
 /*#define HAS_GETPWENT         /**/
 
+/* HAS_GETPWENT_R:
+ *     This symbol, if defined, indicates that the getpwent_r routine
+ *     is available to getpwent re-entrantly.
+ */
+/* GETPWENT_R_PROTO:
+ *     This symbol encodes the prototype of getpwent_r.
+ */
+/*#define HAS_GETPWENT_R          /**/
+#define GETPWENT_R_PROTO 0        /**/
+
+/* HAS_GETPWNAM_R:
+ *     This symbol, if defined, indicates that the getpwnam_r routine
+ *     is available to getpwnam re-entrantly.
+ */
+/* GETPWNAM_R_PROTO:
+ *     This symbol encodes the prototype of getpwnam_r.
+ */
+/*#define HAS_GETPWNAM_R          /**/
+#define GETPWNAM_R_PROTO 0        /**/
+
+/* HAS_GETPWUID_R:
+ *     This symbol, if defined, indicates that the getpwuid_r routine
+ *     is available to getpwuid re-entrantly.
+ */
+/* GETPWUID_R_PROTO:
+ *     This symbol encodes the prototype of getpwuid_r.
+ */
+/*#define HAS_GETPWUID_R          /**/
+#define GETPWUID_R_PROTO 0        /**/
+
 /* HAS_GETSERVENT:
  *     This symbol, if defined, indicates that the getservent() routine is
  *     available to look up network services in some data base or another.
  */
 /*#define HAS_GETSPNAM         /**/
 
+/* HAS_GETSPNAM_R:
+ *     This symbol, if defined, indicates that the getspnam_r routine
+ *     is available to getspnam re-entrantly.
+ */
+/* GETSPNAM_R_PROTO:
+ *     This symbol encodes the prototype of getspnam_r.
+ */
+/*#define HAS_GETSPNAM_R          /**/
+#define GETSPNAM_R_PROTO 0        /**/
+
 /* HAS_GETSERVBYNAME:
  *     This symbol, if defined, indicates that the getservbyname()
  *     routine is available to look up services by their name.
 #define HAS_GETSERVBYNAME              /**/
 #define HAS_GETSERVBYPORT              /**/
 
+/* HAS_GMTIME_R:
+ *     This symbol, if defined, indicates that the gmtime_r routine
+ *     is available to gmtime re-entrantly.
+ */
+/* GMTIME_R_PROTO:
+ *     This symbol encodes the prototype of gmtime_r.
+ */
+/*#define HAS_GMTIME_R    /**/
+#define GMTIME_R_PROTO 0          /**/
+
 /* HAS_GNULIBC:
  *     This symbol, if defined, indicates to the C program that 
- *     the GNU C library is being used.
+ *     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          /**/
 #if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
  */
 #define HAS_ISASCII            /**/
 
+/* 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_ISINF:
+ *     This symbol, if defined, indicates that the isinf routine is
+ *     available to check whether a double is an infinity.
+ */
+/*#define HAS_ISINF            /**/
+
 /* HAS_ISNAN:
  *     This symbol, if defined, indicates that the isnan routine is
  *     available to check whether a double is a NaN.
  */
 #define HAS_LDBL_DIG   /**/
 
+/* HAS_LOCALTIME_R:
+ *     This symbol, if defined, indicates that the localtime_r routine
+ *     is available to localtime re-entrantly.
+ */
+/* LOCALTIME_R_PROTO:
+ *     This symbol encodes the prototype of localtime_r.
+ */
+/*#define HAS_LOCALTIME_R         /**/
+#define LOCALTIME_R_PROTO 0       /**/
+
 /* HAS_LONG_DOUBLE:
  *     This symbol will be defined if the C compiler supports long
  *     doubles.
 #define SCHED_YIELD            /**/
 /*#define HAS_SCHED_YIELD      /**/
 
+/* HAS_RANDOM_R:
+ *     This symbol, if defined, indicates that the random_r routine
+ *     is available to random re-entrantly.
+ */
+/* RANDOM_R_PROTO:
+ *     This symbol encodes the prototype of random_r.
+ */
+/*#define HAS_RANDOM_R    /**/
+#define RANDOM_R_PROTO 0          /**/
+
+/* HAS_READDIR_R:
+ *     This symbol, if defined, indicates that the readdir_r routine
+ *     is available to readdir re-entrantly.
+ */
+/* READDIR_R_PROTO:
+ *     This symbol encodes the prototype of readdir_r.
+ */
+/*#define HAS_READDIR_R           /**/
+#define READDIR_R_PROTO 0         /**/
+
 /* HAS_READV:
  *     This symbol, if defined, indicates that the readv routine is
  *     available to do gather reads.  You will also need <sys/uio.h>
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the sbrk() function.  Otherwise, it is up
  *     to the program to supply one.  Good guesses are
- *             extern void* sbrk _((int));
- *             extern void* sbrk _((size_t));
+ *             extern void* sbrk(int);
+ *             extern void* sbrk(size_t);
  */
 /*#define      HAS_SBRK_PROTO  /**/
 
  */
 /*#define HAS_SETGRENT         /**/
 
+/* HAS_SETGRENT_R:
+ *     This symbol, if defined, indicates that the setgrent_r routine
+ *     is available to setgrent re-entrantly.
+ */
+/* SETGRENT_R_PROTO:
+ *     This symbol encodes the prototype of setgrent_r.
+ */
+/*#define HAS_SETGRENT_R          /**/
+#define SETGRENT_R_PROTO 0        /**/
+
 /* HAS_SETGROUPS:
  *     This symbol, if defined, indicates that the setgroups() routine is
  *     available to set the list of process groups.  If unavailable, multiple
  */
 /*#define HAS_SETPWENT         /**/
 
+/* HAS_SETPWENT_R:
+ *     This symbol, if defined, indicates that the setpwent_r routine
+ *     is available to setpwent re-entrantly.
+ */
+/* SETPWENT_R_PROTO:
+ *     This symbol encodes the prototype of setpwent_r.
+ */
+/*#define HAS_SETPWENT_R          /**/
+#define SETPWENT_R_PROTO 0        /**/
+
 /* HAS_SETSERVENT:
  *     This symbol, if defined, indicates that the setservent() routine is
  *     available.
  */
 /*#define HAS_SQRTL            /**/
 
+/* HAS_SRAND48_R:
+ *     This symbol, if defined, indicates that the srand48_r routine
+ *     is available to srand48 re-entrantly.
+ */
+/* SRAND48_R_PROTO:
+ *     This symbol encodes the prototype of srand48_r.
+ */
+/*#define HAS_SRAND48_R           /**/
+#define SRAND48_R_PROTO 0         /**/
+
+/* HAS_SRANDOM_R:
+ *     This symbol, if defined, indicates that the srandom_r routine
+ *     is available to srandom re-entrantly.
+ */
+/* SRANDOM_R_PROTO:
+ *     This symbol encodes the prototype of srandom_r.
+ */
+/*#define HAS_SRANDOM_R           /**/
+#define SRANDOM_R_PROTO 0         /**/
+
 /* USE_STAT_BLOCKS:
  *     This symbol is defined if this system has a stat structure declaring
  *     st_blksize and st_blocks.
 #define HAS_SYS_ERRLIST        /**/
 #define Strerror(e) strerror(e)
 
+/* HAS_STRERROR_R:
+ *     This symbol, if defined, indicates that the strerror_r routine
+ *     is available to strerror re-entrantly.
+ */
+/* STRERROR_R_PROTO:
+ *     This symbol encodes the prototype of strerror_r.
+ */
+/*#define HAS_STRERROR_R          /**/
+#define STRERROR_R_PROTO 0        /**/
+
 /* HAS_STRTOLD:
  *     This symbol, if defined, indicates that the strtold routine is
  *     available to convert strings to long doubles.
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the telldir() function.  Otherwise, it is up
  *     to the program to supply one.  A good guess is
- *             extern long telldir _((DIR*));
+ *             extern long telldir(DIR*);
  */
 #define        HAS_TELLDIR_PROTO       /**/
 
+/* HAS_TIME:
+ *     This symbol, if defined, indicates that the time() routine exists.
+ */
 /* Time_t:
  *     This symbol holds the type returned by time(). It can be long,
  *     or time_t on BSD sites (in which case <sys/types.h> should be
  *     included).
  */
+#define HAS_TIME               /**/
 #define Time_t time_t          /* Time type */
 
 /* HAS_TIMES:
  */
 #define HAS_TIMES              /**/
 
+/* HAS_TMPNAM_R:
+ *     This symbol, if defined, indicates that the tmpnam_r routine
+ *     is available to tmpnam re-entrantly.
+ */
+/* TMPNAM_R_PROTO:
+ *     This symbol encodes the prototype of tmpnam_r.
+ */
+/*#define HAS_TMPNAM_R    /**/
+#define TMPNAM_R_PROTO 0          /**/
+
 /* HAS_UALARM:
  *     This symbol, if defined, indicates that the ualarm routine is
  *     available to do alarms with microsecond granularity.
 /*#define USE_SEMCTL_SEMUN     /**/
 /*#define USE_SEMCTL_SEMID_DS  /**/
 
+/* HAS_UNORDERED:
+ *     This symbol, if defined, indicates that the unordered routine is
+ *     available to check whether two doubles are unordered
+ *     (effectively: whether either of them is NaN)
+ */
+/*#define HAS_UNORDERED                /**/
+
 /* HAS_USTAT:
  *     This symbol, if defined, indicates that the ustat system call is
  *     available to query file system statistics by dev_t.
  */
 #define DB_Hash_t      int             /**/
 #define DB_Prefix_t    int     /**/
-#define DB_VERSION_MAJOR_CFG   undef   /**/
-#define DB_VERSION_MINOR_CFG   undef   /**/
-#define DB_VERSION_PATCH_CFG   undef   /**/
+#define DB_VERSION_MAJOR_CFG   0       /**/
+#define DB_VERSION_MINOR_CFG   0       /**/
+#define DB_VERSION_PATCH_CFG   0       /**/
+
+/* I_FP_CLASS:
+ *     This symbol, if defined, indicates that <fp_class.h> exists and
+ *     should be included.
+ */
+/*#define      I_FP_CLASS              /**/
 
 /* I_GRP:
  *     This symbol, if defined, indicates to the C program that it should
  *     This symbol, if defined, indicates to the C program that it should
  *     include <sys/time.h> with KERNEL defined.
  */
+/* HAS_TM_TM_ZONE:
+ *     This symbol, if defined, indicates to the C program that
+ *     the struct tm has a tm_zone field.
+ */
 #define I_TIME         /**/
 /*#define I_SYS_TIME           /**/
 /*#define I_SYS_TIME_KERNEL            /**/
+/*#define HAS_TM_TM_ZONE               /**/
 
 /* I_USTAT:
  *     This symbol, if defined, indicates that <ustat.h> exists and
 /*#define PERL_PRIfldbl        "f"     /**/
 /*#define PERL_PRIgldbl        "g"     /**/
 /*#define PERL_PRIeldbl        "e"     /**/
-/*#define PERL_SCNfldbl        undef   /**/
+/*#define PERL_SCNfldbl        "f"     /**/
 
 /* Off_t:
  *     This symbol holds the type used to declare offsets in the kernel.
  *     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 "c:\\perl\\5.7.2\\lib"         /**/
-#define PRIVLIB_EXP (win32_get_privlib("5.7.2"))       /**/
+#define PRIVLIB "c:\\perl\\lib"                /**/
+#define PRIVLIB_EXP (win32_get_privlib("5.8.0"))       /**/
 
 /* PTRSIZE:
  *     This symbol contains the size of a pointer, so that the C preprocessor
  *     This variable contains the number of elements of the sig_name
  *     and sig_num arrays, excluding the final NULL entry.
  */
-#define SIG_NAME "ZERO", "NUM01", "INT", "QUIT", "ILL", "NUM05", "NUM06", "NUM07", "FPE", "KILL", "NUM10", "SEGV", "NUM12", "PIPE", "ALRM", "TERM", "NUM16", "NUM17", "NUM18", "NUM19", "CHLD", "BREAK", "ABRT", "STOP", "NUM24", "CONT", "CLD", 0             /**/
-#define SIG_NUM  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0           /**/
+#define SIG_NAME "ZERO", "HUP", "INT", "QUIT", "ILL", "NUM05", "NUM06", "NUM07", "FPE", "KILL", "NUM10", "SEGV", "NUM12", "PIPE", "ALRM", "TERM", "NUM16", "NUM17", "NUM18", "NUM19", "CHLD", "BREAK", "ABRT", "STOP", "NUM24", "CONT", "CLD", 0               /**/
+#define SIG_NUM  0, 1, 2, 21, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0          /**/
 #define SIG_SIZE 27                    /**/
 
 /* SITEARCH:
  *     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 "c:\\perl\\site\\5.7.2\\lib\\MSWin32-x86-multi-thread"                /**/
+#define SITEARCH "c:\\perl\\site\\lib"         /**/
 /*#define SITEARCH_EXP ""      /**/
 
 /* SITELIB:
  *     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 "c:\\perl\\site\\5.7.2\\lib"           /**/
-#define SITELIB_EXP (win32_get_sitelib("5.7.2"))       /**/
+#define SITELIB "c:\\perl\\site\\lib"          /**/
+#define SITELIB_EXP (win32_get_sitelib("5.8.0"))       /**/
 #define SITELIB_STEM ""                /**/
 
 /* Size_t_size:
 /*#define      USE_5005THREADS         /**/
 #define        USE_ITHREADS            /**/
 #if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
-#define                USE_5005THREADS         /* until src is revised*/
+#define                USE_THREADS             /* until src is revised*/
 #endif
 /*#define      OLD_PTHREADS_API                /**/
 /*#define      USE_REENTRANT_API       /**/
 /* 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 c:\\perl\\site\\5.7.2\\lib\\MSWin32-x86-multi-thread for older
+ *     lib/lib.pm will automatically search in c:\\perl\\site\\lib 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
+ *     Since this can depend on compile time options
+ *     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
  *     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 c:\\perl\\site\\5.7.2\\lib for older directories across major versions
+ *     search in c:\\perl\\site\\lib 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
  *     (presumably) be similar.
  *     See the INSTALL file for how this works.
  */
-#define PERL_XS_APIVERSION "5.6.0"
+#define PERL_XS_APIVERSION "5.8.0"
 #define PERL_PM_APIVERSION "5.005"
 
+/* HAS_CRYPT:
+ *     This symbol, if defined, indicates that the crypt routine is available
+ *     to encrypt passwords and the like.
+ */
+/*#define HAS_CRYPT            /**/
+
 /* 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.
 /*#define SETUID_SCRIPTS_ARE_SECURE_NOW        /**/
 /*#define DOSUID               /**/
 
+/* Shmat_t:
+ *     This symbol holds the return type of the shmat() system call.
+ *     Usually set to 'void *' or 'char *'.
+ */
+/* HAS_SHMAT_PROTOTYPE:
+ *     This symbol, if defined, indicates that the sys/shm.h includes
+ *     a prototype for shmat().  Otherwise, it is up to the program to
+ *     guess one.  Shmat_t shmat(int, Shmat_t, int) is a good guess,
+ *     but not always right so it should be emitted by the program only
+ *     when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
+ */
+#define Shmat_t void * /**/
+/*#define HAS_SHMAT_PROTOTYPE  /**/
+
+/* I_NDBM:
+ *     This symbol, if defined, indicates that <ndbm.h> exists and should
+ *     be included.
+ */
+/*#define I_NDBM       /**/
+
 /* I_STDARG:
  *     This symbol, if defined, indicates that <stdarg.h> exists and should
  *     be included.
 #define I_STDARG               /**/
 /*#define I_VARARGS    /**/
 
+/* 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[]));
+ */
+#define        CAN_PROTOTYPE   /**/
+#ifdef CAN_PROTOTYPE
+#define        _(args) args
+#else
+#define        _(args) ()
+#endif
+
+/* SH_PATH:
+ *     This symbol contains the full pathname to the shell used on this
+ *     on this system to execute Bourne shell scripts.  Usually, this will be
+ *     /bin/sh, though it's possible that some systems will have /bin/ksh,
+ *     /bin/pdksh, /bin/ash, /bin/bash, or even something such as
+ *     D:/bin/sh.exe.
+ */
+#define SH_PATH "cmd /x /c"  /**/
+
 /* USE_CROSS_COMPILE:
  *     This symbol, if defined, indicates that Perl is being cross-compiled.
  */
  */
 #ifndef USE_CROSS_COMPILE
 /*#define      USE_CROSS_COMPILE       /**/
-#define        PERL_TARGETARCH "undef" /**/
+#define        PERL_TARGETARCH ""      /**/
 #endif
 
 /* HAS_DBMINIT_PROTO:
  */
 /*#define      HAS_DBMINIT_PROTO       /**/
 
+/* HAS_DIRFD:
+ *     This manifest constant lets the C program know that dirfd
+ *     is available.
+ */
+/*#define HAS_DIRFD            /**/
+
 /* HAS_FLOCK_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the flock() function.  Otherwise, it is up
  *     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
+ *     available to classify long doubles.  Available for example in IRIX.
+ *     The returned values are defined in <ieeefp.h> and are:
+ *
+ *     FP_SNAN         signaling NaN
+ *     FP_QNAN         quiet NaN
+ *     FP_NINF         negative infinity
+ *     FP_PINF         positive infinity
+ *     FP_NDENORM      negative denormalized non-zero
+ *     FP_PDENORM      positive denormalized non-zero
+ *     FP_NZERO        negative zero
+ *     FP_PZERO        positive zero
+ *     FP_NNORM        negative normalized non-zero
+ *     FP_PNORM        positive normalized non-zero
+ */
+/*#define HAS_FPCLASSL         /**/
 
 /* HAS_NL_LANGINFO:
  *     This symbol, if defined, indicates that the nl_langinfo routine is
  */
 /*#define HAS_NL_LANGINFO              /**/
 
+/* HAS_PROCSELFEXE:
+ *     This symbol is defined if PROCSELFEXE_PATH is a symlink
+ *     to the absolute pathname of the executing program.
+ */
+/* PROCSELFEXE_PATH:
+ *     If HAS_PROCSELFEXE is defined this symbol is the filename
+ *     of the symbolic link pointing to the absolute pathname of
+ *     the executing program.
+ */
+/*#define HAS_PROCSELFEXE      /**/
+#if defined(HAS_PROCSELFEXE) && !defined(PROCSELFEXE_PATH)
+#define PROCSELFEXE_PATH               /**/
+#endif
+
 /* HAS_SIGPROCMASK:
  *     This symbol, if defined, indicates that the sigprocmask
  *     system call is available to examine or change the signal mask
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the sockatmark() function.  Otherwise, it is up
  *     to the program to supply one.  A good guess is
- *             extern int sockatmark _((int));
+ *             extern int sockatmark(int);
  */
 /*#define      HAS_SOCKATMARK_PROTO    /**/
 
  *     This symbol, if defined, indicates that you must access
  *     character data through U32-aligned pointers.
  */
+#ifndef U32_ALIGNMENT_REQUIRED
 #define U32_ALIGNMENT_REQUIRED /**/
+#endif
 
 /* HAS_USLEEP_PROTO:
  *     This symbol, if defined, indicates that the system provides
  */
 /*#define      HAS_USLEEP_PROTO        /**/
 
+/* I_CRYPT:
+ *     This symbol, if defined, indicates that <crypt.h> exists and
+ *     should be included.
+ */
+/*#define      I_CRYPT         /**/
+
+/* I_FP:
+ *     This symbol, if defined, indicates that <fp.h> exists and
+ *     should be included.
+ */
+/*#define      I_FP            /**/
+
 /* I_LANGINFO:
  *     This symbol, if defined, indicates that <langinfo.h> exists and
  *     should be included.
  */
 /*#define      I_LANGINFO              /**/
 
+/* HAS_CTERMID_R:
+ *     This symbol, if defined, indicates that the ctermid_r routine
+ *     is available to ctermid re-entrantly.
+ */
+/* CTERMID_R_PROTO:
+ *     This symbol encodes the prototype of ctermid_r.
+ */
+/*#define HAS_CTERMID_R           /**/
+#define CTERMID_R_PROTO 0         /**/
+
+/* HAS_ENDHOSTENT_R:
+ *     This symbol, if defined, indicates that the endhostent_r routine
+ *     is available to endhostent re-entrantly.
+ */
+/* ENDHOSTENT_R_PROTO:
+ *     This symbol encodes the prototype of endhostent_r.
+ */
+/*#define HAS_ENDHOSTENT_R        /**/
+#define ENDHOSTENT_R_PROTO 0      /**/
+
+/* HAS_ENDNETENT_R:
+ *     This symbol, if defined, indicates that the endnetent_r routine
+ *     is available to endnetent re-entrantly.
+ */
+/* ENDNETENT_R_PROTO:
+ *     This symbol encodes the prototype of endnetent_r.
+ */
+/*#define HAS_ENDNETENT_R         /**/
+#define ENDNETENT_R_PROTO 0       /**/
+
+/* HAS_ENDPROTOENT_R:
+ *     This symbol, if defined, indicates that the endprotoent_r routine
+ *     is available to endprotoent re-entrantly.
+ */
+/* ENDPROTOENT_R_PROTO:
+ *     This symbol encodes the prototype of endprotoent_r.
+ */
+/*#define HAS_ENDPROTOENT_R       /**/
+#define ENDPROTOENT_R_PROTO 0     /**/
+
+/* HAS_ENDSERVENT_R:
+ *     This symbol, if defined, indicates that the endservent_r routine
+ *     is available to endservent re-entrantly.
+ */
+/* ENDSERVENT_R_PROTO:
+ *     This symbol encodes the prototype of endservent_r.
+ */
+/*#define HAS_ENDSERVENT_R        /**/
+#define ENDSERVENT_R_PROTO 0      /**/
+
+/* HAS_GETHOSTBYADDR_R:
+ *     This symbol, if defined, indicates that the gethostbyaddr_r routine
+ *     is available to gethostbyaddr re-entrantly.
+ */
+/* GETHOSTBYADDR_R_PROTO:
+ *     This symbol encodes the prototype of gethostbyaddr_r.
+ */
+/*#define HAS_GETHOSTBYADDR_R     /**/
+#define GETHOSTBYADDR_R_PROTO 0           /**/
+
+/* HAS_GETHOSTBYNAME_R:
+ *     This symbol, if defined, indicates that the gethostbyname_r routine
+ *     is available to gethostbyname re-entrantly.
+ */
+/* GETHOSTBYNAME_R_PROTO:
+ *     This symbol encodes the prototype of gethostbyname_r.
+ */
+/*#define HAS_GETHOSTBYNAME_R     /**/
+#define GETHOSTBYNAME_R_PROTO 0           /**/
+
+/* HAS_GETHOSTENT_R:
+ *     This symbol, if defined, indicates that the gethostent_r routine
+ *     is available to gethostent re-entrantly.
+ */
+/* GETHOSTENT_R_PROTO:
+ *     This symbol encodes the prototype of gethostent_r.
+ */
+/*#define HAS_GETHOSTENT_R        /**/
+#define GETHOSTENT_R_PROTO 0      /**/
+
+/* HAS_GETNETBYADDR_R:
+ *     This symbol, if defined, indicates that the getnetbyaddr_r routine
+ *     is available to getnetbyaddr re-entrantly.
+ */
+/* GETNETBYADDR_R_PROTO:
+ *     This symbol encodes the prototype of getnetbyaddr_r.
+ */
+/*#define HAS_GETNETBYADDR_R      /**/
+#define GETNETBYADDR_R_PROTO 0    /**/
+
+/* HAS_GETNETBYNAME_R:
+ *     This symbol, if defined, indicates that the getnetbyname_r routine
+ *     is available to getnetbyname re-entrantly.
+ */
+/* GETNETBYNAME_R_PROTO:
+ *     This symbol encodes the prototype of getnetbyname_r.
+ */
+/*#define HAS_GETNETBYNAME_R      /**/
+#define GETNETBYNAME_R_PROTO 0    /**/
+
+/* HAS_GETNETENT_R:
+ *     This symbol, if defined, indicates that the getnetent_r routine
+ *     is available to getnetent re-entrantly.
+ */
+/* GETNETENT_R_PROTO:
+ *     This symbol encodes the prototype of getnetent_r.
+ */
+/*#define HAS_GETNETENT_R         /**/
+#define GETNETENT_R_PROTO 0       /**/
+
+/* HAS_GETPROTOBYNAME_R:
+ *     This symbol, if defined, indicates that the getprotobyname_r routine
+ *     is available to getprotobyname re-entrantly.
+ */
+/* GETPROTOBYNAME_R_PROTO:
+ *     This symbol encodes the prototype of getprotobyname_r.
+ */
+/*#define HAS_GETPROTOBYNAME_R    /**/
+#define GETPROTOBYNAME_R_PROTO 0          /**/
+
+/* HAS_GETPROTOBYNUMBER_R:
+ *     This symbol, if defined, indicates that the getprotobynumber_r routine
+ *     is available to getprotobynumber re-entrantly.
+ */
+/* GETPROTOBYNUMBER_R_PROTO:
+ *     This symbol encodes the prototype of getprotobynumber_r.
+ */
+/*#define HAS_GETPROTOBYNUMBER_R          /**/
+#define GETPROTOBYNUMBER_R_PROTO 0        /**/
+
+/* HAS_GETPROTOENT_R:
+ *     This symbol, if defined, indicates that the getprotoent_r routine
+ *     is available to getprotoent re-entrantly.
+ */
+/* GETPROTOENT_R_PROTO:
+ *     This symbol encodes the prototype of getprotoent_r.
+ */
+/*#define HAS_GETPROTOENT_R       /**/
+#define GETPROTOENT_R_PROTO 0     /**/
+
+/* HAS_GETSERVBYNAME_R:
+ *     This symbol, if defined, indicates that the getservbyname_r routine
+ *     is available to getservbyname re-entrantly.
+ */
+/* GETSERVBYNAME_R_PROTO:
+ *     This symbol encodes the prototype of getservbyname_r.
+ */
+/*#define HAS_GETSERVBYNAME_R     /**/
+#define GETSERVBYNAME_R_PROTO 0           /**/
+
+/* HAS_GETSERVBYPORT_R:
+ *     This symbol, if defined, indicates that the getservbyport_r routine
+ *     is available to getservbyport re-entrantly.
+ */
+/* GETSERVBYPORT_R_PROTO:
+ *     This symbol encodes the prototype of getservbyport_r.
+ */
+/*#define HAS_GETSERVBYPORT_R     /**/
+#define GETSERVBYPORT_R_PROTO 0           /**/
+
+/* HAS_GETSERVENT_R:
+ *     This symbol, if defined, indicates that the getservent_r routine
+ *     is available to getservent re-entrantly.
+ */
+/* GETSERVENT_R_PROTO:
+ *     This symbol encodes the prototype of getservent_r.
+ */
+/*#define HAS_GETSERVENT_R        /**/
+#define GETSERVENT_R_PROTO 0      /**/
+
 /* HAS_PTHREAD_ATFORK:
  *     This symbol, if defined, indicates that the pthread_atfork routine
  *     is available setup fork handlers.
  */
 /*#define HAS_PTHREAD_ATFORK           /**/
 
+/* HAS_READDIR64_R:
+ *     This symbol, if defined, indicates that the readdir64_r routine
+ *     is available to readdir64 re-entrantly.
+ */
+/* READDIR64_R_PROTO:
+ *     This symbol encodes the prototype of readdir64_r.
+ */
+/*#define HAS_READDIR64_R         /**/
+#define READDIR64_R_PROTO 0       /**/
+
+/* HAS_SETHOSTENT_R:
+ *     This symbol, if defined, indicates that the sethostent_r routine
+ *     is available to sethostent re-entrantly.
+ */
+/* SETHOSTENT_R_PROTO:
+ *     This symbol encodes the prototype of sethostent_r.
+ */
+/*#define HAS_SETHOSTENT_R        /**/
+#define SETHOSTENT_R_PROTO 0      /**/
+
+/* HAS_SETLOCALE_R:
+ *     This symbol, if defined, indicates that the setlocale_r routine
+ *     is available to setlocale re-entrantly.
+ */
+/* SETLOCALE_R_PROTO:
+ *     This symbol encodes the prototype of setlocale_r.
+ */
+/*#define HAS_SETLOCALE_R         /**/
+#define SETLOCALE_R_PROTO 0       /**/
+
+/* HAS_SETNETENT_R:
+ *     This symbol, if defined, indicates that the setnetent_r routine
+ *     is available to setnetent re-entrantly.
+ */
+/* SETNETENT_R_PROTO:
+ *     This symbol encodes the prototype of setnetent_r.
+ */
+/*#define HAS_SETNETENT_R         /**/
+#define SETNETENT_R_PROTO 0       /**/
+
+/* HAS_SETPROTOENT_R:
+ *     This symbol, if defined, indicates that the setprotoent_r routine
+ *     is available to setprotoent re-entrantly.
+ */
+/* SETPROTOENT_R_PROTO:
+ *     This symbol encodes the prototype of setprotoent_r.
+ */
+/*#define HAS_SETPROTOENT_R       /**/
+#define SETPROTOENT_R_PROTO 0     /**/
+
+/* HAS_SETSERVENT_R:
+ *     This symbol, if defined, indicates that the setservent_r routine
+ *     is available to setservent re-entrantly.
+ */
+/* SETSERVENT_R_PROTO:
+ *     This symbol encodes the prototype of setservent_r.
+ */
+/*#define HAS_SETSERVENT_R        /**/
+#define SETSERVENT_R_PROTO 0      /**/
+
+/* HAS_TTYNAME_R:
+ *     This symbol, if defined, indicates that the ttyname_r routine
+ *     is available to ttyname re-entrantly.
+ */
+/* TTYNAME_R_PROTO:
+ *     This symbol encodes the prototype of ttyname_r.
+ */
+/*#define HAS_TTYNAME_R           /**/
+#define TTYNAME_R_PROTO 0         /**/
+
 #endif