summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlain Barbet <alian@cpan.org>2002-10-18 17:29:29 +0200
committerhv <hv@crypt.org>2002-10-22 15:52:40 +0000
commit7c5b6093a3ac5e0bd09cdb0d2f391fecc26ce08d (patch)
tree2f2090455a41ffff9d35f8672046b8e90bf9c420
parent9b488eb89e353c3569ec0fe5076be8c2a5f47436 (diff)
downloadperl-7c5b6093a3ac5e0bd09cdb0d2f391fecc26ce08d.tar.gz
Re: Smoke 18027 FAIL(F) MSWin32 5.0 Win2000Pro (MSWin32-x86)
Message-ID: <3DB00CB9.70708@alianwebserver.com> p4raw-id: //depot/perl@18046
-rw-r--r--README.win3219
-rw-r--r--win32/makefile.mk8
-rw-r--r--win32/win32.c7
3 files changed, 26 insertions, 8 deletions
diff --git a/README.win32 b/README.win32
index fe87339526..11e990d637 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</"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
diff --git a/win32/makefile.mk b/win32/makefile.mk
index 59d20072b8..dcc69809d6 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 fdadcb2f6f..633dbbdbcc 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -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);