From: Pieter Lexis Date: Thu, 30 Aug 2018 15:43:19 +0000 (+0200) Subject: Update boost.m4 X-Git-Tag: dnsdist-1.3.3~121^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0b59e24e2738a4b83aa919d597aebe255bfb1a2f;p=thirdparty%2Fpdns.git Update boost.m4 --- diff --git a/m4/boost.m4 b/m4/boost.m4 index 20c0fdc08f..96b4b54f60 100644 --- a/m4/boost.m4 +++ b/m4/boost.m4 @@ -22,13 +22,13 @@ # along with this program. If not, see . m4_define([_BOOST_SERIAL], [m4_translit([ -# serial 26 PowerDNS modified +# serial 27 ], [# ], [])]) -# Original sources can be found at https://github.com/tsuna/boost.m4 +# Original sources can be found at http://github.com/tsuna/boost.m4 # You can fetch the latest version of the script by doing: -# wget https://github.com/tsuna/boost.m4/raw/master/build-aux/boost.m4 +# wget http://github.com/tsuna/boost.m4/raw/master/build-aux/boost.m4 # ------ # # README # @@ -317,7 +317,7 @@ AC_REQUIRE([_BOOST_GUESS_WHETHER_TO_USE_MT])dnl if test x"$boost_cv_inc_path" = xno; then AC_MSG_NOTICE([Boost not available, not searching for the Boost $1 library]) else -dnl The else branch is huge and wasn't intended on purpose. +dnl The else branch is huge and wasn't indented on purpose. AC_LANG_PUSH([C++])dnl AS_VAR_PUSHDEF([Boost_lib], [boost_cv_lib_$1])dnl AS_VAR_PUSHDEF([Boost_lib_LDFLAGS], [boost_cv_lib_$1_LDFLAGS])dnl @@ -336,6 +336,9 @@ case $Boost_lib in #( AC_SUBST([BOOST_LDPATH], [$Boost_lib_LDPATH])dnl AC_SUBST(AS_TR_CPP([BOOST_$1_LIBS]), [$Boost_lib_LIBS])dnl ;; + (no) _AC_MSG_LOG_CONFTEST + AC_MSG_ERROR([cannot find flags to link with the Boost $1 library (libboost-$1)]) + ;; esac CPPFLAGS=$boost_save_CPPFLAGS AS_VAR_POPDEF([Boost_lib])dnl @@ -396,7 +399,8 @@ AC_DEFUN([_BOOST_FIND_LIBS], AC_MSG_ERROR([the libext variable is empty, did you invoke Libtool?]) boost_save_ac_objext=$ac_objext # Generate the test file. - AC_LANG_CONFTEST([AC_LANG_PROGRAM([#include <$4> + AC_LANG_CONFTEST([AC_LANG_PROGRAM([$7 +#include <$4> $6], [$5])]) dnl Optimization hacks: compiling C++ is slow, especially with Boost. What dnl we're trying to do here is guess the right combination of link flags @@ -426,12 +430,15 @@ for boost_tag_ in -$boost_cv_lib_tag ''; do for boost_ver_ in -$boost_cv_lib_version ''; do for boost_mt_ in $boost_mt -mt ''; do for boost_rtopt_ in $boost_rtopt '' -d; do - for boost_lib in \ - boost_$boost_lib_$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \ - boost_$boost_lib_$boost_tag_$boost_rtopt_$boost_ver_ \ - boost_$boost_lib_$boost_tag_$boost_mt_$boost_ver_ \ - boost_$boost_lib_$boost_tag_$boost_ver_ + for boost_full_suffix in \ + $boost_last_suffix \ + x$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \ + x$boost_tag_$boost_rtopt_$boost_ver_ \ + x$boost_tag_$boost_mt_$boost_ver_ \ + x$boost_tag_$boost_ver_ do + boost_real_suffix=`echo "$boost_full_suffix" | sed 's/^x//'` + boost_lib="boost_$boost_lib_$boost_real_suffix" # Avoid testing twice the same lib case $boost_failed_libs in #( (*@$boost_lib@*) continue;; @@ -480,7 +487,7 @@ dnl generated only once above (before we start the for loops). *) for boost_cv_rpath_link_ldflag in -Wl,-R, -Wl,-rpath,; do LDFLAGS="$boost_save_LDFLAGS -L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath" - LIBS="$boost_save_LIBS $Boost_lib_LIBS" + LIBS="$Boost_lib_LIBS $boost_save_LIBS" _BOOST_AC_LINK_IFELSE([], [boost_rpath_link_ldflag_found=yes break], @@ -496,6 +503,7 @@ dnl generated only once above (before we start the for loops). test x"$boost_ldpath" != x && Boost_lib_LDFLAGS="-L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath" Boost_lib_LDPATH="$boost_ldpath" + boost_last_suffix="$boost_full_suffix" break 7 else boost_failed_libs="$boost_failed_libs@$boost_lib@" @@ -534,6 +542,14 @@ m4_popdef([BOOST_Library])dnl ]) ]) + +# BOOST_ANY() +# ------------ +# Look for Boost.Any +BOOST_DEFUN([Any], +[BOOST_FIND_HEADER([boost/any.hpp])]) + + # BOOST_ARRAY() # ------------- # Look for Boost.Array @@ -548,6 +564,12 @@ BOOST_DEFUN([Asio], [AC_REQUIRE([BOOST_SYSTEM])dnl BOOST_FIND_HEADER([boost/asio.hpp])]) +# BOOST_BIMAP() +# ------------ +# Look for Boost.Bimap +BOOST_DEFUN([Bimap], +[BOOST_FIND_HEADER([boost/bimap.hpp])]) + # BOOST_ASSIGN() # ------------- @@ -556,6 +578,24 @@ BOOST_DEFUN([Assign], [BOOST_FIND_HEADER([boost/assign.hpp])]) +# BOOST_ATOMIC([PREFERRED-RT-OPT]) +# ------------------------------- +# Look for Boost.Atomic. For the documentation of PREFERRED-RT-OPT, see the +# documentation of BOOST_FIND_LIB above. +BOOST_DEFUN([Atomic], +[BOOST_FIND_LIB([atomic], [$1], + [boost/atomic.hpp], + [boost::atomic a;], + [ ], + [#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_STDINT_H +#include +#endif]) +])# BOOST_ATOMIC + + # BOOST_BIND() # ------------ # Look for Boost.Bind. @@ -563,6 +603,13 @@ BOOST_DEFUN([Bind], [BOOST_FIND_HEADER([boost/bind.hpp])]) +# BOOST_CAST() +# ------------ +# Look for Boost.Cast +BOOST_DEFUN([Cast], +[BOOST_FIND_HEADER([boost/cast.hpp])]) + + # BOOST_CHRONO() # -------------- # Look for Boost.Chrono. @@ -607,7 +654,7 @@ if test $boost_major_version -ge 157; then LDFLAGS="$LDFLAGS $BOOST_THREAD_LDFLAGS" fi BOOST_FIND_LIB([context], [$1], - [boost/context/all.hpp],[[ + [boost/context/fcontext.hpp],[[ // creates a stack void * stack_pointer = new void*[4096]; @@ -745,6 +792,13 @@ BOOST_DEFUN([Date_Time], ])# BOOST_DATE_TIME +# BOOST_EXCEPTION() +# ------------ +# Look for Boost.Exception +BOOST_DEFUN([Exception], +[BOOST_FIND_HEADER([boost/exception/all.hpp])]) + + # BOOST_FILESYSTEM([PREFERRED-RT-OPT]) # ------------------------------------ # Look for Boost.Filesystem. For the documentation of PREFERRED-RT-OPT, see @@ -809,6 +863,13 @@ BOOST_DEFUN([Function], [BOOST_FIND_HEADER([boost/function.hpp])]) +# BOOST_FUSION() +# ----------------- +# Look for Boost.Fusion +BOOST_DEFUN([Fusion], +[BOOST_FIND_HEADER([boost/fusion/sequence.hpp])]) + + # BOOST_GEOMETRY() # ---------------- # Look for Boost.Geometry (new since 1.47.0). @@ -838,6 +899,13 @@ LDFLAGS=$boost_graph_save_LDFLAGS ])# BOOST_GRAPH +# BOOST_HASH() +# ------------ +# Look for Boost.Functional/Hash +BOOST_DEFUN([Hash], +[BOOST_FIND_HEADER([boost/functional/hash.hpp])]) + + # BOOST_IOSTREAMS([PREFERRED-RT-OPT]) # ----------------------------------- # Look for Boost.IOStreams. For the documentation of PREFERRED-RT-OPT, see the @@ -849,11 +917,11 @@ BOOST_DEFUN([IOStreams], ])# BOOST_IOSTREAMS -# BOOST_HASH() +# BOOST_ITERATOR() # ------------ -# Look for Boost.Functional/Hash -BOOST_DEFUN([Hash], -[BOOST_FIND_HEADER([boost/functional/hash.hpp])]) +# Look for Boost.Iterator +BOOST_DEFUN([Iterator], +[BOOST_FIND_HEADER([boost/iterator/iterator_adaptor.hpp])]) # BOOST_LAMBDA() @@ -959,6 +1027,13 @@ CXXCPP=${boost_save_CXXCPP} ])# BOOST_MPI +# BOOST_MPL() +# ------------------ +# Look for Boost.MPL +BOOST_DEFUN([MPL], +[BOOST_FIND_HEADER([boost/mpl/for_each.hpp])]) + + # BOOST_MULTIARRAY() # ------------------ # Look for Boost.MultiArray @@ -966,6 +1041,13 @@ BOOST_DEFUN([MultiArray], [BOOST_FIND_HEADER([boost/multi_array.hpp])]) +# BOOST_MULTIINDEXCCONTAINER() +# ------------------ +# Look for Boost.MultiIndexContainer +BOOST_DEFUN([MultiIndexContainer], +[BOOST_FIND_HEADER([boost/multi_index_container.hpp])]) + + # BOOST_NUMERIC_UBLAS() # -------------------------- # Look for Boost.NumericUblas (Basic Linear Algebra) @@ -996,6 +1078,24 @@ BOOST_DEFUN([Preprocessor], [BOOST_FIND_HEADER([boost/preprocessor/repeat.hpp])]) +# BOOST_PROPERTY_TREE([PREFERRED-RT-OPT]) +# ----------------------------------------- +# Look for Boost.Property_Tree. For the documentation of PREFERRED-RT-OPT, +# see the documentation of BOOST_FIND_LIB above. +BOOST_DEFUN([Property_Tree], +[BOOST_FIND_LIB([property_tree], [$1], + [boost/property_tree/ptree.hpp], + [boost::property_tree::ptree pt; boost::property_tree::read_xml d("test", pt);]) +])# BOOST_PROPERTY_TREE + + +# BOOST_RANDOM() +# -------------------- +# Look for Boost.Random +BOOST_DEFUN([Random], +[BOOST_FIND_HEADER([boost/random/random_number_generator.hpp])]) + + # BOOST_RANGE() # -------------------- # Look for Boost.Range @@ -1416,12 +1516,22 @@ if test x$boost_cv_inc_path != xno; then # I'm not sure about my test for `il' (be careful: Intel's ICC pre-defines # the same defines as GCC's). for i in \ + _BOOST_mingw_test(8, 2) \ + _BOOST_gcc_test(8, 2) \ + _BOOST_mingw_test(8, 1) \ + _BOOST_gcc_test(8, 1) \ + _BOOST_mingw_test(8, 0) \ + _BOOST_gcc_test(8, 0) \ + _BOOST_mingw_test(7, 3) \ + _BOOST_gcc_test(7, 3) \ _BOOST_mingw_test(7, 2) \ _BOOST_gcc_test(7, 2) \ _BOOST_mingw_test(7, 1) \ _BOOST_gcc_test(7, 1) \ _BOOST_mingw_test(7, 0) \ _BOOST_gcc_test(7, 0) \ + _BOOST_mingw_test(6, 4) \ + _BOOST_gcc_test(6, 4) \ _BOOST_mingw_test(6, 3) \ _BOOST_gcc_test(6, 3) \ _BOOST_mingw_test(6, 2) \ @@ -1430,6 +1540,8 @@ if test x$boost_cv_inc_path != xno; then _BOOST_gcc_test(6, 1) \ _BOOST_mingw_test(6, 0) \ _BOOST_gcc_test(6, 0) \ + _BOOST_mingw_test(5, 5) \ + _BOOST_gcc_test(5, 5) \ _BOOST_mingw_test(5, 4) \ _BOOST_gcc_test(5, 4) \ _BOOST_mingw_test(5, 3) \