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.