bridges/source/cpp_uno/msvc_win32_arm64/abi.cxx | 102 -------------------- bridges/source/cpp_uno/msvc_win32_arm64/abi.hxx | 2 bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx | 26 ----- bridges/source/cpp_uno/msvc_win32_arm64/uno2cpp.cxx | 22 ---- editeng/CustomTarget_generated.mk | 2 extras/CustomTarget_autocorr.mk | 4 extras/CustomTarget_autotextshare.mk | 5 extras/CustomTarget_autotextuser.mk | 7 - extras/CustomTarget_templates.mk | 14 +- extras/CustomTarget_tplpresnt.mk | 7 - extras/CustomTarget_tplwizard.mk | 14 +- filter/CustomTarget_svg.mk | 6 - sdext/CustomTarget_pdfimport.mk | 2 solenv/gbuild/CustomTarget.mk | 2 solenv/gbuild/Extension.mk | 8 - solenv/gbuild/Zip.mk | 4 sw/CustomTarget_generated.mk | 34 +++--- 17 files changed, 61 insertions(+), 200 deletions(-)
New commits: commit 1b9482e1d21aec6c40e724efb9109fe9f9ed3e49 Author: Stephan Bergmann <stephan.bergm...@allotropia.de> AuthorDate: Fri Apr 26 10:17:36 2024 +0200 Commit: Stephan Bergmann <stephan.bergm...@allotropia.de> CommitDate: Fri Apr 26 14:01:54 2024 +0200 Drop unused RETURN_KIND_HFA_FLOAT/DOUBLE from msvc_win32_arm64 UNO bridge Change-Id: I8c6fbed8c587affda69285c203a3a93fa2e2e603 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166699 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergm...@allotropia.de> diff --git a/bridges/source/cpp_uno/msvc_win32_arm64/abi.cxx b/bridges/source/cpp_uno/msvc_win32_arm64/abi.cxx index b8a1c73fb6f3..fbfdb1f34f40 100644 --- a/bridges/source/cpp_uno/msvc_win32_arm64/abi.cxx +++ b/bridges/source/cpp_uno/msvc_win32_arm64/abi.cxx @@ -18,96 +18,11 @@ */ #include <sal/config.h> -#include <sal/types.h> #include <cassert> #include "abi.hxx" -enum StructKind -{ - STRUCT_KIND_EMPTY, - STRUCT_KIND_FLOAT, - STRUCT_KIND_DOUBLE, - STRUCT_KIND_POD, - STRUCT_KIND_DTOR -}; - -static StructKind getStructKind(typelib_CompoundTypeDescription const* type) -{ - StructKind k = type->pBaseTypeDescription == 0 ? STRUCT_KIND_EMPTY - : getStructKind(type->pBaseTypeDescription); - - for (sal_Int32 i = 0; i != type->nMembers; ++i) - { - StructKind k2 = StructKind(); - switch (type->ppTypeRefs[i]->eTypeClass) - { - case typelib_TypeClass_BOOLEAN: - case typelib_TypeClass_BYTE: - case typelib_TypeClass_SHORT: - case typelib_TypeClass_UNSIGNED_SHORT: - case typelib_TypeClass_LONG: - case typelib_TypeClass_UNSIGNED_LONG: - case typelib_TypeClass_HYPER: - case typelib_TypeClass_UNSIGNED_HYPER: - case typelib_TypeClass_CHAR: - case typelib_TypeClass_ENUM: - k2 = STRUCT_KIND_POD; - break; - case typelib_TypeClass_FLOAT: - k2 = STRUCT_KIND_FLOAT; - break; - case typelib_TypeClass_DOUBLE: - k2 = STRUCT_KIND_DOUBLE; - break; - case typelib_TypeClass_STRING: - case typelib_TypeClass_TYPE: - case typelib_TypeClass_ANY: - case typelib_TypeClass_SEQUENCE: - case typelib_TypeClass_INTERFACE: - k2 = STRUCT_KIND_DTOR; - break; - case typelib_TypeClass_STRUCT: - { - typelib_TypeDescription* td = 0; - TYPELIB_DANGER_GET(&td, type->ppTypeRefs[i]); - k2 = getStructKind(reinterpret_cast<typelib_CompoundTypeDescription const*>(td)); - TYPELIB_DANGER_RELEASE(td); - break; - } - default: - assert(false); - } - switch (k2) - { - case STRUCT_KIND_EMPTY: - // this means an empty sub-object, which nevertheless obtains a byte - // of storage (TODO: does it?), so the full object cannot be a - // homogeneous collection of float or double - case STRUCT_KIND_POD: - assert(k != STRUCT_KIND_DTOR); - k = STRUCT_KIND_POD; - break; - case STRUCT_KIND_FLOAT: - case STRUCT_KIND_DOUBLE: - if (k == STRUCT_KIND_EMPTY) - { - k = k2; - } - else if (k != k2) - { - assert(k != STRUCT_KIND_DTOR); - k = STRUCT_KIND_POD; - } - break; - case STRUCT_KIND_DTOR: - return STRUCT_KIND_DTOR; - } - } - return k; -} - ReturnKind getReturnKind(typelib_TypeDescription const* type) { switch (type->eTypeClass) @@ -134,24 +49,9 @@ ReturnKind getReturnKind(typelib_TypeDescription const* type) case typelib_TypeClass_TYPE: case typelib_TypeClass_ANY: case typelib_TypeClass_SEQUENCE: + case typelib_TypeClass_STRUCT: case typelib_TypeClass_INTERFACE: return RETURN_KIND_INDIRECT; - case typelib_TypeClass_STRUCT: - if (type->nSize > 16) - { - return RETURN_KIND_INDIRECT; - } - switch (getStructKind(reinterpret_cast<typelib_CompoundTypeDescription const*>(type))) - { - case STRUCT_KIND_FLOAT: - return RETURN_KIND_INDIRECT; - case STRUCT_KIND_DOUBLE: - return RETURN_KIND_INDIRECT; - case STRUCT_KIND_DTOR: - return RETURN_KIND_INDIRECT; - default: - return RETURN_KIND_INDIRECT; - } } } diff --git a/bridges/source/cpp_uno/msvc_win32_arm64/abi.hxx b/bridges/source/cpp_uno/msvc_win32_arm64/abi.hxx index 38a61161ca62..f815685a8a49 100644 --- a/bridges/source/cpp_uno/msvc_win32_arm64/abi.hxx +++ b/bridges/source/cpp_uno/msvc_win32_arm64/abi.hxx @@ -24,8 +24,6 @@ enum ReturnKind { RETURN_KIND_REG, - RETURN_KIND_HFA_FLOAT, - RETURN_KIND_HFA_DOUBLE, RETURN_KIND_INDIRECT }; diff --git a/bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx b/bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx index a43cd3e24698..9a79ce543940 100644 --- a/bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx +++ b/bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx @@ -201,32 +201,6 @@ void call(bridges::cpp_uno::shared::CppInterfaceProxy* proxy, assert(false); } break; - case RETURN_KIND_HFA_FLOAT: - assert(rtd != 0); - switch (rtd->nSize) - { - case 16: - std::memcpy(fpr + 3, static_cast<char*>(retin) + 12, 4); - [[fallthrough]]; - case 12: - std::memcpy(fpr + 2, static_cast<char*>(retin) + 8, 4); - [[fallthrough]]; - case 8: - std::memcpy(fpr + 1, static_cast<char*>(retin) + 4, 4); - [[fallthrough]]; - case 4: - std::memcpy(fpr, retin, 4); - break; - default: - assert(false); - } - assert(!retConv); - break; - case RETURN_KIND_HFA_DOUBLE: - assert(rtd != 0); - std::memcpy(fpr, retin, rtd->nSize); - assert(!retConv); - break; case RETURN_KIND_INDIRECT: retout = indirectRet; gpr[0] = reinterpret_cast<sal_uInt64>(retout); diff --git a/bridges/source/cpp_uno/msvc_win32_arm64/uno2cpp.cxx b/bridges/source/cpp_uno/msvc_win32_arm64/uno2cpp.cxx index abb911448535..b753509a8a6e 100644 --- a/bridges/source/cpp_uno/msvc_win32_arm64/uno2cpp.cxx +++ b/bridges/source/cpp_uno/msvc_win32_arm64/uno2cpp.cxx @@ -226,28 +226,6 @@ void call(bridges::cpp_uno::shared::UnoInterfaceProxy* pProxy, assert(false); } break; - case RETURN_KIND_HFA_FLOAT: - switch (aReturnTD->nSize) - { - case 16: - std::memcpy(static_cast<char*>(ret) + 12, fpr + 3, 4); - [[fallthrough]]; - case 12: - std::memcpy(static_cast<char*>(ret) + 8, fpr + 2, 4); - [[fallthrough]]; - case 8: - std::memcpy(static_cast<char*>(ret) + 4, fpr + 1, 4); - [[fallthrough]]; - case 4: - std::memcpy(ret, fpr, 4); - break; - default: - assert(false); - } - break; - case RETURN_KIND_HFA_DOUBLE: - std::memcpy(ret, fpr, aReturnTD->nSize); - break; case RETURN_KIND_INDIRECT: break; } commit b87da3e9402c8b56ce2a16213802224f9288de4d Author: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> AuthorDate: Wed Aug 2 17:10:59 2023 +0200 Commit: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> CommitDate: Fri Apr 26 14:01:51 2024 +0200 run gperf via wsl in wsl-as-helper case 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+libreoff...@googlemail.com> Tested-by: Jenkins diff --git a/editeng/CustomTarget_generated.mk b/editeng/CustomTarget_generated.mk index 8f05f6ccb23b..fe7aa10ae18a 100644 --- a/editeng/CustomTarget_generated.mk +++ b/editeng/CustomTarget_generated.mk @@ -19,7 +19,7 @@ $(editeng_INC)/tokens.hxx $(editeng_INC)/tokens.gperf : $(editeng_SRC)/tokens.tx $(call gb_ExternalExecutable_get_command,python) $(editeng_PY) $(editeng_SRC)/tokens.txt $(editeng_INC)/tokens.gperf $(editeng_INC)/tokens.cxx : $(editeng_INC)/tokens.gperf - $(GPERF) --compare-strncmp --readonly-tables $(editeng_INC)/tokens.gperf \ + $(call gb_Helper_wsl_path,$(GPERF) --compare-strncmp --readonly-tables $(editeng_INC)/tokens.gperf) \ | sed -e '/^#line/d' -e 's/(char\*)0/(char\*)0, XML_TOKEN_INVALID/g' > $@ $(call gb_CustomTarget_get_target,editeng/generated) : $(editeng_INC)/tokens.cxx diff --git a/filter/CustomTarget_svg.mk b/filter/CustomTarget_svg.mk index bc980eb48e82..7eb0d6178d52 100644 --- a/filter/CustomTarget_svg.mk +++ b/filter/CustomTarget_svg.mk @@ -39,9 +39,9 @@ $(filter_GEN_svg_Tokens_hxx) : $(filter_GEN_svg_Tokens_gperf) $(filter_GEN_svg_Tokens_cxx) : $(filter_GEN_svg_Tokens_gperf) $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),build,GPF,1) - $(call gb_Helper_abbreviate_dirs, \ - $(GPERF) --compare-strncmp -C -m 20 --switch=2 --readonly-tables $(filter_GEN_svg_Tokens_gperf) \ - | sed -e '/^#line/d' -e 's/(char\*)0/(char\*)0$(COMMA) 0/g' > $@) + $(call gb_Helper_wsl_path,\ + $(GPERF) --compare-strncmp -C -m 20 --switch=2 --readonly-tables $(filter_GEN_svg_Tokens_gperf)) \ + | sed -e '/^#line/d' -e 's/(char\*)0/(char\*)0, 0/g' > $@ $(filter_GEN_svg_Script_hxx) : \ $(call gb_ExternalExecutable_get_dependencies,python) \ diff --git a/sdext/CustomTarget_pdfimport.mk b/sdext/CustomTarget_pdfimport.mk index 086daca5bc37..a337049c77ae 100644 --- a/sdext/CustomTarget_pdfimport.mk +++ b/sdext/CustomTarget_pdfimport.mk @@ -17,7 +17,7 @@ $(call gb_CustomTarget_get_workdir,sdext/pdfimport)/hash.cxx : \ | $(call gb_CustomTarget_get_workdir,sdext/pdfimport)/.dir $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),GPF,1) $(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),GPF) - $(GPERF) -C -t -l -L C++ -m 20 --switch=2 --readonly-tables -Z PdfKeywordHash -k'4-5,$$' $< > $@ + $(call gb_Helper_wsl_path,$(GPERF) -C -t -l -L C++ -m 20 --switch=2 --readonly-tables -Z PdfKeywordHash -k'4-5$(COMMA)$$' $<) > $@ $(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),GPF) # vim:set shiftwidth=4 tabstop=4 noexpandtab: diff --git a/solenv/gbuild/CustomTarget.mk b/solenv/gbuild/CustomTarget.mk index 64272b9d450e..4b1ad8f02ddc 100644 --- a/solenv/gbuild/CustomTarget.mk +++ b/solenv/gbuild/CustomTarget.mk @@ -84,7 +84,7 @@ define gb_CustomTarget_token_hash $(call gb_CustomTarget_get_target,$(1)) : $(call gb_CustomTarget_get_workdir,$(1))/$(2) $(call gb_CustomTarget_get_workdir,$(1))/$(2) : $(call gb_CustomTarget_get_workdir,$(1))/misc/$(3) $$(call gb_Output_announce,$$(subst $(WORKDIR)/,,$$@),build,GPF,1) - $(GPERF) --compare-strncmp --switch=2 --readonly-tables $$< \ + $$(call gb_Helper_wsl_path,$(GPERF) --compare-strncmp --switch=2 --readonly-tables $$<) \ | sed -e '/^#line/d' -e 's/(char\*)0/(char\*)0, 0/g' > $$@ endef diff --git a/sw/CustomTarget_generated.mk b/sw/CustomTarget_generated.mk index c3277ca418a7..e804e1590d49 100644 --- a/sw/CustomTarget_generated.mk +++ b/sw/CustomTarget_generated.mk @@ -13,22 +13,26 @@ sw_SRC := $(SRCDIR)/sw/source/core/swg sw_PY := $(SRCDIR)/solenv/bin/gentoken.py sw_INC := $(call gb_CustomTarget_get_workdir,sw/generated) -$(sw_INC)/TextBlockTokens.gperf : $(sw_SRC)/TextBlockTokens.txt $(sw_PY) \ - $(call gb_ExternalExecutable_get_dependencies,python) - mkdir -p $(sw_INC) - $(call gb_ExternalExecutable_get_command,python) $(sw_PY) $(sw_SRC)/TextBlockTokens.txt $(sw_INC)/TextBlockTokens.gperf - -$(sw_INC)/BlockListTokens.gperf : $(sw_SRC)/BlockListTokens.txt $(sw_PY) \ - $(call gb_ExternalExecutable_get_dependencies,python) - mkdir -p $(sw_INC) - $(call gb_ExternalExecutable_get_command,python) $(sw_PY) $(sw_SRC)/BlockListTokens.txt $(sw_INC)/BlockListTokens.gperf - -$(sw_INC)/tokens.cxx : $(sw_INC)/TextBlockTokens.gperf $(sw_INC)/BlockListTokens.gperf - $(GPERF) --compare-strncmp --readonly-tables --output-file=$(sw_INC)/tokens.cxx \ - --class-name=TextBlockTokens --word-array-name=textBlockList --enum $(sw_INC)/TextBlockTokens.gperf +# static pattern rule +$(sw_INC)/TextBlockTokens.gperf \ +$(sw_INC)/BlockListTokens.gperf : $(sw_INC)/%.gperf : $(sw_SRC)/%.txt $(sw_PY) \ + | $(call gb_ExternalExecutable_get_dependencies,python) + mkdir -p $(@D) + $(call gb_ExternalExecutable_get_command,python) $(sw_PY) $< $@ + +# appending when wrapping with wsl.exe is broken, will always replace from start instead of add +# https://github.com/microsoft/WSL/issues/4400 so create them as separate intermediates +$(sw_INC)/TextBlockTokens.processed : $(sw_INC)/TextBlockTokens.gperf + $(GPERF) --compare-strncmp --readonly-tables --class-name=TextBlockTokens \ + --word-array-name=textBlockList --enum $(sw_INC)/TextBlockTokens.gperf > $@ + +$(sw_INC)/BlockListTokens.processed : $(sw_INC)/BlockListTokens.gperf $(GPERF) --compare-strncmp --readonly-tables -T $(sw_INC)/BlockListTokens.gperf \ - --class-name=BlockListTokens --word-array-name=blockListList >> $(sw_INC)/tokens.cxx - sed -i $(if $(filter MACOSX,$(OS_FOR_BUILD)),'') -e '/^#line/d' -e 's/(char\*)0/(char\*)0, XML_TOKEN_INVALID/g' $(sw_INC)/tokens.cxx + --class-name=BlockListTokens --word-array-name=blockListList > $@ + +$(sw_INC)/tokens.cxx : sw_INC:=$(call gb_Helper_wsl_path,$(sw_INC)) +$(sw_INC)/tokens.cxx : $(sw_INC)/TextBlockTokens.processed $(sw_INC)/BlockListTokens.processed + sed -e '/^#line/d' -e 's/(char\*)0/(char\*)0, XML_TOKEN_INVALID/g' $^ > $@ $(call gb_CustomTarget_get_target,sw/generated) : $(sw_INC)/tokens.cxx commit f7c5dd5f95bf16862668d3c16718cff0ab5561da Author: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> AuthorDate: Wed Aug 2 17:03:01 2023 +0200 Commit: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> CommitDate: Fri Apr 26 14:01:43 2024 +0200 run zip via wsl in wsl-as-helper case Change-Id: I0c5b75c39c211aba08ae6d56f02bcc93ca11e2bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166337 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> diff --git a/extras/CustomTarget_autocorr.mk b/extras/CustomTarget_autocorr.mk index bfc6177105e9..201697952b19 100644 --- a/extras/CustomTarget_autocorr.mk +++ b/extras/CustomTarget_autocorr.mk @@ -280,8 +280,8 @@ $(call gb_CustomTarget_get_workdir,extras/source/autocorr)/acor_%.dat : \ $(call gb_Helper_abbreviate_dirs,\ cd $(dir $<) && \ $(autocorr_PYTHONCOMMAND) $(SRCDIR)/bin/check-autocorr.py DocumentList.xml && \ - zip -q0X --filesync --must-match $@ mimetype && \ - zip -qrX --must-match $@ $(call extras_AUTOCORR_XMLFILES_LANG,$(call extras_AUTOCORR_SHORTLANG,$*)) \ + $(call gb_Helper_wsl_path,$(WSL) zip -q0X --filesync --must-match $@ mimetype) && \ + $(call gb_Helper_wsl_path,$(WSL) zip -qrX --must-match $@ $(call extras_AUTOCORR_XMLFILES_LANG,$(call extras_AUTOCORR_SHORTLANG,$*))) \ ) $(call gb_Trace_EndRange,autocorr/acor_$*.dat,ZIP) diff --git a/extras/CustomTarget_autotextshare.mk b/extras/CustomTarget_autotextshare.mk index 6eb4cd08de56..318e05fe21fd 100644 --- a/extras/CustomTarget_autotextshare.mk +++ b/extras/CustomTarget_autotextshare.mk @@ -3667,8 +3667,9 @@ $(call gb_CustomTarget_get_workdir,extras/source/autotext)/%.bau : \ $(call gb_Trace_StartRange,autotext/$*.bau,ZIP) $(call gb_Helper_abbreviate_dirs,\ cd $(dir $<) && \ - zip -q0X --filesync --must-match $@ mimetype && \ - zip -qrX --must-match $@ $(call extras_AUTOTEXTSHARE_XMLFILES_RELATIVE,$*) \ + $(call gb_Helper_wsl_path,\ + $(WSL) zip -q0X --filesync --must-match $@ mimetype && \ + $(WSL) zip -qrX --must-match $@ $(call extras_AUTOTEXTSHARE_XMLFILES_RELATIVE,$*)) \ ) $(call gb_Trace_EndRange,autotext/$*.bau,ZIP) diff --git a/extras/CustomTarget_autotextuser.mk b/extras/CustomTarget_autotextuser.mk index e89e92d97a78..5ac07ccb6c19 100644 --- a/extras/CustomTarget_autotextuser.mk +++ b/extras/CustomTarget_autotextuser.mk @@ -40,9 +40,10 @@ $(call gb_CustomTarget_get_workdir,extras/source/autotext/user)/%.bau : \ $(call gb_Output_announce,autotext/user/$*.bau,$(true),ZIP,2) $(call gb_Trace_StartRange,autotext/user/$*.bau,ZIP) $(call gb_Helper_abbreviate_dirs,\ - cd $(dir $<) && \ - zip -q0X --filesync --must-match $@ mimetype && \ - zip -qrX --must-match $@ $(call extras_AUTOTEXTUSER_XMLFILES_RELATIVE,$*) \ + cd $(dir $<) && \ + $(call gb_Helper_wsl_path,\ + $(WSL) zip -q0X --filesync --must-match $@ mimetype && \ + $(WSL) zip -qrX --must-match $@ $(call extras_AUTOTEXTUSER_XMLFILES_RELATIVE,$*)) \ ) $(call gb_Trace_EndRange,autotext/user/$*.bau,ZIP) diff --git a/extras/CustomTarget_templates.mk b/extras/CustomTarget_templates.mk index f64faeb7e359..5266a6917638 100644 --- a/extras/CustomTarget_templates.mk +++ b/extras/CustomTarget_templates.mk @@ -78,9 +78,10 @@ $(call gb_CustomTarget_get_workdir,extras/source/templates)/%.ott : \ $(call gb_Trace_StartRange,templates/$*.ott,ZIP) $(call gb_Helper_abbreviate_dirs,\ cd $(dir $<) && \ - zip -q0X --filesync --must-match $@ mimetype && \ - zip -qrX --must-match $@ styles.xml META-INF/manifest.xml Thumbnails/thumbnail.png && \ - zip -qrX --must-match $@ $(call extras_TEMPLATES_XMLFILES_RELATIVE,$*) \ + $(call gb_Helper_wsl_path,\ + $(WSL) zip -q0X --filesync --must-match $@ mimetype && \ + $(WSL) zip -qrX --must-match $@ styles.xml META-INF/manifest.xml Thumbnails/thumbnail.png && \ + $(WSL) zip -qrX --must-match $@ $(call extras_TEMPLATES_XMLFILES_RELATIVE,$*)) \ ) $(call gb_Trace_EndRange,templates/$*.ott,ZIP) @@ -100,9 +101,10 @@ $(call gb_CustomTarget_get_workdir,extras/source/templates)/%.otg : \ $(call gb_Trace_StartRange,templates/$*.otg,ZIP) $(call gb_Helper_abbreviate_dirs,\ cd $(dir $<) && \ - zip -q0X --filesync --must-match $@ mimetype && \ - zip -qrX --must-match $@ content.xml styles.xml META-INF/manifest.xml Thumbnails/thumbnail.png && \ - zip -qrX --must-match $@ $(call extras_TEMPLATES_XMLFILES_RELATIVE,$*) \ + $(call gb_Helper_wsl_path,\ + $(WSL) zip -q0X --filesync --must-match $@ mimetype && \ + $(WSL) zip -qrX --must-match $@ content.xml styles.xml META-INF/manifest.xml Thumbnails/thumbnail.png && \ + $(WSL) zip -qrX --must-match $@ $(call extras_TEMPLATES_XMLFILES_RELATIVE,$*)) \ ) $(call gb_Trace_EndRange,templates/$*.otg,ZIP) diff --git a/extras/CustomTarget_tplpresnt.mk b/extras/CustomTarget_tplpresnt.mk index 64913497a6d1..02b72b86f086 100644 --- a/extras/CustomTarget_tplpresnt.mk +++ b/extras/CustomTarget_tplpresnt.mk @@ -153,9 +153,10 @@ $(call gb_CustomTarget_get_workdir,extras/source/templates/presnt)/%.otp : \ $(call gb_Trace_StartRange,templates/presnt/$*.otp,ZIP) $(call gb_Helper_abbreviate_dirs,\ cd $(dir $<) && \ - zip -q0X --filesync --must-match $@ mimetype && \ - zip -qrX --must-match $@ content.xml styles.xml META-INF/manifest.xml Thumbnails/thumbnail.png && \ - zip -qrX --must-match $@ $(call extras_PRESNT_XMLFILES_RELATIVE,$*) \ + $(call gb_Helper_wsl_path,\ + $(WSL) zip -q0X --filesync --must-match $@ mimetype && \ + $(WSL) zip -qrX --must-match $@ content.xml styles.xml META-INF/manifest.xml Thumbnails/thumbnail.png && \ + $(WSL) zip -qrX --must-match $@ $(call extras_PRESNT_XMLFILES_RELATIVE,$*)) \ ) $(call gb_Trace_EndRange,templates/presnt/$*.otp,ZIP) diff --git a/extras/CustomTarget_tplwizard.mk b/extras/CustomTarget_tplwizard.mk index e0eadbaa1f3d..617e56b007ad 100644 --- a/extras/CustomTarget_tplwizard.mk +++ b/extras/CustomTarget_tplwizard.mk @@ -208,9 +208,10 @@ $(call gb_CustomTarget_get_workdir,extras/source/templates/wizard)/%.ott : \ $(call gb_Trace_StartRange,templates/wizard/$*.ott,ZIP) $(call gb_Helper_abbreviate_dirs,\ cd $(dir $<) && \ - zip -q0X --filesync --must-match $@ mimetype && \ - zip -qrX --must-match $@ content.xml settings.xml styles.xml META-INF/manifest.xml && \ - zip -qrX --must-match $@ $(call extras_WIZARD_XMLFILES_RELATIVE,$*) \ + $(call gb_Helper_wsl_path,\ + $(WSL) zip -q0X --filesync --must-match $@ mimetype && \ + $(WSL) zip -qrX --must-match $@ content.xml settings.xml styles.xml META-INF/manifest.xml && \ + $(WSL) zip -qrX --must-match $@ $(call extras_WIZARD_XMLFILES_RELATIVE,$*)) \ ) $(call gb_Trace_EndRange,templates/wizard/$*.ott,ZIP) @@ -230,9 +231,10 @@ $(call gb_CustomTarget_get_workdir,extras/source/templates/wizard)/%.ots : \ $(call gb_Trace_StartRange,templates/wizard/$*.ots,ZIP) $(call gb_Helper_abbreviate_dirs,\ cd $(dir $<) && \ - zip -q0X --filesync --must-match $@ mimetype && \ - zip -qrX --must-match $@ content.xml settings.xml styles.xml META-INF/manifest.xml && \ - zip -qrX --must-match $@ $(call extras_WIZARD_XMLFILES_RELATIVE,$*) \ + $(call gb_Helper_wsl_path,\ + $(WSL) zip -q0X --filesync --must-match $@ mimetype && \ + $(WSL) zip -qrX --must-match $@ content.xml settings.xml styles.xml META-INF/manifest.xml && \ + $(WSL) zip -qrX --must-match $@ $(call extras_WIZARD_XMLFILES_RELATIVE,$*)) \ ) $(call gb_Trace_EndRange,templates/wizard/$*.ots,ZIP) diff --git a/solenv/gbuild/Extension.mk b/solenv/gbuild/Extension.mk index 200e7d9e2a4f..42616e0b8655 100644 --- a/solenv/gbuild/Extension.mk +++ b/solenv/gbuild/Extension.mk @@ -111,8 +111,8 @@ $(call gb_Extension_get_target,%) : \ $(if $(LICENSE),cp -f $(LICENSE) $(call gb_Extension_get_rootdir,$*)/registration &&) \ $(if $(and $(gb_Extension_TRANS_LANGS),$(DESCRIPTION)),cp $(foreach lang,$(gb_Extension_TRANS_LANGS),$(call gb_Extension_get_workdir,$*)/description-$(lang).txt) $(call gb_Extension_get_rootdir,$*) &&) \ cd $(call gb_Extension_get_rootdir,$*) && \ - cat $$RESPONSEFILE | $(gb_Extension_ZIPCOMMAND) -rX --filesync --must-match \ - $(call gb_Extension_get_target,$*) --names-stdin) && rm -f $$RESPONSEFILE + cat $$RESPONSEFILE | $(call gb_Helper_wsl_path,$(WSL) $(gb_Extension_ZIPCOMMAND) -rX --filesync --must-match \ + $(call gb_Extension_get_target,$*) --names-stdin)) && rm -f $$RESPONSEFILE $(call gb_Trace_EndRange,$*,OXT) # set file list and location of manifest and description files @@ -466,8 +466,8 @@ $(call gb_Extension_get_rootdir,$(1))/help/$(2).done : \ -idxcontent $(SRCDIR)/xmlhelp/util/idxcontent.xsl \ $$(HELPFILES) && \ (cd $(call gb_Extension_get_workdir,$(1))/help/$(2) && \ - $$(gb_Extension_ZIPCOMMAND) -r $$(basename $$@)/help.jar \ - $$(HELPFILES)) && \ + $$(call gb_Helper_wsl_path,$(WSL) $$(gb_Extension_ZIPCOMMAND) -r $$(basename $$@)/help.jar \ + $$(HELPFILES))) && \ $$(gb_Extension_HELPINDEXERCOMMAND) -lang $(2) -mod help \ -dir $$(basename $$@) && \ rm -fr $$(basename $$@)/caption $$(basename $$@)/content && \ diff --git a/solenv/gbuild/Zip.mk b/solenv/gbuild/Zip.mk index 07195358ea94..42a04783c054 100644 --- a/solenv/gbuild/Zip.mk +++ b/solenv/gbuild/Zip.mk @@ -50,8 +50,8 @@ $(call gb_Zip_get_target,%) : $(FILES)) && \ cd $(LOCATION) && \ cat $${RESPONSEFILE} | tr "[:space:]" " " | \ - $(gb_Zip_ZIPCOMMAND) -@rX --filesync --must-match \ - $(call gb_Zip_get_target,$*) && \ + $(call gb_Helper_wsl_path,$(WSL) $(gb_Zip_ZIPCOMMAND) -@rX --filesync --must-match \ + $(call gb_Zip_get_target,$*)) && \ rm -f $${RESPONSEFILE} && \ touch $@\ , cp $(SRCDIR)/solenv/gbuild/empty.zip $@)\