In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/cfef31b27d1a56cda74e23698243f3be70bd9cb3?hp=bf236c8ee5b1b47df84e2e196fb90a43c6abd5a2>

- Log -----------------------------------------------------------------
commit cfef31b27d1a56cda74e23698243f3be70bd9cb3
Author: Jan Dubois <[email protected]>
Date:   Wed Jul 21 18:28:33 2010 -0700

    Get rid of PERL_POLLUTE
    
    PERL_POLLUTE was added (but undefined by default) in 5.6 to optionally
    expose older 5.005 symbols for backwards compatibility.  It's use was
    always discouraged, and MakeMaker contains a more specific escape hatch:
    
        perl Makefile.PL POLLUTE=1
    
    This can be used for modules that have not been upgraded to 5.6 naming
    conventions (and really should be completely obsolete by now).

M       embed.pl
M       embedvar.h
M       win32/Makefile
M       win32/makefile.mk

commit b6c85593a554a961f8d6994f7e4c5551a0a5eb2c
Author: Jan Dubois <[email protected]>
Date:   Wed Jul 21 18:15:54 2010 -0700

    Don't pretend to support really old VC++ compilers
    
    The oldest supported Visual C++ compiler is VC6 (released in 1998),
    and we already jump through some hoops for it by inlining newer
    API definitions in win32/win32.c.  It is desirable to keep supporting
    VC6 because it is the last MSVC release that links against MSVCRT.dll
    and not against a compiler specific runtime library.

M       win32/Makefile
M       win32/makefile.mk

commit 6d8f7c99d6105c3e91ba7907750682703fe0414b
Author: Jan Dubois <[email protected]>
Date:   Wed Jul 21 18:00:07 2010 -0700

    Get rid of obsolete PerlCRT.dll support
    
    PerlCRT.dll was a patched version of MSVCRT.dll that fixed/worked
    around a few known issues with Microsoft's C runtime library.
    These issues have long been fixed by updates to MSVCRT.dll, and
    AFAIK nobody has used PerlCRT.dll in almost 10 years now.

M       pod/perlxstut.pod
M       win32/Makefile
M       win32/makefile.mk

commit 02e200fccc6abfac054810724450c50d9b2d96cb
Author: Jan Dubois <[email protected]>
Date:   Wed Jul 21 17:46:00 2010 -0700

    Add CCTYPE value for Windows Server 2003 SP1 compilers
    
    The SDK2003SP1 compiler is special because it needs to link in
    an additional bufferoverflow.obj file, which does not exist for
    the other 64-bit MSVC compilers.  This change un-breaks the
    Makefle for all these other compilers (e.g. VS2008).

M       win32/Makefile

commit f33a21d84a9428cd5c501b39e3eea520b4f28643
Author: Jan Dubois <[email protected]>
Date:   Wed Jul 21 17:21:05 2010 -0700

    Remove deprecated -Wp64 compiler option
    
    The option seems to have been cargo-culted, as it is not
    relevant to the Perl sources, and would really be useful
    for 32-bit compiles only anyways (it detects certain
    potential 64-bit compatibility issues in 32-bit compiles;
    the 64-bit compilers always report these issues by default).

M       win32/Makefile
-----------------------------------------------------------------------

Summary of changes:
 embed.pl          |   12 --------
 embedvar.h        |   33 -----------------------
 pod/perlxstut.pod |    8 -----
 win32/Makefile    |   74 +++++++++++++++--------------------------------------
 win32/makefile.mk |   51 +++++-------------------------------
 5 files changed, 28 insertions(+), 150 deletions(-)

diff --git a/embed.pl b/embed.pl
index 9c55cb4..fea46df 100755
--- a/embed.pl
+++ b/embed.pl
@@ -745,18 +745,6 @@ print $em <<'END';
 
 #endif /* PERL_GLOBAL_STRUCT */
 
-#ifdef PERL_POLLUTE            /* disabled by default in 5.6.0 */
-
-END
-
-for $sym (sort @extvars) {
-    print $em hide($sym,"PL_$sym");
-}
-
-print $em <<'END';
-
-#endif /* PERL_POLLUTE */
-
 /* ex: set ro: */
 END
 
diff --git a/embedvar.h b/embedvar.h
index dde1f27..25c033c 100644
--- a/embedvar.h
+++ b/embedvar.h
@@ -845,37 +845,4 @@
 
 #endif /* PERL_GLOBAL_STRUCT */
 
-#ifdef PERL_POLLUTE            /* disabled by default in 5.6.0 */
-
-#define DBassertion            PL_DBassertion
-#define DBsingle               PL_DBsingle
-#define DBsub                  PL_DBsub
-#define compiling              PL_compiling
-#define curcop                 PL_curcop
-#define curstash               PL_curstash
-#define debstash               PL_debstash
-#define defgv                  PL_defgv
-#define diehook                        PL_diehook
-#define dirty                  PL_dirty
-#define dowarn                 PL_dowarn
-#define errgv                  PL_errgv
-#define na                     PL_na
-#define no_modify              PL_no_modify
-#define perl_destruct_level    PL_perl_destruct_level
-#define perldb                 PL_perldb
-#define ppaddr                 PL_ppaddr
-#define rsfp                   PL_rsfp
-#define rsfp_filters           PL_rsfp_filters
-#define stack_base             PL_stack_base
-#define stack_sp               PL_stack_sp
-#define stdingv                        PL_stdingv
-#define sv_arenaroot           PL_sv_arenaroot
-#define sv_no                  PL_sv_no
-#define sv_undef               PL_sv_undef
-#define sv_yes                 PL_sv_yes
-#define tainted                        PL_tainted
-#define tainting               PL_tainting
-
-#endif /* PERL_POLLUTE */
-
 /* ex: set ro: */
diff --git a/pod/perlxstut.pod b/pod/perlxstut.pod
index 62bef3b..de5b32a 100644
--- a/pod/perlxstut.pod
+++ b/pod/perlxstut.pod
@@ -198,14 +198,6 @@ been deleted):
 You can safely ignore the line about "prototyping behavior" - it is
 explained in L<perlxs/"The PROTOTYPES: Keyword">.
 
-If you are on a Win32 system, and the build process fails with linker
-errors for functions in the C library, check if your Perl is configured
-to use PerlCRT (running B<perl -V:libc> should show you if this is the
-case).  If Perl is configured to use PerlCRT, you have to make sure
-PerlCRT.lib is copied to the same location that msvcrt.lib lives in,
-so that the compiler can find it on its own.  msvcrt.lib is usually
-found in the Visual C compiler's lib directory (e.g. C:/DevStudio/VC/lib).
-
 Perl has its own special way of easily writing test scripts, but for this
 example only, we'll create our own test script.  Create a file called hello
 that looks like this:
diff --git a/win32/Makefile b/win32/Makefile
index 87c502d..500d42a 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -1,8 +1,8 @@
 #
-# Makefile to build perl on Windows NT using Microsoft NMAKE.
+# Makefile to build perl on Windows using Microsoft NMAKE.
 # Supported compilers:
-#      Visual C++ 2.0 or later
-#      MS Platform SDK 64-bit compiler and tools
+#      Microsoft Visual C++ 6.0 or later
+#      Windows SDK 64-bit compiler and tools
 #
 # This is set up to build a perl.exe that runs off a shared library
 # (perl513.dll).  Also makes individual DLLs for the XS extensions.
@@ -95,16 +95,14 @@ USE_LARGE_FILES     = define
 #
 # uncomment exactly one of the following
 #
-# Visual C++ 2.x
-#CCTYPE                = MSVC20
-# Visual C++ > 2.x and < 6.x
-#CCTYPE                = MSVC
 # Visual C++ 6.x (aka Visual C++ 98)
 CCTYPE         = MSVC60
 # Visual C++ Toolkit 2003 (aka Visual C++ 7.x) (free command-line tools)
 #CCTYPE                = MSVC70FREE
 # Visual C++ .NET 2003 (aka Visual C++ 7.x) (full version)
 #CCTYPE                = MSVC70
+# Windows Server 2003 SP1 Platform SDK (April 2005)
+#CCTYPE                = SDK2003SP1
 # Visual C++ 2005 Express Edition (aka Visual C++ 8.x) (free version)
 #CCTYPE                = MSVC80FREE
 # Visual C++ 2005 (aka Visual C++ 8.x) (full version)
@@ -122,17 +120,6 @@ CCTYPE             = MSVC60
 #CFG           = Debug
 
 #
-# uncomment to enable use of PerlCRT.DLL when using the Visual C compiler.
-# It has patches that fix known bugs in older versions of MSVCRT.DLL.
-# This currently requires VC 5.0 with Service Pack 3 or later.
-# Get it from CPAN at http://www.cpan.org/authors/id/D/DO/DOUGL/
-# and follow the directions in the package to install.
-#
-# Not recommended if you have VC 6.x and you're not running Windows 9x.
-#
-#USE_PERLCRT   = define
-
-#
 # uncomment to enable linking with setargv.obj under the Visual C
 # compiler. Setting this options enables perl to expand wildcards in
 # arguments, but it may be harder to use alternate methods like
@@ -197,7 +184,6 @@ CRYPT_SRC   = fcrypt.c
 # so you may have to set CCHOME explicitly (spaces in the path name should
 # not be quoted)
 #
-#CCHOME                = f:\msvc20
 CCHOME         = $(MSVCDIR)
 CCINCDIR       = $(CCHOME)\include
 CCLIBDIR       = $(CCHOME)\lib
@@ -218,16 +204,6 @@ BUILDOPT   = $(BUILDOPTEXTRA)
 #BUILDOPT      = $(BUILDOPT) -DNO_HASH_SEED
 
 #
-# This should normally be disabled.  Adding -DPERL_POLLUTE enables support
-# for old symbols by default, at the expense of extreme pollution.  You most
-# probably just want to build modules that won't compile with
-#         perl Makefile.PL POLLUTE=1
-# instead of enabling this.  Please report such modules to the respective
-# authors.
-#
-#BUILDOPT      = $(BUILDOPT) -DPERL_POLLUTE
-
-#
 # This should normally be disabled.  Enabling it will disable the File::Glob
 # implementation of CORE::glob.
 #
@@ -306,10 +282,6 @@ USE_PERLIO = undef
 USE_LARGE_FILES        = undef
 !ENDIF
 
-!IF "$(USE_PERLCRT)" == ""
-USE_PERLCRT    = undef
-!ENDIF
-
 !IF "$(USE_IMP_SYS)$(USE_MULTI)" == "defineundef"
 USE_MULTI      = define
 !ENDIF
@@ -350,6 +322,13 @@ WIN64                      = undef
 !ENDIF
 !ENDIF
 
+# Treat 64-bit MSVC60 (doesn't really exist) as SDK2003SP1 because
+# both link against MSVCRT.dll (which is part of Windows itself) and
+# not against a compiler specific versioned runtime.
+!IF "$(WIN64)" == "define" && "$(CCTYPE)" == "MSVC60"
+CCTYPE         = SDK2003SP1
+!ENDIF
+
 ARCHITECTURE = $(PROCESSOR_ARCHITECTURE)
 !IF "$(ARCHITECTURE)" == "AMD64"
 ARCHITECTURE   = x64
@@ -435,18 +414,10 @@ LOCDEFS           = -DPERLDLL -DPERL_CORE
 SUBSYS         = console
 CXX_FLAG       = -TP -EHsc
 
-!IF "$(USE_PERLCRT)" != "define"
 LIBC   = msvcrt.lib
-!ELSE
-LIBC   = PerlCRT.lib
-!ENDIF
 
 !IF  "$(CFG)" == "Debug"
-!  IF "$(CCTYPE)" == "MSVC20"
-OPTIMIZE       = -Od -MD -Z7 -DDEBUGGING
-!  ELSE
 OPTIMIZE       = -Od -MD -Zi -DDEBUGGING
-!  ENDIF
 LINK_DBG       = -debug
 !ELSE
 OPTIMIZE       = -MD -Zi -DNDEBUG
@@ -471,7 +442,7 @@ OPTIMIZE    = $(OPTIMIZE) -O1
 
 !IF "$(WIN64)" == "define"
 DEFINES                = $(DEFINES) -DWIN64 -DCONSERVATIVE
-OPTIMIZE       = $(OPTIMIZE) -Wp64 -fp:precise
+OPTIMIZE       = $(OPTIMIZE) -fp:precise
 !ENDIF
 
 # For now, silence VC++ 8.x's and 9.x's warnings about "unsafe" CRT functions
@@ -481,13 +452,11 @@ OPTIMIZE  = $(OPTIMIZE) -Wp64 -fp:precise
 DEFINES                = $(DEFINES) -D_CRT_SECURE_NO_DEPRECATE 
-D_CRT_NONSTDC_NO_DEPRECATE
 !ENDIF
 
-# Use the MSVCRT read() fix if the PerlCRT was not chosen, but only when using
-# VC++ 6.x or earlier. Later versions use MSVCR70.dll, MSVCR71.dll, etc, which
-# do not require the fix.
-!IF "$(CCTYPE)" == "MSVC20" || "$(CCTYPE)" == "MSVC" || "$(CCTYPE)" == 
"MSVC60" 
-!  IF "$(USE_PERLCRT)" != "define"
+# Use the MSVCRT read() fix only when using VC++ 6.x or earlier. Later
+# versions use MSVCR70.dll, MSVCR71.dll, etc, which do not require the
+# fix.
+!IF "$(CCTYPE)" == "MSVC60" 
 BUILDOPT       = $(BUILDOPT) -DPERL_MSVCRT_READFIX
-!  ENDIF
 !ENDIF
 
 LIBBASEFILES   = $(CRYPT_LIB) \
@@ -496,15 +465,14 @@ LIBBASEFILES      = $(CRYPT_LIB) \
                netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib \
                version.lib odbc32.lib odbccp32.lib comctl32.lib
 
-# The 64 bit Platform SDK compilers contain a runtime library that doesn't
-# include the buffer overrun verification code used by the /GS switch.
+# The 64 bit Windows Server 2003 SP1 SDK compilers link against MSVCRT.dll, 
which
+# doesn't include the buffer overrun verification code used by the /GS switch.
 # Since the code links against libraries that are compiled with /GS, this
-# "security cookie verification" must be included via bufferoverlow.lib.
-!IF "$(WIN64)" == "define"
+# "security cookie verification" code must be included via bufferoverflow.lib.
+!IF "$(WIN64)" == "define" && "$(CCTYPE)" == "SDK2003SP1"
 LIBBASEFILES    = $(LIBBASEFILES) bufferoverflowU.lib
 !ENDIF
 
-# we add LIBC here, since we may be using PerlCRT.dll
 LIBFILES       = $(LIBBASEFILES) $(LIBC)
 
 #EXTRACFLAGS   = -nologo -GF -W4 -wd4127 -wd4706
diff --git a/win32/makefile.mk b/win32/makefile.mk
index 3dab6e8..c7053ff 100644
--- a/win32/makefile.mk
+++ b/win32/makefile.mk
@@ -1,10 +1,10 @@
 #
-# Makefile to build perl on Windows NT using DMAKE.
+# Makefile to build perl on Windows using DMAKE.
 # Supported compilers:
-#      Visual C++ 2.0 or later
+#      Microsoft Visual C++ 6.0 or later
 #      Borland C++ 5.02 or later
 #      MinGW with gcc-2.95.2 or later
-#      MS Platform SDK 64-bit compiler and tools **experimental**
+#      Windows SDK 64-bit compiler and tools **experimental**
 #
 # This is set up to build a perl.exe that runs off a shared library
 # (perl513.dll).  Also makes individual DLLs for the XS extensions.
@@ -97,10 +97,6 @@ USE_LARGE_FILES      *= define
 #
 # uncomment exactly one of the following
 #
-# Visual C++ 2.x
-#CCTYPE                *= MSVC20
-# Visual C++ > 2.x and < 6.x
-#CCTYPE                *= MSVC
 # Visual C++ 6.x (aka Visual C++ 98)
 #CCTYPE                *= MSVC60
 # Visual C++ Toolkit 2003 (aka Visual C++ 7.x) (free command-line tools)
@@ -140,17 +136,6 @@ CCTYPE             *= GCC
 #CFG           *= Debug
 
 #
-# uncomment to enable use of PerlCRT.DLL when using the Visual C compiler.
-# It has patches that fix known bugs in older versions of MSVCRT.DLL.
-# This currently requires VC 5.0 with Service Pack 3 or later.
-# Get it from CPAN at http://www.cpan.org/authors/id/D/DO/DOUGL/
-# and follow the directions in the package to install.
-#
-# Not recommended if you have VC 6.x and you're not running Windows 9x.
-#
-#USE_PERLCRT   *= define
-
-#
 # uncomment to enable linking with setargv.obj under the Visual C
 # compiler. Setting this options enables perl to expand wildcards in
 # arguments, but it may be harder to use alternate methods like
@@ -273,16 +258,6 @@ BUILDOPT   *= $(BUILDOPTEXTRA)
 #BUILDOPT      += -DNO_HASH_SEED
 
 #
-# This should normally be disabled.  Adding -DPERL_POLLUTE enables support
-# for old symbols by default, at the expense of extreme pollution.  You most
-# probably just want to build modules that won't compile with
-#         perl Makefile.PL POLLUTE=1
-# instead of enabling this.  Please report such modules to the respective
-# authors.
-#
-#BUILDOPT      += -DPERL_POLLUTE
-
-#
 # This should normally be disabled.  Enabling it will disable the File::Glob
 # implementation of CORE::glob.
 #
@@ -334,7 +309,6 @@ USE_ITHREADS        *= undef
 USE_IMP_SYS    *= undef
 USE_PERLIO     *= undef
 USE_LARGE_FILES        *= undef
-USE_PERLCRT    *= undef
 
 .IF "$(USE_IMP_SYS)" == "define"
 PERL_MALLOC    = undef
@@ -589,18 +563,10 @@ LOCDEFS           = -DPERLDLL -DPERL_CORE
 SUBSYS         = console
 CXX_FLAG       = -TP -EHsc
 
-.IF "$(USE_PERLCRT)" != "define"
 LIBC   = msvcrt.lib
-.ELSE
-LIBC   = PerlCRT.lib
-.ENDIF
 
 .IF  "$(CFG)" == "Debug"
-.IF "$(CCTYPE)" == "MSVC20"
-OPTIMIZE       = -Od -MD -Z7 -DDEBUGGING
-.ELSE
 OPTIMIZE       = -O1 -MD -Zi -DDEBUGGING
-.ENDIF
 LINK_DBG       = -debug
 .ELSE
 OPTIMIZE       = -MD -Zi -DNDEBUG
@@ -635,14 +601,12 @@ OPTIMIZE  += -Wp64 -fp:precise
 DEFINES                += -D_CRT_SECURE_NO_DEPRECATE 
-D_CRT_NONSTDC_NO_DEPRECATE
 .ENDIF
 
-# Use the MSVCRT read() fix if the PerlCRT was not chosen, but only when using
-# VC++ 6.x or earlier. Later versions use MSVCR70.dll, MSVCR71.dll, etc, which
-# do not require the fix.
-.IF "$(CCTYPE)" == "MSVC20" || "$(CCTYPE)" == "MSVC" || "$(CCTYPE)" == 
"MSVC60" 
-.IF "$(USE_PERLCRT)" != "define"
+# Use the MSVCRT read() fix only when using VC++ 6.x or earlier. Later
+# versions use MSVCR70.dll, MSVCR71.dll, etc, which do not require the
+# fix.
+.IF "$(CCTYPE)" == "MSVC60" 
 BUILDOPT       += -DPERL_MSVCRT_READFIX
 .ENDIF
-.ENDIF
 
 LIBBASEFILES   = $(CRYPT_LIB) \
                oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib \
@@ -658,7 +622,6 @@ LIBBASEFILES        = $(CRYPT_LIB) \
 LIBBASEFILES    += bufferoverflowU.lib
 .ENDIF
 
-# we add LIBC here, since we may be using PerlCRT.dll
 LIBFILES       = $(LIBBASEFILES) $(LIBC)
 
 EXTRACFLAGS    = -nologo -GF -W3

--
Perl5 Master Repository

Reply via email to