Integrate build system support for the Zstandard (zstd) library and
implement the corresponding C++ decompression stream classes, enabling
future use of zstd-compressed streams in ZIP packages.
Build System (Part 2a):
- Add `--with-system-zstd=[yes|no|auto]` configure option.
- Implement system library checks (`zstd.h`, `libzstd`) in configure.ac.
- Define rules (`external/zstd/*`) for downloading and building the
internal zstd static library (decompression components only).
- Set up necessary CFLAGS/LIBS via configure.ac and config_host.mk.in.
- Configure linking via RepositoryExternal.mk (`gb_LinkTarget__use_zstd`).
- Update auxiliary files (download.lst, distro-configs, etc.).
C++ Implementation (Part 2b):
- Implement `InflateZstd` (in `include/package`) and `InflaterBytesZstd`
(in `package/inc`) inheriting from `Inflater`/`InflaterBytes`.
- Use the zstd streaming API (`ZSTD_decompressStream`) following the
existing single-call pattern established by the zlib implementation.
- Manage context (`ZSTD_DCtx`) and input buffer (`ZSTD_inBuffer`) state.
- Handle errors, stream completion (`ret == 0`), and input truncation.
- Add new classes to `package/Library_package2.mk` build.
This completes the infrastructure for zstd decompression support.
The next step (Part 2c) involves adding logic to select the
appropriate Inflater based on the ZIP entry's compression method ID.
Change-Id: Ia673f3f19b6a751ba5225394fcf8c3f145c4ae63
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184243
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
configure.ac explicitly excludes libxml from --without-system-libs but
this distro-config "helpfully" adds it explicitly, when the system
already contains a usable libxml/libxslt anyway.
Change-Id: I79d65d9ed9185277ffde8624efc152b290a6ffb3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163438
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
LTO should now work properly at least on these platforms, and it's
a couple percent better performance at the cost of build time.
Change-Id: I0b6103161616b730fa32a7dd3b244219dda030fc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123585
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Just as the gtk3 plugin isn't named GNOME, rename kde5 to kf5, as
it is based on the KDE frameworks 5 libraries.
This also includes:
* a convenience alias to load the kf5 VCL plugin in case someone
requests the kde5 plugin.
* keep convenience kde5 configure switch, but warn about it
* rename detected desktop from kde5 to plasma5
Change-Id: I6764a05b81a5edbf284484c234fee2649aacf735
Reviewed-on: https://gerrit.libreoffice.org/75313
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
This avoids the issue that build breaks when both gtk3
and gstreamer-0.10 are enabled, caused by commit
34bbf192a7
("Drop extra define ENABLE_GTKSINK").
gstreamer-0.10 related code will be removed in
a subsequent step according to ESC decision (no longer
needed).
Change-Id: Ief07a797a3e52229da0ff7b23478108aac900841
Reviewed-on: https://gerrit.libreoffice.org/73608
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Enable the gtk3_kde5 and kde5 VCL plugins as discussed
in ESC all of 2019-05-02.
Also drop the "--disable-gtk3" switch so gtk3 is built
as well (which is enabled by default).
Change-Id: I65230255f8db6a7de992c6f5e9f9892a72436349
Reviewed-on: https://gerrit.libreoffice.org/71865
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
KDE4 is out of maintenance upstream since Nov. 2014, and binaries
provided by TDF have switched to KDE5 as the official backend.
Change-Id: I165465b56d3ba3a18912b203c06ae8fc6111c0c9
Reviewed-on: https://gerrit.libreoffice.org/60014
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
This looks obsolete, it was used in LibreOfficeLinux.conf since the
beginning but in fact since LO 3.5 it was broken and the vclplug_gen
was not actully dlopen()ing Xrandr.so but somehow magically "found"
the symbols anyway.
Change-Id: I81251a8fef0abac63183b0ff3533bb2331ca6f5a
Work in progress to allow integration of LO with
<https://wiki.gnome.org/Projects/FleetCommander>.
During configuration, dconf support is implicitly enabled when available on the
host (which is presumably only available on Linux). It is explicitly disabled
for TDF Linux builds for now, though, to avoid accidental dependencies of the
distributed installation sets on system dconf libraries.
A dconf layer is represented in the CONFIGURATION_LAYERS bootstrap variable with
type "dconf" and an empty URL. See the comment at the top of
configmgr/source/readdconflayer.cxx for the encoding of component-data in dconf.
All of this is still subject to change.
Change-Id: I2d08d81c8ea43ba4a99040a8882ae75b91bcfdb9
Reviewed-on: https://gerrit.libreoffice.org/16848
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
This just builds the gtk3 VCL plugin, it's still disabled by default at
runtime (see unx/generic/plugadapt/salplug.cxx).
Change-Id: I852e499cf1fbd1b218114f1091c4ba8a9a91a29d
Reviewed-on: https://gerrit.libreoffice.org/16229
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
It appears that there are some externals that link against the system
zlib anyway, and the assumption is that system zlib will work
everywhere.
Change-Id: Id348ed88d00ec1495aa54871c994062b9e1b3e85
I simply didn't have the krb5-devel package installed, and assumed there was
something more complicated going on.
This reverts commit 0e1cc99685.
Conflicts:
distro-configs/LibreOfficeWin64.conf
Change-Id: Ie3b226678862ed6388bcf1bf105da0b996f653d1
Try to make it more likely that a build without any autogen.sh options
succeeds. We didn't even get past the autogen.sh phase on openSUSE 12.3 thanks
to some krb5 stuff needed by the postgresql-sdbc checks.
To compensate, add --enable-postgresql-sdbc to those distro-configs/*.conf
files that didn't already have --disable-postgresql-sdbc.
Change-Id: I967616993875b99d9d5a9fd0721f281bb1161a87
AFAIK, we could not use GIO for the release builds because they are built
on too old system. GIO has got enabled by default but it can't be used together
with GNOME VFS, so we need to explicitely disable it here.
Change-Id: Ic5e64b0b5a7c000b9add2892a18bbc963ea2b900
Updated the distro-configs so that the default change
does not impact build based on distro profile
The intent is that with this change of defaults
the build does only rely on core and does not need
any submodules. Making a initial build simpler
for new dev, since they won't be exposed to submodules
unless they really need them.
Change-Id: I446e912d607ce7358fd11f54a3de025dc3f25144
Reviewed-on: https://gerrit.libreoffice.org/1791
Reviewed-by: Tor Lillqvist <tml@iki.fi>
Tested-by: Tor Lillqvist <tml@iki.fi>
...so that e.g. Fedora 17 does not require installation of libpng-compat package
for old libpng12.so.
Change-Id: I45cf3928b30dbbb815f70cde1972dc4972007c05
It has been way too common for people to accidentally have a javac
from JDK 7 create class files that are of the newest version, which
older JREs and Android's dex then don't understand.
As many of the distro-configs files specified
--with-java-target-version=1.5 anyway, let's just hardcode that for
now.
Change-Id: I0853820dc56a062f053b5c2c30097bf1ff3798c1
...which can be attractive for installation sets that use --with-system-poppler
but do not want the LO core package to depend on a poppler package. See the
comment at the top of scp2/source/ooo/module_pdfimport.scp for details.
The build-time --disable-pdfimport configure switch is gone, PDF Import is built
unconditionally for all platforms but Android and iOS now. (The
ENABLE_PDFIMPORT variable now uses TRUE/FALSE rather than YES/NO, to increase
consistency across those variables.)
Change-Id: I6509d0b2e770b276cd54540408fb1ec5a7dda058
No need for dirty hacks linking in basegfx objects statically any more.
To avoid unnecessary confusion between the newly plain code and any instance of
the old extension still installed (per-user or shared), I renamed all relevant
UNO implementation identifiers from com.sun.star.comp.documents.* to
org.libreoffice.comp.documents.*. Also, existing installations of the extension
are explicitly not migrated to new user profiles.
The xpdfimport executable is now in program/, its xpdfimport_err.pdf in
share/xpdfimport/. To simplify finding the _err.pdf from xpdfimport, its full
pathname is now given as additional second argument to xpdfimport. To find
xpdfimport executable from CppunitTest, CppunitTest creates a symlink from
solver's unittest/installation/program to solver's bin, so that
"$BRAND_BASE_DIR/program/xpdfimport" works there (as CppunitTest now sets
BRAND_BASE_DIR to solver's unittest/installation).
The sdext/source/pdfipmort/dialogs/ Basic stuff appeared to be unused (even
though it was included in the .oxt) and has been removed.
The --disable-ext-pdfimport configure switch is renamed to --disable-pdfimport.
Having it still conditional requires some pdf_Portable_Document_Format vs.
pdf_Portable_Document_Format_import foo in module filter.
Change-Id: Iee58c2f6187142a418decc9ea3a5df10eb7e0523
Add fallback activation of an _OLD media component to the core.
Compile both a 0.10 and 1.0 version of the gstreamer component
Change-Id: I91f65d05391cb2d7e02f9cff18f96178a128705O1