Commit Graph

193 Commits

Author SHA1 Message Date
juj
1ded1a9d4a Add Node.js 24.7.0 support. (#1597)
This PR updates Node.js from earlier 22.16.0 to newer 24.7.0.

Remove armv7l and 32-bit Windows,
https://github.com/nodejs/nodejs.org/issues/8123
2025-09-03 00:41:18 +03:00
juj
efd71e9a2e Nightly Node.js and Big Endian cross compilation Node.js (#1590)
This PR adds support for

`./emsdk install node-nightly-64bit`

which finds the latest nightly node.js version and installs that. It is
a moving target, so the next day when a new nightly is produced,
reissuing `./emsdk install node-nightly-64bit` will install the newer
published version.

Also, this PR adds a fixed 22.18.0 version for the cross compilation
s390x Node.js target as well. On an x64 Linux system, this allows
running

`./emsdk install node-big-endian-crosscompile-22.16.0-64bit`

to install the big endian Node.js. This greatly simplifies the steps at
https://github.com/emscripten-core/emscripten/compare/main...juj:emscripten:bigendian_test_suite#diff-c36b90121be240017fa490a1c00e63e47fa3235f5c1be0593e2b7502d017c778R9985-R10000
and enables a trivial way to switch between LE and BE Node.js versions
for testing.

CC @slavek-kucera
2025-08-27 16:24:20 +03:00
juj
2d480a1b7c Update Node.js to LTS 22.16.0. (#1563)
This matches the minimum OS requirements set of macOS 11.0 and Windows
10:

https://github.com/nodejs/node/blob/v22.x/BUILDING.md#platform-list
2025-05-29 15:00:30 -07:00
juj
d07c793415 Update Python to 3.13.3 and add support to Windows on ARM64. (#1477)
Update Python to 3.13.0 and add support to Windows on AMD64. Rewrite
packaging of pywin32 because it is no longer shipped via separate binary
installers, but has migrated to use pip.
2025-05-28 23:20:03 +03:00
Sam Clegg
d63e0d425a Don't install java when installing windows sdk (#1324)
We use the native version of closure compiler these days so we don't
need to install java on windows IIUC.

See https://github.com/emscripten-core/emscripten/pull/20919
2024-10-29 14:07:17 -07:00
juj
1e2f1a239e Update Node from 18.20.3 LTS to 20.18.0 in precompiled releases. (#1476)
Update Node from 18.20.3 LTS to 20.18.0 in precompiled releases. This
does have an effect of retroactively updating Node version also to old
releases, but this is expected to be fine.
2024-10-19 00:48:45 +03:00
juj
5e398ab4bc Update Node to 20.18.0 LTS and add support for Windows on ARM64 to Node packages. (#1473)
Earlier Node 18.20.3 LTS did not yet support Windows on ARM64 builds.

Node 20.18.0 LTS is released on
https://nodejs.org/en/blog/release/v20.18.0.

This update currently only affects the "compiled from source" builds,
and not the Google precompiled releases.
2024-10-19 00:20:02 +03:00
juj
2ba3fcabb9 Remove old unsupported MinGW and Gnu grep tools. (#1468) 2024-10-18 12:17:40 +03:00
juj
53249b91e7 Remove old unused node.js versions from manifest. (#1467) 2024-10-17 20:41:30 +03:00
juj
2c42698bcd Remove old Python versions from manifest: no package uses these python versions anymore. (#1465) 2024-10-17 19:47:11 +03:00
Sam Clegg
8c38d2f915 Upgrade node from v16.20.0 to v18.20.3 (#1387)
Node v18 is that current LTS release of node and v18.20.3 is the latest
release of v18.

This change means that emsdk is no longer installable on Ubuntu/Bionic
18.04, and we now require Ubuntu/Focal 20.04.

See: #1183
Fixes: #1173
2024-05-28 12:12:17 -07:00
Sam Clegg
0bbae74935 Restore npm install step removed in #1325 (#1329) 2024-01-03 10:25:06 -08:00
Sam Clegg
8822664a14 Remove logic build building native asm.js optimizer. NFC (#1325)
We no longer support building fastcomp-based SDKs
2023-12-18 11:40:24 -08:00
Sam Clegg
d42c740aa5 Switch to .xz by default for SDK downloads (#1281)
This is a bit of a hack but I can't think of another way to do it.
Basically when downloading SDKs, we first try the new `.xz` extension.
If that fails, we fall back to the old `.tbz2`.  Both these first two
download attempts we run in "silent" mode.  If both of them fail we
re-run the original request in non-silent mode so that the error message
will always contain the original `.xz` extension.

See #1235
2023-09-21 15:16:34 -07:00
Sam Clegg
4f2db9682c Rename zipfile to archive or download as appropriate. NFC (#1257) 2023-07-10 14:04:24 -07:00
Sam Clegg
1d59cd22bd Prefer arm64 over aarch64 internally. NFC (#1246)
This seems like more commonly known/used name for the architecture
these days.
2023-06-27 13:46:33 -07:00
Derek Schuff
d7327b4850 Update node, 15.14.0 -> 16.20.0 (#1232)
This allows us to use the native ARM64 version on MacOS.
Also update the test scripts to work on ARM64 mac, and skip tests that aren't relevant.
2023-06-20 18:57:05 +00:00
Sam Clegg
dd8bbe5e82 Update node version 14.15.5 -> 15.14.0 (#829) 2023-04-11 18:17:46 +00:00
Sam Clegg
22ede2db8e Add activated_path_skip to node v14.18.2 packages (#1209)
This should have been part of #1189.  See #1183.
2023-04-10 13:54:35 -07:00
Sam Clegg
c04b1bbb3a Only add node/bin to user's PATH if one is not already found (#1189)
If the user already has a version of node in their PATH don't clobber
it.  This doesn't effect emscripten since the version of node we use
there is controlled via the config file, not via PATH.

Part of fix for #705.
2023-03-03 07:37:33 -08:00
Sam Clegg
1eaaa4c5b4 Remove -upstream component of SDK names (#1166)
This name existed to distinguish the SDK from fastcomp, but as of #1165,
we no longer support fastcomp.
2023-01-13 20:11:55 -08:00
Sam Clegg
f3bb209b86 Remove fastcomp SDK and fastcomp build rules. NFC (#1165)
Folks that want to work with fastcomp will now need to use an older
checkout of emsdk.
2023-01-09 04:53:13 -08:00
Sam Clegg
3e7e0ab8c3 Add prebuilt binaries of 3.1.7 for linux/arm64 (#1011) 2022-03-22 16:02:05 -07:00
Sam Clegg
70323522d6 Switch to nuget python package for windows (#1001)
This allows us to use pip and install other packages.

Fixes #16466
2022-03-21 09:16:44 -07:00
Sam Clegg
c33c7be17f Fix mac python by avoiding linking libintl (#981)
Fixes: #980
2022-01-31 11:37:32 -08:00
Sam Clegg
7bd01a2a40 Rebuild MacOS python with lzma module installed (#975)
Also update `scripts/update_python.py` such that it works on
linux once again.

Fixes: https://github.com/emscripten-core/emscripten/issues/16073
2022-01-27 07:09:53 -08:00
Sam Clegg
24e78812e0 Minor node version update v14.15.5 -> v14.18.2 (#953)
The newer versions of eslint require 14.17.0 or above.  This
updates our node version to the latest in the 14.XX series.

I don't expect any user-visible changes.
2022-01-09 07:43:39 -08:00
juj
2b3e0b9176 Add back node.js 12.18.1 packages for Windows 7 support. (#877) 2021-10-27 10:12:06 -07:00
Sam Clegg
b362b17326 Add arm64 fastcomp releases to emsdk_manifest.json (#891)
This was missing from emsdk_manifest.json and should alow older fastcomp
SDKs to be install on M1 apple hardware (in emulation mode).

Fixes: #889
2021-09-09 08:42:47 -07:00
Derek Schuff
b33aaafbcd Create manifest SDK entries for ARM64 emscripten-releases builds (#816)
This allows emsdk to download the new ARM64 binaries from
the emscripten-releases builders.
2021-05-11 08:40:06 -07:00
juj
ac98ca3882 Rename EMCC_CCACHE to _EMCC_CCACHE. (#762) 2021-03-17 17:26:19 +02:00
juj
0fe3d48f22 Update to python 3.9.2 on Windows as well. Mark old Python and Node packages. (#758) 2021-03-16 09:43:02 +02:00
juj
9c65611d96 Ccache (#711)
* Add support for ccache.

* Simplify ccache activation.

* Fix macOS ccache build

* Make ccache executable

* Add Ninja build support. Change ccache name to git.

* Fix merge conflict
2021-03-15 09:15:26 +02:00
Alexander Köplinger
1ee4a9c5be Fix GitHub repo url in emsdk_manifest.json (#757)
It was still using the old repo location which was moved to the emscripten-core organization.
2021-03-14 10:43:16 -07:00
juj
96d7ee1c5e Fix support for Apple M1 (#753)
* Fix support for Apple M1. Node.js will still run via Rosetta 2 emulation since they do not yet have M1 support, but Python, LLVM, Emscripten and Binaryen will be native.

* Update M1 python version and URL

* Remove .gitignore additions

* Move python first in the manifest (#441)

* Use macosx-version-min when building python

* Update Intel macOS python package name
2021-03-12 17:29:56 +02:00
Sam Clegg
9a70fe3688 Rename sdk-upstream-master SDK to sdk-upstream-main (#754)
Now that all the components (binaryen, emscripten and llvm) use `main`
as the branch name is makes sense to give the SDK this name.

Keep backwards compat with the old name but issue a warning when its
used.
2021-03-10 21:54:29 -08:00
Sam Clegg
329423fea2 Remove "fastcomp-master" SDKs from emsdk_manifest.json (#752)
It makes not sense to install fastcomp with the current main
branch of binaryen and emscripten so remove these SDK options.
2021-03-10 11:11:28 -08:00
Sam Clegg
1fe80678a9 Missing update from #746 (#751) 2021-03-09 11:13:09 -08:00
Sam Clegg
67dc4b4989 Switch emscripten branch from master to main (#750) 2021-03-08 15:52:14 -08:00
Sam Clegg
226b548c31 Rename binaryen-master to binaryen-main (#746)
This matches the branch name that was already updated/renamed.
2021-03-08 08:33:25 -08:00
Sam Clegg
0a841562df Avoid post-install when nothing is installed (#736)
This avoids re-running the post-install scripts when commands such as
`./emsdk install latest` a re-run.  This re-running of npm ci can be
significant slowdown especially during testing and developerment.

Becuase of the refactoring this change change also means we exit ealier
when a given tool fails to install.  In general we want to error out as
early as possible on the first failure so as not to bury it.
2021-03-01 09:32:07 -08:00
Sam Clegg
ef638b3860 Rename llvm-git-master -> llvm-git-main (#718)
To match the branch rename that happened in #693.
2021-02-17 19:11:07 -08:00
Sam Clegg
57ebbbdabc Avoid adding our java or python to the PATH (#706)
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.
2021-02-15 13:46:54 -08:00
Sam Clegg
9e96410d7f Update node version to 14.15.5 (latest TLS release) (#708)
See https://github.com/WebAssembly/binaryen/issues/3551
2021-02-12 16:47:20 -08:00
Matthew McRaven
02edc9765b Set LLVM's git branch to main in manifest. (#693)
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.
2021-01-28 17:49:46 -08:00
Matthew McRaven
6357c6dcab Set binaryen's git branch to main in manifest. (#684)
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.
2021-01-21 18:57:59 -08:00
Sam Clegg
10290f2f1d Update mac circleci environment (#644)
Apparently `Image xcode:9.0 is not supported` these days.
2020-10-24 10:01:10 -07:00
Sam Clegg
42abe55fd7 Remove native optimizer build from emscripten master install (#622)
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`
2020-09-21 16:59:19 -07:00
Amin Yahyaabadi
edc53e7a0a Add missing python locations to emsdk.ps1 (#615) 2020-09-15 15:14:52 -07:00
Sam Clegg
e08b17c8bf Remove copy_pregenerated_cache (#609)
Newer SDKs don't require this and removing it doesn't break
any older SDKs (it just slows down their first use).
2020-09-10 16:32:23 -07:00