@@ -8,21 +8,86 @@ If you consistently can reproduce a test failure, search for it in the
8
8
[ Node.js issue tracker] ( https://github.com/nodejs/node/issues ) or
9
9
file a new issue.
10
10
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 | >= 15 < 16.4 | x86, x64 | see note1 |
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
+ | AIX | Tier 2 | >= 6.1 TL09 | ppc64be | |
47
+ | GNU/Linux | Tier 2 | kernel >= 3.10, glibc >= 2.17 | s390x | |
48
+ | macOS | Experimental | >= 10.8 < 10.10 | x64 | no test coverage |
49
+ | Linux (musl) | Experimental | musl >= 1.0 | x64 | |
50
+
51
+ note1 - The gcc4.8-libs package needs to be installed, because node
52
+ binaries have been built with GCC 4.8, for which runtime libraries are not
53
+ installed by default. For these node versions, the recommended binaries
54
+ are the ones available in pkgsrc, not the one available from nodejs.org.
55
+ Note that the binaries downloaded from the pkgsrc repositories are not
56
+ officially supported by the Node.js project, and instead are supported
57
+ by Joyent. SmartOS images >= 16.4 are not supported because
58
+ GCC 4.8 runtime libraries are not available in their pkgsrc repository
59
+
60
+ ### Supported toolchains
61
+
62
+ Depending on host platform, the selection of toolchains may vary.
63
+
64
+ #### Unix
65
+
66
+ * GCC 4.8.5 or newer
67
+ * Clang 3.4.1 or newer
68
+
69
+ #### Windows
70
+
71
+ * Building Node: Visual Studio 2015 or Visual C++ Build Tools 2015 or newer
72
+ * Building native add-ons: Visual Studio 2013 or Visual C++ Build Tools 2015
73
+ or newer
74
+
75
+ ## Building Node.js on supported platforms
11
76
12
77
### Unix / OS X
13
78
14
79
Prerequisites:
15
80
16
81
* ` gcc ` and ` g++ ` 4.8.5 or newer, or
17
- * ` clang ` and ` clang++ ` 3.4 or newer
82
+ * ` clang ` and ` clang++ ` 3.4.1 or newer
18
83
* Python 2.6 or 2.7
19
84
* GNU Make 3.81 or newer
20
85
21
86
On OS X, you will also need:
22
87
* [ Xcode] ( https://developer.apple.com/xcode/download/ )
23
- * You also need to install the ` Command Line Tools ` via Xcode. You can find
88
+ - You also need to install the ` Command Line Tools ` via Xcode. You can find
24
89
this under the menu ` Xcode -> Preferences -> Downloads `
25
- * This step will install ` gcc ` and the related toolchain containing ` make `
90
+ - This step will install ` gcc ` and the related toolchain containing ` make `
26
91
27
92
* After building, you may want to setup [ firewall rules] ( tools/macosx-firewall.sh )
28
93
to avoid popups asking to accept incoming network connections when running tests:
@@ -51,7 +116,8 @@ the `-j4` flag. See the
51
116
[ GNU Make Documentation] ( https://www.gnu.org/software/make/manual/html_node/Parallel.html )
52
117
for more information.
53
118
54
- Note that the above requires that ` python ` resolve to Python 2.6 or 2.7 and not a newer version.
119
+ Note that the above requires that ` python ` resolve to Python 2.6 or 2.7
120
+ and not a newer version.
55
121
56
122
To run the tests:
57
123
@@ -252,9 +318,11 @@ It is possible to build Node.js with
252
318
253
319
** Note** : building in this way does ** not** allow you to claim that the
254
320
runtime is FIPS 140-2 validated. Instead you can indicate that the runtime
255
- uses a validated module. See the [ security policy] ( http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf )
321
+ uses a validated module. See the
322
+ [ security policy] ( http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf )
256
323
page 60 for more details. In addition, the validation for the underlying module
257
- 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 ) .
324
+ is only valid if it is deployed in accordance with its
325
+ [ security policy] ( http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf ) .
258
326
If you need FIPS validated cryptography it is recommended that you read both
259
327
the [ security policy] ( http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf )
260
328
and [ user guide] ( https://openssl.org/docs/fips/UserGuide-2.0.pdf ) .
0 commit comments