- boost serialization support
- improved some boost detection stuff
This commit is contained in:
parent
b79b3a89ec
commit
305b76012e
2 changed files with 117 additions and 5 deletions
93
config/ax_boost_serialization.m4
Normal file
93
config/ax_boost_serialization.m4
Normal file
|
@ -0,0 +1,93 @@
|
|||
dnl @synopsis AX_BOOST_SERIALIZATION
|
||||
dnl
|
||||
dnl Test for Serialization library from the Boost C++ libraries. The
|
||||
dnl macro requires a preceding call to AX_BOOST_BASE. Further
|
||||
dnl documentation is available at
|
||||
dnl <http://randspringer.de/boost/index.html>.
|
||||
dnl
|
||||
dnl This macro calls:
|
||||
dnl
|
||||
dnl AC_SUBST(BOOST_SERIALIZATION_LIB)
|
||||
dnl
|
||||
dnl And sets:
|
||||
dnl
|
||||
dnl HAVE_BOOST_SERIALIZATION
|
||||
dnl
|
||||
dnl @category InstalledPackages
|
||||
dnl @category Cxx
|
||||
dnl @author Thomas Porschberg <thomas@randspringer.de>
|
||||
dnl @version 2006-06-15
|
||||
dnl @license AllPermissive
|
||||
|
||||
AC_DEFUN([AX_BOOST_SERIALIZATION],
|
||||
[
|
||||
AC_ARG_WITH([boost-serialization],
|
||||
AS_HELP_STRING([--with-boost-serialization@<:@=special-lib@:>@],
|
||||
[use the Serialization library from boost - it is possible to specify a certain library for the linker
|
||||
e.g. --with-boost-serialization=boost_serialization-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_serialization_lib=""
|
||||
else
|
||||
want_boost="yes"
|
||||
ax_boost_user_serialization_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::Serialization library is available,
|
||||
ax_cv_boost_serialization,
|
||||
[AC_LANG_PUSH([C++])
|
||||
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[@%:@include <fstream>
|
||||
@%:@include <boost/archive/text_oarchive.hpp>
|
||||
@%:@include <boost/archive/text_iarchive.hpp>
|
||||
]],
|
||||
[[std::ofstream ofs("filename");
|
||||
boost::archive::text_oarchive oa(ofs);
|
||||
return 0;
|
||||
]]),
|
||||
ax_cv_boost_serialization=yes, ax_cv_boost_serialization=no)
|
||||
AC_LANG_POP([C++])
|
||||
])
|
||||
if test "x$ax_cv_boost_serialization" = "xyes"; then
|
||||
AC_DEFINE(HAVE_BOOST_SERIALIZATION,,[define if the Boost::Serialization library is available])
|
||||
BN=boost_serialization
|
||||
if test "x$ax_boost_user_serialization_lib" = "x"; then
|
||||
for ax_lib in $BN $BN-$CC $BN-$CC-mt $BN-$CC-mt-s $BN-$CC-s \
|
||||
lib$BN 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
|
||||
AC_CHECK_LIB($ax_lib, main,
|
||||
[BOOST_SERIALIZATION_LIB="-l$ax_lib" AC_SUBST(BOOST_SERIALIZATION_LIB) link_serialization="yes" break],
|
||||
[link_serialization="no"])
|
||||
done
|
||||
else
|
||||
for ax_lib in $ax_boost_user_serialization_lib $BN-$ax_boost_user_serialization_lib; do
|
||||
AC_CHECK_LIB($ax_lib, main,
|
||||
[BOOST_SERIALIZATION_LIB="-l$ax_lib" AC_SUBST(BOOST_SERIALIZATION_LIB) link_serialization="yes" break],
|
||||
[link_serialization="no"])
|
||||
done
|
||||
|
||||
fi
|
||||
if test "x$link_serialization" = "xno"; then
|
||||
AC_MSG_ERROR(Could not link against $ax_lib !)
|
||||
fi
|
||||
fi
|
||||
|
||||
CPPFLAGS="$CPPFLAGS_SAVED"
|
||||
LDFLAGS="$LDFLAGS_SAVED"
|
||||
fi
|
||||
])
|
29
configure.ac
29
configure.ac
|
@ -37,27 +37,46 @@ fi
|
|||
dnl Check for boost
|
||||
AX_BOOST_BASE
|
||||
if test "$succeeded" != "yes" ; then
|
||||
echo "Error: You need to install the boost library!"
|
||||
exit
|
||||
fi
|
||||
|
||||
AX_BOOST_THREAD
|
||||
if test "x$link_thread" = "xno"; then
|
||||
if test "x$ax_cv_boost_thread" = "xno"; then
|
||||
echo
|
||||
echo "Error: You need to install the boost thread library!"
|
||||
echo
|
||||
exit
|
||||
fi
|
||||
|
||||
AX_BOOST_FILESYSTEM
|
||||
if test "x$link_filesystem" = "xno"; then
|
||||
if test "x$ax_cv_boost_filesystem" = "xno"; then
|
||||
echo
|
||||
echo "Error: You need to install the boost filesystem library!"
|
||||
echo
|
||||
exit
|
||||
fi
|
||||
|
||||
AX_BOOST_REGEX
|
||||
if test "x$link_regex" = "xno"; then
|
||||
if test "x$ax_cv_boost_regex" = "xno"; then
|
||||
echo
|
||||
echo "Error: You need to install the boost regex library!"
|
||||
echo
|
||||
exit
|
||||
fi
|
||||
|
||||
AX_BOOST_SERIALIZATION
|
||||
if test "x$ax_cv_boost_serialization" = "xno"; then
|
||||
echo
|
||||
echo "Error: You need to install the boost serialization library!"
|
||||
echo
|
||||
exit
|
||||
fi
|
||||
|
||||
dnl only for postgis plugin
|
||||
AX_LIB_POSTGRESQL
|
||||
AM_CONDITIONAL(BUILD_POSTGRESQL, test "x$found_postgresql" = "xyes")
|
||||
if test "$found_postgresql" = "yes"; then
|
||||
AM_CONDITIONAL(BUILD_POSTGRESQL, test "x$found_postgresql" = "xyes")
|
||||
fi
|
||||
|
||||
AX_CHECK_TIFF
|
||||
if test "x$link_tiff" = "xno"; then
|
||||
|
|
Loading…
Add table
Reference in a new issue