Changes since version 1.19.1: * test: fix incorrect asserts (cjihrig) * test: fix a typo in test-fork.c (Felix Yan) * build: remove long-obsolete gyp workarounds (Ben Noordhuis) * build: split off tests into separate gyp file (Ben Noordhuis) * test: check uv_cond_timedwait more carefully (Jamie Davis) * include,src: introduce UV__ERR() macro (Mason X) * build: add url field to libuv.pc (Ben Noordhuis) * doc: mark IBM i as Tier 3 support (Jesse Gorzinski) * win,build: correct C2059 errors (Michael Fero) * zos: fix timeout for condition variable (jBarz) * win: CREATE_NO_WINDOW when stdio is not inherited (Nick Logan) * build: fix commmon.gypi comment (Ryuichi KAWAMATA) * doc: document uv_timer_start() on an active timer (Vladimír Čunát) * doc: add note about handle movability (Bartosz Sosnowski) * doc: fix syntax error in loop documentation (Bartosz Sosnowski) * osx,stream: retry sending handle on EMSGSIZE error (Santiago Gimeno) * unix: delay fs req register until after validation (cjihrig) * test: add tests for bad inputs (Joyee Cheung) * unix,win: ensure req->bufs is freed (cjihrig) * test: add additional fs memory management checks (cjihrig) -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAABCgAGBQJajdXDAAoJEHQ0OQvb6bnF+gkQAIYnk1ujKETakcu/O8M/d+yu gZkLAnqkMYD5X5rTEFkaHrzrQMD85twxme+GgegSFweUDvhqVQWveeNG5zRJ8/ri HsysKioqBsMfzCtJw4W+wDLIL7ltja2vcZooTTyvrIArLd2zQ8sn0nHe/eTq2uKl wMPhup9qxl10THpevdab3AMr1jEJ3KSsFaNUaVLySf6DJJqY4pRV+ekDGQVrkNZU XzH67YN2XWP5dsavAVX0GsnQraX8kNWgYjcDK93D55hj93iyq+38ZYstEhNqIGF9 9StzptoUyqK5KD5tyDYC2WmgwBJd9eAodmjCdq+ZP0td/irxEhQoRAX7aoAjBGzY j3vTb0JXhvvEghivap86mkxPhAQ6rmbGZkG/yOi6eexL/es1GwhGmfzE3NgUexCx nyKVCWqVo4IjL53+jndaX3wE4AIKpo0geah7f82v7cIJJqYN8DtaNN9imwZO3r7p WFUx2ujOYGuFcz1xbFNyLzBH0Rda2JnsvtAstGvWXSoXzCNSEU5PZ6rpn3jcOVU5 mDjQ9z/x3kp25qp014+wxHD+mltZzcL8H8fJfQ9JkGWdYE+R3brzwib07GctdlKP 3/PGH6vbDyiiCEiwfwjhjZpZWyJcaEuGegEc7J80uEm+/yq1/4HrdaFbI20D2heB NIj8XaaPt8Vqsafp0ZWp =Aa+M -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEYS8OrZQBYiN530QC8ow8jaM8A74FAlqRjUEACgkQ8ow8jaM8 A77UBw//b71/tAhf1ZOEwouhCjuoy17PNrgfmpQFw8NbaJc6YALe2oQ+1+gc/GPp 9kaPfjDLSlZwYJMVtiTmKaQoqYNj3Y6ZJatZYambZ89/3XCBjd4WbK2IMnpth+xU tLzvjd5RlNMNpyrdrlEXneZi5ql7/QeRLj85k2790LSSajODK8A4VoZZoRmfBL4S rnngc5BFI2MGNOyUcc4HBtAcusvt6KIZWxhiRHLa0vpNmrnUAcXqruxzp36+ct+3 efy+9cx6uzbnqg7dv8WHljre+2we4NaHcH4W2zCkNuf0JrO9reJMjojBb3+NsVIt HBHonkVLvRf8eTv8VFoKQPqeMStVj2FtVRmuKqcZ8l/fZNH/Fz2R2tO2ZaLCrSax TkAiuLi7uOY32oBNNyI6GGwcJAD52ROl+UCBEoRCOpYVx6PWjZnun7zP7bYq+oJt h1qL7avrGfp7vG+ggDxfeEOlWZKeXBN6/uh+KnTFryxMwZ9GFNu46s2EttS2lATg eKvPXTPBF9xKVCxckDph5sBhT420SBt2xa8neeMMdEKXPaDPtyj9kMau6HeU84cO bcnGytFhlhx7qUv1sEO0gHp/fYkvdUYUhzsY5lWeVdz3U3j/YhQO+ErzBzhIOU+E arC+ldYO9eWzdgRxodOcHX6YFAEnHFeyXs5KfOKbUNdqD0dLNJQ= =lWVS -----END PGP SIGNATURE----- Merge tag 'v1.19.2' into merge_1.19.2 PR-URL: https://github.com/libuv/libuv/pull/1753 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
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 >= Vista | 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.
|