[Libreoffice-commits] .: config_host.mk.in configure.ac liborcus/liborcus_0.1.0-link-with-Boost.System.patch liborcus/UnpackedTarball_orcus.mk m4/ax_boost_system.m4 RepositoryExternal.mk

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Thu Nov 22 21:53:05 PST 2012


 RepositoryExternal.mk                                |    3 
 config_host.mk.in                                    |    1 
 configure.ac                                         |   25 
 liborcus/UnpackedTarball_orcus.mk                    |    1 
 liborcus/liborcus_0.1.0-link-with-Boost.System.patch |  669 +++++++++++++++++++
 m4/ax_boost_system.m4                                |  120 +++
 6 files changed, 819 insertions(+)

New commits:
commit f1035c16609e03827f912d53e183e54585169f0d
Author: David Tardon <dtardon at redhat.com>
Date:   Fri Nov 23 06:49:21 2012 +0100

    fdo#55435 orcus needs Boost.System with recent Boost
    
    Change-Id: I2df230e0ca6293131ceaf9211fb301165981ab86

diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 9790e4a..b541733 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 9e5d354..e53c4f8 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 42d6a20..74d9ca1 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 030eebd..ec1f7c4 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 0000000..0bf3569
--- /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_ at ORCUS_API_VERSION@_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+-	$(am__DEPENDENCIES_1)
++	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+ am__liborcus_ at 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_ at ORCUS_API_VERSION@_la_SOURCES
+ 	liborcus- at ORCUS_API_VERSION@.la
+ 
+ liborcus_ at ORCUS_API_VERSION@_la_CXXFLAGS = \
++	$(BOOST_SYSTEM_CFLAGS) \
+ 	$(LIBZIP_CFLAGS) \
+ 	$(LIBIXION_CFLAGS)
+ 
+ liborcus_ at ORCUS_API_VERSION@_la_LDFLAGS = -no-undefined
+ liborcus_ at 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 0000000..20df5ee
--- /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 at randspringer.de>
+#   Copyright (c) 2008 Michael Tindal
+#   Copyright (c) 2008 Daniel Casimiro <dan.casimiro at 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
+])


More information about the Libreoffice-commits mailing list