This is a working solution for generating a separate Emscripten cache.
Note that this requires an additional entry in the workspace as follows:
```starlark
load("@emsdk//:emscripten_cache.bzl", emsdk_emscripten_cache = "emscripten_cache")
emsdk_emscripten_cache()
```
When used like this, the default Emscripten cache will be used. However,
if the entry is as follows:
```starlark
load("@emsdk//:emscripten_cache.bzl", emsdk_emscripten_cache = "emscripten_cache")
emsdk_emscripten_cache(flags = ["--lto"])
```
Then embuilder will be called to build all system libraries and ports
(i.e., the `ALL` option to embuilder) with the LTO option enabled. This
can take awhile, so I have also made possible to specify which libraries
you want to build explicitly:
```starlark
load("@emsdk//:emscripten_cache.bzl", emsdk_emscripten_cache = "emscripten_cache")
emsdk_emscripten_cache(
flags = ["--lto"],
libraries = [
"crtbegin",
"libprintf_long_double-debug",
"libstubs-debug",
"libnoexit",
"libc-debug",
"libdlmalloc",
"libcompiler_rt",
"libc++-noexcept",
"libc++abi-debug-noexcept",
"libsockets"
]
)
```
Resolves#807, resolves#971, resolves#1099, resolves#1362, resolves
#1401
* Allows generation of audio worklet bootstrap js file
In order to allow users to generate the file, the allowed extension list in `link_wrapper.py` has been updated accordingly.
* adds audio worklet js to wasm_cc_binary too
---------
Co-authored-by: William Izzo <william.izzo@hey.com>
* (bazel) Set @platforms//os:emscripten for platform_wasm
* (bazel) Set @platforms//os:emscripten for platform_wasm
* (bazel) Set @platforms//os:emscripten for platform_wasm
This script is (IMO) more readable, but the real reason for this change is that
it raises an error message when the binary package fails to download. (The shell
script silently generated a bogus hash instead, because the shell's `set -e`
builtin does not affect commands executing inside a $() context.
It seemed just as easy to rewrite the script in Python as to fix that.
This change also updates some outdated filename references.
* Add linux/arm64 support to bazel rules
* Make linux arm64 sha optional and PR feedback
Not all releases have linux shas. Use getattr to default to no sha if none was
present. This way non linux arm64 builds should not fail.
* Update linux arm64 sha for 3.1.33
This is the latest arm64 release according to #1204. There do not seem to be a any releases between .21 and .33.