diff options
-rw-r--r-- | .github/workflows/ci.yml | 4 | ||||
-rw-r--r-- | CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/js/binaryen.js-extern-post.js | 8 | ||||
-rw-r--r-- | src/js/binaryen.js-extern-pre.js | 2 |
4 files changed, 16 insertions, 4 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3613e841a..05d080be9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -199,8 +199,8 @@ jobs: mkdir $HOME/emsdk git clone --depth 1 https://github.com/emscripten-core/emsdk.git $HOME/emsdk $HOME/emsdk/emsdk update-tags - $HOME/emsdk/emsdk install 1.39.14 - $HOME/emsdk/emsdk activate 1.39.14 + $HOME/emsdk/emsdk install tot + $HOME/emsdk/emsdk activate tot echo "::add-path::$HOME/emsdk" - name: emcc-tests run: | diff --git a/CMakeLists.txt b/CMakeLists.txt index d5291c83b..dc2e74435 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -382,11 +382,12 @@ if(EMSCRIPTEN) add_executable(binaryen_wasm ${binaryen_emscripten_SOURCES}) target_link_libraries(binaryen_wasm wasm asmjs emscripten-optimizer passes ir cfg support wasm) - target_link_libraries(binaryen_wasm "-s MODULARIZE_INSTANCE=1") target_link_libraries(binaryen_wasm "-s NO_FILESYSTEM=0") target_link_libraries(binaryen_wasm "-s NODERAWFS=0") target_link_libraries(binaryen_wasm "-s EXPORT_NAME=binaryen") target_link_libraries(binaryen_wasm "--post-js ${CMAKE_CURRENT_SOURCE_DIR}/src/js/binaryen.js-post.js") + target_link_libraries(binaryen_wasm "--extern-pre-js ${CMAKE_CURRENT_SOURCE_DIR}/src/js/binaryen.js-extern-pre.js") + target_link_libraries(binaryen_wasm "--extern-post-js ${CMAKE_CURRENT_SOURCE_DIR}/src/js/binaryen.js-extern-post.js") target_link_libraries(binaryen_wasm optimized "--closure 1") target_link_libraries(binaryen_wasm optimized "--llvm-lto 1") target_link_libraries(binaryen_wasm debug "--profiling") @@ -404,11 +405,12 @@ if(EMSCRIPTEN) # only valid with fastcomp and WASM=0 target_link_libraries(binaryen_js "-s ELIMINATE_DUPLICATE_FUNCTIONS=1") endif() - target_link_libraries(binaryen_js "-s MODULARIZE_INSTANCE=1") target_link_libraries(binaryen_js "-s NO_FILESYSTEM=0") target_link_libraries(binaryen_js "-s NODERAWFS=0") target_link_libraries(binaryen_js "-s EXPORT_NAME=binaryen") target_link_libraries(binaryen_js "--post-js ${CMAKE_CURRENT_SOURCE_DIR}/src/js/binaryen.js-post.js") + target_link_libraries(binaryen_js "--extern-pre-js ${CMAKE_CURRENT_SOURCE_DIR}/src/js/binaryen.js-extern-pre.js") + target_link_libraries(binaryen_js "--extern-post-js ${CMAKE_CURRENT_SOURCE_DIR}/src/js/binaryen.js-extern-post.js") target_link_libraries(binaryen_js optimized "--closure 1") target_link_libraries(binaryen_js optimized "--llvm-lto 1") target_link_libraries(binaryen_js debug "--profiling") diff --git a/src/js/binaryen.js-extern-post.js b/src/js/binaryen.js-extern-post.js new file mode 100644 index 000000000..60d900fab --- /dev/null +++ b/src/js/binaryen.js-extern-post.js @@ -0,0 +1,8 @@ + +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = binaryen; +else if (typeof define === 'function' && define['amd']) + define([], function() { return binaryen; }); +else if (typeof exports === 'object') + exports["binaryen"] = binaryen;
\ No newline at end of file diff --git a/src/js/binaryen.js-extern-pre.js b/src/js/binaryen.js-extern-pre.js new file mode 100644 index 000000000..ded7d3296 --- /dev/null +++ b/src/js/binaryen.js-extern-pre.js @@ -0,0 +1,2 @@ +var binaryen = {}; +(function() {
\ No newline at end of file |