Skip to content
This repository was archived by the owner on Jun 1, 2023. It is now read-only.

Commit 6439f2e

Browse files
steve-m-hayrurban
authored andcommitted
Update dmake for VS 2017
Patch by Eric Lindblad, who asked for his email address not to be published. [perl #131487] (cherry picked from commit 82cad14)
1 parent 6d7ee10 commit 6439f2e

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

win32/makefile.mk

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,8 @@ DEFAULT_INC_EXCLUDES_DOT *= define
161161
#CCTYPE = MSVC140
162162
# Visual C++ 2015 Express Edition (aka Visual C++ 14.0) (free version)
163163
#CCTYPE = MSVC140FREE
164+
# Visual C++ 2017 (aka Visual C++ 14.1) (all versions)
165+
#CCTYPE = MSVC141
164166
# MinGW or mingw-w64 with gcc-3.4.5 or later
165167
#CCTYPE = GCC
166168

@@ -247,7 +249,7 @@ DEFAULT_INC_EXCLUDES_DOT *= define
247249
# Running VCVARS32.BAT is *required* when using Visual C.
248250
# Some versions of Visual C don't define MSVCDIR in the environment,
249251
# so you may have to set CCHOME explicitly (spaces in the path name should
250-
# not be quoted)
252+
# not be quoted), for MSVC141 the value for %VCToolsInstallDir%
251253
#
252254

253255
#CCHOME *= C:\MinGW
@@ -631,7 +633,8 @@ DEFINES = -DWIN32 -D_CONSOLE -DNO_STRICT
631633
LOCDEFS = -DPERLDLL -DPERL_CORE
632634
CXX_FLAG = -TP -EHsc
633635

634-
.IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE"
636+
.IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE" \
637+
|| "$(CCTYPE)" == "MSVC141"
635638
LIBC = ucrt.lib
636639
.ELSE
637640
LIBC = msvcrt.lib
@@ -644,7 +647,8 @@ LINK_DBG = -debug
644647
OPTIMIZE = -Od -MD -Zi
645648
LINK_DBG = -debug
646649
.ELIF "$(CFG)" == "DebugFull"
647-
.IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE"
650+
.IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE" \
651+
|| "$(CCTYPE)" == "MSVC141"
648652
LIBC = ucrtd.lib
649653
.ELSE
650654
LIBC = msvcrtd.lib
@@ -682,7 +686,8 @@ DEFINES += -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
682686
.ENDIF
683687

684688
# Likewise for deprecated Winsock APIs in VC++ 14.0 for now.
685-
.IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE"
689+
.IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE" \
690+
|| "$(CCTYPE)" == "MSVC141"
686691
DEFINES += -D_WINSOCK_DEPRECATED_NO_WARNINGS
687692
.ENDIF
688693

@@ -705,7 +710,8 @@ LIBBASEFILES = oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib \
705710
netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib \
706711
odbc32.lib odbccp32.lib comctl32.lib
707712

708-
.IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE"
713+
.IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE" \
714+
|| "$(CCTYPE)" == "MSVC141"
709715
.IF "$(CFG)" == "DebugFull"
710716
LIBBASEFILES += msvcrtd.lib vcruntimed.lib
711717
.ELSE
@@ -760,6 +766,7 @@ PRIV_LINK_FLAGS += "/manifestdependency:type='Win32' name='Microsoft.Windows.Com
760766
RSC_FLAGS = -DINCLUDE_MANIFEST
761767
.ENDIF
762768

769+
# VS 2017 (VC++ 14.1) requires at minimum Windows 7 SP1 (with latest Windows Updates)
763770

764771
# For XP support in >= VS 2013 (VC++ 12.0), subsystem is always in Config.pm
765772
# LINK_FLAGS else subsystem is only needed for EXE building, not XS DLL building
@@ -1263,7 +1270,7 @@ $(MINIDIR)\.exists : $(CFGH_TMPL)
12631270
echo #undef NVgf&& \
12641271
echo #undef USE_LONG_DOUBLE&& \
12651272
echo #undef USE_CPLUSPLUS)>> config.h
1266-
.IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE"
1273+
.IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE" || "$(CCTYPE)" == "MSVC141"
12671274
@(echo #undef FILE_ptr&& \
12681275
echo #undef FILE_cnt&& \
12691276
echo #undef FILE_base&& \

0 commit comments

Comments
 (0)