Skip to content

Commit 258477e

Browse files
committed
[llvm] Remove libcxx, libcxxabi and libunwind from supported LLVM_ENABLE_PROJECTS
This is a breaking change. If you were passing one of those three runtimes in LLVM_ENABLE_PROJECTS, you need to start passing them in LLVM_ENABLE_RUNTIMES instead. The runtimes in LLVM_ENABLE_RUNTIMES will start being built using the "bootstrapping build" instead, which means that they will be built using the just-built Clang. This is usually what you wanted anyway. If you were using LLVM_ENABLE_PROJECTS=all with the explicit goal of building these three runtimes, you can now use LLVM_ENABLE_RUNTIMES=all and these runtimes will be built using the bootstrapping build. NOTE: This is a re-application of 887b8bd which had been reverted in 6b03a4f because it broke the Sphinx documentation publishers. The Sphinx documentation publishers have now been moved to using the runtimes build, so this should not be an issue anymore. Differential Revision: https://reviews.llvm.org/D132480
1 parent e3fd612 commit 258477e

File tree

4 files changed

+4
-42
lines changed

4 files changed

+4
-42
lines changed

libcxx/docs/ReleaseNotes.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,3 +109,5 @@ ABI Affecting Changes
109109

110110
Build System Changes
111111
--------------------
112+
- Support for ``libcxx``, ``libcxxabi`` and ``libunwind`` in ``LLVM_ENABLE_PROJECTS`` has officially
113+
been removed. Instead, please build according to :ref:`these instructions <build instructions>`.

libcxx/utils/ci/buildkite-pipeline.yml

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -364,25 +364,6 @@ steps:
364364
limit: 2
365365
timeout_in_minutes: 120
366366

367-
- group: "Legacy"
368-
steps:
369-
- label: "Legacy LLVM_ENABLE_PROJECTS build"
370-
command: "libcxx/utils/ci/run-buildbot legacy-project-build"
371-
artifact_paths:
372-
- "**/test-results.xml"
373-
- "**/*.abilist"
374-
env:
375-
CC: "clang-${LLVM_HEAD_VERSION}"
376-
CXX: "clang++-${LLVM_HEAD_VERSION}"
377-
agents:
378-
queue: "libcxx-builders"
379-
os: "linux"
380-
retry:
381-
automatic:
382-
- exit_status: -1 # Agent was lost
383-
limit: 2
384-
timeout_in_minutes: 120
385-
386367
# Tests with various build configurations.
387368
- label: "Static libraries"
388369
command: "libcxx/utils/ci/run-buildbot generic-static"

libcxx/utils/ci/run-buildbot

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -492,21 +492,6 @@ bootstrapping-build)
492492
echo "--- Installing libc++ and libc++abi to a fake location"
493493
${NINJA} -C "${BUILD_DIR}" install-runtimes
494494
;;
495-
legacy-project-build)
496-
clean
497-
498-
echo "--- Generating CMake"
499-
${CMAKE} \
500-
-S "${MONOREPO_ROOT}/llvm" \
501-
-B "${BUILD_DIR}" \
502-
-DLLVM_ENABLE_PROJECTS="libcxx;libunwind;libcxxabi" \
503-
-GNinja -DCMAKE_MAKE_PROGRAM="${NINJA}" \
504-
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
505-
-DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
506-
-DLLVM_LIT_ARGS="-sv --show-unsupported --xunit-xml-output test-results.xml --timeout=1500" \
507-
-DLIBCXX_CXX_ABI=libcxxabi
508-
check-runtimes
509-
;;
510495
aarch64)
511496
clean
512497
generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/AArch64.cmake"

llvm/CMakeLists.txt

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ endif()
123123
# LLVM_EXTERNAL_${project}_SOURCE_DIR using LLVM_ALL_PROJECTS
124124
# This allows an easy way of setting up a build directory for llvm and another
125125
# one for llvm+clang+... using the same sources.
126-
set(LLVM_ALL_PROJECTS "bolt;clang;clang-tools-extra;compiler-rt;cross-project-tests;libc;libclc;libcxx;libcxxabi;libunwind;lld;lldb;mlir;openmp;polly;pstl")
126+
set(LLVM_ALL_PROJECTS "bolt;clang;clang-tools-extra;compiler-rt;cross-project-tests;libc;libclc;lld;lldb;mlir;openmp;polly;pstl")
127127
# The flang project is not yet part of "all" projects (see C++ requirements)
128128
set(LLVM_EXTRA_PROJECTS "flang")
129129
# List of all known projects in the mono repo
@@ -136,13 +136,7 @@ if( LLVM_ENABLE_PROJECTS STREQUAL "all" )
136136
endif()
137137
foreach(proj ${LLVM_ENABLE_PROJECTS})
138138
if (NOT proj STREQUAL "llvm" AND NOT "${proj}" IN_LIST LLVM_KNOWN_PROJECTS)
139-
MESSAGE(FATAL_ERROR "${proj} isn't a known project: ${LLVM_KNOWN_PROJECTS}")
140-
endif()
141-
endforeach()
142-
foreach(proj "libcxx" "libcxxabi" "libunwind")
143-
if (${proj} IN_LIST LLVM_ENABLE_PROJECTS)
144-
message(WARNING "Using LLVM_ENABLE_PROJECTS=${proj} is deprecated now, please use -DLLVM_ENABLE_RUNTIMES=${proj} or "
145-
"see the instructions at https://libcxx.llvm.org/BuildingLibcxx.html for building the runtimes.")
139+
MESSAGE(FATAL_ERROR "${proj} isn't a known project: ${LLVM_KNOWN_PROJECTS}. Did you mean to enable it as a runtime in LLVM_ENABLE_RUNTIMES?")
146140
endif()
147141
endforeach()
148142

0 commit comments

Comments
 (0)