Skip to content

Commit

Permalink
build: warn for GCC versions earlier than 12.2
Browse files Browse the repository at this point in the history
Update the warning threshold for GCC to 12.2 starting from Node.js 23.
Builds can still proceed with earlier versions of GCC, but are not
guaranteed to work.
  • Loading branch information
targos committed Jul 30, 2024
1 parent 027710e commit 4daedf8
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 @@ -151,7 +151,7 @@ Depending on the host platform, the selection of toolchains may vary.

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

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

#### Unix prerequisites

* `gcc` and `g++` >= 10.1 or newer
* `gcc` and `g++` >= 12.2 or newer
* GNU Make 3.81 or newer
* [A supported version of Python][Python versions]
* 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 @@ -1172,8 +1172,8 @@ def check_compiler(o):
print_verbose(f"Detected {'clang ' if is_clang else ''}C++ compiler (CXX={CXX}) version: {version_str}")
if not ok:
warn(f'failed to autodetect C++ compiler version (CXX={CXX})')
elif clang_version < (8, 0, 0) if is_clang else gcc_version < (10, 1, 0):
warn(f'C++ compiler (CXX={CXX}, {version_str}) too old, need g++ 10.1.0 or clang++ 8.0.0')
elif clang_version < (8, 0, 0) if is_clang else gcc_version < (12, 2, 0):
warn(f'C++ compiler (CXX={CXX}, {version_str}) too old, need g++ 12.2.0 or clang++ 8.0.0')

ok, is_clang, clang_version, gcc_version = try_check_compiler(CC, 'c')
version_str = ".".join(map(str, clang_version if is_clang else gcc_version))
Expand Down

0 comments on commit 4daedf8

Please sign in to comment.