This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add new DebugSymbols and DebugFull CFG options to Windows makefiles
authorSteve Hay <steve.m.hay@googlemail.com>
Thu, 12 Feb 2015 14:18:06 +0000 (14:18 +0000)
committerSteve Hay <steve.m.hay@googlemail.com>
Thu, 12 Feb 2015 18:23:08 +0000 (18:23 +0000)
commit31c916d28f0179fb2b0458e871263c606181b025
treef1df7bb9b05a3c5b9c4af66b5ea8f7edbc7afcfc
parent8b523b63de9d345e1a95eb95ff44652618f2fd08
Add new DebugSymbols and DebugFull CFG options to Windows makefiles

This commit implements the suggestion from perl #123439 of adding a
CFG=DebugSymbols option for a debug mode build without enabling perl's
-DDEBUGGING code, and also adds a CFG=DebugFull option for a debug mode
build which uses the debug version of the CRT and enables -D_DEBUG code
(in perl and in the CRT) such as extra assertions and invalid parameter
warnings. (Note that failed invalid parameter checks are harmless thanks
to perl's invalid parameter handler in win32/win32.c. However, blindly
ignoring them is not a good thing. Compiling with _DEBUG causes the handler
to print warnings on STDERR about checks that have failed. Ideally these
should be fixed, or silenced by some other means if they really are
harmless--as was done for some such warnings by commit d52ca5864f.)

I attempted to do something like the DebugFull part once before, but was
held back by miniperl not using PerlIO, which resulted in a huge number of
invalid parameter warnings:

http://www.nntp.perl.org/group/perl.perl5.porters/2012/09/msg191674.html

However, that issue was recently removed by commit 8c847e6678, which
removed Windows makefile support for building without PerlIO, including
making miniperl now use PerlIO.

As noted in the makefiles comments, however, there are still a few cases
of invalid parameter warnings, which is partly why I've added the new
DebugFull option, rather than altering the existing Debug option.
win32/Makefile
win32/makefile.mk