X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/fb953ad4077a4a0f7b8204f52f3ce71feca190d2..8b3db1a0cf78a47bbd1ac74d84a37d98838f864a:/win32/makefile.mk diff --git a/win32/makefile.mk b/win32/makefile.mk index b0be491..6ddc4d0 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -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 -# (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. # -#INST_VER *= \5.31.9 +#INST_VER *= \5.33.5 # # Comment this out if you DON'T want your perl installation to have @@ -88,13 +88,6 @@ USE_ITHREADS *= 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.) @@ -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 -# 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 @@ -289,7 +282,7 @@ EXTRALIBDIRS *= # # 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 *= @@ -306,7 +299,6 @@ USE_SITECUST *= 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 @@ -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 +# 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. @@ -792,11 +788,7 @@ TESTPREPGCC = 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) @@ -950,8 +942,8 @@ UTILS = \ 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 @@ -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. -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 @@ -1017,7 +1009,6 @@ MICROCORE_SRC = \ ..\mg.c \ ..\numeric.c \ ..\pad.c \ - ..\perlapi.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) ~ \ - uselargefiles=$(USE_LARGE_FILES) ~ \ 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" - $(LINK32) $(OPTIMIZE) $(BLINK_FLAGS) -mconsole -o $@ perlglob.c $(LIBFILES) + $(LINK32) $(EXTRACFLAGS) $(OPTIMIZE) $(BLINK_FLAGS) -mconsole -o $@ perlglob.c $(LIBFILES) .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 @@ -1280,9 +1270,6 @@ $(MINIDIR)\.exists : $(CFGH_TMPL) @(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&& \ @@ -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 -.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 @@ -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 -# 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 @@ -1553,7 +1531,7 @@ $(PERLEXE): $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES) $(PERLIMPLIB) .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 @@ -1565,7 +1543,7 @@ $(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES) .ELSE $(LINK32) -out:$@ $(BLINK_FLAGS) \ $(PERLEXEST_OBJ) $(PERLEXE_RES) $(PERLSTATICLIB) $(LIBFILES) $(SETARGV_OBJ) - $(EMBED_EXE_MANI) + $(APPEND_EXE_MANI) .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.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 ..\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 .. @@ -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 \ - 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 \ - 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