summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorSteve Hay <SteveHay@planit.com>2006-10-10 10:25:06 +0000
committerSteve Hay <SteveHay@planit.com>2006-10-10 10:25:06 +0000
commit1c847d4b24b4811e0a135df4f0a725e3a5ccb70b (patch)
tree89fc63e151b82bba04a5cc239c1e340588a0a764 /win32
parentb89b8d61fac53d9ace6a3daf34694f40da6616bc (diff)
downloadperl-1c847d4b24b4811e0a135df4f0a725e3a5ccb70b.tar.gz
Updates for building on Win32 with Visual C++ 2005 Express Edition
Add some instructions in README.win32, clarify macro comments and add missing macros to makefile.mk, and drop the GLOBEXEBUILD macro from Makefile--the Express Edition of Visual C++ 2005 is free and includes setargv.obj, so there is no need to support the .NET 2.0 SDK compiler which didn't include it. Unfortunately, the build still doesn't work yet--my attempt got as far as building extensions, but miniperl.exe crashed. Hopefully this can be sorted out soon. p4raw-id: //depot/perl@28978
Diffstat (limited to 'win32')
-rw-r--r--win32/Makefile31
-rw-r--r--win32/makefile.mk22
2 files changed, 25 insertions, 28 deletions
diff --git a/win32/Makefile b/win32/Makefile
index d65a9fc23a..b78866743d 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -94,15 +94,15 @@ USE_LARGE_FILES = define
#CCTYPE = MSVC20
# Visual C++ > 2.x and < 6.x
#CCTYPE = MSVC
-# Visual C++ 6.x (aka Visual Studio 98)
+# Visual C++ 6.x (aka Visual C++ 98)
CCTYPE = MSVC60
-# Visual C++ Toolkit 2003 (free version of Visual C++ 7.x command-line tools)
+# Visual C++ Toolkit 2003 (aka Visual C++ 7.x) (free command-line tools)
#CCTYPE = MSVC70FREE
-# Visual C++ 7.x (aka Visual Studio .NET 2003) (full version)
+# Visual C++ .NET 2003 (aka Visual C++ 7.x) (full version)
#CCTYPE = MSVC70
-# Visual C++ Toolkit 2005 (free version of Visual C++ 8.x command-line tools)
+# Visual C++ 2005 Express Edition (aka Visual C++ 8.x) (free version)
#CCTYPE = MSVC80FREE
-# Visual C++ 8.x (aka Visual Studio 2005) (full version)
+# Visual C++ 2005 (aka Visual C++ 8.x) (full version)
#CCTYPE = MSVC80
#
@@ -349,11 +349,12 @@ BUILDOPT = $(BUILDOPT) -DUSE_PERLIO
ARCHNAME = $(ARCHNAME)-thread
!ENDIF
-# Visual Studio 98 and .NET 2003 specific
-# VC++ 6.x and 7.x can load DLL's on demand. Makes the test suite run in
-# about 10% less time. (The free version of 7.x can't do this, however.)
-# The addition of VC++ 8.x is currently an educated guess.
-!IF "$(CCTYPE)" == "MSVC60" || "$(CCTYPE)" == "MSVC70" || "$(CCTYPE)" == "MSVC80"
+# Visual C++ 98, .NET 2003 and 2005 specific.
+# VC++ 6.x, 7.x and 8.x can load DLL's on demand. Makes the test suite run in
+# about 10% less time. (The free version of 7.x can't do this, but the free
+# version of 8.x can.)
+!IF "$(CCTYPE)" == "MSVC60" || "$(CCTYPE)" == "MSVC70" || \
+ "$(CCTYPE)" == "MSVC80" || "$(CCTYPE)" == "MSVC80FREE"
DELAYLOAD = -DELAYLOAD:ws2_32.dll -DELAYLOAD:shell32.dll delayimp.lib
!ENDIF
@@ -507,12 +508,6 @@ CONFIGPM = ..\lib\Config.pm ..\lib\Config_heavy.pl
MINIMOD = ..\lib\ExtUtils\Miniperl.pm
X2P = ..\x2p\a2p.exe
-# With the .NET 2.0 SDK, setargs.obj is not available with the .NET SDK. It
-# only comes with Visual Studio 2005.
-!IF "$(CCTYPE)" != "MSVC80FREE"
-GLOBEXEBUILD =
-!ENDIF
-
# Unicode data files generated by mktables
FIRSTUNIFILE = ..\lib\unicore\Canonical.pl
UNIDATAFILES = ..\lib\unicore\Canonical.pl ..\lib\unicore\Exact.pl \
@@ -931,12 +926,8 @@ $(DYNALOADER)$(o) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c
#------------------------------------------------------------
$(GLOBEXE) : perlglob$(o)
-!ifdef GLOBEXEBUILD
$(LINK32) $(LINK_FLAGS) $(LIBFILES) -out:$@ -subsystem:$(SUBSYS) \
perlglob$(o) setargv$(o)
-!else
- echo Skipping $(GLOBEXE)
-!endif
perlglob$(o) : perlglob.c
diff --git a/win32/makefile.mk b/win32/makefile.mk
index 5239ef9789..a96625f1da 100644
--- a/win32/makefile.mk
+++ b/win32/makefile.mk
@@ -3,7 +3,7 @@
# Supported compilers:
# Visual C++ 2.0 through 7.0 (and possibly newer versions)
# Borland C++ 5.02 or better
-# Mingw32 with gcc-2.95.2 or better
+# MinGW with gcc-2.95.2 or better
# MS Platform SDK 64-bit compiler and tools **experimental**
#
# This is set up to build a perl.exe that runs off a shared library
@@ -96,12 +96,16 @@ USE_LARGE_FILES *= define
#CCTYPE *= MSVC20
# Visual C++ > 2.x and < 6.x
#CCTYPE *= MSVC
-# Visual C++ 6.x (aka Visual Studio 98)
+# Visual C++ 6.x (aka Visual C++ 98)
#CCTYPE *= MSVC60
-# Visual C++ Toolkit 2003 (free version of Visual C++ 7.x command-line tools)
+# Visual C++ Toolkit 2003 (aka Visual C++ 7.x) (free command-line tools)
#CCTYPE *= MSVC70FREE
-# Visual C++ 7.x (aka Visual Studio .NET 2003) (full version)
+# Visual C++ .NET 2003 (aka Visual C++ 7.x) (full version)
#CCTYPE *= MSVC70
+# Visual C++ 2005 Express Edition (aka Visual C++ 8.x) (free version)
+#CCTYPE *= MSVC80FREE
+# Visual C++ 2005 (aka Visual C++ 8.x) (full version)
+#CCTYPE *= MSVC80
# Borland 5.02 or later
#CCTYPE *= BORLAND
# MinGW with gcc-2.95.2 or later
@@ -344,10 +348,12 @@ ARCHNAME = MSWin32-$(ARCHITECTURE)
ARCHNAME !:= $(ARCHNAME)-thread
.ENDIF
-# Visual Studio 98 and .NET 2003 specific
-# VC++ 6.x and 7.x can load DLL's on demand. Makes the test suite run in
-# about 10% less time. (The free version of 7.x can't do this, however.)
-.IF "$(CCTYPE)" == "MSVC60" || "$(CCTYPE)" == "MSVC70"
+# Visual C++ 98, .NET 2003 and 2005 specific.
+# VC++ 6.x, 7.x and 8.x can load DLL's on demand. Makes the test suite run in
+# about 10% less time. (The free version of 7.x can't do this, but the free
+# version of 8.x can.)
+.IF "$(CCTYPE)" == "MSVC60" || "$(CCTYPE)" == "MSVC70" \
+ "$(CCTYPE)" == "MSVC80" || "$(CCTYPE)" == "MSVC80FREE"
DELAYLOAD *= -DELAYLOAD:ws2_32.dll -DELAYLOAD:shell32.dll delayimp.lib
.ENDIF