summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Schuff <dschuff@chromium.org>2022-07-29 09:16:42 -0700
committerGitHub <noreply@github.com>2022-07-29 09:16:42 -0700
commiteb157d230c68cdc91c9da8841a53a80246f345d7 (patch)
treed6c74f18f5218fdf3ac9399ae11ac928e153a2be
parent078f7b9bf57426cca2db96edbf213765354fc57a (diff)
downloadbinaryen-eb157d230c68cdc91c9da8841a53a80246f345d7.tar.gz
binaryen-eb157d230c68cdc91c9da8841a53a80246f345d7.tar.bz2
binaryen-eb157d230c68cdc91c9da8841a53a80246f345d7.zip
Improve wasm debug build (#4842)
When building Binaryen to wasm in debug mode, 1) Avoid post-link Binaryen changes with WASM_BIGINT and by avoiding O3 2) Don't use SINGLE_FILE, to make it easier to analyze the resulting wasm
-rw-r--r--CMakeLists.txt14
1 files changed, 10 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index afc483c27..f7dcd5d80 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -296,10 +296,16 @@ else()
endif()
if(EMSCRIPTEN)
- # link with -O3 for metadce and other powerful optimizations. note that we
- # must use add_link_options so that this appears after CMake's default -O2
- add_link_options("-O3")
- add_link_flag("-sSINGLE_FILE")
+ if("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
+ add_link_flag("-sERROR_ON_WASM_CHANGES_AFTER_LINK")
+ add_link_flag("-sWASM_BIGINT")
+ else()
+ # link with -O3 for metadce and other powerful optimizations. note that we
+ # must use add_link_options so that this appears after CMake's default -O2
+ add_link_options("-O3")
+ add_link_flag("-sSINGLE_FILE")
+ endif()
+
add_link_flag("-sALLOW_MEMORY_GROWTH")
add_compile_flag("-sDISABLE_EXCEPTION_CATCHING=0")
add_link_flag("-sDISABLE_EXCEPTION_CATCHING=0")