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
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
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
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
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--@*