diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2022-02-20 18:15:10 +0100 |
---|---|---|
committer | Jan-Marek Glogowski <glogow@fbihome.de> | 2022-02-20 20:12:07 +0100 |
commit | ac65b4bb7a75ec71294a527bc4139356fcbf0929 (patch) | |
tree | e227c30ec8f686e880b05591f7b058818b315b2f | |
parent | 89d97041e881ef6429c069e7d0485db50e0371b2 (diff) |
WASM depend on Emscripten 3.1.3 for native EH
This reverts the special SjLj handling introduced in commit
ae22f7d06246ee21f9c8e9f35f4477e88843c58b ("WASM add option to
build with native exceptions"). This is supposed to work now;
at least it compiles.
Change-Id: I5ebceea9c7fe3c982d7c9a8818fd79f2018f03cc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130219
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
-rw-r--r-- | configure.ac | 12 | ||||
-rw-r--r-- | solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk | 2 | ||||
-rw-r--r-- | vcl/Library_vcl.mk | 16 |
3 files changed, 15 insertions, 15 deletions
diff --git a/configure.ac b/configure.ac index 6d81302b9e7e..af1da0103177 100644 --- a/configure.ac +++ b/configure.ac @@ -3073,7 +3073,19 @@ if test "$enable_wasm_strip" = "yes"; then AC_DEFINE(ENABLE_WASM_STRIP_SWEXPORTS) fi +EMSCRIPTEN_NEH_MAJOR=3 +EMSCRIPTEN_NEH_MINOR=1 +EMSCRIPTEN_NEH_TINY=3 +EMSCRIPTEN_NEH_VERSION="${EMSCRIPTEN_NEH_MAJOR}.${EMSCRIPTEN_NEH_MINOR}.${EMSCRIPTEN_NEH_TINY}" + if test "$enable_wasm_exceptions" = yes; then + AC_MSG_CHECKING([if Emscripten version is at least $EMSCRIPTEN_NEH_VERSION for SjLj + native EH]) + check_semantic_version_three_prefixed EMSCRIPTEN NEH + if test $? -ne 0; then + AC_MSG_ERROR([no, found $EMSCRIPTEN_VERSION]) + else + AC_MSG_RESULT([yes ($EMSCRIPTEN_VERSION)]) + fi ENABLE_WASM_EXCEPTIONS=TRUE fi AC_SUBST(ENABLE_WASM_EXCEPTIONS) diff --git a/solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk b/solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk index a0ba51da2e4f..83e850a95f9f 100644 --- a/solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk +++ b/solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk @@ -32,7 +32,7 @@ gb_EMSCRIPTEN_QTDEFS := -DQT_NO_LINKED_LIST -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO gb_Executable_EXT := .html ifeq ($(ENABLE_WASM_EXCEPTIONS),TRUE) -gb_EMSCRIPTEN_EXCEPT = -fwasm-exceptions +gb_EMSCRIPTEN_EXCEPT = -fwasm-exceptions -s SUPPORT_LONGJMP=wasm else gb_EMSCRIPTEN_EXCEPT = -s DISABLE_EXCEPTION_CATCHING=0 endif diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk index 9182f223eb93..d580ff3d2f6a 100644 --- a/vcl/Library_vcl.mk +++ b/vcl/Library_vcl.mk @@ -94,20 +94,6 @@ $(eval $(call gb_Library_use_externals,vcl,\ mdds_headers \ )) -# WASM LLVM doesn't support native EH + SjLj (setjump / longjump) used by libjpeg / libpng. -# This otherwise breaks the PCH generation, so just move the files for that case. -ifeq (EMSCRIPTEN_TRUE,$(OS)_$(ENABLE_WASM_EXCEPTIONS)) -$(eval $(call gb_Library_add_cxxobjects,vcl,\ - vcl/source/filter/jpeg/jpegc \ - vcl/source/filter/png/PngImageReader \ -)) -else -$(eval $(call gb_Library_add_exception_objects,vcl,\ - vcl/source/filter/jpeg/jpegc \ - vcl/source/filter/png/PngImageReader \ -)) -endif - $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/source/rendercontext/drawmode \ vcl/skia/SkiaHelper \ @@ -474,6 +460,7 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/source/filter/ixpm/xpmread \ vcl/source/filter/jpeg/Exif \ vcl/source/filter/jpeg/jpeg \ + vcl/source/filter/jpeg/jpegc \ vcl/source/filter/jpeg/JpegReader \ vcl/source/filter/jpeg/JpegWriter \ vcl/source/filter/jpeg/JpegTransform \ @@ -484,6 +471,7 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/source/filter/wmf/wmf \ vcl/source/filter/wmf/wmfexternal \ vcl/source/filter/wmf/wmfwr \ + vcl/source/filter/png/PngImageReader \ vcl/source/filter/png/pngwrite \ vcl/source/filter/webp/reader \ vcl/source/filter/webp/writer \ |