Back to the Main Page.

ax_boost_thread

Download the M4 Source.

Synopsis

AX_BOOST_THREAD

Version

2004-09-20     0.5.65   :   InstalledPackages

Author

Michael Tindal <mtindal@paradoxpoint.com>
license: GPLWithACException

Description

This macro checks to see if the Boost.Thread library is installed. It also attempts to guess the currect library name using several attempts. It tries to build the library name using a user supplied name or suffix and then just the raw library.

If the library is found, HAVE_BOOST_THREAD is defined and BOOST_THREAD_LIB is set to the name of the library.

This macro calls AC_SUBST(BOOST_THREAD_LIB).

M4 Source Code

AC_DEFUN([AX_BOOST_THREAD],
[AC_REQUIRE([AC_CXX_NAMESPACES])dnl
AC_CACHE_CHECK(whether the Boost::Thread library is available,
ax_cv_boost_thread,
[AC_LANG_SAVE
 AC_LANG_CPLUSPLUS
 CXXFLAGS_SAVE=$CXXFLAGS
dnl FIXME: need to include a generic way to check for the flag
dnl to turn on threading support.
 CXXFLAGS="-pthread $CXXFLAGS"
 AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[#include <boost/thread/thread.hpp>]],
			           [[boost::thread_group thrds; return 0;]]),
  	           ax_cv_boost_thread=yes, ax_cv_boost_thread=no)
 CXXFLAGS=$CXXFLAGS_SAVE
 AC_LANG_RESTORE
])
if test "$ax_cv_boost_thread" = yes; then
  AC_DEFINE(HAVE_BOOST_THREAD,,[define if the Boost::Thread library is available])
  dnl Now determine the appropriate file names
  AC_ARG_WITH([boost-thread],AS_HELP_STRING([--with-boost-thread],
  [specify the boost thread library or suffix to use]),
  [if test "x$with_boost_thread" != "xno"; then
    ax_thread_lib=$with_boost_thread
    ax_boost_thread_lib=boost_thread-$with_boost_thread
  fi])
  for ax_lib in $ax_thread_lib $ax_boost_thread_lib boost_thread; do
    AC_CHECK_LIB($ax_lib, main, [BOOST_THREAD_LIB=$ax_lib break])
  done
  AC_SUBST(BOOST_THREAD_LIB)
fi
])dnl