Open orhun-sketchup opened 2 months ago
Even though exception-handling-method=js is passed to b2, I still end up with -fwasm-exceptions used in em++ compiler flags.
exception-handling-method=js
-fwasm-exceptions
How can I prevent b2 adding it?
I am using, os: Windows 10 compiler: emscripten 3.1.65 boost: 1.86.0 b2: 5.2.1
I use a modified conan-center-index boost recipe to build boost (i.e. add exception-handling-method=js to it, among other things.)
This is the b2 command line that I end up with:
b2 -q address-model=32 exception-handling-method=js --layout=system --user-config=<PATH>user-config.jam -sNO_ZLIB=1 -sNO_BZIP2=1 -sNO_LZMA=1 -sNO_ZSTD=1 boost.locale.icu=off --disable-icu boost.locale.iconv=off --disable-iconv threading=multi visibility=hidden link=static variant=debug --with-atomic --with-charconv --with-chrono --with-container --with-date_time --with-exception --with-filesystem --with-regex --with-system --with-thread toolset=emscripten cxxstd=17 define=BOOST_SYSTEM_NO_DEPRECATED=1 define=BOOST_ASIO_NO_DEPRECATED=1 define=BOOST_FILESYSTEM_NO_DEPRECATED=1 define=BOOST_DLL_USE_STD_FS=1 pch=on linkflags="" cxxflags="-fPIC -s DISABLE_EXCEPTION_CATCHING=0" install --prefix=<PATH> -j24 --abbreviate-paths -d1 --debug-configuration --build-dir="<PATH>"
user-config.jam contains:
using "emscripten" : : "<PATH>/em++.bat" : <archiver>"<PATH>/emar.bat" <ranlib>"<PATH>/emranlib.bat" ;
This is the generated compiler command line: "<PATH>/em++.bat" -std=c++17 -fvisibility-inlines-hidden -fwasm-exceptions -pthread -O0 -fno-inline -Wall -g -fvisibility=hidden -m32 -fPIC -s DISABLE_EXCEPTION_CATCHING=0 -DBOOST_ALL_NO_LIB=1 -DBOOST_ASIO_NO_DEPRECATED=1 -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_CONTAINER_STATIC_LINK=1 -DBOOST_DLL_USE_STD_FS=1 -DBOOST_FILESYSTEM_NO_DEPRECATED=1 -DBOOST_SYSTEM_NO_DEPRECATED=1 -I"." -c -o "<PATH>\bin.v2\libs\container\build\emscr-3.1.6\dbg\adrs-mdl-32\cxstd-17-iso\lnk-sttc\trgt-os-nn\thrd-mlt\vsblt-hdn\global_resource.o" "libs/container/src/global_resource.cpp"
"<PATH>/em++.bat" -std=c++17 -fvisibility-inlines-hidden -fwasm-exceptions -pthread -O0 -fno-inline -Wall -g -fvisibility=hidden -m32 -fPIC -s DISABLE_EXCEPTION_CATCHING=0 -DBOOST_ALL_NO_LIB=1 -DBOOST_ASIO_NO_DEPRECATED=1 -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_CONTAINER_STATIC_LINK=1 -DBOOST_DLL_USE_STD_FS=1 -DBOOST_FILESYSTEM_NO_DEPRECATED=1 -DBOOST_SYSTEM_NO_DEPRECATED=1 -I"." -c -o "<PATH>\bin.v2\libs\container\build\emscr-3.1.6\dbg\adrs-mdl-32\cxstd-17-iso\lnk-sttc\trgt-os-nn\thrd-mlt\vsblt-hdn\global_resource.o" "libs/container/src/global_resource.cpp"
-fwasm-exceptions is still being used.
Thanks!
NOTE: It is not related but I find the use of emscr-3.1.6 in the obj file path, 'interesting'. Instead of the actual emscripten compiler version of 3.1.65.
emscr-3.1.6
3.1.65
Even though
exception-handling-method=js
is passed to b2, I still end up with-fwasm-exceptions
used in em++ compiler flags.How can I prevent b2 adding it?
I am using, os: Windows 10 compiler: emscripten 3.1.65 boost: 1.86.0 b2: 5.2.1
I use a modified conan-center-index boost recipe to build boost (i.e. add
exception-handling-method=js
to it, among other things.)This is the b2 command line that I end up with:
b2 -q address-model=32 exception-handling-method=js --layout=system --user-config=<PATH>user-config.jam -sNO_ZLIB=1 -sNO_BZIP2=1 -sNO_LZMA=1 -sNO_ZSTD=1 boost.locale.icu=off --disable-icu boost.locale.iconv=off --disable-iconv threading=multi visibility=hidden link=static variant=debug --with-atomic --with-charconv --with-chrono --with-container --with-date_time --with-exception --with-filesystem --with-regex --with-system --with-thread toolset=emscripten cxxstd=17 define=BOOST_SYSTEM_NO_DEPRECATED=1 define=BOOST_ASIO_NO_DEPRECATED=1 define=BOOST_FILESYSTEM_NO_DEPRECATED=1 define=BOOST_DLL_USE_STD_FS=1 pch=on linkflags="" cxxflags="-fPIC -s DISABLE_EXCEPTION_CATCHING=0" install --prefix=<PATH> -j24 --abbreviate-paths -d1 --debug-configuration --build-dir="<PATH>"
user-config.jam contains:
This is the generated compiler command line:
"<PATH>/em++.bat" -std=c++17 -fvisibility-inlines-hidden -fwasm-exceptions -pthread -O0 -fno-inline -Wall -g -fvisibility=hidden -m32 -fPIC -s DISABLE_EXCEPTION_CATCHING=0 -DBOOST_ALL_NO_LIB=1 -DBOOST_ASIO_NO_DEPRECATED=1 -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_CONTAINER_STATIC_LINK=1 -DBOOST_DLL_USE_STD_FS=1 -DBOOST_FILESYSTEM_NO_DEPRECATED=1 -DBOOST_SYSTEM_NO_DEPRECATED=1 -I"." -c -o "<PATH>\bin.v2\libs\container\build\emscr-3.1.6\dbg\adrs-mdl-32\cxstd-17-iso\lnk-sttc\trgt-os-nn\thrd-mlt\vsblt-hdn\global_resource.o" "libs/container/src/global_resource.cpp"
-fwasm-exceptions
is still being used.Thanks!
NOTE: It is not related but I find the use of
emscr-3.1.6
in the obj file path, 'interesting'. Instead of the actual emscripten compiler version of3.1.65
.