Skip to content

Commit 07b92a3

Browse files
mhdawsonMylesBorins
authored andcommitted
doc: add supported platforms list for v4.x
PR-URL: #12091 Reviewed-By: James M Snell <[email protected]> Reviewed-By: JoãReis <[email protected]> Reviewed-By: Johan Bergströ[email protected]>
1 parent 6d3aaa7 commit 07b92a3

File tree

2 files changed

+66
-6
lines changed

2 files changed

+66
-6
lines changed

BUILDING.md

+65-5
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,76 @@ If you consistently can reproduce a test failure, search for it in the
88
[Node.js issue tracker](https://github.com/nodejs/node/issues) or
99
file a new issue.
1010

11+
## Supported platforms
12+
13+
This list of supported platforms is current as of the branch / release to
14+
which it is attached.
15+
16+
### Input
17+
18+
Node.js relies on V8 and libuv. Therefore, we adopt a subset of their
19+
supported platforms.
20+
21+
### Strategy
22+
23+
Support is divided into three tiers:
24+
25+
* **Tier 1**: Full test coverage and maintenance by the Node.js core team and
26+
the broader community.
27+
* **Tier 2**: Full test coverage but more limited maintenance,
28+
often provided by the vendor of the platform.
29+
* **Experimental**: Known to compile but not necessarily reliably or with
30+
a full passing test suite. These are often working to be promoted to Tier
31+
2 but are not quite ready. There is at least one individual actively
32+
providing maintenance and the team is striving to broaden quality and
33+
reliability of support.
34+
35+
### Supported platforms
36+
37+
| System | Support type | Version | Architectures | Notes |
38+
|--------------|--------------|----------------------------------|----------------------|------------------|
39+
| GNU/Linux | Tier 1 | kernel >= 2.6.18, glibc >= 2.5 | x86, x64, arm, arm64 | |
40+
| macOS | Tier 1 | >= 10.10 | x64 | |
41+
| Windows | Tier 1 | >= Windows 7 or >= Windows2008R2 | x86, x64 | |
42+
| SmartOS | Tier 2 | >= 14 | x86, x64 | |
43+
| FreeBSD | Tier 2 | >= 10 | x64 | |
44+
| GNU/Linux | Tier 2 | kernel >= 4.2.0, glibc >= 2.19 | ppc64be | |
45+
| GNU/Linux | Tier 2 | kernel >= 3.13.0, glibc >= 2.19 | ppc64le | |
46+
| macOS | Experimental | >= 10.8 < 10.10 | x64 | no test coverage |
47+
| Linux (musl) | Experimental | musl >= 1.0 | x64 | |
48+
49+
50+
### Supported toolchains
51+
52+
Depending on host platform, the selection of toolchains may vary.
53+
54+
#### Unix
55+
56+
* GCC 4.8 or newer
57+
* Clang 3.4.1 or newer
58+
59+
#### Windows
60+
61+
* Building Node: Visual Studio 2013 or Visual C++ Build Tools 2013 or newer
62+
* Building native add-ons: Visual Studio 2013 or Visual C++ Build Tools 2013
63+
or newer
64+
65+
## Building Node.js on supported platforms
1166

1267
### Unix / OS X
1368

1469
Prerequisites:
1570

1671
* `gcc` and `g++` 4.8 or newer, or
17-
* `clang` and `clang++` 3.4 or newer
72+
* `clang` and `clang++` 3.4.1 or newer
1873
* Python 2.6 or 2.7
1974
* GNU Make 3.81 or newer
2075

2176
On OS X, you will also need:
2277
* [Xcode](https://developer.apple.com/xcode/download/)
23-
* You also need to install the `Command Line Tools` via Xcode. You can find
78+
- You also need to install the `Command Line Tools` via Xcode. You can find
2479
this under the menu `Xcode -> Preferences -> Downloads`
25-
* This step will install `gcc` and the related toolchain containing `make`
80+
- This step will install `gcc` and the related toolchain containing `make`
2681

2782
* After building, you may want to setup [firewall rules](tools/macosx-firewall.sh)
2883
to avoid popups asking to accept incoming network connections when running tests:
@@ -53,6 +108,9 @@ $ make
53108
$ [sudo] make install
54109
```
55110

111+
Note that the above requires that `python` resolve to Python 2.6 or 2.7
112+
and not a newer version.
113+
56114
To run the tests:
57115

58116
```text
@@ -263,9 +321,11 @@ It is possible to build Node.js with
263321

264322
**Note**: building in this way does **not** allow you to claim that the
265323
runtime is FIPS 140-2 validated. Instead you can indicate that the runtime
266-
uses a validated module. See the [security policy](http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf)
324+
uses a validated module. See the
325+
[security policy](http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf)
267326
page 60 for more details. In addition, the validation for the underlying module
268-
is only valid if it is deployed in accordance with its [security policy](http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf).
327+
is only valid if it is deployed in accordance with its
328+
[security policy](http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf).
269329
If you need FIPS validated cryptography it is recommended that you read both
270330
the [security policy](http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf)
271331
and [user guide](https://openssl.org/docs/fips/UserGuide-2.0.pdf).

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ the binary verification command above.
132132
## Building Node.js
133133

134134
See [BUILDING.md](BUILDING.md) for instructions on how to build
135-
Node.js from source.
135+
Node.js from source along with a list of officially supported platforms.
136136

137137
## Security
138138

0 commit comments

Comments
 (0)