Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump emscripten to 3.1.34 #332

Merged
merged 1 commit into from
Apr 17, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 14 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,16 +36,14 @@ important concepts to help understanding the internals of the SDK:
* **SDK**: A set of tools. For example, 'sdk-1.5.6-32bit' is an SDK consisting
of the tools `clang-3.2-32bit`, `node-0.10.17-32bit`, `python-2.7.5.1-32bit`
and `emscripten-1.5.6`.
* **Active Tool/SDK**: Emscripten stores compiler configuration in a
user-specific file **~/.emscripten**. This file points to paths for
Emscripten, Python, Clang and so on. If the file ~/.emscripten is configured
to point to a Tool in a specific directory, then that tool is denoted as being
**active**. The Emscripten Command Prompt always gives access to the currently
active Tools. This mechanism allows switching between different installed SDK
versions easily.
* **Active Tool/SDK**: Emscripten SDK stores compiler configuration in a file
called `.emscripten` within the emsdk directory. This file points to paths
for Emscripten, Python, Clang and so on. If the configuration file points to a
Tool in a specific directory, then that tool is denoted as being
**active**. This mechanism allows switching between different installed
tools and SDKs.
* **emsdk**: This is the name of the manager script that Emscripten SDK is
accessed through. Most operations are of the form `emsdk command`. To access
the emsdk script, launch the Emscripten Command Prompt.
accessed through. Most operations are of the form `emsdk <command>`.

## System Requirements

Expand Down Expand Up @@ -136,11 +134,11 @@ using git, and compile the package on demand.
When you run `emsdk list`, it will group the Tools and SDKs under these two
categories.

To obtain and build latest upstream wasm SDK from source, run
To obtain and build latest wasm SDK from source, run

```
emsdk install sdk-upstream-main-64bit
emsdk activate sdk-upstream-main-64bit
emsdk install sdk-main-64bit
emsdk activate sdk-main-64bit
```

You can use this target for example to bootstrap developing patches to LLVM,
Expand All @@ -156,7 +154,7 @@ https://emscripten.org/docs/contributing/developers_guide.html?highlight=develop
### When working on git branches compiled from source, how do I update to a newer compiler version?

Unlike tags and precompiled versions, a few of the SDK packages are based on
"moving" git branches and compiled from source (e.g. sdk-upstream-main,
"moving" git branches and compiled from source (e.g. sdk-main,
sdk-main, emscripten-main, binaryen-main). Because of that, the
compiled versions will eventually go out of date as new commits are introduced
to the development branches. To update an old compiled installation of one of
Expand All @@ -179,30 +177,18 @@ activate <tool/sdk name>`. Activating a tool will set up `~/.emscripten` to
point to that particular tool. On Windows, you can pass the option `--permanent` to
the `activate` command to register the environment permanently for the current user. Use `--system` to do this for all users.

### How do I build multiple projects with different SDK versions in parallel?

By default, Emscripten locates all configuration files in the home directory of
the user. This may be a problem if you need to simultaneously build with
multiple Emscripten compiler versions, since the user home directory can only be
configured to point to one compiler at a time. This can be overcome by
specifying the '--embedded' option as a parameter to 'emsdk activate', which
will signal emsdk to generate the compiler configuration files inside the emsdk
root directory instead of the user home directory. Use this option also when it
is desirable to run emsdk in a fully portable mode that does not touch any files
outside the emsdk directory.

### How do I track the latest Emscripten development with the SDK?

A common and supported use case of the Emscripten SDK is to enable the workflow
where you directly interact with the github repositories. This allows you to
obtain new features and latest fixes immediately as they are pushed to the
github repository, without having to wait for release to be tagged. You do not
need a github account or a fork of Emscripten to do this. To switch to using the
latest upstream git development branch `main`, run the following:
latest git development branch `main`, run the following:

emsdk install git-1.9.4 # Install git. Skip if the system already has it.
emsdk install sdk-upstream-main-64bit # Clone+pull the latest emscripten-core/emscripten/main.
emsdk activate sdk-upstream-main-64bit # Set the main SDK as the currently active one.
emsdk install sdk-main-64bit # Clone+pull the latest emscripten-core/emscripten/main.
emsdk activate sdk-main-64bit # Set the main SDK as the currently active one.

### How do I use my own Emscripten github fork with the SDK?

Expand Down
8 changes: 6 additions & 2 deletions bazel/emscripten_deps.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ filegroup(
"emscripten/cache/sysroot/include/c++/v1/**",
"emscripten/cache/sysroot/include/compat/**",
"emscripten/cache/sysroot/include/**",
"lib/clang/16/include/**",
"lib/clang/17/include/**",
]),
)

Expand Down Expand Up @@ -53,12 +53,16 @@ filegroup(
srcs = [
"bin/clang{bin_extension}",
"bin/llvm-ar{bin_extension}",
"bin/llvm-dwarfdump{bin_extension}",
"bin/llvm-nm{bin_extension}",
"bin/llvm-objcopy{bin_extension}",
"bin/wasm-ctor-eval{bin_extension}",
"bin/wasm-emscripten-finalize{bin_extension}",
"bin/wasm-ld{bin_extension}",
"bin/wasm-opt{bin_extension}",
"bin/wasm-metadce{bin_extension}",
"bin/wasm-opt{bin_extension}",
"bin/wasm-split{bin_extension}",
"bin/wasm2js{bin_extension}",
":emcc_common",
] + glob(
include = [
Expand Down
4 changes: 2 additions & 2 deletions bazel/emscripten_toolchain/toolchain.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -914,7 +914,7 @@ def _impl(ctx):
"-iwithsysroot" + "/include/compat",
"-iwithsysroot" + "/include",
"-isystem",
emscripten_dir + "/lib/clang/16/include",
emscripten_dir + "/lib/clang/17/include",
],
),
# Inputs and outputs
Expand Down Expand Up @@ -1081,7 +1081,7 @@ def _impl(ctx):
emscripten_dir + "/emscripten/cache/sysroot/include/c++/v1",
emscripten_dir + "/emscripten/cache/sysroot/include/compat",
emscripten_dir + "/emscripten/cache/sysroot/include",
emscripten_dir + "/lib/clang/16/include",
emscripten_dir + "/lib/clang/17/include",
]

artifact_name_patterns = []
Expand Down
28 changes: 28 additions & 0 deletions bazel/revisions.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,34 @@
# DO NOT MODIFY

EMSCRIPTEN_TAGS = {
"3.1.34": struct(
hash = "2fdd6b9e5b67d5b62f84d0501a876513ff118ef1",
sha_linux = "dd3713f077072dcdb811f934d6685187daa47c424039e31cba83633c8d1681b1",
sha_mac = "3824609ee9b7c9919e29b19775d495a16778adb981867901f4bc503fe2f65d7d",
sha_mac_arm64 = "72728637171df46e7cd22f90537dd6faf1d4809ed1befc504ff96768c82f0e0f",
sha_win = "7538d1a1e0d586bd0723f595557551b05d724a5803132949a6fafb8b056af995",
),
"3.1.33": struct(
hash = "49b960bd03b3a9da478a08541ce6eafe792a58a8",
sha_linux = "eab02b3f4b7c076974452ba602f908a36adf597afa15b16095b441f191ede1bb",
sha_mac = "b8dad3cddb19c1daf9dae99020bd17b903ae9649cfc58e433ea4951e758804de",
sha_mac_arm64 = "fbf03d06c7503f091191e440b8ea577d65b3261167cdb47359d053f12888974b",
sha_win = "031f951668eaeea39bd9363abb3f514efc3401506374984fa9b1d7ba3130a62f",
),
"3.1.32": struct(
hash = "29ad1037cd6b99e5d8a1bd75bc188c1e9a6fda8d",
sha_linux = "25fa252e9fc674d1bcef35b3a10dd85024aa93c843b8067f8d917e5151968ffc",
sha_mac = "7881714e7738eb183b5a421bb2b907e96359e791ad0a622be6e7f5690a16b9d6",
sha_mac_arm64 = "04eede7352aca4b6fc1c111a8b31d00e8aa40547c3cd062ff9be4ffe1ed98d95",
sha_win = "22c3429eb1e6051bda46e9c02c14eca1ae3749ba8c411fbd5a3b51e3b9623161",
),
"3.1.31": struct(
hash = "1eec24930cb2f56f6d9cd10ffcb031e27ea4157a",
sha_linux = "5952523c0c58cfc7c8839c1d3fe42ff34af5d8721231306ee432063dfacf96ca",
sha_mac = "13482cf3cb29f423f2037b9dc2b9e4ff72d0a49fcd471bbaa9b76d9f86f31d82",
sha_mac_arm64 = "654a35af16be5eeb2082e68fb36190fe76de28fa2da75ac0d2197482a203f39a",
sha_win = "493c29f5a505ccd9687036ee4c580d190b1c32b286be0e751a78e68997cec8b2",
),
"3.1.30": struct(
hash = "dc1fdcfd3f5b9d29cb1ebdf15e6e845bef9b0cc1",
sha_linux = "151d7afdfb728e1e55ed1d100e4d3fbd20925fd65f3c3b9e093061a2c89dcac7",
Expand Down
10 changes: 9 additions & 1 deletion emscripten-releases-tags.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"aliases": {
"latest": "3.1.30",
"latest": "3.1.34",
"latest-sdk": "latest",
"latest-arm64-linux": "3.1.21",
"latest-64bit": "latest",
Expand All @@ -10,6 +10,14 @@
"latest-releases-upstream": "latest"
},
"releases": {
"3.1.34": "2fdd6b9e5b67d5b62f84d0501a876513ff118ef1",
"3.1.34-asserts": "385382932c18a1312fff88000c4f83c2b9d1bb44",
"3.1.33": "49b960bd03b3a9da478a08541ce6eafe792a58a8",
"3.1.33-asserts": "e3ca2c6756b75cf6c6daa40276de0f25218e04a7",
"3.1.32": "29ad1037cd6b99e5d8a1bd75bc188c1e9a6fda8d",
"3.1.32-asserts": "2811c849256ec5b62b4ec32fb8369e5f3c9a54b1",
"3.1.31": "1eec24930cb2f56f6d9cd10ffcb031e27ea4157a",
"3.1.31-asserts": "48488847a38bb9cfb36e7397bea21ab2bb062680",
"3.1.30": "dc1fdcfd3f5b9d29cb1ebdf15e6e845bef9b0cc1",
"3.1.30-asserts": "21cca44e843267533c3d0b258b46c37bd142a2d7",
"3.1.29": "d949f1b99a477d4b0b54d95413df3688afa69d0a",
Expand Down
Loading