https://github.com/DavidSpickett updated 
https://github.com/llvm/llvm-project/pull/152302

>From afc78ab30f7ec81b7163fb4c3928cb08bd902766 Mon Sep 17 00:00:00 2001
From: David Spickett <david.spick...@linaro.org>
Date: Wed, 6 Aug 2025 12:35:05 +0000
Subject: [PATCH 1/2] [llvm][cmake] Turn runtime in PROJECTS warnings into
 FATAL_ERROR

As promised by the current warning message:
CMake Warning at CMakeLists.txt:209 (message):
  Using LLVM_ENABLE_PROJECTS=openmp is deprecated now, and will become a
  fatal error in the LLVM 21 release.  Please use
  -DLLVM_ENABLE_RUNTIMES=openmp or see the instructions at
  https://openmp.llvm.org/ for building the runtimes.

I have changed this to:
CMake Warning at CMakeLists.txt:202 (message):
  Using LLVM_ENABLE_PROJECTS=openmp is no longer supported.  Please use
  -DLLVM_ENABLE_RUNTIMES=openmp or see the instructions at
  https://openmp.llvm.org/ for building the runtimes.

I removed the check for offload because offload never hits the warning,
it errors earlier with:
CMake Error at CMakeLists.txt:143 (MESSAGE):
  offload isn't a known project:
  
bolt;clang;clang-tools-extra;compiler-rt;cross-project-tests;libclc;lld;lldb;mlir;openmp;polly;flang;libc.
  Did you mean to enable it as a runtime in LLVM_ENABLE_RUNTIMES?

We could remove the FATAL_ERRORs entirely but I thought leaving
them in 21.x and removing them on main made more sense.

So this change is specifically for 21.x.
---
 llvm/CMakeLists.txt | 24 +++++++-----------------
 1 file changed, 7 insertions(+), 17 deletions(-)

diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
index 3f8201fa426fe..a16fb31cd320c 100644
--- a/llvm/CMakeLists.txt
+++ b/llvm/CMakeLists.txt
@@ -180,29 +180,20 @@ if ("flang" IN_LIST LLVM_ENABLE_PROJECTS)
 endif()
 
 if ("libc" IN_LIST LLVM_ENABLE_PROJECTS)
-  message(WARNING "Using LLVM_ENABLE_PROJECTS=libc is deprecated.  Please use "
+  message(FATAL_ERROR "Using LLVM_ENABLE_PROJECTS=libc is no longer supported. 
 Please use "
     "-DLLVM_ENABLE_RUNTIMES=libc or see the instructions at "
     "https://libc.llvm.org/ for building the runtimes.")
 endif()
 
 if ("compiler-rt" IN_LIST LLVM_ENABLE_PROJECTS)
-  message(WARNING "Using LLVM_ENABLE_PROJECTS=compiler-rt is deprecated now, 
and will "
-    "become a fatal error in the LLVM 21 release.  Please use "
-    "-DLLVM_ENABLE_RUNTIMES=compiler-rt or see the instructions at "
+  message(FATAL_ERROR "Using LLVM_ENABLE_PROJECTS=compiler-rt is no longer 
supported. "
+    "Please use -DLLVM_ENABLE_RUNTIMES=compiler-rt or see the instructions at "
     "https://compiler-rt.llvm.org/ for building the runtimes.")
 endif()
 
-if ("offload" IN_LIST LLVM_ENABLE_PROJECTS)
-  message(WARNING "Using LLVM_ENABLE_PROJECTS=offload is deprecated now, and 
will "
-    "become a fatal error in the LLVM 21 release.  Please use "
-    "-DLLVM_ENABLE_RUNTIMES=offload or see the instructions at "
-    "https://openmp.llvm.org/ for building the runtimes.")
-endif()
-
 if ("openmp" IN_LIST LLVM_ENABLE_PROJECTS)
-  message(WARNING "Using LLVM_ENABLE_PROJECTS=openmp is deprecated now, and 
will "
-    "become a fatal error in the LLVM 21 release.  Please use "
-    "-DLLVM_ENABLE_RUNTIMES=openmp or see the instructions at "
+  message(FATAL_ERROR "Using LLVM_ENABLE_PROJECTS=openmp is no longer 
supported. "
+    "Please use -DLLVM_ENABLE_RUNTIMES=openmp or see the instructions at "
     "https://openmp.llvm.org/ for building the runtimes.")
 endif()
 
@@ -213,9 +204,8 @@ if ("flang-rt" IN_LIST LLVM_ENABLE_RUNTIMES)
 endif ()
 
 if ("libclc" IN_LIST LLVM_ENABLE_PROJECTS)
-  message(WARNING "Using LLVM_ENABLE_PROJECTS=libclc is deprecated now, and 
will "
-    "become a fatal error in the LLVM 21 release.  Please use "
-    "-DLLVM_ENABLE_RUNTIMES=libclc or see the instructions at "
+  message(FATAL_ERROR "Using LLVM_ENABLE_PROJECTS=libclc is no longer 
supported. "
+    "Please use -DLLVM_ENABLE_RUNTIMES=libclc or see the instructions at "
     "https://libclc.llvm.org/ for building the runtimes.")
 endif()
 

>From a72176984291ff17cb6ab37578b80f9a38a17578 Mon Sep 17 00:00:00 2001
From: David Spickett <david.spick...@linaro.org>
Date: Wed, 6 Aug 2025 13:29:41 +0000
Subject: [PATCH 2/2] Add release note and updated docs

---
 llvm/docs/CMake.rst       | 9 ++-------
 llvm/docs/ReleaseNotes.md | 5 +++++
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/llvm/docs/CMake.rst b/llvm/docs/CMake.rst
index 17be41b20a12a..23e830d22854c 100644
--- a/llvm/docs/CMake.rst
+++ b/llvm/docs/CMake.rst
@@ -595,12 +595,7 @@ enabled sub-projects. Nearly all of these variable names 
begin with
 
   The full list is:
 
-  
``bolt;clang;clang-tools-extra;compiler-rt;cross-project-tests;libc;libclc;lld;lldb;mlir;openmp;polly``
-
-  .. note::
-    Some projects listed here can also go in ``LLVM_ENABLE_RUNTIMES``. They
-    should only appear in one of the two lists. If a project is a valid 
possibility
-    for both, prefer putting it in ``LLVM_ENABLE_RUNTIMES``.
+  ``bolt;clang;clang-tools-extra;cross-project-tests;lld;lldb;mlir;polly``
 
 **LLVM_ENABLE_RTTI**:BOOL
   Build LLVM with run-time type information. Defaults to OFF.
@@ -617,7 +612,7 @@ enabled sub-projects. Nearly all of these variable names 
begin with
 
   The full list is:
 
-  ``libc;libunwind;libcxxabi;libcxx;compiler-rt;openmp;llvm-libgcc;offload``
+  
``libc;libclc;libunwind;libcxxabi;libcxx;compiler-rt;openmp;llvm-libgcc;offload``
 
   To enable all of them, use:
 
diff --git a/llvm/docs/ReleaseNotes.md b/llvm/docs/ReleaseNotes.md
index a126d7ae1ab4a..0fcdb819a7714 100644
--- a/llvm/docs/ReleaseNotes.md
+++ b/llvm/docs/ReleaseNotes.md
@@ -90,6 +90,11 @@ Changes to LLVM infrastructure
 Changes to building LLVM
 ------------------------
 
+* The runtimes `libc`, `compiler-rt`, `openmp` and `libclc` now must be enabled
+  in `LLVM_ENABLE_RUNTIMES`, rather than `LLVM_ENABLE_PROJECTS`. Prior to LLVM 
21,
+  they were allowed in `LLVM_ENABLE_PROJECTS`, but a warning was emitted. This
+  is now a fatal error.
+
 Changes to TableGen
 -------------------
 

_______________________________________________
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to