From 421aa8da1e367643200a8363f8d2059d6c68682d Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Mon, 19 Jun 2023 11:00:12 -0400 Subject: [PATCH] Meta: Document that clang-15 is required, and update the compiler checks We require clang-15 for consteval. --- Documentation/BuildInstructions.md | 4 ++-- Documentation/BuildInstructionsLadybird.md | 2 +- Meta/Lagom/BuildFuzzers.sh | 2 +- Meta/serenity.sh | 8 ++++---- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Documentation/BuildInstructions.md b/Documentation/BuildInstructions.md index ec8fdafb7de..1bffaf835ff 100644 --- a/Documentation/BuildInstructions.md +++ b/Documentation/BuildInstructions.md @@ -11,9 +11,9 @@ sudo apt install build-essential cmake curl libmpfr-dev libmpc-dev libgmp-dev e2 ``` Optional: `fuse2fs` for [building images without root](https://github.com/SerenityOS/serenity/pull/11224). -#### GCC 12 or Clang 14 +#### GCC 12 or Clang 15 -A host compiler that supports C++20 features is required for building host tools, the newer the better. Tested versions include gcc-12 and clang-14. +A host compiler that supports C++20 features is required for building host tools, the newer the better. Tested versions include gcc-12 and clang-15. On Ubuntu gcc-12 is available in the repositories of 22.04 (Jammy) and later. If you are running an older version, you will either need to upgrade, or find an alternative installation source. diff --git a/Documentation/BuildInstructionsLadybird.md b/Documentation/BuildInstructionsLadybird.md index 9a479bdb9c3..679e37d75ba 100644 --- a/Documentation/BuildInstructionsLadybird.md +++ b/Documentation/BuildInstructionsLadybird.md @@ -2,7 +2,7 @@ ## Build Prerequisites -Qt6 development packages and a C++20 capable compiler are required. gcc-12 or clang-14 are required at a minimum for c++20 support. +Qt6 development packages and a C++20 capable compiler are required. gcc-12 or clang-15 are required at a minimum for c++20 support. On Debian/Ubuntu required packages include, but are not limited to: diff --git a/Meta/Lagom/BuildFuzzers.sh b/Meta/Lagom/BuildFuzzers.sh index 9f66d38c12c..96496d50aaa 100755 --- a/Meta/Lagom/BuildFuzzers.sh +++ b/Meta/Lagom/BuildFuzzers.sh @@ -14,7 +14,7 @@ die() { pick_clang() { local BEST_VERSION=0 - for CLANG_CANDIDATE in clang clang-14 clang-15 clang-16 /opt/homebrew/opt/llvm/bin/clang ; do + for CLANG_CANDIDATE in clang clang-15 clang-16 /opt/homebrew/opt/llvm/bin/clang ; do if ! command -v $CLANG_CANDIDATE >/dev/null 2>&1; then continue fi diff --git a/Meta/serenity.sh b/Meta/serenity.sh index d1611161a72..05b40742f64 100755 --- a/Meta/serenity.sh +++ b/Meta/serenity.sh @@ -157,7 +157,7 @@ is_supported_compiler() { [ "$BUILD_VERSION" -ge 14030022 ] && return 0 elif $COMPILER --version 2>&1 | grep "clang" >/dev/null; then # Clang version check - [ "$MAJOR_VERSION" -ge 14 ] && return 0 + [ "$MAJOR_VERSION" -ge 15 ] && return 0 else # GCC version check [ "$MAJOR_VERSION" -ge 12 ] && return 0 @@ -191,7 +191,7 @@ pick_host_compiler() { return fi - find_newest_compiler clang clang-14 clang-15 clang-16 /opt/homebrew/opt/llvm/bin/clang + find_newest_compiler clang clang-15 clang-16 /opt/homebrew/opt/llvm/bin/clang if is_supported_compiler "$HOST_COMPILER"; then export CC="${HOST_COMPILER}" export CXX="${HOST_COMPILER/clang/clang++}" @@ -206,9 +206,9 @@ pick_host_compiler() { fi if [ "$(uname -s)" = "Darwin" ]; then - die "Please make sure that Xcode 14.3, Homebrew Clang 14, or higher is installed." + die "Please make sure that Xcode 14.3, Homebrew Clang 15, or higher is installed." else - die "Please make sure that GCC version 12, Clang version 14, or higher is installed." + die "Please make sure that GCC version 12, Clang version 15, or higher is installed." fi }