I want to install the upstream stuff mentioned in the lkgr.json file in the `upstream` folder. How do I do that through the EMSDK? Running the "emsdk list" command gives me this output:
"
The following precompiled tool packages are available for download:
clang-e1.30.0-64bit
clang-e1.34.1-64bit
clang-e1.35.0-64bit
clang-e1.37.1-64bit
clang-e1.38.30-64bit
clang-e1.38.31-64bit
node-4.1.1-32bit
node-4.1.1-64bit
node-8.9.1-32bit
node-8.9.1-64bit
python-2.7.13.1-32bit
python-2.7.13.1-64bit
python-3.5.4-32bit
python-3.5.4-64bit
java-7.45-32bit
java-7.45-64bit
java-8.152-32bit
java-8.152-64bit
spidermonkey-37.0.1-64bit
spidermonkey-nightly-2015-04-12-64bit
git-1.9.4
emscripten-1.30.0
emscripten-1.34.1
emscripten-1.35.0
emscripten-1.37.1
emscripten-1.38.30
emscripten-1.38.31
vs-tool-0.9.4
crunch-1.03
gnu-2.5.4
mingw-7.1.0-64bit
The following tools can be compiled from source:
clang-tag-e1.38.30-32bit
clang-tag-e1.38.31-32bit
clang-tag-e1.38.30-64bit
clang-tag-e1.38.31-64bit
clang-incoming-32bit
clang-incoming-64bit
clang-master-32bit
clang-master-64bit
upstream-clang-master-32bit
upstream-clang-master-64bit
emscripten-tag-1.38.30-32bit
emscripten-tag-1.38.31-32bit
emscripten-tag-1.38.30-64bit
emscripten-tag-1.38.31-64bit
binaryen-tag-1.38.30-32bit
binaryen-tag-1.38.31-32bit
binaryen-tag-1.38.30-64bit
binaryen-tag-1.38.31-64bit
emscripten-incoming-32bit
emscripten-master-32bit
emscripten-incoming-64bit
emscripten-master-64bit
binaryen-master-32bit
binaryen-master-64bit
The following precompiled SDKs are available for download: (Run "git pull" followed by "./emsdk update-tags" to pull in the latest list)
sdk-1.30.0-64bit
sdk-1.34.1-64bit
sdk-1.35.0-64bit
sdk-1.37.1-64bit
sdk-1.38.30-64bit
sdk-1.38.31-64bit
The following SDKs can be compiled from source:
sdk-incoming-32bit
sdk-wasm-master-32bit
sdk-incoming-64bit
sdk-wasm-master-64bit
sdk-master-32bit
sdk-master-64bit
sdk-tag-1.38.30-32bit
sdk-tag-1.38.31-32bit
sdk-tag-1.38.30-64bit
sdk-tag-1.38.31-64bit
Items marked with * are activated for the current user.
To access the historical archived versions, type 'emsdk list --old'
"
I don't understand which one to get if I want upstream LLVM from the LLVM GitHub repo. Also, I was thinking it might be `sdk-wasm-master-64bit` and therefore tried to install that, but I got stuck on building Clang.
Please note that I what I mean by it being stuck on building Clang is that it failed with an error:
Build failed due to exception!
Working directory: C:/emsdk/clang/upstream\build_master_vs2017_64
Command '['C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\MSBuild/15.0/Bin/amd64\\MSBuild.exe', '/t:Build', '/p:Configuration=Release', '/p:Platform=x64', '/nologo', '/verbosity:minimal', 'LLVM.sln']' returned non-zero exit status 1
Installation failed!
Another question I want to ask is this: is it possible to just have the EMSDK download the necessary files for the SDKs or tools I want and then use CMake to build them myself?
Speaking of LLVM/Clang, if that SDK has the upstream version, it should have WebAssembly as a target to build rather than an experimental target because in LLVM 9 it's not an experimental target anymore and is included by default (`-DLLVM_TARGETS_TO_BUILD=all` is the default setting, and WebAssembly is included under "all"). But I noticed that the EMSDK uses the setting `-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly`. Doesn't that mean it's an older version of LLVM? Also, is it vanilla LLVM built to target WebAssembly, or is it Fastcomp?
I want to get the lkgr stuff. And preferably I want EMSDK to use my own global installations of Java, Python and Node. If possible. Please help. Thanks in advance.