summaryrefslogtreecommitdiff
path: root/external/libmspub
AgeCommit message (Collapse)Author
2022-06-29Adapt to LLVM 15 trunk libc++ dropping std::unary_/binary_functionStephan Bergmann
...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-05-01try to use also proper debug LDFLAGS for externals librariesLuboš Luňák
This is basically ea68de2968c0dbcd8e7549435e829db06795c16d 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-04-12use gb_DEBUGINFO_FLAGS consistently in gbuild ExternalProject'sLuboš Luňák
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-01-31externals: always provide platform configure flagsJan-Marek Glogowski
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>
2021-05-05WASM: add initial support for Emscripten cross buildJan-Marek Glogowski
- 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>
2020-02-16GBUILD_TRACE, support for finding out where the build time is spentLuboš Luňák
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>
2019-09-20Remove legacy NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY supportStephan Bergmann
...for ASan/UBSan builds using Clang older than current trunk twoards Clang 9, as announced at <https://lists.freedesktop.org/archives/libreoffice/2019-May/082654.html> "Re: [Libreoffice-commits] core.git: The -fvisibility-ms-compat hack is no longer needed for UBSan on Linux...". (And drop the no longer needed solenv/sanitizers/asan-suppressions, which people might still reference from their ASAN_OPTIONS.) Change-Id: Iedc0c5955366d2cbe7dc847990e2b1576750e85b Reviewed-on: https://gerrit.libreoffice.org/72493 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-06-12Mark external/libmspub/stdint.patch as sent upstreamStephan Bergmann
Change-Id: Ib04a69528bf12ab1f549b94413ff7c42b5008482 Reviewed-on: https://gerrit.libreoffice.org/73825 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-06-11external/libmspub: missing includeStephan Bergmann
Change-Id: I446b26b3c0ffd0d62178f374b570c9fbd1885dd4 Reviewed-on: https://gerrit.libreoffice.org/73813 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-05-03The -fvisibility-ms-compat hack is no longer needed for UBSan on Linux...Stephan Bergmann
...with latest Clang trunk towards Clang 9. All the no-longer necessary hacks are made conditional on new NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY, which is still set for UBSan builds with older Clang on Linux (but which should eventually be purged). Various classes needed additional SAL_DLLPUBLIC_RTTI annotations, as building with UBSan instrumentation can generate references to RTTI symbols from additional places like outside a dynamic library that used to hide those symbols by default (but used to not hide them for old UBSan builds thanks to the -fvisibility-ms-compat hack). The odr-violation suppressions in solenv/sanitizers/asan-suppressions (which is not referenced from anywhere in the code base, but meant to be included in an ASan/UBSan build's ASAN_OPTIONS env var) are also no longer needed when NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY is false. Change-Id: I24ec3e388b0cbab50dbe2bf008d9569bff7bf25a Reviewed-on: https://gerrit.libreoffice.org/70829 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-04-07libmspub: fix build for android-arm with debug enabledChristian Lohmaier
Change-Id: I2fff80f2e4a0bd1946c9b49d46871245f93bbb3e
2018-01-04libmspub, add update of config.subjan Iversen
Change-Id: Ia843520afae808fc8ed7dec6ae017400720394e7
2018-01-02upload libmspub 0.1.3David Tardon
Change-Id: I1f759bf914e4a61fc943098f04661789d374ffdb Reviewed-on: https://gerrit.libreoffice.org/47256 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Tardon <dtardon@redhat.com>
2017-12-06Work around latest Boost 1.65.1 still using deprecated std::auto_ptrStephan Bergmann
...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-10-29libmspub: pass optimization flags to configureDavid Tardon
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-04use the new gbuild way to update config.*David Tardon
Change-Id: I43805ac8c3d5c1b65519da02c3cc50fdb9729ea6 Reviewed-on: https://gerrit.libreoffice.org/42941 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Tardon <dtardon@redhat.com>
2017-09-26external/libmspub: Update config.{guess,sub}Stephan Bergmann
...with versions of those files from the latest <http://ftp.gnu.org/gnu/automake/automake-1.15.tar.xz>. The current versions would fail for Flathub aarch64 builds. Change-Id: I4b42fa7c04f0570b31170b72d8a42786ae1dc252
2017-06-13iOS, patch libmspubjan Iversen
support for arm64 Change-Id: Ife7a806bf8fff02c98f7c36bf831c1a9f52cd98d
2017-04-26Upgrade to ICU 59.1Eike Rathke
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-02-23add upstream URL to READMEsDavid Tardon
Change-Id: I9cde5f94c81c59ff99b8f5af9765b94b6f57184a
2016-05-30configure: set BOOST_CPPFLAGS also in --without-system-boost caseMichael Stahl
Simplify the makefiles. Change-Id: Ia695961e936e4a1ffdaff73eb56adc3c3905ed0c
2015-11-12Generalize COM_GCC_IS_CLANG -> COM_IS_CLANGStephan Bergmann
...in anticipation of building with clang-cl.exe on Windows Change-Id: I1d723c9d3b5ca8a2bc6b27ef0189a7b053581398 Reviewed-on: https://gerrit.libreoffice.org/19928 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2015-09-17blind attempt to fix lcovDavid Tardon
Change-Id: If8d6c8da1be1e540d641f20ac90e7877feae27be
2015-09-01core: fix build with system boost 1.59David Ostrovsky
9a6cdce37e601b1406c71fef16ad9b315045c9da 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-08-11gbuild/config stop using VERBOSE, use only verbose=tNorbert Thiebaud
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-02-27For Clang -fsanitize=vptr use -fvisibility-ms-compat, not -fvisibility=hiddenStephan Bergmann
As discussed in b4f6b26b5a1a78fecfa95ec2eb7ac8b80495d8aa "SAL_DLLPUBLIC_RTTI for proper RTTI visibility for LLVM," RTTI-based -fsanitize= checks with Clang on Linux need special precautions to make RTTI symbols visible across DSOs. The approach taken there, as well as in 598d8194b0ea1a64e0ebba28a86c128bafa57c7c "Visible function type RTTI for Clang -fsanitize=function," was to add explicit SAL_DLLPUBLIC_RTTI annontations to relevant type definitions. However, for -fsanitize=vptr that would have required many more of those, so it appears easier to "misuse" -fsanitize-ms-compat in that case, which happens to give all RTTI symbols default visibility (while otherwise still honoring our SAL_DLLPUBLIC/PRIVATE annotations). The SAL_DLLPUBLIC_RTTI annotations from 598d8194b0ea1a64e0ebba28a86c128bafa57c7c "Visible function type RTTI for Clang -fsanitize=function" can likely be removed again. Change-Id: Ibeff7ab8c908111a7dc66ff0677204f112b24db8
2015-01-13external/libmspub: Work around -fsanitize=enumStephan Bergmann
Change-Id: Icf1d45b1cd171e868a15f841258c5368a0b213e1
2014-12-19libmspub depends on zlibChristian Lohmaier
Change-Id: I3024693698f85ef1c2bbb7fb6ee968a0d5ba6359
2014-11-13More passing of MAKE into external configureStephan Bergmann
...like 2fdf78109e815a64169fdab1a8175b63ef9c64d4 "Pass MAKE into external/poppler's configure" Change-Id: I4e2f1a13d120a7398fa81884710c589bb905714d
2014-11-10external: fortunately boost no longer requires config_host.mkMichael Stahl
Change-Id: I8f2176500bf620cd5e4cdf434e6122b6163b3e0f
2014-08-29Simplify some $ENABLE_DEBUG expressionsStephan Bergmann
Change-Id: I9f60fd317f3a2995a182d51d06059bd994cf837c
2014-08-29Pass --enable-debug also down to external/libmspubStephan Bergmann
Change-Id: I76f834dea9aebbdef6cdb240e0a2f1ac49217f5e
2014-05-26rebase all import libsDavid Tardon
Change-Id: I9e1fc613816c943f4fb1033185e34e3acf317f1d
2014-02-27normalize values of CROSS_COMPILINGMichael Stahl
Change-Id: I0cc43cef91e3fcd82a3558a16ab0afbd4d56b141
2014-02-12normalize values of SYSTEM_BOOSTMichael Stahl
Change-Id: I2fce6545d7f279e0e2d6f3ff53eee1ab82314135
2013-11-14libmspub: fix the quotingMichael Stahl
Change-Id: I448d7ec788ed93c71d67ea6785ec8c463a936971
2013-11-14more externals need config_host for boostMichael Stahl
Change-Id: I0cfb09240a2e525cbd57b099b6e52eeabcc57d3f
2013-10-19fdo#70393: move libmspub to a subdir of externalKhaled Hosny
Change-Id: Ib93e41b2ebd7f466c28e6a52ea6ad16dd216642e Reviewed-on: https://gerrit.libreoffice.org/6331 Reviewed-by: David Tardon <dtardon@redhat.com> Tested-by: David Tardon <dtardon@redhat.com>