FreeBSD's libc does not support backtrace(), but libexecinfo optionally replicates this function (and the other defined in execinfo.h).
This commit is contained in:
+13
-2
@@ -845,12 +845,24 @@ dnl ===========================================
|
|||||||
|
|
||||||
AC_HEADER_STDBOOL
|
AC_HEADER_STDBOOL
|
||||||
|
|
||||||
|
dnl libraries needed on some platforms but not on others
|
||||||
|
dnl ====================================================
|
||||||
saved_LIBS=$LIBS
|
saved_LIBS=$LIBS
|
||||||
|
|
||||||
|
dnl FreeBSD has dlopen integrated in libc, Linux needs libdl
|
||||||
LIBS=""
|
LIBS=""
|
||||||
AC_SEARCH_LIBS(dlopen, dl, [DLLIB=$LIBS])
|
AC_SEARCH_LIBS(dlopen, dl, [DLLIB=$LIBS])
|
||||||
LIBS=$saved_LIBS
|
|
||||||
AC_SUBST(DLLIB)
|
AC_SUBST(DLLIB)
|
||||||
|
|
||||||
|
dnl glibc's backtrace() can be replicated on FreeBSD with libexecinfo
|
||||||
|
LIBS=""
|
||||||
|
AC_SEARCH_LIBS(backtrace, execinfo, [BTLIB=$LIBS])
|
||||||
|
AC_CHECK_FUNCS(backtrace)
|
||||||
|
AC_SUBST(BTLIB)
|
||||||
|
|
||||||
|
LIBS=$saved_LIBS
|
||||||
|
dnl ======================
|
||||||
|
|
||||||
AC_MSG_CHECKING(for dladdr)
|
AC_MSG_CHECKING(for dladdr)
|
||||||
AC_TRY_COMPILE(
|
AC_TRY_COMPILE(
|
||||||
[#define _GNU_SOURCE
|
[#define _GNU_SOURCE
|
||||||
@@ -861,7 +873,6 @@ AC_TRY_COMPILE(
|
|||||||
[AC_MSG_RESULT([no])]
|
[AC_MSG_RESULT([no])]
|
||||||
)
|
)
|
||||||
|
|
||||||
AC_CHECK_FUNCS(backtrace)
|
|
||||||
AC_CHECK_FUNCS(prctl)
|
AC_CHECK_FUNCS(prctl)
|
||||||
AC_CHECK_FUNCS(gethostbyname_r)
|
AC_CHECK_FUNCS(gethostbyname_r)
|
||||||
|
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ utils/mutex.c utils/mutex.h \
|
|||||||
utils/backtrace.c utils/backtrace.h \
|
utils/backtrace.c utils/backtrace.h \
|
||||||
plugins/plugin_loader.c plugins/plugin_loader.h plugins/plugin.h
|
plugins/plugin_loader.c plugins/plugin_loader.h plugins/plugin.h
|
||||||
|
|
||||||
libstrongswan_la_LIBADD = -lpthread $(DLLIB)
|
libstrongswan_la_LIBADD = -lpthread $(DLLIB) $(BTLIB)
|
||||||
|
|
||||||
INCLUDES = -I$(top_srcdir)/src/libstrongswan
|
INCLUDES = -I$(top_srcdir)/src/libstrongswan
|
||||||
AM_CFLAGS = \
|
AM_CFLAGS = \
|
||||||
|
|||||||
Reference in New Issue
Block a user