This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "build-aux".
The branch, master has been updated via 8014ee09e918cfb1264784617f2c28fbb917f2b7 (commit) from 73b6e9a1360cfba11ea780526934aecd7ba20929 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 8014ee09e918cfb1264784617f2c28fbb917f2b7 Author: Thomas Moulard <thomas.moul...@gmail.com> Date: Mon Mar 8 14:43:29 2010 +0100 Update boost.m4. * boost.m4: Synchronizw with upstream. Signed-off-by: Thomas Moulard <thomas.moul...@gmail.com> diff --git a/ChangeLog b/ChangeLog index 472f249..fdab188 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2010-03-08 Thomas Moulard <thomas.moul...@gmail.com> + Update boost.m4. + * boost.m4: Synchronizw with upstream. + +2010-03-08 Thomas Moulard <thomas.moul...@gmail.com> + Update warnings.m4. * warning.m4: Avoid erroneous concatenation in recent Autoconf versions. diff --git a/boost.m4 b/boost.m4 index a9fc46c..5baa8de 100644 --- a/boost.m4 +++ b/boost.m4 @@ -21,10 +21,14 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -# serial 10 -# Original sources can be found at http://repo.or.cz/w/boost.m4.git +m4_define([_BOOST_SERIAL], [m4_translit([ +# serial 12 +], [# +], [])]) + +# Original sources can be found at http://github.com/tsuna/boost.m4 # You can fetch the latest version of the script by doing: -# wget 'http://repo.or.cz/w/boost.m4.git?a=blob_plain;f=build-aux/boost.m4;hb=HEAD' -O boost.m4 +# wget http://github.com/tsuna/boost.m4/raw/master/build-aux/boost.m4 # ------ # # README # @@ -37,7 +41,7 @@ # your configure so that users can specify non standard locations. # If the user's environment contains BOOST_ROOT and --with-boost was not # specified, --with-boost=$BOOST_ROOT is implicitly used. -# For more README and documentation, go to http://repo.or.cz/w/boost.m4.git +# For more README and documentation, go to http://github.com/tsuna/boost.m4 # Note: THESE MACROS ASSUME THAT YOU USE LIBTOOL. If you don't, don't worry, # simply read the README, it will show you what to do step by step. @@ -56,27 +60,39 @@ AC_REQUIRE([AC_PROG_SED])dnl AC_LANG_CONFTEST([AC_LANG_SOURCE([[$2]])]) AS_IF([dnl eval is necessary to expand ac_cpp. dnl Ultrix and Pyramid sh refuse to redirect output of eval, so use subshell. +dnl Beware of Windows end-of-lines, for instance if we are running +dnl some Windows programs under Wine. In that case, boost/version.hpp +dnl is certainly using "\r\n", but the regular Unix shell will only +dnl strip `\n' with backquotes, not the `\r'. This results in +dnl boost_cv_lib_version='1_37\r' for instance, which breaks +dnl everything else. +dnl Cannot use 'dnl' after [$4] because a trailing dnl may break AC_CACHE_CHECK (eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | + tr -d '\r' | $SED -n -e "$1" >conftest.i 2>&1], [$3], - [$4])dnl -rm -f conftest* + [$4]) +rm -rf conftest* ])# AC_EGREP_CPP -# BOOST_REQUIRE([VERSION]) -# ------------------------ +# BOOST_REQUIRE([VERSION], [ACTION-IF-NOT-FOUND]) +# ----------------------------------------------- # Look for Boost. If version is given, it must either be a literal of the form # "X.Y.Z" where X, Y and Z are integers (the ".Z" part being optional) or a # variable "$var". # Defines the value BOOST_CPPFLAGS. This macro only checks for headers with # the required version, it does not check for any of the Boost libraries. -# FIXME: Add a 2nd optional argument so that it's not fatal if Boost isn't found -# and add an AC_DEFINE to tell whether HAVE_BOOST. +# 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], -[boost_save_IFS=$IFS -boost_version_req="$1" +[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 +boost_save_IFS=$IFS +boost_version_req=$1 IFS=. set x $boost_version_req 0 0 0 IFS=$boost_save_IFS @@ -123,10 +139,37 @@ m4_pattern_allow([^BOOST_VERSION$])dnl # Without --layout=system, Boost (or at least some versions) installs # itself in <prefix>/include/boost-<version>. This inner loop helps to # find headers in such directories. + # + # Any ${boost_dir}/boost-x_xx directories are searched in reverse version + # order followed by ${boost_dir}. The final '.' is a sentinel for + # searching $boost_dir" itself. Entries are whitespace separated. + # # I didn't indent this loop on purpose (to avoid over-indented code) - for boost_inc in "$boost_dir" "$boost_dir"/boost-* + boost_layout_system_search_list=`cd "$boost_dir" 2>/dev/null \ + && ls -1 | "${GREP}" '^boost-' | sort -rn -t- -k2 \ + && echo .` + for boost_inc in $boost_layout_system_search_list do - test x"$boost_inc" != x && CPPFLAGS="$CPPFLAGS -I$boost_inc" + if test x"$boost_inc" != x.; then + boost_inc="$boost_dir/$boost_inc" + else + boost_inc="$boost_dir" # Uses sentinel in boost_layout_system_search_list + fi + if test x"$boost_inc" != x; then + # We are going to check whether the version of Boost installed + # in $boost_inc is usable by running a compilation that + # #includes it. But if we pass a -I/some/path in which Boost + # is not installed, the compiler will just skip this -I and + # use other locations (either from CPPFLAGS, or from its list + # of system include directories). As a result we would use + # header installed on the machine instead of the /some/path + # specified by the user. So in that precise case (trying + # $boost_inc), make sure the version.hpp exists. + # + # Use test -e as there can be symlinks. + test -e "$boost_inc/boost/version.hpp" || continue + CPPFLAGS="$CPPFLAGS -I$boost_inc" + fi AC_COMPILE_IFELSE([], [boost_cv_inc_path=yes], [boost_cv_version=no]) if test x"$boost_cv_inc_path" = xyes; then if test x"$boost_inc" != x; then @@ -139,9 +182,26 @@ m4_pattern_allow([^BOOST_VERSION$])dnl AC_LANG_POP([C++])dnl ]) case $boost_cv_inc_path in #( - no) AC_MSG_ERROR([cannot find Boost headers version >= $boost_version_req]);;#( - yes) BOOST_CPPFLAGS=;;#( - *) AC_SUBST([BOOST_CPPFLAGS], ["-I$boost_cv_inc_path"]);; + no) + boost_errmsg="cannot find Boost headers version >= $boost_version_req" + m4_if([$2], [], [AC_MSG_ERROR([$boost_errmsg])], + [AC_MSG_NOTICE([$boost_errmsg])]) + $2 + ;;#( + yes) + BOOST_CPPFLAGS= + ;;#( + *) + AC_SUBST([BOOST_CPPFLAGS], ["-I$boost_cv_inc_path"]) + ;; + esac + case $boost_cv_inc_path in #( + no) + ;;#( + *) + AC_DEFINE([HAVE_BOOST], [1], + [Defined if the requested minimum BOOST version is satisfied]) + ;; esac AC_CACHE_CHECK([for Boost's header version], [boost_cv_lib_version], @@ -154,7 +214,7 @@ boost-lib-version = BOOST_LIB_VERSION], boost_major_version=`echo "$boost_cv_lib_version" | sed 's/_//;s/_.*//'` case $boost_major_version in #( '' | *[[!0-9]]*) - AC_MSG_ERROR([Invalid value: boost_major_version=$boost_major_version]) + AC_MSG_ERROR([invalid value: boost_major_version=$boost_major_version]) ;; esac CPPFLAGS=$boost_save_CPPFLAGS @@ -177,13 +237,19 @@ AC_DEFUN([BOOST_STATIC], # some parts of the Boost library which are only made of headers and don't # require linking (such as Boost.Foreach). # -# Default ACTION-IF-NOT-FOUND: Fail with a fatal error. +# Default ACTION-IF-NOT-FOUND: Fail with a fatal error unless Boost couldn't be +# found in the first place, in which case by default a notice is issued to the +# user. Presumably if we haven't died already it's because it's OK to not have +# Boost, which is why only a notice is issued instead of a hard error. # # Default ACTION-IF-FOUND: define the preprocessor symbol HAVE_<HEADER-NAME> in # case of success # (where HEADER-NAME is written LIKE_THIS, e.g., # HAVE_BOOST_FOREACH_HPP). AC_DEFUN([BOOST_FIND_HEADER], [AC_REQUIRE([BOOST_REQUIRE])dnl +if test x"$boost_cv_inc_path" = xno; then + m4_default([$2], [AC_MSG_NOTICE([Boost not available, not searching for $1])]) +else AC_LANG_PUSH([C++])dnl boost_save_CPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" @@ -193,6 +259,7 @@ AC_CHECK_HEADER([$1], [m4_default([$2], [AC_MSG_ERROR([cannot find $1])])]) CPPFLAGS=$boost_save_CPPFLAGS AC_LANG_POP([C++])dnl +fi ])# BOOST_FIND_HEADER @@ -218,10 +285,14 @@ AC_LANG_POP([C++])dnl # ... If you want to make sure you have a specific version of Boost # (eg, >= 1.33) you *must* invoke BOOST_REQUIRE before this macro. AC_DEFUN([BOOST_FIND_LIB], -[AC_REQUIRE([_BOOST_FIND_COMPILER_TAG])dnl -AC_REQUIRE([BOOST_REQUIRE])dnl +[AC_REQUIRE([BOOST_REQUIRE])dnl +AC_REQUIRE([_BOOST_FIND_COMPILER_TAG])dnl AC_REQUIRE([BOOST_STATIC])dnl 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. 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 @@ -282,7 +353,7 @@ dnl empty because the test file is generated only once above (before we dnl start the for loops). AC_COMPILE_IFELSE([], [ac_objext=do_not_rm_me_plz], - [AC_MSG_ERROR([Cannot compile a test that uses Boost $1])]) + [AC_MSG_ERROR([cannot compile a test that uses Boost $1])]) ac_objext=$boost_save_ac_objext boost_failed_libs= # Don't bother to ident the 6 nested for loops, only the 2 innermost ones @@ -344,7 +415,8 @@ done rm -f conftest.$ac_objext ]) case $Boost_lib in #( - no) AC_MSG_ERROR([Could not find the flags to link with Boost $1]) + no) _AC_MSG_LOG_CONFTEST + AC_MSG_ERROR([cannot not find the flags to link with Boost $1]) ;; esac AC_SUBST(AS_TR_CPP([BOOST_$1_LDFLAGS]), [$Boost_lib_LDFLAGS]) @@ -354,6 +426,7 @@ AS_VAR_POPDEF([Boost_lib])dnl AS_VAR_POPDEF([Boost_lib_LDFLAGS])dnl AS_VAR_POPDEF([Boost_lib_LIBS])dnl AC_LANG_POP([C++])dnl +fi ])# BOOST_FIND_LIB @@ -365,6 +438,12 @@ AC_LANG_POP([C++])dnl # The page http://beta.boost.org/doc/libs is useful: it gives the first release # version of each library (among other things). +# BOOST_ARRAY() +# ------------- +# Look for Boost.Array +AC_DEFUN([BOOST_ARRAY], +[BOOST_FIND_HEADER([boost/array.hpp])]) + # BOOST_ASIO() # ------------ @@ -451,13 +530,6 @@ AC_DEFUN([BOOST_FUNCTION], [BOOST_FIND_HEADER([boost/function.hpp])]) -# BOOST_FUSTION() -# ---------------- -# Look for Boost.Fusion -AC_DEFUN([BOOST_FUSION], -[BOOST_FIND_HEADER([boost/fusion/include/vector.hpp])]) - - # BOOST_GRAPH([PREFERRED-RT-OPT]) # ------------------------------- # Look for Boost.Graphs. For the documentation of PREFERRED-RT-OPT, see the @@ -492,11 +564,32 @@ AC_DEFUN([BOOST_HASH], AC_DEFUN([BOOST_LAMBDA], [BOOST_FIND_HEADER([boost/lambda/lambda.hpp])]) -# BOOST_MPL() -# -------------- -# Look for Boost.MPL -AC_DEFUN([BOOST_MPL], -[BOOST_FIND_HEADER([boost/mpl/void_fwd.hpp])]) + +# BOOST_MATH() +# ------------ +# Look for Boost.Math +# TODO: This library isn't header-only but it comes in multiple different +# flavors that don't play well with BOOST_FIND_LIB (e.g, libboost_math_c99, +# libboost_math_c99f, libboost_math_c99l, libboost_math_tr1, +# libboost_math_tr1f, libboost_math_tr1l). This macro must be fixed to do the +# right thing anyway. +AC_DEFUN([BOOST_MATH], +[BOOST_FIND_HEADER([boost/math/special_functions.hpp])]) + + +# BOOST_MULTIARRAY() +# ------------------ +# Look for Boost.MultiArray +AC_DEFUN([BOOST_MULTIARRAY], +[BOOST_FIND_HEADER([boost/multi_array.hpp])]) + + +# BOOST_NUMERIC_CONVERSION() +# -------------------------- +# Look for Boost.NumericConversion (policy-based numeric conversion) +AC_DEFUN([BOOST_NUMERIC_CONVERSION], +[BOOST_FIND_HEADER([boost/numeric/conversion/converter.hpp]) +])# BOOST_NUMERIC_CONVERSION # BOOST_OPTIONAL() @@ -804,6 +897,7 @@ m4_define([_BOOST_gcc_test], # build. The Boost build system seems to call this a `tag'. AC_DEFUN([_BOOST_FIND_COMPILER_TAG], [AC_REQUIRE([AC_PROG_CXX])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_CACHE_CHECK([for the toolset name used by Boost for $CXX], [boost_cv_lib_tag], [AC_LANG_PUSH([C++])dnl boost_cv_lib_tag=unknown @@ -831,7 +925,8 @@ AC_CACHE_CHECK([for the toolset name used by Boost for $CXX], [boost_cv_lib_tag] || defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw" \ _BOOST_gcc_test(3, 4) \ _BOOST_gcc_test(3, 3) \ - "defined _MSC_VER && _MSC_VER >= 1400 @ vc80" \ + "defined _MSC_VER && _MSC_VER >= 1500 @ vc90" \ + "defined _MSC_VER && _MSC_VER == 1400 @ vc80" \ _BOOST_gcc_test(3, 2) \ "defined _MSC_VER && _MSC_VER == 1310 @ vc71" \ _BOOST_gcc_test(3, 1) \ @@ -863,9 +958,17 @@ AC_LANG_POP([C++])dnl # to "gcc41" for instance. *-gcc | *'-gcc ') :;; #( Don't re-add -gcc: it's already in there. gcc*) + boost_tag_x= + case $host_os in #( + darwin*) + if test $boost_major_version -ge 136; then + # The `x' added in r46793 of Boost. + boost_tag_x=x + fi;; + esac # We can specify multiple tags in this variable because it's used by # BOOST_FIND_LIB that does a `for tag in -$boost_cv_lib_tag' ... - boost_cv_lib_tag="$boost_cv_lib_tag -gcc" + boost_cv_lib_tag="$boost_tag_x$boost_cv_lib_tag -${boost_tag_x}gcc" ;; #( unknown) AC_MSG_WARN([[could not figure out which toolset name to use for $CXX]]) @@ -898,11 +1001,14 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ # rm -f conftest.$ac_objext in between to really different tests, otherwise # you will try to link a conftest.o left behind by a previous test. # Used to aggressively optimize BOOST_FIND_LIB (see the big comment in this -# macro) +# macro). +# +# Don't use "break" in the actions, as it would short-circuit some code +# this macro runs after the actions. m4_define([_BOOST_AC_LINK_IFELSE], [m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl rm -f conftest$ac_exeext -boost_ac_ext_save=$ac_ext +boost_save_ac_ext=$ac_ext boost_use_source=: # If we already have a .o, re-use it. We change $ac_ext so that $ac_link # tries to link the existing object file instead of compiling from source. @@ -921,6 +1027,8 @@ dnl FIXME: use AS_TEST_X instead when 2.61 is widespread enough. _AC_MSG_LOG_CONFTEST fi $3]) +ac_objext=$boost_save_ac_objext +ac_ext=$boost_save_ac_ext dnl Delete also the IPA/IPO (Inter Procedural Analysis/Optimization) dnl information created by the PGI compiler (conftest_ipa8_conftest.oo), dnl as it would interfere with the next link command. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 ++ boost.m4 | 186 ++++++++++++++++++++++++++++++++++++++++++++++++------------- 2 files changed, 152 insertions(+), 39 deletions(-) hooks/post-receive -- build-aux ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ roboptim-commit mailing list roboptim-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/roboptim-commit