From ed68411ed13b3eab2667dd1058d036391ef09885 Mon Sep 17 00:00:00 2001 From: Miguel Freitas Date: Thu, 17 Jul 2014 18:39:00 -0300 Subject: [PATCH] updated all ax_boost* detection scripts from upstream --- m4/ax_boost_base.m4 | 8 ++++++- m4/ax_boost_locale.m4 | 5 ++-- m4/ax_boost_python.m4 | 56 +++++++++++++++++-------------------------- m4/ax_boost_system.m4 | 32 +++++++++++++++---------- 4 files changed, 51 insertions(+), 50 deletions(-) diff --git a/m4/ax_boost_base.m4 b/m4/ax_boost_base.m4 index c675f12d..8e6ee9a9 100644 --- a/m4/ax_boost_base.m4 +++ b/m4/ax_boost_base.m4 @@ -33,7 +33,7 @@ # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 22 +#serial 23 AC_DEFUN([AX_BOOST_BASE], [ @@ -103,6 +103,12 @@ if test "x$want_boost" = "xyes"; then AC_REQUIRE([AC_CANONICAL_HOST]) libsubdirs="lib/${host_cpu}-${host_os} $libsubdirs" + case ${host_cpu} in + i?86) + libsubdirs="lib/i386-${host_os} $libsubdirs" + ;; + esac + dnl first we check the system location for boost libraries dnl this location ist chosen if boost libraries are installed with the --layout=system option dnl or if you install boost with RPM diff --git a/m4/ax_boost_locale.m4 b/m4/ax_boost_locale.m4 index b6a97b23..8db8c418 100644 --- a/m4/ax_boost_locale.m4 +++ b/m4/ax_boost_locale.m4 @@ -67,8 +67,9 @@ AC_DEFUN([AX_BOOST_LOCALE], [AC_LANG_PUSH([C++]) CXXFLAGS_SAVE=$CXXFLAGS - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], - [[boost::locale::generator gen;]])], + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], + [[boost::locale::generator gen; + std::locale::global(gen(""));]])], ax_cv_boost_locale=yes, ax_cv_boost_locale=no) CXXFLAGS=$CXXFLAGS_SAVE AC_LANG_POP([C++]) diff --git a/m4/ax_boost_python.m4 b/m4/ax_boost_python.m4 index 90dfa0ec..d5a28c79 100644 --- a/m4/ax_boost_python.m4 +++ b/m4/ax_boost_python.m4 @@ -1,5 +1,5 @@ # =========================================================================== -# http://www.nongnu.org/autoconf-archive/ax_boost_python.html +# http://www.gnu.org/software/autoconf-archive/ax_boost_python.html # =========================================================================== # # SYNOPSIS @@ -9,7 +9,7 @@ # DESCRIPTION # # This macro checks to see if the Boost.Python library is installed. It -# also attempts to guess the currect library name using several attempts. +# also attempts to guess the correct library name using several attempts. # It tries to build the library name using a user supplied name or suffix # and then just the raw library. # @@ -18,20 +18,14 @@ # # This macro calls AC_SUBST(BOOST_PYTHON_LIB). # -# In order to ensure that the Python headers are specified on the include -# path, this macro requires AX_PYTHON to be called. -# -# EDIT: -# 2009-09-14 Cristian Greco -# - Require AX_PYTHON_DEVEL to be called before this macro to properly -# detect python include path, instead of AX_PYTHON. -# 2009-09-07 Cristian Greco -# - Prefix BOOST_PYTHON_LIB with a `-l` for consistency with other -# ax_boost_libname.m4 scripts. +# In order to ensure that the Python headers and the Boost libraries are +# specified on the include path, this macro requires AX_PYTHON_DEVEL and +# AX_BOOST_BASE to be called. # # LICENSE # # Copyright (c) 2008 Michael Tindal +# Copyright (c) 2013 Daniel Mullner # # 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 the @@ -59,45 +53,39 @@ # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. +#serial 18 + AC_DEFUN([AX_BOOST_PYTHON], [AC_REQUIRE([AX_PYTHON_DEVEL])dnl AC_CACHE_CHECK(whether the Boost::Python library is available, ac_cv_boost_python, [AC_LANG_SAVE AC_LANG_CPLUSPLUS - CPPFLAGS_SAVE=$CPPFLAGS - if test "x$PYTHON_CPPFLAGS" != "x"; then + CPPFLAGS_SAVE="$CPPFLAGS" + if test x$PYTHON_CPPFLAGS != x; then CPPFLAGS="$PYTHON_CPPFLAGS $CPPFLAGS" fi - AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include using namespace boost::python; BOOST_PYTHON_MODULE(test) { throw "Boost::Python test."; }]], - [[return 0;]]), - ac_cv_boost_python=yes, ac_cv_boost_python=no) + [[return 0;]])], + ac_cv_boost_python=yes, ac_cv_boost_python=no) AC_LANG_RESTORE - CPPFLAGS=$CPPFLAGS_SAVE + CPPFLAGS="$CPPFLAGS_SAVE" ]) -if test "x$ac_cv_boost_python" = "xyes"; then - AC_DEFINE(HAVE_BOOST_PYTHON,[1],[define if the Boost::Python library is available]) - dnl - LDFLAGS_SAVE=$LDFLAGS - if test "x$PYTHON_LDFLAGS" != "x"; then - LDFLAGS="$LDFLAGS $PYTHON_LDFLAGS" - fi - dnl +if test "$ac_cv_boost_python" = "yes"; then + AC_DEFINE(HAVE_BOOST_PYTHON,,[define if the Boost::Python library is available]) ax_python_lib=boost_python - AC_ARG_WITH([boost-python],AS_HELP_STRING([--with-boost-python],[specify the boost python library or suffix to use]), + AC_ARG_WITH([boost-python],AS_HELP_STRING([--with-boost-python],[specify yes/no or the boost python library or suffix to use]), [if test "x$with_boost_python" != "xno"; then - ax_python_lib="$with_boost_python" - ax_boost_python_lib="boost_python-$with_boost_python" + ax_python_lib=$with_boost_python + ax_boost_python_lib=boost_python-$with_boost_python fi]) - for ax_lib in $ax_python_lib $ax_boost_python_lib boost_python; do - AC_CHECK_LIB($ax_lib, main, [BOOST_PYTHON_LIB=-l$ax_lib break]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + for ax_lib in `ls $BOOSTLIBDIR/libboost_python*.so* $BOOSTLIBDIR/libboost_python*.dylib* $BOOSTLIBDIR/libboost_python*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_python.*\)\.so.*$;\1;' -e 's;^lib\(boost_python.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_python.*\)\.a.*$;\1;' ` $ax_python_lib $ax_boost_python_lib boost_python; do + AC_CHECK_LIB($ax_lib, exit, [BOOST_PYTHON_LIB=$ax_lib break], , [$PYTHON_LDFLAGS]) done - dnl - LDFLAGS=$LDFLAGS_SAVE - dnl AC_SUBST(BOOST_PYTHON_LIB) fi ])dnl diff --git a/m4/ax_boost_system.m4 b/m4/ax_boost_system.m4 index 48475fc4..c4c45559 100644 --- a/m4/ax_boost_system.m4 +++ b/m4/ax_boost_system.m4 @@ -1,5 +1,5 @@ # =========================================================================== -# http://www.nongnu.org/autoconf-archive/ax_boost_system.html +# http://www.gnu.org/software/autoconf-archive/ax_boost_system.html # =========================================================================== # # SYNOPSIS @@ -28,7 +28,10 @@ # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty provided the copyright notice -# and this notice are preserved. +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 17 AC_DEFUN([AX_BOOST_SYSTEM], [ @@ -37,14 +40,14 @@ AC_DEFUN([AX_BOOST_SYSTEM], [use the System library from boost - it is possible to specify a certain library for the linker e.g. --with-boost-system=boost_system-gcc-mt ]), [ - if test "x$withval" = "xno"; then + if test "$withval" = "no"; then want_boost="no" - elif test "x$withval" = "xyes"; then + elif test "$withval" = "yes"; then want_boost="yes" ax_boost_user_system_lib="" else want_boost="yes" - ax_boost_user_system_lib="$withval" + ax_boost_user_system_lib="$withval" fi ], [want_boost="yes"] @@ -66,8 +69,8 @@ AC_DEFUN([AX_BOOST_SYSTEM], [AC_LANG_PUSH([C++]) CXXFLAGS_SAVE=$CXXFLAGS - AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[@%:@include ]], - [[boost::system::system_category]]), + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], + [[boost::system::system_category]])], ax_cv_boost_system=yes, ax_cv_boost_system=no) CXXFLAGS=$CXXFLAGS_SAVE AC_LANG_POP([C++]) @@ -75,24 +78,24 @@ AC_DEFUN([AX_BOOST_SYSTEM], if test "x$ax_cv_boost_system" = "xyes"; then AC_SUBST(BOOST_CPPFLAGS) - AC_DEFINE(HAVE_BOOST_SYSTEM,[1],[define if the Boost::System library is available]) + AC_DEFINE(HAVE_BOOST_SYSTEM,,[define if the Boost::System library is available]) BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` LDFLAGS_SAVE=$LDFLAGS if test "x$ax_boost_user_system_lib" = "x"; then - for libextension in `ls $BOOSTLIBDIR/libboost_system*.{so,dylib,a}* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_system.*\)\.so.*$;\1;' -e 's;^lib\(boost_system.*\)\.a*$;\1;' -e 's;^lib\(boost_system.*\)\.dylib$;\1;'` ; do + for libextension in `ls -r $BOOSTLIBDIR/libboost_system* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do ax_lib=${libextension} AC_CHECK_LIB($ax_lib, exit, [BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break], [link_system="no"]) - done + done if test "x$link_system" != "xyes"; then - for libextension in `ls $BOOSTLIBDIR/boost_system*.{dll,a}* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_system.*\)\.dll.*$;\1;' -e 's;^\(boost_system.*\)\.a*$;\1;'` ; do + for libextension in `ls -r $BOOSTLIBDIR/boost_system* 2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do ax_lib=${libextension} AC_CHECK_LIB($ax_lib, exit, [BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break], [link_system="no"]) - done + done fi else @@ -102,6 +105,9 @@ AC_DEFUN([AX_BOOST_SYSTEM], [link_system="no"]) done + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) fi if test "x$link_system" = "xno"; then AC_MSG_ERROR(Could not link against $ax_lib !) @@ -109,6 +115,6 @@ AC_DEFUN([AX_BOOST_SYSTEM], fi CPPFLAGS="$CPPFLAGS_SAVED" - LDFLAGS="$LDFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" fi ])