office-gobmx/ucb/Library_ucpcmis1.mk
Stephan Bergmann 23a8d5ffbb Upgrade external/boost to Boost 1.69.0
<https://dev-www.libreoffice.org/src/boost_1_69_0.tar.bz2> is a copy of
<https://dl.bintray.com/boostorg/release/1.69.0/source/boost_1_69_0.tar.bz2>,
SHA256 hash as given at <https://www.boost.org/users/download/>.

* removed from external/boost/include/boost/ those files that are no longer
  present in workdir/UnpackedTarball/boost/boost/

* the shrunk external/boost/rtti.patch.0 can probably be removed completely in a
  follow-up commit

* the patch to libs/filesystem/src/operations.cpp in
  external/boost/boost-android-unified.patch.1 no longer applied, and appears to
  be no longer necessary anyway (seeing a working build without it of
  --with-distro=LibreOfficeAndroid and NDK r16b); but with the non-standard
  Clang 5.0.300080 from NDK r16b, the build now caused failures like

> workdir/UnpackedTarball/boost/boost/type_traits/detail/is_function_cxx_11.hpp:36:11: error: class template partial specialization contains a template parameter that cannot be deduced; this partial specialization will never be used [-Wunusable-partial-specialization]
>    struct is_function<Ret BOOST_TT_DEF_CALL(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> workdir/UnpackedTarball/boost/boost/type_traits/detail/is_function_cxx_11.hpp:35:38: note: non-deducible template parameter 'NE'
>    template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
>                                      ^
> workdir/UnpackedTarball/boost/boost/type_traits/detail/is_function_cxx_11.hpp:22:40: note: expanded from macro 'BOOST_TT_NOEXCEPT_PARAM'
> #define BOOST_TT_NOEXCEPT_PARAM , bool NE
>                                        ^

  showing that that version of Clang has the same problem handling noexcept(b)
  as a deduced template parameter as MSVC has, as already supported by the code

* new external/boost/sse.patch.0 needed on Windows x86 to silence errors like

> C:\cygwin\home\tdf\lode\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/type_traits/detail/is_function_cxx_11.hpp(111): error C2215: '__vectorcall' cannot be used with '/arch:SSE'

  (<https://ci.libreoffice.org/job/gerrit_windows/26117/>); according to
  <https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros
  ?view=vs-2017>: "_M_IX86_FP Defined as an integer literal value that indicates
  the /arch compiler option that was set, or the default. This macro is always
  defined when the compilation target is an x86 processor. Otherwise, undefined.
  When defined, the value is: [...] 1 if the /arch:SSE compiler option was set."
  and we specify /arch:SSE explicitly for Windows x86 since
  8bd6bf93b7 "fdo#82430: configure: MSVC build:
  avoid using SSE2 instructions"

* boost::logic::tribool conversion operator to bool is explicit now

Change-Id: Iea49560d734f545539f062dce46740fbf812dd84
Reviewed-on: https://gerrit.libreoffice.org/66189
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
2019-01-15 08:24:05 +01:00

60 lines
1.5 KiB
Makefile

# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_Library_Library,ucpcmis1))
$(eval $(call gb_Library_set_componentfile,ucpcmis1,ucb/source/ucp/cmis/ucpcmis1))
$(eval $(call gb_Library_use_sdk_api,ucpcmis1))
$(eval $(call gb_Library_use_libraries,ucpcmis1,\
comphelper \
cppu \
cppuhelper \
sal \
salhelper \
sax \
ucbhelper \
tl \
))
$(eval $(call gb_Library_use_externals,ucpcmis1,\
boost_headers \
boost_date_time \
libcmis \
curl \
libxml2 \
))
# On Windows, libcmis.lib(ws-relatedmultipart.o) references BCryptCloseAlgorithmProvider,
# BCryptGenRandom, and BCryptOpenAlgorithmProvider via
# workdir/UnpackedTarball/boost/boost/winapi/bcrypt.hpp:
ifeq ($(OS),WNT)
ifeq ($(SYSTEM_LIBCMIS)$(SYSTEM_BOOST),)
$(eval $(call gb_Library_add_libs,ucpcmis1, \
Bcrypt.lib \
))
endif
endif
$(eval $(call gb_Library_add_exception_objects,ucpcmis1,\
ucb/source/ucp/cmis/auth_provider \
ucb/source/ucp/cmis/certvalidation_handler \
ucb/source/ucp/cmis/cmis_content \
ucb/source/ucp/cmis/cmis_repo_content \
ucb/source/ucp/cmis/cmis_datasupplier \
ucb/source/ucp/cmis/cmis_provider \
ucb/source/ucp/cmis/cmis_resultset \
ucb/source/ucp/cmis/cmis_url \
ucb/source/ucp/cmis/std_inputstream \
ucb/source/ucp/cmis/std_outputstream \
))
# vim: set noet sw=4 ts=4: