summaryrefslogtreecommitdiff
path: root/config_host.mk.in
AgeCommit message (Collapse)Author
2023-11-16fix --enable-wix switch - that didn't do anythingChristian Lohmaier
it used the wrong variable name in AC_SUBST and also had no place where it would be set for the rest of the build to use. Also the script hardcodes the location of the WiX Toolkit, so check for the same path in configure. Also it was needlessly tied to LIBO_TEST_INSTALL - since it has its own conditional, "double-guarding" it is not necessary. Change-Id: I6dd4a41e63d2a43a3e2f1aac5b6799a6601eb656 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159510 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2023-11-06add --with-system-zxcvbnRene Engelhard
Change-Id: I9a90585d8eb498861a6ef4752ab85dcff8eeaab6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158674 Tested-by: René Engelhard <rene@debian.org> Reviewed-by: René Engelhard <rene@debian.org>
2023-10-05tdf#101970 Introduce config option for building with orBalazs Varga
without the not necessary template files. The default is building with all templates, otherwise we can use: --with-templates=no/yes --with-templates -->yes --without-templates -->no Change-Id: I13f5b411057254771ad4021aa9521c153702af16 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157600 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com>
2023-08-18Drop JAVA_CLASSPATH_NOT_SET which is always TRUEMichael Weghorn
The variable was introduced in commit b97cade9183d14ad21ae71892348a9a81689488b Date: Sun Apr 7 12:14:36 2013 -0400 Supress warnings about unset classpath I get the below warning for every single jar file without this patch. warning: [options] bootstrap class path not set in conjunction with -source 1.5 1 warning Change-Id: I71c01aeea993640f1ec86fe1d8a977656861358d , at a time when Java 5 was the minimum version, likely to suppress warnings with JDK versions >= 6 (greater than 1.6.0 to be exact...). The version check was then just bumped along with the Java baseline bumps in commit aafc10c9edb61e13ac557c7e43c8d4a31dce4f37 Date: Fri Jul 26 10:19:39 2019 +0200 Bump Java baseline to Java 8 and commit 941b567a41569260fef14a7337511e8f42337323 Date: Thu May 7 09:42:22 2020 +0200 tdf#131572 Add java 9 module info for libreoffice.jar for no apparent reason. In any case, the variable will always be set to TRUE, since the Java version string is using the actual major version number as the first digit since JDK 9 (while JDK 8 would still use 1.8.x as version string), s.a. upcoming commit Change-Id I79eeb247315499caddd63d6abbb1e14ea6a72a4a ("configure.ac: Update Java check for JDK >= 9 version string"). Drop the variable and set the Java params in `solenv/gbuild/JavaClassSet.mk` unconditionally. Change-Id: Ib4aad07da3937289fc6ff29dd80abdd4c35f1773 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155825 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-08-02external/skia: Avoid -std:c++20 with known-broken VS-provided clang-clStephan Bergmann
...as witnessed with patch set 1 of <https://gerrit.libreoffice.org/c/core/+/155121/1> "Bump baseline to C++20", > In file included from C:/cygwin/home/tdf/lode/jenkins/workspace/gerrit_windows/workdir/UnpackedTarball/skia/src/base/SkBezierCurves.cpp:8: > In file included from C:/cygwin/home/tdf/lode/jenkins/workspace/gerrit_windows/workdir/UnpackedTarball/skia\src/base/SkBezierCurves.h:10: > C:/cygwin/home/tdf/lode/jenkins/workspace/gerrit_windows/workdir/UnpackedTarball/skia\include/private/base/SkSpan_impl.h(122,1): error: C++ requires a type specifier for all declarations > SkSpan(Container&&) -> > ^ > C:/cygwin/home/tdf/lode/jenkins/workspace/gerrit_windows/workdir/UnpackedTarball/skia/src/base/SkBezierCurves.cpp(185,12): error: use of class template 'SkSpan' requires template arguments > return SkSpan{intersectionStorage, intersectionCount}; > ^ > C:/cygwin/home/tdf/lode/jenkins/workspace/gerrit_windows/workdir/UnpackedTarball/skia\include/private/base/SkSpan_impl.h(64,7): note: template is declared here > class SkSpan { > ^ etc. (<https://ci.libreoffice.org/job/gerrit_windows/160027/>) Change-Id: I6166f1cb49ac1540ec1c4d3bc3331c8b228efa27 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155228 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-07-27vcl gtk3: Introduce AT-SPI2 tests for the GTK3 accessibility layerColomban Wendling
Add tests for the GTK3 accessibility platform layer. These tests compare the internal LO representation with what is visible to the platform, and thus the user's accessibility tools. In most cases the tests are fairly trivial as LO's internals are not far off AT-SPI2's expectations. There are however notable exceptions like for example the text attributes, that have a wildly different representation and require more complex checks matching what LO's platform layer does, the other way around. These tests use libatspi2 directly, but as the C API is awful to work with regarding resource management, there are wrappers to handle the complexity using RAII. The resulting API is fairly trivial to use. As these tests require using the GTK3 VCL plugin and for the a11y tree to be visible to AT-SPI2, they are run under XVFB using a separate dbus session through dbus-launch. Working on this has already lead to reporting and/or solving some issues: * https://gerrit.libreoffice.org/c/core/+/151303 * https://gerrit.libreoffice.org/c/core/+/151650 * https://gerrit.libreoffice.org/c/core/+/152456 * https://gerrit.libreoffice.org/c/core/+/152457 * https://bugs.documentfoundation.org/show_bug.cgi?id=155625 * https://bugs.documentfoundation.org/show_bug.cgi?id=155705 * https://gerrit.libreoffice.org/c/core/+/152748 Only a subset of the a11y APIs are covered for the moment, but the current state should make it easy to extend upon. Change-Id: I1a047864ce8dc1f1bc3056ad00159f7fd5e5b7d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153069 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-07-21Assume that, if we have X11, it supports XineramaNoel Grandin
By now, Xinerama is old enough that we can use the X11 server supports it Change-Id: Ida95902916697808c611a53274b1f0299fd298b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154666 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-06-27add an --enable-cairo-rgba to set the order of pixels for internal cairoCaolán McNamara
Change-Id: Ieab2ef59f63a7722bffea3273d2eeefadef47b56 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153628 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-06-22kf6: Add a kf6 VCL pluginMichael Weghorn
Add a "kf6" VCL plugin that uses the KF6 (KDE Frameworks 6) libraries to provide a native KDE/Plasma file chooser, just like the kf5 VCL plugin does for KF5. Building the plugin is disabled by default and can be enabled by autogen option '--enable-kf6'. Selecting the VCL plugin can be done by starting LO with environment variable 'SAL_USE_VCLPLUGIN=kf6' set. The kf6 VCL plugin reuses the kf5 VCL plugin code. (The kf6 headers and sources for now just `#include` the kf5 ones.) This was quickly tested on KDE Neon unstable, which provides a daily snapshot of Plasma 6 and the KF6 libraries. (Regarding a potential release date, [1] mentions: "Plasma 6 is built on top of Qt 6 and is tentatively planned to be released in late 2023 or early 2024.") [1] https://community.kde.org/Plasma/Plasma_6 Change-Id: I4c2b7e3be8e60f1d8cf60119f6f3f642b71349f5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153438 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-06-21No need to fiddle with ICU UChar typedef anymoreKhaled Hosny
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-21Remove another workaround for old versions of ICUKhaled Hosny
Change-Id: Id13bdb10bf4bf89a136b28a26c4b3d1113971871 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153388 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-06-18add --with-system-frozenRene Engelhard
Change-Id: Ia09254cab5696fa0a3530fcafa5b48acca631ff2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153208 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-06-07Set entitlements in non-release in $(INSTROOTBASE) and .dmg packagePatrick Luby
Also, when building a .dmg for macOS, skip codesigning for non-release builds, both with and without the macOS sandbox, if there is no identity set but set entitlements to allow Xcode's Instruments application to connect to the application. Lastly, add entitlements when building soffice in $(INSTROOTBASE) if this is a non-release build. Change-Id: I764bf5bd5d44e878669c4287906e6efd6aac593f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152655 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-04-02New --with-coredumpctl to obtain core dumps of crashed tests from coredumpctlStephan Bergmann
...for (Linux) systems that don't store core.* files in the current working directory. When enabled, this wraps test execution in `systemd-run --scope --user --unit=...` with unit values unique per individual test invocation, so that solenv/bin/gdb-core-bt.sh can query coredumpctl for matching core dumps. (See the mailing list thread starting at <https://lists.freedesktop.org/archives/systemd-devel/2023-March/048884.html> "[systemd-devel] coredumpctl: matching by e.g. env var?" for further details.) The used --unit=... scheme is a best effort to produce system-wide unique values, combining the target location path of the given test with a second-granularity date/time and the current PID. (In case there would be multiple invocations of the same test per second, which then hopefully wouldn't reuse the same PID. The date/time and PID could be replaced with a high-resolution system-wide monotonic clock/counter if one were easily available. The advantage of the current scheme is that it only uses Posix features.) The overall length of the unit value (incl. the appended ".scope" suffix) must not exceed 256 characters, or else systemd-run would fail with "Failed to mangle scope name: Invalid argument". It might look more natural to pass the unit value into gdb-core-bt.sh as a fourth positional argument rather than via a new LIBO_TEST_UNIT env var. But for one, the unit value is most easily computed from within the recipe shell command lines, where an env var is the most natural fit. And for another, this avoids having to tunnel yet another value through the tearDown method in unotest/source/java/org/openoffice/test/OfficeConnection.java to the given postprocesscommand. Change-Id: Idcb20cd1e1141d8ec7f10947e5edc70aa2aa7d32 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149690 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-02-16android: Use libc++_shared path that works for NDK 25, tooMichael Weghorn
While e.g. NDK 23.0.7599858 has both, `$HOME/Android/Sdk/ndk/23.0.7599858/sources/cxx-stl/llvm-libc++/libs/x86/libc++_shared.so` and `$HOME/Android/Sdk/ndk/23.0.7599858/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/i686-linux-android/libc++_shared.so` (with the same content), NDK 25.1.8937393 no longer ships that under the former path scheme, just the latter. Therefore, use that one when copying the library, in preparation to add support for NDK 24 and 25. Change-Id: I20894701f4f436f41781467b57ec4f5311a8317f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146133 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-02-16android: Use actual Android API level for minSdkVersion, nssMichael Weghorn
When an Android API level is explicitly set with the `--with-android-api-level` switch introduced in commit 4c0bccbb21ba022fd9d630eb1d9ae34673b4dc11 Date: Thu Jul 4 09:06:49 2019 +0200 android: Allow specification of the API level. , use that for the minSdkVersion for the Android Viewer app and the API level for the NSS build, rather than leaving that hard-coded at API level 16. Building with a newer API level means that the app won't run on devices with older API levels. With this in place, this will be recognized at install time (installation will fail: INSTALL_FAILED_OLDER_SDK) rather than crashing at run time. Change-Id: Id6047b768d265b965696f3a3161d7828e5f3696e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146127 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-02-16android: Switch from GNU binutils to support NDK 23.x, require 21.xMichael Weghorn
Relevant announcement from revision history for NDK 23 [1]: > * GNU binutils, excluding the GNU Assembler (GAS), has been removed. GAS > will be removed in the next release. If you are building with > -fno-integrated-as, file bugs if anything is preventing you from > removing that flag. Therefore, switch from uses of GNU binutils to the corresponding LLVM tools instead. NDK 20.x doesn't provide `llvm-ranlib` yet, so bump the minimum version to 21.x. Also drop the previous uses of `ANDROID_BINUTILS_PREBUILT_ROOT`, which appear to no longer be relevant by now. commit 4082a18406c18af7b4fcef7bd501c3679c3be56b Date: Wed Nov 22 23:08:06 2017 +0100 android: use unified headers and llvm-c++ STL (x86) with NDK 16 gnustl (and others) are to be removed in future versions of the ndk also bump gradle and build-tools to current versions along with it arm unfortunately crashes with llvm-c++, so keep with gnustl for now/fix that later that introduced one of those uses mentions issues on ARM, but building and running the app at least on my 32-bit ARM device (Samsung Galaxy S4 I9505, LineageOS 17.1/Android 10) didn't show any issues in a quick test with this change in place. Update the Jenkins config to switch from the now no longer supported NDK 20.1.5948944 to 23.2.8568313 for which building and running the app has been tested on devices for all of the four supported architectures with upcoming change Change-Id I9ea714255faf29d50bb5f8e206f13495637da867 "android: Require NDK 23 and use default linker lld" in place on top, s. that one's commit message for more details. Note however that the NDK version will be further updated to use NDK 25 in upcoming change Change-Id Ib8e65f433ee89ff1bc12432722570bf8f9f7ed85 ("android: Support NDK 24.x and 25.x, use NDK 25 for Jenkins"). [1] https://developer.android.com/ndk/downloads/revision_history [2] https://lists.freedesktop.org/archives/libreoffice/2023-January/089878.html Change-Id: I7645f8025d42f0fa384b5bceb31bb4b1c0a44cb5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146118 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Michael Weghorn <m.weghorn@posteo.de>
2022-12-19keep environment clear of SYSTEM_FOO varsChristian Lohmaier
those are only meant to be used by the build system (primarily RepositoryExternal.mk) - of course no rule without exception: concat-deps reads SYSTEM_BOOST from env, so set it in the corresponding recipe lines Change-Id: I83c88fc6ad4467b429771c43650fe7fc0ccde407 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144343 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2022-12-15don't export the various language lists and consolidate themChristian Lohmaier
this further frees the environment for Windows builders, to reduce the risk of running into "environment is too large for exec" errors when attempting to use xargs in a recipe. Change-Id: I7e0b97163372018edb12329f24bb1dfafeefc526 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144235 Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2022-12-13bump minimum make version to 4.0 (for $(file …) function)Christian Lohmaier
This already was a requirement for Windows for a few years now, and make 4.0 was released nearly 9 years ago, and it has been used in LO's build system since it has been added 11 years ago while it was only available in prerelease versions of make, providing an alternative workaround for systems that didn't have make built from cvs… I guess it is finally time to get rid of those workarounds and just require make 4.0 for everyone. NOTE: reading files with the $(file …) function was only added with version 4.2 of GNU make, and just using it without contents was added in 4.1, so those usages aren't supported Change-Id: Ia1c2c86cfdbbd81f349bb9f7188299e16bdd155f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143910 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2022-12-06build installer packages with make parallelism instead of GNU parallelChristian Lohmaier
6204336cc7242ff1b0fdc26ccb7f8dd4f362fb78 added support for building installsets in parrallel using the GNU parallel tool, this patch changes that to use make's own parallelism, dropping the need for the external tool. By not creating huge commandline for all packages at once/sequentially, the workarounds to modify the PATH variable can also be dropped. Since : is a special character in makefiles separating a target from prerequisites delimiter in the installer-tuples has been changed to the hyphenation point. The dependencies on the install.phony target have been moved to the actual installset targets (and those are .PHONY targets as well since the target file isn't actually generatead). Also unify the tuples for the different platforms, even if the first element is only used for Windows. Move the msi templates to a separate directory for the different types, so that packaging can also be done in parallel on Windows. Move the setup back to the makefile so it can be setup prior to running the script. Previoulsy the script used grep to remove comments from the msi template files, and had to use "|| true" since grep would also return error when not finding a match/on empty files. Switch that to awk so it can run without that workaround. Change-Id: I2f8b73e04d0f601cb0b4e2d8352a38ef9957bc17 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143679 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2022-11-28Disable languagetool for WASM buildThorsten Behrens
Change-Id: Icd0face05c33bbb1b56230a59015402d5f565422 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143385 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2022-11-15actually don't compile tools/source/misc/fix16.cxx with system-libfixmathRene Engelhard
90babff28406d5366df153e2d3c6d4206f06d614 missed the config_host.mk.in part Change-Id: Ic18964f02fc80b0f9b3de6518e069038f03932af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142637 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-10-26Enable gtktiledviewer on WindowsMike Kaganski
A new configure argument is introduced: --with-gtk3-build=<absolute path to GTK3 build> When provided, libreofficekit_selectionhandles package, libreofficekitgtk library and gtktiledviewer executable would be built on Windows using the GTK3 libraries in the passed directory, that must contain lib/pkgconfig subdirectory with correct pkg-config data. Change-Id: I6504af6eec0fc73cceb26a1ce923337abe14b5c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141624 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-10-14WASM add Calc as optional build result, make it build & runBalazs Varga
Adding new config option: --with-main-module=<writer/calc> With this switcher we can build only WASM writer module or calc module. The default value is 'writer'. This commit also reverts: 26603bc9ef0116ed31c510dab82b69d3666447b5 (WASM fix orcus native exception handling (NEH)) Because Calc import is using liborcus for loading styles.xml. Change-Id: I4c330ef8eea7d08214bf357531ee0bf7383ab788 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137946 Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Tested-by: Jenkins
2022-10-01Revert "Use libo_CHECK_SYSTEM_MODULE for eot"Khaled Hosny
This reverts commit ce54ba96f38b4af3aab1a7064078ee406eb021c6 and the followup commit 88c511981e31c73dced95b5dc3c200fdf2a4e932. Both effectively disabled enabling libeot support. See also: https://lists.freedesktop.org/archives/libreoffice/2022-August/089205.html Change-Id: I54780c69ca83b230b0c9b3b18065782fb5626da6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140838 Tested-by: René Engelhard <rene@debian.org> Reviewed-by: René Engelhard <rene@debian.org> Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@aliftype.com>
2022-08-17tdf#150452: Revert "tdf#130795 use concurrent hashmap in SharedStringPool"Xisco Fauli
This commit reverts 3749d9af3745c0eaff7239e379578e4e2af89e9d which removes the dependency on the external library cuckoo Without using cuckoo the same file in tdf#130795 takes real 0m4,892s user 0m5,298s sys 0m0,449s With it, it takes real 0m4,914s user 0m5,276s sys 0m0,444s pretty much the same time Change-Id: I4cc9000ac5bf26de22bb9835283ae8d5b3230196 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138435 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-07-16allow to override PKGFORMAT when running makeChristian Lohmaier
building installation sets takes a long time, and is a .PHONY action. Having a way to skip that when running make is esp. useful with IDEs that have no nice way of separating the "run/debug" action from the build action. (XCode, looking at you and your awkward schemes…) Use with »make build PKGFORMAT=""« Change-Id: Iab0c03a4096fe5571a5496b52504b3393e9f3cf6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137111 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2022-07-13Remove unused --enable-chart-testsXisco Fauli
On 2022-07-04 I submitted 268f0f3f0d70902acaeb3f99e0d206ad66ffd67c "run CppunitTest_chart2_xshape without ENABLE_CHART_TESTS" to see if CppunitTest_chart2_xshape would fail for anyone. Since then, no one has complained about it, so I suppose the tests are stable nowadays, thus removing --enable-chart-tests which does nothing since the mentioned commit Change-Id: I0407c0379ea45eee93bd6689c90d1759b48e2844 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137022 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-06-29allow to specify a macOS provisioning profileChristian Lohmaier
having one is one of the prerequisites of using TestFlight Change-Id: I9e20eb99905071fade4179dfbe2da5b7e5dd1c24 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136618 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2022-06-10[API CHANGE] Remove deprecated idlc and regmerge from the SDKStephan Bergmann
* Client code must replace uses of idlc and regmerge with uses of unoidl-write, see the changes to odk/examples/ and ure/source/uretext/ in 40f2aee6584eafcf4cd1d95fcf1f775e5435440d "Provide unoidl-write also for the SDK" for examples. * The new types.rdb format is not compatible with LibreOffice < 4.1. Clients generating extensions containing such files are advised to use appropriate LibreOffice-minimal-version elements. * For compatibility with old extensions, reading the legacy types.rdb format is still supported. * The SDK no longer ships an idl/ sub-directory containing the udkap and offapi .idl files (as, unlike idlc, unoidl-write does not need them). odk/config/cfgWin.js had to be adapted to look (somewhat arbitrarily) for an examples/ sub-directory instead of idl/ when checking for "an sdk folder". gb_UnoApi_package_idlfiles became unused and has been removed. * The idlc and regmerge executables have been removed. Module idlc has been removed except for idlc/test/parser/, which is also used by CustomTarget_unoidl/unoidl-write_test, and which may eventually be moved into module unoidl. Module external/ucpp and the corresponding configure options have also been removed. Change-Id: I42a0231699b863b5ebe2bee63bc32c8f79278cc1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122363 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-05-26use at least assertions mode if libc++ debug mode is not usableLuboš Luňák
This way at least e.g. std::vector::operator[] will still check bounds even though things like iterator debugging will not work. Change-Id: If3c550cfec68eee9a19050fc8e60fca07148b4a4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134946 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-05-22Get make_installer calls to run in parallelThorsten Behrens
If available, use GNU parallel to run N make_installer.pl scripts in parallel, to scale packaging LibreOffice up with the rest of gbuild. * fallback if no GNU parallel found - run make_installer sequentially as before * push most of the make_installer.pl input param tweaks from gbuild down into a shared call_installer.sh script * call gnu parallel with generated number of "templ:lang:prodname:ext:pkgfmt:strip-flag" tuples, one for each package to build (empty templ for non-windows, to save on cmd line length) * such that we can run all those in parallel (taking into account the build's PARALLELISM parameter) * there's still the main package build running epm sequentially for umpteen sub-packages from within _one_ make_installer.pl instance, but that's much harder to parallelize from inside Perl (so we punt on that here) Change-Id: Ie7d3084ed60d003d587c5e64dc9fb1809b23e409 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133957 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2022-05-20build libtiffJulien Nabet
Change-Id: Id9b6e1355147c3f68b9922db14f1b4904a05c686 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134650 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-16enable libc++ debug mode again if availableLuboš Luňák
Now includes a configure check for the std::to_string() crash. Change-Id: I45c3b804b7a1ff5f6520f7bdf772497f72ddee47 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134338 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-05-09remove HAVE_LIBCPP_DEBUG (libc++ debug mode)Luboš Luňák
It's currently too broken (https://reviews.llvm.org/D125184), but they're working on fixing it, so hopefully somewhen later. Change-Id: I3ca243a57d41bd9d8c4cdbdc4a6a3b5fdc49e4c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134023 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-05-04Drop --with-iwyu optionGabor Kelemen
Nowadays the bin/find-unneeded-includes script is a better solution for this problem This essentially reverts the commits: c716b3888e7e8150d1c1053ee6550afb56438b1f 096c7e889f3b9bd42a81fb0216e2a68fb27159fc 40e7eecb7efeeb9af59206d7a9c82ac55adf5279 Change-Id: I404a4b34176efaacf961605559af9de6d6cba10a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133540 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2022-05-01improve support for using libc++ on Linux and for libc++ debug modeLuboš Luňák
It seems to run slightly faster in --enable-dbgutil mode and also builds a bit faster (at least with Clang). But libc++ on Mac isn't built with debug mode support. Change-Id: Idf5dba9c4a56aba1f4163aa518a78d34b6837149 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133664 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-04-20android: Stop using ANDROID_SDK_HOME env variableMichael Weghorn
Otherwise, upgrading to Android Gradle Plugin 7.1.3 and gradle 7.2 (which will be done in a follow-up commit) would make the build fail like this: > FAILURE: Build failed with an exception. > > * Where: > Build file '/home/michi/development/git/libreoffice-WORKTREE-for-android-x86/android/source/build.gradle' line: 1 > > * What went wrong: > A problem occurred evaluating root project 'source'. > > Failed to apply plugin 'com.android.internal.application'. > > ANDROID_SDK_HOME is set to the root of your SDK: /home/michi/Android/Sdk > ANDROID_SDK_HOME was meant to be the parent path of the preference folder expected by the Android tools. > It is now deprecated. > > To set a custom preference folder location, use ANDROID_USER_HOME. > > It should NOT be set to the same directory as the root of your SDK. > To set a custom SDK location, use ANDROID_HOME. We don't actually rely on `ANDROID_SDK_HOME` being evaluated by the Android toolchain, but it used to be set in configure.ac, and the value was then assigned to the `sdk.dir` property written to `android/source/local.properties`. Just use a new variable name `ANDROID_SDK_DIR` and keep the mechanism otherwise unchanged for now. Change-Id: I44826621a1342119d40036fb704d8ff1eeed7c77 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133178 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-04-20android: Use property instead of ANDROID_NDK_HOME env varMichael Weghorn
Write an `ndk.dir` property with the directory path to `android/source/local.properties` instead, similar to how it's done for `sdk.dir`. Also, rename the `ANDROID_NDK_HOME` variable that's assigned in configure.ac that holds the corresponding value to `ANDROID_NDK_DIR`, because the gradle warning still shows up if that environment variable is set in addition to having an `ndk.dir` property in `local.properties`. This makes the following gradle warning disappear: > > Task :stripStrippedUIDebugDebugSymbols > WARNING: Support for ANDROID_NDK_HOME is deprecated and will be removed in the future. Use android.ndkVersion in build.gradle instead. > Support for ANDROID_NDK_HOME is deprecated and will be removed in the future. Use android.ndkVersion in build.gradle instead. Note however, that with this approach of using the `ndk.dir` property instead of the suggested `android.ndkVersion` (with the latter having the stricter requirement that the `ndk` dir would have to be a subdir of the SDK dir), doing the actual upgrade to a newer Gradle (plugin) version in follow-up commit Change-Id Ia982d72d877e229c3006c6d528b830d16c88481f "android: Update Android Gradle Plugin to 7.1.3" revealed that the use of the `ndk.dir` property is deprecated in newer Gradle (plugin) versions as well, resulting in this warning. > > Task :stripStrippedUIDebugDebugSymbols > [CXX5106] NDK was located by using ndk.dir property. This method is > deprecated and will be removed in a future release. Please delete > ndk.dir from local.properties and set android.ndkVersion to > [20.0.5594570] in all native modules in the project. > https://developer.android.com/r/studio-ui/ndk-dir It might make sense to address that in a follow-up step, but for now, it's an improvement and keeps it working after the upgrade without potentially causing any incompatibility problems with existing autogen configurations, while support for the `ANDROID_NDK_HOME` env var that was used so far seems to have been dropped, resulting in > > Task :stripStrippedUIDebugDebugSymbols > Unable to strip the following libraries, packaging them as they are: > libc++_shared.so, libfreebl3.so, liblo-native-code.so, libnspr4.so, > libnss3.so, libnssckbi.so, libnssdbm3.so, libnssutil3.so, > libplc4.so, libplds4.so, libsmime3.so, libsoftokn3.so, > libsqlite3.so, libssl3.so. instead if upgrading gradle without switching to the use of the property. Change-Id: I4a090e8736dac80777f69b0e12819b9c056f582b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133177 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-04-06Remove obsolete HSQLDB_USE_JDBC_4_1Stephan Bergmann
...that must always be true ever since 1b8c61d5ca8e2a7ae7a0bcd189b7a87defecea03 "Bump JDK buildtime requirement to 1.6" Change-Id: I9432ac9d0a0e2c4999a80b6f144099d0e4dc15bc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132616 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-04-05Allow building against JDK 18Stephan Bergmann
...where ExternalProject_hsqldb failed with > [java] java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release > [java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:194) > [java] at org.apache.tools.ant.taskdefs.Java.run(Java.java:891) > [java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:231) > [java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135) > [java] at org.apache.tools.ant.taskdefs.Java.execute(Java.java:108) > [java] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299) > [java] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) > [java] at java.base/java.lang.reflect.Method.invoke(Method.java:577) > [java] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99) > [java] at org.apache.tools.ant.Task.perform(Task.java:350) > [java] at org.apache.tools.ant.Target.execute(Target.java:449) > [java] at org.apache.tools.ant.Target.performTasks(Target.java:470) > [java] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401) > [java] at org.apache.tools.ant.Project.executeTarget(Project.java:1374) > [java] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) > [java] at org.apache.tools.ant.Project.executeTargets(Project.java:1264) > [java] at org.apache.tools.ant.Main.runBuild(Main.java:818) > [java] at org.apache.tools.ant.Main.startAnt(Main.java:223) > [java] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284) > [java] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101) > [java] Caused by: java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release > [java] at java.base/java.lang.System.setSecurityManager(System.java:416) > [java] at org.apache.tools.ant.types.Permissions.setSecurityManager(Permissions.java:103) > [java] at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:216) > [java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:155) > [java] ... 19 more while building target switchtojdk17 (but then unfortunately carried on, without the source modifications that should have been done by that target, leading to confusing errors like > [javac] workdir/UnpackedTarball/hsqldb/src/org/hsqldb/jdbc/jdbcConnection.java:426: error: jdbcConnection is not abstract and does not override abstract method createStruct(String,Object[]) in Connection that should have been under control at least ever since 7dbfc0012cc75e7dac9a416b53149ad8ec33f071 "make hsqldb build with java 1.7".) Unconditionally passing ANT_OPTS -Djava.security.manager=allow would cause older JDK versions (like Java 11) to fail with a java.lang.Error "Could not create SecurityManager" caused by a java.lang.ClassNotFoundException "allow", so introduce JDK_SECURITYMANAGER_DISALLOWED_FOR_BUILD. This should allow us to keep building against at least JDK 18, even though later versions of Java may remove the Security Manager completely, but in which case hopefully an updated version of Apache Ant will become available. Change-Id: I9d143d8bcfff67870017bb1c874eec53e0ff9672 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132558 Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins
2022-03-01make Calc jumbo sheets an explicit build featureLuboš Luňák
On 32bit platforms tools::Long is 32bit, which is not enough for pixel coordinates with 1m+ Calc rows+. So do not allow jumbo sheets for such platforms. Change-Id: I2ebd56a051470d33fca967918af3e7d2b0172dc7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130713 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-22add system-dragonboxRene Engelhard
Missed in 9eb9083ff2fdaeb96399a0830a4394de4e29ef64 Change-Id: I1d001b39f55c8504a76bfbdadd1423b414adc9c5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130209 Tested-by: René Engelhard <rene@debian.org> Reviewed-by: René Engelhard <rene@debian.org>
2022-02-15revert component name changes to makefileNoel Grandin
This reverts commit 2483cd198b51bd5d0819cbebf40f211b2ef1236d Author: Jan-Marek Glogowski <glogow@fbihome.de> Date: Fri Feb 11 19:40:36 2022 +0100 Correctly depend on source component file and commit 17ec55c48082254e1f55bcfa00808e45a50a9801 Author: Jan-Marek Glogowski <glogow@fbihome.de> Date: Thu Jan 20 10:06:54 2022 +0100 Fail on non-optional, but filtered component names because they cause failures on Windows builds that look like: warning: failed to load external entity "C:/cygwin/home/tdf/lode/jenkins/workspace/gerrit_windows@2/workdir/ComponentTarget/binaryurp/source/binaryurp.component" cannot process C:/cygwin/home/tdf/lode/jenkins/workspace/gerrit_windows@2/workdir/ComponentTarget/binaryurp/source/binaryurp.component Change-Id: Ia34cdabd76b47a6a4686ebd0f96ceb774d3236f2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129956 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-01-31support for the WebP image format (tdf#114532)Luboš Luňák
This commit implements a WebP reader and writer for both lossless and lossy WebP, export dialog options for selecting lossless/lossy and quality for lossy, and various internal support for the format. Since writing WebP to e.g. ODT documents would make those images unreadable by previous versions with no WebP support, support for that is explicitly disabled in GraphicFilter, to be enabled somewhen later. Change-Id: I9b10f6da6faa78a0bb74415a92e9f163c14685f7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128920 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-01-22Make installer compression tool configurableThorsten Behrens
So we can use pigz or other parallelizable tools if available. Shaves off noticeable build time when packaging install sets. - figure out if pigz is available (fallback to gzip otherwise) - pass compression tool down into make_installer - and handle as one of many global options there Change-Id: Ia9d1ea27a9f990874238b6f0be3e1fd30a662ec6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128469 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2022-01-20Sorting component implementations needs LC_ALL=CJan-Marek Glogowski
Change-Id: Ifba53b95fdefed59123a2e682e787119b6c67857 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128689 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-20Fail on non-optional, but filtered component namesJan-Marek Glogowski
If any of the optional component lists contain a non-optional component implementation, fail the component file generation and show a diff of the offending component implementation name. Change-Id: Ieac876e613f6945362186d4586dd2aacc5669920 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128645 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-20WASM re-activate and fix the Chart buildArmin Le Grand (Allotropia)
Change-Id: I13c50ac005e1e990bd185115b6e1717ce2c6bb45 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128654 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>