X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=boost.m4;h=b0519da6f319aad0c6c9cb031c96ff8d8e10a735;hb=cbe5631365b3ef5a840942cab5e03a50a665fe07;hp=3ef2e7e435498250d01502a6e27492e7ed2585f7;hpb=12f3277de6a4c46c27835d45890ab1732e3dab81;p=m4-moved-to-github.git diff --git a/boost.m4 b/boost.m4 index 3ef2e7e..b0519da 100644 --- a/boost.m4 +++ b/boost.m4 @@ -54,9 +54,9 @@ AC_DEFUN([ID_BOOST], AC_LANG_CONFTEST( [AC_LANG_SOURCE([[ #include -version_is:BOOST_VERSION +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` + BOOST_GOT_VERSION=`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | grep -v '#' | grep -v '^$' 2>/dev/null` if test -z "$BOOST_GOT_VERSION" -o \ "$BOOST_GOT_VERSION" = "BOOST_VERSION"; then AC_MSG_RESULT([no]) @@ -68,20 +68,39 @@ version_is:BOOST_VERSION fi for c in $1; do case $c in - thread) + system) + AC_SUBST([BOOST_SYSTEM_LIB]) + BOOST_SYSTEM_LIB="" if test "$BOOST_GOT_VERSION" -ge 104100; then - AC_MSG_CHECKING([Boost threads + system]) - else - AC_MSG_CHECKING([Boost threads]) + AC_MSG_CHECKING([Boost system]) + saveLIBS="${LIBS}" + for l in "${BOOST_TOOLSET}" "${BOOST_TOOLSET}-mt"; 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_TOOLSET}-mt" "${BOOST_TOOLSET}"; do + for l in "${BOOST_TOOLSET}" "${BOOST_TOOLSET}-mt"; do trylib="-lboost_thread${l}" - if test "$BOOST_GOT_VERSION" -ge 104100; then - trylib="-lboost_system${l} ${trylib}" - fi LIBS="${saveLIBS} ${trylib}" AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include @@ -96,6 +115,7 @@ int x = BOOST_VERSION; AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) + LIBS="${saveLIBS}" fi ;; test) @@ -103,7 +123,7 @@ int x = BOOST_VERSION; saveLIBS="${LIBS}" AC_SUBST([BOOST_TEST_LIB]) BOOST_TEST_LIB="" - for l in boost_unit_test_framework${BOOST_TOOLSET}-mt boost_unit_test_framework${BOOST_TOOLSET}; do + for l in boost_unit_test_framework${BOOST_TOOLSET} boost_unit_test_framework${BOOST_TOOLSET}-mt; do LIBS="${saveLIBS} -l${l}" AC_LINK_IFELSE([AC_LANG_SOURCE([[ #define BOOST_TEST_DYN_LINK @@ -131,7 +151,7 @@ BOOST_AUTO_TEST_CASE( t ) AC_SUBST([BOOST_REGEX_LIB]) saveLIBS="${LIBS}" BOOST_REGEX_LIB="" - for l in boost_regex${BOOST_TOOLSET}-mt boost_regex${BOOST_TOOLSET}; do + for l in boost_regex${BOOST_TOOLSET} boost_regex${BOOST_TOOLSET}-mt; do LIBS="${saveLIBS} -l${l}" AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include @@ -146,6 +166,7 @@ int x = BOOST_VERSION; AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) + LIBS="${saveLIBS}" fi ;; esac