diff options
author | Steve Hay <steve.m.hay@googlemail.com> | 2017-06-03 12:17:37 -0500 |
---|---|---|
committer | Steve Hay <steve.m.hay@googlemail.com> | 2017-06-14 13:06:10 +0100 |
commit | 58998b2a913ef6f390e2e9c38e455a3ff8473960 (patch) | |
tree | be06bec07943e4f5e4dc694510a510684ec62176 /win32 | |
parent | 10b7d799552114aa02a7f10b31d6d42d37a8caba (diff) | |
download | perl-58998b2a913ef6f390e2e9c38e455a3ff8473960.tar.gz |
Update nmake for VS 2017
Patch by Eric Lindblad, who asked for his email address not to be
published. [perl #131487]
Diffstat (limited to 'win32')
-rw-r--r-- | win32/Makefile | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/win32/Makefile b/win32/Makefile index 59d991828c..32d54f9476 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -143,6 +143,8 @@ CCTYPE = MSVC60 #CCTYPE = MSVC140 # Visual C++ 2015 Express Edition (aka Visual C++ 14.0) (free version) #CCTYPE = MSVC140FREE +# Visual C++ 2017 (aka Visual C++ 14.1) (all versions) +#CCTYPE = MSVC141 # # If you are using Intel C++ Compiler uncomment this @@ -222,7 +224,7 @@ CCTYPE = MSVC60 # Running VCVARS32.BAT is *required* when using Visual C. # Some versions of Visual C don't define MSVCDIR in the environment, # so you may have to set CCHOME explicitly (spaces in the path name should -# not be quoted) +# not be quoted), for MSVC141 replace $(MSVCDIR) with $(VCToolsInstallDir) # CCHOME = $(MSVCDIR) CCINCDIR = $(CCHOME)\include @@ -481,7 +483,8 @@ DEFINES = -DWIN32 -D_CONSOLE -DNO_STRICT LOCDEFS = -DPERLDLL -DPERL_CORE CXX_FLAG = -TP -EHsc -!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE" +!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE" \ + || "$(CCTYPE)" == "MSVC141" LIBC = ucrt.lib !ELSE LIBC = msvcrt.lib @@ -496,7 +499,8 @@ OPTIMIZE = -Od -MD -Zi LINK_DBG = -debug !ELSE !IF "$(CFG)" == "DebugFull" -!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE" +!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE" \ + || "$(CCTYPE)" == "MSVC141" LIBC = ucrtd.lib !ELSE LIBC = msvcrtd.lib @@ -536,7 +540,8 @@ DEFINES = $(DEFINES) -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE !ENDIF # Likewise for deprecated Winsock APIs in VC++ 14.0 for now. -!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE" +!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE" \ + || "$(CCTYPE)" == "MSVC141" DEFINES = $(DEFINES) -D_WINSOCK_DEPRECATED_NO_WARNINGS !ENDIF @@ -560,7 +565,8 @@ LIBBASEFILES = \ netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib \ version.lib odbc32.lib odbccp32.lib comctl32.lib -!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE" +!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE" \ + || "$(CCTYPE)" == "MSVC141" ! IF "$(CFG)" == "DebugFull" LIBBASEFILES = $(LIBBASEFILES) msvcrtd.lib vcruntimed.lib ! ELSE @@ -611,6 +617,8 @@ PRIV_LINK_FLAGS = $(PRIV_LINK_FLAGS) "/manifestdependency:type='Win32' name='Mic RSC_FLAGS = -DINCLUDE_MANIFEST !ENDIF +# VS 2017 (VC++ 14.1) requires at minimum Windows 7 SP1 (with latest Windows Updates) + # For XP support in >= VS 2013 (VC++ 12.0), subsystem is always in Config.pm # LINK_FLAGS else subsystem is only needed for EXE building, not XS DLL building # Console vs GUI makes no difference for DLLs, so use default for cleaner @@ -964,7 +972,7 @@ perlglob$(o) : perlglob.c @echo.>>$@ @echo #ifndef _config_h_footer_>>$@ @echo #define _config_h_footer_>>$@ -!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE" +!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE" || "$(CCTYPE)" == "MSVC141" @echo #undef FILE_ptr>>$@ @echo #define FILE_ptr(fp) PERLIO_FILE_ptr(fp)>>$@ @echo #undef FILE_cnt>>$@ |