diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2021-10-02 23:57:44 +0200 |
---|---|---|
committer | Jan-Marek Glogowski <glogow@fbihome.de> | 2022-01-19 10:56:49 +0100 |
commit | a27296ded79e9eb8fa325ea05fcd560d171cabbd (patch) | |
tree | bd2a3f5edce7524f61a1a9be56a37445f6c8806b | |
parent | f090004c5f236275ca5142fc578f0375872c0336 (diff) |
WASM gbuild: add --pre-js dependencies
Currently includes environment.js for general environment settings
and soffice_args.js for soffice command line flags.
Change-Id: I1166c5a9ae53c56a69b9223c865b4df525d07450
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128590
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
-rw-r--r-- | desktop/Executable_soffice_bin.mk | 2 | ||||
-rw-r--r-- | solenv/gbuild/CppunitTest.mk | 1 | ||||
-rw-r--r-- | solenv/gbuild/Executable.mk | 1 | ||||
-rw-r--r-- | solenv/gbuild/LinkTarget.mk | 10 | ||||
-rw-r--r-- | solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk | 8 | ||||
-rw-r--r-- | solenv/gbuild/platform/unxgcc.mk | 2 | ||||
-rw-r--r-- | static/emscripten/environment.js | 5 | ||||
-rw-r--r-- | static/emscripten/soffice_args.js | 6 |
8 files changed, 34 insertions, 1 deletions
diff --git a/desktop/Executable_soffice_bin.mk b/desktop/Executable_soffice_bin.mk index 14a72ab6c055..a3c3ff258613 100644 --- a/desktop/Executable_soffice_bin.mk +++ b/desktop/Executable_soffice_bin.mk @@ -27,6 +27,8 @@ $(eval $(call gb_Executable_add_cobjects,soffice_bin,\ desktop/source/app/main \ )) +$(eval $(call gb_Executable_add_prejs,soffice_bin,$(SRCDIR)/static/emscripten/soffice_args.js)) + ifeq ($(OS),WNT) $(eval $(call gb_Executable_set_targettype_gui,soffice_bin,NO)) diff --git a/solenv/gbuild/CppunitTest.mk b/solenv/gbuild/CppunitTest.mk index e3a5b58233d1..7fc1cd79c12d 100644 --- a/solenv/gbuild/CppunitTest.mk +++ b/solenv/gbuild/CppunitTest.mk @@ -491,5 +491,6 @@ gb_CppunitTest_use_clang = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1 gb_CppunitTest_set_clang_precompiled_header = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_use_glxtest = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_use_vclmain = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) +gb_CppunitTest_add_prejs = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) # vim: set noet sw=4: diff --git a/solenv/gbuild/Executable.mk b/solenv/gbuild/Executable.mk index e0622b4bdd55..a2ffd3aa351b 100644 --- a/solenv/gbuild/Executable.mk +++ b/solenv/gbuild/Executable.mk @@ -156,6 +156,7 @@ gb_Executable_use_clang = $(call gb_Executable__forward_to_Linktarget,$(0),$(1), gb_Executable_set_clang_precompiled_header = $(call gb_Executable__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_Executable_use_glxtest = $(call gb_Executable__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_Executable_use_vclmain = $(call gb_Executable__forward_to_Linktarget,$(0),$(1),$(2),$(3)) +gb_Executable_add_prejs = $(call gb_Executable__forward_to_Linktarget,$(0),$(1),$(2),$(3)) # Run-time use diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk index 22fe3bafc3ff..a0c199ac765f 100644 --- a/solenv/gbuild/LinkTarget.mk +++ b/solenv/gbuild/LinkTarget.mk @@ -1067,6 +1067,7 @@ $(call gb_LinkTarget_get_target,$(1)) : T_CC := $(call gb_LinkTarget_get_target,$(1)) : T_CXX := $(call gb_LinkTarget_get_target,$(1)) : T_USE_LD := $(USE_LD) $(call gb_LinkTarget_get_target,$(1)) : T_LTOFLAGS := $(gb_LTOFLAGS) +$(call gb_LinkTarget_get_target,$(1)) : T_PREJS := ifeq ($(gb_FULLDEPS),$(true)) ifeq (depcache:,$(filter depcache,$(.FEATURES)):$(gb_PARTIAL_BUILD)) @@ -2276,4 +2277,13 @@ endef # call gb_LinkTarget__set_plugin_for_nodep,linktarget,loader gb_LinkTarget__set_plugin_for_nodep = $(call gb_LinkTarget__set_plugin_for,$(1),$(2),$(true)) +# call gb_LinkTarget_add_prejs,linktarget,js_file +define gb_LinkTarget_add_prejs +ifeq (EMSCRIPTEN,$(OS)) +$(call gb_LinkTarget_get_target,$(1)) : T_PREJS += $(2) +$(call gb_LinkTarget_get_target,$(1)) : $(2) +endif + +endef + # vim: set noet sw=4: diff --git a/solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk b/solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk index 2dd31741d3a0..ae2ba0620edb 100644 --- a/solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk +++ b/solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk @@ -11,6 +11,10 @@ gb_UnoApiHeadersTarget_select_variant = $(if $(filter udkapi,$(1)),comprehensive include $(GBUILDDIR)/platform/unxgcc.mk +# don't sort; later can override previous settings! +gb_EMSCRIPTEN_PRE_JS_FILES = \ + $(SRCDIR)/static/emscripten/environment.js \ + gb_RUN_CONFIGURE := $(SRCDIR)/solenv/bin/run-configure # avoid -s SAFE_HEAP=1 - c.f. gh#8584 this breaks source maps gb_EMSCRIPTEN_CPPFLAGS := -pthread -s USE_PTHREADS=1 @@ -53,6 +57,8 @@ $(call gb_LinkTarget_add_auxtargets,$(2),\ $(patsubst %.lib,%.worker.js,$(3)) \ ) +$(foreach pre_js,$(gb_EMSCRIPTEN_PRE_JS_FILES),$(call gb_Executable_add_prejs,$(1),$(pre_js))) + endef define gb_CppunitTest_CppunitTest_platform @@ -62,6 +68,8 @@ $(call gb_LinkTarget_add_auxtargets,$(2),\ $(patsubst %.lib,%.worker.js,$(3)) \ ) +$(foreach pre_js,$(gb_EMSCRIPTEN_PRE_JS_FILES),$(call gb_CppunitTest_add_prejs,$(1),$(pre_js))) + endef gb_SUPPRESS_TESTS := $(true) diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk index de3c2f8cc95a..b104ecc26b5b 100644 --- a/solenv/gbuild/platform/unxgcc.mk +++ b/solenv/gbuild/platform/unxgcc.mk @@ -138,7 +138,7 @@ $(call gb_Helper_abbreviate_dirs,\ $(if $(SOVERSIONSCRIPT),-Wl$(COMMA)--soname=$(notdir $(1)) \ -Wl$(COMMA)--version-script=$(SOVERSIONSCRIPT)) \ $(subst \d,$$,$(RPATH)) \ - $(T_USE_LD) $(T_LDFLAGS) \ + $(T_USE_LD) $(T_LDFLAGS) $(foreach pre_js,$(T_PREJS), --pre-js $(pre_js)) \ $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \ $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \ $(foreach object,$(ASMOBJECTS),$(call gb_AsmObject_get_target,$(object))) \ diff --git a/static/emscripten/environment.js b/static/emscripten/environment.js new file mode 100644 index 000000000000..bc60fddcbbe3 --- /dev/null +++ b/static/emscripten/environment.js @@ -0,0 +1,5 @@ +if (!('preRun' in Module)) Module['preRun'] = []; +Module.preRun.push(function() { + ENV.SAL_LOG = "+WARN" + ENV.SAL_VCL_QT5_USE_CAIRO = "1" +}); diff --git a/static/emscripten/soffice_args.js b/static/emscripten/soffice_args.js new file mode 100644 index 000000000000..7ecf7e8988e8 --- /dev/null +++ b/static/emscripten/soffice_args.js @@ -0,0 +1,6 @@ +Module['arguments'] = [ + '--norestore', + '--nologo', + '--writer', + '/android/default-document/example.odt' +]; |