-[AC_CACHE_CHECK([whether printing callstack is possible],
- [lyx_cv_callstack_printing],
-[AC_TRY_COMPILE([
-#include <execinfo.h>
-#include <cxxabi.h>
-], [
- void* array[200];
- size_t size = backtrace(array, 200);
- backtrace_symbols(array, size);
- int status = 0;
- abi::__cxa_demangle("abcd", 0, 0, &status);
-],
-[lyx_cv_callstack_printing=yes], [lyx_cv_callstack_printing=no])])
+[AC_ARG_ENABLE([callstack-printing],
+ [AS_HELP_STRING([--disable-callstack-printing],[do not print a callstack when crashing])],
+ lyx_cv_callstack_printing=$enableval, lyx_cv_callstack_printing=yes)
+
+if test x"$lyx_cv_callstack_printing" = xyes; then
+ AC_CACHE_CHECK([whether printing callstack is possible],
+ [lyx_cv_callstack_printing],
+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <execinfo.h>
+ #include <cxxabi.h>
+ ]], [[
+ void* array[200];
+ size_t size = backtrace(array, 200);
+ backtrace_symbols(array, size);
+ int status = 0;
+ abi::__cxa_demangle("abcd", 0, 0, &status);
+ ]])],[],[lyx_cv_callstack_printing=no])])
+fi