diff options
author | Brian J. Tarricone <brian@tarricone.org> | 2009-09-18 17:41:43 -0700 |
---|---|---|
committer | Brian J. Tarricone <brian@tarricone.org> | 2009-09-18 17:41:43 -0700 |
commit | 0b00f6c1ea8c7e7d1ca772bf46f4c0e770970925 (patch) | |
tree | b21d866bd8d1409d20d32e39d0480c0da3c51c3f | |
parent | 881dcbabcc5cdc488b2b051f8a5ea7b1db0abba6 (diff) | |
download | xfce4-dev-tools-0b00f6c1ea8c7e7d1ca772bf46f4c0e770970925.tar.gz |
beef up the XDT_FEATURE_DEBUG macro a bit
-rw-r--r-- | NEWS | 7 | ||||
-rw-r--r-- | m4macros/xdt-features.m4 | 29 |
2 files changed, 28 insertions, 8 deletions
@@ -6,6 +6,13 @@ - Add XDT_FEATURE_LINKER_OPTS that checks for and enables useful linker optimizations if supported. This currently only checks for --as-needed and -O1, but more may be added in the future. +- Beef up XDT_FEATURE_DEBUG: + * Add new 'minimum' debug level, which is now the default and behaves + similarly to the old 'no' default. + * Debug level 'no' disables many glib/gobject-related checks and + asserts (this is not really recommended). + * Debug level 'full' disables code optimization. + * The macro now takes an argument to specify the default debug level. 4.7.0 ===== diff --git a/m4macros/xdt-features.m4 b/m4macros/xdt-features.m4 index aacc54c..7c72f81 100644 --- a/m4macros/xdt-features.m4 +++ b/m4macros/xdt-features.m4 @@ -54,17 +54,21 @@ AC_DEFUN([XDT_SUPPORTED_FLAGS], -dnl XDT_FEATURE_DEBUG() +dnl XDT_FEATURE_DEBUG(default_level=minimum) dnl AC_DEFUN([XDT_FEATURE_DEBUG], [ + test "$1" && default_level=$1 || default_level=minimum + AC_ARG_ENABLE([debug], -AC_HELP_STRING([--enable-debug[=yes|no|full]], [Build with debugging support]) -AC_HELP_STRING([--disable-debug], [Include no debugging support [default]]), - [], [enable_debug=no]) + AC_HELP_STRING([--enable-debug@<:@=no|minimum|yes|full@:>@], + [Build with debugging support (default=$default_level)]) + AC_HELP_STRING([--disable-debug], + [Include no debugging support [default]]), + [], [enable_debug=$default_level]) AC_MSG_CHECKING([whether to build with debugging support]) - if test x"$enable_debug" != x"no"; then + if test x"$enable_debug" = x"full" -o x"$enable_debug" = x"yes"; then AC_DEFINE([DEBUG], [1], [Define for debugging support]) xdt_cv_additional_CFLAGS="-DXFCE_DISABLE_DEPRECATED \ @@ -77,11 +81,13 @@ AC_HELP_STRING([--disable-debug], [Include no debugging support [default]]), -Wcast-align -Wformat-security \ -Winit-self -Wmissing-include-dirs -Wundef \ -Wmissing-format-attribute -Wnested-externs \ - -fstack-protector -D_FORTIFY_SOURCE=2" + -fstack-protector" + CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2" if test x"$enable_debug" = x"full"; then AC_DEFINE([DEBUG_TRACE], [1], [Define for tracing support]) - xdt_cv_additional_CFLAGS="$xdt_cv_additional_CFLAGS -g3 -Werror" + xdt_cv_additional_CFLAGS="$xdt_cv_additional_CFLAGS -O0 -g3 -Werror" + CPPFLAGS="$CPPFLAGS -DG_ENABLE_DEBUG" AC_MSG_RESULT([full]) else xdt_cv_additional_CFLAGS="$xdt_cv_additional_CFLAGS -g" @@ -104,7 +110,14 @@ AC_HELP_STRING([--disable-debug], [Include no debugging support [default]]), CFLAGS="$CFLAGS $supported_CFLAGS" CXXFLAGS="$CXXFLAGS $supported_CXXFLAGS" else - AC_MSG_RESULT([no]) + CPPFLAGS="$CPPFLAGS -DNDEBUG" + + if test x"$enable_debug" = x"no"; then + CPPFLAGS="$CPPFLAGS -DG_DISABLE_CAST_CHECKS -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS" + AC_MSG_RESULT([no]) + else + AC_MSG_RESULT([minimum]) + fi fi ]) |