summaryrefslogtreecommitdiff
path: root/solenv/gbuild
AgeCommit message (Collapse)Author
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
2024-05-10gbuild: don't create empty services.rdb on "make postprocess"Michael Stahl
Since commit db3a61cd958f4a70417929cf8e1fa9bfd0bfe5a3 "make postprocess.clea; make postprocess" will result in an empty services.rdb, because the components are added in makefiles in other modules. Detect the problem and tell the user to run top-level make. Change-Id: Iab1a15efa5a4c9bb3e90e44f82a9510dff724c80 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167354 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins
2024-05-08Emscripten: Towards a working C++ UNO bridgeStephan Bergmann
...by making the general UNO -> C++ function call case work (modulo handling exceptions, which I'll look into later). Wasm call_indirect unfortunately needs to statically know the call target's signature, so we statically need to know all possible signatures. So introduce wasmcallgen helper to scan the existing UNOIDL API upfront and generate the relevant callvirtualfunction-wrapper.cxx and callvirtualfunction-inst.s code. (The good thing is that the number of different signatures is somewhat limited, each parameter can only be one of i32, i64, f32, or f64. So even if 3rd-party extensions bring along new UNOIDL interface methods, chances are relatively high that the signatures needed for them would already be covered by the existing ones.) Testing this can nicely be done in unotest/source/embindtest/embindtest.js via css.script.Invocation (which internally exercises the relevant code). (Instead of adding individual org.libreoffice.embindtest.StructLong/String etc., it would be nicer to introduce some polymorphic StructOne<T>, but the Emind UNO binding does not support polymorphic structs, so the embindtest.js code would not work.) Change-Id: If829c9e3772bfd27561f3ad743d38a71d11545b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167308 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-05-07Add gb_Library_add_generated_asmobjectsStephan Bergmann
...to be used by a follow up commit in EMSCRIPTEN's bridges/Library_cpp_uno.mk Change-Id: Iaebc18d40241d9b7918061100b25cca8a8bc4e0e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167291 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-05-07Revert "make skia into static library"Noel Grandin
This reverts commit 6517ce70e50e61441484e7ee7a4be0e265020175. Reason for revert: <_rene__> noelgrandin: ping? <_rene__> noelgrandin: /usr/bin/ld: /home/rene/LibreOffice/git/master/workdir/LinkTarget/StaticLibrary/libskia.a: error adding symbols: archive has no index; run ranlib to add one <_rene__> noelgrandin: caused by your skia static library change. I think I pointed that out once already... <_rene__> $ ld -v <_rene__> GNU ld (GNU Binutils for Debian) 2.42 <noelgrandin> hmm, it's not an ld version issue, because I have ld 2.41 <_rene__> gcc version 13.2.0 (Debian 13.2.0-24) <_rene__> and <_rene__> Debian clang version 16.0.6 (27) <_rene__> fwiw, too <noelgrandin> is that a mergelibs build, or a regular build? <_rene__> mergelibs <_rene__> (the "normal" one, not =more) <_rene__> noelgrandin: ... and LTO <_rene__> noelgrandin: (saying because googling gives me https://github.com/mesonbuild/meson/issues/8371. and yes, .a is built with clang and the rest with gcc "of course") <_rene__> noelgrandin: but the Linux release builds _do_ that: <_rene__> $ grep -E "(lto|merge)" distro-configs/LibreOfficeLinux.conf <_rene__> --enable-mergelibs <_rene__> --enable-lto <_rene__> $ <loircbot> LibreOffice (core) [libreoffice-7-6-7] lohmaier+LibreOffice · readlicense_oo/license/CREDITS.fodt · update credits <noelgrandin> oh yeah, good spotting <noelgrandin> yes, LTO is going to be a problem because skia is built with clang Change-Id: I96c63109d2856c6e4cb22cf9ac945d4cfa9848c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167227 Tested-by: René Engelhard <rene@debian.org> Reviewed-by: René Engelhard <rene@debian.org> Tested-by: Jenkins
2024-05-07make skia into static libraryNoel Grandin
(1) we only use it from inside vcl (2) it exports a boatload of symbols (3) its a performance hotspot so lets link it inside and give the optimiser as much room as possible. Change-Id: If19d5556e3b45f40ef09d1e9225d12ef5f1ec32a Change-Id: I3d5edca20f5a15e8981f17fe9fcb9a338006eaff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167273 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-07fix Windows incremental buildNoel Grandin
after commit 4c86718e78c6b18c84774e48ca025694364c251a Author: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Date: Thu Apr 18 12:45:01 2024 +0200 initial support for running autogen.sh inside wsl from git-bash otherwise we end up with mixed cygwin/windows paths in our .d files, which the make executable we use will not like. Change-Id: Ia1325793f47657a23774c216df319ae6afd6d638 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167269 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-05-06makefile simplification: replace $(call gb_UnpackedTarball_get_dir,foo)Christian Lohmaier
…by a simple/static $(gb_UnpackedTarball_workdir)/foo see also 0c4c84a14b01c71c76a9c45a7f26aec4d64f3e4f Change-Id: I8e6aa55c85534c4446556548910c950ddbe7c6fc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167163 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Jenkins
2024-05-04turn gb_HelpTranslatePartTarget_get_workdir into errorChristian Lohmaier
separate commit since that macro is used in helpcontent submodule Change-Id: I2525b03eadf75b108499701f7f576634619cbf1b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167123 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-05-04makefile simplification: replace $(call ↵Christian Lohmaier
gb_HelpTranslatePartTarget_get_workdir,foo) …by a simple/static $(gb_HelpTranslatePartTarget_workdir)/foo see also 0c4c84a14b01c71c76a9c45a7f26aec4d64f3e4f Change-Id: I2525b03eadf75b108499701f7f576634619ccf1b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167122 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-05-04makefile simplification: replace $(call gb_HelpTarget_get_workdir,foo)Christian Lohmaier
…by a simple/static $(gb_HelpTarget_workdir)/foo see also 0c4c84a14b01c71c76a9c45a7f26aec4d64f3e4f Change-Id: Ibe4ce564b021158f3b1800fad96bdeee88792a97 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167121 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-05-04makefile simplification: replace $(call gb_Galley_get_workdir,foo)Christian Lohmaier
…by a simple/static $(gb_Gallery_workdir)/foo see also 0c4c84a14b01c71c76a9c45a7f26aec4d64f3e4f Change-Id: Iaa2ab218b329a15c7bf2ea528e2612a3a6b44f6c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167120 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Jenkins
2024-05-04makefile simplification: replace $(call gb_Extension_get_workdir,foo)Christian Lohmaier
…by a simple/static $(gb_Extension_workdir)/foo see also 0c4c84a14b01c71c76a9c45a7f26aec4d64f3e4f Change-Id: Id0184717f2cc30af792266b233eec957b99e7e26 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167119 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-05-03turn gb_CustomTarget_get_workdir into error and remove old _repo_targetsChristian Lohmaier
separate commit since help submodule also uses the macro. actually turn it into make error to prevent reintroducing it the repo_target ones are from way back when the whole repo was split up in many different ones and not used for many years, no point in having those as errors Change-Id: I9fd42529d08ea7859b33f8570936f06039cfa184 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167006 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-05-03makefile simplification: replace $(call gb_CustomTarget_get_workdir,foo)Christian Lohmaier
…by a simple/static $(gb_CustomTarget_workdir)/foo The build system has a lot of overly complicated leftovers from when it was introduced and had not only deal with split repositories but also had to coexist with another buildsystem. Along with lots of copy'n'paste along the years the makefiles became hard to grasp for newcomers with all our calls and evals. As a first step to streamline that, the macros from TargetLocations that simply prefix a static path to the argument (and similar of the same kind) are a natural pick before simplifying the rules themselves/getting rid of a bunch of eval statements. Change-Id: Ia06dbbcd5d1994755a2ff05b84f72ccbc4e3cab5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167005 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-05-02Prepare to run (select) tests during Emscripten buildStephan Bergmann
...by e.g. executing generated Wasm code with node. This requires check targets to not be skipped unconditionally, unlike for other CROSS_COMPILING builds, so introduce gb_CAN_EXECUTE_HOST_CODE to distinguish these cases. Which revealed that some CppunitTest targets unconditionally used artefacts that are covered by some ENABLE_WASM_STRIP_*, so made those uses conditional accordingly (even though the resulting binaries might actually be dysfunctional, lacking relevant parts; we'll fix that if and when we actually build and run them). Change-Id: I7144eeb908ede25358a3c8186198ac532de4d9f1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166931 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-04-30Emscripten: Only add the --pre-js code to the soffice executableStephan Bergmann
...so that e.g. executing `echo test | node instdir/program/uri-encode.js` doesn't fail with > instdir/program/uri-encode.js:460 > throw ex; > ^ > > ReferenceError: XMLHttpRequest is not defined > at runMetaWithFS (instdir/program/uri-encode.js:312:15) > at callRuntimeCallbacks (instdir/program/uri-encode.js:1882:26) > at preRun (instdir/program/uri-encode.js:913:3) > at run (instdir/program/uri-encode.js:6854:3) > at runCaller (instdir/program/uri-encode.js:6802:19) > at removeRunDependency (instdir/program/uri-encode.js:1060:7) > at receiveInstance (instdir/program/uri-encode.js:1265:5) > at receiveInstantiationResult (instdir/program/uri-encode.js:1281:5) (There's nothing special about uri-encode here, it just happens to be the only other executable that is built into instdir/program/ by the Emscripten build, even if it is probably not even useful there. It expects to read something from stdin, hence the echo part.) (The generic solenv/gbuild/Executable.mk no longer depends on soffice.data.js.link, but it still depends on soffice.data and soffice.data.js.metadata for some cp instructions in solenv/gbuild/platform/unxgcc.mk, so make those dependencies explicit. That can probably be cleaned up further in a next step.) Change-Id: I993878a5f6d19d13728d17e803ae7d773946a1d1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166930 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-04-29ofz#68265 fix oss-fuzz build failureCaolán McNamara
Change-Id: I73087235d87253f4c8375fa0c0492c6258701571 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166827 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-04-27fix mergelibs buildNoel Grandin
since commit 828c1999e08c5bfad0a1d0e6e5ab07ee8bbc427e Author: Noel Grandin <noelgrandin@gmail.com> Date: Wed Apr 10 16:50:51 2024 +0100 move writerfilter inside sw Change-Id: I1c8b37510ccdd640937669f36c8086f5f65183f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166782 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-04-26gbuild trace: disable flock for wsl-as-helper caseChristian Lohmaier
Change-Id: Ie5db3fcc6fccedb214aec472852d8d82813fb984 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166744 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-04-26run bison, flex and nasm via wsl in wsl-as-helper caseChristian Lohmaier
Change-Id: Ic3e82b72605cd0b5458bd31ab5ff5285adb3db75 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166340 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-04-26run gperf via wsl in wsl-as-helper caseChristian Lohmaier
also split up the gperf commands when generating sw/generated/tokens.cxx wsl has trouble appending using shell redirects, so use separate targets and use cat in the final processing step for tokens.cxx see also https://github.com/microsoft/WSL/issues/4400 Change-Id: Id7a24d060e9be71113ec2827a389d347456f6522 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166338 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Jenkins
2024-04-26run zip via wsl in wsl-as-helper caseChristian Lohmaier
Change-Id: I0c5b75c39c211aba08ae6d56f02bcc93ca11e2bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166337 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-04-26extracting tarballs that call helpers to uncompress require unix-style pathsChristian Lohmaier
Change-Id: I528e343fb5b22194b4639649fbfc04c0583f77c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166336 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-26simplify some sed rules/statements and use proper quotingChristian Lohmaier
make removes partially built targets in case the rule exits with non-zero status, so creating a temp file and moving it is not necessary also use single quotes for cases where characters might be interpreted by the shell Also combine multiple sed calls into a single call of sed with multiple expressions and replace additional "grep -v foo" with corresponding sed delete command Change-Id: Iff7e3b962175e347e5ed100a87c96fbaeef39985 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166410 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-04-24windows: set CONFIG_SHELL for external configure runsChristian Lohmaier
Change-Id: I9cb03692524eced35935ad1979027f7b196e5ed6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166329 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-22add generic %/.dir target that can be used in order-only prerequisitesChristian Lohmaier
Change-Id: I7a919004100ff6319806bbdf016fda6a3a39661a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166327 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-04-22avoid exceeding command-line length limits when using zipChristian Lohmaier
to package an Extension. With all languages enabled one can reach the limit with longish buildpaths Change-Id: I8943d6570ded57761350311fb34a0cf469d3ce83 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166326 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-04-22com_MSC_class: set MAKE=nmake in gb_NMAKE_VARSChristian Lohmaier
Change-Id: I485a486efba39c12c52d7461f4b235163f009042 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166325 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-04-22help: don't use clean targets as .PHONY targetsChristian Lohmaier
Change-Id: Ic86270980823efb8dafd9d00ce33f986203cd975 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166323 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-04-22configure already sets TMPDIR to mixed pathChristian Lohmaier
Change-Id: I72070b054fb505c25f03ff46e7e663d1c1733ad8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166322 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-04-22generic is x86_64-specificCaolán McNamara
Change-Id: Ic9912cdebfc75816c54495db4fef68ebeed32c50 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166417 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-04-19Emscripten: Drop unused, deprecated EXPORTED_RUNTIME_METHODSStephan Bergmann
Linking Executable/soffice.html kept warning about > warning: JS library symbol '$allocateUTF8' is deprecated. Please open a bug if you have a continuing need for this symbol [-Wdeprecated] > warning: deprecated item in EXPORTED_RUNTIME_METHODS: printErr use err instead. > em++: warning: warnings in JS library compilation [-Wjs-compiler] printErr had been introduced in f090004c5f236275ca5142fc578f0375872c0336 "WASM adapt link and debug flags" and allocateUTF8 had been introduced in ce60a3dd4dbff0dcb5b82c9053ae5d90f8ac929d "Add LOKit functions and whitelist export for it to WASM", but in both cases no code seems to ever have made use of either of those two methods, before or after. Change-Id: I1e81ca6ddad748d91653f709c272328cc8f2b679 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166296 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@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-18move writerfilter inside swNoel Grandin
writerfilter wants to convert incoming RTF and OOXML files into writer's document model. But it currently has to do so by manipulating the limited subset that we expose through the UNO API. This is both slower and less accurate than having access to the full document model. So move it inside, and then we can strip out various hacks, and optimise imports. Change-Id: Ie1114d28130ef5f9a786531bc552cb8ee7768015 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165953 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-03-22Determine OSL_DEBUG_LEVEL directly from dbglevelStephan Bergmann
...and reorder the code a bit, so that the dbglevel-releated code is separated from the gb_ENABLE_SYMBOLS_FOR-related code Change-Id: I80649b32fd6cceb8df1e4e2e29e98508e28f338b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165136 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>