This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
win32: remove support for disabling USE_LARGE_FILES
[perl5.git] / win32 / makefile.mk
index b0be491..6ddc4d0 100644 (file)
@@ -7,7 +7,7 @@
 #      Windows SDK 64-bit compiler and tools
 #
 # This is set up to build a perl.exe that runs off a shared library
 #      Windows SDK 64-bit compiler and tools
 #
 # This is set up to build a perl.exe that runs off a shared library
-# (perl531.dll).  Also makes individual DLLs for the XS extensions.
+# (perl533.dll).  Also makes individual DLLs for the XS extensions.
 #
 
 ##
 #
 
 ##
@@ -45,7 +45,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.
 #
 # versioned installation can be obtained by setting INST_TOP above to a
 # path that includes an arbitrary version string.
 #
-#INST_VER      *= \5.31.9
+#INST_VER      *= \5.33.5
 
 #
 # Comment this out if you DON'T want your perl installation to have
 
 #
 # Comment this out if you DON'T want your perl installation to have
@@ -88,13 +88,6 @@ USE_ITHREADS *= define
 USE_IMP_SYS    *= define
 
 #
 USE_IMP_SYS    *= define
 
 #
-# Comment this out if you don't want to enable large file support for
-# some reason.  Should normally only be changed to maintain compatibility
-# with an older release of perl.
-#
-USE_LARGE_FILES        *= define
-
-#
 # Uncomment this if you're building a 32-bit perl and want 64-bit integers.
 # (If you're building a 64-bit perl then you will have 64-bit integers whether
 # or not this is uncommented.)
 # Uncomment this if you're building a 32-bit perl and want 64-bit integers.
 # (If you're building a 64-bit perl then you will have 64-bit integers whether
 # or not this is uncommented.)
@@ -220,7 +213,7 @@ DEFAULT_INC_EXCLUDES_DOT *= define
 # set this to additionally provide a statically linked perl-static.exe.
 # Note that dynamic loading will not work with this perl, so you must
 # include required modules statically using the STATIC_EXT or ALL_STATIC
 # set this to additionally provide a statically linked perl-static.exe.
 # Note that dynamic loading will not work with this perl, so you must
 # include required modules statically using the STATIC_EXT or ALL_STATIC
-# variables below. A static library perl531s.lib will also be created.
+# variables below. A static library perl533s.lib will also be created.
 # Ordinary perl.exe is not affected by this option.
 #
 #BUILD_STATIC  *= define
 # Ordinary perl.exe is not affected by this option.
 #
 #BUILD_STATIC  *= define
@@ -289,7 +282,7 @@ EXTRALIBDIRS        *=
 
 #
 # set this to your email address (perl will guess a value from
 
 #
 # set this to your email address (perl will guess a value from
-# from your loginname and your hostname, which may not be right)
+# your loginname and your hostname, which may not be right)
 #
 #EMAIL         *=
 
 #
 #EMAIL         *=
 
@@ -306,7 +299,6 @@ USE_SITECUST        *= undef
 USE_MULTI      *= undef
 USE_ITHREADS   *= undef
 USE_IMP_SYS    *= undef
 USE_MULTI      *= undef
 USE_ITHREADS   *= undef
 USE_IMP_SYS    *= undef
-USE_LARGE_FILES        *= undef
 USE_64_BIT_INT *= undef
 USE_LONG_DOUBLE        *= undef
 DEFAULT_INC_EXCLUDES_DOT *= undef
 USE_64_BIT_INT *= undef
 USE_LONG_DOUBLE        *= undef
 DEFAULT_INC_EXCLUDES_DOT *= undef
@@ -629,6 +621,10 @@ EMBED_EXE_MANI     = if exist $@.manifest mt -nologo -manifest $@.manifest -outputre
                  if exist $@.manifest del $@.manifest
 EMBED_DLL_MANI = if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 && \
                  if exist $@.manifest del $@.manifest
                  if exist $@.manifest del $@.manifest
 EMBED_DLL_MANI = if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 && \
                  if exist $@.manifest del $@.manifest
+# This one is for perl.exe which already has an embedded manifest, so we want to
+# append to it, not replace it.
+APPEND_EXE_MANI        = if exist $@.manifest mt -nologo -manifest $@.manifest -updateresource:$@;1 && \
+                 if exist $@.manifest del $@.manifest
 
 # Most relevant compiler-specific options fall into two groups:
 # either pre-MSVC80 or MSVC80 onwards, so define a macro for this.
 
 # Most relevant compiler-specific options fall into two groups:
 # either pre-MSVC80 or MSVC80 onwards, so define a macro for this.
@@ -792,11 +788,7 @@ TESTPREPGCC        =
 
 CFLAGS_O       = $(CFLAGS) $(BUILDOPT)
 
 
 CFLAGS_O       = $(CFLAGS) $(BUILDOPT)
 
-.IF "$(PREMSVC80)" == "undef"
-PRIV_LINK_FLAGS        += "/manifestdependency:type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"
-.ELSE
-RSC_FLAGS      = -DINCLUDE_MANIFEST
-.ENDIF
+RSC_FLAGS      =
 
 # VS 2017 (VC++ 14.1) requires at minimum Windows 7 SP1 (with latest Windows Updates)
 
 
 # VS 2017 (VC++ 14.1) requires at minimum Windows 7 SP1 (with latest Windows Updates)
 
@@ -950,8 +942,8 @@ UTILS               =                       \
 
 CFGSH_TMPL     = config.gc
 CFGH_TMPL      = config_H.gc
 
 CFGSH_TMPL     = config.gc
 CFGH_TMPL      = config_H.gc
-PERLIMPLIB     = $(COREDIR)\libperl531$(a)
-PERLSTATICLIB  = ..\libperl531s$(a)
+PERLIMPLIB     = $(COREDIR)\libperl533$(a)
+PERLSTATICLIB  = ..\libperl533s$(a)
 INT64          = long long
 
 .ELSE
 INT64          = long long
 
 .ELSE
@@ -964,11 +956,11 @@ INT64             = __int64
 
 # makedef.pl must be updated if this changes, and this should normally
 # only change when there is an incompatible revision of the public API.
 
 # makedef.pl must be updated if this changes, and this should normally
 # only change when there is an incompatible revision of the public API.
-PERLIMPLIB     *= $(COREDIR)\perl531$(a)
-PERLEXPLIB     *= $(COREDIR)\perl531.exp
-PERLSTATICLIB  *= ..\perl531s$(a)
-PERLDLL                = ..\perl531.dll
-PERLDLLBASE    = perl531.dll
+PERLIMPLIB     *= $(COREDIR)\perl533$(a)
+PERLEXPLIB     *= $(COREDIR)\perl533.exp
+PERLSTATICLIB  *= ..\perl533s$(a)
+PERLDLL                = ..\perl533.dll
+PERLDLLBASE    = perl533.dll
 
 #EUMM on Win32 isn't ready for parallel make, so only allow this file to be parallel
 #$(MAKE) will contain the -P that this makefile was called with, which is bad for
 
 #EUMM on Win32 isn't ready for parallel make, so only allow this file to be parallel
 #$(MAKE) will contain the -P that this makefile was called with, which is bad for
@@ -1017,7 +1009,6 @@ MICROCORE_SRC     =               \
                ..\mg.c         \
                ..\numeric.c    \
                ..\pad.c        \
                ..\mg.c         \
                ..\numeric.c    \
                ..\pad.c        \
-               ..\perlapi.c    \
                ..\perly.c      \
                ..\pp_sort.c    \
                ..\reentr.c     \
                ..\perly.c      \
                ..\pp_sort.c    \
                ..\reentr.c     \
@@ -1157,7 +1148,6 @@ CFG_VARS  =                                       \
                usemultiplicity=$(USE_MULTI)    ~       \
                use64bitint=$(USE_64_BIT_INT)   ~       \
                uselongdouble=$(USE_LONG_DOUBLE)        ~       \
                usemultiplicity=$(USE_MULTI)    ~       \
                use64bitint=$(USE_64_BIT_INT)   ~       \
                uselongdouble=$(USE_LONG_DOUBLE)        ~       \
-               uselargefiles=$(USE_LARGE_FILES)        ~       \
                usesitecustomize=$(USE_SITECUST)        ~       \
                default_inc_excludes_dot=$(DEFAULT_INC_EXCLUDES_DOT)    ~       \
                LINK_FLAGS=$(LINK_FLAGS)        ~       \
                usesitecustomize=$(USE_SITECUST)        ~       \
                default_inc_excludes_dot=$(DEFAULT_INC_EXCLUDES_DOT)    ~       \
                LINK_FLAGS=$(LINK_FLAGS)        ~       \
@@ -1216,9 +1206,9 @@ CHECKDMAKE :
 
 $(GLOBEXE) : perlglob.c
 .IF "$(CCTYPE)" == "GCC"
 
 $(GLOBEXE) : perlglob.c
 .IF "$(CCTYPE)" == "GCC"
-       $(LINK32) $(OPTIMIZE) $(BLINK_FLAGS) -mconsole -o $@ perlglob.c $(LIBFILES)
+       $(LINK32) $(EXTRACFLAGS) $(OPTIMIZE) $(BLINK_FLAGS) -mconsole -o $@ perlglob.c $(LIBFILES)
 .ELSE
 .ELSE
-       $(CC) $(OPTIMIZE) $(PDBOUT) -Fe$@ perlglob.c -link $(BLINK_FLAGS) \
+       $(CC) $(EXTRACFLAGS) $(OPTIMIZE) $(PDBOUT) -Fe$@ perlglob.c -link $(BLINK_FLAGS) \
        setargv$(o) $(LIBFILES) && $(EMBED_EXE_MANI)
 .ENDIF
 
        setargv$(o) $(LIBFILES) && $(EMBED_EXE_MANI)
 .ENDIF
 
@@ -1280,9 +1270,6 @@ $(MINIDIR)\.exists : $(CFGH_TMPL)
        @(echo.&& \
        echo #ifndef _config_h_footer_&& \
        echo #define _config_h_footer_&& \
        @(echo.&& \
        echo #ifndef _config_h_footer_&& \
        echo #define _config_h_footer_&& \
-       echo #undef Off_t&& \
-       echo #undef LSEEKSIZE&& \
-       echo #undef Off_t_size&& \
        echo #undef PTRSIZE&& \
        echo #undef SSize_t&& \
        echo #undef HAS_ATOLL&& \
        echo #undef PTRSIZE&& \
        echo #undef SSize_t&& \
        echo #undef HAS_ATOLL&& \
@@ -1332,15 +1319,6 @@ $(MINIDIR)\.exists : $(CFGH_TMPL)
        echo #define FILE_bufsiz^(fp^) ^(PERLIO_FILE_cnt^(fp^) + PERLIO_FILE_ptr^(fp^) - PERLIO_FILE_base^(fp^)^)&& \
        echo #define I_STDBOOL)>> config.h
 .ENDIF
        echo #define FILE_bufsiz^(fp^) ^(PERLIO_FILE_cnt^(fp^) + PERLIO_FILE_ptr^(fp^) - PERLIO_FILE_base^(fp^)^)&& \
        echo #define I_STDBOOL)>> config.h
 .ENDIF
-.IF "$(USE_LARGE_FILES)"=="define"
-       @(echo #define Off_t $(INT64)&& \
-       echo #define LSEEKSIZE ^8&& \
-       echo #define Off_t_size ^8)>> config.h
-.ELSE
-       @(echo #define Off_t long&& \
-       echo #define LSEEKSIZE ^4&& \
-       echo #define Off_t_size ^4)>> config.h
-.ENDIF
 .IF "$(WIN64)"=="define"
 .IF "$(CCTYPE)" == "GCC"
        @(echo #define LONG_DOUBLESIZE ^16)>> config.h
 .IF "$(WIN64)"=="define"
 .IF "$(CCTYPE)" == "GCC"
        @(echo #define LONG_DOUBLESIZE ^16)>> config.h
@@ -1454,7 +1432,7 @@ $(MINIWIN32_OBJ) : $(CORE_NOCFG_H)
        $(CC) -c $(CFLAGS) $(MINIBUILDOPT) -DPERL_IS_MINIPERL $(OBJOUT_FLAG)$@ $(PDBOUT) $(*B).c
 
 # -DPERL_IMPLICIT_SYS needs C++ for perllib.c
        $(CC) -c $(CFLAGS) $(MINIBUILDOPT) -DPERL_IS_MINIPERL $(OBJOUT_FLAG)$@ $(PDBOUT) $(*B).c
 
 # -DPERL_IMPLICIT_SYS needs C++ for perllib.c
-# rules wrapped in .IFs break Win9X build (we end up with unbalanced []s unless
+# rules wrapped in .IFs break Win9X build (we end up with unbalanced []s
 # unless the .IF is true), so instead we use a .ELSE with the default.
 # This is the only file that depends on perlhost.h, vmem.h, and vdir.h
 
 # unless the .IF is true), so instead we use a .ELSE with the default.
 # This is the only file that depends on perlhost.h, vmem.h, and vdir.h
 
@@ -1553,7 +1531,7 @@ $(PERLEXE): $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES) $(PERLIMPLIB)
 .ELSE
        $(LINK32) -out:$@ $(BLINK_FLAGS) \
            $(PERLEXE_OBJ) $(PERLEXE_RES) $(PERLIMPLIB) $(LIBFILES) $(SETARGV_OBJ)
 .ELSE
        $(LINK32) -out:$@ $(BLINK_FLAGS) \
            $(PERLEXE_OBJ) $(PERLEXE_RES) $(PERLIMPLIB) $(LIBFILES) $(SETARGV_OBJ)
-       $(EMBED_EXE_MANI)
+       $(APPEND_EXE_MANI)
 .ENDIF
        copy $(PERLEXE) $(WPERLEXE)
        $(MINIPERL) -I..\lib bin\exetype.pl $(WPERLEXE) WINDOWS
 .ENDIF
        copy $(PERLEXE) $(WPERLEXE)
        $(MINIPERL) -I..\lib bin\exetype.pl $(WPERLEXE) WINDOWS
@@ -1565,7 +1543,7 @@ $(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES)
 .ELSE
        $(LINK32) -out:$@ $(BLINK_FLAGS) \
            $(PERLEXEST_OBJ) $(PERLEXE_RES) $(PERLSTATICLIB) $(LIBFILES) $(SETARGV_OBJ)
 .ELSE
        $(LINK32) -out:$@ $(BLINK_FLAGS) \
            $(PERLEXEST_OBJ) $(PERLEXE_RES) $(PERLSTATICLIB) $(LIBFILES) $(SETARGV_OBJ)
-       $(EMBED_EXE_MANI)
+       $(APPEND_EXE_MANI)
 .ENDIF
 
 #-------------------------------------------------------------------------------
 .ENDIF
 
 #-------------------------------------------------------------------------------
@@ -1658,13 +1636,12 @@ utils: $(HAVEMINIPERL) ..\utils\Makefile
        copy ..\README.qnx      ..\pod\perlqnx.pod
        copy ..\README.riscos   ..\pod\perlriscos.pod
        copy ..\README.solaris  ..\pod\perlsolaris.pod
        copy ..\README.qnx      ..\pod\perlqnx.pod
        copy ..\README.riscos   ..\pod\perlriscos.pod
        copy ..\README.solaris  ..\pod\perlsolaris.pod
-       copy ..\README.symbian  ..\pod\perlsymbian.pod
        copy ..\README.synology ..\pod\perlsynology.pod
        copy ..\README.tru64    ..\pod\perltru64.pod
        copy ..\README.tw       ..\pod\perltw.pod
        copy ..\README.vos      ..\pod\perlvos.pod
        copy ..\README.win32    ..\pod\perlwin32.pod
        copy ..\README.synology ..\pod\perlsynology.pod
        copy ..\README.tru64    ..\pod\perltru64.pod
        copy ..\README.tw       ..\pod\perltw.pod
        copy ..\README.vos      ..\pod\perlvos.pod
        copy ..\README.win32    ..\pod\perlwin32.pod
-       copy ..\pod\perldelta.pod ..\pod\perl5319delta.pod
+       copy ..\pod\perldelta.pod ..\pod\perl5335delta.pod
        $(MINIPERL) -I..\lib $(PL2BAT) $(UTILS)
        $(MINIPERL) -I..\lib ..\autodoc.pl ..
        $(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q ..
        $(MINIPERL) -I..\lib $(PL2BAT) $(UTILS)
        $(MINIPERL) -I..\lib ..\autodoc.pl ..
        $(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q ..
@@ -1762,16 +1739,15 @@ 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 \
        -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 \
-           perl5319delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
+           perl5335delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
            perlapi.pod perlbs2000.pod perlcn.pod perlcygwin.pod \
            perldos.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \
            perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \
            perllinux.pod perlmacos.pod perlmacosx.pod perlmodlib.pod \
            perlnetware.pod perlopenbsd.pod perlos2.pod perlos390.pod \
            perlos400.pod perlplan9.pod perlqnx.pod perlriscos.pod \
            perlapi.pod perlbs2000.pod perlcn.pod perlcygwin.pod \
            perldos.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \
            perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \
            perllinux.pod perlmacos.pod perlmacosx.pod perlmodlib.pod \
            perlnetware.pod perlopenbsd.pod perlos2.pod perlos390.pod \
            perlos400.pod perlplan9.pod perlqnx.pod perlriscos.pod \
-           perlsolaris.pod perlsymbian.pod perlsynology.pod perltoc.pod \
-           perltru64.pod perltw.pod perluniprops.pod perlvos.pod \
-           perlwin32.pod
+           perlsolaris.pod perlsynology.pod perltoc.pod perltru64.pod \
+           perltw.pod perluniprops.pod perlvos.pod perlwin32.pod
        -cd ..\utils && del /f h2ph splain perlbug pl2pm h2xs \
            perldoc perlivp libnetcfg enc2xs encguess piconv cpan streamzip *.bat \
            xsubpp pod2html instmodsh json_pp prove ptar ptardiff ptargrep shasum corelist zipdetails
        -cd ..\utils && del /f h2ph splain perlbug pl2pm h2xs \
            perldoc perlivp libnetcfg enc2xs encguess piconv cpan streamzip *.bat \
            xsubpp pod2html instmodsh json_pp prove ptar ptardiff ptargrep shasum corelist zipdetails