diff options
author | David Tardon <dtardon@redhat.com> | 2012-11-23 06:49:21 +0100 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2012-11-23 06:51:17 +0100 |
commit | f1035c16609e03827f912d53e183e54585169f0d (patch) | |
tree | 0f839c75b099656385ab0d1e91bf514d8a21f4c0 | |
parent | e2036d4ec1133c337d1f47334a1a2d558b61dc70 (diff) |
fdo#55435 orcus needs Boost.System with recent Boost
Change-Id: I2df230e0ca6293131ceaf9211fb301165981ab86
-rw-r--r-- | RepositoryExternal.mk | 3 | ||||
-rw-r--r-- | config_host.mk.in | 1 | ||||
-rw-r--r-- | configure.ac | 25 | ||||
-rw-r--r-- | liborcus/UnpackedTarball_orcus.mk | 1 | ||||
-rw-r--r-- | liborcus/liborcus_0.1.0-link-with-Boost.System.patch | 669 | ||||
-rw-r--r-- | m4/ax_boost_system.m4 | 120 |
6 files changed, 819 insertions, 0 deletions
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk index 9790e4a777a5..b54173337554 100644 --- a/RepositoryExternal.mk +++ b/RepositoryExternal.mk @@ -2016,6 +2016,9 @@ $(call gb_LinkTarget_set_include,$(1),\ $$(INCLUDE) \ ) $(call gb_LinkTarget_use_static_libraries,$(1),orcus) + +$(if $(filter YES,$(SYSTEM_BOOST)),$(call gb_LinkTarget_add_libs,$(1),$(BOOST_SYSTEM_LIB))) + endef endif # SYSTEM_LIBORCUS diff --git a/config_host.mk.in b/config_host.mk.in index 9e5d354a61cd..e53c4f8967ba 100644 --- a/config_host.mk.in +++ b/config_host.mk.in @@ -41,6 +41,7 @@ export BARCODE_EXTENSION_PACK=@BARCODE_EXTENSION_PACK@ export BOOST_CPPFLAGS=@BOOST_CPPFLAGS@ export BOOST_DATE_TIME_LIB=@BOOST_DATE_TIME_LIB@ export BOOST_LDFLAGS=@BOOST_LDFLAGS@ +export BOOST_SYSTEM_LIB=@BOOST_SYSTEM_LIB@ export BOOST_TARBALL=@BOOST_TARBALL@ export BSH_JAR=@BSH_JAR@ export BSH_TARBALL=@BSH_TARBALL@ diff --git a/configure.ac b/configure.ac index 42d6a20b59d8..74d9ca101f26 100644 --- a/configure.ac +++ b/configure.ac @@ -8782,7 +8782,32 @@ else AC_MSG_RESULT([internal]) ORCUS_TARBALL=46d9f4cf8b145c21ce1056e116d2ce71-liborcus_0.1.0.tar.bz2 SYSTEM_LIBORCUS=NO + + if test "$SYSTEM_BOOST" = "YES"; then + # =========================================================== + # Determine if we are going to need to link with Boost.System + # =========================================================== + dnl This seems to be necessary since boost 1.50 (1.48 does not need it, + dnl 1.49 is untested). The macro BOOST_THREAD_DONT_USE_SYSTEM mentioned + dnl in documentation has no effect. + AC_MSG_CHECKING([if we need to link with Boost.System]) + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + @%:@include <boost/version.hpp> + ]],[[ + #if BOOST_VERSION >= 105000 + # error yes, we need to link with Boost.System + #endif + ]])],[ + AC_MSG_RESULT([no]) + ],[ + AC_MSG_RESULT([yes]) + AX_BOOST_SYSTEM + ]) + AC_LANG_POP([C++]) + fi fi +AC_SUBST([BOOST_SYSTEM_LIB]) AC_SUBST(SYSTEM_LIBORCUS) AC_SUBST(ORCUS_CFLAGS) AC_SUBST(ORCUS_LIBS) diff --git a/liborcus/UnpackedTarball_orcus.mk b/liborcus/UnpackedTarball_orcus.mk index 030eebdea1ec..ec1f7c4136c3 100644 --- a/liborcus/UnpackedTarball_orcus.mk +++ b/liborcus/UnpackedTarball_orcus.mk @@ -22,6 +22,7 @@ orcus_patches += liborcus_0.1.0-configure.patch orcus_patches += liborcus_0.1.0-mingw.patch # disable boost "auto lib" in MSVC build orcus_patches += liborcus_0.1.0-boost_disable_auto_lib.patch +orcus_patches += liborcus_0.1.0-link-with-Boost.System.patch $(eval $(call gb_UnpackedTarball_fix_end_of_line,orcus,\ vsprojects/liborcus-static-nozip/liborcus-static-nozip.vcproj \ diff --git a/liborcus/liborcus_0.1.0-link-with-Boost.System.patch b/liborcus/liborcus_0.1.0-link-with-Boost.System.patch new file mode 100644 index 000000000000..0bf35699b267 --- /dev/null +++ b/liborcus/liborcus_0.1.0-link-with-Boost.System.patch @@ -0,0 +1,669 @@ +diff -up ./configure.dt ./configure +--- ./configure.dt 2012-11-22 15:19:53.138663523 +0100 ++++ ./configure 2012-11-22 15:20:55.648956963 +0100 +@@ -650,6 +650,9 @@ LIBZIP_CFLAGS + HAVE_STATIC_LIB_FALSE + HAVE_STATIC_LIB_TRUE + ORCUS_API_VERSION ++BOOST_SYSTEM_LIB ++BOOST_LDFLAGS ++BOOST_CPPFLAGS + LIBOBJS + POW_LIB + PKG_CONFIG_LIBDIR +@@ -787,6 +790,9 @@ enable_fast_install + with_gnu_ld + with_sysroot + enable_libtool_lock ++with_boost ++with_boost_libdir ++with_boost_system + enable_werror + enable_debug + with_libzip +@@ -8555,6 +8574,10 @@ _lt_linker_boilerplate=`cat conftest.err + $RM -r conftest* + + ++## CAVEAT EMPTOR: ++## There is no encapsulation within the following macros, do not change ++## the running order or otherwise move them around unless you know exactly ++## what you are doing... + if test -n "$compiler"; then + + lt_prog_compiler_no_builtin_flag= +@@ -16021,6 +16044,559 @@ $as_echo "#define _REENTRANT /**/" >>con + $as_echo "#define BOOST_ALL_NO_LIB /**/" >>confdefs.h + + ++ ++# Check whether --with-boost was given. ++if test "${with_boost+set}" = set; then : ++ withval=$with_boost; ++ if test "$withval" = "no"; then ++ want_boost="no" ++ elif test "$withval" = "yes"; then ++ want_boost="yes" ++ ac_boost_path="" ++ else ++ want_boost="yes" ++ ac_boost_path="$withval" ++ fi ++ ++else ++ want_boost="yes" ++fi ++ ++ ++ ++ ++# Check whether --with-boost-libdir was given. ++if test "${with_boost_libdir+set}" = set; then : ++ withval=$with_boost_libdir; ++ if test -d "$withval" ++ then ++ ac_boost_lib_path="$withval" ++ else ++ as_fn_error $? "--with-boost-libdir expected directory name" "$LINENO" 5 ++ fi ++ ++else ++ ac_boost_lib_path="" ++ ++fi ++ ++ ++if test "x$want_boost" = "xyes"; then ++ boost_lib_version_req=1.20.0 ++ boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([0-9]*\.[0-9]*\)'` ++ boost_lib_version_req_major=`expr $boost_lib_version_req : '\([0-9]*\)'` ++ boost_lib_version_req_minor=`expr $boost_lib_version_req : '[0-9]*\.\([0-9]*\)'` ++ boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[0-9]*\.[0-9]*\.\([0-9]*\)'` ++ if test "x$boost_lib_version_req_sub_minor" = "x" ; then ++ boost_lib_version_req_sub_minor="0" ++ fi ++ WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor` ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for boostlib >= $boost_lib_version_req" >&5 ++$as_echo_n "checking for boostlib >= $boost_lib_version_req... " >&6; } ++ succeeded=no ++ ++ libsubdirs="lib" ++ ax_arch=`uname -m` ++ if test $ax_arch = x86_64 -o $ax_arch = ppc64 -o $ax_arch = s390x -o $ax_arch = sparc64; then ++ libsubdirs="lib64 lib lib64" ++ fi ++ ++ if test "$ac_boost_path" != ""; then ++ BOOST_CPPFLAGS="-I$ac_boost_path/include" ++ for ac_boost_path_tmp in $libsubdirs; do ++ if test -d "$ac_boost_path"/"$ac_boost_path_tmp" ; then ++ BOOST_LDFLAGS="-L$ac_boost_path/$ac_boost_path_tmp" ++ break ++ fi ++ done ++ elif test "$cross_compiling" != yes; then ++ for ac_boost_path_tmp in /usr /usr/local /opt /opt/local ; do ++ if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then ++ for libsubdir in $libsubdirs ; do ++ if ls "$ac_boost_path_tmp/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi ++ done ++ BOOST_LDFLAGS="-L$ac_boost_path_tmp/$libsubdir" ++ BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include" ++ break; ++ fi ++ done ++ fi ++ ++ if test "$ac_boost_lib_path" != ""; then ++ BOOST_LDFLAGS="-L$ac_boost_lib_path" ++ fi ++ ++ CPPFLAGS_SAVED="$CPPFLAGS" ++ CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" ++ export CPPFLAGS ++ ++ LDFLAGS_SAVED="$LDFLAGS" ++ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" ++ export LDFLAGS ++ ++ ++ ac_ext=cpp ++ac_cpp='$CXXCPP $CPPFLAGS' ++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ++ ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++ #include <boost/version.hpp> ++ ++int ++main () ++{ ++ ++ #if BOOST_VERSION >= $WANT_BOOST_VERSION ++ // Everything is okay ++ #else ++ # error Boost version is too old ++ #endif ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_cxx_try_compile "$LINENO"; then : ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++$as_echo "yes" >&6; } ++ succeeded=yes ++ found_system=yes ++ ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ ac_ext=cpp ++ac_cpp='$CXXCPP $CPPFLAGS' ++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ++ ++ ++ ++ ++ if test "x$succeeded" != "xyes"; then ++ _version=0 ++ if test "$ac_boost_path" != ""; then ++ if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then ++ for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do ++ _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'` ++ V_CHECK=`expr $_version_tmp \> $_version` ++ if test "$V_CHECK" = "1" ; then ++ _version=$_version_tmp ++ fi ++ VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` ++ BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE" ++ done ++ fi ++ else ++ if test "$cross_compiling" != yes; then ++ for ac_boost_path in /usr /usr/local /opt /opt/local ; do ++ if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then ++ for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do ++ _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'` ++ V_CHECK=`expr $_version_tmp \> $_version` ++ if test "$V_CHECK" = "1" ; then ++ _version=$_version_tmp ++ best_path=$ac_boost_path ++ fi ++ done ++ fi ++ done ++ ++ VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` ++ BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE" ++ if test "$ac_boost_lib_path" = ""; then ++ for libsubdir in $libsubdirs ; do ++ if ls "$best_path/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi ++ done ++ BOOST_LDFLAGS="-L$best_path/$libsubdir" ++ fi ++ fi ++ ++ if test "x$BOOST_ROOT" != "x"; then ++ for libsubdir in $libsubdirs ; do ++ if ls "$BOOST_ROOT/stage/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi ++ done ++ if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/$libsubdir" && test -r "$BOOST_ROOT/stage/$libsubdir"; then ++ version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'` ++ stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'` ++ stage_version_shorten=`expr $stage_version : '\([0-9]*\.[0-9]*\)'` ++ V_CHECK=`expr $stage_version_shorten \>\= $_version` ++ if test "$V_CHECK" = "1" -a "$ac_boost_lib_path" = "" ; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: We will use a staged boost library from $BOOST_ROOT" >&5 ++$as_echo "$as_me: We will use a staged boost library from $BOOST_ROOT" >&6;} ++ BOOST_CPPFLAGS="-I$BOOST_ROOT" ++ BOOST_LDFLAGS="-L$BOOST_ROOT/stage/$libsubdir" ++ fi ++ fi ++ fi ++ fi ++ ++ CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" ++ export CPPFLAGS ++ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" ++ export LDFLAGS ++ ++ ac_ext=cpp ++ac_cpp='$CXXCPP $CPPFLAGS' ++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ++ ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++ #include <boost/version.hpp> ++ ++int ++main () ++{ ++ ++ #if BOOST_VERSION >= $WANT_BOOST_VERSION ++ // Everything is okay ++ #else ++ # error Boost version is too old ++ #endif ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_cxx_try_compile "$LINENO"; then : ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++$as_echo "yes" >&6; } ++ succeeded=yes ++ found_system=yes ++ ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ ac_ext=cpp ++ac_cpp='$CXXCPP $CPPFLAGS' ++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ++ ++ fi ++ ++ if test "$succeeded" != "yes" ; then ++ if test "$_version" = "0" ; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation." >&5 ++$as_echo "$as_me: We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation." >&6;} ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: Your boost libraries seems to old (version $_version)." >&5 ++$as_echo "$as_me: Your boost libraries seems to old (version $_version)." >&6;} ++ fi ++ # execute ACTION-IF-NOT-FOUND (if present): ++ : ++ else ++ ++ ++ ++$as_echo "#define HAVE_BOOST /**/" >>confdefs.h ++ ++ # execute ACTION-IF-FOUND (if present): ++ : ++ fi ++ ++ CPPFLAGS="$CPPFLAGS_SAVED" ++ LDFLAGS="$LDFLAGS_SAVED" ++fi ++ ++ ++ ++# =========================================================== ++# Determine if we are going to need to link with Boost.System ++# =========================================================== ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we need to link with Boost.System" >&5 ++$as_echo_n "checking if we need to link with Boost.System... " >&6; } ++ac_ext=cpp ++ac_cpp='$CXXCPP $CPPFLAGS' ++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ++ ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++#include <boost/version.hpp> ++ ++int ++main () ++{ ++ ++#if BOOST_VERSION >= 105000 ++# error yes, we need to link with Boost.System ++#endif ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_cxx_try_compile "$LINENO"; then : ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++ ++else ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++$as_echo "yes" >&6; } ++ ++ ++# Check whether --with-boost-system was given. ++if test "${with_boost_system+set}" = set; then : ++ withval=$with_boost_system; ++ if test "$withval" = "no"; then ++ want_boost="no" ++ elif test "$withval" = "yes"; then ++ want_boost="yes" ++ ax_boost_user_system_lib="" ++ else ++ want_boost="yes" ++ ax_boost_user_system_lib="$withval" ++ fi ++ ++else ++ want_boost="yes" ++ ++fi ++ ++ ++ if test "x$want_boost" = "xyes"; then ++ ++ ++ CPPFLAGS_SAVED="$CPPFLAGS" ++ CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" ++ export CPPFLAGS ++ ++ LDFLAGS_SAVED="$LDFLAGS" ++ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" ++ export LDFLAGS ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Boost::System library is available" >&5 ++$as_echo_n "checking whether the Boost::System library is available... " >&6; } ++if ${ax_cv_boost_system+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_ext=cpp ++ac_cpp='$CXXCPP $CPPFLAGS' ++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ++ ++ CXXFLAGS_SAVE=$CXXFLAGS ++ ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++#include <boost/system/error_code.hpp> ++int ++main () ++{ ++boost::system::system_category ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_cxx_try_compile "$LINENO"; then : ++ ax_cv_boost_system=yes ++else ++ ax_cv_boost_system=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ CXXFLAGS=$CXXFLAGS_SAVE ++ ac_ext=cpp ++ac_cpp='$CXXCPP $CPPFLAGS' ++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ++ ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_boost_system" >&5 ++$as_echo "$ax_cv_boost_system" >&6; } ++ if test "x$ax_cv_boost_system" = "xyes"; then ++ ++ ++ ++$as_echo "#define HAVE_BOOST_SYSTEM /**/" >>confdefs.h ++ ++ BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/[^\/]*//'` ++ ++ LDFLAGS_SAVE=$LDFLAGS ++ if test "x$ax_boost_user_system_lib" = "x"; then ++ for libextension in `ls $BOOSTLIBDIR/libboost_system*.a* $BOOSTLIBDIR/libboost_system*.so* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_system.*\)\.\(so\|a\).*$;\1;' | tac` ; do ++ ax_lib=${libextension} ++ as_ac_Lib=`$as_echo "ac_cv_lib_$ax_lib''_exit" | $as_tr_sh` ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for exit in -l$ax_lib" >&5 ++$as_echo_n "checking for exit in -l$ax_lib... " >&6; } ++if eval \${$as_ac_Lib+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-l$ax_lib $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char exit (); ++int ++main () ++{ ++return exit (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_cxx_try_link "$LINENO"; then : ++ eval "$as_ac_Lib=yes" ++else ++ eval "$as_ac_Lib=no" ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++eval ac_res=\$$as_ac_Lib ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++$as_echo "$ac_res" >&6; } ++if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : ++ BOOST_SYSTEM_LIB="-l$ax_lib"; link_system="yes"; break ++else ++ link_system="no" ++fi ++ ++ done ++ if test "x$link_system" != "xyes"; then ++ for libextension in `ls $BOOSTLIBDIR/boost_system*.{dll,a}* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_system.*\)\.\(dll\|a\).*$;\1;' | tac` ; do ++ ax_lib=${libextension} ++ as_ac_Lib=`$as_echo "ac_cv_lib_$ax_lib''_exit" | $as_tr_sh` ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for exit in -l$ax_lib" >&5 ++$as_echo_n "checking for exit in -l$ax_lib... " >&6; } ++if eval \${$as_ac_Lib+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-l$ax_lib $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char exit (); ++int ++main () ++{ ++return exit (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_cxx_try_link "$LINENO"; then : ++ eval "$as_ac_Lib=yes" ++else ++ eval "$as_ac_Lib=no" ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++eval ac_res=\$$as_ac_Lib ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++$as_echo "$ac_res" >&6; } ++if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : ++ BOOST_SYSTEM_LIB="-l$ax_lib"; link_system="yes"; break ++else ++ link_system="no" ++fi ++ ++ done ++ fi ++ ++ else ++ for ax_lib in $ax_boost_user_system_lib boost_system-$ax_boost_user_system_lib; do ++ as_ac_Lib=`$as_echo "ac_cv_lib_$ax_lib''_exit" | $as_tr_sh` ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for exit in -l$ax_lib" >&5 ++$as_echo_n "checking for exit in -l$ax_lib... " >&6; } ++if eval \${$as_ac_Lib+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-l$ax_lib $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char exit (); ++int ++main () ++{ ++return exit (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_cxx_try_link "$LINENO"; then : ++ eval "$as_ac_Lib=yes" ++else ++ eval "$as_ac_Lib=no" ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++eval ac_res=\$$as_ac_Lib ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++$as_echo "$ac_res" >&6; } ++if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : ++ BOOST_SYSTEM_LIB="-l$ax_lib"; link_system="yes"; break ++else ++ link_system="no" ++fi ++ ++ done ++ ++ fi ++ if test "x$ax_lib" = "x"; then ++ as_fn_error $? "Could not find a version of the library!" "$LINENO" 5 ++ fi ++ if test "x$link_system" = "xno"; then ++ as_fn_error $? "Could not link against $ax_lib !" "$LINENO" 5 ++ fi ++ fi ++ ++ CPPFLAGS="$CPPFLAGS_SAVED" ++ LDFLAGS="$LDFLAGS_SAVED" ++ fi ++ ++ ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ac_ext=cpp ++ac_cpp='$CXXCPP $CPPFLAGS' ++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ++ ++ + # ============= + # Set orcus api + # ============= +diff -up ./src/liborcus/Makefile.in.dt ./src/liborcus/Makefile.in +--- ./src/liborcus/Makefile.in.dt 2012-11-22 15:20:12.680747546 +0100 ++++ ./src/liborcus/Makefile.in 2012-11-22 15:20:55.181954251 +0100 +@@ -90,7 +90,11 @@ subdir = src/liborcus + DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/depcomp + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +-am__aclocal_m4_deps = $(top_srcdir)/configure.ac ++am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \ ++ $(top_srcdir)/m4/ax_boost_system.m4 \ ++ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ ++ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ ++ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + mkinstalldirs = $(install_sh) -d +@@ -128,7 +132,7 @@ am__installdirs = "$(DESTDIR)$(libdir)" + LTLIBRARIES = $(lib_LTLIBRARIES) + am__DEPENDENCIES_1 = + liborcus_@ORCUS_API_VERSION@_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \ +- $(am__DEPENDENCIES_1) ++ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) + am__liborcus_@ORCUS_API_VERSION@_la_SOURCES_DIST = dom_tree.cpp \ + exception.cpp global.cpp spreadsheet_interface.cpp \ + orcus_css.cpp orcus_csv.cpp orcus_xml.cpp pstring.cpp \ +@@ -303,6 +307,9 @@ AUTOCONF = @AUTOCONF@ + AUTOHEADER = @AUTOHEADER@ + AUTOMAKE = @AUTOMAKE@ + AWK = @AWK@ ++BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ ++BOOST_LDFLAGS = @BOOST_LDFLAGS@ ++BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@ + CC = @CC@ + CCDEPMODE = @CCDEPMODE@ + CFLAGS = @CFLAGS@ +@@ -437,11 +444,13 @@ liborcus_@ORCUS_API_VERSION@_la_SOURCES + liborcus-@ORCUS_API_VERSION@.la + + liborcus_@ORCUS_API_VERSION@_la_CXXFLAGS = \ ++ $(BOOST_SYSTEM_CFLAGS) \ + $(LIBZIP_CFLAGS) \ + $(LIBIXION_CFLAGS) + + liborcus_@ORCUS_API_VERSION@_la_LDFLAGS = -no-undefined + liborcus_@ORCUS_API_VERSION@_la_LIBADD = \ ++ $(BOOST_SYSTEM_LIBS) $(BOOST_SYSTEM_LIB) \ + $(LIBZIP_LIBS) \ + $(LIBIXION_LIBS) + +diff -up ./src/Makefile.in.dt ./src/Makefile.in +--- ./src/Makefile.in.dt 2012-11-22 15:20:04.274713103 +0100 ++++ ./src/Makefile.in 2012-11-22 15:20:55.059953542 +0100 +@@ -88,7 +88,11 @@ subdir = src + DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/depcomp + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +-am__aclocal_m4_deps = $(top_srcdir)/configure.ac ++am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \ ++ $(top_srcdir)/m4/ax_boost_system.m4 \ ++ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ ++ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ ++ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + mkinstalldirs = $(install_sh) -d +@@ -288,6 +292,9 @@ AUTOCONF = @AUTOCONF@ + AUTOHEADER = @AUTOHEADER@ + AUTOMAKE = @AUTOMAKE@ + AWK = @AWK@ ++BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ ++BOOST_LDFLAGS = @BOOST_LDFLAGS@ ++BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@ + CC = @CC@ + CCDEPMODE = @CCDEPMODE@ + CFLAGS = @CFLAGS@ diff --git a/m4/ax_boost_system.m4 b/m4/ax_boost_system.m4 new file mode 100644 index 000000000000..20df5eea4bc6 --- /dev/null +++ b/m4/ax_boost_system.m4 @@ -0,0 +1,120 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_boost_system.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_SYSTEM +# +# DESCRIPTION +# +# Test for System 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: +# +# AC_SUBST(BOOST_SYSTEM_LIB) +# +# And sets: +# +# HAVE_BOOST_SYSTEM +# +# LICENSE +# +# Copyright (c) 2008 Thomas Porschberg <thomas@randspringer.de> +# Copyright (c) 2008 Michael Tindal +# Copyright (c) 2008 Daniel Casimiro <dan.casimiro@gmail.com> +# +# 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 file is offered as-is, without any +# warranty. + +#serial 15 + +AC_DEFUN([AX_BOOST_SYSTEM], +[ + AC_ARG_WITH([boost-system], + AS_HELP_STRING([--with-boost-system@<:@=special-lib@:>@], + [use the System library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-system=boost_system-gcc-mt ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_system_lib="" + else + want_boost="yes" + ax_boost_user_system_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_BUILD]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::System library is available, + ax_cv_boost_system, + [AC_LANG_PUSH([C++]) + CXXFLAGS_SAVE=$CXXFLAGS + + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/system/error_code.hpp>]], + [[boost::system::system_category]])], + ax_cv_boost_system=yes, ax_cv_boost_system=no) + CXXFLAGS=$CXXFLAGS_SAVE + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_system" = "xyes"; then + AC_SUBST(BOOST_CPPFLAGS) + + AC_DEFINE(HAVE_BOOST_SYSTEM,,[define if the Boost::System library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + + LDFLAGS_SAVE=$LDFLAGS + if test "x$ax_boost_user_system_lib" = "x"; then + for libextension in `ls $BOOSTLIBDIR/libboost_system*.a* $BOOSTLIBDIR/libboost_system*.so* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_system.*\)\.\(so\|a\).*$;\1;' | tac` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break], + [link_system="no"]) + done + if test "x$link_system" != "xyes"; then + for libextension in `ls $BOOSTLIBDIR/boost_system*.{dll,a}* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_system.*\)\.\(dll\|a\).*$;\1;' | tac` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break], + [link_system="no"]) + done + fi + + else + for ax_lib in $ax_boost_user_system_lib boost_system-$ax_boost_user_system_lib; do + AC_CHECK_LIB($ax_lib, exit, + [BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break], + [link_system="no"]) + done + + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + if test "x$link_system" = "xno"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) |