Mercurial > libpst
comparison m4/ax_boost_python.m4 @ 380:1e1970f93f94 stable-0-6-72
allow all 7 days in bydays recurring appointment, update for fedora python packaging
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Wed, 01 Aug 2018 08:15:34 -0700 |
parents | cb67b335afcc |
children |
comparison
equal
deleted
inserted
replaced
379:bbd198da4033 | 380:1e1970f93f94 |
---|---|
1 # =========================================================================== | 1 # =========================================================================== |
2 # http://autoconf-archive.cryp.to/ax_boost_python.html | 2 # https://www.gnu.org/software/autoconf-archive/ax_boost_python.html |
3 # =========================================================================== | 3 # =========================================================================== |
4 # | 4 # |
5 # SYNOPSIS | 5 # SYNOPSIS |
6 # | 6 # |
7 # AX_BOOST_PYTHON | 7 # AX_BOOST_PYTHON |
8 # | 8 # |
9 # DESCRIPTION | 9 # DESCRIPTION |
10 # | 10 # |
11 # This macro checks to see if the Boost.Python library is installed. It | 11 # This macro checks to see if the Boost.Python library is installed. It |
12 # also attempts to guess the currect library name using several attempts. | 12 # also attempts to guess the correct library name using several attempts. |
13 # It tries to build the library name using a user supplied name or suffix | 13 # It tries to build the library name using a user supplied name or suffix |
14 # and then just the raw library. | 14 # and then just the raw library. |
15 # | 15 # |
16 # If the library is found, HAVE_BOOST_PYTHON is defined and | 16 # If the library is found, HAVE_BOOST_PYTHON is defined and |
17 # BOOST_PYTHON_LIB is set to the name of the library. | 17 # BOOST_PYTHON_LIB is set to the name of the library. |
18 # | 18 # |
19 # This macro calls AC_SUBST(BOOST_PYTHON_LIB). | 19 # This macro calls AC_SUBST(BOOST_PYTHON_LIB). |
20 # | 20 # |
21 # In order to ensure that the Python headers are specified on the include | 21 # In order to ensure that the Python headers and the Boost libraries are |
22 # path, this macro requires AX_PYTHON to be called. | 22 # specified on the include path, this macro requires AX_PYTHON_DEVEL and |
23 # AX_BOOST_BASE to be called. | |
23 # | 24 # |
24 # LAST MODIFICATION | 25 # LICENSE |
25 # | |
26 # 2008-04-12 | |
27 # | |
28 # COPYLEFT | |
29 # | 26 # |
30 # Copyright (c) 2008 Michael Tindal | 27 # Copyright (c) 2008 Michael Tindal |
28 # Copyright (c) 2013 Daniel M"ullner <daniel@danifold.net> | |
31 # | 29 # |
32 # This program is free software; you can redistribute it and/or modify it | 30 # This program is free software; you can redistribute it and/or modify it |
33 # under the terms of the GNU General Public License as published by the | 31 # under the terms of the GNU General Public License as published by the |
34 # Free Software Foundation; either version 2 of the License, or (at your | 32 # Free Software Foundation; either version 2 of the License, or (at your |
35 # option) any later version. | 33 # option) any later version. |
38 # WITHOUT ANY WARRANTY; without even the implied warranty of | 36 # WITHOUT ANY WARRANTY; without even the implied warranty of |
39 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General | 37 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
40 # Public License for more details. | 38 # Public License for more details. |
41 # | 39 # |
42 # You should have received a copy of the GNU General Public License along | 40 # You should have received a copy of the GNU General Public License along |
43 # with this program. If not, see <http://www.gnu.org/licenses/>. | 41 # with this program. If not, see <https://www.gnu.org/licenses/>. |
44 # | 42 # |
45 # As a special exception, the respective Autoconf Macro's copyright owner | 43 # As a special exception, the respective Autoconf Macro's copyright owner |
46 # gives unlimited permission to copy, distribute and modify the configure | 44 # gives unlimited permission to copy, distribute and modify the configure |
47 # scripts that are the output of Autoconf when processing the Macro. You | 45 # scripts that are the output of Autoconf when processing the Macro. You |
48 # need not follow the terms of the GNU General Public License when using | 46 # need not follow the terms of the GNU General Public License when using |
49 # or distributing such scripts, even though portions of the text of the | 47 # or distributing such scripts, even though portions of the text of the |
50 # Macro appear in them. The GNU General Public License (GPL) does govern | 48 # Macro appear in them. The GNU General Public License (GPL) does govern |
51 # all other use of the material that constitutes the Autoconf Macro. | 49 # all other use of the material that constitutes the Autoconf Macro. |
52 # | 50 # |
53 # This special exception to the GPL applies to versions of the Autoconf | 51 # This special exception to the GPL applies to versions of the Autoconf |
54 # Macro released by the Autoconf Macro Archive. When you make and | 52 # Macro released by the Autoconf Archive. When you make and distribute a |
55 # distribute a modified version of the Autoconf Macro, you may extend this | 53 # modified version of the Autoconf Macro, you may extend this special |
56 # special exception to the GPL to apply to your modified version as well. | 54 # exception to the GPL to apply to your modified version as well. |
55 | |
56 #serial 22 | |
57 | 57 |
58 AC_DEFUN([AX_BOOST_PYTHON], | 58 AC_DEFUN([AX_BOOST_PYTHON], |
59 [AC_REQUIRE([AX_PYTHON])dnl | 59 [AC_REQUIRE([AX_PYTHON_DEVEL])dnl |
60 AC_REQUIRE([AX_BOOST_BASE])dnl | |
61 AC_LANG_PUSH([C++]) | |
62 ax_boost_python_save_CPPFLAGS="$CPPFLAGS" | |
63 ax_boost_python_save_LDFLAGS="$LDFLAGS" | |
64 ax_boost_python_save_LIBS="$LIBS" | |
65 if test "x$PYTHON_CPPFLAGS" != "x"; then | |
66 CPPFLAGS="$PYTHON_CPPFLAGS $CPPFLAGS" | |
67 fi | |
68 | |
69 # Versions of AX_PYTHON_DEVEL() before serial 18 provided PYTHON_LDFLAGS | |
70 # instead of PYTHON_LIBS, so this is just here for compatibility. | |
71 if test "x$PYTHON_LDFLAGS" != "x"; then | |
72 LDFLAGS="$PYTHON_LDFLAGS $LDFLAGS" | |
73 fi | |
74 | |
75 # Note: Only versions of AX_PYTHON_DEVEL() since serial 18 provide PYTHON_LIBS | |
76 # instead of PYTHON_LDFLAGS. | |
77 if test "x$PYTHON_LIBS" != "x"; then | |
78 LIBS="$PYTHON_LIBS $LIBS" | |
79 fi | |
80 | |
81 if test "x$BOOST_CPPFLAGS" != "x"; then | |
82 CPPFLAGS="$BOOST_CPPFLAGS $CPPFLAGS" | |
83 fi | |
84 if test "x$BOOST_LDFLAGS" != "x"; then | |
85 LDFLAGS="$BOOST_LDFLAGS $LDFLAGS" | |
86 fi | |
60 AC_CACHE_CHECK(whether the Boost::Python library is available, | 87 AC_CACHE_CHECK(whether the Boost::Python library is available, |
61 ac_cv_boost_python, | 88 ac_cv_boost_python, |
62 [AC_LANG_SAVE | 89 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
63 AC_LANG_CPLUSPLUS | 90 #include <boost/python/module.hpp> |
64 CPPFLAGS_SAVE=$CPPFLAGS | 91 BOOST_PYTHON_MODULE(test) { throw "Boost::Python test."; }]], [])], |
65 if test x$PYTHON_INCLUDE_DIR != x; then | 92 ac_cv_boost_python=yes, ac_cv_boost_python=no) |
66 CPPFLAGS="-I$PYTHON_INCLUDE_DIR $CPPFLAGS" | |
67 fi | |
68 AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[ | |
69 #include <boost/python/module.hpp> | |
70 using namespace boost::python; | |
71 BOOST_PYTHON_MODULE(test) { throw "Boost::Python test."; }]], | |
72 [[return 0;]]), | |
73 ac_cv_boost_python=yes, ac_cv_boost_python=no) | |
74 AC_LANG_RESTORE | |
75 CPPFLAGS=$CPPFLAGS_SAVE | |
76 ]) | 93 ]) |
77 if test "$ac_cv_boost_python" = "yes"; then | 94 if test "$ac_cv_boost_python" = "yes"; then |
78 AC_DEFINE(HAVE_BOOST_PYTHON,,[define if the Boost::Python library is available]) | 95 AC_DEFINE(HAVE_BOOST_PYTHON,,[define if the Boost::Python library is available]) |
79 ax_python_lib=boost_python | 96 ax_python_lib=boost_python |
80 BOOST_PYTHON_LIB=$ax_python_lib | 97 AC_ARG_WITH([boost-python],AS_HELP_STRING([--with-boost-python],[specify yes/no or the boost python library or suffix to use]), |
81 AC_ARG_WITH([boost-python],AS_HELP_STRING([--with-boost-python],[specify the boost python library or suffix to use]), | 98 [if test "x$with_boost_python" != "xno" -a "x$with_boost_python" != "xyes"; then |
82 [if test "x$with_boost_python" != "xno"; then | |
83 ax_python_lib=$with_boost_python | 99 ax_python_lib=$with_boost_python |
84 ax_boost_python_lib=boost_python-$with_boost_python | 100 ax_boost_python_lib=boost_python-$with_boost_python |
85 fi]) | 101 fi]) |
86 for ax_lib in $ax_python_lib $ax_boost_python_lib boost_python; do | 102 BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` |
87 AC_CHECK_LIB($ax_lib, exit, [BOOST_PYTHON_LIB=$ax_lib break]) | 103 for ax_lib in $ax_python_lib $ax_boost_python_lib `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;' ` boost_python boost_python3; do |
104 AS_VAR_PUSHDEF([ax_Lib], [ax_cv_lib_$ax_lib''_BOOST_PYTHON_MODULE])dnl | |
105 AC_CACHE_CHECK([whether $ax_lib is the correct library], [ax_Lib], | |
106 [LIBS="-l$ax_lib $ax_boost_python_save_LIBS $PYTHON_LIBS" | |
107 AC_LINK_IFELSE([AC_LANG_PROGRAM([[ | |
108 #include <boost/python/module.hpp> | |
109 BOOST_PYTHON_MODULE(test) { throw "Boost::Python test."; }]], [])], | |
110 [AS_VAR_SET([ax_Lib], [yes])], | |
111 [AS_VAR_SET([ax_Lib], [no])])]) | |
112 AS_VAR_IF([ax_Lib], [yes], [BOOST_PYTHON_LIB=$ax_lib break], []) | |
113 AS_VAR_POPDEF([ax_Lib])dnl | |
88 done | 114 done |
89 AC_SUBST(BOOST_PYTHON_LIB) | 115 AC_SUBST(BOOST_PYTHON_LIB) |
90 fi | 116 fi |
117 CPPFLAGS="$ax_boost_python_save_CPPFLAGS" | |
118 LDFLAGS="$ax_boost_python_save_LDFLAGS" | |
119 LIBS="$ax_boost_python_save_LIBS" | |
120 AC_LANG_POP([C++]) | |
91 ])dnl | 121 ])dnl |