[cig-commits] r13045 - cs/cigma/trunk/config
luis at geodynamics.org
luis at geodynamics.org
Wed Oct 15 02:07:38 PDT 2008
Author: luis
Date: 2008-10-15 02:07:37 -0700 (Wed, 15 Oct 2008)
New Revision: 13045
Added:
cs/cigma/trunk/config/deb_boost_python.dpatch
cs/cigma/trunk/config/mpx_boost_python.m4
Modified:
cs/cigma/trunk/config/README
Log:
List the source of patches to ax_boost_* macros
Modified: cs/cigma/trunk/config/README
===================================================================
--- cs/cigma/trunk/config/README 2008-10-15 09:07:36 UTC (rev 13044)
+++ cs/cigma/trunk/config/README 2008-10-15 09:07:37 UTC (rev 13045)
@@ -135,3 +135,13 @@
PYCONFIG
CIT_PATH_NEMESIS
+
+Boost and Autoconf
+==================
+ The default m4 macros for configuring boost don't quite work for
+the default debian setup, but patches are available at the following
+url:
+
+ http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=435152
+
+
Added: cs/cigma/trunk/config/deb_boost_python.dpatch
===================================================================
--- cs/cigma/trunk/config/deb_boost_python.dpatch (rev 0)
+++ cs/cigma/trunk/config/deb_boost_python.dpatch 2008-10-15 09:07:37 UTC (rev 13045)
@@ -0,0 +1,136 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## f.dpatch by Carl Fürstenberg <azatoth at gmail.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad autoconf-archive-20070512~/m4/ax_boost_python.m4 autoconf-archive-20070512/m4/ax_boost_python.m4
+--- autoconf-archive-20070512~/m4/ax_boost_python.m4 2007-07-29 17:56:16.000000000 +0200
++++ autoconf-archive-20070512/m4/ax_boost_python.m4 2007-07-29 19:51:45.000000000 +0200
+@@ -14,18 +14,19 @@
+ # If the library is found, HAVE_BOOST_PYTHON is defined and
+ # BOOST_PYTHON_LIB is set to the name of the library.
+ #
+-# This macro calls AC_SUBST(BOOST_PYTHON_LIB).
++# This macro calls AC_SUBST(BOOST_PYTHON_LIBS).
+ #
+ # In order to ensure that the Python headers are specified on the
+ # include path, this macro requires AX_PYTHON to be called.
+ #
+ # LAST MODIFICATION
+ #
+-# 2005-05-20
++# 2007-07-29
+ #
+ # COPYLEFT
+ #
+ # Copyright (c) 2005 Michael Tindal <mtindal at paradoxpoint.com>
++# Copyright © 2007 Carl Fürstenberg <azatoth at gmail.com>
+ #
+ # This program is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU General Public License as
+@@ -59,34 +60,52 @@
+
+ AC_DEFUN([AX_BOOST_PYTHON],
+ [AC_REQUIRE([AX_PYTHON])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_INCLUDE_DIR != x; then
+- CPPFLAGS=-I$PYTHON_INCLUDE_DIR $CPPFLAGS
+- fi
+- AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[
+- #include <boost/python/module.hpp>
+- using namespace boost::python;
+- BOOST_PYTHON_MODULE(test) { throw "Boost::Python test."; }]],
+- [[return 0;]]),
+- ac_cv_boost_python=yes, ac_cv_boost_python=no)
+- AC_LANG_RESTORE
+- CPPFLAGS=$CPPFLAGS_SAVE
++AS_VAR_PUSHDEF([ax_BoostPython], [ax_cv_boost_python])dnl
++AC_LANG_PUSH([C++])
++ax_cv_boost_python_save_CPPFLAGS=$CPPFLAGS
++CPPFLAGS="-I$PYTHON_INCLUDE_DIR $CPPFLAGS"
++AC_CHECK_HEADER([boost/python.hpp],
++ [AC_DEFINE([HAVE_BOOST_PYTHON],,[define if the Boost::Python library is available])]
++)
++CPPFLAGS=$ax_cv_boost_python_save_CPPFLAGS
++AC_LANG_POP([C++])
++BN=boost_python
++AC_ARG_WITH(
++ [boost-python],
++ [AS_HELP_STRING([--with-boost-python],[specify the boost python library to use])],
++ [ax_python_lib=$withval],
++ [for ax_lib in $BN $BN-mt $BN-$CC $BN-$CC-mt $BN-$CC-mt-s $BN-$CC-s \
++ lib$BN lib$BN-mt lib$BN-$CC lib$BN-$CC-mt lib$BN-$CC-mt-s lib$BN-$CC-s \
++ $BN-mgw $BN-mgw $BN-mgw-mt $BN-mgw-mt-s $BN-mgw-s; do
++ ax_python_lib="$ax_python_lib $ax_lib";
++ done;
++ ax_python_lib="$ax_python_lib $ax_python_lib_extra"]
++)
++
++AS_VAR_PUSHDEF([ax_Search], [ax_cv_search])dnl
++AC_CACHE_CHECK([for Usable Boost::Python library], [ax_Search],
++[AC_LANG_PUSH([C++])
++ax_cv_search_save_CXXFLAGS=$CXXFLAGS
++CXXFLAGS="-I$PYTHON_INCLUDE_DIR $CXXFLAGS"
++ax_cv_search_save_LIBS=$LIBS
++for ax_current_lib in $ax_python_lib; do
++ ax_res=-l$ax_current_lib
++ LIBS="-l$ax_current_lib -l$PYTHON_LIB $ax_cv_search_save_LIBS"
++ AC_LINK_IFELSE([#include <boost/python/module.hpp>
++ using namespace boost::python;
++ BOOST_PYTHON_MODULE(test) { throw "Boost::Python test."; }
++ int main() {return 0;}],
++ [AS_VAR_SET([ax_Search], [$ax_res])])
++ AS_VAR_SET_IF([ax_Search], [break])dnl
++done
++AS_VAR_SET_IF([ax_Search], , [AS_VAR_SET([ax_Search], [no])])
++LIBS=$ax_cv_search_save_LIBS
++CXXFLAGS=$ax_cv_search_save_CXXFLAGS
++AC_LANG_POP([C++])])
++ax_res=AS_VAR_GET([ax_Search])
++AS_IF([test "$ax_res" != "no"],
++ [BOOST_PYTHON_LIBS="$ax_res"
++ AC_SUBST(BOOST_PYTHON_LIBS)],
++ [AS_WARN([No suitable Boost::Python library found])])dnl
++AS_VAR_POPDEF([ax_Search])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]),
+- [if test "x$with_boost_python" != "xno"; then
+- 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=$ax_lib break])
+- done
+- AC_SUBST(BOOST_PYTHON_LIB)
+-fi
+-])dnl
+diff -urNad autoconf-archive-20070512~/m4/ax_python.m4 autoconf-archive-20070512/m4/ax_python.m4
+--- autoconf-archive-20070512~/m4/ax_python.m4 2007-07-29 17:56:16.000000000 +0200
++++ autoconf-archive-20070512/m4/ax_python.m4 2007-07-29 19:51:50.000000000 +0200
+@@ -21,7 +21,7 @@
+ #
+ # LAST MODIFICATION
+ #
+-# 2004-09-20
++# 2007-07-29
+ #
+ # COPYLEFT
+ #
+@@ -60,7 +60,7 @@
+ AC_DEFUN([AX_PYTHON],
+ [AC_MSG_CHECKING(for python build information)
+ AC_MSG_RESULT([])
+-for python in python2.4 python2.3 python2.2 python2.1 python; do
++for python in python2.5 python2.4 python2.3 python2.2 python2.1 python; do
+ AC_CHECK_PROGS(PYTHON_BIN, [$python])
+ ax_python_bin=$PYTHON_BIN
+ if test x$ax_python_bin != x; then
Added: cs/cigma/trunk/config/mpx_boost_python.m4
===================================================================
--- cs/cigma/trunk/config/mpx_boost_python.m4 (rev 0)
+++ cs/cigma/trunk/config/mpx_boost_python.m4 2008-10-15 09:07:37 UTC (rev 13045)
@@ -0,0 +1,126 @@
+# http://hg.backtrace.info/hgwebdir.cgi/mpx/raw-file/2238c194877d/m4/boost_python.m4
+#
+#
+##### http://autoconf-archive.cryp.to/ax_boost_python.html
+#
+# SYNOPSIS
+#
+# MPX_AX_BOOST_PYTHON
+#
+# 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. It tries to build the library name using a user supplied
+# name or suffix and then just the raw library.
+#
+# If the library is found, HAVE_BOOST_PYTHON is defined and
+# BOOST_PYTHON_LIB is set to the name of the library.
+#
+# 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.
+#
+# LAST MODIFICATION
+#
+# 2007-07-24
+#
+# COPYLEFT
+#
+# Copyright (c) 2007 Michael Tindal
+# Copyright (c) 2008 David Le Brun
+#
+# 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 Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+#
+# As a special exception, the respective Autoconf Macro's copyright
+# owner gives unlimited permission to copy, distribute and modify the
+# configure scripts that are the output of Autoconf when processing
+# the Macro. You need not follow the terms of the GNU General Public
+# License when using or distributing such scripts, even though
+# portions of the text of the Macro appear in them. The GNU General
+# Public License (GPL) does govern all other use of the material that
+# constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the
+# Autoconf Macro released by the Autoconf Macro Archive. When you
+# make and distribute a modified version of the Autoconf Macro, you
+# may extend this special exception to the GPL to apply to your
+# modified version as well.
+
+AC_DEFUN([MPX_AX_BOOST_PYTHON],
+[AC_REQUIRE([AX_PYTHON])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_INCLUDE_DIR != x; then
+ CPPFLAGS="-I$PYTHON_INCLUDE_DIR $CPPFLAGS"
+ fi
+ AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[
+ #include <boost/python/module.hpp>
+ using namespace boost::python;
+ BOOST_PYTHON_MODULE(test) { throw "Boost::Python test."; }]],
+ [[return 0;]]),
+ ac_cv_boost_python=yes, ac_cv_boost_python=no)
+ AC_LANG_RESTORE
+ CPPFLAGS=$CPPFLAGS_SAVE
+])
+if test "$ac_cv_boost_python" = "yes"; then
+ AC_DEFINE(HAVE_BOOST_PYTHON,,[define if the Boost::Python library is available])
+ LDFLAGS_SAVE=$LDFLAGS
+ if test x$PYTHON_LIB != x; then
+ LDFLAGS="$LDFLAGS -l$PYTHON_LIB"
+ fi
+ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+ CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+
+ BN_BOOST_PYTHON="boost_python"
+ 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]),
+ [if test "x$with_boost_python" != "xno"; then
+ ax_python_lib=$with_boost_python
+ ax_boost_python_lib=${BN_BOOST_PYTHON}-$with_boost_python
+ fi])
+
+ link_python="no"
+ BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
+ for libextension in `ls $BOOSTLIBDIR/libboost_python*.so* | sed 's,.*/,,' | sed -e 's;^libboost_python;;' -e 's;\(.*\)\.so.*$;\1;'`; do
+ ax_lib=${BN_BOOST_PYTHON}${libextension}
+ AC_CHECK_LIB($ax_lib, exit,
+ [BOOST_PYTHON_LIB="-l$ax_lib"; AC_SUBST(BOOST_PYTHON_LIB) link_python="yes"; break],
+ [ax_lib=""; link_python="no"])
+ done
+
+ if test "$link_python" = "no"; then
+ for ax_lib in $ax_python_lib $ax_boost_python_lib ${BN_BOOST_PYTHON}; do
+ AC_CHECK_LIB($ax_lib, exit,
+ [BOOST_PYTHON_LIB="-l$ax_lib"; AC_SUBST(BOOST_PYTHON_LIB) link_python="yes"; break],
+ [ax_lib=""; link_python="no"])
+ done
+ fi
+
+ if test "$link_python" = "no"; then
+ AC_MSG_ERROR([Could not find the boost python bindings])
+ fi
+
+ LDFLAGS=$LDFLAGS_SAVE
+ CPPFLAGS=$CPPFLAGS_SAVE
+else
+ AC_MSG_ERROR([Could not find the boost python bindings])
+fi
+])dnl
More information about the cig-commits
mailing list