Age | Commit message (Collapse) | Author |
|
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>
|
|
(from m111)
SK_SUPPORT_GPU is now SK_GANESH
GR_OP_ALLOCATE_USE_NEW was removed in skia m111
commit dd8f8ed3848cbe2032edc7ec08ef648a23e28ad9
Author: Mike Klein <mtklein@google.com>
Date: Thu Apr 22 12:17:33 2021 -0500
clean up defines that do nothing
the fast-png-write patch was removed. The underlying helper
function we need was removed in
commit 0ec4c84abd0b578a5c792b04b56653cbc325530e
Author: Kevin Lubick <kjlubick@google.com>
Date: Thu Apr 20 14:46:28 2023 -0400
Remove SkImageEncoder and SkImage::encodeToData
So I updated our dump() function in SkiaHelper.cxx to
use the new Skia API.
The constexpr-template patch seems to be superceded by skia
changes.
SkOpts: :hash_fn has been replaced with SkChecksum::Hash32
commit 657ed9cf2379a950b925cb2aba7c85d6e1dd36ed
Author: Brian Osman <brianosman@google.com>
Date: Tue May 23 12:40:12 2023 +0000
Reland "Replace SkOpts::hash/hash_fn with SkChecksum::Hash32"
The SkDebugf function needs to be exported from the library since
it leaks out to calling code via some of the headers.
Change-Id: I80ace8f25e660fa7889d22ef90676f47264d866c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154223
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I8874f596be808d5d255139654a19b25f71299179
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147677
Tested-by: Jenkins
Tested-by: Hossein <hossein@libreoffice.org>
Reviewed-by: Hossein <hossein@libreoffice.org>
|
|
FROZEN wasn't part of the PERMITTED_BUILD_TARGETS in configure.ac, that
in turn means it is not part of BUILD_TYPE when building the crossbuild
build-tools.
That in turn means gb_Helper_optional in external/Module_external.mk
doesn't add it to the external module dirs, and that means the makefiles
from external/frozen aren't read, more specifically there won't be any
gb_UnpackedTarball_UnpackedTarball,frozen definition.
The UnpackedTarball definitions don't error out in this case, and the
gb_Library_use_extenals,module,frozen then doesn't work as expected. It
happily depends on the UnpackedTarball_get_final_target for frozen, but
since there is nothing to unpack (since the makefiles with the
definitions are skipped) that is a noop/it goes straight to just touch
workdir_for_build/UnpackedTarball/frozen.update to fulfill the
dependency without actually extracting any files.
This patch deals with the first problem only, adding it to the
PERMITTED_BUILD_TARGETS will allow the mechanism to work as intended.
Change-Id: Ie9e8ad47ba4c281fb3246daf67450a16f792b908
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153747
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
|
Remove external/icu/ubsan.patch.1 that was applied upstream.
See https://icu.unicode.org/download/73
Change-Id: Ic2bc450b093f1c0ddb09ebe915a9c3e70d7e0964
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153574
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
|
|
Change-Id: Ieab2ef59f63a7722bffea3273d2eeefadef47b56
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153628
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
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>
|
|
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>
|
|
Change-Id: Id13bdb10bf4bf89a136b28a26c4b3d1113971871
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153388
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
|
|
We were requiring ICU 4.6 which was released in 2011, and ifdef'ing our
way through newer ICU versions. ICU is a core dependency and it makes no
sense to build LibreOffice with such ancient versions of it.
This change requires ICU 66 (released in 2020), and removes all the
ifdefs for older versions. There are more cleanups to do, but these will
be done separately.
Change-Id: I2e4f7608a08f4d531b0a4c74bbfdf91a451f833f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153387
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
|
|
Because NSS support has been removed in release 2.5,
switch TLS/SSL module used by OpenLDAP to OpenSSL.
Add -pthread flag to openldap_LDFLAGS when building on Linux.
This avoids errors that occur in libcrypto.a (libcrypto-lib-threads_pthread.o).
Change-Id: I4779ce40233d144d930f20e85db7b4ba08f91ea1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143646
Tested-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
|
|
Change-Id: Ia09254cab5696fa0a3530fcafa5b48acca631ff2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153208
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
autoconf forces LC_ALL=C and that in turn sets java's I/O encoding
without a way to override separately
(https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4163515)
and that breaks if the build/source path contains non-ascii characters:
java.lang.ExceptionInInitializerError
[…]
Caused by: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters
[…]
so set LC_ALL to $LANG for the ant/java tests to unbreak that part of
the tests.
Change-Id: I5bf197acd48610f1861904be027aa027e1d46024
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138441
Tested-by: Jenkins
Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
|
|
calendar based naming - 24.2 is the February release, 24.8 would be the
one in August
Change-Id: I91d14da7060769e995f67c855e9dda04f2144870
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152716
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
|
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>
|
|
next version will use different version scheme, but in order to not
break scripts, that actual change will go through gerrit
Change-Id: I9e4ed4ef8c7bfbba0ed0f91944c46501504447d1
|
|
Fixes CVE-2023-24329 and a few more obscure security issues.
Change-Id: I4b073ce02c0377e2791e4593d20f2b756de0c8cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152696
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
...while latest proper VS 2022 is 17.6.2
Change-Id: I300812fc9f5d380fb2c288bfa19b74502a5b0e2b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152620
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
I have ccache 4.8.1 and it reports:
(/home/khaled/.config/ccache/ccache.conf) max_size = 30.0 GB
With a space between the number and the unit and the configure check
with then see a unit-less 30 and will warn:
ccache's cache size is less than 1GB using it is counter-productive: Disabling auto-ccache detection
Change-Id: I12bad9204feddfe06be7207d9367586da871a5e5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152592
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
|
|
This reverts commit 70fd835b4cf75e386ee115c705241a4059fb68a8.
Reason for revert: cache_size_kibibyte is the current cache size not the maximum size
Change-Id: Idca3f7f3af9d2d6f20a50cb8360754dc63729726
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152542
Tested-by: Jenkins
Reviewed-by: Khaled Hosny (خالد حسني) <khaled@libreoffice.org>
|
|
I have ccache 4.8.1 and it reports:
(/home/khaled/.config/ccache/ccache.conf) max_size = 30.0 GB
With a space between the number and the unit and the configure check
with then see a unit-less 30 and will warn:
ccache's cache size is less than 1GB using it is counter-productive: Disabling auto-ccache detection
Instead of relying on the human readable output, use --print-stats
which prints machine-readable output and is available since 3.7 (thanks
to Cloph for the suggestion).
Change-Id: I69f994a07cfbf08b66a2010f9c99401881d4acf3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152382
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Jenkins
|
|
Change-Id: I5b1cf7a4a90c65b27fd3a9e2f33c9ffe044704e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151738
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
|
...as already supported by
<https://github.com/llvm/llvm-project/commit/b763d6a4ed4650c74c6846d743156468563b0e31>
"Add C++26 compile flags."
Change-Id: I0e7b55138222c0f0a81d4aec9a20da7922c51df2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151825
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I4215440ecfc7509004837e436c2f947eba3f8148
|
|
and also fix the gdb helper path for linux in one of the launch
configurations, it used instdir for both the solenv as well as instdir
paths.
Change-Id: I2d2ad955e4c1d386071edc50af8fd0bdcffc66e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150051
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
|
+ rename find_dotnetsdk46 to find_dotnetsdk
Change-Id: I6354ed1a900bb3b86999bee4354f628e79318924
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150440
Tested-by: Jenkins
Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
...while latest proper VS 2022 is 17.5.4
Change-Id: I7d3ff3dea730cf1490a0198922281792e524ed9a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150382
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
using both --host=aarch64-pc-cygwin and --build=aarch64-pc-cygwin on a
suitable system.
Change-Id: Id11e25b03de8dd8dd52c63e7a06d57d44e3fce33
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150053
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
|
Change-Id: I9386ce811885e46ffedfc5bd8cc05007ddf75f10
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149968
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...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>
|
|
At least building on Fedora 37 with dconf-devel-0.40.0-7.fc37.x86_64 against
recent LLVM 17 trunk libc++ started to fail now with
> In file included from configmgr/source/dconf.cxx:25:
> In file included from /usr/include/dconf/dconf.h:23:
> In file included from /usr/include/dconf/common/dconf-enums.h:23:
> In file included from /usr/include/glib-2.0/glib.h:34:
> In file included from /usr/include/glib-2.0/glib/gasyncqueue.h:34:
> In file included from /usr/include/glib-2.0/glib/gthread.h:34:
> In file included from /usr/include/glib-2.0/glib/gatomic.h:30:
> In file included from /usr/include/glib-2.0/glib/glib-typeof.h:44:
> In file included from ~/llvm/inst/bin/../include/c++/v1/type_traits:430:
> ~/llvm/inst/bin/../include/c++/v1/__type_traits/aligned_union.h:23:1: error: templates must have C++ linkage
> template <size_t _I0, size_t ..._In>
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> configmgr/source/dconf.cxx:19:1: note: extern "C" language linkage specification begins here
> extern "C" {
> ^
because the missing extern "C" has meanwhile been added to upstream dconf with
<https://gitlab.gnome.org/GNOME/dconf/-/commit/f860ddcc6a501b982d82c5630c73936bd611ad8a>
"common: Add missing G_BEGIN/END_DECLS" towards tag 0.40.0.
So the easiest fix here appears to be to bump our requirements to that dconf
version 0.40.0: The one case I'm aware of that explicitly wants dconf support
is downstream Fedora and RHEL builds, which already have dconf 0.40.0
(cf. most recent
<https://src.fedoraproject.org/rpms/dconf/blob/a9987b0abe15133d091bcd390fd33077881567ae/f/dconf.spec#_4>
for f37 and most recent
<https://gitlab.com/redhat/centos-stream/rpms/dconf/-/blob/1bb6b46da242b75e5e1864f5c97ab6e592ca60ba/dconf.spec#L4>
for e9s). On the other hand, the TDF Linux release builds are done with an
explicit --disable-dconf in distro-configs/LibreOfficeLinux.conf (since
ecc617e797aa5ed329668114e54ec7ffa5c0e87b "configmgr: support reading from a
dconf layer (WIP)") and the Flatpak builds on Flathub are done against an
org.freedesktop.Sdk//22.08 where no dconf support is detected at all (for the
most recent LO 7.5.1 build on Flathub see
> checking for DCONF... no
> checking whether to enable dconf... no
at <https://buildbot.flathub.org/#/builders/5/builds/3184/steps/8/logs/stdio>
for aarch64 and at
<https://buildbot.flathub.org/#/builders/5/builds/3184/steps/8/logs/stdio> for
x86_64).
Change-Id: I559d2ac8712dbe2b40c9b881314b88d1cc8eaf43
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148887
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
→ add back OPENSSL as a permissable sub-build target and explicitly
enable openssl when cross-compiling for windows_aarch64
partially reverts 4132bd5477c25a505f7bfbee1e7dcf6602c927d3
Change-Id: Ic162a2f0c6db377eadedb149fb428f0f015539f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148688
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
|
As explained in the /Zc:preprocessor documentation [1], it enables "a token-based
preprocessor that conforms to C99 and C++11 and later standards", available since
Visual Studio 2019 version 16.5.
It helps to workaround an IntelliSense bug [2], which disables highlighting and
code completion in the IDE integration when certain Boost libraries are included;
but using a better preprocessor can't hurt in general, right?
[1] https://learn.microsoft.com/en-us/cpp/build/reference/zc-preprocessor
[2] https://developercommunity.visualstudio.com/t/IntelliSense-reports-many-errors-for-the/10287480#T-ND10303205
Change-Id: I5268f2dd4acf01cc1da23cfe76653c2f6c688c05
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148484
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I9f97c3990064db88fccf9269deb62414bfb6c3b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148011
Tested-by: Rizal Muttaqin <rizmut@libreoffice.org>
Reviewed-by: Rizal Muttaqin <rizmut@libreoffice.org>
|
|
Change-Id: I90b2765bdad5fe753288420b01a5395bcf22f44f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147885
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Just using "-L... -l..." will cause dynamic linking if a matching system
library is found.
Change-Id: I9bc3ee1fb1351336f73c3c9219526749dffe546e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146907
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@aliftype.com>
|
|
Reverts parts of d552b4a549d614a03aa9328e017dec27bd3ff41e and
97e2e73e87479a742b798f362eda4baafb89497c.
Instead of patching HarfBuzz, lets make use of the already mmap’ed file
we use with FreeType.
Change-Id: Ia81222118162a30cadb8c988bc477ad3ce36166d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147410
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
NDK 24 dropped support for API versions < 19,
quoting [1]:
> * Jelly Bean (APIs 16, 17, and 18) is no longer supported. The minimum OS
> supported by the NDK is KitKat (API level 19).
Therefore, use API level 19 for these (and unknown) NDKs unless
anything greater has explicitly been specified using the
`--with-android-api-level=<VERSION>` autogen switch
(or is default for the architecture, s. above).
Update the Jenkins config to use NDK 25 for the Android
builds as discussed in the ESC meeting on 2023-01-26 [2].
[1] https://developer.android.com/ndk/downloads/revision_history
[2] https://lists.freedesktop.org/archives/libreoffice/2023-January/089878.html
Change-Id: Ib8e65f433ee89ff1bc12432722570bf8f9f7ed85
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146135
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
No logical change intended. This is in preparation of
using `ANDROID_API_LEVEL` in the NDK check in a follow-up commit.
Change-Id: I746cae640a57a49efbdefd8ba00dcc1c4edc4ef9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146134
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
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>
|
|
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>
|
|
Using lld instead of hard-coding ld.gold speeds up
linking liblo-native-code.so from about 40 seconds
to about 10 seconds for my x86 debug Android build with
NDK 23.2.8568313.
lld was added in NDK 21, made default in NDK 22 [1].
lld doesn't know the `--no-keep-files-mapped` option,
so drop that as well.
ld.gold had previously been hard-coded in
commit c6dadf5035c8e1c31dbd3fccec167bd4a906bf54
Date: Fri Nov 1 17:57:17 2019 +0100
android: Fix linking of liblo-native-code.so on aarch64.
, but lld wasn't available yet back then.
To make sure that lld is used by default, NDK >= 22
has to be used.
In addition, due to a clang bug in NDK 22.1.7171670 [2]
("Misspelled -fnostack-clash-protection"), building for
aarch64 Android with that NDK version would fail as follows:
clang++: error: unknown argument '-fno-stack-clash-protection'; did you mean '-fnostack-clash-protection'?
clang++ version:
$ /home/michael.weghorn/Android/Sdk/ndk/22.1.7171670//toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --version
Android (7155654, based on r399163b1) clang version 11.0.5 (https://android.googlesource.com/toolchain/llvm-project 87f1315dfbea7c137aa2e6d362dbb457e388158d)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/michael.weghorn/Android/Sdk/ndk/22.1.7171670//toolchains/llvm/prebuilt/linux-x86_64/bin
Rather than work around that bug on LO side, require
NDK 23.x right away, since that provides a clang where this is
fixed.
Both, non-debug as well as `--enable-dbgutil` builds
with NDK version 23.2.8568313 were successfully tested
for all 4 supported architectures and these devices:
* aarch64: Fairphone 3 Plus, LineageOS 19 (Android 12), API 31
* arm32: Samsung Galaxy S4 I9505, LineageOS 17.1 (Android 10), API 29
* x86:
* AVD: Nexus 4, API 16
* AVD: Pixel 2, API 30
* x86_64: AVD: Pixel 2, API 33
[1] https://developer.android.com/ndk/downloads/revision_history
[2] https://bugs.llvm.org/show_bug.cgi?id=47139
Change-Id: I9ea714255faf29d50bb5f8e206f13495637da867
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146119
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
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>
|
|
This e.g. makes this find the correct moc on Arch Linux,
where the Qt 6 moc is provided under `/usr/lib/qt6/moc`
by package `qt6-base`.
Change-Id: Iefca23e6391a952eb79108260ae1417fc75ad0ef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146781
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
This way, it is determined at configure time
if the moc meant to be used for Qt 6 is actually a Qt 5
one, as happened e.g. on Arch Linux without
upcoming Change-Id Iefca23e6391a952eb79108260ae1417fc75ad0ef
("qt6 configure: Search for Qt 6 moc in more locations").
Fail at configure rather than build time in such cases.
Change-Id: I2ada2045f41f08bf339920d043226f9b36c335b4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146780
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
This is the minimal version to provide the functionality we currently
check for. Some important LO functionality currently depend on idfdef'd
HarfBuzz code, and some distributions build against old system HarfBuzz
leading to user bug reports that are tricky to track down, e.g:
tdf#153048 and tdf#153470.
Change-Id: I7d58ec46f8fd340d2592887c0088876d71351771
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146674
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@aliftype.com>
|
|
We want that only the ForKit process needs to have access to new font
files added to a Collabora Online instance dynamically by downloading
from a server. There are however many locations in the Kit process, in
core and in external libraries like harfbuzz, where the code wants to
open a font file.
Handle this so that the ForKit process opens such a downloaded font
file and doesn't close it. The file descriptor is thus inherited by
Kit processes. The font file pathname passed on to other code is a
fake on in the format "/:FD:/%d" where the %d is the file descriptor
of the opened font file. Add checks in all places where font files are
opened, look for this special pathname format, and modify the code to
just dup() the already open file descriptor in that case.
All this is relevant for Linux only, as Collabora Online runs on
Linux.
Do the above for harfbuzz, cairo, fontconfig, and freetype.
In addition make sure that these libraries (except harfbuzz which
needs to be a static library and freetype) when bundled, on Linux, are
built as shared libraries, and won't be confused with the
corresponding system libraries by making sure their sonames are
different.
Change-Id: Ib059cb27e1637d07bb709249abd0d984f948caa9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140714
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146341
Tested-by: Jenkins
|
|
MS telemetry inside VsDevCmd.bat causes problems for the autogen.sh
script which uses it to find the Visual Studio C/C++ standard library
via the environment variables that show the UCRT path and version.
VsDevCmd.bat is the "Developer Command Prompt for Visual Studio".
The telemtry is disabled by:
set VSCMD_SKIP_SENDTELEMETRY=1
This change resolves the problems described in tdf#153476.
Change-Id: I8b77a2ca0c3577b3ba490723ab7901f463562578
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146677
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
As discussed in the mailing list thread starting at
<https://lists.freedesktop.org/archives/libreoffice/2023-January/089808.html>
"Plan to remove dead C++ UNO bridge implementations (bridges/source/cpp_uno/*)",
the bridge implementation at bridges/source/cpp_uno/gcc3_linux_s390 is
apparently dead and should thus be removed. However, that was the only bridge
implementation for 32-bit S390, which implies that support for the 32-bit S390
architecture as a whole is dead and should thus be removed.
Change-Id: I18b3b4fa11df4ce693107bad6bbea2fab1c19f26
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146058
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
As discussed in the mailing list thread starting at
<https://lists.freedesktop.org/archives/libreoffice/2023-January/089808.html>
"Plan to remove dead C++ UNO bridge implementations (bridges/source/cpp_uno/*)",
the bridge implementation at bridges/source/cpp_uno/gcc3_aix_powerpc is
apparently dead and should thus be removed. However, that was the only bridge
implementation for AIX, which implies that support for the AIX platform as a
whole is dead and should thus be removed.
Change-Id: I96de3f7f97d4fd770ff78256f0ea435383688be9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146057
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|