From 4b7e285e7ac0f212412ed301bb6824593baf29e9 Mon Sep 17 00:00:00 2001 From: Jan Dubois Date: Mon, 7 Jul 2008 08:58:48 -0700 Subject: [PATCH] Update Win32 canned configs Adds new values introduced by #34105/34107, incorporating this patch: Subject: RE: New probes From: "Jan Dubois" 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 | 3 + win32/config.gc | 3 + win32/config.vc | 3 + win32/config.vc64 | 3 + win32/config_H.bc | 162 +++++++++++++++++++++++++++++++++------------------- win32/config_H.gc | 162 +++++++++++++++++++++++++++++++++------------------- win32/config_H.vc | 162 +++++++++++++++++++++++++++++++++------------------- win32/config_H.vc64 | 162 +++++++++++++++++++++++++++++++++------------------- win32/config_sh.PL | 14 +++++ 9 files changed, 434 insertions(+), 240 deletions(-) diff --git a/win32/config.bc b/win32/config.bc index 321a82a..c857637 100644 --- a/win32/config.bc +++ b/win32/config.bc @@ -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"' diff --git a/win32/config.gc b/win32/config.gc index 8afb061..9cb80b2 100644 --- a/win32/config.gc +++ b/win32/config.gc @@ -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"' diff --git a/win32/config.vc b/win32/config.vc index e42612e..f91b5b8 100644 --- a/win32/config.vc +++ b/win32/config.vc @@ -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"' diff --git a/win32/config.vc64 b/win32/config.vc64 index 475f806..0834ced 100644 --- a/win32/config.vc64 +++ b/win32/config.vc64 @@ -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"' diff --git a/win32/config_H.bc b/win32/config_H.bc index e82a75c..b32f385 100644 --- a/win32/config_H.bc +++ b/win32/config_H.bc @@ -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 : */ @@ -68,6 +68,12 @@ */ #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. @@ -101,6 +107,26 @@ */ #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. @@ -344,6 +370,13 @@ */ #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 @@ -408,6 +441,13 @@ */ /*#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 @@ -602,6 +642,19 @@ */ #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 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 to get inet_addr and friends declarations. @@ -733,6 +786,13 @@ */ /*#define I_SYS_PARAM /**/ +/* I_SYS_POLL: + * This symbol, if defined, indicates that the program may include + * . When I_POLL is also defined, it's probably safest + * to only include . + */ +/*#define I_SYS_POLL /**/ + /* I_SYS_RESOURCE: * This symbol, if defined, indicates to the C program that it should * include . @@ -1036,12 +1096,6 @@ #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. @@ -1092,26 +1146,6 @@ /*#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. @@ -1804,13 +1838,6 @@ */ /*#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 @@ -1910,13 +1937,6 @@ /*#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. @@ -2316,19 +2336,6 @@ */ #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 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 . Using this symbol also triggers the definition @@ -2370,7 +2377,19 @@ * This symbol, if defined, indicates that exists and should * be included. */ +/* I_GDBMNDBM: + * This symbol, if defined, indicates that 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 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 exists and @@ -2710,12 +2729,6 @@ */ #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. */ @@ -3224,6 +3237,12 @@ */ /*#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. @@ -3918,6 +3937,12 @@ */ #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. @@ -4063,6 +4088,12 @@ */ /*#define I_LIBUTIL /**/ +/* I_MALLOCMALLOC: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +/*#define I_MALLOCMALLOC /**/ + /* I_MNTENT: * This symbol, if defined, indicates that exists and * should be included. @@ -4388,6 +4419,17 @@ #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 diff --git a/win32/config_H.gc b/win32/config_H.gc index 9d594c4..176f136 100644 --- a/win32/config_H.gc +++ b/win32/config_H.gc @@ -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 : */ @@ -68,6 +68,12 @@ */ #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. @@ -101,6 +107,26 @@ */ #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. @@ -344,6 +370,13 @@ */ #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 @@ -408,6 +441,13 @@ */ /*#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 @@ -602,6 +642,19 @@ */ #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 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 to get inet_addr and friends declarations. @@ -733,6 +786,13 @@ */ /*#define I_SYS_PARAM /**/ +/* I_SYS_POLL: + * This symbol, if defined, indicates that the program may include + * . When I_POLL is also defined, it's probably safest + * to only include . + */ +/*#define I_SYS_POLL /**/ + /* I_SYS_RESOURCE: * This symbol, if defined, indicates to the C program that it should * include . @@ -1051,12 +1111,6 @@ #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. @@ -1107,26 +1161,6 @@ /*#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. @@ -1823,13 +1857,6 @@ */ /*#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 @@ -1929,13 +1956,6 @@ /*#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. @@ -2335,19 +2355,6 @@ */ #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 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 . Using this symbol also triggers the definition @@ -2389,7 +2396,19 @@ * This symbol, if defined, indicates that exists and should * be included. */ +/* I_GDBMNDBM: + * This symbol, if defined, indicates that 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 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 exists and @@ -2729,12 +2748,6 @@ */ #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. */ @@ -3245,6 +3258,12 @@ */ /*#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. @@ -3939,6 +3958,12 @@ */ #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. @@ -4084,6 +4109,12 @@ */ /*#define I_LIBUTIL /**/ +/* I_MALLOCMALLOC: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +/*#define I_MALLOCMALLOC /**/ + /* I_MNTENT: * This symbol, if defined, indicates that exists and * should be included. @@ -4414,6 +4445,17 @@ #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 diff --git a/win32/config_H.vc b/win32/config_H.vc index b76c2cc..b2ecc30 100644 --- a/win32/config_H.vc +++ b/win32/config_H.vc @@ -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 : */ @@ -68,6 +68,12 @@ */ #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. @@ -101,6 +107,26 @@ */ #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. @@ -344,6 +370,13 @@ */ #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 @@ -408,6 +441,13 @@ */ /*#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 @@ -602,6 +642,19 @@ */ #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 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 to get inet_addr and friends declarations. @@ -733,6 +786,13 @@ */ /*#define I_SYS_PARAM /**/ +/* I_SYS_POLL: + * This symbol, if defined, indicates that the program may include + * . When I_POLL is also defined, it's probably safest + * to only include . + */ +/*#define I_SYS_POLL /**/ + /* I_SYS_RESOURCE: * This symbol, if defined, indicates to the C program that it should * include . @@ -1047,12 +1107,6 @@ #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. @@ -1103,26 +1157,6 @@ /*#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. @@ -1819,13 +1853,6 @@ */ /*#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 @@ -1925,13 +1952,6 @@ /*#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. @@ -2331,19 +2351,6 @@ */ #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 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 . Using this symbol also triggers the definition @@ -2385,7 +2392,19 @@ * This symbol, if defined, indicates that exists and should * be included. */ +/* I_GDBMNDBM: + * This symbol, if defined, indicates that 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 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 exists and @@ -2725,12 +2744,6 @@ */ #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. */ @@ -3241,6 +3254,12 @@ */ /*#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. @@ -3935,6 +3954,12 @@ */ #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. @@ -4080,6 +4105,12 @@ */ /*#define I_LIBUTIL /**/ +/* I_MALLOCMALLOC: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +/*#define I_MALLOCMALLOC /**/ + /* I_MNTENT: * This symbol, if defined, indicates that exists and * should be included. @@ -4410,6 +4441,17 @@ #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 diff --git a/win32/config_H.vc64 b/win32/config_H.vc64 index 61fc0bb..279390f 100644 --- a/win32/config_H.vc64 +++ b/win32/config_H.vc64 @@ -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 : */ @@ -68,6 +68,12 @@ */ #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. @@ -101,6 +107,26 @@ */ #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. @@ -344,6 +370,13 @@ */ #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 @@ -408,6 +441,13 @@ */ /*#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 @@ -602,6 +642,19 @@ */ #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 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 to get inet_addr and friends declarations. @@ -733,6 +786,13 @@ */ /*#define I_SYS_PARAM /**/ +/* I_SYS_POLL: + * This symbol, if defined, indicates that the program may include + * . When I_POLL is also defined, it's probably safest + * to only include . + */ +/*#define I_SYS_POLL /**/ + /* I_SYS_RESOURCE: * This symbol, if defined, indicates to the C program that it should * include . @@ -1036,12 +1096,6 @@ #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. @@ -1092,26 +1146,6 @@ /*#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. @@ -1803,13 +1837,6 @@ */ /*#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 @@ -1909,13 +1936,6 @@ /*#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. @@ -2315,19 +2335,6 @@ */ #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 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 . Using this symbol also triggers the definition @@ -2369,7 +2376,19 @@ * This symbol, if defined, indicates that exists and should * be included. */ +/* I_GDBMNDBM: + * This symbol, if defined, indicates that 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 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 exists and @@ -2709,12 +2728,6 @@ */ #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. */ @@ -3223,6 +3236,12 @@ */ /*#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. @@ -3917,6 +3936,12 @@ */ #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. @@ -4062,6 +4087,12 @@ */ /*#define I_LIBUTIL /**/ +/* I_MALLOCMALLOC: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +/*#define I_MALLOCMALLOC /**/ + /* I_MNTENT: * This symbol, if defined, indicates that exists and * should be included. @@ -4387,6 +4418,17 @@ #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 diff --git a/win32/config_sh.PL b/win32/config_sh.PL index 194d449..5bd9953 100644 --- a/win32/config_sh.PL +++ b/win32/config_sh.PL @@ -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'; } -- 2.7.4