In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/3131b5278035ac433911e625fae01ba3b743ef49?hp=ec064ab75aa5b4dfd43af2f7654b9a0363ae02c4>
- Log ----------------------------------------------------------------- commit 3131b5278035ac433911e625fae01ba3b743ef49 Author: Steve Hay <[email protected]> Date: Wed Jan 7 14:24:14 2015 +0000 Remove obscure "attrib -r ..\t\*.*" command from minitest recipe This command is not run for any other test targets, and there seems to be no point in it, at least not now, since files under t\ are not read-only anyway. (It dates from the creation of the minitest target in commit 137443ea0a. At that time, the same command was already used in the $(PERLEXE) target, having been added there in the initial creation of win32/Makefile in commit 0a753a7640. Needless to say, neither commit gives any details on why the command was deemed necessary.) M win32/Makefile M win32/makefile.mk commit c674478b4bcbe0f2eae64e27b0661d2a1db2289b Author: Steve Hay <[email protected]> Date: Wed Jan 7 14:08:27 2015 +0000 Silence warning during VC++/nmake build "Use of uninitialized value $opt{"uselongdouble"} in string eq at config_sh.PL line 202." Only GCC supports USE_LONG_DOUBLE, so set the option to undef for VC++. M win32/Makefile commit dbf36b7ad7de360186b361d5132b2ba5c5cff6e2 Author: Steve Hay <[email protected]> Date: Wed Jan 7 14:02:10 2015 +0000 Fix minitest (op/taint.t) for GCC 4.x M win32/makefile.mk commit 8c847e6678942c1b97c54df660ba6fa84ca5e2da Author: Steve Hay <[email protected]> Date: Wed Jan 7 13:47:32 2015 +0000 Remove Windows makefile support for building without PerlIO As noted in #123394, building without PerlIO was all but deprecated in 5.18.0 and is no longer supported by Configure on POSIX systems, so there is no need for the Windows makefiles to provide support for it either. Therefore, we can simply enable PerlIO in the canned configuration files and remove any fiddling with that setting for the real configuration, which means that miniperl will also now have PerlIO enabled without needing the recently added change to win32.h. M pod/perldelta.pod M win32/Makefile M win32/Makefile.ce M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.gc M win32/config_H.vc M win32/makefile.mk M win32/win32.h ----------------------------------------------------------------------- Summary of changes: pod/perldelta.pod | 6 ++++++ win32/Makefile | 34 +++------------------------------- win32/Makefile.ce | 17 ----------------- win32/config.ce | 2 +- win32/config.gc | 2 +- win32/config.vc | 2 +- win32/config_H.gc | 2 +- win32/config_H.vc | 2 +- win32/makefile.mk | 37 +++++++------------------------------ win32/win32.h | 1 - 10 files changed, 21 insertions(+), 84 deletions(-) diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 7ee0ec4..5ef7760 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -364,6 +364,12 @@ would uncondtionally have around a dozen warnings from hv_func.h. These warnings have been silenced. GCC all bitness and Visual C++ for Win32 were not affected. +=item * + +Support for building without PerlIO has been removed from the Windows +makefiles. Non-PerlIO builds were all but deprecated in Perl 5.18.0 and are +already not supported by F<Configure> on POSIX systems. + =back =back diff --git a/win32/Makefile b/win32/Makefile index c5de85e..f8d8a69 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -81,15 +81,6 @@ USE_ITHREADS = define USE_IMP_SYS = define # -# Comment out next assign to disable perl's I/O subsystem and use compiler's -# stdio for IO - depending on your compiler vendor and run time library you may -# then get a number of fails from make test i.e. bugs - complain to them not us ;-). -# You will also be unable to take full advantage of perl5.8's support for multiple -# encodings and may see lower IO performance. You have been warned. -# -USE_PERLIO = 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. @@ -278,10 +269,6 @@ USE_ITHREADS = undef USE_IMP_SYS = undef !ENDIF -!IF "$(USE_PERLIO)" == "" -USE_PERLIO = undef -!ENDIF - !IF "$(USE_LARGE_FILES)" == "" USE_LARGE_FILES = undef !ENDIF @@ -368,15 +355,7 @@ ARCHITECTURE = ia64 !IF "$(USE_MULTI)" == "define" ARCHNAME = MSWin32-$(ARCHITECTURE)-multi !ELSE -!IF "$(USE_PERLIO)" == "define" ARCHNAME = MSWin32-$(ARCHITECTURE)-perlio -!ELSE -ARCHNAME = MSWin32-$(ARCHITECTURE) -!ENDIF -!ENDIF - -!IF "$(USE_PERLIO)" == "define" -BUILDOPT = $(BUILDOPT) -DUSE_PERLIO !ENDIF !IF "$(USE_ITHREADS)" == "define" @@ -717,17 +696,11 @@ EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c WIN32_SRC = \ .\win32.c \ + .\win32io.c \ .\win32sck.c \ .\win32thread.c \ .\fcrypt.c -# We need this for miniperl build unless we override canned -# config.h #define building mini\* -#!IF "$(USE_PERLIO)" == "define" -WIN32_SRC = $(WIN32_SRC) .\win32io.c -#!ENDIF - - CORE_NOCFG_H = \ ..\av.h \ ..\cop.h \ @@ -830,8 +803,8 @@ CFG_VARS = \ "usethreads=$(USE_ITHREADS)" \ "useithreads=$(USE_ITHREADS)" \ "usemultiplicity=$(USE_MULTI)" \ - "useperlio=$(USE_PERLIO)" \ "use64bitint=$(USE_64_BIT_INT)" \ + "uselongdouble=undef" \ "uselargefiles=$(USE_LARGE_FILES)" \ "usesitecustomize=$(USE_SITECUST)" \ "LINK_FLAGS=$(LINK_FLAGS:"=\")" \ @@ -970,7 +943,7 @@ config.w32 : $(CFGSH_TMPL) # This target is for when changes to the main config.sh happen. # Edit config.vc, then make perl in a minimal configuration (i.e. with MULTI, -# ITHREADS, IMP_SYS, LARGE_FILES and PERLIO off), then make this target +# ITHREADS, IMP_SYS and LARGE_FILES off), then make this target # to regenerate config_H.vc. regen_config_h: $(MINIPERL) -I..\lib config_sh.PL $(CFG_VARS) $(CFGSH_TMPL) > ..\config.sh @@ -1317,7 +1290,6 @@ minitest : .\config.h $(MINIPERL) ..\git_version.h $(GLOBEXE) $(CONFIGPM) $(UNID if exist ..\t\perl.exe del /f ..\t\perl.exe rename ..\t\miniperl.exe perl.exe $(XCOPY) $(GLOBEXE) ..\t\$(NULL) - attrib -r ..\t\*.* # Note this perl.exe is miniperl cd ..\t && perl.exe TEST base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t opbasic/*.t op/*.t uni/*.t perf/*.t pragma/*.t diff --git a/win32/Makefile.ce b/win32/Makefile.ce index a9bbb55..6455942 100644 --- a/win32/Makefile.ce +++ b/win32/Makefile.ce @@ -37,14 +37,6 @@ CCLIBDIR = $(CCHOME)\lib CECOPY = cecopy # -# Comment out next assign to disable perl's I/O subsystem and use compiler's -# stdio for IO - depending on your compiler vendor and run time library you may -# then get a number of fails from make test i.e. bugs - complain to them not us ;-). -# You will also be unable to take full advantage of perl5.8's support for multiple -# encodings and may see lower IO performance. You have been warned. -USE_PERLIO = define - -# # set this if you wish to use perl's malloc # This will make perl run few times faster # WARNING: Turning this on/off WILL break binary compatibility with extensions @@ -458,10 +450,6 @@ USE_ITHREADS = undef USE_IMP_SYS = undef !ENDIF -!IF "$(USE_PERLIO)" == "" -USE_PERLIO = undef -!ENDIF - !IF "$(USE_PERLCRT)" == "" USE_PERLCRT = undef !ENDIF @@ -482,10 +470,6 @@ BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_CONTEXT BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_SYS !ENDIF -!IF "$(USE_PERLIO)" == "define" -BUILDOPT = $(BUILDOPT) -DUSE_PERLIO -!ENDIF - !IF "$(CROSS_NAME)" == "" CROSS_NAME = $(MACHINE) !ENDIF @@ -766,7 +750,6 @@ CFG_VARS = \ "usethreads=$(USE_ITHREADS)" \ "useithreads=$(USE_ITHREADS)" \ "usemultiplicity=$(USE_MULTI)" \ - "useperlio=$(USE_PERLIO)" \ "use64bitint=undef" \ "uselargefiles=undef" \ "LINK_FLAGS=$(LDLIBPATH) $(LINK_FLAGS) $(SUBSYS)" \ diff --git a/win32/config.ce b/win32/config.ce index f49379f..34e4a71 100644 --- a/win32/config.ce +++ b/win32/config.ce @@ -1054,7 +1054,7 @@ usemymalloc='n' usenm='false' usensgetexecutablepath='undef' useopcode='true' -useperlio='~USE_PERLIO~' +useperlio='define' useposix='true' usequadmath='undef' usereentrant='undef' diff --git a/win32/config.gc b/win32/config.gc index 32d11d7..55931f1 100644 --- a/win32/config.gc +++ b/win32/config.gc @@ -1095,7 +1095,7 @@ usemymalloc='n' usenm='false' usensgetexecutablepath='undef' useopcode='true' -useperlio='undef' +useperlio='define' useposix='true' usequadmath='undef' usereentrant='undef' diff --git a/win32/config.vc b/win32/config.vc index db77d08..13d5dd9 100644 --- a/win32/config.vc +++ b/win32/config.vc @@ -1094,7 +1094,7 @@ usemymalloc='n' usenm='false' usensgetexecutablepath='undef' useopcode='true' -useperlio='undef' +useperlio='define' useposix='true' usequadmath='undef' usereentrant='undef' diff --git a/win32/config_H.gc b/win32/config_H.gc index e70800a..a549e88 100644 --- a/win32/config_H.gc +++ b/win32/config_H.gc @@ -4843,7 +4843,7 @@ * used in a fully backward compatible manner. */ #ifndef USE_PERLIO -/*#define USE_PERLIO / **/ +#define USE_PERLIO /**/ #endif /* USE_SOCKS: diff --git a/win32/config_H.vc b/win32/config_H.vc index ba61fe8..1253e75 100644 --- a/win32/config_H.vc +++ b/win32/config_H.vc @@ -4837,7 +4837,7 @@ * used in a fully backward compatible manner. */ #ifndef USE_PERLIO -/*#define USE_PERLIO / **/ +#define USE_PERLIO /**/ #endif /* USE_SOCKS: diff --git a/win32/makefile.mk b/win32/makefile.mk index 2dcd065..9cfea1c 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -87,15 +87,6 @@ USE_ITHREADS *= define USE_IMP_SYS *= define # -# Comment out next assign to disable perl's I/O subsystem and use compiler's -# stdio for IO - depending on your compiler vendor and run time library you may -# then get a number of fails from make test i.e. bugs - complain to them not us ;-). -# You will also be unable to take full advantage of perl5.8's support for multiple -# encodings and may see lower IO performance. You have been warned. -# -USE_PERLIO *= 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. @@ -299,7 +290,6 @@ USE_SITECUST *= undef USE_MULTI *= undef USE_ITHREADS *= undef USE_IMP_SYS *= undef -USE_PERLIO *= undef USE_LARGE_FILES *= undef USE_64_BIT_INT *= undef USE_LONG_DOUBLE *= undef @@ -386,15 +376,7 @@ ARCHITECTURE = ia64 .IF "$(USE_MULTI)" == "define" ARCHNAME = MSWin32-$(ARCHITECTURE)-multi .ELSE -.IF "$(USE_PERLIO)" == "define" ARCHNAME = MSWin32-$(ARCHITECTURE)-perlio -.ELSE -ARCHNAME = MSWin32-$(ARCHITECTURE) -.ENDIF -.ENDIF - -.IF "$(USE_PERLIO)" == "define" -BUILDOPT += -DUSE_PERLIO .ENDIF .IF "$(USE_ITHREADS)" == "define" @@ -854,16 +836,11 @@ EXTRACORE_SRC += ..\perlio.c WIN32_SRC = \ .\win32.c \ + .\win32io.c \ .\win32sck.c \ .\win32thread.c \ .\fcrypt.c -# We need this for miniperl build unless we override canned -# config.h #define building mini\* -#.IF "$(USE_PERLIO)" == "define" -WIN32_SRC += .\win32io.c -#.ENDIF - CORE_NOCFG_H = \ ..\av.h \ ..\cop.h \ @@ -972,7 +949,6 @@ CFG_VARS = \ usethreads=$(USE_ITHREADS) ~ \ useithreads=$(USE_ITHREADS) ~ \ usemultiplicity=$(USE_MULTI) ~ \ - useperlio=$(USE_PERLIO) ~ \ use64bitint=$(USE_64_BIT_INT) ~ \ uselongdouble=$(USE_LONG_DOUBLE) ~ \ uselargefiles=$(USE_LARGE_FILES) ~ \ @@ -1198,7 +1174,7 @@ config.w32 : $(CFGSH_TMPL) # This target is for when changes to the main config.sh happen. # Edit config.gc, then make perl using GCC in a minimal configuration (i.e. -# with MULTI, ITHREADS, IMP_SYS, LARGE_FILES and PERLIO off), then make +# with MULTI, ITHREADS, IMP_SYS and LARGE_FILES off), then make # this target to regenerate config_H.gc. regen_config_h: $(MINIPERL) -I..\lib config_sh.PL --cfgsh-option-file $(mktmp $(CFG_VARS)) \ @@ -1589,26 +1565,27 @@ $(UNIDATAFILES) ..\pod\perluniprops.pod .UPDATEALL : $(MINIPERL) $(CONFIGPM) ..\ cd ..\lib\unicore && \ ..\$(MINIPERL) -I.. -I..\..\dist\Cwd\lib -I..\..\dist\Cwd mktables -P ..\..\pod -maketest -makelist -p -minitest : .\config.h $(MINIPERL) ..\git_version.h $(GLOBEXE) $(CONFIGPM) $(UNIDATAFILES) +minitest : .\config.h $(MINIPERL) ..\git_version.h $(GLOBEXE) $(CONFIGPM) $(UNIDATAFILES) test-prep-gcc $(XCOPY) $(MINIPERL) ..\t\$(NULL) if exist ..\t\perl.exe del /f ..\t\perl.exe rename ..\t\miniperl.exe perl.exe $(XCOPY) $(GLOBEXE) ..\t\$(NULL) - attrib -r ..\t\*.* # Note this perl.exe is miniperl cd ..\t && perl.exe TEST base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t opbasic/*.t op/*.t uni/*.t perf/*.t pragma/*.t -test-prep : all utils ..\pod\perltoc.pod +test-prep : all utils ..\pod\perltoc.pod test-prep-gcc $(XCOPY) $(PERLEXE) ..\t\$(NULL) $(XCOPY) $(PERLDLL) ..\t\$(NULL) $(XCOPY) $(GLOBEXE) ..\t\$(NULL) -.IF "$(CCTYPE)" == "GCC" + # If building with gcc versions 4.x.x or greater, then # the GCC helper DLL will also need copied to the test directory. # The name of the dll can change, depending upon which vendor has supplied # your compiler, and upon the values of "x". # libstdc++-6.dll is copied if it exists as it, too, may then be needed. # Without this copying, the op/taint.t test script will fail. +test-prep-gcc : +.IF "$(CCTYPE)" == "GCC" if exist $(CCDLLDIR)\libgcc_s_seh-1.dll $(XCOPY) $(CCDLLDIR)\libgcc_s_seh-1.dll ..\t\$(NULL) if exist $(CCDLLDIR)\libgcc_s_sjlj-1.dll $(XCOPY) $(CCDLLDIR)\libgcc_s_sjlj-1.dll ..\t\$(NULL) if exist $(CCDLLDIR)\libgcc_s_dw2-1.dll $(XCOPY) $(CCDLLDIR)\libgcc_s_dw2-1.dll ..\t\$(NULL) diff --git a/win32/win32.h b/win32/win32.h index 5b70557..aa6992e 100644 --- a/win32/win32.h +++ b/win32/win32.h @@ -25,7 +25,6 @@ # define PERL_DISABLE_PMC /* allow minitest to work */ -# define USE_PERLIO # define PERL_TEXTMODE_SCRIPTS #endif -- Perl5 Master Repository
