This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add CCTYPE value for Windows Server 2003 SP1 compilers
[perl5.git] / win32 / Makefile
index fab8cf4..4d5690f 100644 (file)
@@ -2,7 +2,7 @@
 # Makefile to build perl on Windows NT using Microsoft NMAKE.
 # Supported compilers:
 #      Visual C++ 2.0 or later
-#      MS Platform SDK 64-bit compiler and tools
+#      Windows SDK 64-bit compiler and tools
 #
 # This is set up to build a perl.exe that runs off a shared library
 # (perl513.dll).  Also makes individual DLLs for the XS extensions.
@@ -105,6 +105,8 @@ CCTYPE              = MSVC60
 #CCTYPE                = MSVC70FREE
 # Visual C++ .NET 2003 (aka Visual C++ 7.x) (full version)
 #CCTYPE                = MSVC70
+# Windows Server 2003 SP1 Platform SDK (April 2005)
+#CCTYPE                = SDK2003SP1
 # Visual C++ 2005 Express Edition (aka Visual C++ 8.x) (free version)
 #CCTYPE                = MSVC80FREE
 # Visual C++ 2005 (aka Visual C++ 8.x) (full version)
@@ -350,6 +352,13 @@ WIN64                      = undef
 !ENDIF
 !ENDIF
 
+# Treat 64-bit MSVC60 (doesn't really exist) as SDK2003SP1 because
+# both link against MSVCRT.dll (which is part of Windows itself) and
+# not against a compiler specific versioned runtime.
+!IF "$(WIN64)" == "define" && "$(CCTYPE)" == "MSVC60"
+CCTYPE         = SDK2003SP1
+!ENDIF
+
 ARCHITECTURE = $(PROCESSOR_ARCHITECTURE)
 !IF "$(ARCHITECTURE)" == "AMD64"
 ARCHITECTURE   = x64
@@ -496,11 +505,11 @@ LIBBASEFILES      = $(CRYPT_LIB) \
                netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib \
                version.lib odbc32.lib odbccp32.lib comctl32.lib
 
-# The 64 bit Platform SDK compilers contain a runtime library that doesn't
-# include the buffer overrun verification code used by the /GS switch.
+# The 64 bit Windows Server 2003 SP1 SDK compilers link against MSVCRT.dll, which
+# doesn't include the buffer overrun verification code used by the /GS switch.
 # Since the code links against libraries that are compiled with /GS, this
-# "security cookie verification" must be included via bufferoverlow.lib.
-!IF "$(WIN64)" == "define"
+# "security cookie verification" code must be included via bufferoverflow.lib.
+!IF "$(WIN64)" == "define" && "$(CCTYPE)" == "SDK2003SP1"
 LIBBASEFILES    = $(LIBBASEFILES) bufferoverflowU.lib
 !ENDIF