[cpp-opensaml COMMIT] in /branches/REL_2: configure.ac m4/boost.m4
noreply at shibboleth.net
noreply at shibboleth.net
Tue Jun 30 11:51:27 EDT 2015
Author: scantor
Date: Tue Jun 30 11:51:27 2015
New Revision: 783
URL: http://svn.shibboleth.net/view/cpp-opensaml?rev=783&view=rev
Log:
CPPOST-91 - BOOST autoconf macros break with gcc5
Modified:
branches/REL_2/configure.ac
branches/REL_2/m4/boost.m4
Modified: branches/REL_2/configure.ac
URL: http://svn.shibboleth.net/view/cpp-opensaml/branches/REL_2/configure.ac?rev=783&r1=782&r2=783&view=diff
==============================================================================
--- branches/REL_2/configure.ac (original)
+++ branches/REL_2/configure.ac Tue Jun 30 11:51:27 2015
@@ -144,7 +144,7 @@
BOOST_REQUIRE
BOOST_BIND
BOOST_LAMBDA
-BOOST_PTR_CONTAINER
+BOOST_POINTER_CONTAINER
BOOST_SMART_PTR
BOOST_STRING_ALGO
CPPFLAGS="$BOOST_CPPFLAGS $CPPFLAGS"
Modified: branches/REL_2/m4/boost.m4
URL: http://svn.shibboleth.net/view/cpp-opensaml/branches/REL_2/m4/boost.m4?rev=783&r1=782&r2=783&view=diff
==============================================================================
--- branches/REL_2/m4/boost.m4 (original)
+++ branches/REL_2/m4/boost.m4 Tue Jun 30 11:51:27 2015
@@ -1,5 +1,5 @@
# boost.m4: Locate Boost headers and libraries for autoconf-based projects.
-# Copyright (C) 2007, 2008, 2009, 2010, 2011 Benoit Sigoure <tsuna at lrde.epita.fr>
+# Copyright (C) 2007-2011, 2014 Benoit Sigoure <tsuna at lrde.epita.fr>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -22,7 +22,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
m4_define([_BOOST_SERIAL], [m4_translit([
-# serial 16
+# serial 24
], [#
], [])])
@@ -59,7 +59,8 @@
# It could be useful to turn this into a macro which extracts the
# value of any macro.
m4_define([_BOOST_SED_CPP],
-[AC_LANG_PREPROC_REQUIRE()dnl
+[AC_LANG_PUSH([C++])dnl
+AC_LANG_PREPROC_REQUIRE()dnl
AC_REQUIRE([AC_PROG_SED])dnl
AC_LANG_CONFTEST([AC_LANG_SOURCE([[$2]])])
AS_IF([dnl eval is necessary to expand ac_cpp.
@@ -71,13 +72,31 @@
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
+dnl
+dnl Beware that GCC 5, when expanding macros, may embed # line directives
+dnl a within single line:
+dnl
+dnl # 1 "conftest.cc"
+dnl # 1 "<built-in>"
+dnl # 1 "<command-line>"
+dnl # 1 "conftest.cc"
+dnl # 1 "/opt/local/include/boost/version.hpp" 1 3
+dnl # 2 "conftest.cc" 2
+dnl boost-lib-version =
+dnl # 2 "conftest.cc" 3
+dnl "1_56"
+dnl
+dnl So get rid of the # lines, and glue the remaining ones together.
(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
+ grep -v '#' |
tr -d '\r' |
+ tr -s '\n' ' ' |
$SED -n -e "$1" >conftest.i 2>&1],
[$3],
[$4])
rm -rf conftest*
-])# AC_EGREP_CPP
+AC_LANG_POP([C++])dnl
+])# _BOOST_SED_CPP
@@ -206,20 +225,21 @@
AC_CACHE_CHECK([for Boost's header version],
[boost_cv_lib_version],
[m4_pattern_allow([^BOOST_LIB_VERSION$])dnl
- _BOOST_SED_CPP([/^boost_lib_version = /{s///;s/\"//g;p;q;}],
+ _BOOST_SED_CPP([[/^boost-lib-version = /{s///;s/[\" ]//g;p;q;}]],
[#include <boost/version.hpp>
-boost_lib_version = BOOST_LIB_VERSION],
+boost-lib-version = BOOST_LIB_VERSION],
[boost_cv_lib_version=`cat conftest.i`])])
# e.g. "134" for 1_34_1 or "135" for 1_35
- boost_major_version=`echo "$boost_cv_lib_version" | $SED 's/_//;s/_.*//;s/ //'`
+ 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
fi
CPPFLAGS=$boost_save_CPPFLAGS
])# BOOST_REQUIRE
+
# BOOST_STATIC()
# --------------
@@ -227,10 +247,11 @@
# on the command line, static versions of the libraries will be looked up.
AC_DEFUN([BOOST_STATIC],
[AC_ARG_ENABLE([static-boost],
- [AC_HELP_STRING([--enable-static-boost],
+ [AS_HELP_STRING([--enable-static-boost],
[Prefer the static boost libraries over the shared ones [no]])],
[enable_static_boost=yes],
[enable_static_boost=no])])# BOOST_STATIC
+
# BOOST_FIND_HEADER([HEADER-NAME], [ACTION-IF-NOT-FOUND], [ACTION-IF-FOUND])
# --------------------------------------------------------------------------
@@ -264,14 +285,16 @@
])# BOOST_FIND_HEADER
-# BOOST_FIND_LIB([LIB-NAME], [PREFERRED-RT-OPT], [HEADER-NAME], [CXX-TEST],
-# [CXX-PROLOGUE])
-# -------------------------------------------------------------------------
-# Look for the Boost library LIB-NAME (e.g., LIB-NAME = `thread', for
-# libboost_thread). Check that HEADER-NAME works and check that
-# libboost_LIB-NAME can link with the code CXX-TEST. The optional argument
-# CXX-PROLOGUE can be used to include some C++ code before the `main'
-# function.
+# BOOST_FIND_LIBS([COMPONENT-NAME], [CANDIDATE-LIB-NAMES],
[... 752 lines stripped ...]
More information about the commits
mailing list