Changes since version 1.34.1: * misc: adjust stalebot deadlines (Jameson Nash) * test: fix env-vars flakiness (cjihrig) * test: avoid truncating output lines (Jameson Nash) * darwin: stop calling SetApplicationIsDaemon() (Ben Noordhuis) * ibmi: implement uv_interface_addresses() (Xu Meng) * osx,fsevent: fix race during uv_loop_close (Jameson Nash) * osx,fsevent: clear pointer when deleting it [NFCI] (Jameson Nash) * Revert "aix: replace ECONNRESET with EOF if already closed" (Jameson Nash) * unix: handle uv__open_cloexec return value correctly (Anna Henningsen) -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIzBAABCgAdFiEElK42Z1xGTWS6+mjddDQ5C9vpucUFAl4pq5MACgkQdDQ5C9vp ucWJxA//fZm/u46gxSeRdWeFu9W1r1CgkJqmWT6vHeeBphk28lAulHAO0AM/bbbd x2WsLS8q7cLk3chwpN4CgJkgS8acqcsuHBGEzqc8o5cd76rCkua7eHvOR83D4Ix4 c46hJH7WF3S4jnVV09iAU+mGplyUPF3F8HvmbTNZnbsuLKj2U88kDjm4nsxiSwdn aMeyZNtM6NdtqHRgIup+SqS4hNvaUt+gD7715efTlGPDwLR3KCJ8Mzd9F4JFrPrT wCjAGLiTFZXFcnwR/Ysx66jQNjfp/fZy7G/zU+7UFKwCjZdwZyybqzy4lmYXtV7N 2hmliaxm3UsYPSD06mA+iUTdD9vnk2/htCNL5OBS11b6lAliYtdNC3l9BQ2Y3TVp xobPcjiRWmvN5P0GIL9/DjK7nxpSdj7BFFyyVz21/+OsYX+NYI4L/Vb4RjezGeGy RMS26S530fOsPCbPlSyEUqvjbTHI95FiLK8Y008YlRRsWVsCxrdrhDjT964LHZ51 nFFPkR0Ghr/y0d9AzBsrsnjAi9g/K+dX3F72S8S2gS3LMkLVr6fLrEQ5AmclAa4f 62TZvnKY3MzjdzsBpslGHHVp3l+HsNdkI27bLCbYUAL/c+R0fl96mac34IHGL+KV b/99O3WMxGtq/Zdn709ryMOLnC+F5KTJpl2LckExfxvubPcu9UQ= =SjB7 -----END PGP SIGNATURE----- Merge tag 'v1.34.2' into merge_1.34.2 PR-URL: https://github.com/libuv/libuv/pull/2649 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
69 lines
2.6 KiB
Markdown
69 lines
2.6 KiB
Markdown
# Supported platforms
|
|
|
|
| System | Support type | Supported versions | Notes |
|
|
|---|---|---|---|
|
|
| GNU/Linux | Tier 1 | Linux >= 2.6.32 with glibc >= 2.12 | |
|
|
| macOS | Tier 1 | macOS >= 10.9 | |
|
|
| Windows | Tier 1 | Windows >= 7 | MSVC 2015 and later are supported |
|
|
| FreeBSD | Tier 1 | >= 10 | |
|
|
| AIX | Tier 2 | >= 6 | Maintainers: @libuv/aix |
|
|
| z/OS | Tier 2 | >= V2R2 | Maintainers: @libuv/zos |
|
|
| Linux with musl | Tier 2 | musl >= 1.0 | |
|
|
| SmartOS | Tier 2 | >= 14.4 | Maintainers: @libuv/smartos |
|
|
| Android | Tier 3 | NDK >= r15b | |
|
|
| IBM i | Tier 3 | >= IBM i 7.2 | Maintainers: @libuv/ibmi |
|
|
| MinGW | Tier 3 | MinGW32 and MinGW-w64 | |
|
|
| SunOS | Tier 3 | Solaris 121 and later | |
|
|
| Other | Tier 3 | N/A | |
|
|
|
|
## Support types
|
|
|
|
* **Tier 1**: Officially supported and tested with CI. Any contributed patch
|
|
MUST NOT break such systems. These are supported by @libuv/collaborators.
|
|
|
|
* **Tier 2**: Officially supported, but not necessarily tested with CI. These
|
|
systems are maintained to the best of @libuv/collaborators ability,
|
|
without being a top priority.
|
|
|
|
* **Tier 3**: Community maintained. These systems may inadvertently break and the
|
|
community and interested parties are expected to help with the maintenance.
|
|
|
|
## Adding support for a new platform
|
|
|
|
**IMPORTANT**: Before attempting to add support for a new platform please open
|
|
an issue about it for discussion.
|
|
|
|
### Unix
|
|
|
|
I/O handling is abstracted by an internal `uv__io_t` handle. The new platform
|
|
will need to implement some of the functions, the prototypes are in
|
|
``src/unix/internal.h``.
|
|
|
|
If the new platform requires extra fields for any handle structure, create a
|
|
new include file in ``include/`` with the name ``uv-theplatform.h`` and add
|
|
the appropriate defines there.
|
|
|
|
All functionality related to the new platform must be implemented in its own
|
|
file inside ``src/unix/`` unless it's already done in a common file, in which
|
|
case adding an `ifdef` is fine.
|
|
|
|
Two build systems are supported: autotools and GYP. Ideally both need to be
|
|
supported, but if GYP does not support the new platform it can be left out.
|
|
|
|
### Windows
|
|
|
|
Windows is treated as a single platform, so adding support for a new platform
|
|
would mean adding support for a new version.
|
|
|
|
Compilation and runtime must succeed for the minimum supported version. If a
|
|
new API is to be used, it must be done optionally, only in supported versions.
|
|
|
|
### Common
|
|
|
|
Some common notes when adding support for new platforms:
|
|
|
|
* Generally libuv tries to avoid compile time checks. Do not add any to the
|
|
autotools based build system or use version checking macros.
|
|
Dynamically load functions and symbols if they are not supported by the
|
|
minimum supported version.
|