For Java we use the value in the config file so it doesn't need to be in
the PATH.
For python, all our tools should launch via scripts that check for
EMSDK_PYTHON so having python in the PATH for emsdk users should not be
needed.
The motivation for this is that we don't want to clobber any existing
python or java versions that users might already have in their PATH.
This is the easy part of #705.
- Remove empty llvm-tags-32bit.txt
- Remove code that executes if llvm-tags-64bit.txt is missing (it
can't be since its checked in these days).
- Cleanup load_file_index_list
I verfied manually that llvm_precompiled_tags* list are identical
before and after this change.
This change comes with fairly major change to the bazel toolchain.
- Use pre-built cache that comes with emsdk
- Mark cache as readonly using FROZEN_CACHE
- Pass `--sysroot` to match upstream emscripten change
We have mac linux and windows bots that run this script
on each of those platforms. This script already runs
`install latest` so there is no need to re-download these
three different archives on each platform.
LLVM renamed their default branch to main from master.
This breaks builds of the SDK from the sources.
This commit retargets LLVM builds to use the git branch main when appropriate.
The version name "master" remains the same to maintain compatibility with existing build scripts
Fixes#692.
Binaryen renamed their default branch to main from master.
This breaks builds of the SDK from the sources.
This commit retargets binaryen builds to use the git branch `main` when appropriate.
The version name "master" remains the same to maintain compatibility with existing build scripts
Fixes#683.
I have no idea why this argument was included when this
script was first added. `emsdk_env.bat` does not even pass
its argument into `emsdk.py` so this argument has no effect
here.
This PR has three changes:
1) Fixing --permanent flag:
The previous algorithm looped over the values of PATH 4 times to check conditions while these conditions are the opposite of each other. Also, the result did not include all the parts in the whole_path.
I have combined these loops and fixed the algorithm, so no path is lost. Now using --permanent the PATH and Env variables are correctly updated.
2) Fixing --system flag:
Now, the system flag does not cause the PATH values to be overwritten/clobbered. The PATH/Env variables are correctly updated.
3) Fixing flagless flag:
When no flag is provided the value of process/shell is correctly updated and preserved.
This adds the tests for all the situations.
Fixes#634Fixes#645
Also switch PostMessage to SendMessageWithTimeout and only send one if
environment variables actually changed.
Also, enable and fix --permanent unit tests.
This is still used for the legacy emscripten tags installation
but the native optimizer no longer exists on master.
This fixes `emsdk install emscripten-master-64bit`
* update bazel workspace for emscripten 2.0.3
* test to make sure WORKSPACE is up to date
* make it clear what happened when WORKSPACE is out of date
* intentionally add error to make sure circleci fails properly
* revert intentionally bad commit
* increase visibility of failure message
Co-authored-by: Mitch Foley <mitchfoley@google.com>
We no longer ship the sanify file as part of the SDK but
expect it be generated on first use:
https://github.com/WebAssembly/waterfall/pull/656
Also remove the Dockerfile itself from the docker image if
we include it then whenever you change anything in the
Dockerfile it invalides all the layers and forces a
completely rebuild. This makes iterating on the image
very slow.
- Copy the current checkout to the Dockerfile.
- Add .dockerignore to exclude files while copying.
- Test tip-of-tree build within CI.
- Run the test suite outside the Docker image.
- Perform extra sanity tests.
- Switch to make commands for CircleCI.
- Improve Docker README.
Fixes: #587
> If nodejs is not installed by `emsdk`, the output ".emscripten" file by `emsdk activate` will look like this.
>
> ```python
> NODE_JS = ''/usr/bin/nodejs''
> # too many quotes
> ```
>
> `emcc` fails to execute by this syntax error.
>
> I think fixing [this line](https://github.com/emscripten-core/emsdk/blob/1.40.1/emsdk.py#L1450) could be a solution.
>
> ```python
> activated_config['NODE_JS'] = "'%s'" % node_fallback
> # the value will be quoted later again
> ```