From: Alain Barbet Date: Fri, 18 Oct 2002 15:29:29 +0000 (+0200) Subject: Re: Smoke 18027 FAIL(F) MSWin32 5.0 Win2000Pro (MSWin32-x86) X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=7c5b6093a3ac5e0bd09cdb0d2f391fecc26ce08d;p=p5sagit%2Fp5-mst-13.2.git Re: Smoke 18027 FAIL(F) MSWin32 5.0 Win2000Pro (MSWin32-x86) Message-ID: <3DB00CB9.70708@alianwebserver.com> p4raw-id: //depot/perl@18046 --- diff --git a/README.win32 b/README.win32 index fe87339..11e990d 100644 --- a/README.win32 +++ b/README.win32 @@ -138,15 +138,26 @@ The nmake that comes with the Platform SDK will suffice for building Perl. Make sure you are building within one of the "Build Environment" shells available after you install the Platform SDK from the Start Menu. -=item Mingw32 with GCC +=item MinGW32 with gcc -GCC-2.95.2 binaries can be downloaded from: +The latest release of MinGW (at the time of writing) is 2.0.0, which comes +with gcc-3.2, and can be downloaded here: - ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/ + http://sourceforge.net/projects/mingw + +Perl compiles with earlier releases of gcc (2.95 and up) that can be +downloaded from the same place. If you use gcc-3.2, comment out the +line: + + USE_GCC_V3_2 *= define + +in win32\makefile.mk You also need dmake. See L above on how to get it. -The GCC-2.95.2 bundle comes with Mingw32 libraries and headers. +=item MinGW release 1 + +The MinGW-1.1 bundle comes with gcc-2.95.3. Make sure you install the binaries that work with MSVCRT.DLL as indicated in the README for the GCC bundle. You may need to set up a few environment diff --git a/win32/makefile.mk b/win32/makefile.mk index 59d2007..dcc6980 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -34,7 +34,7 @@ INST_TOP *= $(INST_DRV)\perl # versioned installation can be obtained by setting INST_TOP above to a # path that includes an arbitrary version string. # -INST_VER *= \5.8.0 +INST_VER *= \5.9.0 # # Comment this out if you DON'T want your perl installation to have @@ -88,6 +88,9 @@ CCTYPE *= MSVC60 #CCTYPE *= BORLAND # mingw32+gcc-2.95.2 or better #CCTYPE *= GCC +# Uncomment this if you are using the latest MinGW release (2.0.0) +# with gcc3.2 +#USE_GCC_V3_2 *= define # # uncomment this if your Borland compiler is older than v5.4. @@ -369,6 +372,9 @@ LINK_FLAGS += -L"$(CCLIBDIR)\Release" CC = gcc LINK32 = gcc +.IF "$(USE_GCC_V3_2)" == "define" +LINK32 = g++ +.END LIB32 = ar rc IMPLIB = dlltool RSC = rc diff --git a/win32/win32.c b/win32/win32.c index fdadcb2..633dbbd 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -15,7 +15,8 @@ #define Win32_Winsock #endif #include -#ifndef __MINGW32__ /* GCC/Mingw32-2.95.2 forgot the WINAPI on CommandLineToArgvW() */ +/* GCC-2.95.2/Mingw32-1.1 forgot the WINAPI on CommandLineToArgvW() */ +#if defined(__MINGW32__) && (__MINGW32_MAJOR_VERSION==1) # include #else LPWSTR* WINAPI CommandLineToArgvW(LPCWSTR lpCommandLine, int * pNumArgs); @@ -60,8 +61,8 @@ int _CRT_glob = 0; #endif -#if defined(__MINGW32__) -/* Mingw32 is missing some prototypes */ +#if defined(__MINGW32__) && (__MINGW32_MAJOR_VERSION==1) +/* Mingw32-1.1 is missing some prototypes */ FILE * _wfopen(LPCWSTR wszFileName, LPCWSTR wszMode); FILE * _wfdopen(int nFd, LPCWSTR wszMode); FILE * _freopen(LPCWSTR wszFileName, LPCWSTR wszMode, FILE * pOldStream);