summaryrefslogtreecommitdiff
path: root/config_host.mk.in
AgeCommit message (Collapse)AuthorFilesLines
2023-07-05add an --enable-cairo-rgba to set the order of pixels for internal cairoCaolán McNamara1-0/+1
Change-Id: Ieab2ef59f63a7722bffea3273d2eeefadef47b56 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153633 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2023-01-28eliminate ENABLE_STRIP because it causes build issues in nss (Android)Andras Timar1-1/+0
Change-Id: Ie229f444d80a5f441576649e22b0c56c67cd3424 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130347 Tested-by: Andras Timar <andras.timar@collabora.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2023-01-28[cp] Allow creation of debuginfo and debugsource rpm/deb packagesAndras Timar1-0/+2
Change-Id: Idae5128b58e4cd6f61b8e83664098d195ca67072
2022-12-21keep environment clear of SYSTEM_FOO varsChristian Lohmaier1-85/+86
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 this cherry-pick also includes the follow-up fix from https://gerrit.libreoffice.org/c/core/+/144586 make inclusion of config_host.mk unconditional Change-Id: I83c88fc6ad4467b429771c43650fe7fc0ccde407 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144343 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> (cherry picked from commit b688b779ba20a4bec653808a42fe88cfac851029) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144682
2022-12-19bump minimum make version to 4.0 (for $(file …) function)Christian Lohmaier1-1/+0
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> (cherry picked from commit 57c5d044dc16f488788584851e8b9cc0cf98e8e0) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144058
2022-12-16don't export the various language lists and consolidate themChristian Lohmaier1-1/+0
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> (cherry picked from commit 183f5e38ee775f2e8c57bd061db80baf7da3b4c7) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144265 Tested-by: Jenkins
2022-12-06build installer packages with make parallelism instead of GNU parallelChristian Lohmaier1-1/+0
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 Behrens1-0/+1
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 Engelhard1-0/+1
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 Kaganski1-0/+1
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 Varga1-2/+5
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 Hosny1-1/+1
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 Fauli1-1/+0
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 Lohmaier1-1/+1
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 Fauli1-1/+0
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 Lohmaier1-0/+1
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 Bergmann1-2/+0
* 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ňák1-1/+1
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 Behrens1-0/+1
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 Nabet1-0/+3
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ňák1-0/+1
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ňák1-1/+0
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 Kelemen1-1/+0
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ňák1-0/+2
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 Weghorn1-1/+1
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 Weghorn1-1/+1
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 Bergmann1-1/+0
...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 Bergmann1-0/+1
...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ňák1-0/+1
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 Engelhard1-0/+2
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 Grandin1-1/+0
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ňák1-0/+3
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 Behrens1-0/+1
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 Glogowski1-0/+1
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 Glogowski1-0/+1
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)1-1/+1
Change-Id: I13c50ac005e1e990bd185115b6e1717ce2c6bb45 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128654 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-20WASM --enable-wasm-strip now skips lots of LO codeArmin Le Grand (Allotropia)1-1/+16
... resulting in a stripped-down, Writer-only build to decrease the resulting WASM bytecode size. It removes the following code from the build: * All other major modules: Base, Calc, Chart, Draw, Impress and Math and related writerperfect filters * The premultiply tables * The (auto-)recovery functionality * All accessibility (but not the accessibility document checker) * The LanguageGuess component * EPUB support * The start center / BackingWindow * The TipOfTheDay functionality * The splash screen communication Currently crashs with anything different then soffice --writer. Closing the document also still crashes. FYI: many of these features are now behind ENABLE_WASM_STRIP_* defines, but they normally don't work on their own, globally! That's because we started with stripping the main components. Change-Id: Ib9c0f9452815910c0a2aceaf142ba1ad4a9cb0d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126182 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-19WASM support external DWARF infoJan-Marek Glogowski1-1/+1
merged into the --enable-split-debug tests. Change-Id: Id0f25bec08bd45daebb0ccd30d17a4feeb08d02c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128601 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-19WASM add option to build with native exceptionsJan-Marek Glogowski1-0/+1
Currently disabled, as literally no runtime has a working implementation. It also currently conflicts with LLVM's SjLj (AKA setjmp / longjump) when generating WASM bytecode, but the only offending code doesn't use exceptions, so this can be avoided in general. Change-Id: I2b338f3529e7350d54a7950772c6e7aae2282fe7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128600 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-19WASM create and link the Emscripten FS imageJan-Marek Glogowski1-0/+1
There are three posibilites to add files to the image: - gb_emscripten_fs_image_files to add individual files - gb_emscripten_fs_image_autoinstall to add files from AutoInstall - gb_emscripten_fs_image_filelists to add files from a .filelist Change-Id: If6804e282a37a37ffae1d291d2af8430e60b59d1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128598 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-18Add HAVE_(UNIX_)DLAPI config header defineJan-Marek Glogowski1-1/+1
..., add the configure test flags and rename DLOPEN_LIBS to UNIX_DLAPI_LIBS. Initinally convert two dlsym callers to use HAVE_DLAPI and osl_getAsciiFunctionSymbol. There are a lot of places, which still use -ldl and even more direct dlsym calls; good opportunity for many simple EasyHacks. Change-Id: I4f2d2f7cb079a075af8f9d01eb5ee45de40c7f03 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128523 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-13Always set MAC_OS_X_VERSION_MAX_ALLOWED = MAC_OS_X_VERSION_MIN_REQUIREDStephan Bergmann1-1/+0
...and drop the --with-macosx-version-max-allowed configure switch. Looking at the documentation in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/AvailabilityMacros.h, a value of MAC_OS_X_VERSION_MAX_ALLOWED larger than MAC_OS_X_VERSION_MIN_REQUIRED would allow functions that only started to become available in that range to be resolved as null at runtime, so would need our code to be prepared to get null function pointers in such cases, but which our code is presumably not prepared for to begin with, anyway. Change-Id: I1423ee7435aa2b36eb91c62ff91b1fc414995a4f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128363 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Jenkins
2022-01-12gbuild: build static LO / link static executablesJan-Marek Glogowski1-0/+1
This allows to build a complete static LibreOffice on Linux, except for linked externals. Since LO's static build implies disabled dynamic loading, one must select one VCL backend to be compiled in. See the (large) comment in solenv/gbuild/static.mk trying to explain, why this implementation was chosen (spoiler: seems there is no other way) and what is actually implemented. This will collect all libraries, statics and externals of executables. If the executable uses components, it will get linked to all static components. While it works with any Executable, it just makes sense for soffice.bin, because the static component map sucks every dependency in, bloating most other binaries. In theory on could generate the dependencies based on the list of used components (see gb_CppunitTest_use_components), then generate a specific static constructor map, directly include it in the exe's cxx code and then link the minimal dependencies. The static LO should build on Linux with: --enable-customtarget-components --disable-dynamic-loading Tested VCL plugin config is: --disable-gtk3 --disable-gen --enable-qt5 The partial build support is split into a 2nd patch. Change-Id: Iafc95752fae9e88095f54a21f1e30a4f080815e2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126790 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2022-01-07Disable oosplash pagein feature for static buildsJan-Marek Glogowski1-0/+1
I'm not sure how useful this is today. Still hard-disabled on Mac and Win. Obviously unneeded for static builds. Change-Id: I3a95dede3c596ccdc0d15eba9edc072ad35f33fa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128089 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> Tested-by: Jenkins
2022-01-07CUCKOO_CFLAGS is unusedLuboš Luňák1-1/+0
The include is set explicitly in RepositoryExternal.mk . And when using system cuckoo, it's not necessary to refer to the unpacked tarball location. Change-Id: Idd241f7551fb98cb5948c4e7007204ad3a8d87a3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128061 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-01-06annocheck warning about missing .note.gnu.property sectionCaolán McNamara1-0/+1
copy and paste recommendation from: https://sourceware.org/annobin/annobin.html/Test-cf-protection.html and adapt like: https://github.com/openssl/openssl/commit/51994e505dbb1cd0dd76869ec962e2948b77b585 where https://bugs.ruby-lang.org/attachments/8962 is similar Intel docs have "The ENDBR32 and ENDBR64 (collectively ENDBRANCH) are two new instructions that are used to mark valid indirect CALL/JMP target locations in the program." Change-Id: Ie867c263a888763db4478720ba189c9ec6cc974d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126859 Tested-by: Jenkins Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-01-05Disable epoxy test with --disable-guiJan-Marek Glogowski1-0/+1
Instead of always testing for DISABLE_GUI, just disable the epoxy test and handle !ENABLE_EPOXY in RepositoryExternal.mk. Change-Id: I38213ffa77353bc93f32caa1b4164c5fa88170ac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127999 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-05Drop remnants of --with-webdav=neonStephan Bergmann1-4/+0
...that were left behind by 023ebf17898db4bca63129f079fd90b5cf76c1a9 "ucb: remove --with-webdav=neon" Change-Id: I617ca74d1c4b46d8f0b9dac317b5972bfb911813 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127986 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-01-01gbuild: silence Windows Skia clang buildsJan-Marek Glogowski1-0/+1
When building Skia on Windows in an non-English environment, the console is filled with "Note: including file:" output. That's because cl.exe has some translated output, but clang.exe has not. So detect the clang usage and its "showIncludes" output and override that setting for the compiler call. Change-Id: I19b403aa79a8dde70616865aef051aa365f79de6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127822 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-12-30Fix uppercase EOT => LIBEOT usageJan-Marek Glogowski1-1/+1
Originally I had these hunks included, but somehow came to think that using EOT instead of LIBEOT would work... well I'm obviously wrong, so re-add the uppercase LIBEOT usage. Still uses the lowercase "eot", because of the autoconf switches. Regression from commit ce54ba96f38b4af3aab1a7064078ee406eb021c6 ("Use libo_CHECK_SYSTEM_MODULE for eot"). Change-Id: Id3e1c97cdb67621f0c0cfd67b78836f62df0e8e9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127737 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>