diff options
-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 \ |