Index: configure.in.in =================================================================== --- configure.in.in (revision 24251) +++ configure.in.in (working copy) @@ -35,6 +35,7 @@ dnl *************************** dnl *** Initialize automake *** dnl *************************** +AM_INIT_AUTOMAKE([1.8 dist-bzip2]) AM_INIT_AUTOMAKE([AC_PACKAGE_TARNAME()], [AC_PACKAGE_VERSION()]) AM_MAINTAINER_MODE() Index: m4macros/xdt-features.m4 =================================================================== --- m4macros/xdt-features.m4 (revision 24251) +++ m4macros/xdt-features.m4 (working copy) @@ -1,6 +1,6 @@ dnl $Id$ dnl -dnl Copyright (c) 2002-2006 +dnl Copyright (c) 2002-2007 dnl The Xfce development team. All rights reserved. dnl dnl Written for Xfce by Benedikt Meurer . @@ -36,37 +36,68 @@ dnl AC_DEFUN([XDT_FEATURE_DEBUG], [ + dnl Check if the developer defined a default debug mode (for svn snapshots for example) + m4_define([debug_default], [ifelse(xdt_debug_default(), [], [minimum], [xdt_debug_default()])]) + 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@:>@], [Turn on debugging @<:@default=debug_default@:>@]), + [], [enable_debug=debug_default]) 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 + dnl Print the result + AC_MSG_RESULT([$enable_debug] + AC_DEFINE([DEBUG], [1], [Define for debugging support]) - if test x"$GCC" = x"yes"; then - xdt_cv_additional_CFLAGS="-Wall" - fi - xdt_cv_additional_CFLAGS="$xdt_cv_additional_CFLAGS -DXFCE_DISABLE_DEPRECATED" + dnl Make sure we detect possible errors (if supported) + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Wall" + AC_MSG_CHECKING([whether $CC accepts -Wall]) + AC_COMPILE_IFELSE(AC_LANG_SOURCE([int x;]), [ + AC_MSG_RESULT([yes]) + PLATFORM_CFLAGS="$PLATFORM_CFLAGS -Wall" + CFLAGS="$CFLAGS -Wall" + CXXFLAGS="$CXXFLAGS -Wall" + ], [ + AC_MSG_RESULT([no]) + CFLAGS="$save_CFLAGS" + ]) + dnl Paranoia for --enable-debug=full if test x"$enable_debug" = x"full"; then AC_DEFINE([DEBUG_TRACE], [1], [Define for tracing support]) - if test x"$GCC" = x"yes"; then - xdt_cv_additional_CFLAGS="-g3 -Werror $xdt_cv_additional_CFLAGS" - fi - AC_MSG_RESULT([full]) - else - if test x"$GCC" = x"yes"; then - xdt_cv_additional_CFLAGS="-g $xdt_cv_additional_CFLAGS" - fi - AC_MSG_RESULT([yes]) + PLATFORM_CPPFLAGS="$PLATFORM_CPPFLAGS -DG_ENABLE_DEBUG" + + dnl Use -O0 -g3 if the compiler supports it + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -O0 -g3 -Werror" + AC_MSG_CHECKING([whether $CC accepts -O0 -g3 -Werror]) + AC_COMPILE_IFELSE(AC_LANG_SOURCE([int x;]), [ + AC_MSG_RESULT([yes]) + PLATFORM_CFLAGS="$PLATFORM_CFLAGS -O0 -g3 -Werror" + CFLAGS="$CFLAGS -O0 -g3 -Werror" + CXXFLAGS="$CXXFLAGS -O0 -g3 -Werror" + ], [ + AC_MSG_RESULT([no]) + CFLAGS="$save_CFLAGS" + ]) fi + else + dnl Print the result + AC_MSG_RESULT([$enable_debug]) + + dnl Disable debugging (release build) and cast checks + PLATFORM_CPPFLAGS="$PLATFORM_CPPFLAGS -DNDEBUG -DG_DISABLE_CAST_CHECKS" + CFLAGS="$CFLAGS -DNDEBUG -DG_DISABLE_CAST_CHECKS" + CXXFLAGS="$CXXFLAGS -DNDEBUG -DG_DISABLE_CAST_CHECKS" - CFLAGS="$CFLAGS $xdt_cv_additional_CFLAGS" - CXXFLAGS="$CXXFLAGS $xdt_cv_additional_CFLAGS" - else - AC_MSG_RESULT([no]) + dnl Disable all checks for --enable-debug=no + if test x"$enable_debug" = x"no"; then + PLATFORM_CPPFLAGS="$PLATFORM_CPPFLAGS -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS" + CFLAGS="$CFLAGS -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS" + CXXFLAGS="$CXXFLAGS -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS" + fi fi ]) @@ -135,6 +166,18 @@ AC_MSG_CHECKING([whether to build final version]) if test x"$enable_final" = x"yes"; then AC_MSG_RESULT([yes]) + + AC_MSG_CHECKING([whether $LD accepts --as-needed]) + case `$LD --as-needed -v 2>&1 &1