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 && \

Reply via email to