Allow to use backtrace(3) external library for kdebug

Signed-off-by: OBATA Akio <obache@wizdas.com>
(cherry picked from commit 2167207adc)
r14.0.x
OBATA Akio 4 years ago committed by Michele Calgaro
parent f5a0ae91d3
commit a6be89461f
Signed by: MicheleC
GPG Key ID: 2A75B7CA8ADED5CF

@ -330,7 +330,18 @@ check_symbol_exists( gethostbyname2_r "netdb.h" HAVE_GETHOSTBYNAME2_R )
check_symbol_exists( gethostbyname_r "netdb.h" HAVE_GETHOSTBYNAME_R ) check_symbol_exists( gethostbyname_r "netdb.h" HAVE_GETHOSTBYNAME_R )
check_symbol_exists( gai_strerror "sys/types.h;sys/socket.h;netdb.h" HAVE_GAI_STRERROR ) check_symbol_exists( gai_strerror "sys/types.h;sys/socket.h;netdb.h" HAVE_GAI_STRERROR )
check_symbol_exists( getaddrinfo "sys/types.h;sys/socket.h;netdb.h" HAVE_GETADDRINFO ) check_symbol_exists( getaddrinfo "sys/types.h;sys/socket.h;netdb.h" HAVE_GETADDRINFO )
check_symbol_exists( backtrace "execinfo.h" HAVE_BACKTRACE ) if ( CMAKE_MAJOR_VERSION LESS "3" )
check_symbol_exists( backtrace "execinfo.h" HAVE_BACKTRACE )
if ( HAVE_BACKTRACE )
set ( Backtrace_LIBRARY "" )
set ( Backtrace_HEADER "execinfo.h" )
endif ()
else ()
find_package( Backtrace )
if ( Backtrace_FOUND )
set ( HAVE_BACKTRACE 1 )
endif ()
endif ()
check_cxx_source_compiles( "#include <cxxabi.h> check_cxx_source_compiles( "#include <cxxabi.h>
int main() { abi::__cxa_demangle(0, 0, 0, 0); return 0; }" int main() { abi::__cxa_demangle(0, 0, 0, 0); return 0; }"
HAVE_ABI_CXA_DEMANGLE ) HAVE_ABI_CXA_DEMANGLE )

@ -66,8 +66,11 @@
/* Define if you have strvercmp prototype */ /* Define if you have strvercmp prototype */
#cmakedefine HAVE_STRVERCMP_PROTO 1 #cmakedefine HAVE_STRVERCMP_PROTO 1
/* Define to 1 if execinfo.h exists and defines backtrace (GLIBC >= 2.1) */ /* Define to 1 if GLIBC >= 2.1 compatible backtrace facility exists */
#cmakedefine HAVE_BACKTRACE 1 #cmakedefine HAVE_BACKTRACE 1
#ifdef HAVE_BACKTRACE
#define BACKTRACE_H <@Backtrace_HEADER@>
#endif
/* Define to 1 if gcc (or may be some over compiller) provides abi::__cxa_demangle() */ /* Define to 1 if gcc (or may be some over compiller) provides abi::__cxa_demangle() */
#cmakedefine HAVE_ABI_CXA_DEMANGLE 1 #cmakedefine HAVE_ABI_CXA_DEMANGLE 1

@ -59,7 +59,11 @@
#include <config.h> #include <config.h>
#ifdef HAVE_BACKTRACE #ifdef HAVE_BACKTRACE
#include <execinfo.h> #include BACKTRACE_H
#ifdef HAVE_DLFCN_H
#include <dlfcn.h>
#endif
#ifdef HAVE_ABI_CXA_DEMANGLE #ifdef HAVE_ABI_CXA_DEMANGLE
#include <cxxabi.h> #include <cxxabi.h>

Loading…
Cancel
Save