In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/55b77936aef50881a71470fd06e66edffd66d9de?hp=a841533b5cf319b34548d89671a3fe05f4f62beb>
- Log ----------------------------------------------------------------- commit 55b77936aef50881a71470fd06e66edffd66d9de Author: Sisyphus <[email protected]> Date: Wed Oct 14 10:02:16 2009 -0400 Add mingw64 support for win32 ----------------------------------------------------------------------- Summary of changes: win32/{config.vc64 => config.gc64} | 63 +++++++------ win32/{config_H.vc64 => config_H.gc64} | 160 ++++++++++++++++++++++---------- 2 files changed, 143 insertions(+), 80 deletions(-) copy win32/{config.vc64 => config.gc64} (97%) copy win32/{config_H.vc64 => config_H.gc64} (98%) diff --git a/win32/config.vc64 b/win32/config.gc64 similarity index 97% copy from win32/config.vc64 copy to win32/config.gc64 index 44ab7f2..cf6d464 100644 --- a/win32/config.vc64 +++ b/win32/config.gc64 @@ -1,5 +1,5 @@ ## Configured by: ~cf_email~ -## Target system: WIN32 +## Target system: WIN32 Author='' Date='$Date' Header='' @@ -10,9 +10,9 @@ RCSfile='$RCSfile' Revision='$Revision' Source='' State='' -_a='.lib' +_a='.a' _exe='.exe' -_o='.obj' +_o='.o' afs='false' afsroot='/afs' alignbytes='8' @@ -22,7 +22,7 @@ api_revision='~PERL_API_REVISION~' api_subversion='~PERL_API_SUBVERSION~' api_version='~PERL_API_VERSION~' api_versionstring='~PERL_API_REVISION~.~PERL_API_VERSION~.~PERL_API_SUBVERSION~' -ar='lib' +ar='x86_64-w64-mingw32-ar' archlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~' archlibexp='~INST_TOP~~INST_VER~\lib~INST_ARCH~' archname64='' @@ -40,7 +40,7 @@ byteorder='1234' c='' castflags='0' cat='type' -cc='cl' +cc='x86_64-w64-mingw32-gcc' cccdlflags=' ' ccdlflags=' ' ccflags='-MD -DWIN32' @@ -60,14 +60,14 @@ compress='' contains='grep' cp='copy' cpio='' -cpp='~cc~ -nologo -E' +cpp='~cc~ -E' cpp_stuff='42' cppccsymbols='' cppflags='-DWIN32' cpplast='' -cppminus='' -cpprun='~cc~ -nologo -E' -cppstdin='cppstdin' +cppminus='-' +cpprun='~cc~ -E' +cppstdin='~cc~ -E' cppsymbols='' crypt_r_proto='0' cryptlib='' @@ -115,7 +115,7 @@ d_builtin_choose_expr='undef' d_builtin_expect='undef' d_bzero='undef' d_c99_variadic_macros='undef' -d_casti32='undef' +d_casti32='define' d_castneg='define' d_charvspr='undef' d_chown='undef' @@ -286,7 +286,7 @@ d_localtime_r_needs_tzset='undef' d_locconv='define' d_lockf='undef' d_longdbl='define' -d_longlong='undef' +d_longlong='define' d_lseekproto='define' d_lstat='undef' d_madvise='undef' @@ -529,6 +529,7 @@ db_version_patch='0' defvoidused='15' direntrytype='struct direct' dlext='dll' +dlltool='x86_64-w64-mingw32-dlltool' dlsrc='dl_win32.xs' doublesize='8' drand01='(rand()/(double)((unsigned)1<<RANDBITS))' @@ -612,7 +613,7 @@ i16type='short' i32size='4' i32type='long' i64size='8' -i64type='__int64' +i64type='long long' i8size='1' i8type='char' i_arpainet='define' @@ -742,18 +743,18 @@ intsize='4' issymlink='' ivdformat='"I64d"' ivsize='8' -ivtype='__int64' +ivtype='long long' known_extensions='~static_ext~ ~dynamic_ext~ ~nonxs_ext~' ksh='' -ld='link' -lddlflags='-dll ~LINK_FLAGS~' +ld='x86_64-w64-mingw32-g++' +lddlflags='-mdll ~LINK_FLAGS~' ldflags='~LINK_FLAGS~' ldflags_uselargefiles='' ldlibpthname='' less='less' -lib_ext='.lib' -libc='msvcrt.lib' -libperl='perl.lib' +lib_ext='.a' +libc='libmsvcrt.a' +libperl='libperl.a' libpth='' libs='' libsdirs='' @@ -770,21 +771,21 @@ lns='copy' localtime_r_proto='0' locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include' loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib' -longdblsize='8' +longdblsize='12' longlongsize='8' longsize='4' lp='' lpr='' ls='dir' -lseeksize='4' -lseektype='long' +lseeksize='8' +lseektype='long long' mad='undef' madlyh='' madlyobj='' madlysrc='' mail='' mailx='' -make='nmake' +make='dmake' make_set_make='#' mallocobj='malloc.o' mallocsrc='malloc.c' @@ -813,7 +814,7 @@ netdb_hlen_type='int' netdb_host_type='char *' netdb_name_type='char *' netdb_net_type='long' -nm='' +nm='x86_64-w64-mingw32-nm' nm_opt='' nm_so_opt='' nonxs_ext='Errno' @@ -829,9 +830,9 @@ nvgformat='"g"' nvsize='8' nvtype='double' o_nonblock='O_NONBLOCK' -obj_ext='.obj' +obj_ext='.o' old_pthread_create_joinable='' -optimize='-O' +optimize='-O2' orderlib='false' osname='MSWin32' osvers='4.0' @@ -860,8 +861,8 @@ privlibexp='~INST_TOP~~INST_VER~\lib' procselfexe='' prototype='define' ptrsize='8' -quadkind='5' -quadtype='__int64' +quadkind='3' +quadtype='long long' randbits='15' randfunc='rand' random_r_proto='0' @@ -955,7 +956,7 @@ spitshell='' srand48_r_proto='0' srandom_r_proto='0' src='' -ssizetype='__int64' +ssizetype='long long' startperl='#!perl' startsh='#!/bin/sh' static_ext=' ' @@ -991,7 +992,7 @@ u16type='unsigned short' u32size='4' u32type='unsigned long' u64size='8' -u64type='unsigned __int64' +u64type='unsigned long long' u8size='1' u8type='unsigned char' uidformat='"ld"' @@ -1000,7 +1001,7 @@ uidsize='4' uidtype='uid_t' uname='uname' uniq='uniq' -uquadtype='unsigned __int64' +uquadtype='unsigned long long' use5005threads='undef' use64bitall='undef' use64bitint='define' @@ -1034,7 +1035,7 @@ uuname='' uvXUformat='"I64X"' uvoformat='"I64o"' uvsize='8' -uvtype='unsigned __int64' +uvtype='unsigned long long' uvuformat='"I64u"' uvxformat='"I64x"' vendorarch='' diff --git a/win32/config_H.vc64 b/win32/config_H.gc64 similarity index 98% copy from win32/config_H.vc64 copy to win32/config_H.gc64 index 537dc9a..1e57347 100644 --- a/win32/config_H.vc64 +++ b/win32/config_H.gc64 @@ -12,10 +12,10 @@ /* * Package name : perl5 - * Source directory : + * Source directory : * Configuration time: Fri Dec 12 15:19:23 2008 * Configured by : shay - * Target system : + * Target system : */ #ifndef _config_h_ @@ -107,26 +107,6 @@ */ #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. @@ -200,7 +180,7 @@ #define HAS_GETLOGIN /**/ /* HAS_GETPGID: - * This symbol, if defined, indicates to the C program that + * This symbol, if defined, indicates to the C program that * the getpgid(pid) function is available to get the * process group id. */ @@ -646,8 +626,8 @@ * 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 + * 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().. */ @@ -914,9 +894,15 @@ */ #define HAS_QUAD /**/ #ifdef HAS_QUAD -# define Quad_t __int64 /**/ -# define Uquad_t unsigned __int64 /**/ -# define QUADKIND 5 /**/ +# ifdef _MSC_VER +# define Quad_t __int64 /**/ +# define Uquad_t unsigned __int64 /**/ +# define QUADKIND 5 /**/ +# else /* gcc presumably */ +# define Quad_t long long /**/ +# define Uquad_t unsigned long long /**/ +# define QUADKIND 3 /**/ +# endif # define QUAD_IS_INT 1 # define QUAD_IS_LONG 2 # define QUAD_IS_LONG_LONG 3 @@ -959,7 +945,7 @@ * where library files may be held under a private library, for * instance. */ -#define ARCHNAME "MSWin32-x86" /**/ +#define ARCHNAME "MSWin32-x64" /**/ /* BIN: * This symbol holds the path of the bin directory where the package will @@ -1023,9 +1009,15 @@ * This symbol is intended to be used along with CPPRUN in the same manner * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "". */ -#define CPPSTDIN "cppstdin" -#define CPPMINUS "" -#define CPPRUN "cl -nologo -E" +#ifdef _MSC_VER +# define CPPSTDIN "cppstdin" +# define CPPMINUS "" +# define CPPRUN "cl -nologo -E" +#else +# define CPPSTDIN "x86_64-w64-mingw32-gcc -E" +# define CPPMINUS "-" +# define CPPRUN "x86_64-w64-mingw32-gcc -E" +#endif #define CPPLAST "" /* HAS_ACCESS: @@ -1789,7 +1781,11 @@ */ #define HAS_LONG_DOUBLE /**/ #ifdef HAS_LONG_DOUBLE -#define LONG_DOUBLESIZE 8 /**/ +# ifdef _MSC_VER +# define LONG_DOUBLESIZE 8 /**/ +# else +# define LONG_DOUBLESIZE 12 /**/ +# endif #endif /* HAS_LONG_LONG: @@ -1800,7 +1796,9 @@ * C preprocessor can make decisions based on it. It is only * defined if the system supports long long. */ -/*#define HAS_LONG_LONG /**/ +#ifdef __GNUC__ +# define HAS_LONG_LONG /**/ +#endif #ifdef HAS_LONG_LONG #define LONGLONGSIZE 8 /**/ #endif @@ -2537,9 +2535,13 @@ /* Off_t_size: * This symbol holds the number of bytes used by the Off_t. */ -#define Off_t long /* <offset> type */ -#define LSEEKSIZE 4 /* <offset> size */ -#define Off_t_size 4 /* <offset> size */ +#ifdef _MSC_VER +# define Off_t __int64 /* <offset> type */ +#else +# define Off_t long long /* <offset> type */ +#endif +#define LSEEKSIZE 8 /* <offset> size */ +#define Off_t_size 8 /* <offset> size */ /* Free_t: * This variable contains the return type of free(). It is usually @@ -2618,7 +2620,7 @@ * in programs that are not prepared to deal with ~ expansion at run-time. */ #define PRIVLIB "c:\\perl\\lib" /**/ -#define PRIVLIB_EXP (win32_get_privlib(PERL_VERSION_STRING, NULL)) /**/ +#define PRIVLIB_EXP (win32_get_privlib(PERL_VERSION_STRING)) /**/ /* CAN_PROTOTYPE: * If defined, this macro indicates that the C compiler can handle @@ -2734,7 +2736,7 @@ * be tacked onto this variable to generate a list of directories to search. */ #define SITELIB "c:\\perl\\site\\lib" /**/ -#define SITELIB_EXP (win32_get_sitelib(PERL_VERSION_STRING, NULL)) /**/ +#define SITELIB_EXP (win32_get_sitelib(PERL_VERSION_STRING)) /**/ #define SITELIB_STEM "" /**/ /* Size_t_size: @@ -2936,7 +2938,9 @@ * This symbol is defined if the C compiler can cast negative * or large floating point numbers to 32-bit ints. */ -/*#define CASTI32 /**/ +#ifndef _MSC_VER +# define CASTI32 /**/ +#endif /* CASTNEGFLOAT: * This symbol is defined if the C compiler can cast negative @@ -3262,7 +3266,11 @@ * to get any typedef'ed information. * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t). */ -#define SSize_t __int64 /* signed count of bytes */ +#ifdef _MSC_VER +# define SSize_t __int64 /* signed count of bytes */ +#else +# define SSize_t long long /* signed count of bytes */ +#endif /* EBCDIC: * This symbol, if defined, indicates that this system uses @@ -3270,6 +3278,26 @@ */ /*#define EBCDIC /**/ +/* 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 /**/ + /* PERL_USE_DEVEL: * This symbol, if defined, indicates that Perl was configured with * -Dusedevel, to enable development features. This should not be @@ -3543,6 +3571,12 @@ */ /*#define HAS_FUTIMES /**/ +/* HAS_GETADDRINFO: + * This symbol, if defined, indicates that the getaddrinfo() function + * is available for use. + */ +/*#define HAS_GETADDRINFO /**/ + /* HAS_GETCWD: * This symbol, if defined, indicates that the getcwd routine is * available to get the current working directory. @@ -3579,6 +3613,12 @@ */ /*#define HAS_GETMNTENT /**/ +/* HAS_GETNAMEINFO: + * This symbol, if defined, indicates that the getnameinfo() function + * is available for use. + */ +/*#define HAS_GETNAMEINFO /**/ + /* HAS_GETPRPWNAM: * This symbol, if defined, indicates that the getprpwnam system call is * available to retrieve protected (shadow) password entries by name. @@ -3603,6 +3643,18 @@ */ /*#define HAS_ILOGBL /**/ +/* HAS_INETNTOP: + * This symbol, if defined, indicates that the inet_ntop() function + * is available to parse IPv4 and IPv6 strings. + */ +/*#define HAS_INETNTOP /**/ + +/* HAS_INETPTON: + * This symbol, if defined, indicates that the inet_pton() function + * is available to parse IPv4 and IPv6 strings. + */ +/*#define HAS_INETPTON /**/ + /* HAS_INT64_T: * This symbol will defined if the C compiler supports int64_t. * Usually the <inttypes.h> needs to be included, but sometimes @@ -4370,8 +4422,13 @@ * This symbol, if defined, indicates that a variable of type NVTYPE * stores 0.0 in memory as all bits zero. */ -#define IVTYPE __int64 /**/ -#define UVTYPE unsigned __int64 /**/ +#ifdef _MSC_VER +# define IVTYPE __int64 /**/ +# define UVTYPE unsigned __int64 /**/ +#else +# define IVTYPE long long /**/ +# define UVTYPE unsigned long long /**/ +#endif #define I8TYPE char /**/ #define U8TYPE unsigned char /**/ #define I16TYPE short /**/ @@ -4379,8 +4436,13 @@ #define I32TYPE long /**/ #define U32TYPE unsigned long /**/ #ifdef HAS_QUAD -#define I64TYPE __int64 /**/ -#define U64TYPE unsigned __int64 /**/ +# ifdef _MSC_VER +# define I64TYPE __int64 /**/ +# define U64TYPE unsigned __int64 /**/ +# else +# define I64TYPE long long /**/ +# define U64TYPE unsigned long long /**/ +# endif #endif #define NVTYPE double /**/ #define IVSIZE 8 /**/ @@ -4481,7 +4543,7 @@ */ /*#define HAS_STDIO_STREAM_ARRAY /**/ #ifdef HAS_STDIO_STREAM_ARRAY -#define STDIO_STREAM_ARRAY +#define STDIO_STREAM_ARRAY #endif /* GMTIME_MAX: @@ -4550,7 +4612,7 @@ * should be used when available. */ #ifndef USE_LARGE_FILES -/*#define USE_LARGE_FILES /**/ +#define USE_LARGE_FILES /**/ #endif /* USE_LONG_DOUBLE: @@ -4574,7 +4636,7 @@ * be built to use multiplicity. */ #ifndef MULTIPLICITY -/*#define MULTIPLICITY /**/ +#define MULTIPLICITY /**/ #endif /* USE_PERLIO: @@ -4583,7 +4645,7 @@ * used in a fully backward compatible manner. */ #ifndef USE_PERLIO -/*#define USE_PERLIO /**/ +#define USE_PERLIO /**/ #endif /* USE_SOCKS: -- Perl5 Master Repository
