diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2021-05-21 15:41:15 +0200 |
---|---|---|
committer | Jan-Marek Glogowski <glogow@fbihome.de> | 2022-01-19 10:49:40 +0100 |
commit | 599cbdb9c2a1184680bb89aa2978e8003eca93d9 (patch) | |
tree | bc3f48e787d1bab1d74fb8fd66f4bd80bb69dc99 /solenv | |
parent | 9ae9b3b47c24556b2bc9a100b3bde33273018c5e (diff) |
WASM more initial bits and pieces
All the small stuff, which is needed for the WASM build, but is
not really worth an extra patch.
* No soffice.sh script needed for WASM
* WASM soffice.bin executable extension is html
* Some small additional SAL_LOG output
* Default to colibre icon theme
* Test for qt5 even without X11
* Remove emconfigure artefacts at the end of the configure run
* No oosplash for WASM
* Disable the Office IPC thread
* Suppress -Wno-enum-conversion for Cairo builds
* Fix libnumbertext by using gb_EMSCRIPTEN_CPPFLAGS
* Map EMSCRIPTEN to LINUX nls
* No extra newlines for missing icon theme images
* Print the missing dependency in some gbuild error messages
* Copy Qt WASM loader, HTML template and SVG logo for binaries
* Especially build the vcldemo for Emscripten
Change-Id: I356370c72cc09357411e14d0c00762152877a800
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128584
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'solenv')
-rw-r--r-- | solenv/bin/image-sort.py | 2 | ||||
-rw-r--r-- | solenv/gbuild/LinkTarget.mk | 8 | ||||
-rw-r--r-- | solenv/gbuild/Package.mk | 2 | ||||
-rw-r--r-- | solenv/gbuild/platform/unxgcc.mk | 3 |
4 files changed, 12 insertions, 3 deletions
diff --git a/solenv/bin/image-sort.py b/solenv/bin/image-sort.py index 75b5da6ce0e7..5d248684b4a6 100644 --- a/solenv/bin/image-sort.py +++ b/solenv/bin/image-sort.py @@ -30,7 +30,7 @@ def read_icons(fname): full_path = os.path.join(args.base_path, fname) if not os.path.exists(full_path): if not args.quiet: - print("Skipping non-existent {}\n".format(full_path), file=sys.stderr) + print("Skipping non-existent {}".format(full_path), file=sys.stderr) return images with open(full_path) as fp: for line in fp: diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk index 3ea562e02b50..22fe3bafc3ff 100644 --- a/solenv/gbuild/LinkTarget.mk +++ b/solenv/gbuild/LinkTarget.mk @@ -56,11 +56,16 @@ gb_LinkTarget__get_debugflags= \ $(if $(ENABLE_OPTIMIZED_DEBUG),$(gb_COMPILERDEBUGOPTFLAGS),$(gb_COMPILERNOOPTFLAGS))) \ $(if $(call gb_LinkTarget__symbols_enabled,$(1)),$(gb_DEBUGINFO_FLAGS)) +# T_LDFLAGS is just expanded once. Override the flags here, so that the linker and compiler use the same. +ifeq (EMSCRIPTEN,$(OS)) +gb_LinkTarget__get_debugldflags=$(call gb_LinkTarget__get_debugflags,$1) +else # similar for LDFLAGS, use linker optimization flags in non-debug case, # but moreover strip debug from libraries for which debuginfo is not wanted # (some libraries reuse .o files from other libraries, notably unittests) gb_LinkTarget__get_stripldflags=$(if $(strip $(CFLAGS)$(CXXFLAGS)$(OBJCFLAGS)$(OBJCXXFLAGS)$(LDFLAGS)),,$(gb_LINKERSTRIPDEBUGFLAGS)) gb_LinkTarget__get_debugldflags=$(if $(call gb_LinkTarget__symbols_enabled,$(1)),$(gb_LINKER_DEBUGINFO_FLAGS),$(gb_LINKEROPTFLAGS) $(call gb_LinkTarget__get_stripldflags,$(1))) +endif # generic cflags/cxxflags to use (optimization flags, debug flags) # user supplied CFLAGS/CXXFLAGS override default debug/optimization flags @@ -1925,7 +1930,7 @@ $(2) : $(call gb_LinkTarget_get_target,$(1)) touch -r $$< $$@; \ else \ rm -f $$<; \ - echo "ERROR: aux-target missing, library deleted, please try running make again"; \ + echo "ERROR: aux-target $$@ missing, library deleted, please try running make again"; \ false; \ fi @@ -2096,6 +2101,7 @@ endef define gb_LinkTarget_use_package $(call gb_LinkTarget_get_headers_target,$(1)) :| \ $(call gb_Package_get_target,$(strip $(2))) +$(call gb_Package_get_target,$(strip $(2))): RDEPENDS += $(call gb_LinkTarget__get_workdir_linktargetname,$(1)) endef diff --git a/solenv/gbuild/Package.mk b/solenv/gbuild/Package.mk index e08ff07e1ba9..9c90322cfcdc 100644 --- a/solenv/gbuild/Package.mk +++ b/solenv/gbuild/Package.mk @@ -80,7 +80,7 @@ $(call gb_Package_get_preparation_target,%) : $(call gb_Package_get_target,%) : $(call gb_Output_announce,$*,$(true),PKG,2) $(call gb_Trace_StartRange,$*,PKG) - $(if $(PACKAGE_DEFINED),,$(call gb_Output_error,Something depends on package $* which does not exist.)) + $(if $(PACKAGE_DEFINED),,$(call gb_Output_error,$(RDEPENDS) depend(s) on package $* which does not exist.)) rm -f $@ && \ mv $(call gb_var2file,$@.tmp,100,$(sort $(FILES))) $@ $(call gb_Trace_EndRange,$*,PKG) diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk index e24aaa4e1fe6..de3c2f8cc95a 100644 --- a/solenv/gbuild/platform/unxgcc.mk +++ b/solenv/gbuild/platform/unxgcc.mk @@ -172,6 +172,9 @@ $(if $(filter Library,$(TARGETTYPE)), $(call gb_Helper_abbreviate_dirs,\ | cut -d' ' -f1-2 >> $(WORKDIR)/LinkTarget/$(2).exports.tmp && \ $(call gb_Helper_replace_if_different_and_touch,$(WORKDIR)/LinkTarget/$(2).exports.tmp, \ $(WORKDIR)/LinkTarget/$(2).exports,$(1)))) +$(if $(and $(filter CppunitTest Executable,$(TARGETTYPE)),$(filter EMSCRIPTEN,$(OS)),$(filter TRUE,$(ENABLE_QT5))), \ + cp $(QT5_PLATFORMS_SRCDIR)/qtlogo.svg $(QT5_PLATFORMS_SRCDIR)/qtloader.js $(dir $(1)) ; \ + sed -e 's/@APPNAME@/$(subst $(gb_Executable_EXT),,$(notdir $(1)))/' $(QT5_PLATFORMS_SRCDIR)/wasm_shell.html > $(dir $(1))qt_$(notdir $(1))) endef define gb_LinkTarget__command_staticlink |