Skip to content

Commit e4b991e

Browse files
committed
build: Auto-detect whether -DBOOST_TEST_DYN_LINK is needed
Use AC_LINK_IFELSE to auto-detect whether boost test is linked dynamically, instead of assuming based on target.
1 parent 417aad4 commit e4b991e

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

configure.ac

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,10 +207,8 @@ case $host in
207207
fi
208208

209209
CPPFLAGS="$CPPFLAGS -DMAC_OSX"
210-
TESTDEFS="-DBOOST_TEST_DYN_LINK"
211210
;;
212211
*)
213-
TESTDEFS="-DBOOST_TEST_DYN_LINK"
214212
;;
215213
esac
216214

@@ -345,6 +343,24 @@ if test x$use_tests = xyes; then
345343

346344

347345
AX_BOOST_UNIT_TEST_FRAMEWORK
346+
347+
dnl Determine if -DBOOST_TEST_DYN_LINK is needed
348+
AC_MSG_CHECKING([for dynamic linked boost test])
349+
TEMP_LIBS="$LIBS"
350+
LIBS="$LIBS $BOOST_UNIT_TEST_FRAMEWORK_LIB"
351+
TEMP_CPPFLAGS="$CPPFLAGS"
352+
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
353+
AC_LINK_IFELSE([AC_LANG_SOURCE([
354+
#define BOOST_TEST_DYN_LINK
355+
#define BOOST_TEST_MAIN
356+
#include <boost/test/unit_test.hpp>
357+
358+
])],
359+
[AC_MSG_RESULT(yes)]
360+
[TESTDEFS="$TESTDEFS -DBOOST_TEST_DYN_LINK"],
361+
[AC_MSG_RESULT(no)])
362+
LIBS="$TEMP_LIBS"
363+
CPPFLAGS="$TEMP_CPPFLAGS"
348364
fi
349365

350366
BOOST_LIBS="$BOOST_LDFLAGS $BOOST_SYSTEM_LIB $BOOST_FILESYSTEM_LIB $BOOST_PROGRAM_OPTIONS_LIB $BOOST_THREAD_LIB"

0 commit comments

Comments
 (0)