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 <[email protected]>
Date: Mon Mar 8 14:43:29 2010 +0100
Update boost.m4.
* boost.m4: Synchronizw with upstream.
Signed-off-by: Thomas Moulard <[email protected]>
diff --git a/ChangeLog b/ChangeLog
index 472f249..fdab188 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2010-03-08 Thomas Moulard <[email protected]>
+ Update boost.m4.
+ * boost.m4: Synchronizw with upstream.
+
+2010-03-08 Thomas Moulard <[email protected]>
+
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/roboptim-commit