summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/build/m4/check_cc.m48
-rw-r--r--source4/include/debug.h10
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; \
} \