New boost ID_BOOST which might be a replacement for AX_BOOST.
[m4-moved-to-github.git] / boost.m4
1 # configure for Boost libs
2 #
3 # ID_BOOST([components],[libs])
4 AC_DEFUN([ID_BOOST],
5     [
6         AC_MSG_CHECKING([for Boost])
7         AC_LANG_PUSH([C++])
8         oldCPPFLAGS="$CPPFLAGS"
9         oldLIBS="$LIBS"
10         BOOST_REQ_VERSION=`echo "$2" | awk 'BEGIN { FS = "."; } { printf "%d", ([$]1 * 1000 + [$]2) * 100 + [$]3;}'`
11         CPPFLAGS="$CPPFLAGS -DBOOST_REQ_VERSION=${BOOST_REQ_VERSION}"
12
13         AC_ARG_WITH([boost],[[  --with-boost=DIR  use Boost in prefix DIR]])
14         if test "$with_boost" = "yes"; then
15             BOOST_CPPFLAGS=""
16             BOOST_LIBS=""
17         else
18             BOOST_CPPFLAGS="-I${with_boost}/include"
19             BOOST_LIBS=" -L${with_boost}/lib"
20         fi
21         if test "${with_boost}" = "no"; then
22             AC_MSG_RESULT([disabled])
23         else
24             CPPFLAGS="${CPPFLAGS} ${BOOST_CPPFLAGS}"
25             LIBS="${LIBS} ${BOOST_LIBS}"
26             AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
27 #include <boost/version.hpp>
28 ]],[[ 
29 int x = BOOST_VERSION;
30 ]])],[AC_MSG_RESULT([yes])],[AC_MSG_RESULT([no])])
31
32
33             AC_MSG_CHECKING([Boost version])
34             AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
35 #include <boost/version.hpp>
36 ]],[[
37 #if BOOST_VERSION < BOOST_REQ_VERSION
38 #error Version too old
39 #endif
40 ]])],[
41             AC_MSG_RESULT([ok])
42 ],[
43             AC_MSG_RESULT([version too old])
44         ])
45         fi
46         CPPFLAGS="$oldCPPFLAGS"
47         LIBS="$oldLIBS"
48         AC_LANG_POP([C++])
49     ])
50  
51