diff options
-rw-r--r-- | source4/build/m4/check_cc.m4 | 8 | ||||
-rw-r--r-- | source4/include/debug.h | 10 |
2 files changed, 17 insertions, 1 deletions
diff --git a/source4/build/m4/check_cc.m4 b/source4/build/m4/check_cc.m4 index f65adbbca4..a2d2bae79b 100644 --- a/source4/build/m4/check_cc.m4 +++ b/source4/build/m4/check_cc.m4 @@ -187,3 +187,11 @@ fi AC_SUBST(HOSTCC) AC_PATH_PROG(GCOV,gcov) + +AC_CACHE_CHECK([for __FUNCTION__ macro],samba_cv_HAVE_FUNCTION_MACRO,[ +AC_TRY_COMPILE([#include <stdio.h>], [printf("%s\n", __FUNCTION__);], +samba_cv_HAVE_FUNCTION_MACRO=yes,samba_cv_HAVE_FUNCTION_MACRO=no)]) +if test x"$samba_cv_HAVE_FUNCTION_MACRO" = x"yes"; then + AC_DEFINE(HAVE_FUNCTION_MACRO,1,[Whether there is a __FUNCTION__ macro]) +fi + diff --git a/source4/include/debug.h b/source4/include/debug.h index 40d04766e1..8ff937e7b9 100644 --- a/source4/include/debug.h +++ b/source4/include/debug.h @@ -18,6 +18,14 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +/* If we have these macros, we can add additional info to the header. */ + +#ifdef HAVE_FUNCTION_MACRO +#define FUNCTION_MACRO (__FUNCTION__) +#else +#define FUNCTION_MACRO ("") +#endif + /* the debug operations structure - contains function pointers to various debug implementations of each operation */ struct debug_ops { @@ -44,7 +52,7 @@ extern int DEBUGLEVEL; #define _DEBUG(level, body, header) do { \ if (DEBUGLVL(level)) { \ if (header) { \ - do_debug_header(level, __location__, __FUNCTION__); \ + do_debug_header(level, __location__, FUNCTION_MACRO); \ } \ do_debug body; \ } \ |