
Thomas Porschberg <thomas.porschberg <at> osp-dd.de> writes:
But I note that a lot of software components come with a m4 macro to support the configuration process. I found a boost.m4 file at http://alien.cern.ch/cache/org.glite/project/boost. m4.
I discovered http://autoconf-archive.cryp.to/ which comes with some m4 macros for boost too. In the meanwhile I wrote a own m4 macro which does set BOOST_LDFLAGS and BOOST_CPPFLAGS and checks a version number. I call it with AX_BOOST_LIB_VERSION(1.33) in my configure.ac I post it here and hope it is not considered as spam. If someone has improvements please let me know. How I already mentioned I'm a GNU-build-tool-greenhorn by myself. AC_DEFUN([AX_BOOST_LIB_VERSION], [ BOOST_LIB_VERSION_REQ="$1" AC_MSG_CHECKING(for boostlib >= $BOOST_LIB_VERSION_REQ) succeeded=no AC_ARG_WITH(boost, [ --with-boost=DIR root directory for boost library ], [ if test "$withval" = "no"; then AC_MSG_ERROR('You specified --with-boost=no. Sorry we need boost. Please download from http://boost.org.') elif test "$withval" = "yes"; then AC_MSG_WARN('You did not specify a directory for the --with- boost option. We try /usr/local.') ac_boost_path=/usr/local else ac_boost_path="$withval" fi ],[ac_boost_path=/usr/local]) _version=0 if test "$ac_boost_path" != ""; then LDFLAGS="$LDFLAGS -L$ac_boost_path/lib" export LDFLAGS AC_SUBST(BOOST_LDFLAGS, [-L$ac_boost_path/lib]) if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'` V_CHECK=`expr $_version_tmp \> $_version` if test "$V_CHECK" = "1" ; then _version=$_version_tmp fi VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` BOOST_CPPFLAGS="-I$ac_boost_path/include/boost- $VERSION_UNDERSCORE" done CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" export CPPFLAGS AC_SUBST(BOOST_CPPFLAGS) fi fi VERSION_CHECK=`expr $BOOST_LIB_VERSION_REQ \<\= "$_version"` if test "$VERSION_CHECK" = "1" ; then succeeded=yes fi if test "$succeeded" = "yes" ; then AC_MSG_RESULT(yes (found version $_version)) else AC_MSG_RESULT(no) if test "$_version" = "0" ; then AC_MSG_ERROR('We did not find a directory include/boost- <version> under $ac_boost_path. This means we could not detect the boost libraries. Sorry we need boost. Please download from http://boost.org.') else AC_MSG_ERROR('Your boost libraries seems to old (version $_version). We need at least $BOOST_LIB_VERSION_REQ') fi fi ])