This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
bump version to 5.25.11
[perl5.git] / win32 / Makefile
index bb923eb..e13291b 100644 (file)
@@ -38,7 +38,7 @@ INST_TOP      = $(INST_DRV)\perl
 # versioned installation can be obtained by setting INST_TOP above to a
 # path that includes an arbitrary version string.
 #
-#INST_VER      = \5.25.2
+#INST_VER      = \5.25.11
 
 #
 # Comment this out if you DON'T want your perl installation to have
@@ -133,6 +133,10 @@ CCTYPE             = MSVC60
 #CCTYPE                = MSVC120
 # Visual C++ 2013 Express Edition (aka Visual C++ 12.0) (free version)
 #CCTYPE                = MSVC120FREE
+# Visual C++ 2015 (aka Visual C++ 14.0) (full version)
+#CCTYPE                = MSVC140
+# Visual C++ 2015 Express Edition (aka Visual C++ 14.0) (free version)
+#CCTYPE                = MSVC140FREE
 
 #
 # If you are using Intel C++ Compiler uncomment this
@@ -467,7 +471,11 @@ DEFINES            = -DWIN32 -D_CONSOLE -DNO_STRICT
 LOCDEFS                = -DPERLDLL -DPERL_CORE
 CXX_FLAG       = -TP -EHsc
 
+!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE"
+LIBC           = ucrt.lib
+!ELSE
 LIBC           = msvcrt.lib
+!ENDIF
 
 !IF  "$(CFG)" == "Debug"
 OPTIMIZE       = -Od -MD -Zi -DDEBUGGING
@@ -478,7 +486,11 @@ OPTIMIZE   = -Od -MD -Zi
 LINK_DBG       = -debug
 !ELSE
 !IF  "$(CFG)" == "DebugFull"
+!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE"
+LIBC           = ucrtd.lib
+!ELSE
 LIBC           = msvcrtd.lib
+!ENDIF
 OPTIMIZE       = -Od -MDd -Zi -D_DEBUG -DDEBUGGING
 LINK_DBG       = -debug
 !ELSE
@@ -513,6 +525,11 @@ OPTIMIZE   = $(OPTIMIZE) -fp:precise
 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"
+DEFINES                = $(DEFINES) -D_WINSOCK_DEPRECATED_NO_WARNINGS
+!ENDIF
+
 # In VS 2005 (VC++ 8.0) Microsoft changes time_t from 32-bit to
 # 64-bit, even in 32-bit mode.  It also provides the _USE_32BIT_TIME_T
 # preprocessor option to revert back to the old functionality for
@@ -533,6 +550,14 @@ 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  "$(CFG)" == "DebugFull"
+LIBBASEFILES   = $(LIBBASEFILES) msvcrtd.lib vcruntimed.lib
+!  ELSE
+LIBBASEFILES   = $(LIBBASEFILES) msvcrt.lib vcruntime.lib
+!  ENDIF
+!ENDIF
+
 # Avoid __intel_new_proc_init link error for libircmt.
 # libmmd is /MD equivelent, other variants exist.
 # libmmd is Intel C's math addon funcs to MS CRT, contains long doubles, C99,
@@ -679,8 +704,6 @@ UTILS               =                       \
                ..\utils\splain         \
                ..\utils\perlbug        \
                ..\utils\pl2pm          \
-               ..\utils\c2ph           \
-               ..\utils\pstruct        \
                ..\utils\h2xs           \
                ..\utils\perldoc        \
                ..\utils\perlivp        \
@@ -930,6 +953,17 @@ perlglob$(o)  : perlglob.c
        @echo.>>$@
        @echo #ifndef _config_h_footer_>>$@
        @echo #define _config_h_footer_>>$@
+!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE"
+       @echo #undef FILE_ptr>>$@
+       @echo #define FILE_ptr(fp) PERLIO_FILE_ptr(fp)>>$@
+       @echo #undef FILE_cnt>>$@
+       @echo #define FILE_cnt(fp) PERLIO_FILE_cnt(fp)>>$@
+       @echo #undef FILE_base>>$@
+       @echo #define FILE_base(fp) PERLIO_FILE_base(fp)>>$@
+       @echo #undef FILE_bufsiz>>$@
+       @echo #define FILE_bufsiz(fp) (PERLIO_FILE_cnt(fp) + PERLIO_FILE_ptr(fp) - PERLIO_FILE_base(fp))>>$@
+       @echo #define I_STDBOOL>>$@
+!ENDIF
        @echo #undef Off_t>>$@
        @echo #undef LSEEKSIZE>>$@
        @echo #undef Off_t_size>>$@
@@ -1215,7 +1249,7 @@ utils: $(PERLEXE) ..\utils\Makefile
        copy ..\README.tw       ..\pod\perltw.pod
        copy ..\README.vos      ..\pod\perlvos.pod
        copy ..\README.win32    ..\pod\perlwin32.pod
-       copy ..\pod\perldelta.pod ..\pod\perl5252delta.pod
+       copy ..\pod\perldelta.pod ..\pod\perl52511delta.pod
        cd ..\win32
        $(PERLEXE) $(PL2BAT) $(UTILS)
        $(MINIPERL) -I..\lib ..\autodoc.pl ..
@@ -1314,7 +1348,7 @@ distclean: realclean
        -if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
        -if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
        -cd $(PODDIR) && del /f *.html *.bat roffitall \
-           perl5252delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
+           perl52511delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
            perlapi.pod perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \
            perldos.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \
            perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \
@@ -1324,7 +1358,7 @@ distclean: realclean
            perlsolaris.pod perlsymbian.pod perlsynology.pod perltoc.pod \
            perltru64.pod perltw.pod perluniprops.pod perlvos.pod \
            perlwin32.pod
-       -cd ..\utils && del /f h2ph splain perlbug pl2pm c2ph pstruct h2xs \
+       -cd ..\utils && del /f h2ph splain perlbug pl2pm h2xs \
            perldoc perlivp libnetcfg enc2xs encguess piconv cpan *.bat \
            xsubpp pod2html instmodsh json_pp prove ptar ptardiff ptargrep shasum corelist zipdetails
        -del /f ..\config.sh perlmain.c dlutils.c config.h.new \