[yoda-svn] yoda: Update to even newer boost.m4

YODA Mercurial yoda at projects.hepforge.org
Wed Dec 16 16:30:01 GMT 2015


details:   https://yoda.hepforge.org/hg/yoda/rev/9ef5cc416210
branches:  
changeset: 1200:9ef5cc416210
user:      Andy Buckley <andy at insectnation.org>
date:      Wed Dec 16 16:24:19 2015 +0000
description:
Update to even newer boost.m4

diffs (truncated from 261 to 50 lines):

--- a/m4/boost.m4	Tue Dec 15 20:45:56 2015 +0000
+++ b/m4/boost.m4	Wed Dec 16 16:24:19 2015 +0000
@@ -22,7 +22,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 m4_define([_BOOST_SERIAL], [m4_translit([
-# serial 24
+# serial 25
 ], [#
 ], [])])
 
@@ -110,7 +110,7 @@
 # On # success, defines HAVE_BOOST.  On failure, calls the optional
 # ACTION-IF-NOT-FOUND action if one was supplied.
 # Otherwise aborts with an error message.
-AC_DEFUN([BOOST_REQUIRE],
+AC_DEFUN_ONCE([BOOST_REQUIRE],
 [AC_REQUIRE([AC_PROG_CXX])dnl
 AC_REQUIRE([AC_PROG_GREP])dnl
 echo "$as_me: this is boost.m4[]_BOOST_SERIAL" >&AS_MESSAGE_LOG_FD
@@ -584,27 +584,79 @@
 # BOOST_CONTEXT([PREFERRED-RT-OPT])
 # -----------------------------------
 # Look for Boost.Context.  For the documentation of PREFERRED-RT-OPT, see the
-# documentation of BOOST_FIND_LIB above.  This library was introduced in Boost
-# 1.51.0
+# documentation of BOOST_FIND_LIB above.
+#
+# * This library was introduced in Boost 1.51.0
+# * The signatures of make_fcontext() and jump_fcontext were changed in 1.56.0
+# * A dependency on boost_thread appears in 1.57.0
 BOOST_DEFUN([Context],
-[BOOST_FIND_LIB([context], [$1],
+[boost_context_save_LIBS=$LIBS
+ boost_context_save_LDFLAGS=$LDFLAGS
+if test $boost_major_version -ge 157; then
+  BOOST_THREAD([$1])
+  m4_pattern_allow([^BOOST_THREAD_(LIBS|LDFLAGS)$])dnl
+  LIBS="$LIBS $BOOST_THREAD_LIBS"
+  LDFLAGS="$LDFLAGS $BOOST_THREAD_LDFLAGS"
+fi
+BOOST_FIND_LIB([context], [$1],
                 [boost/context/all.hpp],[[
+
 // creates a stack
 void * stack_pointer = new void*[4096];
 std::size_t const size = sizeof(void*[4096]);
 
-// context fc uses f() as context function
-// fcontext_t is placed on top of context stack


More information about the yoda-svn mailing list