diff options
-rw-r--r-- | .github/workflows/ci.yml | 16 | ||||
-rw-r--r-- | CMakeLists.txt | 3 | ||||
-rw-r--r-- | src/js/binaryen.js-extern-pre.js | 11 | ||||
-rw-r--r-- | src/js/binaryen.jsoo-extern-pre.js | 1 |
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 = {}; |