[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