3 # AX_CHECK_CATCHABLE_ABRT
7 # Check whether SIGABRT can be caught using signal handlers.
11 AC_DEFUN([AX_CHECK_CATCHABLE_ABRT], [dnl
13 AS_VAR_PUSHDEF([CACHEVAR], [ax_cv_check_[]_AC_LANG_ABBREV[]CATCHABLE_ABRT])dnl
14 AC_CACHE_CHECK([whether SIGABRT can be caught when using the _AC_LANG compiler], CACHEVAR, [
21 # error SIGABRT is not defined
24 static void sigabrt_handler_3(int _)
29 static void sigabrt_handler_2(int _)
31 signal(SIGABRT, sigabrt_handler_3);
36 static void sigabrt_handler_1(int _)
38 signal(SIGABRT, sigabrt_handler_2);
43 signal(SIGABRT, sigabrt_handler_1);
47 [AS_VAR_SET(CACHEVAR, [yes])],
48 [AS_VAR_SET(CACHEVAR, [no])],
49 [AS_VAR_SET(CACHEVAR, [unknown])]
52 AS_VAR_IF(CACHEVAR, yes,
53 [AC_DEFINE([HAVE_CATCHABLE_ABRT], [1], [Define if SIGABRT can be caught using signal handlers])],
54 [AC_MSG_WARN([On this platform, SIGABRT cannot be caught using signal handlers.])]
56 AS_VAR_POPDEF([CACHEVAR])dnl