From dc1e9165cdee8ddea73d29e92757db4af0dbfb5f Mon Sep 17 00:00:00 2001 From: Simon Hudon Date: Mon, 31 Aug 2026 15:45:45 -0400 Subject: [PATCH 1/2] clang version check: we only support LLVM 22 now --- dev/check_ver/clang.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev/check_ver/clang.sh b/dev/check_ver/clang.sh index e9e0c9c6..1ca046b6 100755 --- a/dev/check_ver/clang.sh +++ b/dev/check_ver/clang.sh @@ -5,9 +5,9 @@ PROG="clang" URL="https://apt.llvm.org" -MIN="18.0.0" +MIN="22.0.0" FIRST_UNSUPPORTED="22.0.0" -RECOMMENDED="19.*.*" +RECOMMENDED="22.*.*" print_ver() { VER="$(clang --version | grep "clang version" | sed -r 's/^.*clang version ([0-9.]+).*$/\1/')" From 5488667f8db1f9b546ac1ffddf695efb7c8275f9 Mon Sep 17 00:00:00 2001 From: Simon Hudon Date: Mon, 31 Aug 2026 16:36:28 -0400 Subject: [PATCH 2/2] clang version: add stricter requirements when building full workspace --- Makefile | 2 +- dev/check_ver/clang.sh | 11 ++++++++--- dev/rules.mk | 8 ++++++-- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index cc6cf546..eed96382 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,7 @@ ide-prepare: ${CPP2V} .PHONY: stage1 -stage1: ide-prepare ast-prepare-bluerock +stage1: dev-check-ver-full-workspace ide-prepare ast-prepare-bluerock .PHONY: pipeline-deps pipeline-deps: diff --git a/dev/check_ver/clang.sh b/dev/check_ver/clang.sh index 1ca046b6..3384cdeb 100755 --- a/dev/check_ver/clang.sh +++ b/dev/check_ver/clang.sh @@ -5,9 +5,14 @@ PROG="clang" URL="https://apt.llvm.org" -MIN="22.0.0" -FIRST_UNSUPPORTED="22.0.0" -RECOMMENDED="22.*.*" +FIRST_UNSUPPORTED="23.0.0" +if [[ $# -gt 0 ]] && [[ "$1" -eq "--full-workspace" ]]; then + MIN="22.0.0" + RECOMMENDED="22.*.*" +else + MIN="18.0.0" + RECOMMENDED="19.*.*" +fi print_ver() { VER="$(clang --version | grep "clang version" | sed -r 's/^.*clang version ([0-9.]+).*$/\1/')" diff --git a/dev/rules.mk b/dev/rules.mk index 091da256..54e17c14 100644 --- a/dev/rules.mk +++ b/dev/rules.mk @@ -2,16 +2,20 @@ define check_ver_target DEV_CHECK_VER_TARGETS += dev-check-ver-$1 -.PHONY: dev-check-ver-$1 +.PHONY: dev-check-ver-$1 dev-check-ver-$1-full-workspace dev-check-ver-$1: dev/check_ver/$1.sh $$(Q)./$$< endef +dev-check-ver-clang-full-workspace: dev/check_ver/clang.sh + $$(Q)./$$< --full-workspace + DEV_PROGS = make clang opam rust uv bash $(foreach prog,$(DEV_PROGS),$(eval $(call check_ver_target,$(prog)))) .PHONY: dev-check-ver dev-check-ver: $(DEV_CHECK_VER_TARGETS) dev-check-ver-sed +dev-check-ver-full-workspace: dev-check-ver dev-check-ver-clang-full-workspace .PHONY: dev-check-ver-sed # Reject systems where `sed` is not GNU `sed` and `gsed` is not available. @@ -22,7 +26,7 @@ dev-check-ver-sed: # Setting up the development environment. -.PHONY: dev-setup +.PHONY: dev-setup dev-setup-full-workspace dev-setup: dev-check-ver dev-setup-opam .PHONY: dev-setup-opam