diff options
author | Pekka Paalanen <ppaalanen@gmail.com> | 2012-05-30 15:53:42 +0300 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2012-05-31 13:52:24 -0400 |
commit | 200019c0c66ec757353ffaaea8d9c98da37f26c8 (patch) | |
tree | 75b60052229f86ed1daee919d094b8ca3de6c941 | |
parent | 51aaf646db84b35a317a576459cd9a06c767b800 (diff) |
compositor: check for execinfo.h
Some systems may not have execinfo.h. Add a configure test for it, and
if it is not found, make the backtrace() call a no-operation.
Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | shared/os-compatibility.h | 10 | ||||
-rw-r--r-- | src/compositor.c | 1 |
3 files changed, 12 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index 4dfd161..ad8a44a 100644 --- a/configure.ac +++ b/configure.ac @@ -24,6 +24,8 @@ AC_CHECK_FUNC([dlopen], [], AC_CHECK_LIB([dl], [dlopen], DLOPEN_LIBS="-ldl")) AC_SUBST(DLOPEN_LIBS) +AC_CHECK_HEADERS([execinfo.h]) + PKG_CHECK_MODULES(COMPOSITOR, [wayland-server egl >= 7.10 glesv2 xkbcommon pixman-1]) diff --git a/shared/os-compatibility.h b/shared/os-compatibility.h index 77e8672..ca753b6 100644 --- a/shared/os-compatibility.h +++ b/shared/os-compatibility.h @@ -23,6 +23,16 @@ #ifndef OS_COMPATIBILITY_H #define OS_COMPATIBILITY_H +#ifdef HAVE_EXECINFO_H +#include <execinfo.h> +#else +static inline int +backtrace(void **buffer, int size) +{ + return 0; +} +#endif + int os_socketpair_cloexec(int domain, int type, int protocol, int *sv); diff --git a/src/compositor.c b/src/compositor.c index e99f051..4f10aba 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -42,7 +42,6 @@ #include <dlfcn.h> #include <signal.h> #include <setjmp.h> -#include <execinfo.h> #include <wayland-server.h> #include "compositor.h" |