diff --git a/configure.in b/configure.in index ef55b4bfe..666bcff04 100644 --- a/configure.in +++ b/configure.in @@ -845,12 +845,24 @@ dnl =========================================== AC_HEADER_STDBOOL +dnl libraries needed on some platforms but not on others +dnl ==================================================== saved_LIBS=$LIBS + +dnl FreeBSD has dlopen integrated in libc, Linux needs libdl LIBS="" AC_SEARCH_LIBS(dlopen, dl, [DLLIB=$LIBS]) -LIBS=$saved_LIBS 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_TRY_COMPILE( [#define _GNU_SOURCE @@ -861,7 +873,6 @@ AC_TRY_COMPILE( [AC_MSG_RESULT([no])] ) -AC_CHECK_FUNCS(backtrace) AC_CHECK_FUNCS(prctl) AC_CHECK_FUNCS(gethostbyname_r) diff --git a/src/libstrongswan/Makefile.am b/src/libstrongswan/Makefile.am index 096ef3b68..294b2c7d8 100644 --- a/src/libstrongswan/Makefile.am +++ b/src/libstrongswan/Makefile.am @@ -50,7 +50,7 @@ utils/mutex.c utils/mutex.h \ utils/backtrace.c utils/backtrace.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 AM_CFLAGS = \