Remove the optional argument to contruct_env. It simple if we
always construct the env in the same place. Avoid using temp files,
and avoid changing directory.
Also accept -h for help.
This is the usual behaviour of most utils that accept --help.
Also, now an empty call to ./emsdk does not print the full help, as
discussed in #509.
This expands on #460 which added a file in each install dir
with the version, that lets us know not to re-download it. That
didn't integrate with is_installed, so it wasn't reported properly,
which this PR fixes.
With this we can remove a hack for python, as we can simply
not install anything if it's already installed (see line 1859).
Also add the "INSTALLED" indicators on the main listings in
"emsdk list".
Bug was reported in #477
"Legacy" here meaning anything using only < 1.38.0, and anything
using 'nightly' mozilla builds (which have not been done for years).
This also lets us remove node 4.1.1 (but not 8.9.1).
Ooops, I guess even the most innocent-seeming change can have
unintended consequences. Switching to embedded by default will at
least make this path more tested in the future.
Fixed#497
If `is_installed` doesn't return true after install than something
serious went wrong so make this into a warning.
Also, clean up couple of places to make the python code more
readable.
This allows `emsdk_env.sh` to work under bash for windows even in the
absence of the `MSYSTEM` environment variable (which seems to be
the setup on circle CI.
* Writes a .emsdk_version file to output directories using the name (which contains a version number and/or hash) once all installation steps have completed successfully.
* If that file exists, skip downloading/installation hooks.
* Add npm install step as post-build to Emscripten
* Address review
* Run npm install on releases-upstream and releases-fastcomp
* Fix node path
* Add node to PATH
* Only install production packages with npm
* Address review
* Build wasm upstream
* Fix lld build for wasm-ld. Add note about compiler-rt not working.
* Address review
* Address review
* Address review
* Address review
* If targeting fastcomp Clang, apply EMCC_WASM_BACKEND=0 so that previous leftover environment with EMCC_WASM_BACKEND=1 will not cause a conflict
* Add docs about setting up Emscripten
Only do this for the new `emscripten-releases`. These all install
the the same directory so we can't use the presence of the directory
to know if we have already installed them.
* Do not attempt to reinstall python if it already exists, since that python may be interpreting the current emsdk.py script that is being executed to do the installation.
* Add TODO comment about refactoring install scheme
The OSX message is [SSL: CERTIFICATE_VERIFY_FAILED] while trying to download files.
While, the Linux Python message is less descriptive.
Error downloading URL 'https://xxxx.xxx.xxx': <urlopen error unknown url type: https>.
This hopefully reduces the stream of common issues raised during installation as a result of the change of Python TLS certs to 2048 or greater.
This change relates to #133#136#140#176#6275#6548#6723#9036 … and possibly more.
Installation can be accomplished by installing the latest Python certificates (pip install certifi), symbolic linking a new python version, and relying on the python shebang line to run $ ./emsdk.py install latest.
Remove obsolete docs links.
Remove downloading of the old releases list, and bundle the file in the repo.
Also the message in update-tags was wrong: we need git to do anything there now, as update-tags gets emscripten-releases using git currently (which is ok as update-tags is run by users that installed with git; otherwise they installed without git and just update the entire emsdk normally).
Previously we were asserting and generating a stack track if a
download failed. However the assert is only relevant if the download
succeeds.
Also:
- Remove an unused function
- Remove extra braces from tuple destructuring
This change moves the python code for emsdk into a file ending in .py.
This script is then run via emsdk.bat on windows or emsdk (a shell
script) on non-windows.
This avoid the #!/bin/sh at the top of the python script and the "exec"
hack on the first line that re-runs it under python. Hopefully this
preserves the intent of #273 without jumping through so many hoops.