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