summaryrefslogtreecommitdiff
path: root/configure.ac
AgeCommit message (Collapse)Author
2024-07-10make MSVC /analyze a configure optionNoel Grandin
My debug build is slow enough already, no need to make it worse. People who want it, can turn it on explicitly. Change-Id: I8677534d8f0142699baa6b95a249ae5f70c5cc3c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170269 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-07-09Upgrade raptor to 2.0.16Taichi haradaguchi
- Fixes CVE-2017-18926 and CVE-2020-25713. - drop 0001-Calcualte-max-nspace-declarations-correctly-for-XML-.patch.1: merged upstream - drop 0001-CVE-2020-25713-raptor2-malformed-input-file-can-lead.patch.1: merged upstream - drop libtool.patch: merged upstream - drop most of raptor-freebsd.patch.1: merged upstream - drop most of raptor-msvc.patch.1: merged upsttream - drop most of ubsan.patch: merged upstream - drop Wint-conversion.patch: merged upstream depend on package icu_ure to have libicuuc delivered and add corresponding directory to rpath-link to make sure the right copy is picked up use $(strip ...) in LDFLAGS to avoid having to escape , with $(COMMA) Change-Id: Ic05269ade5dae3761d98432ee504a51434a4c753 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161704 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Jenkins
2024-07-05python: upgrade to 3.10.14 (master only)Xisco Fauli
Downloaded from https://www.python.org/ftp/python/3.10.14/Python-3.10.14.tar.xz * external/python3/macos-11.patch.0 should be long obsolete by now Change-Id: I454851f7684e699519370bdbbcd9bb9a2cccd077 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170051 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-07-03--with-doxygen is only relevant with --enable-odk since b0228e4d3Moritz Duge
Change-Id: I24eeb3a28658ba631dc8f7389b6e2933111657f0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169568 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-06-30gtk4: Require GTK >= 4.10Michael Weghorn
For the gtk4 VCL plugin, require GTK version >= 4.10 and drop code for older versions. This simplifies maintenance, in particular since requiring 4.10 ensures that the basic GtkAccessible API is available. GTK 4.10 was released on 2023-03-04 [1], so it will be almost 2 years by the time that LO 25.2 will be released. Given that the gtk4 VCL plugin is still experimental, providing support for older GTK 4 releases shouldn't have to be a concern. [1] https://gitlab.gnome.org/GNOME/gtk/-/blob/4.10.0/NEWS?ref_type=tags Change-Id: I6f361b533391225d0e74c174e0479b767b9d827a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169324 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-06-29Fix "lets" -> "let's"Andrea Gelmini
Change-Id: I01968fc18b093dbbc27213f01c3da38ae151c62c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169748 Reviewed-by: Andrea Gelmini <andrea.gelmini@gelma.net> Tested-by: Jenkins
2024-06-22.NET Bindings: Switch for old windows CLI bindingsRMZeroFour
This commit adds an --enable-cli/--disable-cli switch to autoconf to control generation of the old CLI bindings (Windows only). It is enabled by default, to not be a breaking change to users just yet. Over time, when the old bindings are deprecated in favor of the new .NET bindings, it could be set to disabled by default. Change-Id: Ib60b372459cb0c735275ed17d004d037279357eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168751 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org>
2024-06-19use gb_StaticLibrary_WORKDIR and gb_Library_DLLDIR more consistentlyChristian Lohmaier
same for gb_Executable_BINDIR[_FOR_BUILD] and fold gb_Library_WORKDIR_FOR_BUILD into gb_Library_DLLDIR_FOR_BUILD (the latter also has a workdir variant) Change-Id: If7e4cf9aab46728182c89344546065bc33b452b4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169201 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-06-13Handle CPDB lib in configure/build systemMichael Weghorn
In preparation of Biswadeep's upcoming GSoC changes (see [1]) to update the CPDB (Common Print Dialog Backends) support to the latest version and use the CPDB C API, add a corresponding `--enable-cpdb` autogen option (disabled by default). When CPDB is enabled, check for the cpdb-frontend library, define `ENABLE_CPDB` and set the compiler and linker flags for building the `CPDManager` (in vcl/unx/generic/printer/cpdmgr.cxx). Add checks for existing code using `CPDBManager`, so it only gets used when when CPDB is actually enabled. While the cpdb-frontend library is currently not actually used in `CPDManager` yet (as the previous approach tried to use some DBUs API directly), it will be in Biswadeep's upcoming changes. With this commit in place, an `--enable-cpdb` build works with this additional local test change in place to actually make use of the library: diff --git a/vcl/unx/generic/printer/cpdmgr.cxx b/vcl/unx/generic/printer/cpdmgr.cxx index 7dc17cede353..0c3b71d519db 100644 --- a/vcl/unx/generic/printer/cpdmgr.cxx +++ b/vcl/unx/generic/printer/cpdmgr.cxx @@ -22,6 +22,8 @@ #include <cstddef> #include <unistd.h> +#include <cpdb/cpdb-frontend.h> + #include <unx/cpdmgr.hxx> #include <osl/file.h> @@ -259,6 +261,7 @@ CPDManager* CPDManager::tryLoadCPD() } } #endif + cpdbPrintFile(nullptr, nullptr); return pManager; } [1] https://lists.freedesktop.org/archives/libreoffice/2024-May/091911.html Change-Id: Ifc50d2cd6496346bea55c73cb703e3c2d3eb44b8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168656 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Biswadeep Purkayastha <bpdps95@hotmail.com>
2024-06-12Fix typo in codeAndrea Gelmini
Change-Id: Id4174ad178558c6016925007c0f62e0886750279 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168754 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-06-12.NET Bindings: Add DotnetLibrary class to gbuildRMZeroFour
This commit adds the DotnetLibrary gbuild class to build a .NET assembly using the .NET SDK. Also adds an option to enable or disable building .NET components with --enable-dotnet (default) and --disable-dotnet to the autogen script. Also adds a net_ure/ directory for the updated .NET bindings, currently consisting of the net_basetypes library. Change-Id: I9256387a2463ff8476deee85d886c6b3dce8257b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166380 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org>
2024-06-11bump product version to 25.2.0.0.alpha0+Christian Lohmaier
Change-Id: I56a7aa68ad934dc7fb7f1fc1e3f95bdb78ca120f
2024-06-11python3: upgrade to 3.9.19Xisco Fauli
Downloaded from https://www.python.org/ftp/python/3.9.19/Python-3.9.19.tar.xz * python-3.8-msvc-sdk.patch.1 is no longer needed * Comment out deprecated warnings for now: C:/cygwin64/home/tdf/jenkins/workspace/gerrit_windows/pyuno/source/module/pyuno_util.cxx(42): error C2220: the following warning is treated as an error C:/cygwin64/home/tdf/jenkins/workspace/gerrit_windows/pyuno/source/module/pyuno_util.cxx(42): warning C4996: 'PyUnicode_FromUnicode': deprecated in 3.3 C:/cygwin64/home/tdf/jenkins/workspace/gerrit_windows/pyuno/source/module/pyuno_util.cxx(64): warning C4996: 'PyUnicode_AsUnicode': deprecated in 3.3 Change-Id: Iaa358ffaaea63cf6ec47914759d0469e70e1cc65 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168551 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-06-07Modernize wasm debug symbol generationThorsten Behrens
Rolling a few suggested split debug changes from https://developer.chrome.com/blog/faster-wasm-debugging/ into our code. Added emdwp after linker line, to collect .dwo DWARF info into one single file (otherwise Chrome lacks local variable support) Still not working: * -gdwarf-5 does not work yet with neither -O1 nor -Og * -Og results in massive binary sizes, -O1 still required to not blow up browser mem right after load Change-Id: Ibf9ea42882df88d947f9bb3881430f0745c0df54 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168562 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2024-06-07New EMSCRIPTEN_EXTRA_SOFFICE_POST_JS configure variableStephan Bergmann
...which can be useful during development, to add e.g. additional test code to the generated qt_soffice.html Change-Id: Ic498dcd4c812b7b4c8e48b07c2bff411a9f19438 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168522 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-06-06drop searching for widget extended tips in the offline helpCaolán McNamara
by now these extended tips for the widgets of the general ui appear in the .ui file directly instead as accessibility descriptions instead. In any case, the default build configs of distro-configs/LibreOfficeLinux.conf distro-configs/LibreOfficeMacOSX.conf distro-configs/LibreOfficeWin64.conf use --with-help=html where these ahelps are not available. So, existing in the classic help only. Change-Id: Ie27736e9140e445c7f8986a741c2002f2efa9ccb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168505 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-06-06ICU: upgrade to 74.2Xisco Fauli
Downloaded from https://github.com/unicode-org/icu/releases/tag/release-74-2 Change-Id: I35a1b087f658541903a368fcaaad22c1c1e41d2f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168502 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-06-06if we don't have local help then Help::GetHelpText will be emptyCaolán McNamara
anyway, so we can skip that work on Window::GetHelpText. It might even be that by now all the a11y/extended-tips are in the local .ui files and the whole fallback to local help is redundant and should be removed. But that's not done here. Change-Id: I03b759aba6d1619aff37ded6764fbe3b6ded9555 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168494 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-06-02allow low-translation-completion-langs for dev-builds (e.g.: Sundanese)Christian Lohmaier
will be included when using --with-lang=ALL in non-release configuration (i.e. tinderbox provided daily builds), but not when using --enable-release-build. Change the way how configure fetches the list of all supported languages from a fancy sed call to running make with a dummy-recipe. Change-Id: I8bbea5fd95d37eac5bbce2e55ae34830b0ab4ebb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168334 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Jenkins
2024-06-02Latest VS 2022 Preview is 17.11.0 nowTaichi Haradaguchi
...while latest proper VS 2022 is 17.10.0 Change-Id: Ibc8c1c331659cb607e0dd51793097ac0495badb0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168303 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
2024-05-29Emscripten: Unconditional --enable-wasm-exceptionsStephan Bergmann
(...which will be beneficial, in turn, to implement exception handling in the work-in-progress bridges/source/cpp_uno/gcc3_wasm UNO bridge). As per <https://developer.mozilla.org/en-US/docs/WebAssembly#browser_compatibility>, Wasm exceptions appear to be supported by most if not all relevant engines by now. * Lets see whether the "Note that to really use WASM exceptions everywhere" for external libraries in solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk does have any practical consequences (but ignoring it for now). * This change depends on the preceding 77129fbb74bcefde4551d494f029169e7c6026e3 "Emscripten: Add hack to prepare for --enable-wasm-exceptions" to work around the issue that was mentioned in static/README.wasm.md. * In unotest/source/embindtest/embindtest.js, getExceptionMessage started to work now, no longer exhibiting the RuntimeError that had been documented there for non-Wasm-based exceptions. Change-Id: Ifa2165b62208cc927844684911ddf21a4a2b624f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168169 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-05-27Bump emscripten minimum to 2.0.32 for as_handleJulien Nabet
Reading https://github.com/emscripten-core/emscripten/blob/main/ChangeLog.md val::as_handle() has been added with 2.0.32 It'll allow WASM Jenkins to fail at the configure check step instead in the build with: /home/tdf/jenkins/workspace/lo_gerrit/tb/src_wasm/static/source/unoembindhelpers/PrimaryBindings.cxx:231:37: error: no member named 'as_handle' in 'emscripten::val' = _emval_as(rObject.as_handle(), getTypeId(rUnoType), &destructors); ~~~~~~~ ^ /home/tdf/jenkins/workspace/lo_gerrit/tb/src_wasm/static/source/unoembindhelpers/PrimaryBindings.cxx:240:37: error: no member named 'as_handle' in 'emscripten::val' = _emval_as(rObject.as_handle(), getTypeId(rUnoType), &destructors); ~~~~~~~ ^ 2 errors generated. Change-Id: I7531256de46cd4b86b6eac9b1f8d16cad7b46ae2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168035 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-05-21tdf#145735 avmedia qt: Use QtMultimedia for Qt 6 media playbackMichael Weghorn
Similar to the way that GTK 4's native facilities for video playback are used for the gtk4 VCL plugin, initially added in commit commit d0a527ec09516bc7215baf229adb90cd21ffa27a Author: Caolán McNamara <caolanm@redhat.com> Date: Thu Feb 10 12:55:18 2022 +0000 first cut at using Gtk4 built in video playback , implement media playback using QtMultimedia for the Qt 6 based VCL plugins (qt6/kf6) via a new service "com.sun.star.comp.avmedia.Manager_Qt". Video playback with the mechanism used for qt5 no longer works with qt6, as "qwidget5videosink" that gets used on Wayland for qt5 wasn't ported to Qt 6 and is unmaintained, s. the commit message of commit 88d57cf241209ffec9eaed3e523942ab51af6db6 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Wed Sep 29 11:09:51 2021 +0200 qt6: Add a qt6 VCL plugin for more details. Additionally, this also doesn't work properly any more on X11/with the xcb Qt QPA platform, see tdf#145735 comment 7. Instead of using GStreamer directly, let Qt handle the low-level stuff by using the QtMultimedia module [1] instead. This adds a new dependency on QtMultimedia. For building, this requires installing the Qt 6 QtMultimedia development headers (e.g. package `qt6-multimedia-dev` on current Debian testing). Except for WASM, the use of QtMultimedia is enabled by default when building with autogen options `--enable-qt6` or `--enable-kf6`, but can explicitly be disabled using `--disable-qt6-multimedia`. In tests with the qt6 VCL plugin on Debian testing, with a sample presentation containing an embedded video, attachment 145517 from tdf#120452, video playback generally works for both, the xcb and the wayland Qt QPA platforms: * Video and audio are played as expected on the external screen in presentation mode when using the presenter console * Video and audio playback work in non-presentation mode by clicking on the video and using the controls in the Impress sidebar (play, pause,...). However, the following issues were observed with the current implementation: * There's an odd frame/margin around the video. * In non-presentation mode, the placeholder shown until the video gets started using the controls in the sidebar is just an "audio icon", not a frame from the actual video. (This might be related to the fact that `QtPlayer::createFrameGrabber` currently returns an empty reference.) * At least on Wayland (issue not observed with QT_QPA_PLATFORM=xcb so far), when using the presenter console, video playback in the presenter console (i.e. on the non-presentation screen) is unreliable: The video sometimes shows, but sometimes doesn't. At least the (more important) one on the presentation screen was reliably shown in my tests, however. Tested with git dev versions of qtbase (as of commit 8d5e7d50d8dbf1ad79bd8ff9f6ef6028eba481c9), qtwayland (as of commit 6f0ebd916f176f6fbe35af28caeb52b62768ac94) and qtmultimedia (as of commit 264b7e8d7d5683252102b5e5149685c8b8a70c2d). [1] https://doc.qt.io/qt-6/qtmultimedia-index.html Change-Id: I29c3c7ded01c61b49b192fa5c313d8a92c942185 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167869 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-05-21Fix bashism in configure tests for curl and libcmisChris Mayo
When /bin/sh is dash: ./configure: 35165: test: yes: unexpected operator checking whether to enable breakpad... no ./configure: 35218: test: yes: unexpected operator Causing HAVE_FEATURE_CURL not to be set to 1 and build to fail: sw/source/ui/misc/translatelangselect.cxx:160:24: error: no member named 'TranslateDocumentCancellable' in namespace 'SwTranslateHelper' 160 | SwTranslateHelper::TranslateDocumentCancellable(m_rWrtSh, aConfig, m_bCancelTranslation); | ~~~~~~~~~~~~~~~~~~~^ Introduced in: 5bf7c2fa5794 ("Fix --disable-curl build", 2023-09-14) Change-Id: Ifbc4bc1a7cde86101ff13b05ec7cee6836798605 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167831 Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Tested-by: Jenkins
2024-05-16android: Set android.ndkVersion for GradleMichael Weghorn
Set the `android.ndkVersion` property [1] for the Android Gradle Plugin, in addition to `android.ndkPath` that is set there already. This addresses the warning > Task :stripStrippedUIEditingDebugDebugSymbols [CXX1100] android.ndkVersion is [26.1.10909125] but android.ndkPath /home/michi/Android/Sdk/ndk/25.1.8937393 refers to a different version [25.1.8937393]. [CXX1100] android.ndkVersion is [26.1.10909125] but android.ndkPath /home/michi/Android/Sdk/ndk/25.1.8937393 refers to a different version [25.1.8937393]. [CXX1100] android.ndkVersion is [26.1.10909125] but android.ndkPath /home/michi/Android/Sdk/ndk/25.1.8937393 refers to a different version [25.1.8937393]. [CXX1100] android.ndkVersion is [26.1.10909125] but android.ndkPath /home/michi/Android/Sdk/ndk/25.1.8937393 refers to a different version [25.1.8937393]. [CXX1100] android.ndkVersion is [26.1.10909125] but android.ndkPath /home/michi/Android/Sdk/ndk/25.1.8937393 refers to a different version [25.1.8937393]. [CXX1100] android.ndkVersion is [26.1.10909125] but android.ndkPath /home/michi/Android/Sdk/ndk/25.1.8937393 refers to a different version [25.1.8937393]. [CXX1100] android.ndkVersion is [26.1.10909125] but android.ndkPath /home/michi/Android/Sdk/ndk/25.1.8937393 refers to a different version [25.1.8937393]. [CXX1100] android.ndkVersion is [26.1.10909125] but android.ndkPath /home/michi/Android/Sdk/ndk/25.1.8937393 refers to a different version [25.1.8937393]. [CXX1100] android.ndkVersion is [26.1.10909125] but android.ndkPath /home/michi/Android/Sdk/ndk/25.1.8937393 refers to a different version [25.1.8937393]. [CXX1100] android.ndkVersion is [26.1.10909125] but android.ndkPath /home/michi/Android/Sdk/ndk/25.1.8937393 refers to a different version [25.1.8937393]. [CXX1100] android.ndkVersion is [26.1.10909125] but android.ndkPath /home/michi/Android/Sdk/ndk/25.1.8937393 refers to a different version [25.1.8937393]. [CXX1100] android.ndkVersion is [26.1.10909125] but android.ndkPath /home/michi/Android/Sdk/ndk/25.1.8937393 refers to a different version [25.1.8937393]. [CXX1100] android.ndkVersion is [26.1.10909125] but android.ndkPath /home/michi/Android/Sdk/ndk/25.1.8937393 refers to a different version [25.1.8937393]. [CXX1100] android.ndkVersion is [26.1.10909125] but android.ndkPath /home/michi/Android/Sdk/ndk/25.1.8937393 refers to a different version [25.1.8937393]. 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. that started to show up in a local `--with-android-ndk=$HOME/Android/Sdk/ndk/25.1.8937393` Android build after commit 1610ebc06b34263bf3e525babe1e583b932f6242 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Mon May 13 10:47:49 2024 +0200 android: Update Android Gradle Plugin to 8.4.0 ... and gradle to 8.6, as suggested by Android Studio. As described at [2], that Android Gradle Plugin defaults to NDK 26.1.10909125. [1] https://developer.android.com/studio/projects/install-ndk#apply-specific-version [2] https://developer.android.com/build/releases/gradle-plugin Change-Id: Ied81f13f535303f9578177646f177b4ef791eefa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167715 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-05-14bump product version to 24.8.0.0.alpha1+Christian Lohmaier
Change-Id: I96d168560db02ea3cad2eb3e428e1d17bc8d10d6
2024-05-13Update to ICU 74.1Taichi Haradaguchi
https://icu.unicode.org/download/74 Unicode 15.1 https://blog.unicode.org/2023/09/announcing-unicode-standard-version-151.html CLDR 44 https://cldr.unicode.org/index/downloads/cldr-44 New Unicode blocks: UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_I Change-Id: Ic9196e10138663d07235f5ebd9cc4bf3a9750824 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158749 Tested-by: Eike Rathke <erack@redhat.com> Reviewed-by: Eike Rathke <erack@redhat.com>
2024-05-07use windows doxygen in wsl-as-helper caseChristian Lohmaier
basically reverts f7fe6a0bed2c2aee19535a26181a2edfb103e587 avoiding the penalty for accessing files in the windows-realm from within the wsl-container significantly accelerates the doc-generation Change-Id: I95af905bda7225a9c1924a41e952656dffbfbc0b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167279 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-04-27fix some hardcoded use of wsl.exe and fix some typosChristian Lohmaier
Change-Id: I6152ee61913638f828eeb201ecb26312de5f8572 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166737 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Jenkins
2024-04-26add --with-keep-awake switch to prevent going into sleep/suspendChristian Lohmaier
if used defaults to Awake for Windows and caffeinate for macOS Change-Id: I35f41bf1fb63af05ce2ec1a7f4d7b50b310536a3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166743 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Jenkins
2024-04-26Make odfvalidator and officeotron work in WSL_ONLY_AS_HELPER modeStephan Bergmann
...where e.g. CppunitTest_oox_testscene3d CPPUNIT_TEST_NAME=test_material_wireframe::TestBody had failed with > forced failure > - Error: Unable to access jarfile /mnt/d/lo/tar/odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar and e.g. CppunitTest_oox_mcgr CPPUNIT_TEST_NAME=testAxialColorLinearTrans::TestBody had failed with > equality assertion failed > - Expected: 0 > - Actual : 1 > - failed to execute: sh D:/lo-wsl/core/bin/officeotron.sh C:\Users\steph\AppData\Local\Temp\test_oox_mcgr.dll2epgul.tmp > C:\Users\steph\AppData\Local\Temp\test_oox_mcgr.dll2epgup.tmp 2>&1 > Error: Unable to access jarfile /mnt/d/lo/tar/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar Change-Id: I094b76daff6eef2cb6a9874a4776bab9c4424f49 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166703 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-04-26Support --with-junit/hamcrest in WSL_ONLY_AS_HELPER modeStephan Bergmann
...where it failed with > checking for JUnit 4... ./configure: line 47354: cygpath: command not found Change-Id: I56c930b6c8b738b39f26766f90476c32efb383e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166508 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Jenkins
2024-04-26Honor TMPDIR configure option in WSL_ONLY_AS_HELPER modeStephan Bergmann
(It needs to be passed-in as a TMPDIR=/mnt/c/... style path, because configure uses it early on and otherwise fails with some > checking build system type... config.guess: cannot create a temporary directory in C:/... error.) Change-Id: I798ed7dd363eb5fd7614c5984861f77cf9d38266 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166506 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-04-26Don't hardcode build as x86_64 for WSL_ONLY_AS_HELPERStephan Bergmann
...to also make it work builds on aarch64 Change-Id: Ibc502b11eedceddb84481c2ad5d351bf8404c8cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166501 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-04-26initial support for running autogen.sh inside wsl from git-bashChristian Lohmaier
Change-Id: I4272ea817a48880fd4206d6c73add7ccb8c4f6c5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166335 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-04-26look for java, javac and javadoc with the .exe suffix on windowsChristian Lohmaier
while it doesn't make a difference from within cygwin or from within git-bash, it does affect checks from wsl into windows since the version without .exe isn't found/only the .exe does actually exist as a file<. Cygwin portion already explicitly checked for the .exe to determine whether the JDK home is valid, so just use it like that. Change-Id: Ifc0238f54ed4326de27840136589e64fcdb6f3e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166334 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Jenkins
2024-04-26use unix paths for dir tests and prefer PathFormat…Christian Lohmaier
over manual cygpath calls. Since PathFormat checks whether the path is 8.3 compatible/in case of spaces or other incompatible characters remove some superfluous checks also drop a workaround for VS2017 (minimum requried version is 2019) Change-Id: I2d098cf323c96862c06acf7605abacbefe8a35ad Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166333 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Jenkins
2024-04-26configure.ac: split registry path from registry keyChristian Lohmaier
in preparation for an upcoming change to read values using reg.exe Also fixes a bug in determining UCRTVERSION from the Windows SDK's ProductVersion registry value (misses trailing .0) Change-Id: I66236ba6bf38393e6f7c7ab83706657a6e96769c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166332 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-04-22add undefining FORTIFY_SOURCE to the gcc no-opt flagsCaolán McNamara
We build non-optimized files by adding the no-opt flags to the compiler options that include the optimized flags, so add undefining FORTIFY_SOURCE to the -O0 line motivation here to have --enable-hardening-flags not add unhelpful extra warnings to the build for the parts built with -O0 Change-Id: Ib5416ad7f9f5ef907d7c767a5ebff6343b035cfe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166458 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-04-22tdf#150082: LO Base MariaDB/MySQL connector don't accept auth via gssapiJulien Nabet
Exclude Windows since we're not sure gssapi.h is available (at least Jenkins Windows machine doesn't have it) Change-Id: Iba396f77b07dce4291de5eb0e6ad7c0c25e6c3c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159954 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-04-22configure: cygwin issue with date fixedVasily Melenchuk
previous variant was causing: "bash: /dev/null: ambiguous redirect" and value was written Change-Id: Ic8762a98f11ef2fee669478b5694ae1c5fb0b8ce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166294 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2024-04-19add --enable-hardening-flags to enable compiler hardening flagsCaolán McNamara
distros typically have their own set via C[XX]FLAGS, so make this an optional argument some notes on the options: -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 https://www.redhat.com/en/blog/enhance-application-security-fortifysource (I see Fedora has recently bumped to to 3 since Jan 2024 https://fedoraproject.org/wiki/Changes/Add_FORTIFY_SOURCE%3D3_to_distribution_build_flags but here use 2 for now instead) -Wp,-D_GLIBCXX_ASSERTIONS https://fedoraproject.org/wiki/Changes/HardeningFlags28 -fstack-protector-strong (We already apply this by default) -fstack-clash-protection https://fedoraproject.org/wiki/Changes/HardeningFlags28 -fcf-protection https://fedoraproject.org/wiki/Changes/HardeningFlags28 https://cgit.freedesktop.org/libreoffice/core/commit/?id=af55dc3891f7950d392175004b2090cb0e54828e and record the compiler flags in debuginfo -grecord-gcc-switches Change-Id: Ib05387bad8324b188bd4ed0ee327d6a7cf83973b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163312 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit 33483058f6e27f39633114721f7329c90571101d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166289 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-04-09Avoid -O2 in AC_PROG_CC/CXX, work around occasional Clang 12.0.1 SEGVsStephan Bergmann
At least with one ASan/UBSan setup of mine using LODE's Clang 12.0.1, ./autogen.sh would occasionally detect -std=gnu11 as the required CC "option to enable C11 features" (which would in turn cause building external/firebird to fail oddly; an issue worth investigations of its own), because Clang would occasionally crash with a SEGV on the corresponding configure test program's first invocation (without -std=gnu11) when invoked with -O2 (and happen to succeed on second invocation with -std=gnu11, so configure thinks that's needed), see below for a relevant config.log excerpt. When CC/CXX are already set (as is the case in this scenario), we could arguably skip the AC_PROG_CC/CXX checks entirely (and thus avoid configure potentially adding -std=gnu11 to CC), but at least AC_PROG_CC also internally sets the GCC shell var, which we use in configure.ac. So better be conservative and just avoid -O2 during AC_PROG_CC/CXX (whatever the autoconf motivation to include it in the first place). > configure:8165: checking for /home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang -fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=local-bounds -fsanitize-blacklist=/home/sberg/lo0/core/sanitize-ubsan-excludelist option to enable C11 features > configure:8180: /home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang -fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=local-bounds -fsanitize-blacklist=/home/sberg/lo0/core/sanitize-ubsan-excludelist -c -g -O2 conftest.c >&5 > PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script. > Stack dump: > 0. Program arguments: /home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang -fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=local-bounds -fsanitize-blacklist=/home/sberg/lo0/core/sanitize-ubsan-excludelist -c -g -O2 conftest.c > 1. <eof> parser at end of file > 2. Code generation > #0 0x000055f3a890caf2 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x1c3eaf2) > #1 0x000055f3a890a734 llvm::sys::RunSignalHandlers() (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x1c3c734) > #2 0x000055f3a887b998 CrashRecoverySignalHandler(int) (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x1bad998) > #3 0x00007f750d24e520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520) > #4 0x000055f3a93f9cd4 llvm::DIE::getUnitDie() const (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x272bcd4) > #5 0x000055f3a9404574 llvm::DwarfDebug::finishEntityDefinitions() (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x2736574) > #6 0x000055f3a941df99 llvm::DwarfDebug::finalizeModuleInfo() (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x274ff99) > #7 0x000055f3a9421128 llvm::DwarfDebug::endModule() (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x2753128) > #8 0x000055f3a93f1219 llvm::AsmPrinter::doFinalization(llvm::Module&) (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x2723219) > #9 0x000055f3a82478f5 llvm::FPPassManager::doFinalization(llvm::Module&) (.localalias) (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x15798f5) > #10 0x000055f3a8253900 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x1585900) > #11 0x000055f3a8bb57d3 (anonymous namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (.constprop.0) (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x1ee77d3) > #12 0x000055f3a8bb76ea clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout const&, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x1ee96ea) > #13 0x000055f3a9825876 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x2b57876) > #14 0x000055f3aa35c549 clang::ParseAST(clang::Sema&, bool, bool) (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x368e549) > #15 0x000055f3a91ef2d9 clang::FrontendAction::Execute() (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x25212d9) > #16 0x000055f3a91903a3 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x24c23a3) > #17 0x000055f3a92a2fd8 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x25d4fd8) > #18 0x000055f3a7798815 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0xaca815) > #19 0x000055f3a77961a7 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0xac81a7) > #20 0x000055f3a9039689 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const::'lambda'()>(long) (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x236b689) > #21 0x000055f3a887baa7 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x1badaa7) > #22 0x000055f3a903a802 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const (.part.0) (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x236c802) > #23 0x000055f3a900fbec clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x2341bec) > #24 0x000055f3a9010679 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x2342679) > #25 0x000055f3a901e8f1 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0x23508f1) > #26 0x000055f3a7717e6f main (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0xa49e6f) > #27 0x00007f750d235d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90) > #28 0x00007f750d235e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40) > #29 0x000055f3a7795b55 _start (/home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang+0xac7b55) > clang-12: error: clang frontend command failed with exit code 139 (use -v to see invocation) > clang version 12.0.1 (https://github.com/llvm/llvm-project.git fed41342a82f5a3a9201819a82bf7a48313e296b) > Target: x86_64-unknown-linux-gnu > Thread model: posix > InstalledDir: /home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin > clang-12: note: diagnostic msg: > ******************** > > PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: > Preprocessed source(s) and associated run script(s) are located at: > clang-12: note: diagnostic msg: /tmp/conftest-968380.c > clang-12: note: diagnostic msg: /tmp/conftest-968380.sh > clang-12: note: diagnostic msg: > > ******************** > configure:8180: $? = 139 > configure: failed program was: > | /* confdefs.h */ > | #define PACKAGE_NAME "LibreOffice" > | #define PACKAGE_TARNAME "libreoffice" > | #define PACKAGE_VERSION "24.8.0.0.alpha0+" > | #define PACKAGE_STRING "LibreOffice 24.8.0.0.alpha0+" > | #define PACKAGE_BUGREPORT "" > | #define PACKAGE_URL "http://documentfoundation.org/" > | #define LIBO_VERSION_MAJOR 24 > | #define LIBO_VERSION_MINOR 8 > | #define LIBO_VERSION_MICRO 0 > | #define LIBO_VERSION_PATCH 0 > | #define LIBO_THIS_YEAR 2024 > | #define SRCDIR "/home/sberg/lo0/core" > | #define SRC_ROOT "/home/sberg/lo0/core" > | #define BUILDDIR "/home/sberg/lo0/core" > | #define USE_HEADLESS_CODE 1 > | #define ENABLE_HEADLESS 1 > | /* end confdefs.h. */ > | > | /* Does the compiler advertise C89 conformance? > | Do not test the value of __STDC__, because some compilers set it to 0 > | while being otherwise adequately conformant. */ > | #if !defined __STDC__ > | # error "Compiler does not advertise C89 conformance" > | #endif > | > | #include <stddef.h> > | #include <stdarg.h> > | struct stat; > | /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ > | struct buf { int x; }; > | struct buf * (*rcsopen) (struct buf *, struct stat *, int); > | static char *e (p, i) > | char **p; > | int i; > | { > | return p[i]; > | } > | static char *f (char * (*g) (char **, int), char **p, ...) > | { > | char *s; > | va_list v; > | va_start (v,p); > | s = g (p, va_arg (v,int)); > | va_end (v); > | return s; > | } > | > | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has > | function prototypes and stuff, but not \xHH hex character constants. > | These do not provoke an error unfortunately, instead are silently treated > | as an "x". The following induces an error, until -std is added to get > | proper ANSI mode. Curiously \x00 != x always comes out true, for an > | array size at least. It is necessary to write \x00 == 0 to get something > | that is true only with -std. */ > | int osf4_cc_array ['\x00' == 0 ? 1 : -1]; > | > | /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters > | inside strings and character constants. */ > | #define FOO(x) 'x' > | int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; > | > | int test (int i, double x); > | struct s1 {int (*f) (int a);}; > | struct s2 {int (*f) (double a);}; > | int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int), > | int, int); > | > | // Does the compiler advertise C99 conformance? > | #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L > | # error "Compiler does not advertise C99 conformance" > | #endif > | > | #include <stdbool.h> > | extern int puts (const char *); > | extern int printf (const char *, ...); > | extern int dprintf (int, const char *, ...); > | extern void *malloc (size_t); > | > | // Check varargs macros. These examples are taken from C99 6.10.3.5. > | // dprintf is used instead of fprintf to avoid needing to declare > | // FILE and stderr. > | #define debug(...) dprintf (2, __VA_ARGS__) > | #define showlist(...) puts (#__VA_ARGS__) > | #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) > | static void > | test_varargs_macros (void) > | { > | int x = 1234; > | int y = 5678; > | debug ("Flag"); > | debug ("X = %d\n", x); > | showlist (The first, second, and third items.); > | report (x>y, "x is %d but y is %d", x, y); > | } > | > | // Check long long types. > | #define BIG64 18446744073709551615ull > | #define BIG32 4294967295ul > | #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) > | #if !BIG_OK > | #error "your preprocessor is broken" > | #endif > | #if BIG_OK > | #else > | #error "your preprocessor is broken" > | #endif > | static long long int bignum = -9223372036854775807LL; > | static unsigned long long int ubignum = BIG64; > | > | struct incomplete_array > | { > | int datasize; > | double data[]; > | }; > | > | struct named_init { > | int number; > | const wchar_t *name; > | double average; > | }; > | > | typedef const char *ccp; > | > | static inline int > | test_restrict (ccp restrict text) > | { > | // See if C++-style comments work. > | // Iterate through items via the restricted pointer. > | // Also check for declarations in for loops. > | for (unsigned int i = 0; *(text+i) != '\0'; ++i) > | continue; > | return 0; > | } > | > | // Check varargs and va_copy. > | static bool > | test_varargs (const char *format, ...) > | { > | va_list args; > | va_start (args, format); > | va_list args_copy; > | va_copy (args_copy, args); > | > | const char *str = ""; > | int number = 0; > | float fnumber = 0; > | > | while (*format) > | { > | switch (*format++) > | { > | case 's': // string > | str = va_arg (args_copy, const char *); > | break; > | case 'd': // int > | number = va_arg (args_copy, int); > | break; > | case 'f': // float > | fnumber = va_arg (args_copy, double); > | break; > | default: > | break; > | } > | } > | va_end (args_copy); > | va_end (args); > | > | return *str && number && fnumber; > | } > | > | > | // Does the compiler advertise C11 conformance? > | #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L > | # error "Compiler does not advertise C11 conformance" > | #endif > | > | // Check _Alignas. > | char _Alignas (double) aligned_as_double; > | char _Alignas (0) no_special_alignment; > | extern char aligned_as_int; > | char _Alignas (0) _Alignas (int) aligned_as_int; > | > | // Check _Alignof. > | enum > | { > | int_alignment = _Alignof (int), > | int_array_alignment = _Alignof (int[100]), > | char_alignment = _Alignof (char) > | }; > | _Static_assert (0 < -_Alignof (int), "_Alignof is signed"); > | > | // Check _Noreturn. > | int _Noreturn does_not_return (void) { for (;;) continue; } > | > | // Check _Static_assert. > | struct test_static_assert > | { > | int x; > | _Static_assert (sizeof (int) <= sizeof (long int), > | "_Static_assert does not work in struct"); > | long int y; > | }; > | > | // Check UTF-8 literals. > | #define u8 syntax error! > | char const utf8_literal[] = u8"happens to be ASCII" "another string"; > | > | // Check duplicate typedefs. > | typedef long *long_ptr; > | typedef long int *long_ptr; > | typedef long_ptr long_ptr; > | > | // Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. > | struct anonymous > | { > | union { > | struct { int i; int j; }; > | struct { int k; long int l; } w; > | }; > | int m; > | } v1; > | > | > | int > | main (int argc, char **argv) > | { > | int ok = 0; > | > | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); > | > | > | // Check bool. > | _Bool success = false; > | success |= (argc != 0); > | > | // Check restrict. > | if (test_restrict ("String literal") == 0) > | success = true; > | char *restrict newvar = "Another string"; > | > | // Check varargs. > | success &= test_varargs ("s, d' f .", "string", 65, 34.234); > | test_varargs_macros (); > | > | // Check flexible array members. > | struct incomplete_array *ia = > | malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); > | ia->datasize = 10; > | for (int i = 0; i < ia->datasize; ++i) > | ia->data[i] = i * 1.234; > | > | // Check named initializers. > | struct named_init ni = { > | .number = 34, > | .name = L"Test wide string", > | .average = 543.34343, > | }; > | > | ni.number = 58; > | > | int dynamic_array[ni.number]; > | dynamic_array[0] = argv[0][0]; > | dynamic_array[ni.number - 1] = 543; > | > | // work around unused variable warnings > | ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' > | || dynamic_array[ni.number - 1] != 543); > | > | > | _Static_assert ((offsetof (struct anonymous, i) > | == offsetof (struct anonymous, w.k)), > | "Anonymous union alignment botch"); > | v1.i = 2; > | v1.w.k = 5; > | ok |= v1.i != 5; > | > | return ok; > | } > | > configure:8180: /home/builder/lode/opt_private/clang-llvmorg-12.0.1/bin/clang -fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=local-bounds -fsanitize-blacklist=/home/sberg/lo0/core/sanitize-ubsan-excludelist -std=gnu11 -c -g -O2 conftest.c >&5 > configure:8180: $? = 0 > configure:8201: result: -std=gnu11 Change-Id: I9122d0d853d0010155d57cb1d1d56f7c453d5208 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165904 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-04-08clean up after removal of patched rhinoRene Engelhard
Change-Id: I193fd0c10d297555faa7a832718dbd6cd929a406 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165762 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-03-21Update the Android "enough memory for linking" checkStephan Bergmann
...which had been introduced with 149792414e767c7526123f0e2abb7c4dc9491fa0 "android: add a check for the installed memory in the machine", presumably at a time when there were ENABLE_SYMBOLS and ENABLE_DEBUGINFO_FOR variables, both of which appear to no longer exist. So use the existing ENABLE_SYMBOLS_FOR instead. Change-Id: I1757f49e26e703e4a5831bf2c1f39f9337077d4e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165083 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-03-20Allow extra options in JAVACOMPILER env varStephan Bergmann
...similar to how we support this for other vars like CC and CXX. (I currently need this to add -J-Xint to JAVACOMPILER in an attempt to work around the issue described in <https://blogs.oracle.com/java/post/java-on-macos-14-4> where macOS now sends uncatchable SIGKILL instead of SIGSEGV to the JVM process in response to a Java null pointer deref.) Change-Id: Ie677f97aeca983af7d8ef23e3794103ae30ae0b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165065 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-03-20python3: upgrade to release 3.8.19Michael Stahl
Fixes CVE-2023-6597 and also CVE-2024-0450 Change-Id: Iebca2608e16a966356736201c63f1be5185430d4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165053 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-03-12Fix build with autoconf 2.72Fridrich Strba
This commit http://git.savannah.gnu.org/gitweb/ ?p=autoconf.git;a=commitdiff; h=cf09f48841b66fe76f606dd6018bb3a93242a7c9 changed the internal cache variable name and its content The effects show later in message like /tmp/ccyB6wS6.ltrans9.ltrans.o: in function `comphelper::DocPasswordHelper::decryptGpgSession(com::sun::star::uno::Sequence<com::sun::star::uno::Sequence<com::sun::star::beans::NamedValue> > const&)': /home/abuild/rpmbuild/BUILD/libreoffice-24.2.1.2/comphelper/source/misc/docpasswordhelper.cxx:705:(.text+0x4fb7): undefined reference to `GpgME::Data::seek(long, int)' /usr/bin/ld.bfd: /home/abuild/rpmbuild/BUILD/libreoffice-24.2.1.2/comphelper/source/misc/docpasswordhelper.cxx:716:(.text+0x5402): undefined reference to `GpgME::Data::seek(long, int)' /usr/bin/ld.bfd: /tmp/ccyB6wS6.ltrans13.ltrans.o: in function `comphelper::OStorageHelper::CreateGpgPackageEncryptionData()': /home/abuild/rpmbuild/BUILD/libreoffice-24.2.1.2/comphelper/source/misc/storagehelper.cxx:507:(.text+0x64e3): undefined reference to `GpgME::Data::seek(long, int)' /usr/bin/ld.bfd: /home/abuild/rpmbuild/BUILD/libreoffice-24.2.1.2/comphelper/source/misc/storagehelper.cxx:520:(.text+0x6583): undefined reference to `GpgME::Data::seek(long, int)' collect2: error: ld returned 1 exit status Where the type 'off_t' at the time of inclusion of the header and at the time of compilation of the library differ. Change-Id: Ie0486dbc869e84f5fb2688473334cfe464abd570 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164704 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-03-09Enable CVE tests on Windows by defaultMike Kaganski
Since commit c16969b9bc73fdd77e763299d6aea7b614e203e2 (tdf#84553 Detect and warn of Windows Antivirus., 2020-02-08), it is checked that antivirus is disabled in $SRC_ROOT and $BUILDDIR. This reverts commit a6b2c618cb02168bba950652367f494a1021cf53 (disable cve tests by default on windows, 2014-10-01). Change-Id: I3816e97cfb4559f7647167ed291b75468b03dc4d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164612 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-03-04Fix typoAndrea Gelmini
Change-Id: I27c2ecec6355fd81f06c66c016050f1b168179b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164044 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>