This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Remove Windows makefile support for building without PerlIO
authorSteve Hay <steve.m.hay@googlemail.com>
Wed, 7 Jan 2015 13:47:32 +0000 (13:47 +0000)
committerSteve Hay <steve.m.hay@googlemail.com>
Wed, 7 Jan 2015 13:47:32 +0000 (13:47 +0000)
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.

pod/perldelta.pod
win32/Makefile
win32/Makefile.ce
win32/config.ce
win32/config.gc
win32/config.vc
win32/config_H.gc
win32/config_H.vc
win32/makefile.mk
win32/win32.h

index 7ee0ec4..5ef7760 100644 (file)
@@ -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
index c5de85e..59f5fee 100644 (file)
@@ -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,7 +803,6 @@ CFG_VARS    =                                       \
                "usethreads=$(USE_ITHREADS)"            \
                "useithreads=$(USE_ITHREADS)"           \
                "usemultiplicity=$(USE_MULTI)"          \
-               "useperlio=$(USE_PERLIO)"               \
                "use64bitint=$(USE_64_BIT_INT)"         \
                "uselargefiles=$(USE_LARGE_FILES)"      \
                "usesitecustomize=$(USE_SITECUST)"      \
@@ -970,7 +942,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
index a9bbb55..6455942 100644 (file)
@@ -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)" \
index f49379f..34e4a71 100644 (file)
@@ -1054,7 +1054,7 @@ usemymalloc='n'
 usenm='false'
 usensgetexecutablepath='undef'
 useopcode='true'
-useperlio='~USE_PERLIO~'
+useperlio='define'
 useposix='true'
 usequadmath='undef'
 usereentrant='undef'
index 32d11d7..55931f1 100644 (file)
@@ -1095,7 +1095,7 @@ usemymalloc='n'
 usenm='false'
 usensgetexecutablepath='undef'
 useopcode='true'
-useperlio='undef'
+useperlio='define'
 useposix='true'
 usequadmath='undef'
 usereentrant='undef'
index db77d08..13d5dd9 100644 (file)
@@ -1094,7 +1094,7 @@ usemymalloc='n'
 usenm='false'
 usensgetexecutablepath='undef'
 useopcode='true'
-useperlio='undef'
+useperlio='define'
 useposix='true'
 usequadmath='undef'
 usereentrant='undef'
index e70800a..a549e88 100644 (file)
  *     used in a fully backward compatible manner.
  */
 #ifndef USE_PERLIO
-/*#define      USE_PERLIO              / **/
+#define        USE_PERLIO              /**/
 #endif
 
 /* USE_SOCKS:
index ba61fe8..1253e75 100644 (file)
  *     used in a fully backward compatible manner.
  */
 #ifndef USE_PERLIO
-/*#define      USE_PERLIO              / **/
+#define        USE_PERLIO              /**/
 #endif
 
 /* USE_SOCKS:
index 2dcd065..b30ff86 100644 (file)
@@ -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)) \
index 5b70557..aa6992e 100644 (file)
@@ -25,7 +25,6 @@
 #  define PERL_DISABLE_PMC
 
 /* allow minitest to work */
-#  define USE_PERLIO
 #  define PERL_TEXTMODE_SCRIPTS
 #endif