@@ -245,11 +245,9 @@ DEFAULT_INC_EXCLUDES_DOT *= define
245245# ALL_STATIC *= define
246246
247247#
248- # set the install locations of the compiler include/libraries
249- # Running VCVARS32.BAT is *required* when using Visual C.
250- # Some versions of Visual C don't define MSVCDIR in the environment,
251- # so you may have to set CCHOME explicitly (spaces in the path name should
252- # not be quoted), for MSVC141 the value for %VCToolsInstallDir%
248+ # set the install location of the compiler
249+ # Running VCVARS32.BAT, VCVARSALL.BAT or similar is *required* when using
250+ # Visual C++.
253251#
254252
255253# CCHOME *= C:\MinGW
@@ -373,29 +371,22 @@ CCTYPE := MSVC$(MSVCVER)0
373371.ENDIF
374372.ENDIF
375373
376-
374+ # Versions of Visual C++ up to VC++ 7.1 define $(MSVCDir); versions since then
375+ # define $(VCINSTALLDIR) instead, but for VC++ 14.1 we need the subfolder given
376+ # by $(VCToolsInstallDir).
377377.IF "$(CCHOME)" == ""
378378.IF "$(CCTYPE)" == "GCC"
379379CCHOME *= C :\MinGW
380+ .ELIF "$(CCTYPE)" == "MSVC60" || \
381+ "$(CCTYPE)" == "MSVC70" || "$(CCTYPE ) " == "MSVC70FREE"
382+ CCHOME *= $(MSVCDir)
383+ .ELIF "$(CCTYPE)" == "MSVC141"
384+ CCHOME *= $(VCToolsInstallDir)
380385.ELSE
381- CCHOME *= $(MSVCDIR )
386+ CCHOME *= $(VCINSTALLDIR )
382387.ENDIF
383388.ENDIF
384389
385- #
386- # Following sets $Config{incpath} and $Config{libpth}
387- #
388-
389- .IF "$(GCCCROSS)" == "define"
390- CCINCDIR *= $(CCHOME)\x86_64-w64-mingw32\include
391- CCLIBDIR *= $(CCHOME)\x86_64-w64-mingw32\lib
392- CCDLLDIR *= $(CCLIBDIR)
393- .ELSE
394- CCINCDIR *= $(CCHOME)\include
395- CCLIBDIR *= $(CCHOME)\lib
396- CCDLLDIR *= $(CCHOME)\bin
397- .ENDIF
398-
399390PROCESSOR_ARCHITECTURE *= x86
400391
401392.IF "$(WIN64)" == "undef"
@@ -467,6 +458,33 @@ ARCHNAME !:= $(ARCHNAME)-64int
467458ARCHNAME !:= $(ARCHNAME)-ld
468459.ENDIF
469460
461+ # Set the install location of the compiler headers/libraries.
462+ # These are saved into $Config{incpath} and $Config{libpth}.
463+ .IF "$(GCCCROSS)" == "define"
464+ CCINCDIR *= $(CCHOME)\x86_64-w64-mingw32\include
465+ CCLIBDIR *= $(CCHOME)\x86_64-w64-mingw32\lib
466+ .ELSE
467+ CCINCDIR *= $(CCHOME)\include
468+ .IF "$(CCTYPE)" == "MSVC141"
469+ .IF "$(WIN64)" == "define"
470+ CCLIBDIR *= $(CCHOME)\lib\x64
471+ .ELSE
472+ CCLIBDIR *= $(CCHOME)\lib\x86
473+ .ENDIF
474+ .ELSE
475+ CCLIBDIR *= $(CCHOME)\lib
476+ .ENDIF
477+ .ENDIF
478+
479+ # Set DLL location for GCC compilers.
480+ .IF "$(CCTYPE)" == "GCC"
481+ .IF "$(GCCCROSS)" == "define"
482+ CCDLLDIR *= $(CCLIBDIR)
483+ .ELSE
484+ CCDLLDIR *= $(CCHOME)\bin
485+ .ENDIF
486+ .ENDIF
487+
470488ARCHDIR = ..\lib\$(ARCHNAME )
471489COREDIR = ..\lib\CORE
472490AUTODIR = ..\lib\auto
@@ -477,7 +495,6 @@ CPANDIR = ..\cpan
477495PODDIR = ..\pod
478496HTMLDIR = .\html
479497
480- #
481498INST_SCRIPT = $(INST_TOP )$(INST_VER ) \bin
482499INST_BIN = $(INST_SCRIPT )$(INST_ARCH )
483500INST_LIB = $(INST_TOP )$(INST_VER ) \lib
0 commit comments