From: Steve Peters Date: Wed, 15 Mar 2006 11:06:34 +0000 (+0000) Subject: The first step in supporting VC++ 8.0. Added macros for the free .NET 2.0 SDK and... X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=73c9ebc71cb12c3cc801cfedafec5e87386df729;p=p5sagit%2Fp5-mst-13.2.git The first step in supporting VC++ 8.0. Added macros for the free .NET 2.0 SDK and Visual Studio 2005. Added these macros to "if" conditions that were appropriate. Added a fix to prevent the .NET 1.1 and 2.0 SDK compilers from attempting to build perlglob.exe (they are both missing the setargv.obj file necessary to do it). p4raw-id: //depot/perl@27500 --- diff --git a/win32/Makefile b/win32/Makefile index a29b848..d93eb02 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -100,6 +100,10 @@ CCTYPE = MSVC60 #CCTYPE = MSVC70FREE # Visual C++ 7.x (aka Visual Studio .NET 2003) (full version) #CCTYPE = MSVC70 +# Visual C++ Toolkit 2005 (free version of Visual C++ 8.x command-line tools) +#CCTYPE = MSVC80FREE +# Visual C++ 8.x (aka Visual Studio .NET 2003) (full version) +#CCTYPE = MSVC80 # # uncomment next line if you want debug version of perl (big,slow) @@ -337,7 +341,8 @@ ARCHNAME = $(ARCHNAME)-thread # 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" +# The addition of VC++ 8.x is currently an educated guess. +!IF "$(CCTYPE)" == "MSVC60" || "$(CCTYPE)" == "MSVC70" || "$(CCTYPE)" == "MSVC80" DELAYLOAD = -DELAYLOAD:ws2_32.dll -DELAYLOAD:shell32.dll delayimp.lib !ENDIF @@ -419,7 +424,7 @@ OPTIMIZE = $(OPTIMIZE) -Wp64 -Op # the string-pooling option -Gf is deprecated in VC++ 7.x and will be removed # in later versions, so use read-only string-pooling (-GF) instead -!IF "$(CCTYPE)" == "MSVC70FREE" || "$(CCTYPE)" == "MSVC70" +!IF "$(CCTYPE)" == "MSVC70FREE" || "$(CCTYPE)" == "MSVC70" || "$(CCTYPE)" == "MSVC80FREE" || "$(CCTYPE)" == "MSVC80" STRPOOL = -GF !ELSE STRPOOL = -Gf @@ -494,6 +499,12 @@ GLOBEXE = ..\perlglob.exe CONFIGPM = ..\lib\Config.pm ..\lib\Config_heavy.pl MINIMOD = ..\lib\ExtUtils\Miniperl.pm X2P = ..\x2p\a2p.exe + +# With .NET 1.1 and 2.0, setargs.obj is not available with the .NET SDK. It +# only comes with Visual Studio 2003 and Visual Studio 2005. +!IF "$(CCTYPE)" != "MSVC70FREE" && "$(CCTYPE)" != "MSVC80FREE" +GLOBEXEBUILD = +!ENDIF # Unicode data files generated by mktables UNIDATAFILES = ..\lib\unicore\Canonical.pl ..\lib\unicore\Exact.pl \ @@ -910,8 +921,12 @@ $(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