Skip to content

Commit

Permalink
build: warn for gcc versions earlier than 10.1
Browse files Browse the repository at this point in the history
Update the warning threshold for gcc to 10.1 starting from Node.js 20.
Builds can still proceed with earlier versions of gcc, but are not
guaranteed to work.

PR-URL: #46806
Refs: #45892
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Stewart X Addison <sxa@redhat.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
  • Loading branch information
richardlau committed Feb 25, 2023
1 parent 78b911d commit c1bcdbc
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
4 changes: 2 additions & 2 deletions BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ Depending on the host platform, the selection of toolchains may vary.

| Operating System | Compiler Versions |
| ---------------- | -------------------------------------------------------------- |
| Linux | GCC >= 8.3 |
| Linux | GCC >= 10.1 |
| Windows | Visual Studio >= 2019 with the Windows 10 SDK on a 64-bit host |
| macOS | Xcode >= 11 (Apple LLVM >= 11) |

Expand Down Expand Up @@ -223,7 +223,7 @@ The Node.js project supports Python >= 3 for building and testing.

#### Unix prerequisites

* `gcc` and `g++` >= 8.3 or newer
* `gcc` and `g++` >= 10.1 or newer
* GNU Make 3.81 or newer
* Python >=3.6 <=3.11 (see note above)
* For test coverage, your Python installation must include pip.
Expand Down
4 changes: 2 additions & 2 deletions configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -1032,8 +1032,8 @@ def check_compiler(o):
('clang ' if is_clang else '', CXX, version_str))
if not ok:
warn('failed to autodetect C++ compiler version (CXX=%s)' % CXX)
elif clang_version < (8, 0, 0) if is_clang else gcc_version < (8, 3, 0):
warn('C++ compiler (CXX=%s, %s) too old, need g++ 8.3.0 or clang++ 8.0.0' %
elif clang_version < (8, 0, 0) if is_clang else gcc_version < (10, 1, 0):
warn('C++ compiler (CXX=%s, %s) too old, need g++ 10.1.0 or clang++ 8.0.0' %
(CXX, version_str))

ok, is_clang, clang_version, gcc_version = try_check_compiler(CC, 'c')
Expand Down

0 comments on commit c1bcdbc

Please sign in to comment.