X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;ds=sidebyside;f=boost.m4;h=b667071e62ec9ac009b64418b9b4b1cb8e5db6cf;hb=381df5cae0710a79464c9a02878c745a1a7e2388;hp=64e6ecca5caf61d824461252b64226d61540b22e;hpb=b076b768162950579fb9831b1f8dd8be5fdc3154;p=m4-moved-to-github.git diff --git a/boost.m4 b/boost.m4 index 64e6ecc..b667071 100644 --- a/boost.m4 +++ b/boost.m4 @@ -23,13 +23,28 @@ AC_DEFUN([ID_BOOST], BOOST_REQ_VERSION=`echo "$2" | awk 'BEGIN { FS = "."; } { printf "%d", ([$]1 * 1000 + [$]2) * 100 + [$]3;}'` CPPFLAGS="$CPPFLAGS -DBOOST_REQ_VERSION=${BOOST_REQ_VERSION}" - AC_ARG_WITH([boost],[[ --with-boost=DIR use Boost in prefix DIR]]) + AC_ARG_WITH([boost],[ --with-boost=DIR use Boost in prefix DIR]) if test "$with_boost" = "yes" -o -z "$with_boost"; then BOOST_CPPFLAGS="" BOOST_LIB="" else + 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" - BOOST_LIB="-L${with_boost}/lib" + if test ! -f "${with_boost}/include/boost/version.hpp"; then + for b in ${with_boost}/include/boost-*; do + BOOST_CPPFLAGS="-I$b" + done + fi + fi + AC_ARG_WITH([boost-toolset],[ --with-boost-toolset=x use Boost toolset (eg gcc43)]) + if test "$with_boost_toolset" = "yes" -o -z "$with_boost_toolset"; then + BOOST_TOOLSET="" + else + BOOST_TOOLSET="-${with_boost_toolset}" fi if test "${with_boost}" = "no"; then AC_MSG_RESULT([disabled]) @@ -42,12 +57,13 @@ 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 AC_MSG_RESULT([yes ($BOOST_GOT_VERSION)]) - if test $BOOST_GOT_VERSION -lt $BOOST_REQ_VERSION; then + if test "$BOOST_GOT_VERSION" -lt $BOOST_REQ_VERSION; then AC_MSG_ERROR([Boost version $BOOST_REQ_VERSION required]) fi for c in $1; do @@ -57,7 +73,7 @@ version_is:BOOST_VERSION AC_SUBST([BOOST_THREAD_LIB]) saveLIBS="${LIBS}" BOOST_THREAD_LIB="" - for l in boost_thread-mt boost_thread; do + for l in boost_thread${BOOST_TOOLSET}-mt boost_thread${BOOST_TOOLSET}; do LIBS="${saveLIBS} -l${l}" AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include @@ -79,11 +95,12 @@ int x = BOOST_VERSION; saveLIBS="${LIBS}" AC_SUBST([BOOST_TEST_LIB]) BOOST_TEST_LIB="" - for l in boost_unit_test_framework-mt boost_unit_test_framework; do + for l in boost_unit_test_framework${BOOST_TOOLSET}-mt boost_unit_test_framework${BOOST_TOOLSET}; do LIBS="${saveLIBS} -l${l}" 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 ) { @@ -101,6 +118,28 @@ 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]) + fi + ;; esac done fi @@ -108,5 +147,9 @@ BOOST_AUTO_TEST_CASE( t ) LIBS="$oldLIBS" AC_LANG_POP([C++]) ]) - +dnl Local Variables: +dnl mode:shell-script +dnl sh-indentation: 2 +dnl sh-basic-offset: 4 +dnl End: