summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/ci.yml16
-rw-r--r--CMakeLists.txt3
-rw-r--r--src/js/binaryen.js-extern-pre.js11
-rw-r--r--src/js/binaryen.jsoo-extern-pre.js1
4 files changed, 12 insertions, 19 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index cf11cb1b9..ade6d97b5 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -256,6 +256,10 @@ jobs:
build-emscripten:
name: emscripten
runs-on: ubuntu-latest
+ env:
+ # Set this environment variable to test a specific Emscripten branch.
+ # Format: https://github.com/<fork>/emscripten/tree/<refspec>
+ EMSCRIPTEN_REPO: ""
steps:
- uses: actions/setup-python@v1
with:
@@ -266,14 +270,18 @@ jobs:
- name: install ninja
run: sudo apt-get install ninja-build
- name: emsdk install
- # TODO: Go back to tot once problem with
- # https://github.com/emscripten-core/emscripten/pull/17948 is resolved.
run: |
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 latest
- $HOME/emsdk/emsdk activate latest
+ $HOME/emsdk/emsdk install tot
+ $HOME/emsdk/emsdk activate tot
+ - name: override emscripten repository
+ if: ${{ env.EMSCRIPTEN_REPO != '' }}
+ run: |
+ $HOME/emsdk/emsdk install emscripten-main-64bit \
+ --override-repository emscripten-main-64bit@$EMSCRIPTEN_REPO
+ $HOME/emsdk/emsdk activate emscripten-main-64bit
- name: update path
run: echo "PATH=$PATH:$HOME/emsdk" >> $GITHUB_ENV
- name: emcc-tests
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3538a3bc3..c7d6c266d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -413,7 +413,6 @@ if(EMSCRIPTEN)
target_link_libraries(binaryen_wasm "-sEXPORT_ES6")
target_link_libraries(binaryen_wasm "-sEXPORTED_RUNTIME_METHODS=allocateUTF8OnStack")
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 "-msign-ext")
target_link_libraries(binaryen_wasm "-mbulk-memory")
target_link_libraries(binaryen_wasm optimized "--closure=1")
@@ -455,8 +454,6 @@ if(EMSCRIPTEN)
# js_of_ocaml needs a specified variable with special comment to provide the library to consumers
if(JS_OF_OCAML)
target_link_libraries(binaryen_js "--extern-pre-js=${CMAKE_CURRENT_SOURCE_DIR}/src/js/binaryen.jsoo-extern-pre.js")
- else()
- target_link_libraries(binaryen_js "--extern-pre-js=${CMAKE_CURRENT_SOURCE_DIR}/src/js/binaryen.js-extern-pre.js")
endif()
target_link_libraries(binaryen_js optimized "--closure=1")
# Currently, js_of_ocaml can only process ES5 code
diff --git a/src/js/binaryen.js-extern-pre.js b/src/js/binaryen.js-extern-pre.js
deleted file mode 100644
index 6c1ff4c07..000000000
--- a/src/js/binaryen.js-extern-pre.js
+++ /dev/null
@@ -1,11 +0,0 @@
-// FIXME: The Emscripten shell requires this variable to be present, even though
-// we are building to ES6 (where it doesn't exist) and the .wasm blob is inlined
-// see: https://github.com/emscripten-core/emscripten/issues/11792
-var __dirname = "";
-
-// FIXME: The Emscripten shell requires this function to be present, even though
-// we are building to ESM (where it doesn't exist) and the result is not used
-// see: https://github.com/emscripten-core/emscripten/pull/17851
-function require() {
- return {};
-}
diff --git a/src/js/binaryen.jsoo-extern-pre.js b/src/js/binaryen.jsoo-extern-pre.js
index fdfee1c22..691741270 100644
--- a/src/js/binaryen.jsoo-extern-pre.js
+++ b/src/js/binaryen.jsoo-extern-pre.js
@@ -1,5 +1,4 @@
// js_of_ocaml needs a special syntax for exposing variables to the compiler
-// and it is not built for nodejs so we don't need the __dirname hack
//Provides: Binaryen
var Binaryen = {};