Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


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.

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.