summaryrefslogtreecommitdiff
path: root/solenv/gbuild
AgeCommit message (Collapse)Author
2024-11-29make screenshot: add missing dependency to AllLangMoTargetChristian Lohmaier
without the translations, the screenshots for all languages will only have the English strings Change-Id: I9a82da905c74457c0813ca3efb2d6d0ba31a0f86 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177563 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Jenkins
2024-11-04Add experimental support for Emscripten JSPIStephan Bergmann
...which I've seen fundamentally working when building with recent emsdk against recent Qt6 trunk (and including <https://github.com/qt/qtbase/pull/108> "Update the check for WebAssembly JSPI support") and running on recent Chrome (with JSPI enabled under <chrome://flags/>) Change-Id: I98c11c5ee7e95b135ddc33c95c95752055ecd4c5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176031 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-10-30Adapt to generation of .worker.js files gone from 3.1.68Stephan Bergmann
...and just unused dummies since 3.1.58, so don't install them for >= 3.1.58, even if the dummies would still be available for < 3.1.68 Change-Id: Ida55be2fa3b75982bfd764b7b2676e63c092fe79 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175822 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-10-17Adapt experimental Emscripten --enable-qt6 to recent Qt6 upstreamStephan Bergmann
At least when building against recent upstream dev branch, qtloader.js needs FS due to <https://github.com/qt/qtbase/commit/64007c749703090ebf7f9b1b49b4267bb9993b99> "wasm: add 'preload' qtloader config property" Change-Id: Ie505d531670649635774152032123389b6d106ad Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175085 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-10-16On macOS the "cp" command does not have a "-T" optionPatrick Luby
Change-Id: Id7d81c23e79569a74c26e5a69890b3b41f4b2aa6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174982 Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Tested-by: Jenkins
2024-10-10Make --disable-emscripten-proxy-to-pthread configurableStephan Bergmann
...as is convenient for some experiments Change-Id: I74aedb38ecc0f7b5a0d913799f649dce77dc7bba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174753 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-10-10Emscripten: For executables, only build .js files, not .html filesStephan Bergmann
...as for the by-default --enable-qt5 case we generate an additional qt_soffice.html anyway (and for a --disable-gui --disable-qt5 build, client code probably wants to embed the results into its own HTML document and wouldn't rely on an soffice.html); this simplifies the build infrastructure a little Change-Id: Ib50799b5dd2fcfeb680f257f46ff65775dcddd71 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174725 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-10-07Emscripten: Silence -Wlimited-postlink-optimizationsStephan Bergmann
...when building with --enable-optimized --enable-symbols --enable-werror, > em++: error: running limited binaryen optimizations because DWARF info requested (or indirectly required) [-Wlimited-postlink-optimizations] [-Werror] > make[3]: *** [Makefile:506: spellout] Error 1 > make[2]: *** [Makefile:366: all] Error 2 > make[1]: *** [external/libnumbertext/ExternalProject_libnumbertext.mk:25: core/workdir/ExternalProject/libnumbertext/build] Error 1 etc. Change-Id: I62ff0a750d62d6bc50de670623e872beddfb4809 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174642 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-10-02Avoid C4847 with --with-latest-c++ when compiling CLRStephan Bergmann
> [build CLR] cli_ure/source/climaker/climaker_emit.cxx > c1xx: error C2220: the following warning is treated as an error > c1xx: warning C4857: C++/CLI mode does not support C++ versions newer than C++20; setting language to /std:c++20 etc., as seen now with at least VS2022 Preview 17.12.0 Preview 2.1 Change-Id: I34d5bca2a81e849ba24b8df5f41ebb12f08a75fd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174389 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-09-19Remaining GCC -Wcast-function-type issuesStephan Bergmann
As Clang supports that warning now too, lots of occurrences have meanwhile been cleaned up for good (0c29c417ef3f0b749042e5a461abae9c36cf655b "Avoid -Werror,-Wcast-function-type-mismatch", 1344e6261a1d856c71eca1e0cc29215a586bf335 "Avoid -Werror,-Wcast-function-type-mismatch", 85a2bb9f52a0d834b02681344ce56e0b091e1abd "Avoid -Werror,-Wcast-function-type-mismatch", etc.), so ce99754e9b5b954be4360f39356ed7198b298265 "Globally disable -Wcast-function-type new with upcoming GCC 8" in solenv/gbuild/platform/com_GCC_defs.mk should no longer be necessary. One remaining issue I encountered was dae7304df68493afcf6e9c9e490d65ea20d8211f "Silence Clang 19 trunk -Werror,-Wcast-function-type-mismatch", where GCC needs a different way for silencing the warnings in pyuno/source/module/ than had been used there for Clang. Change-Id: I5d0404b957d798114051209c31e022a898cf91f1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173623 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-09-03Emscripten: Move -sEXPORT_EXCEPTION_HANDLING_HELPERS to gb_LinkTarget_LDFLAGSStephan Bergmann
...following up on 95e719730dc62cee3edc959bd9d96edfb992a642 "Emscripten: Explicitly set -sEXPORT_EXCEPTION_HANDLING_HELPERS". For one, it should indeed only be relevant for linking. For another, the previous change had caused at least ExternalProject_libtiff to fail with "checking whether the C compiler works... no" because of "emcc: error: EXPORT_EXCEPTION_HANDLING_HELPERS requires either of -fexceptions or -fwasm-exceptions". Change-Id: I477731c1cffd2b6ee895116043eda91fca44d08f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172825 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-09-03Emscripten: Explicitly set -sEXPORT_EXCEPTION_HANDLING_HELPERSStephan Bergmann
...so that getCppExceptionTag and getCppExceptionThrownObjectFromWebAssemblyException are available in static/emscripten/uno.js. Those apparently happen to already be available due to -sASSERTIONS=1, but better make that explicit (e.g., when we ever want to do -sASSERTIONS=0 builds). Change-Id: I3d94580930603eaf0f609d7878f97d12fb026714 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172788 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-09-02scp2: simplifiy language snippet creation rulesChristian Lohmaier
get rid of some needless redirection/nesting for stuff that's only used a single time. Change-Id: Ie72c006ae1ad1839ae72a1eb19c67d2122798af2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172737 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-08-30wsl: avoid another case of redirection / pipingChristian Lohmaier
in high-parallelsim/high load case the issues with piping commands with wsl1 can result in an incomplete file being generated in b87da3e9402c8b56ce2a16213802224f9288de4d a similar problem when appending with wsl was addressed by splitting the targets, but in this case just separating the commands is more straightforward Change-Id: I92cc06bf489b2cb4f8ffd412a91656fb6ca48233 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172482 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Jenkins
2024-08-28Put back the mkdirStephan Bergmann
...that 1c84943890afea8eaa8fdaeabbd4394680d657f9 "run msguniq .. | msgfmt in a subshell to help out wsl1", and which caused all kinds of from-scratch builds to fail now with > [build MO ] accde > msgfmt: error while opening "/home/tdf/lode/jenkins/workspace/lo_ubsan/workdir/MoTarget/accde.mo" for writing: No such file or directory > make[1]: *** [/home/tdf/lode/jenkins/workspace/lo_ubsan/solenv/gbuild/AllLangMoTarget.mk:40: /home/tdf/lode/jenkins/workspace/lo_ubsan/workdir/MoTarget/accde.mo] Error 1 etc. (<https://ci.libreoffice.org/job/lo_ubsan/3288/> Change-Id: I756ebdf68f09367d24181ed47b6b5735c45aebf9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172484 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-08-27run msguniq .. | msgfmt in a subshell to help out wsl1Christian Lohmaier
handling stdout / pipe / redirections seems to be fragile when using wsl command1 | wsl command2 when multiple of those are run concurrently. So as a woraround make that a single invokation of wsl shell -c "command1 | command2" Change-Id: I9e67fddd6cf377aa0461515036ea7b709714153d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172468 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Jenkins
2024-08-22Emscripten: Experimental -sPROXY_POSIX_SOCKETS supportStephan Bergmann
...see <https://emscripten.org/docs/porting/networking.html#full-posix-sockets-over-websocket-proxy-server>. This requires <https://github.com/stbergmann/emscripten/commit/4aff1f28b88480791236adcc6d5cb2d919ad4bf3> "-sPROXY_POSIX_SOCKETS: Add websocket_proxy_poll". When configured with --disable-socketpair (which appears to have no negative consequences), external/curl appears to only call poll(2) with socket-related file descriptors, so we can use websocket_proxy_poll instead. The URL on which the websocket_to_posix_proxy process listens must be specified as Module.uno_websocket_to_posix_socket_url. Change-Id: I4ad23098b5bbc0646fa50859c0aeb9870d1cc92a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172243 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-08-18Emscripten: Increase the main thread stack sizeStephan Bergmann
At least when LO tries to download a document and UUIInteractionHelper::handleErrorHandlerRequest wants to show a MessageDialog via Qt, the stack grows relatively large, and gray_convert_glyph (workdir/UnpackedTarball/freetype/src/smooth/ftgrays.c) alone allocates on the stack a buffer of size FT_MAX_GRAY_POOL * sizeof(TCell) = 1024 * 16 = 16K, which causes (silent, due to no -sSTACK_OVERFLOW_CHECK=2) stack overflow. So (somewhat randomly) double the size of the main thread stack to 128K; but, at least for now, keep the default value of 64K for other threads (which would otherwise inherit the explicitly set -sSTACK_SIZE value via the -sDEFUALT_PTHREAD_STACK_SIZE=0 default). Change-Id: I96583f4af93c84b15c67f310068c5631fb129d40 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172011 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-08-18Drop obsolete commentStephan Bergmann
...after 6e6451ce96f47e0ef5e8ecf1750f394ff3fb48e4 "Emscripten: Move the Qt event loop off the JS main thread" Change-Id: Iea9cb74fa2fc3dd036ee865e1bd8ede93fb33c78 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172010 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-08-12Emscripten: Move the Qt event loop off the JS main threadStephan Bergmann
...so that spawning and joining new threads works now and we no longer need a hardcoded -sPTHREAD_POOL_SIZE of pre-spawned threads (see b84ef4d67eaf9f9fd7fd700ca05339cb0cdff742 "Adapt comphelper::ThreadPool to Emscripten's threading needs"; lets keep MAX_CONCURRENCY capped at 4, at least for now, though). This requires <https://github.com/allotropia/qtbase/commit/167b08844df06e3cea85c98161b26e97442ab242> "Minimal support for Emscripten -sPROXY_TO_PTHREAD=1" and <https://github.com/allotropia/qtbase/commit/c722a25630a5390f18a4d974aa942f6376fcb8e1> "Implement QWasmCursor::changeCursor for Emscripten PROXY_TO_PTHREAD case" (see TODOs there). Change-Id: I8cea827bd7786e3c9fd9401b4b2bef9d3ec00d5a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171758 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-08-09Avoid -Werror,-Wunused-command-line-argument in CompilerTestsStephan Bergmann
...after <https://github.com/llvm/llvm-project/commit/6461e537815f7fa68cef06842505353cf5600e9c> "[Driver] Don't claim -c/-S", > [CPT] sal/qa/rtl/strings/compile-oustring.cxx > clang++: error: argument unused during compilation: '-c' [-Werror,-Wunused-command-line-argument] etc. Change-Id: I2a128c21fdc8a8858981a359880cf1d92c60cd68 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171692 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-08-03.NET Bindings: Add DotnetTest class to gbuildRMZeroFour
This commit adds the DotnetTest gbuild class to build a unit test suite using the .NET SDK and the NUnit testing framework. Also adds a DotnetTest target for the net_ure module, with unit tests for the Any type, as well as some minor changes to the Any type that came about when writing the test cases. Change-Id: Idbc08ac8f0736dd7355092dd1e69a5f1b4137c4c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168956 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org>
2024-08-03.NET Bindings: Improve DotnetLibrary gbuild classRMZeroFour
This commit rewrites the DotnetLibrary gbuild class to build a .NET library. Logic for handling various .NET languages is now consolidated, while earlier there were separate functions for each language. Usage has been made much more similar to the Jar gbuild class. The CustomTargets used to build net_uretypes and net_oootypes have also been reworked, and a function has been added to DotnetLibrary to consume sources generated by a custom target, for cleaner usage. Change-Id: Ie494b2547d30c43f9bb0aedeac4d140f1f3a830b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170168 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org>
2024-08-03.NET Bindings: Upgrade --enable-dotnet to --with-dotnetRMZeroFour
This commit changes the existing --enable-dotnet switch into --with-dotnet, allowing users to pass in a different dotnet executable than the one on their PATH, similar to --with-java. This is used to determine the variables DOTNET and DOTNET_ROOT. Change-Id: Ia4f02dfdbd33d7629a800a076f758b26bb186d9f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169656 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org>
2024-08-01pyuno,unotest,xmlsecurity: copy GPG test files for UITtestMichael Stahl
The problem was that running UITest_xmlsecurity_gpg changed the files in test/signing-keys/ ... prevent that by copying the directory in that test, which is more complicated than initially expected. Change-Id: Ie3be922e0b2e9dae49f9a70e35ad5270c90b4fc4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171322 Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins
2024-07-28sfx2, solenv, sw: fix issues found by Ruff linterIlmari Lauhakangas
Change-Id: Iab375e8c8aa4c4915f3c70a9ef6aede268e4619f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171138 Tested-by: Jenkins Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2024-07-26Looks like Emscripten LO doesn't need explicit --norestore --nologoStephan Bergmann
...mostly because the relevant parts of the code are hard-disabled (even if you would --disable-wasm-strip) with ENABLE_WASM_STRIP_RECOVERYUI=TRUE and ENABLE_WASM_STRIP_SPLASH=TRUE. (And if there are places in the code that would need the equivalent of either --norestore or --nologo after all, we could probably better add explicit #if EMSCRIPTEN there instead.) This allows to get rid of hard-coding the Qt Emscripten LO command line arguments, which means that e.g. web applications embedding LO would now be able to specify them themselves. Change-Id: I8e2dcfd170cc32276bfb9007f098f6ae6a7f9ec1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171063 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-07-25Enable start center in Emscripten buildStephan Bergmann
...and let it open with that instead of with a hard-coded example.odt. (But keep that example.odt in CustomTarget,static_emscripten_fs_image and adapt the example code in static/README.wasm.md to explicitly load it now.) Change-Id: Ie43e3795e44542acba5a8e755f65acc56fa753f8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171019 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-07-25Adapt comphelper::ThreadPool to Emscripten's threading needsStephan Bergmann
...by keeping the worker threads around by default instead of joining and later re-spawning them; see 5b1df7709d75c6dd993da5a272e7e37e55a70174 "Document the Emscripten threads issue". But lets be cautious and change the bJoin default only for Emscripten. Also, cap the thread pool size to MAX_CONCURRENCY=4 and increase to -sPTHREAD_POOL_SIZE=6. In an experimental setup where the Emscripten build starts up with the start center rather than a Writer document, that is just enough to cover the thread-spawning needs when executing the start center window's paint task: Four threads for the comphelper::ThreadPool (used from within drawinglayer::convertToBitmapEx -> ... -> BitmapBasicMorphologyFilter::filter), and one each for configmgr::Components::WriteThread (see e8358d0a0f7c2c4b1ccf800fe9ec8a7f2bf7066a "Keep around a single configmgr::Components::WriteThread instance") and salhelper::TimerManager. Change-Id: I5b1d0e9dc09f05fb3b679c8dc1c38ee45c61c0f8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171004 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-07-17xmlsecurity: Add UItest (save GPG encrypted ODF)Moritz Duge
Change-Id: I09dd13334e0d3da5f6004312bae69b5c77120434 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167904 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2024-07-17Simplify checking for "running under unit/ui test"Noel Grandin
In various places, the code checks if we are running as a unit test or a UI test. This code grew organically, and is most re-using environment variables that were designed for narrower purposes. Rather than being clever, just add two new explicit and simple environment variables in the natural place (the command that runs them), and check for those variables in the code. Change-Id: Icce0997914fa0be30a5ac1f29bd870bdb5893a8b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170618 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-07-11Rename wasmcallgen -> wasmbridgegenStephan Bergmann
...to acknowledge the tools' more general role since 74829f2a64b6989ddf1d126a6fd2f2d2e9000d3b "Fully implement the Wasm UNO bridge cpp2uno direction" Change-Id: Ie89255579774035f7b726d1d4b029dc536893ca0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170382 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
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-03Fix Help build with --with-lang=...Olivier Hallot
Variable gb_POLOCATION is empty. include langlist.mk after TargetLocations.mk Change-Id: I3e82624df84700c922d116b32a366c0e6b424235 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169928 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-07-01Only use -Wv:18 in Visual Studio 2019Mike Kaganski
And fix the warnings discovered in Visual Studio 2022: C:/lo/core/cli_ure/source/uno_bridge/cli_proxy.cxx(714): warning C4456: declaration of 'numMethods' hides previous local declaration C:/lo/core/cli_ure/source/uno_bridge/cli_proxy.cxx(681): note: see declaration of 'numMethods' C:/lo/core/cli_ure/source/uno_bridge/cli_proxy.cxx(1032): warning C4457: declaration of 'pUnoI' hides function parameter C:/lo/core/cli_ure/source/uno_bridge/cli_proxy.cxx(918): note: see declaration of 'pUnoI' C:/lo/core/cli_ure/source/uno_bridge/cli_uno.cxx(109): warning C4456: declaration of 'param' hides previous local declaration C:/lo/core/cli_ure/source/uno_bridge/cli_uno.cxx(84): note: see declaration of 'param' C:/lo/core/cli_ure/source/uno_bridge/cli_uno.cxx(256): warning C4456: declaration of 'param' hides previous local declaration C:/lo/core/cli_ure/source/uno_bridge/cli_uno.cxx(240): note: see declaration of 'param' Change-Id: I99abcf17c7c431a403a488c53b65ef34d66d0940 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169782 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-07-01Fix the warning descriptionMike Kaganski
Change-Id: I355e4ab73f58303c3b423ec4230bd55ded95da05 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169785 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-06-27.NET Bindings: Remove absolute path check in DotnetLibraryRMZeroFour
This commit removes the gb_DotnetLibrary__ensure_absolute gbuild function that was breaking out-of-source directory builds. Code using that function was changed to accept already absolute paths as arguments. Change-Id: I6d9d3dac33e296cf0e69910f16564d822047857e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169353 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
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-19makefile simplification: replace $(call gb_AutoInstall_get_target,foo)Christian Lohmaier
by a simple/static $(gb_AutoInstall_targetdir)/foo and also drop the custom .dir target Change-Id: I4893c2675cb076cb8a0b61c0c207a223658b43d5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168709 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-06-19.NET Bindings: Add netmaker (.NET codemaker)RMZeroFour
This commit adds the netmaker executable to the codemaker/ module, to generate C# code from UNOIDL specifications. Also adds some Makefiles in the net_ure/ directory to generate code for udkapi and offapi, to build the net_uretypes and net_oootypes assemblies. Change-Id: Ifb61fe6a0f8f594eaa6ff95b025ba57f247b0d4b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168710 Tested-by: Jenkins Tested-by: Hossein <hossein@libreoffice.org> Reviewed-by: Hossein <hossein@libreoffice.org>
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-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-07Make Embind-related code also available under --disable-dbgutilStephan Bergmann
...and just keep embindtest.js --enable-dbgutil--only. For convenience when using EMSCRIPTEN_EXTRA_SOFFICE_POST_JS recently introduced in 82640810efd1636e358c047a1a5b3e4e3fc9d28a "New EMSCRIPTEN_EXTRA_SOFFICE_POST_JS configure variable". Change-Id: I03311d89ff14a70f84e03e99ab8e609641ea589b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168552 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-06-05Simplify make.clean in helpcontent2 gbuildOlivier Hallot
Change-Id: I795aa46943b4433624dfc04e9962e2a40528d188 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168470 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-06-05Fix make 'clean' command in helpcontents2/Olivier Hallot
Change-Id: I1bc66a8f4a4c258983e1fa141cc106bd52c27dfe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168412 Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org> Tested-by: Jenkins
2024-06-04Fix typoAndrea Gelmini
Change-Id: I2c8899e5ab779dbd94c5096c72e2fbb09e40d4ad Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168377 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-06-03disable MSVC -analyse when run in CI - build time penalty is too muchChristian Lohmaier
times went from 55min to 88min when doing a single build Change-Id: I9304eae9f2326c206bd571e7b8a3ef861206282f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168362 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-31wsl-as-helper: enable gb_COLOR by default when using git-bashChristian Lohmaier
Change-Id: I3c24e8b3049e9bd669952ac3b24678bb3c5e1014
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-17introduce SAL_RET_MAYBENULLCaolán McNamara
which for debug builds and MSVC uses _Ret_maybenull_ and -analyze to enforce null checking Change-Id: Id7f0ad854be7841819fdbdcd56c862d1a2df86c3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166734 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins