From 7a1aef7de38475e27c12b9ed6f4a74811d0fe70b Mon Sep 17 00:00:00 2001 From: mdw Date: Sun, 4 Feb 2001 01:18:52 +0000 Subject: [PATCH] Overhaul the mLib debugging options. --- aclocal.glob | 76 ++++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 51 insertions(+), 25 deletions(-) diff --git a/aclocal.glob b/aclocal.glob index dfbf692..d899953 100644 --- a/aclocal.glob +++ b/aclocal.glob @@ -1,6 +1,6 @@ dnl -*-fundamental-*- *@--GLOB-HEADER--@* dnl -dnl $Id: aclocal.glob,v 1.11 2001/01/20 12:03:08 mdw Exp $ +dnl $Id: aclocal.glob,v 1.12 2001/02/04 01:18:52 mdw Exp $ dnl dnl Common library of autoconf macros dnl @@ -28,6 +28,9 @@ dnl Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. dnl----- Revision history --------------------------------------------------- dnl dnl $Log: aclocal.glob,v $ +dnl Revision 1.12 2001/02/04 01:18:52 mdw +dnl Overhaul the mLib debugging options. +dnl dnl Revision 1.11 2001/01/20 12:03:08 mdw dnl Remove redundant stuff. dnl @@ -65,7 +68,7 @@ dnl dnl----- Common files distribution --------------------------- *@--NOTICE--@* dnl -dnl $Id: aclocal.glob,v 1.11 2001/01/20 12:03:08 mdw Exp $ +dnl $Id: aclocal.glob,v 1.12 2001/02/04 01:18:52 mdw Exp $ dnl --- *@-AM_PROG_CC_STDC-@* --- dnl @@ -1460,16 +1463,15 @@ dnl Synopsis: mdw_OPT_NDEBUG dnl dnl Arguments: --- dnl -dnl Use: Turns off the `NDEBUG' flag if the user wants to do -dnl debugging. +dnl Use: Turns on the `NDEBUG' flag, to disable useful things like +dnl assertions. AC_DEFUN(mdw_OPT_NDEBUG, [AC_ARG_ENABLE(debugging, -[ --enable-debugging spews vast swathes of useless information], +[ --disable-debugging spews vast swathes of useless information], [if test "$enableval" = "no"; then AC_DEFINE(NDEBUG, 1) -fi], -[AC_DEFINE(NDEBUG, 1)])]) +fi])]) dnl --- *@-mdw_OPT_EFENCE-@* --- dnl @@ -1488,42 +1490,66 @@ AC_DEFUN(mdw_OPT_EFENCE, AC_CHECK_LIB(efence, malloc) fi])]) -dnl --- *@-mdw_OPT_mLib_DEBUG-@* --- +dnl --- *@-mdw_OPT_TRACE-@* --- dnl dnl Author: Mark Wooding dnl -dnl Synopsis: mdw_OPT_mLib_DEBUG(PROGRAM) +dnl Synopsis: mdw_OPT_TRACE dnl dnl Arguments: --- dnl -dnl Use: Provides options for mLib debugging. In particular, the +dnl Use: Turns on the `NTRACE' flag, to disable useful things like +dnl trace outputs. + +AC_DEFUN(mdw_OPT_TRACE, +[AC_ARG_ENABLE(tracing, +[ --disable-tracing disable output of trace information], +[if test "$enableval" = "no"; then + AC_DEFINE(NTRACE, 1) +fi])]) + +dnl --- *@-mdw_OPT_mLib_TRACK-@* --- +dnl +dnl Author: Mark Wooding +dnl +dnl Synopsis: mdw_OPT_mLib_TRACK(PROGRAM) +dnl +dnl Arguments: PROGRAM = name of this program or package. +dnl +dnl Use: Controls the unsupported mLib memory tracker. The dnl following are defined: dnl -dnl --enable-tracing turns off the NTRACE variable dnl --enable-track turns on malloc tracking dnl --enable-blame-PROGRAM tracks malloc contexts in PROGRAM dnl -dnl There must be a separate `blame' option, so that the various -dnl blame options work properly. - -AC_DEFUN(mdw_OPT_mLib_DEBUG, -[mdw_OPT_NDEBUG -mdw_OPT_EFENCE - -AC_ARG_ENABLE(tracing, -[ --enable-tracing enable output of tracing information], -[if test "$enableval" = "no"; then - AC_DEFINE(NTRACE, 1) -fi], -[AC_DEFINE(NTRACE, 1)]) +dnl There must be a separate `blame' option for each program, +dnl so that the various blame options in a hierarchy get +dnl propagated properly. This is an obsolete feature from the +dnl days when mLib was provided as a subdirectory of other +dnl packages. +AC_DEFUN(mdw_OPT_mLib_TRACK, +[AC_REQUIRE([mdw_OPT_TRACE]) AC_ARG_ENABLE(track, [ --enable-track enable tracking of malloc and free], [AC_DEFINE(TRACK_ENABLE, 1)]) - AC_ARG_ENABLE(blame-$1, [ --enable-blame-$1 track malloc contexts while in $1], [AC_DEFINE(TRACK_BLAME, 1)])]) +dnl --- *@-mdw_OPT_mLib_DEBUG-@* --- +dnl +dnl Author: Mark Wooding +dnl +dnl Synopsis: mdw_OPT_mLib_DEBUG(PROGRAM) +dnl +dnl Arguments: PROGRAM = name of this program or package. +dnl +dnl Use: Provides all of the above debugging options. + +AC_DEFUN(mdw_OPT_mLib_DEBUG, +[mdw_REQUIRE([mdw_OPT_NDEBUG]) +mdw_REQUIRE([mdw_OPT_mLib_TRACK], [$1])]) + dnl----- That's all, folks --------------------------------- *@--GLOB-END--@* -- 2.11.0