diff options
author | Andrew Tridgell <tridge@samba.org> | 2001-12-06 07:17:25 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2001-12-06 07:17:25 +0000 |
commit | 94dd5cded7921da779fdeffe0e829eaaf2f4984d (patch) | |
tree | 053674765d211d4a427091ccaf3d178d9dd7d030 | |
parent | d412f66cd82d8b14c8bd8d97f0235296bc8b2d23 (diff) | |
download | samba-94dd5cded7921da779fdeffe0e829eaaf2f4984d.tar.gz samba-94dd5cded7921da779fdeffe0e829eaaf2f4984d.tar.bz2 samba-94dd5cded7921da779fdeffe0e829eaaf2f4984d.zip |
allow a MAX_DEBUG_LEVEL setting in local.h (or the Makefile)
This allows embedded systems to compile out the higher debug
levels. It should gain speed as well as reducing the code
size. Setting it to 1 saves about 300k of code on my system.
(This used to be commit f34cac3b312f273a2363919655ddd1e25cb91305)
-rw-r--r-- | source3/include/debug.h | 18 | ||||
-rw-r--r-- | source3/include/local.h | 9 |
2 files changed, 21 insertions, 6 deletions
diff --git a/source3/include/debug.h b/source3/include/debug.h index cad802d8ca..37eaed2b12 100644 --- a/source3/include/debug.h +++ b/source3/include/debug.h @@ -150,41 +150,47 @@ struct debuglevel_message { */ #define DEBUGLVL( level ) \ - ( ((DEBUGLEVEL_CLASS[ DBGC_CLASS ] >= (level))|| \ + ( ((level) <= MAX_DEBUG_LEVEL) && \ + ((DEBUGLEVEL_CLASS[ DBGC_CLASS ] >= (level))|| \ (!DEBUGLEVEL_CLASS[ DBGC_CLASS ] && \ DEBUGLEVEL_CLASS[ DBGC_ALL ] >= (level)) ) \ && dbghdr( level, FILE_MACRO, FUNCTION_MACRO, (__LINE__) ) ) #define DEBUGLVLC( dbgc_class, level ) \ - ( ((DEBUGLEVEL_CLASS[ dbgc_class ] >= (level))|| \ + ( ((level) <= MAX_DEBUG_LEVEL) && \ + ((DEBUGLEVEL_CLASS[ dbgc_class ] >= (level))|| \ (!DEBUGLEVEL_CLASS_ISSET[ dbgc_class ] && \ DEBUGLEVEL_CLASS[ DBGC_ALL ] >= (level)) ) \ && dbghdr( level, FILE_MACRO, FUNCTION_MACRO, (__LINE__) ) ) #define DEBUG( level, body ) \ - (void)( ((DEBUGLEVEL_CLASS[ DBGC_CLASS ] >= (level))|| \ + (void)( ((level) <= MAX_DEBUG_LEVEL) && \ + ((DEBUGLEVEL_CLASS[ DBGC_CLASS ] >= (level))|| \ (!DEBUGLEVEL_CLASS_ISSET[ DBGC_CLASS ] && \ DEBUGLEVEL_CLASS[ DBGC_ALL ] >= (level)) ) \ && (dbghdr( level, FILE_MACRO, FUNCTION_MACRO, (__LINE__) )) \ && (dbgtext body) ) #define DEBUGC( dbgc_class, level, body ) \ - (void)( ((DEBUGLEVEL_CLASS[ dbgc_class ] >= (level))|| \ + (void)( ((level) <= MAX_DEBUG_LEVEL) && \ + ((DEBUGLEVEL_CLASS[ dbgc_class ] >= (level))|| \ (!DEBUGLEVEL_CLASS_ISSET[ dbgc_class ] && \ DEBUGLEVEL_CLASS[ DBGC_ALL ] >= (level)) ) \ && (dbghdr( level, FILE_MACRO, FUNCTION_MACRO, (__LINE__) )) \ && (dbgtext body) ) #define DEBUGADD( level, body ) \ - (void)( ((DEBUGLEVEL_CLASS[ DBGC_CLASS ] >= (level))|| \ + (void)( ((level) <= MAX_DEBUG_LEVEL) && \ + ((DEBUGLEVEL_CLASS[ DBGC_CLASS ] >= (level))|| \ (!DEBUGLEVEL_CLASS_ISSET[ DBGC_CLASS ] && \ DEBUGLEVEL_CLASS[ DBGC_ALL ] >= (level)) ) \ && (dbgtext body) ) #define DEBUGADDC( dbgc_class, level, body ) \ - (void)( ((DEBUGLEVEL_CLASS[ dbgc_class ] >= (level))|| \ + (void)( ((level) <= MAX_DEBUG_LEVEL) && \ + ((DEBUGLEVEL_CLASS[ dbgc_class ] >= (level))|| \ (!DEBUGLEVEL_CLASS_ISSET[ dbgc_class ] && \ DEBUGLEVEL_CLASS[ DBGC_ALL ] >= (level)) ) \ && (dbgtext body) ) diff --git a/source3/include/local.h b/source3/include/local.h index cec48850a9..da9fee0564 100644 --- a/source3/include/local.h +++ b/source3/include/local.h @@ -10,6 +10,15 @@ #define WORKGROUP "WORKGROUP" #endif +/* the maximum debug level to compile into the code. This assumes a good + optimising compiler that can remove unused code + for embedded or low-memory systems set this to a value like 2 to get + only important messages. This gives *much* smaller binaries +*/ +#ifndef MAX_DEBUG_LEVEL +#define MAX_DEBUG_LEVEL 1000 +#endif + /* This defines the section name in the configuration file that will contain */ /* global parameters - that is, parameters relating to the whole server, not */ /* just services. This name is then reserved, and may not be used as a */ |