Re: Smoke 18027 FAIL(F) MSWin32 5.0 Win2000Pro (MSWin32-x86)
Alain Barbet [Fri, 18 Oct 2002 15:29:29 +0000 (17:29 +0200)]
Message-ID: <3DB00CB9.70708@alianwebserver.com>

p4raw-id: //depot/perl@18046

README.win32
win32/makefile.mk
win32/win32.c

index fe87339..11e990d 100644 (file)
@@ -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</"Make"> 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
index 59d2007..dcc6980 100644 (file)
@@ -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
index fdadcb2..633dbbd 100644 (file)
@@ -15,7 +15,8 @@
 #define Win32_Winsock
 #endif
 #include <windows.h>
-#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 <shellapi.h>
 #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);