As soon as I saw Tim's commit, it was clear to me that we will need to add such a choice. You have prepared a patch or should I do it?
I created a patch and am compiling as I write. Here is the patch. Please review!
===================================== diff -urN tdelibs/CMakeLists.txt tdelibs.new/CMakeLists.txt --- tdelibs/CMakeLists.txt 2013-08-15 16:35:14.000000000 -0500 +++ tdelibs.new/CMakeLists.txt 2013-08-15 18:38:21.659877443 -0500 @@ -24,6 +24,7 @@
include( FindPkgConfig ) include( CheckIncludeFile ) +include( CheckIncludeFiles ) include( CheckSymbolExists ) include( CheckFunctionExists ) include( CheckCSourceCompiles ) @@ -94,6 +95,7 @@ OPTION( WITH_SUDO_TDESU_BACKEND "Use sudo as backend for tdesu (default is su)" OFF ) OPTION( WITH_OLD_XDG_STD "Use the pre R14.0.0 XDG standard where both TDE and KDE are recognized in desktop files" OFF ) OPTION( WITH_LZMA "Enable support for LZMA/XZ" ${WITH_ALL_OPTIONS} ) +OPTION( WITH_TDEIOSLAVE_BACKTRACE "Enable backtrace in tdeioslave exception handler" ${WITH_ALL_OPTIONS} )
OPTION( WITH_ASPELL "Enable aspell support" ${WITH_ALL_OPTIONS} ) OPTION( WITH_HSPELL "Enable hspell support" ${WITH_ALL_OPTIONS} ) diff -urN tdelibs/config.h.cmake tdelibs.new/config.h.cmake --- tdelibs/config.h.cmake 2013-08-10 16:36:57.000000000 -0500 +++ tdelibs.new/config.h.cmake 2013-08-15 18:22:48.581678444 -0500 @@ -707,6 +707,9 @@ /* Use FontConfig in tdeinit */ #cmakedefine TDEINIT_USE_FONTCONFIG 1
+/* tdeioslave backtrace */ +#cmakedefine WITH_TDEIOSLAVE_BACKTRACE 1 + /* Use Xft preinitialization in tdeinit */ #cmakedefine TDEINIT_USE_XFT 1
diff -urN tdelibs/tdeio/tdeio/CMakeLists.txt tdelibs.new/tdeio/tdeio/CMakeLists.txt --- tdelibs/tdeio/tdeio/CMakeLists.txt 2013-08-15 16:35:14.000000000 -0500 +++ tdelibs.new/tdeio/tdeio/CMakeLists.txt 2013-08-15 18:32:46.337606197 -0500 @@ -81,13 +81,18 @@ kdirnotify.cpp kdirnotify.skel kdirnotify_stub.cpp observer.cpp ../misc/uiserver.stub observer.skel tdeemailsettings.cpp kprotocolinfo.cpp renamedlg.cpp skipdlg.cpp kremoteencoding.cpp - kmimetypechooser.cpp backtrace_symbols.c + kmimetypechooser.cpp )
+if( WITH_TDEIOSLAVE_BACKTRACE ) + list( APPEND ${target}_SRCS backtrace_symbols.c ) + set( BACKTRACE_LIBRARY bfd ) +endif( ) + tde_add_library( ${target} STATIC_PIC AUTOMOC SOURCES ${${target}_SRCS} DEPENDENCIES dcopidl - LINK bfd + LINK ${BACKTRACE_LIBRARY} bfd )
diff -urN tdelibs/tdeio/tdeio/ConfigureChecks.cmake tdelibs.new/tdeio/tdeio/ConfigureChecks.cmake --- tdelibs/tdeio/tdeio/ConfigureChecks.cmake 1969-12-31 19:00:00.000000000 -0500 +++ tdelibs.new/tdeio/tdeio/ConfigureChecks.cmake 2013-08-15 18:29:10.768715615 -0500 @@ -0,0 +1,17 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +if( WITH_TDEIOSLAVE_BACKTRACE ) + check_include_files( "bfd.h;demangle.h;libiberty.h" HAVE_BINUTILS_DEV ) + if( NOT HAVE_BINUTILS_DEV ) + tde_message_fatal( "binutils-dev are required, but not found on your system" ) + endif( ) +endif( ) diff -urN tdelibs/tdeio/tdeio/slavebase.cpp tdelibs.new/tdeio/tdeio/slavebase.cpp --- tdelibs/tdeio/tdeio/slavebase.cpp 2013-08-15 16:35:14.000000000 -0500 +++ tdelibs.new/tdeio/tdeio/slavebase.cpp 2013-08-15 18:35:12.114855058 -0500 @@ -70,6 +70,7 @@ #ifdef HAVE_BACKTRACE void print_trace() { +#ifdef WITH_TDEIOSLAVE_BACKTRACE void *array[10]; size_t size; char **strings; @@ -85,6 +86,7 @@ }
free (strings); +#endif } #endif #endif =====================================
Darrell