From dcd573afcb28574182bdba73bfe3c04b9395c3d9 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Thu, 14 Apr 2005 11:35:45 +0000 Subject: [PATCH] Automatically create DBG() macro based on debug_ macro. --- src/include/compiler.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/include/compiler.h b/src/include/compiler.h index 401d4e45..82aea0e3 100644 --- a/src/include/compiler.h +++ b/src/include/compiler.h @@ -29,9 +29,29 @@ __asm__ ( ".globl\t" OBJECT_SYMBOL_STR ); __asm__ ( ".equ\t" OBJECT_SYMBOL_STR ", 0" ); +/* + * Macro to allow objects to explicitly drag in other objects by + * object name. Used by config.c. + * + */ #define REQUIRE_OBJECT(object) \ __asm__ ( ".equ\tneed_" #object ", obj_" #object ); +/* + * If debug_OBJECT is set to a true value, the macro DBG(...) will + * expand to printf(...) when compiling OBJECT, and the symbol + * WITH_DEBUG_MESSAGES will be inserted into the object file. + * + */ +#define DEBUG_SYMBOL _H2 ( debug_, OBJECT ) +#if DEBUG_SYMBOL +#define DBG(...) printf ( __VA_ARGS__ ) +#define DEBUG_SYMBOL_STR _XSTR ( DEBUG_SYMBOL ) +__asm__ ( ".equ\tWITH_DEBUG_MESSAGES, 0" ); +#else +#define DBG(...) +#endif + #define PACKED __attribute__((packed)) #define __unused __attribute__((unused)) #define __used __attribute__((used))