diff --git a/Makefile.envs b/Makefile.envs index 5da97443832..538f7526a00 100644 --- a/Makefile.envs +++ b/Makefile.envs @@ -143,7 +143,7 @@ export MAIN_MODULE_LDFLAGS= $(LDFLAGS_BASE) \ -s LZ4=1 \ -s EXPORT_NAME="'_createPyodideModule'" \ -s EXPORT_EXCEPTION_HANDLING_HELPERS \ - -s EXCEPTION_CATCHING_ALLOWED=['we only want to allow exception handling in side modules'] \ + -fwasm-exceptions \ -sEXPORTED_RUNTIME_METHODS='wasmTable,ERRNO_CODES' \ -s USE_ZLIB \ -s USE_BZIP2 \ diff --git a/packages/RobotRaconteur/meta.yaml b/packages/RobotRaconteur/meta.yaml index 7a38e5d5c3e..3ff9477d12b 100644 --- a/packages/RobotRaconteur/meta.yaml +++ b/packages/RobotRaconteur/meta.yaml @@ -15,8 +15,8 @@ requirements: - numpy build: - cxxflags: -fexceptions -fPIC -DBOOST_SP_DISABLE_THREADS=1 -O2 - ldflags: -fexceptions + cxxflags: -fwasm-exceptions -fPIC -DBOOST_SP_DISABLE_THREADS=1 -O2 + ldflags: -fwasm-exceptions script: | export INSTALL_DIR=${WASM_LIBRARY_DIR} @@ -26,7 +26,7 @@ build: -DNUMPY_INCLUDE_DIR=$HOSTINSTALLDIR/lib/python$PYMAJOR.$PYMINOR/site-packages/numpy/_core/include/ \ -DPYTHON3_INCLUDE_DIR=$PYTHONINCLUDE -DPYTHON3_EXECUTABLE=python$PYMAJOR.$PYMINOR \ -DPYTHON3_LIBRARY=$HOSTINSTALLDIR/lib/python$PYMAJOR.$PYMINOR.a \ - -DCMAKE_CXX_FLAGS="-fPIC -fexceptions -DBOOST_AP_DISABLE_THREADS=1 -O2 -DBOOST_BIND_GLOBAL_PLACEHOLDERS=1 -Wno-enum-constexpr-conversion" \ + -DCMAKE_CXX_FLAGS="-fPIC -fwasm-exceptions -DBOOST_AP_DISABLE_THREADS=1 -O2 -DBOOST_BIND_GLOBAL_PLACEHOLDERS=1 -Wno-enum-constexpr-conversion" \ -DBoost_INCLUDE_DIR=$WASM_LIBRARY_DIR/include -DBoost_LIBRARY_DIR=$WASM_LIBRARY_DIR/lib \ -DBoost_DATE_TIME_LIBRARY_RELEASE=$WASM_LIBRARY_DIR/lib/libboost_date_time.a \ -DBoost_DATE_TIME_LIBRARY_DEBUG=$WASM_LIBRARY_DIR/lib/libboost_date_time.a \ @@ -48,7 +48,7 @@ build: -DUSE_PREGENERATED_SOURCE=ON \ . emmake make -j ${PYODIDE_JOBS:-3} - emcc ${SIDE_MODULE_LDFLAGS} -fexceptions out/lib/libRobotRaconteurCore.a \ + emcc ${SIDE_MODULE_LDFLAGS} -fwasm-exceptions out/lib/libRobotRaconteurCore.a \ out/Python3/RobotRaconteur/_RobotRaconteurPython.a \ $WASM_LIBRARY_DIR/lib/libboost_chrono.a \ $WASM_LIBRARY_DIR/lib/libboost_date_time.a \ diff --git a/packages/boost-cpp/meta.yaml b/packages/boost-cpp/meta.yaml index db4f2871755..a04c2cc5d2c 100644 --- a/packages/boost-cpp/meta.yaml +++ b/packages/boost-cpp/meta.yaml @@ -22,8 +22,8 @@ build: ./b2 variant=release toolset=clang-emscripten link=static threading=single \ --with-date_time --with-filesystem \ --with-system --with-regex --with-chrono --with-random --with-program_options --disable-icu \ - cxxflags="$SIDE_MODULE_CXXFLAGS -fexceptions -DBOOST_SP_DISABLE_THREADS=1" \ - cflags="$SIDE_MODULE_CFLAGS -fexceptions -DBOOST_SP_DISABLE_THREADS=1" \ + cxxflags="$SIDE_MODULE_CXXFLAGS -fwasm-exceptions -DBOOST_SP_DISABLE_THREADS=1" \ + cflags="$SIDE_MODULE_CFLAGS -fwasm-exceptions -DBOOST_SP_DISABLE_THREADS=1" \ linkflags="-fpic $SIDE_MODULE_LDFLAGS" \ --layout=system -j"${PYODIDE_JOBS:-3}" --prefix=${INSTALL_DIR} \ install diff --git a/packages/casadi/meta.yaml b/packages/casadi/meta.yaml index dcf07bf9f10..ad32ada3e59 100644 --- a/packages/casadi/meta.yaml +++ b/packages/casadi/meta.yaml @@ -12,11 +12,11 @@ requirements: build: exports: requested cflags: | - -fexceptions -frtti + -fwasm-exceptions -frtti cxxflags: | - -fexceptions -frtti + -fwasm-exceptions -frtti ldflags: | - -fexceptions + -fwasm-exceptions about: home: http://casadi.org PyPI: https://pypi.org/project/casadi diff --git a/packages/coolprop/meta.yaml b/packages/coolprop/meta.yaml index 7ccdc2c0147..e8f180d668c 100644 --- a/packages/coolprop/meta.yaml +++ b/packages/coolprop/meta.yaml @@ -16,9 +16,9 @@ source: - ./pyproject.toml build: - cflags: -fexceptions - cxxflags: -fexceptions - ldflags: -fexceptions + cflags: -fwasm-exceptions + cxxflags: -fwasm-exceptions + ldflags: -fwasm-exceptions requirements: run: diff --git a/packages/cpp-exceptions-test/meta.yaml b/packages/cpp-exceptions-test/meta.yaml index 09e5bd9c071..51c97b548b7 100644 --- a/packages/cpp-exceptions-test/meta.yaml +++ b/packages/cpp-exceptions-test/meta.yaml @@ -11,9 +11,9 @@ source: build: type: shared_library script: | - em++ ${SIDE_MODULE_CFLAGS} -fexceptions -I${PYTHONINCLUDE} -flto -fno-lto -std=c++20 -c throw.cpp -o throw.o - em++ ${SIDE_MODULE_CFLAGS} -fexceptions -I${PYTHONINCLUDE} -flto -fno-lto -std=c++20 -c catch.cpp -o catch.o -mreference-types - em++ ${SIDE_MODULE_LDFLAGS} -fexceptions -o ${DISTDIR}/cpp-exceptions-test-throw.so throw.o - em++ ${SIDE_MODULE_LDFLAGS} -fexceptions -o ${DISTDIR}/cpp-exceptions-test-catch.so catch.o + em++ ${SIDE_MODULE_CFLAGS} -fwasm-exceptions -I${PYTHONINCLUDE} -flto -fno-lto -std=c++20 -c throw.cpp -o throw.o + em++ ${SIDE_MODULE_CFLAGS} -fwasm-exceptions -I${PYTHONINCLUDE} -flto -fno-lto -std=c++20 -c catch.cpp -o catch.o -mreference-types + em++ ${SIDE_MODULE_LDFLAGS} -fwasm-exceptions -o ${DISTDIR}/cpp-exceptions-test-throw.so throw.o + em++ ${SIDE_MODULE_LDFLAGS} -fwasm-exceptions -o ${DISTDIR}/cpp-exceptions-test-catch.so catch.o about: license: MPL-2.0 diff --git a/packages/cpp-exceptions-test2/meta.yaml b/packages/cpp-exceptions-test2/meta.yaml index e141c73077a..ebc1aa6e816 100644 --- a/packages/cpp-exceptions-test2/meta.yaml +++ b/packages/cpp-exceptions-test2/meta.yaml @@ -7,7 +7,7 @@ package: source: path: src build: - cxxflags: -fexceptions - ldflags: -fexceptions + cxxflags: -fwasm-exceptions + ldflags: -fwasm-exceptions about: license: MPL-2.0 diff --git a/packages/matplotlib/meta.yaml b/packages/matplotlib/meta.yaml index 77e4660a2f9..12babd3696b 100644 --- a/packages/matplotlib/meta.yaml +++ b/packages/matplotlib/meta.yaml @@ -25,13 +25,13 @@ build: -s USE_FREETYPE=1 -s USE_LIBPNG=1 -s USE_ZLIB=1 - -fexceptions + -fwasm-exceptions -fno-lto cxxflags: | -std=c++14 - -fexceptions + -fwasm-exceptions ldflags: | - -fexceptions + -fwasm-exceptions script: export SETUPTOOLS_SCM_PRETEND_VERSION=$PKG_VERSION post: | rm -rf matplotlib/backends/qt_editor diff --git a/packages/scipy/meta.yaml b/packages/scipy/meta.yaml index 10255fd9d2c..40e9ef95e0f 100644 --- a/packages/scipy/meta.yaml +++ b/packages/scipy/meta.yaml @@ -54,12 +54,12 @@ build: -DUNDERSCORE_G77 -fvisibility=default cxxflags: | - -fexceptions + -fwasm-exceptions -fvisibility=default ldflags: | -L$(NUMPY_LIB)/core/lib/ -L$(NUMPY_LIB)/random/lib/ - -fexceptions + -fwasm-exceptions # Exclude tests via Meson's install tags functionality. unvendor-tests: true diff --git a/packages/shapely/meta.yaml b/packages/shapely/meta.yaml index 9b1581c7a4c..239b5130e5f 100644 --- a/packages/shapely/meta.yaml +++ b/packages/shapely/meta.yaml @@ -11,9 +11,9 @@ build: script: | export GEOS_CONFIG=${WASM_LIBRARY_DIR}/bin/geos-config cxxflags: | - -fexceptions + -fwasm-exceptions ldflags: | - -fexceptions + -fwasm-exceptions requirements: run: - numpy diff --git a/pyodide-build b/pyodide-build index 3492aa6e3c5..30cbe323f31 160000 --- a/pyodide-build +++ b/pyodide-build @@ -1 +1 @@ -Subproject commit 3492aa6e3c5c0efbb71d131b7f0d3b7a68cad6c5 +Subproject commit 30cbe323f3182f4dc9482221def13292b9afd3b9