[Libreoffice-commits] core.git: 6 commits - external/libabw external/libcdr external/libmwaw external/libodfgen external/libvisio external/libwps

David Tardon dtardon at redhat.com
Mon Aug 31 00:20:40 PDT 2015


Hi,

On Mon, Aug 31, 2015 at 10:12:40AM +0200, David Ostrovsky wrote:
> Hi David,
> 
> On Sun Aug 30 09:30:28 PDT 2015, David Tardon wrote:
> 
> [...]
> >
> >    libcdr: fix build with boost 1.59
> >    
> >    Change-Id: Ie12338eae161f0a13fa4ff036e41d389bc0d616a
> >
> >diff --git a/external/libcdr/ExternalProject_libcdr.mk
> >b/external/libcdr/ExternalProject_libcdr.mk
> >index e4d7c9b..96930fe 100644
> >--- a/external/libcdr/ExternalProject_libcdr.mk
> >+++ b/external/libcdr/ExternalProject_libcdr.mk
> >@@ -36,7 +36,8 @@ $(call
> >gb_ExternalProject_get_state_target,libcdr,build) :
> > 			--disable-werror \
> > 			--disable-weffc \
> > 			$(if $(verbose),--disable-silent-rules,--enable-silent-rules) \
> >-			CXXFLAGS="$(if $(SYSTEM_BOOST),$(BOOST_CPPFLAGS),-I$(call
> gb_UnpackedTarball_get_dir,boost))" \
> >+			CXXFLAGS="$(if $(SYSTEM_BOOST),$(BOOST_CPPFLAGS),-I$(call
> gb_UnpackedTarball_get_dir,boost)) \
> >+				-DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED" \
> > 			$(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=
> $(HOST_PLATFORM)) \
> [...]
> 
> I assume this was needed to support building external libraries against
> system boost? There was a change between 1.59-rc1 and 1.59 final in
> include of error_code.hpp, so that deprecated vars and functions are 
> now exposed.

Yes, exactly.

> Am I right in assuming that the plan would be to drop the patch
> boost_1_59_0.system.no.deprecated.patch and use the same approach and
> define -DBOOST_SYSTEM_NO_DEPRECATED?

Very likely. Code that only works with a bundled library, but not with
the system one, is no good for us. But I do not build with 1.59 yet--it
is just coming to Rawhide, so I had to fix my packages to build with it.
And decided to adapt the bundled libs in libreoffice too, while I was at
it.

> 
> Is -DBOOST_ERROR_CODE_HEADER_ONLY really needed here? In fact, with the
> patch [1] applied, LO was linking without issue.

I do not know. This was the def I come up with to fix builds of
librevenge and libabw. For, e.g., libvisio this was not enough, as the
System stuff was included in several compilation units, which caused
duplicate definitions of "throws". So I added
-DBOOST_SYSTEM_NO_DEPRECATED, but did not check if it is enough to use
just that. In libreoffice, I simply used both of them everywhere.

D.


More information about the LibreOffice mailing list