26 Commits
Author SHA1 Message Date
Khaled Hosny 40e43ae633 No need to fiddle with ICU UChar typedef anymore
The affected external dependencies should be building with c++11 by now
already.

Change-Id: I0d1f8aed6ed28f510f456a368b724c3c4eeb3240
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153389
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-06-21 16:59:39 +02:00
Stephan Bergmann 7e30d78402 Adapt to LLVM 15 trunk libc++ dropping std::unary_/binary_function
...for C++17 and beyond with
<https://github.com/llvm/llvm-project/commit/681cde7dd8b5613dbafc9ca54e0288477f946be3>
"[libc++] Complete the implementation of N4190".  (Unless explicitly opted-in
with _LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION.  This is similar to the
MSVC standard library needing _HAS_AUTO_PTR_ETC=1 to enable those zombie
functions for quite some time now.  Only libstdc++ still supports them
unconditionally.)

Most uses of those zombie functions across LibreOffice itself and the bundled
external/* are indirectly within Boost include files.  And many (but not all) of
those Boost include files only use those zombie functions conditionally, based
on BOOST_NO_CXX98_FUNCTION_BASE.  For the (Dinkumware-derived) MSVC standard
library, workdir/UnpackedTarball/boost/boost/config/stdlib/dinkumware.hpp
already defined BOOST_NO_CXX98_FUNCTION_BASE.  So add a patch to define that
also in workdir/UnpackedTarball/boost/boost/config/stdlib/libcpp.hpp (for all of
C++11 and beyond, even if those functions were still available as deprecated in
C++11 and C++14, but which shouldn't make a difference with our C++17 baseline
anyway; only make sure that things still work if those Boost include files ever
get used by code built with gb_CXX03FLAGS).  (Patching our bundled
external/boost of course doesn't help when building with such a new libc++ and
--with-system-boost against an unpatched Boost, but lets consider that "not my
problem".  Also, one could always use a sledgehammer like passing
CPPFLAGS=-D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION into gbuild in
such a case.)

Then there are two places that include boost/multi_array.hpp, which indirectly
includes workdir/UnpackedTarball/boost/boost/functional.hpp, which still uses
those zombie functions for non-MSVC builds (at least in the bundled
Boost 1.79.0).  Lets do a targeted
_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION in those cases.
(Alternatively, we could patch
workdir/UnpackedTarball/boost/boost/functional.hpp.  Also, I decided to make
loplugin:reservedid support the new suppression mechanism, rather than extending
its existing ignorelist even further.)

And then there is external/clucene using those zombie functions even outside of
a Boost include file, so extend the existing hack there that was already needed
for MSVC.  (And adapt the accompanying comment:  For one, we are unconditionally
"in C++17 mode" by now.  And for another, the exact places where
external/clucene uses those functions have apparently changed over time.)

Change-Id: Id0eec3bedcfddae86b16d33c02c7b5d3b3f8a16f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136579
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-06-29 10:08:25 +02:00
Luboš Luňák 1ffd6897dd try to use also proper debug LDFLAGS for externals libraries
This is basically ea68de2968 but
for LDFLAGS. A number of external libs cannot use this because
their libtool mishandles -fuse-ld.

Change-Id: Idee379eb0a3afb475b536519ee3de064b4e218f4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133639
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-05-01 05:47:22 +02:00
Luboš Luňák ea68de2968 use gb_DEBUGINFO_FLAGS consistently in gbuild ExternalProject's
A number of them didn't use it at all, others had it hand-written
in various ways.

Change-Id: Iaf86325f9cdc032926bac917dc3eef4e34661544
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132818
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-04-12 13:57:32 +02:00
Jan-Marek Glogowski 4537886ec1 externals: always provide platform configure flags
No idea why we just provided the platform flags when cross-
compiling. In the curious case, where the host platform is
detected as x86_64-pc-mingw32 per default and we actually
want to override it with x86_64-pc-cygwin, we don't do a
cross compile, but must override the host platform.

But there is additional special handling needed for the omitted
cross-platform build in the special case of --host=i686-pc-cygwin
and --build=x86_64-pc-cygwin, where we deliberatly ignore cross
building; Windows is already a slow build, so try to keep this
optimization (AMD64 can execute x86 binaries).

There is the theoretical case, where the externals config.guess
would have detected something else and that "magically" even
worked, while the LO detected triplet would fail, but this
should be fixed in the external in any way.

Change-Id: Ib7a9719e0e406fe90334b7611dc3f01b51692bfa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129153
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-31 10:31:04 +01:00
Jan-Marek Glogowski 8a4173987e WASM: add initial support for Emscripten cross build
- configure with:
- --host=wasm64-local-emscripten
- had to make a few externals optional, so adding:
  - --disable-nss
  - --disable-cmis
  - --disable-curl

Change-Id: I48d1c73d2675ad2e2beaf2c341578199efbd24ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111130
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2021-05-05 21:14:54 +02:00
Luboš Luňák 0adc9b615f GBUILD_TRACE, support for finding out where the build time is spent
See instructions in solenv/gbuild/Trace.mk . This generates a file than
can be viewed e.g. in the Chromium tracing view.

Change-Id: I5f90647c58ca729375525b6daed2d4918adc8188
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88754
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-02-16 14:49:45 +01:00
David Tardon a3488acbeb upload libmspub 0.1.3
Change-Id: I1f759bf914e4a61fc943098f04661789d374ffdb
Reviewed-on: https://gerrit.libreoffice.org/47256
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: David Tardon <dtardon@redhat.com>
2018-01-02 16:58:13 +01:00
Stephan Bergmann 90d2155912 Work around latest Boost 1.65.1 still using deprecated std::auto_ptr
...in various places, which is gone by default at least from recent libc++ in
C++17 mode.  So bring it back there for now, until Boost is fixed.

Change-Id: I0b3128d114ab2b5693a84bdc7d2b9b9b9b5c3c76
Reviewed-on: https://gerrit.libreoffice.org/45910
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-12-06 07:26:31 +01:00
David Tardon ba27efc27f libmspub: pass optimization flags to configure
Change-Id: I2107bee3122bb7535d097061fd433f1fc998741e
Reviewed-on: https://gerrit.libreoffice.org/43995
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
2017-10-29 08:30:13 +01:00
Eike Rathke fabad007c6 Upgrade to ICU 59.1
Also regenerated all patches using make icu.genpatch (hence the .1
suffix that indicates the path level) as some hunks did not apply anyway
and all now have the correct offset. Using genpatch may have the future
benefit to yield smaller diffs between different versions of patches.
Also prefixed all patch names with icu4c- for a cleaner listing.
New patches introduced are prefixed with icu4c-59-...

Change-Id: Ia83754b0823839887fce1a1d4ed04f8375b113c2
Reviewed-on: https://gerrit.libreoffice.org/36809
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>
2017-04-26 19:48:18 +02:00
Michael Stahl e355e54f2f configure: set BOOST_CPPFLAGS also in --without-system-boost case
Simplify the makefiles.

Change-Id: Ia695961e936e4a1ffdaff73eb56adc3c3905ed0c
2016-05-30 09:45:43 +02:00
David Tardon f5d753201d blind attempt to fix lcov
Change-Id: If8d6c8da1be1e540d641f20ac90e7877feae27be
2015-09-17 20:02:12 +02:00
David Ostrovsky e00a3a684e core: fix build with system boost 1.59
9a6cdce37e was trying to fix the problem
with exposing deprecated vars and functions in system's error_code.hpp
include file by patching bundled boost version.  This approach would
only make sense, when upstream version is going to be fixed ASAP. Apply
another approach, and follow the same pattern as applied in external
libraries, by defining

  -DBOOST_ERROR_CODE_HEADER_ONLY \
  -DBOOST_SYSTEM_NO_DEPRECATED

instead of patching bundled boost version.  This way, the code would
work with unpatched system boost 1.59 final as well.

Change-Id: I8684ca458ea4a5b7d7c3c3acfe7c14a6d19bc665
Reviewed-on: https://gerrit.libreoffice.org/18201
Reviewed-by: David Ostrovsky <david@ostrovsky.org>
Tested-by: David Ostrovsky <david@ostrovsky.org>
2015-09-01 07:51:43 +00:00
Norbert Thiebaud a8db357874 gbuild/config stop using VERBOSE, use only verbose=t
configure.ac was setting VERBOSE=YES/NO when really
we use verbose=t or verbose=

Change-Id: I47aee8d177cb2d788a62ecdbbb9cc3695c2bb299
Reviewed-on: https://gerrit.libreoffice.org/17634
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
2015-08-11 04:34:45 +00:00
Christian Lohmaier 2116f1cfb3 libmspub depends on zlib
Change-Id: I3024693698f85ef1c2bbb7fb6ee968a0d5ba6359
2014-12-19 04:16:02 +01:00
Stephan Bergmann 904f9284a2 More passing of MAKE into external configure
...like 2fdf78109e "Pass MAKE into
external/poppler's configure"

Change-Id: I4e2f1a13d120a7398fa81884710c589bb905714d
2014-11-13 16:56:20 +01:00
Michael Stahl 1413b6a4fd external: fortunately boost no longer requires config_host.mk
Change-Id: I8f2176500bf620cd5e4cdf434e6122b6163b3e0f
2014-11-10 15:08:29 +01:00
Stephan Bergmann 6bc81d4e78 Simplify some $ENABLE_DEBUG expressions
Change-Id: I9f60fd317f3a2995a182d51d06059bd994cf837c
2014-08-29 17:14:53 +02:00
Stephan Bergmann 2426e72dba Pass --enable-debug also down to external/libmspub
Change-Id: I76f834dea9aebbdef6cdb240e0a2f1ac49217f5e
2014-08-29 14:38:33 +02:00
David Tardon 48c9d7ac7c rebase all import libs
Change-Id: I9e1fc613816c943f4fb1033185e34e3acf317f1d
2014-05-26 18:49:04 +02:00
Michael Stahl d729d169de normalize values of CROSS_COMPILING
Change-Id: I0cc43cef91e3fcd82a3558a16ab0afbd4d56b141
2014-02-27 18:09:01 +01:00
Michael Stahl adddbbc4c6 normalize values of SYSTEM_BOOST
Change-Id: I2fce6545d7f279e0e2d6f3ff53eee1ab82314135
2014-02-12 09:53:10 +01:00
Michael Stahl 7b3c67e69a libmspub: fix the quoting
Change-Id: I448d7ec788ed93c71d67ea6785ec8c463a936971
2013-11-14 22:55:07 +01:00
Michael Stahl 2b24bf2369 more externals need config_host for boost
Change-Id: I0cfb09240a2e525cbd57b099b6e52eeabcc57d3f
2013-11-14 21:53:44 +01:00
Khaled Hosny 1359fba530 fdo#70393: move libmspub to a subdir of external
Change-Id: Ib93e41b2ebd7f466c28e6a52ea6ad16dd216642e
Reviewed-on: https://gerrit.libreoffice.org/6331
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
2013-10-19 07:35:24 +00:00