config_host.mk.in | 1 + configure.ac | 1 + solenv/gbuild/platform/unxgcc.mk | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-)
New commits: commit 795e6f6f3e5ab8201dabde65e9b3b939293d34a4 Author: Stephan Bergmann <stephan.bergm...@allotropia.de> AuthorDate: Tue Jan 28 09:37:31 2025 +0100 Commit: Stephan Bergmann <stephan.bergm...@allotropia.de> CommitDate: Tue Jan 28 13:20:25 2025 +0100 Introduce EMSCRIPTEN_EXTRA_QTLOADER_CONFIG for use in Emscripten --enable-qt6 builds, to e.g. add command line arguments (like --writer) into qt_soffice.html. For standard --enable-qt5 Emscripten builds, it works to specify an > EMSCRIPTEN_EXTRA_SOFFICE_PRE_JS=/path/to/include.js containing > Module.arguments = ['--writer']; to make qt_soffice.html open a Writer document. Due to how the Qt loading has changed in Qt6, that no longer works for --enable-qt6 Emscripten builds. But what works there now is to instead specify an > EMSCRIPTEN_EXTRA_QTLOADER_CONFIG=arguments:['--writer'] (The sed -z option that is necessary to replace text spanning a newline is a non-standard GNU extension, but lets assume that this is only executed for cross-builds from Linux that use GNU sed.) Change-Id: I31372a7a1f8fccbe0fe2594614bf5846e5e5c95f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180821 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergm...@allotropia.de> diff --git a/config_host.mk.in b/config_host.mk.in index 5cd8b0dbcede..cdf47d5072b9 100644 --- a/config_host.mk.in +++ b/config_host.mk.in @@ -148,6 +148,7 @@ export DPKG=@DPKG@ export EBOOK_CFLAGS=$(gb_SPACE)@EBOOK_CFLAGS@ export EBOOK_LIBS=$(gb_SPACE)@EBOOK_LIBS@ export EMSDK_FILE_PACKAGER=@EMSDK_FILE_PACKAGER@ +export EMSCRIPTEN_EXTRA_QTLOADER_CONFIG=@EMSCRIPTEN_EXTRA_QTLOADER_CONFIG@ export EMSCRIPTEN_EXTRA_SOFFICE_PRE_JS=@EMSCRIPTEN_EXTRA_SOFFICE_PRE_JS@ export EMSCRIPTEN_WORKERJS=@EMSCRIPTEN_WORKERJS@ export ENABLE_ANDROID_LOK=@ENABLE_ANDROID_LOK@ diff --git a/configure.ac b/configure.ac index 303c445453d6..b00228c511b0 100644 --- a/configure.ac +++ b/configure.ac @@ -1505,6 +1505,7 @@ if test "$_os" = "Emscripten"; then fi fi AC_SUBST(EMSDK_FILE_PACKAGER) +AC_SUBST(EMSCRIPTEN_EXTRA_QTLOADER_CONFIG) AC_SUBST(EMSCRIPTEN_EXTRA_SOFFICE_PRE_JS) AC_SUBST(EMSCRIPTEN_WORKERJS) diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk index 1c289b193d4e..2bc51aa28799 100644 --- a/solenv/gbuild/platform/unxgcc.mk +++ b/solenv/gbuild/platform/unxgcc.mk @@ -185,7 +185,7 @@ $(if $(filter TRUE,$(ENABLE_QT5)), \ sed -e 's/@APPNAME@/$(subst $(gb_Executable_EXT),,$(notdir $(1)))/' $(QT5_PLATFORMS_SRCDIR)/wasm_shell.html > $(dir $(1))qt_$(basename $(notdir $(1))).html && \ cp $(QT5_PLATFORMS_SRCDIR)/qtlogo.svg $(QT5_PLATFORMS_SRCDIR)/qtloader.js $(dir $(1)) && \ ,$(if $(filter TRUE,$(ENABLE_QT6)), \ - sed -e 's/@APPNAME@/$(basename $(notdir $(1)))/g' -e 's/@APPEXPORTNAME@/$(basename $(notdir $(1)))_entry/g' -e 's/@PRELOAD@//g' -e 's/}$(CLOSE_PAREN);$$/}$(CLOSE_PAREN); window.Module = instance;/' $(QT6_PLATFORMS_SRCDIR)/wasm_shell.html > $(dir $(1))qt_$(basename $(notdir $(1))).html && \ + sed -z -e 's/@APPNAME@/$(basename $(notdir $(1)))/g' -e 's/@APPEXPORTNAME@/$(basename $(notdir $(1)))_entry/g' -e 's/@PRELOAD@ }/}$(COMMA)$(subst ','\'',$(EMSCRIPTEN_EXTRA_QTLOADER_CONFIG))/' -e 's/}$(CLOSE_PAREN);$$/}$(CLOSE_PAREN); window.Module = instance;/' $(QT6_PLATFORMS_SRCDIR)/wasm_shell.html > $(dir $(1))qt_$(basename $(notdir $(1))).html && \ cp $(QT6_PLATFORMS_SRCDIR)/qtlogo.svg $(QT6_PLATFORMS_SRCDIR)/qtloader.js $(dir $(1)) && \ )) \ cp $(gb_CustomTarget_workdir)/static/emscripten_fs_image/soffice.data $(dir $(1))/soffice.data && \