Commit Graph

112 Commits

Author SHA1 Message Date
Alon Zakai
963d839afa Bundle java and python for emscripten-releases on windows, which matches the old behavior (#253) 2019-05-30 09:05:38 -07:00
Alon Zakai
76a5ae0b82 If an archive has not been downloaded, download it and assume its contents are new (#248)
This allows us to always unpack our builds into upstream/ or fastcomp/, instead of creating a new directory each time. Since without this, we'd get told to download a new file, and the emsdk would see that where it would be unpacked had contents, and assumed that even though it wasn't downloaded it must be the same. So we'd silently skip it.

It's useful to always unpack into the same dir since it's easier for people that create their own .emscripten file (the location of emscripten etc. is all fixed under the emsdk), and also it avoids directories accumulating, which each take hundreds of megabytes, so over time it can get burdensome.
2019-05-28 15:57:04 -07:00
Alon Zakai
7b8322f45e Remove waterfall integration (#246)
We can remove this now that we have emscripten-releases working and use it everywhere we used the emsdk's waterfall integration.

In particular this should fix the current lkgr.json errors people are seeing (by removing all the lkgr stuff), which I believe started when I refactored that code while doing the releases work - I must have gotten something wrong on non-linux OSes. But anyhow, easier to remove that unnecessary code than fix it at this point.
2019-05-24 14:04:43 -07:00
Alon Zakai
de1134d8de Add emscripten-releases support for release tags (#243)
* Structures emscripten-releases-tags.txt to mention the latest release, and then a list of all previous releases.
* Adds a new release for 1.38.33.
* If the manifest has emscripten_releases_hash, then we write out emscripten-version.txt with the proper version. We start with the hash, and check if there is a released version for it, if so we emit that, otherwise we emit the hash.
* Windows zipfile fix.
2019-05-23 17:08:23 -07:00
Alon Zakai
e2434062a8 Prepare for emscripten-releases (#237)
Updated to our current initial plan here:

* Add emscripten-releases-tags.txt which is a JSON file with a map of tag name to git hash in the emscripten-releases repo. Right now this file is just checked in here; in the future we may make the emsdk update it from git tags with update-tags etc.
* That file contains a "latest" tag, which is fetched for when getting latest-releases-[upstream|fastcomp]. We may want that to eventually be updated based on the latest green stuff on the bots perhaps.
* Rename the current sdk-[upstream|fastcomp]-* etc. to sdk-waterfall-[upstream\|fastcomp]-*. Then we'll have sdk-releases-[upstream|fastcomp]-* etc. This is just an internal name change - emsdk install latest-upstream still works as before, and still uses the waterfall (so we don't break our github CI).
* Add support for emsdk install latest-releases-[upstream\|fastcomp]
* Add a test using the actual emscripten-releases builds
2019-05-22 17:23:04 -07:00
juj
4eeff61368 Add SDK definitions for upstream wasm backend enabled LLVM, "sdk-wasm-master-32/64bit". (#213) 2019-05-06 11:52:13 +03:00
Alon Zakai
e5844d746e Add the lkgr as a prefix to upstream downloads (#223)
Without this, we would not download new versions, as the filename looked the same ("already downloaded"). We'd unzip those old contents to a directory with the new name, giving the impression we updated when we didn't :(
2019-02-25 17:18:58 -08:00
Alon Zakai
38dcc11b1d Re-land #200 : waterfall fastcomp support (#204)
(This was reverted by mistake. It had a bad commit message though, so relanding with a nicer one is nice anyhow.)

With this, we can do emsdk install latest-fastcomp and it installs fastcomp from the waterfall. That is, we then have 3 main sdks people might want to use:

* latest which installs fastcomp-llvm (plus emscripten etc.) from the mozilla infrastructure. (fetches the last emscripten version there)
* latest-upstream which installs upstream-llvm (plus emscripten etc.) from the waterfall infrastructure. (fetches the last known good revision (lkgr) there)
* latest-fastcomp which installs fastcomp-llvm (plus emscripten etc.) from the waterfall infrastructure. (fetches the last known good revision (lkgr) there)

The first and last are currently somewhat overlapping in that both fetch a build of fastcomp. However, as we transition away from the mozilla infrastructure, we could just make latest an alias for latest-fastcomp. (And later, when we're ready to switch to the wasm backend by default, the alias could switch to latest-upstream.)
2019-01-08 13:46:53 -08:00
Alon Zakai
b0fda89ec2 Revert "Add 'latest-fastcomp' sdk (#200)" (#202)
This reverts commit b4de632f3f.

This caused the ec2 mozilla builders to fail due to bundling lkgr.json. Reverting til we figure it out.
2019-01-08 13:28:17 -08:00
Alon Zakai
b4de632f3f Add 'latest-fastcomp' sdk (#200)
* add a 'fastcomp' sdk, which provides fastcomp from the waterfall

* fix

* fix

* fix?

* fix

* fix

* fix

* logging

* fix?

* cleanup
2019-01-08 12:37:39 +02:00
Alon Zakai
889c1516fb Enable "emsdk [install|activate] latest-upstream" (#195)
This makes it possible to tell the emsdk to get "latest-upstream", which fetches the latest lkgr from there. This will probably be a common use pattern, I expect we may want to recommend users start trying out the wasm backend that way soon. This will also let us simplify this code: https://github.com/kripken/emscripten/blob/incoming/.circleci/config.yml#L334

Aside from adding the "latest-upstream" alias, this PR has

* A few minor cleanups in the emsdk code.
( Minor restructuring of how we define the upstream stuff in the manifest: It seemed odd to have 3 things (clang, emscripten, binaryen) that are all coming from a single archive from the waterfall. Simpler to have just one - the archive is one big lump, there's no way to download just part of it.
* Also add node 8.9.1 as a dependency of the upstream sdk, which makes things usable out of the box (node.js is the one thing not provided by the waterfall archive).
2018-12-20 09:58:37 -08:00
juj
857f418f9f Merge pull request #164 from jgravelle-google/waterfall_lkgr
Add upstream waterfall tools and sdk
2018-07-25 19:10:34 +03:00
Jacob Gravelle
e7a7828def Move waterfall-lkgr sdk to not be chosen by 'install latest' 2018-07-23 13:52:14 -07:00
Jukka Jylänki
df9957f0dc Also add EMSCRIPTEN_NATIVE_OPTIMIZER environment variable. 2018-07-19 12:37:34 +03:00
Jukka Jylänki
c0e0f2ddd7 Also add EMSDK_NODE environment variable. 2018-07-19 12:30:50 +03:00
Jukka Jylänki
f4f4dbdbf7 Also add EMSDK_PYTHON environment variable to point to the python.exe interpreter that is activated with Emsdk. 2018-07-19 12:27:24 +03:00
Jukka Jylänki
17f50b0e95 Add LLVM_ROOT environment variable when a Clang tool is activated. 2018-07-19 12:19:20 +03:00
Jacob Gravelle
f221912051 Move upstream- prefix from tool id to version 2018-07-18 09:42:25 -07:00
Jacob Gravelle
c475b565ad Add upstream waterfall tools and sdk 2018-07-18 09:27:20 -07:00
Jacob Gravelle
8512c60588 There is no binaryen-incoming, point incoming sdks at binaryen-master (#150) 2018-06-22 09:38:41 -07:00
juj
b6dbf740a6 Merge pull request #146 from jgravelle-google/upstream_llvm
Support for building upstream LLVM from source
2018-06-22 08:00:43 +03:00
Jacob Gravelle
3310027d35 Use only_supports_wasm flag instead of separate install script 2018-06-20 09:07:48 -07:00
Jacob Gravelle
e54a0dc5ae Fix 32-bit lld_url 2018-06-20 08:42:22 -07:00
Jacob Gravelle
16125272b2 Support for building upstream LLVM from source 2018-05-30 16:41:59 -07:00
Jacob Gravelle
5676ccaca4 Build binaryen from source when building tagged sdk versions from source 2018-05-15 15:49:18 -07:00
Jukka Jylänki
4c8ea1b10b Update to WinPython 2.7.13.1 and add new packages for WinPython 3.5.4 as well. (only used if explicitly installed) 2018-02-26 19:53:20 +02:00
Jukka Jylänki
cea44f475a Default to building Release instead of RelWithDebInfo. Closes https://github.com/kripken/emscripten/issues/6016. 2018-01-03 13:52:01 +02:00
Kagami Sascha Rosylight
3c422db225 use node 8 for precompiled builds 2017-12-22 22:01:10 +09:00
Jukka Jylänki
d3a5609c5f Make node.js directory structure universal across Windows, Linux and macOS 2017-11-23 17:26:59 +02:00
Jukka Jylänki
9026335bcd Migrate incoming and new tags to use node.js 8.9.1 LTS 2017-11-23 16:45:20 +02:00
Jukka Jylänki
a21b2f2ef5 Add support for specifying version filter restrictions on %-expanded manifest packages. This enables e.g. separating out Emscripten version <= 1.37.22 to keep using Java 7 that they originally shipped with, but migrate 1.37.23 to use Java 8 which is now needed to keep Closure working. Add packages for Java 8. 2017-11-13 16:48:26 +02:00
Jukka Jylänki
a90d9ef4c8 Fix activation path for Binaryen 2017-07-13 13:10:05 +03:00
Jukka Jylänki
ee89d408a9 Update to MinGW 7.1.0 64-bit 2017-07-12 13:21:11 +03:00
Jukka Jylänki
836ba1515e Fix tag builds from source to default to Release as intended, instead of RelWithDebInfo. Only incoming sdk should default to RelWithDebInfo (development oriented) 2017-07-11 15:53:47 +03:00
Jukka Jylanki
2e8d8474f7 Use the .git suffix for cloning git repositories, #82 and https://github.com/WebAssembly/binaryen/issues/938 2017-06-10 11:50:10 +03:00
Jukka Jylanki
700b336ecb Add precompiled tags for Linux and OS X. 2017-03-23 22:48:30 +02:00
Jukka Jylänki
fbd2fc1345 Add support for loading and using precompiled tagged releases. 2017-03-23 13:18:48 +02:00
Jukka Jylänki
be24263945 Add Emscripten 1.37.1 manifest. 2017-01-14 04:56:25 +02:00
Jukka Jylänki
01be20bc15 Add Binaryen tags to manifest list. 2017-01-12 22:01:09 +02:00
Jukka Jylänki
87cb951ec7 Fix node 4.1.1 manifest on Windows to include .exe suffix on the generated NODE_JS environment variable. 2016-10-27 02:48:56 +03:00
Jukka Jylänki
3234ef7749 Add support for building binaryen from master git branch. 2016-10-14 11:52:47 +03:00
Jukka Jylänki
85da2afebd Add Nightly manifests for 32-bit Clang and Windows. 2016-09-28 20:26:58 +03:00
Jukka Jylänki
f954465055 Add support for installing precompiled nightly LLVM/Emscripten/SDK versions. 2016-09-28 19:06:56 +03:00
Jukka Jylänki
387c028869 Remove comment in emsdk_manifest.json 2016-08-07 22:33:45 +03:00
Jukka Jylänki
28d8cb13ff Add the grep tool. This is only needed if one wants to run the 'other.test_llvm_list' test for LLVM itself, Emscripten doesn't care much about this. 2016-08-07 22:30:01 +03:00
Jukka Jylänki
a1dcbfb061 Fix emsdk activate step to pass the correct path to Emscripten optimizer when using --vs2015. 2016-06-09 14:21:54 +03:00
Jukka Jylänki
0020bd7437 Add packages for emsdk 1.35.0 release. 2015-11-13 17:02:12 +02:00
Jukka Jylänki
89df87a460 Fix bug where emsdk install latest would attempt to compile the latest tag, instead of using the latest precompiled version which is intended. 2015-10-28 18:19:41 +02:00
Jukka Jylänki
bffec00ee2 Add node 4.1.1 dependencies to linux SDKs. 2015-09-25 17:07:10 +03:00
Jukka Jylänki
c54775fff4 Add linux node 4.1.1 packages. 2015-09-25 17:00:08 +03:00