X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=boost.m4;h=38060ca6c175558b5aeeda0ee6ca5e34765421c7;hb=06ec18fbfaad00e4aaf915a2704c4b04c6f2924d;hp=5b6f109d6954a14e460afd4d6d5aa336dc817fdb;hpb=f5601296c571639de99e08ad41493c6d5be06a9a;p=m4-moved-to-github.git diff --git a/boost.m4 b/boost.m4 index 5b6f109..38060ca 100644 --- a/boost.m4 +++ b/boost.m4 @@ -28,9 +28,13 @@ AC_DEFUN([ID_BOOST], BOOST_CPPFLAGS="" BOOST_LIB="" else - BOOST_LIB="-L${with_boost}/lib" + for b in ${with_boost}/lib ${with_boost}/lib64; do + if test -d "$b"; then + BOOST_LIB="-L$b" + fi + done BOOST_CPPFLAGS="-I${with_boost}/include" - if test ! -f "${with_boost}/include/version.hpp"; then + if test ! -f "${with_boost}/include/boost/version.hpp"; then for b in ${with_boost}/include/boost-*; do BOOST_CPPFLAGS="-I$b" done @@ -53,7 +57,8 @@ AC_DEFUN([ID_BOOST], version_is:BOOST_VERSION ]])]) BOOST_GOT_VERSION=`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | $EGREP version_is 2>/dev/null | cut -d ":" -f2` - if test "$BOOST_GOT_VERSION" = "BOOST_VERSION"; then + if test -z "$BOOST_GOT_VERSION" -o \ + "$BOOST_GOT_VERSION" = "BOOST_VERSION"; then AC_MSG_RESULT([no]) AC_MSG_ERROR([Boost development libraries required]) fi @@ -63,26 +68,54 @@ version_is:BOOST_VERSION fi for c in $1; do case $c in + system) + AC_SUBST([BOOST_SYSTEM_LIB]) + BOOST_SYSTEM_LIB="" + if test "$BOOST_GOT_VERSION" -ge 104100; then + AC_MSG_CHECKING([Boost system]) + saveLIBS="${LIBS}" + for l in "${BOOST_TOOLSET}-mt" "${BOOST_TOOLSET}"; do + trylib="-lboost_system${l}" + LIBS="${saveLIBS} ${trylib}" + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ +#include +#include +]],[[ +int x = BOOST_VERSION; +]])],[ + BOOST_SYSTEM_LIB="${trylib}" + break],[]) + done + if test "${BOOST_SYSTEM_LIB}"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + LIBS="${saveLIBS}" + fi + fi + ;; thread) AC_MSG_CHECKING([Boost threads]) AC_SUBST([BOOST_THREAD_LIB]) saveLIBS="${LIBS}" BOOST_THREAD_LIB="" - for l in boost_thread${BOOST_TOOLSET}-mt boost_thread${BOOST_TOOLSET}; do - LIBS="${saveLIBS} -l${l}" + for l in "${BOOST_TOOLSET}-mt" "${BOOST_TOOLSET}"; do + trylib="-lboost_thread${l}" + LIBS="${saveLIBS} ${trylib}" AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include #include ]],[[ int x = BOOST_VERSION; ]])],[ - BOOST_THREAD_LIB="-l${l}" + BOOST_THREAD_LIB="${trylib}" break],[]) done if test "${BOOST_THREAD_LIB}"; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) + LIBS="${saveLIBS}" fi ;; test) @@ -95,6 +128,7 @@ int x = BOOST_VERSION; AC_LINK_IFELSE([AC_LANG_SOURCE([[ #define BOOST_TEST_DYN_LINK #define BOOST_AUTO_TEST_MAIN +#define BOOST_TEST_MODULE configure #include BOOST_AUTO_TEST_CASE( t ) { @@ -112,6 +146,29 @@ BOOST_AUTO_TEST_CASE( t ) fi LIBS="${saveLIBS}" ;; + regex) + AC_MSG_CHECKING([Boost regex]) + AC_SUBST([BOOST_REGEX_LIB]) + saveLIBS="${LIBS}" + BOOST_REGEX_LIB="" + for l in boost_regex${BOOST_TOOLSET}-mt boost_regex${BOOST_TOOLSET}; do + LIBS="${saveLIBS} -l${l}" + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ +#include +#include +]],[[ +int x = BOOST_VERSION; +]])],[ + BOOST_REGEX_LIB="-l${l}" + break],[]) + done + if test "${BOOST_REGEX_LIB}"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + LIBS="${saveLIBS}" + fi + ;; esac done fi