Commit 045256ad authored by Tiago Peixoto's avatar Tiago Peixoto

Fix compilation issues in MacOS X

This also cleans up some m4 boost macros, and includes other small
corrections to configure.ac.
parent 23a4cc30
......@@ -7,9 +7,7 @@ m4_define(graph_tool_version_major, 2)
m4_define(graph_tool_version_minor, 2)
m4_define(graph_tool_version_micro, 4dev)
AC_INIT([graph-tool],
[graph_tool_version_major().graph_tool_version_minor().graph_tool_version_micro()],
[http://graph-tool.forked.de])
AC_INIT([graph-tool],[graph_tool_version_major().graph_tool_version_minor().graph_tool_version_micro()],[http://graph-tool.forked.de])
GRAPH_TOOL_VERSION_MAJOR=graph_tool_version_major()
GRAPH_TOOL_VERSION_MINOR=graph_tool_version_minor()
......@@ -22,18 +20,18 @@ AC_CONFIG_SRCDIR(src)
AM_INIT_AUTOMAKE([foreign])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AM_PROG_CC_C_O
AM_CONFIG_HEADER(config.h)
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
AC_ISC_POSIX
AC_SEARCH_LIBS([strerror],[cposix])
AC_SUBST(CXXFLAGS,$CXXFLAGS)
AC_GNU_SOURCE
AC_USE_SYSTEM_EXTENSIONS
AC_PROG_CXX
AC_LANG_CPLUSPLUS
AC_LANG([C++])
AC_PROG_CC_STDC
AC_HEADER_STDC
AC_DISABLE_STATIC
AC_PROG_LIBTOOL
LT_INIT
AC_PROG_INSTALL
dnl turn on warnings
......@@ -44,8 +42,7 @@ dnl Checks for options
dnl Turn debugging on or off
AC_MSG_CHECKING(whether to enable debug info...)
AC_ARG_ENABLE([debug], [AC_HELP_STRING([--enable-debug@<:@=full@:>@],
[compile debug information [default=yes] ])],
AC_ARG_ENABLE([debug], [AS_HELP_STRING([--enable-debug@<:@=full@:>@],[compile debug information [default=yes] ])],
[AC_MSG_RESULT(yes)]
[AC_DEFINE([DEBUG], 1, [compile debug info])]
[CXXFLAGS=" ${CXXFLAGS} -ggdb3 "],
......@@ -58,8 +55,7 @@ dnl set template depth and hidden visibility
AC_MSG_CHECKING(whether to enable function inlining...)
AC_ARG_ENABLE([inline], [AC_HELP_STRING([--disable-inline],
[disable inline functions [default=enabled] ])],
AC_ARG_ENABLE([inline], [AS_HELP_STRING([--disable-inline],[disable inline functions [default=enabled] ])],
if test $enableval = no; then
[AC_MSG_RESULT(no)]
[AC_DEFINE([NO_INLINE], 1, [disable function inlining])]
......@@ -77,8 +73,7 @@ AM_CONDITIONAL(NO_INLINE, test $NO_INLINE = yes)
AC_MSG_CHECKING(whether to enable optimizations...)
AC_ARG_ENABLE([optimization], [AC_HELP_STRING([--disable-optimization],
[disable optimization [default=enabled] ])],
AC_ARG_ENABLE([optimization], [AS_HELP_STRING([--disable-optimization],[disable optimization [default=enabled] ])],
[AC_MSG_RESULT(no)]
,
[AC_MSG_RESULT(yes)]
......@@ -87,8 +82,7 @@ AC_ARG_ENABLE([optimization], [AC_HELP_STRING([--disable-optimization],
AC_MSG_CHECKING(whether to enable symbol visibility manipulation...)
AC_ARG_ENABLE([visibility], [AC_HELP_STRING([--disable-visibility],
[disable symbol visibility manipulation [default=enabled] ])],
AC_ARG_ENABLE([visibility], [AS_HELP_STRING([--disable-visibility],[disable symbol visibility manipulation [default=enabled] ])],
[AC_MSG_RESULT(no)]
,
[AC_MSG_RESULT(yes)]
......@@ -97,8 +91,7 @@ AC_ARG_ENABLE([visibility], [AC_HELP_STRING([--disable-visibility],
AC_MSG_CHECKING(whether to enable graph filtering...)
AC_ARG_ENABLE([graph-filtering], [AC_HELP_STRING([--disable-graph-filtering],
[disable graph filtering [default=enabled] ])],
AC_ARG_ENABLE([graph-filtering], [AS_HELP_STRING([--disable-graph-filtering],[disable graph filtering [default=enabled] ])],
if test $enableval = no; then
[AC_MSG_RESULT(no)]
[AC_DEFINE([NO_GRAPH_FILTERING], 1, [disable graph filtering])]
......@@ -112,8 +105,7 @@ AC_ARG_ENABLE([graph-filtering], [AC_HELP_STRING([--disable-graph-filtering],
)
AC_MSG_CHECKING(whether to enable parallel algorithms with openmp...)
AC_ARG_ENABLE([openmp], [AC_HELP_STRING([--enable-openmp],
[enable openmp [default=disabled] ])],
AC_ARG_ENABLE([openmp], [AS_HELP_STRING([--enable-openmp],[enable openmp [default=disabled] ])],
if test $enableval = yes; then
[AC_MSG_RESULT(yes)]
[AC_DEFINE([USING_OPENMP], 1, [using openmp])]
......@@ -189,8 +181,7 @@ dnl Checks for header files.
dnl numpy
AC_PYTHON_MODULE(numpy, fatal)
NUMPY_DIR="${PYTHON_SITE_PKG}/numpy"
AC_ARG_WITH([numpy], [AC_HELP_STRING([--with-numpy=DIR],
[directory where numpy is installed
AC_ARG_WITH([numpy], [AS_HELP_STRING([--with-numpy=DIR],[directory where numpy is installed
[default=${PYTHON_SITE_PKG}/numpy] ])],
NUMPY_DIR=$withval)
[NUMPY_DIR="${NUMPY_DIR}/core/include/numpy"]
......@@ -202,8 +193,7 @@ AC_CHECK_HEADER([${NUMPY_DIR}/arrayobject.h],
dnl scipy
AC_PYTHON_MODULE(scipy, fatal)
[SCIPY_DIR="${PYTHON_SITE_PKG}/scipy"]
AC_ARG_WITH([scipy], [AC_HELP_STRING([--with-scipy=DIR],
[scipy install directory
AC_ARG_WITH([scipy], [AS_HELP_STRING([--with-scipy=DIR],[scipy install directory
[default=${PYTHON_SITE_PKG}/scipy] ])],
[SCIPY_DIR=$withval])
AC_CHECK_HEADER([${SCIPY_DIR}/weave/scxx/object.h],
......@@ -293,8 +283,8 @@ AC_SUBST(MOD_CPPFLAGS)
AC_SUBST(MOD_DIR)
# default LIBADD flags for submodules
[MOD_LIBADD="${PYTHON_LDFLAGS} ${BOOST_IOSTREAMS_LIB} -l${BOOST_PYTHON_LIB} \
${BOOST_REGEX_LIB} ${OPENMP_LDFLAGS} -lexpat"]
[MOD_LIBADD="${PYTHON_LDFLAGS} -l${BOOST_IOSTREAMS_LIB} -l${BOOST_PYTHON_LIB} \
-l${BOOST_REGEX_LIB} ${OPENMP_LDFLAGS} -lexpat"]
AC_SUBST(MOD_LIBADD)
# needed for typeinfo objects to work across DSO boundaries.
......@@ -303,7 +293,7 @@ AC_SUBST(MOD_LIBADD)
-Wl,-E"]
AC_SUBST(MOD_LDFLAGS)
AC_OUTPUT([
AC_CONFIG_FILES([
Makefile
src/Makefile
src/graph/Makefile
......@@ -319,6 +309,7 @@ src/graph/flow/Makefile
src/graph/layout/Makefile
src/graph_tool/Makefile
])
AC_OUTPUT
# ugly, dirty, smelly hack to force libtool to link to libstc++ before anything
# else, to avoid strange exception-related segfaults in
......@@ -326,5 +317,4 @@ src/graph_tool/Makefile
# http://www.nabble.com/preventing-boost::python::throw_error_already_set-td20958723.html
# http://wiki.fifengine.de/Segfault_in_cxa_allocate_exception
AC_MSG_NOTICE([Modifying libtool to correctly link libstdc++ before anything else...])
libtool=`cat libtool | sed "s/-nostdlib/-nostdlib -lstdc++/g"`
echo "$libtool" > libtool
eval "sed -i -e 's/-nostdlib/-nostdlib -lstdc++/g' libtool"
# ===========================================================================
# http://autoconf-archive.cryp.to/ax_boost_iostreams.html
# ===========================================================================
#
# SYNOPSIS
#
# AX_BOOST_IOSTREAMS
#
# DESCRIPTION
#
# Test for IOStreams library from the Boost C++ libraries. The macro
# requires a preceding call to AX_BOOST_BASE. Further documentation is
# available at <http://randspringer.de/boost/index.html>.
#
# This macro calls:
# This macro checks to see if the Boost.Regex 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.
#
# AC_SUBST(BOOST_IOSTREAMS_LIB)
# If the library is found, HAVE_BOOST_IOSTREAMS is defined and
# BOOST_IOSTREAMS_LIB is set to the name of the library.
#
# And sets:
# This macro calls AC_SUBST(BOOST_IOSTREAMS_LIB).
#
# HAVE_BOOST_IOSTREAMS
# In order to ensure that the Regex headers are specified on the include
# path, this macro requires AX_IOSTREAMS to be called.
#
# LAST MODIFICATION
#
......@@ -26,89 +23,67 @@
#
# COPYLEFT
#
# Copyright (c) 2008 Thomas Porschberg <thomas@randspringer.de>
# Copyright (c) 2008 Michael Tindal
#
# 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, see <http://www.gnu.org/licenses/>.
#
# 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.
#
# 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.
# 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([AX_BOOST_IOSTREAMS],
[
AC_ARG_WITH([boost-iostreams],
AS_HELP_STRING([--with-boost-iostreams@<:@=special-lib@:>@],
[use the IOStreams library from boost - it is possible to specify a certain library for the linker
e.g. --with-boost-iostreams=boost_iostreams-gcc-mt-d-1_33_1 ]),
[
if test "$withval" = "no"; then
want_boost="no"
elif test "$withval" = "yes"; then
want_boost="yes"
ax_boost_user_iostreams_lib=""
else
want_boost="yes"
ax_boost_user_iostreams_lib="$withval"
fi
],
[want_boost="yes"]
)
if test "x$want_boost" = "xyes"; then
AC_REQUIRE([AC_PROG_CC])
CPPFLAGS_SAVED="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
export CPPFLAGS
LDFLAGS_SAVED="$LDFLAGS"
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
export LDFLAGS
AC_CACHE_CHECK(whether the Boost::IOStreams library is available,
ax_cv_boost_iostreams,
[AC_LANG_PUSH([C++])
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[@%:@include <boost/iostreams/filtering_stream.hpp>
@%:@include <boost/range/iterator_range.hpp>
]],
[[std::string input = "Hello World!";
namespace io = boost::iostreams;
io::filtering_istream in(boost::make_iterator_range(input));
return 0;
]]),
ax_cv_boost_iostreams=yes, ax_cv_boost_iostreams=no)
AC_LANG_POP([C++])
])
if test "x$ax_cv_boost_iostreams" = "xyes"; then
AC_DEFINE(HAVE_BOOST_IOSTREAMS,,[define if the Boost::IOStreams library is available])
BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
if test "x$ax_boost_user_iostreams_lib" = "x"; then
for libextension in `ls $BOOSTLIBDIR/libboost_iostreams*.{so,a}* 2>/dev/null | sort -r | sed 's,.*/,,' | sed -e 's;^lib\(boost_iostreams.*\)\.so.*$;\1;' -e 's;^lib\(boost_iostreams.*\)\.a*$;\1;'` ; do
ax_lib=${libextension}
AC_CHECK_LIB($ax_lib, exit,
[BOOST_IOSTREAMS_LIB="-l$ax_lib"; AC_SUBST(BOOST_IOSTREAMS_LIB) link_iostreams="yes"; break],
[link_iostreams="no"])
done
if test "x$link_iostreams" != "xyes"; then
for libextension in `ls $BOOSTLIBDIR/boost_iostreams*.{dll,a}* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_iostreams.*\)\.dll.*$;\1;' -e 's;^\(boost_iostreams.*\)\.a*$;\1;'` ; do
ax_lib=${libextension}
AC_CHECK_LIB($ax_lib, exit,
[BOOST_IOSTREAMS_LIB="-l$ax_lib"; AC_SUBST(BOOST_IOSTREAMS_LIB) link_iostreams="yes"; break],
[link_iostreams="no"])
done
fi
else
for ax_lib in $ax_boost_user_iostreams_lib boost_iostreams-$ax_boost_user_iostreams_lib; do
AC_CHECK_LIB($ax_lib, main,
[BOOST_IOSTREAMS_LIB="-l$ax_lib"; AC_SUBST(BOOST_IOSTREAMS_LIB) link_iostreams="yes"; break],
[link_iostreams="no"])
done
fi
if test "x$link_iostreams" != "xyes"; then
AC_MSG_ERROR(Could not link against $ax_lib !)
fi
fi
CPPFLAGS="$CPPFLAGS_SAVED"
LDFLAGS="$LDFLAGS_SAVED"
fi
[AC_CACHE_CHECK(whether the Boost::Iostreams library is available,
ac_cv_boost_iostreams,
[AC_LANG_SAVE
AC_LANG_CPLUSPLUS
CPPFLAGS_SAVE=$CPPFLAGS
if test "x$IOSTREAMS_INCLUDE_DIR" != "x"; then
CPPFLAGS="-I$IOSTREAMS_INCLUDE_DIR $CPPFLAGS"
fi
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[
#include <boost/iostreams/filtering_stream.hpp>
#include <boost/range/iterator_range.hpp>
]],
[[std::string input = "Hello World!";
namespace io = boost::iostreams;
io::filtering_istream in(boost::make_iterator_range(input));
return 0;
]]),
ac_cv_boost_iostreams=yes, ac_cv_boost_iostreams=no)
AC_LANG_RESTORE
CPPFLAGS="$CPPFLAGS_SAVE"
])
if test "$ac_cv_boost_iostreams" = "yes"; then
AC_DEFINE(HAVE_BOOST_IOSTREAMS,,[define if the Boost::Iostreams library is available])
ax_iostreams_lib=boost_iostreams
AC_ARG_WITH([boost-iostreams],AS_HELP_STRING([--with-boost-iostreams],[specify the boost iostreams library or suffix to use]),
[if test "x$with_boost_iostreams" != "xno"; then
ax_iostreams_lib=$with_boost_iostreams
ax_boost_iostreams_lib=boost_iostreams-$with_boost_iostreams
fi])
for ax_lib in $ax_iostreams_lib $ax_boost_iostreams_lib boost_iostreams boost_iostreams-mt boost_iostreams-mt-py2.5; do
AC_CHECK_LIB($ax_lib, exit, [BOOST_IOSTREAMS_LIB=$ax_lib break])
done
AC_SUBST(BOOST_IOSTREAMS_LIB)
fi
])dnl
# ===========================================================================
# http://www.nongnu.org/autoconf-archive/ax_boost_regex.html
# ===========================================================================
#
# SYNOPSIS
#
# AX_BOOST_REGEX
#
# DESCRIPTION
#
# Test for Regex library from the Boost C++ libraries. The macro requires
# a preceding call to AX_BOOST_BASE. Further documentation is available at
# <http://randspringer.de/boost/index.html>.
# This macro checks to see if the Boost.Regex 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_REGEX is defined and
# BOOST_REGEX_LIB is set to the name of the library.
#
# This macro calls:
# This macro calls AC_SUBST(BOOST_REGEX_LIB).
#
# AC_SUBST(BOOST_REGEX_LIB)
# In order to ensure that the Regex headers are specified on the include
# path, this macro requires AX_REGEX to be called.
#
# And sets:
# LAST MODIFICATION
#
# HAVE_BOOST_REGEX
# 2008-04-12
#
# LICENSE
# COPYLEFT
#
# Copyright (c) 2008 Thomas Porschberg <thomas@randspringer.de>
# Copyright (c) 2008 Michael Tindal
#
# 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.
# 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, see <http://www.gnu.org/licenses/>.
#
# 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([AX_BOOST_REGEX],
[
AC_ARG_WITH([boost-regex],
AS_HELP_STRING([--with-boost-regex@<:@=special-lib@:>@],
[use the Regex library from boost - it is possible to specify a certain library for the linker
e.g. --with-boost-regex=boost_regex-gcc-mt-d-1_33_1 ]),
[
if test "$withval" = "no"; then
want_boost="no"
elif test "$withval" = "yes"; then
want_boost="yes"
ax_boost_user_regex_lib=""
else
want_boost="yes"
ax_boost_user_regex_lib="$withval"
fi
],
[want_boost="yes"]
)
if test "x$want_boost" = "xyes"; then
AC_REQUIRE([AC_PROG_CC])
CPPFLAGS_SAVED="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
export CPPFLAGS
LDFLAGS_SAVED="$LDFLAGS"
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
export LDFLAGS
AC_CACHE_CHECK(whether the Boost::Regex library is available,
ax_cv_boost_regex,
[AC_LANG_PUSH([C++])
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[@%:@include <boost/regex.hpp>
]],
[[boost::regex r(); return 0;]]),
ax_cv_boost_regex=yes, ax_cv_boost_regex=no)
AC_LANG_POP([C++])
])
if test "x$ax_cv_boost_regex" = "xyes"; then
AC_DEFINE(HAVE_BOOST_REGEX,,[define if the Boost::Regex library is available])
BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
if test "x$ax_boost_user_regex_lib" = "x"; then
for libextension in `ls $BOOSTLIBDIR/libboost_regex*.{so,a}* 2>/dev/null | sort -r | sed 's,.*/,,' | sed -e 's;^lib\(boost_regex.*\)\.so.*$;\1;' -e 's;^lib\(boost_regex.*\)\.a*$;\1;'` ; do
ax_lib=${libextension}
AC_CHECK_LIB($ax_lib, exit,
[BOOST_REGEX_LIB="-l$ax_lib"; AC_SUBST(BOOST_REGEX_LIB) link_regex="yes"; break],
[link_regex="no"])
done
if test "x$link_regex" != "xyes"; then
for libextension in `ls $BOOSTLIBDIR/boost_regex*.{dll,a}* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_regex.*\)\.dll.*$;\1;' -e 's;^\(boost_regex.*\)\.a*$;\1;'` ; do
ax_lib=${libextension}
AC_CHECK_LIB($ax_lib, exit,
[BOOST_REGEX_LIB="-l$ax_lib"; AC_SUBST(BOOST_REGEX_LIB) link_regex="yes"; break],
[link_regex="no"])
done
fi
else
for ax_lib in $ax_boost_user_regex_lib boost_regex-$ax_boost_user_regex_lib; do
AC_CHECK_LIB($ax_lib, main,
[BOOST_REGEX_LIB="-l$ax_lib"; AC_SUBST(BOOST_REGEX_LIB) link_regex="yes"; break],
[link_regex="no"])
done
fi
if test "x$link_regex" != "xyes"; then
AC_MSG_ERROR(Could not link against $ax_lib !)
fi
fi
CPPFLAGS="$CPPFLAGS_SAVED"
LDFLAGS="$LDFLAGS_SAVED"
fi
[AC_CACHE_CHECK(whether the Boost::Regex library is available,
ac_cv_boost_regex,
[AC_LANG_SAVE
AC_LANG_CPLUSPLUS
CPPFLAGS_SAVE=$CPPFLAGS
if test "x$REGEX_INCLUDE_DIR" != "x"; then
CPPFLAGS="-I$REGEX_INCLUDE_DIR $CPPFLAGS"
fi
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[
#include <boost/regex.hpp>
]],
[[boost::regex r(); return 0;]]),
ac_cv_boost_regex=yes, ac_cv_boost_regex=no)
AC_LANG_RESTORE
CPPFLAGS="$CPPFLAGS_SAVE"
])
if test "$ac_cv_boost_regex" = "yes"; then
AC_DEFINE(HAVE_BOOST_REGEX,,[define if the Boost::Regex library is available])
ax_regex_lib=boost_regex
AC_ARG_WITH([boost-regex],AS_HELP_STRING([--with-boost-regex],[specify the boost regex library or suffix to use]),
[if test "x$with_boost_regex" != "xno"; then
ax_regex_lib=$with_boost_regex
ax_boost_regex_lib=boost_regex-$with_boost_regex
fi])
for ax_lib in $ax_regex_lib $ax_boost_regex_lib boost_regex boost_regex-mt boost_regex-mt-py2.5; do
AC_CHECK_LIB($ax_lib, exit, [BOOST_REGEX_LIB=$ax_lib break])
done
AC_SUBST(BOOST_REGEX_LIB)
fi
])dnl
......@@ -49,6 +49,7 @@ typedef mpl::map<
mpl::pair<int32_t, mpl::int_<NPY_INT32> >,
mpl::pair<int64_t, mpl::int_<NPY_INT64> >,
mpl::pair<uint64_t, mpl::int_<NPY_UINT64> >,
mpl::pair<unsigned long int, mpl::int_<NPY_ULONG> >,
mpl::pair<double, mpl::int_<NPY_DOUBLE> >,
mpl::pair<long double, mpl::int_<NPY_LONGDOUBLE> >
> numpy_types;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment