summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/ci.yml4
-rw-r--r--CMakeLists.txt6
-rw-r--r--src/js/binaryen.js-extern-post.js8
-rw-r--r--src/js/binaryen.js-extern-pre.js2
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