Update Win32 canned configs
authorJan Dubois <jand@activestate.com>
Mon, 7 Jul 2008 15:58:48 +0000 (08:58 -0700)
committerSteve Hay <SteveHay@planit.com>
Wed, 9 Jul 2008 14:02:30 +0000 (14:02 +0000)
Adds new values introduced by #34105/34107, incorporating this patch:

Subject: RE: New probes
From: "Jan Dubois" <jand@activestate.com>
Message-ID: <072601c8e085$04694860$0d3bd920$@com>

The appropriate values for the other compilers were determined by
running the probe functions added to Configure by #34105/34112/34114.
(Note that VC8 requires an invalid parameter handler to run those
functions without crashing, and both VC8 and VC9 need %I64d rather
than %ld to output the appropriate values.)

Also applies the changes to the config_H.* files, together with changes
for #33597/33598/33949 which never got added to them.

p4raw-id: //depot/perl@34115

win32/config.bc
win32/config.gc
win32/config.vc
win32/config.vc64
win32/config_H.bc
win32/config_H.gc
win32/config_H.vc
win32/config_H.vc64
win32/config_sh.PL

index 321a82a..c857637 100644 (file)
@@ -471,6 +471,7 @@ d_tcsetpgrp='undef'
 d_telldir='define'
 d_telldirproto='define'
 d_time='define'
+d_timegm='undef'
 d_times='define'
 d_tm_tm_gmtoff='undef'
 d_tm_tm_zone='undef'
@@ -859,6 +860,8 @@ rm='del'
 rmail=''
 run=''
 runnm='true'
+sGMTIME_max="2147483647"
+sGMTIME_min="-2147483648"
 sPRIEUldbl='"E"'
 sPRIFUldbl='"F"'
 sPRIGUldbl='"G"'
index 8afb061..9cb80b2 100644 (file)
@@ -471,6 +471,7 @@ d_tcsetpgrp='undef'
 d_telldir='define'
 d_telldirproto='define'
 d_time='define'
+d_timegm='undef'
 d_times='define'
 d_tm_tm_gmtoff='undef'
 d_tm_tm_zone='undef'
@@ -859,6 +860,8 @@ rm='del'
 rmail=''
 run=''
 runnm='true'
+sGMTIME_max="2147483647"
+sGMTIME_min="0"
 sPRIEUldbl='"E"'
 sPRIFUldbl='"F"'
 sPRIGUldbl='"G"'
index e42612e..f91b5b8 100644 (file)
@@ -471,6 +471,7 @@ d_tcsetpgrp='undef'
 d_telldir='define'
 d_telldirproto='define'
 d_time='define'
+d_timegm='undef'
 d_times='define'
 d_tm_tm_gmtoff='undef'
 d_tm_tm_zone='undef'
@@ -859,6 +860,8 @@ rm='del'
 rmail=''
 run=''
 runnm='true'
+sGMTIME_max="2147483647"
+sGMTIME_min="0"
 sPRIEUldbl='"E"'
 sPRIFUldbl='"F"'
 sPRIGUldbl='"G"'
index 475f806..0834ced 100644 (file)
@@ -471,6 +471,7 @@ d_tcsetpgrp='undef'
 d_telldir='define'
 d_telldirproto='define'
 d_time='define'
+d_timegm='undef'
 d_times='define'
 d_tm_tm_gmtoff='undef'
 d_tm_tm_zone='undef'
@@ -859,6 +860,8 @@ rm='del'
 rmail=''
 run=''
 runnm='true'
+sGMTIME_max="2147483647"
+sGMTIME_min="0"
 sPRIEUldbl='"E"'
 sPRIFUldbl='"F"'
 sPRIGUldbl='"G"'
index e82a75c..b32f385 100644 (file)
@@ -13,7 +13,7 @@
 /*
  * Package name      : perl5
  * Source directory  : 
- * Configuration time: Fri Feb 22 17:41:50 2008
+ * Configuration time: Wed Jul  9 14:12:37 2008
  * Configured by     : shay
  * Target system     : 
  */
  */
 #define        HAS_CHSIZE              /**/
 
+/* HAS_CRYPT:
+ *     This symbol, if defined, indicates that the crypt routine is available
+ *     to encrypt passwords and the like.
+ */
+/*#define HAS_CRYPT            /**/
+
 /* HAS_CTERMID:
  *     This symbol, if defined, indicates that the ctermid routine is
  *     available to generate filename for terminal.
  */
 #define HAS_DLERROR    /**/
 
+/* 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.
+ */
+/* DOSUID:
+ *     This symbol, if defined, indicates that the C program should
+ *     check the script that it is executing for setuid/setgid bits, and
+ *     attempt to emulate setuid/setgid on systems that have disabled
+ *     setuid #! scripts because the kernel can't do it securely.
+ *     It is up to the package designer to make sure that this emulation
+ *     is done securely.  Among other things, it should do an fstat on
+ *     the script it just opened to make sure it really is a setuid/setgid
+ *     script, it should make sure the arguments passed correspond exactly
+ *     to the argument on the #! line, and it should not trust any
+ *     subprocesses to which it must pass the filename rather than the
+ *     file descriptor of the script to be executed.
+ */
+/*#define SETUID_SCRIPTS_ARE_SECURE_NOW        /**/
+/*#define DOSUID               /**/
+
 /* HAS_DUP2:
  *     This symbol, if defined, indicates that the dup2 routine is
  *     available to duplicate file descriptors.
  */
 #define HAS_PIPE               /**/
 
+/* HAS_POLL:
+ *     This symbol, if defined, indicates that the poll routine is
+ *     available to poll active file descriptors.  Please check I_POLL and
+ *     I_SYS_POLL to know which header should be included as well.
+ */
+/*#define HAS_POLL             /**/
+
 /* HAS_READDIR:
  *     This symbol, if defined, indicates that the readdir routine is
  *     available to read directory entries. You may have to include
  */
 /*#define HAS_SETEUID          /**/
 
+/* HAS_SETGROUPS:
+ *     This symbol, if defined, indicates that the setgroups() routine is
+ *     available to set the list of process groups.  If unavailable, multiple
+ *     groups are probably not supported.
+ */
+/*#define HAS_SETGROUPS                /**/
+
 /* HAS_SETLINEBUF:
  *     This symbol, if defined, indicates that the setlinebuf routine is
  *     available to change stderr or stdout from block-buffered or unbuffered
  */
 #define HAS_WCTOMB             /**/
 
+/* Groups_t:
+ *     This symbol holds the type used for the second argument to
+ *     getgroups() and setgroups().  Usually, this is the same as
+ *     gidtype (gid_t) , but sometimes it isn't.
+ *     It can be int, ushort, gid_t, etc... 
+ *     It may be necessary to include <sys/types.h> to get any 
+ *     typedef'ed information.  This is only required if you have
+ *     getgroups() or setgroups()..
+ */
+#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
+#define Groups_t gid_t /* Type for 2nd arg to [sg]etgroups() */
+#endif
+
 /* I_ARPA_INET:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <arpa/inet.h> to get inet_addr and friends declarations.
  */
 /*#define I_SYS_PARAM          /**/
 
+/* I_SYS_POLL:
+ *     This symbol, if defined, indicates that the program may include
+ *     <sys/poll.h>.  When I_POLL is also defined, it's probably safest
+ *     to only include <poll.h>.
+ */
+/*#define I_SYS_POLL   /**/
+
 /* I_SYS_RESOURCE:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <sys/resource.h>.
 #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_CRYPT_R:
  *     This symbol, if defined, indicates that the crypt_r routine
  *     is available to crypt re-entrantly.
 /*#define HAS_CTIME_R     /**/
 #define CTIME_R_PROTO 0           /**/
 
-/* 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.
- */
-/* DOSUID:
- *     This symbol, if defined, indicates that the C program should
- *     check the script that it is executing for setuid/setgid bits, and
- *     attempt to emulate setuid/setgid on systems that have disabled
- *     setuid #! scripts because the kernel can't do it securely.
- *     It is up to the package designer to make sure that this emulation
- *     is done securely.  Among other things, it should do an fstat on
- *     the script it just opened to make sure it really is a setuid/setgid
- *     script, it should make sure the arguments passed correspond exactly
- *     to the argument on the #! line, and it should not trust any
- *     subprocesses to which it must pass the filename rather than the
- *     file descriptor of the script to be executed.
- */
-/*#define SETUID_SCRIPTS_ARE_SECURE_NOW        /**/
-/*#define DOSUID               /**/
-
 /* HAS_DRAND48_R:
  *     This symbol, if defined, indicates that the drand48_r routine
  *     is available to drand48 re-entrantly.
  */
 /*#define HAS_MSG              /**/
 
-/* HAS_POLL:
- *     This symbol, if defined, indicates that the poll routine is
- *     available to poll active file descriptors.  Please check I_POLL and
- *     I_SYS_POLL to know which header should be included as well.
- */
-/*#define HAS_POLL             /**/
-
 /* OLD_PTHREAD_CREATE_JOINABLE:
  *     This symbol, if defined, indicates how to create pthread
  *     in joinable (aka undetached) state.  NOTE: not defined
 /*#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
- *     groups are probably not supported.
- */
-/*#define HAS_SETGROUPS                /**/
-
 /* HAS_SETHOSTENT:
  *     This symbol, if defined, indicates that the sethostent() routine is
  *     available.
  */
 #define Gid_t gid_t            /* Type for getgid(), etc... */
 
-/* Groups_t:
- *     This symbol holds the type used for the second argument to
- *     getgroups() and setgroups().  Usually, this is the same as
- *     gidtype (gid_t) , but sometimes it isn't.
- *     It can be int, ushort, gid_t, etc...
- *     It may be necessary to include <sys/types.h> to get any
- *     typedef'ed information.  This is only required if you have
- *     getgroups() or setgroups()..
- */
-#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
-#define Groups_t gid_t /* Type for 2nd arg to [sg]etgroups() */
-#endif
-
 /* I_DIRENT:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <dirent.h>. Using this symbol also triggers the definition
  *     This symbol, if defined, indicates that <ndbm.h> exists and should
  *     be included.
  */
+/* I_GDBMNDBM:
+ *     This symbol, if defined, indicates that <gdbm/ndbm.h> exists and should
+ *     be included.  This was the location of the ndbm.h compatibility file
+ *     in RedHat 7.1.
+ */
+/* I_GDBM_NDBM:
+ *     This symbol, if defined, indicates that <gdbm-ndbm.h> exists and should
+ *     be included.  This is the location of the ndbm.h compatibility file
+ *     in Debian 4.0.
+ */
 /*#define I_NDBM       /**/
+/*#define I_GDBMNDBM   /**/
+/*#define I_GDBM_NDBM  /**/
 
 /* I_NETDB:
  *     This symbol, if defined, indicates that <netdb.h> exists and
  */
 #define Sock_size_t            int /**/
 
-/* STDCHAR:
- *     This symbol is defined to be the type of char used in stdio.h.
- *     It has the values "unsigned char" or "char".
- */
-#define STDCHAR unsigned char  /**/
-
 /* Uid_t_f:
  *     This symbol defines the format string used for printing a Uid_t.
  */
  */
 /*#define      EBCDIC          /**/
 
+/* STDCHAR:
+ *     This symbol is defined to be the type of char used in stdio.h.
+ *     It has the values "unsigned char" or "char".
+ */
+#define STDCHAR unsigned char  /**/
+
 /* HAS_ATOLF:
  *     This symbol, if defined, indicates that the atolf routine is
  *     available to convert strings into long doubles.
  */
 #define        HAS_TELLDIR_PROTO       /**/
 
+/* HAS_TIMEGM:
+ *     This symbol, if defined, indicates that the timegm routine is
+ *     available to do the opposite of gmtime ()
+ */
+/*#define HAS_TIMEGM           /**/
+
 /* U32_ALIGNMENT_REQUIRED:
  *     This symbol, if defined, indicates that you must access
  *     character data through U32-aligned pointers.
  */
 /*#define      I_LIBUTIL               /**/
 
+/* I_MALLOCMALLOC:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <malloc/malloc.h>.
+ */
+/*#define I_MALLOCMALLOC               /**/
+
 /* I_MNTENT:
  *     This symbol, if defined, indicates that <mntent.h> exists and
  *     should be included.
 #define STDIO_STREAM_ARRAY     
 #endif
 
+/* GMTIME_MAX:
+ *     This symbol contains the maximum value for the time_t offset that
+ *     the system function gmtime () accepts, and defaults to 0
+ */
+/* GMTIME_MIN:
+ *     This symbol contains the minimum value for the time_t offset that
+ *     the system function gmtime () accepts, and defaults to 0
+ */
+#define GMTIME_MAX     2147483647      /**/
+#define GMTIME_MIN     -2147483648     /**/
+
 /* USE_64_BIT_INT:
  *     This symbol, if defined, indicates that 64-bit integers should
  *     be used when available.  If not defined, the native integers
index 9d594c4..176f136 100644 (file)
@@ -13,7 +13,7 @@
 /*
  * Package name      : perl5
  * Source directory  : 
- * Configuration time: Fri Feb 22 17:35:20 2008
+ * Configuration time: Wed Jul  9 14:03:35 2008
  * Configured by     : shay
  * Target system     : 
  */
  */
 #define        HAS_CHSIZE              /**/
 
+/* HAS_CRYPT:
+ *     This symbol, if defined, indicates that the crypt routine is available
+ *     to encrypt passwords and the like.
+ */
+/*#define HAS_CRYPT            /**/
+
 /* HAS_CTERMID:
  *     This symbol, if defined, indicates that the ctermid routine is
  *     available to generate filename for terminal.
  */
 #define HAS_DLERROR    /**/
 
+/* 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.
+ */
+/* DOSUID:
+ *     This symbol, if defined, indicates that the C program should
+ *     check the script that it is executing for setuid/setgid bits, and
+ *     attempt to emulate setuid/setgid on systems that have disabled
+ *     setuid #! scripts because the kernel can't do it securely.
+ *     It is up to the package designer to make sure that this emulation
+ *     is done securely.  Among other things, it should do an fstat on
+ *     the script it just opened to make sure it really is a setuid/setgid
+ *     script, it should make sure the arguments passed correspond exactly
+ *     to the argument on the #! line, and it should not trust any
+ *     subprocesses to which it must pass the filename rather than the
+ *     file descriptor of the script to be executed.
+ */
+/*#define SETUID_SCRIPTS_ARE_SECURE_NOW        /**/
+/*#define DOSUID               /**/
+
 /* HAS_DUP2:
  *     This symbol, if defined, indicates that the dup2 routine is
  *     available to duplicate file descriptors.
  */
 #define HAS_PIPE               /**/
 
+/* HAS_POLL:
+ *     This symbol, if defined, indicates that the poll routine is
+ *     available to poll active file descriptors.  Please check I_POLL and
+ *     I_SYS_POLL to know which header should be included as well.
+ */
+/*#define HAS_POLL             /**/
+
 /* HAS_READDIR:
  *     This symbol, if defined, indicates that the readdir routine is
  *     available to read directory entries. You may have to include
  */
 /*#define HAS_SETEUID          /**/
 
+/* HAS_SETGROUPS:
+ *     This symbol, if defined, indicates that the setgroups() routine is
+ *     available to set the list of process groups.  If unavailable, multiple
+ *     groups are probably not supported.
+ */
+/*#define HAS_SETGROUPS                /**/
+
 /* HAS_SETLINEBUF:
  *     This symbol, if defined, indicates that the setlinebuf routine is
  *     available to change stderr or stdout from block-buffered or unbuffered
  */
 #define HAS_WCTOMB             /**/
 
+/* Groups_t:
+ *     This symbol holds the type used for the second argument to
+ *     getgroups() and setgroups().  Usually, this is the same as
+ *     gidtype (gid_t) , but sometimes it isn't.
+ *     It can be int, ushort, gid_t, etc... 
+ *     It may be necessary to include <sys/types.h> to get any 
+ *     typedef'ed information.  This is only required if you have
+ *     getgroups() or setgroups()..
+ */
+#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
+#define Groups_t gid_t /* Type for 2nd arg to [sg]etgroups() */
+#endif
+
 /* I_ARPA_INET:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <arpa/inet.h> to get inet_addr and friends declarations.
  */
 /*#define I_SYS_PARAM          /**/
 
+/* I_SYS_POLL:
+ *     This symbol, if defined, indicates that the program may include
+ *     <sys/poll.h>.  When I_POLL is also defined, it's probably safest
+ *     to only include <poll.h>.
+ */
+/*#define I_SYS_POLL   /**/
+
 /* I_SYS_RESOURCE:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <sys/resource.h>.
 #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_CRYPT_R:
  *     This symbol, if defined, indicates that the crypt_r routine
  *     is available to crypt re-entrantly.
 /*#define HAS_CTIME_R     /**/
 #define CTIME_R_PROTO 0           /**/
 
-/* 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.
- */
-/* DOSUID:
- *     This symbol, if defined, indicates that the C program should
- *     check the script that it is executing for setuid/setgid bits, and
- *     attempt to emulate setuid/setgid on systems that have disabled
- *     setuid #! scripts because the kernel can't do it securely.
- *     It is up to the package designer to make sure that this emulation
- *     is done securely.  Among other things, it should do an fstat on
- *     the script it just opened to make sure it really is a setuid/setgid
- *     script, it should make sure the arguments passed correspond exactly
- *     to the argument on the #! line, and it should not trust any
- *     subprocesses to which it must pass the filename rather than the
- *     file descriptor of the script to be executed.
- */
-/*#define SETUID_SCRIPTS_ARE_SECURE_NOW        /**/
-/*#define DOSUID               /**/
-
 /* HAS_DRAND48_R:
  *     This symbol, if defined, indicates that the drand48_r routine
  *     is available to drand48 re-entrantly.
  */
 /*#define HAS_MSG              /**/
 
-/* HAS_POLL:
- *     This symbol, if defined, indicates that the poll routine is
- *     available to poll active file descriptors.  Please check I_POLL and
- *     I_SYS_POLL to know which header should be included as well.
- */
-/*#define HAS_POLL             /**/
-
 /* OLD_PTHREAD_CREATE_JOINABLE:
  *     This symbol, if defined, indicates how to create pthread
  *     in joinable (aka undetached) state.  NOTE: not defined
 /*#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
- *     groups are probably not supported.
- */
-/*#define HAS_SETGROUPS                /**/
-
 /* HAS_SETHOSTENT:
  *     This symbol, if defined, indicates that the sethostent() routine is
  *     available.
  */
 #define Gid_t gid_t            /* Type for getgid(), etc... */
 
-/* Groups_t:
- *     This symbol holds the type used for the second argument to
- *     getgroups() and setgroups().  Usually, this is the same as
- *     gidtype (gid_t) , but sometimes it isn't.
- *     It can be int, ushort, gid_t, etc...
- *     It may be necessary to include <sys/types.h> to get any
- *     typedef'ed information.  This is only required if you have
- *     getgroups() or setgroups()..
- */
-#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
-#define Groups_t gid_t /* Type for 2nd arg to [sg]etgroups() */
-#endif
-
 /* I_DIRENT:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <dirent.h>. Using this symbol also triggers the definition
  *     This symbol, if defined, indicates that <ndbm.h> exists and should
  *     be included.
  */
+/* I_GDBMNDBM:
+ *     This symbol, if defined, indicates that <gdbm/ndbm.h> exists and should
+ *     be included.  This was the location of the ndbm.h compatibility file
+ *     in RedHat 7.1.
+ */
+/* I_GDBM_NDBM:
+ *     This symbol, if defined, indicates that <gdbm-ndbm.h> exists and should
+ *     be included.  This is the location of the ndbm.h compatibility file
+ *     in Debian 4.0.
+ */
 /*#define I_NDBM       /**/
+/*#define I_GDBMNDBM   /**/
+/*#define I_GDBM_NDBM  /**/
 
 /* I_NETDB:
  *     This symbol, if defined, indicates that <netdb.h> exists and
  */
 #define Sock_size_t            int /**/
 
-/* STDCHAR:
- *     This symbol is defined to be the type of char used in stdio.h.
- *     It has the values "unsigned char" or "char".
- */
-#define STDCHAR char   /**/
-
 /* Uid_t_f:
  *     This symbol defines the format string used for printing a Uid_t.
  */
  */
 /*#define      EBCDIC          /**/
 
+/* STDCHAR:
+ *     This symbol is defined to be the type of char used in stdio.h.
+ *     It has the values "unsigned char" or "char".
+ */
+#define STDCHAR char   /**/
+
 /* HAS_ATOLF:
  *     This symbol, if defined, indicates that the atolf routine is
  *     available to convert strings into long doubles.
  */
 #define        HAS_TELLDIR_PROTO       /**/
 
+/* HAS_TIMEGM:
+ *     This symbol, if defined, indicates that the timegm routine is
+ *     available to do the opposite of gmtime ()
+ */
+/*#define HAS_TIMEGM           /**/
+
 /* U32_ALIGNMENT_REQUIRED:
  *     This symbol, if defined, indicates that you must access
  *     character data through U32-aligned pointers.
  */
 /*#define      I_LIBUTIL               /**/
 
+/* I_MALLOCMALLOC:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <malloc/malloc.h>.
+ */
+/*#define I_MALLOCMALLOC               /**/
+
 /* I_MNTENT:
  *     This symbol, if defined, indicates that <mntent.h> exists and
  *     should be included.
 #define STDIO_STREAM_ARRAY     
 #endif
 
+/* GMTIME_MAX:
+ *     This symbol contains the maximum value for the time_t offset that
+ *     the system function gmtime () accepts, and defaults to 0
+ */
+/* GMTIME_MIN:
+ *     This symbol contains the minimum value for the time_t offset that
+ *     the system function gmtime () accepts, and defaults to 0
+ */
+#define GMTIME_MAX     2147483647      /**/
+#define GMTIME_MIN     0       /**/
+
 /* USE_64_BIT_INT:
  *     This symbol, if defined, indicates that 64-bit integers should
  *     be used when available.  If not defined, the native integers
index b76c2cc..b2ecc30 100644 (file)
@@ -13,7 +13,7 @@
 /*
  * Package name      : perl5
  * Source directory  : 
- * Configuration time: Fri Feb 22 17:17:01 2008
+ * Configuration time: Wed Jul  9 13:18:23 2008
  * Configured by     : shay
  * Target system     : 
  */
  */
 #define        HAS_CHSIZE              /**/
 
+/* HAS_CRYPT:
+ *     This symbol, if defined, indicates that the crypt routine is available
+ *     to encrypt passwords and the like.
+ */
+/*#define HAS_CRYPT            /**/
+
 /* HAS_CTERMID:
  *     This symbol, if defined, indicates that the ctermid routine is
  *     available to generate filename for terminal.
  */
 #define HAS_DLERROR    /**/
 
+/* 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.
+ */
+/* DOSUID:
+ *     This symbol, if defined, indicates that the C program should
+ *     check the script that it is executing for setuid/setgid bits, and
+ *     attempt to emulate setuid/setgid on systems that have disabled
+ *     setuid #! scripts because the kernel can't do it securely.
+ *     It is up to the package designer to make sure that this emulation
+ *     is done securely.  Among other things, it should do an fstat on
+ *     the script it just opened to make sure it really is a setuid/setgid
+ *     script, it should make sure the arguments passed correspond exactly
+ *     to the argument on the #! line, and it should not trust any
+ *     subprocesses to which it must pass the filename rather than the
+ *     file descriptor of the script to be executed.
+ */
+/*#define SETUID_SCRIPTS_ARE_SECURE_NOW        /**/
+/*#define DOSUID               /**/
+
 /* HAS_DUP2:
  *     This symbol, if defined, indicates that the dup2 routine is
  *     available to duplicate file descriptors.
  */
 #define HAS_PIPE               /**/
 
+/* HAS_POLL:
+ *     This symbol, if defined, indicates that the poll routine is
+ *     available to poll active file descriptors.  Please check I_POLL and
+ *     I_SYS_POLL to know which header should be included as well.
+ */
+/*#define HAS_POLL             /**/
+
 /* HAS_READDIR:
  *     This symbol, if defined, indicates that the readdir routine is
  *     available to read directory entries. You may have to include
  */
 /*#define HAS_SETEUID          /**/
 
+/* HAS_SETGROUPS:
+ *     This symbol, if defined, indicates that the setgroups() routine is
+ *     available to set the list of process groups.  If unavailable, multiple
+ *     groups are probably not supported.
+ */
+/*#define HAS_SETGROUPS                /**/
+
 /* HAS_SETLINEBUF:
  *     This symbol, if defined, indicates that the setlinebuf routine is
  *     available to change stderr or stdout from block-buffered or unbuffered
  */
 #define HAS_WCTOMB             /**/
 
+/* Groups_t:
+ *     This symbol holds the type used for the second argument to
+ *     getgroups() and setgroups().  Usually, this is the same as
+ *     gidtype (gid_t) , but sometimes it isn't.
+ *     It can be int, ushort, gid_t, etc... 
+ *     It may be necessary to include <sys/types.h> to get any 
+ *     typedef'ed information.  This is only required if you have
+ *     getgroups() or setgroups()..
+ */
+#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
+#define Groups_t gid_t /* Type for 2nd arg to [sg]etgroups() */
+#endif
+
 /* I_ARPA_INET:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <arpa/inet.h> to get inet_addr and friends declarations.
  */
 /*#define I_SYS_PARAM          /**/
 
+/* I_SYS_POLL:
+ *     This symbol, if defined, indicates that the program may include
+ *     <sys/poll.h>.  When I_POLL is also defined, it's probably safest
+ *     to only include <poll.h>.
+ */
+/*#define I_SYS_POLL   /**/
+
 /* I_SYS_RESOURCE:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <sys/resource.h>.
 #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_CRYPT_R:
  *     This symbol, if defined, indicates that the crypt_r routine
  *     is available to crypt re-entrantly.
 /*#define HAS_CTIME_R     /**/
 #define CTIME_R_PROTO 0           /**/
 
-/* 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.
- */
-/* DOSUID:
- *     This symbol, if defined, indicates that the C program should
- *     check the script that it is executing for setuid/setgid bits, and
- *     attempt to emulate setuid/setgid on systems that have disabled
- *     setuid #! scripts because the kernel can't do it securely.
- *     It is up to the package designer to make sure that this emulation
- *     is done securely.  Among other things, it should do an fstat on
- *     the script it just opened to make sure it really is a setuid/setgid
- *     script, it should make sure the arguments passed correspond exactly
- *     to the argument on the #! line, and it should not trust any
- *     subprocesses to which it must pass the filename rather than the
- *     file descriptor of the script to be executed.
- */
-/*#define SETUID_SCRIPTS_ARE_SECURE_NOW        /**/
-/*#define DOSUID               /**/
-
 /* HAS_DRAND48_R:
  *     This symbol, if defined, indicates that the drand48_r routine
  *     is available to drand48 re-entrantly.
  */
 /*#define HAS_MSG              /**/
 
-/* HAS_POLL:
- *     This symbol, if defined, indicates that the poll routine is
- *     available to poll active file descriptors.  Please check I_POLL and
- *     I_SYS_POLL to know which header should be included as well.
- */
-/*#define HAS_POLL             /**/
-
 /* OLD_PTHREAD_CREATE_JOINABLE:
  *     This symbol, if defined, indicates how to create pthread
  *     in joinable (aka undetached) state.  NOTE: not defined
 /*#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
- *     groups are probably not supported.
- */
-/*#define HAS_SETGROUPS                /**/
-
 /* HAS_SETHOSTENT:
  *     This symbol, if defined, indicates that the sethostent() routine is
  *     available.
  */
 #define Gid_t gid_t            /* Type for getgid(), etc... */
 
-/* Groups_t:
- *     This symbol holds the type used for the second argument to
- *     getgroups() and setgroups().  Usually, this is the same as
- *     gidtype (gid_t) , but sometimes it isn't.
- *     It can be int, ushort, gid_t, etc...
- *     It may be necessary to include <sys/types.h> to get any
- *     typedef'ed information.  This is only required if you have
- *     getgroups() or setgroups()..
- */
-#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
-#define Groups_t gid_t /* Type for 2nd arg to [sg]etgroups() */
-#endif
-
 /* I_DIRENT:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <dirent.h>. Using this symbol also triggers the definition
  *     This symbol, if defined, indicates that <ndbm.h> exists and should
  *     be included.
  */
+/* I_GDBMNDBM:
+ *     This symbol, if defined, indicates that <gdbm/ndbm.h> exists and should
+ *     be included.  This was the location of the ndbm.h compatibility file
+ *     in RedHat 7.1.
+ */
+/* I_GDBM_NDBM:
+ *     This symbol, if defined, indicates that <gdbm-ndbm.h> exists and should
+ *     be included.  This is the location of the ndbm.h compatibility file
+ *     in Debian 4.0.
+ */
 /*#define I_NDBM       /**/
+/*#define I_GDBMNDBM   /**/
+/*#define I_GDBM_NDBM  /**/
 
 /* I_NETDB:
  *     This symbol, if defined, indicates that <netdb.h> exists and
  */
 #define Sock_size_t            int /**/
 
-/* STDCHAR:
- *     This symbol is defined to be the type of char used in stdio.h.
- *     It has the values "unsigned char" or "char".
- */
-#define STDCHAR char   /**/
-
 /* Uid_t_f:
  *     This symbol defines the format string used for printing a Uid_t.
  */
  */
 /*#define      EBCDIC          /**/
 
+/* STDCHAR:
+ *     This symbol is defined to be the type of char used in stdio.h.
+ *     It has the values "unsigned char" or "char".
+ */
+#define STDCHAR char   /**/
+
 /* HAS_ATOLF:
  *     This symbol, if defined, indicates that the atolf routine is
  *     available to convert strings into long doubles.
  */
 #define        HAS_TELLDIR_PROTO       /**/
 
+/* HAS_TIMEGM:
+ *     This symbol, if defined, indicates that the timegm routine is
+ *     available to do the opposite of gmtime ()
+ */
+/*#define HAS_TIMEGM           /**/
+
 /* U32_ALIGNMENT_REQUIRED:
  *     This symbol, if defined, indicates that you must access
  *     character data through U32-aligned pointers.
  */
 /*#define      I_LIBUTIL               /**/
 
+/* I_MALLOCMALLOC:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <malloc/malloc.h>.
+ */
+/*#define I_MALLOCMALLOC               /**/
+
 /* I_MNTENT:
  *     This symbol, if defined, indicates that <mntent.h> exists and
  *     should be included.
 #define STDIO_STREAM_ARRAY     
 #endif
 
+/* GMTIME_MAX:
+ *     This symbol contains the maximum value for the time_t offset that
+ *     the system function gmtime () accepts, and defaults to 0
+ */
+/* GMTIME_MIN:
+ *     This symbol contains the minimum value for the time_t offset that
+ *     the system function gmtime () accepts, and defaults to 0
+ */
+#define GMTIME_MAX     2147483647      /**/
+#define GMTIME_MIN     0       /**/
+
 /* USE_64_BIT_INT:
  *     This symbol, if defined, indicates that 64-bit integers should
  *     be used when available.  If not defined, the native integers
index 61fc0bb..279390f 100644 (file)
@@ -13,7 +13,7 @@
 /*
  * Package name      : perl5
  * Source directory  : 
- * Configuration time: Fri Feb 22 17:17:01 2008
+ * Configuration time: Wed Jul  9 13:18:23 2008
  * Configured by     : shay
  * Target system     : 
  */
  */
 #define        HAS_CHSIZE              /**/
 
+/* HAS_CRYPT:
+ *     This symbol, if defined, indicates that the crypt routine is available
+ *     to encrypt passwords and the like.
+ */
+/*#define HAS_CRYPT            /**/
+
 /* HAS_CTERMID:
  *     This symbol, if defined, indicates that the ctermid routine is
  *     available to generate filename for terminal.
  */
 #define HAS_DLERROR    /**/
 
+/* 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.
+ */
+/* DOSUID:
+ *     This symbol, if defined, indicates that the C program should
+ *     check the script that it is executing for setuid/setgid bits, and
+ *     attempt to emulate setuid/setgid on systems that have disabled
+ *     setuid #! scripts because the kernel can't do it securely.
+ *     It is up to the package designer to make sure that this emulation
+ *     is done securely.  Among other things, it should do an fstat on
+ *     the script it just opened to make sure it really is a setuid/setgid
+ *     script, it should make sure the arguments passed correspond exactly
+ *     to the argument on the #! line, and it should not trust any
+ *     subprocesses to which it must pass the filename rather than the
+ *     file descriptor of the script to be executed.
+ */
+/*#define SETUID_SCRIPTS_ARE_SECURE_NOW        /**/
+/*#define DOSUID               /**/
+
 /* HAS_DUP2:
  *     This symbol, if defined, indicates that the dup2 routine is
  *     available to duplicate file descriptors.
  */
 #define HAS_PIPE               /**/
 
+/* HAS_POLL:
+ *     This symbol, if defined, indicates that the poll routine is
+ *     available to poll active file descriptors.  Please check I_POLL and
+ *     I_SYS_POLL to know which header should be included as well.
+ */
+/*#define HAS_POLL             /**/
+
 /* HAS_READDIR:
  *     This symbol, if defined, indicates that the readdir routine is
  *     available to read directory entries. You may have to include
  */
 /*#define HAS_SETEUID          /**/
 
+/* HAS_SETGROUPS:
+ *     This symbol, if defined, indicates that the setgroups() routine is
+ *     available to set the list of process groups.  If unavailable, multiple
+ *     groups are probably not supported.
+ */
+/*#define HAS_SETGROUPS                /**/
+
 /* HAS_SETLINEBUF:
  *     This symbol, if defined, indicates that the setlinebuf routine is
  *     available to change stderr or stdout from block-buffered or unbuffered
  */
 #define HAS_WCTOMB             /**/
 
+/* Groups_t:
+ *     This symbol holds the type used for the second argument to
+ *     getgroups() and setgroups().  Usually, this is the same as
+ *     gidtype (gid_t) , but sometimes it isn't.
+ *     It can be int, ushort, gid_t, etc... 
+ *     It may be necessary to include <sys/types.h> to get any 
+ *     typedef'ed information.  This is only required if you have
+ *     getgroups() or setgroups()..
+ */
+#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
+#define Groups_t gid_t /* Type for 2nd arg to [sg]etgroups() */
+#endif
+
 /* I_ARPA_INET:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <arpa/inet.h> to get inet_addr and friends declarations.
  */
 /*#define I_SYS_PARAM          /**/
 
+/* I_SYS_POLL:
+ *     This symbol, if defined, indicates that the program may include
+ *     <sys/poll.h>.  When I_POLL is also defined, it's probably safest
+ *     to only include <poll.h>.
+ */
+/*#define I_SYS_POLL   /**/
+
 /* I_SYS_RESOURCE:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <sys/resource.h>.
 #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_CRYPT_R:
  *     This symbol, if defined, indicates that the crypt_r routine
  *     is available to crypt re-entrantly.
 /*#define HAS_CTIME_R     /**/
 #define CTIME_R_PROTO 0           /**/
 
-/* 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.
- */
-/* DOSUID:
- *     This symbol, if defined, indicates that the C program should
- *     check the script that it is executing for setuid/setgid bits, and
- *     attempt to emulate setuid/setgid on systems that have disabled
- *     setuid #! scripts because the kernel can't do it securely.
- *     It is up to the package designer to make sure that this emulation
- *     is done securely.  Among other things, it should do an fstat on
- *     the script it just opened to make sure it really is a setuid/setgid
- *     script, it should make sure the arguments passed correspond exactly
- *     to the argument on the #! line, and it should not trust any
- *     subprocesses to which it must pass the filename rather than the
- *     file descriptor of the script to be executed.
- */
-/*#define SETUID_SCRIPTS_ARE_SECURE_NOW        /**/
-/*#define DOSUID               /**/
-
 /* HAS_DRAND48_R:
  *     This symbol, if defined, indicates that the drand48_r routine
  *     is available to drand48 re-entrantly.
  */
 /*#define HAS_MSG              /**/
 
-/* HAS_POLL:
- *     This symbol, if defined, indicates that the poll routine is
- *     available to poll active file descriptors.  Please check I_POLL and
- *     I_SYS_POLL to know which header should be included as well.
- */
-/*#define HAS_POLL             /**/
-
 /* OLD_PTHREAD_CREATE_JOINABLE:
  *     This symbol, if defined, indicates how to create pthread
  *     in joinable (aka undetached) state.  NOTE: not defined
 /*#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
- *     groups are probably not supported.
- */
-/*#define HAS_SETGROUPS                /**/
-
 /* HAS_SETHOSTENT:
  *     This symbol, if defined, indicates that the sethostent() routine is
  *     available.
  */
 #define Gid_t gid_t            /* Type for getgid(), etc... */
 
-/* Groups_t:
- *     This symbol holds the type used for the second argument to
- *     getgroups() and setgroups().  Usually, this is the same as
- *     gidtype (gid_t) , but sometimes it isn't.
- *     It can be int, ushort, gid_t, etc...
- *     It may be necessary to include <sys/types.h> to get any
- *     typedef'ed information.  This is only required if you have
- *     getgroups() or setgroups()..
- */
-#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
-#define Groups_t gid_t /* Type for 2nd arg to [sg]etgroups() */
-#endif
-
 /* I_DIRENT:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <dirent.h>. Using this symbol also triggers the definition
  *     This symbol, if defined, indicates that <ndbm.h> exists and should
  *     be included.
  */
+/* I_GDBMNDBM:
+ *     This symbol, if defined, indicates that <gdbm/ndbm.h> exists and should
+ *     be included.  This was the location of the ndbm.h compatibility file
+ *     in RedHat 7.1.
+ */
+/* I_GDBM_NDBM:
+ *     This symbol, if defined, indicates that <gdbm-ndbm.h> exists and should
+ *     be included.  This is the location of the ndbm.h compatibility file
+ *     in Debian 4.0.
+ */
 /*#define I_NDBM       /**/
+/*#define I_GDBMNDBM   /**/
+/*#define I_GDBM_NDBM  /**/
 
 /* I_NETDB:
  *     This symbol, if defined, indicates that <netdb.h> exists and
  */
 #define Sock_size_t            int /**/
 
-/* STDCHAR:
- *     This symbol is defined to be the type of char used in stdio.h.
- *     It has the values "unsigned char" or "char".
- */
-#define STDCHAR char   /**/
-
 /* Uid_t_f:
  *     This symbol defines the format string used for printing a Uid_t.
  */
  */
 /*#define      EBCDIC          /**/
 
+/* STDCHAR:
+ *     This symbol is defined to be the type of char used in stdio.h.
+ *     It has the values "unsigned char" or "char".
+ */
+#define STDCHAR char   /**/
+
 /* HAS_ATOLF:
  *     This symbol, if defined, indicates that the atolf routine is
  *     available to convert strings into long doubles.
  */
 #define        HAS_TELLDIR_PROTO       /**/
 
+/* HAS_TIMEGM:
+ *     This symbol, if defined, indicates that the timegm routine is
+ *     available to do the opposite of gmtime ()
+ */
+/*#define HAS_TIMEGM           /**/
+
 /* U32_ALIGNMENT_REQUIRED:
  *     This symbol, if defined, indicates that you must access
  *     character data through U32-aligned pointers.
  */
 /*#define      I_LIBUTIL               /**/
 
+/* I_MALLOCMALLOC:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <malloc/malloc.h>.
+ */
+/*#define I_MALLOCMALLOC               /**/
+
 /* I_MNTENT:
  *     This symbol, if defined, indicates that <mntent.h> exists and
  *     should be included.
 #define STDIO_STREAM_ARRAY     
 #endif
 
+/* GMTIME_MAX:
+ *     This symbol contains the maximum value for the time_t offset that
+ *     the system function gmtime () accepts, and defaults to 0
+ */
+/* GMTIME_MIN:
+ *     This symbol contains the minimum value for the time_t offset that
+ *     the system function gmtime () accepts, and defaults to 0
+ */
+#define GMTIME_MAX     2147483647      /**/
+#define GMTIME_MIN     0       /**/
+
 /* USE_64_BIT_INT:
  *     This symbol, if defined, indicates that 64-bit integers should
  *     be used when available.  If not defined, the native integers
index 194d449..5bd9953 100644 (file)
@@ -131,6 +131,20 @@ if ($opt{uselargefiles} eq 'define' and $opt{cc} ne 'bcc32') {
     }
 }
 
+# change the sGMTIME_min and sGMTIME_max for VS2005 (aka VC 8) and
+# VS2008 (aka VC 9) or higher (presuming that later versions will have
+# at least the range of that).
+if ($opt{cc} eq 'cl' and $opt{ccversion} =~ /^(\d+)/) {
+    my $ccversion = $1;
+    if ($ccversion == 14) {
+       $opt{sGMTIME_max} = 32535244799;
+    }
+    elsif ($ccversion >= 15) {
+       $opt{sGMTIME_min} = -43200;
+       $opt{sGMTIME_max} = 32535291599;
+    }
+}
+
 if ($opt{useithreads} eq 'define' && $opt{ccflags} =~ /-DPERL_IMPLICIT_SYS\b/) {
     $opt{d_pseudofork} = 'define';
 }