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 <[email protected]> --- configure.ac | 2 ++ shared/os-compatibility.h | 10 ++++++++++ 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 f701f1b..b8e3860 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" -- 1.7.3.4 _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
