From 887b8bd733ea36aaa5d9b0a2b45df16c6f6bb6a4 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Tue, 23 Aug 2022 11:22:55 -0400 Subject: [PATCH] [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. Differential Revision: https://reviews.llvm.org/D132480 --- libcxx/docs/ReleaseNotes.rst | 2 ++ libcxx/utils/ci/buildkite-pipeline.yml | 17 ----------------- libcxx/utils/ci/run-buildbot | 15 --------------- llvm/CMakeLists.txt | 10 ++-------- 4 files changed, 4 insertions(+), 40 deletions(-) diff --git a/libcxx/docs/ReleaseNotes.rst b/libcxx/docs/ReleaseNotes.rst index c01332696218..604e2369c202 100644 --- a/libcxx/docs/ReleaseNotes.rst +++ b/libcxx/docs/ReleaseNotes.rst @@ -96,3 +96,5 @@ ABI Affecting Changes Build System Changes -------------------- +- Support for ``libcxx``, ``libcxxabi`` and ``libunwind`` in ``LLVM_ENABLE_PROJECTS`` has officially + been removed. Instead, please build according to :ref:`these instructions `. diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml index 11f6ce9f243e..bc7569d4adab 100644 --- a/libcxx/utils/ci/buildkite-pipeline.yml +++ b/libcxx/utils/ci/buildkite-pipeline.yml @@ -386,23 +386,6 @@ steps: limit: 2 timeout_in_minutes: 120 - - label: "Legacy LLVM_ENABLE_PROJECTS build" - command: "libcxx/utils/ci/run-buildbot legacy-project-build" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - # Tests with various build configurations. - label: "Static libraries" command: "libcxx/utils/ci/run-buildbot generic-static" diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot index 91f203a6d4e0..ec5c02b406bd 100755 --- a/libcxx/utils/ci/run-buildbot +++ b/libcxx/utils/ci/run-buildbot @@ -502,21 +502,6 @@ legacy-test-config) -DLIBUNWIND_TEST_CONFIG="${MONOREPO_ROOT}/libunwind/test/lit.site.cfg.in" check-runtimes ;; -legacy-project-build) - clean - - echo "--- Generating CMake" - ${CMAKE} \ - -S "${MONOREPO_ROOT}/llvm" \ - -B "${BUILD_DIR}" \ - -DLLVM_ENABLE_PROJECTS="libcxx;libunwind;libcxxabi" \ - -GNinja -DCMAKE_MAKE_PROGRAM="${NINJA}" \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \ - -DLLVM_LIT_ARGS="-sv --show-unsupported --xunit-xml-output test-results.xml --timeout=1500" \ - -DLIBCXX_CXX_ABI=libcxxabi - check-runtimes -;; aarch64) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/AArch64.cmake" diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt index 571f82d54b36..c60e34efa9b3 100644 --- a/llvm/CMakeLists.txt +++ b/llvm/CMakeLists.txt @@ -109,7 +109,7 @@ endif() # LLVM_EXTERNAL_${project}_SOURCE_DIR using LLVM_ALL_PROJECTS # This allows an easy way of setting up a build directory for llvm and another # one for llvm+clang+... using the same sources. -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") +set(LLVM_ALL_PROJECTS "bolt;clang;clang-tools-extra;compiler-rt;cross-project-tests;libc;libclc;lld;lldb;mlir;openmp;polly;pstl") # The flang project is not yet part of "all" projects (see C++ requirements) set(LLVM_EXTRA_PROJECTS "flang") # List of all known projects in the mono repo @@ -122,13 +122,7 @@ if( LLVM_ENABLE_PROJECTS STREQUAL "all" ) endif() foreach(proj ${LLVM_ENABLE_PROJECTS}) if (NOT proj STREQUAL "llvm" AND NOT "${proj}" IN_LIST LLVM_KNOWN_PROJECTS) - MESSAGE(FATAL_ERROR "${proj} isn't a known project: ${LLVM_KNOWN_PROJECTS}") - endif() -endforeach() -foreach(proj "libcxx" "libcxxabi" "libunwind") - if (${proj} IN_LIST LLVM_ENABLE_PROJECTS) - message(WARNING "Using LLVM_ENABLE_PROJECTS=${proj} is deprecated now, please use -DLLVM_ENABLE_RUNTIMES=${proj} or " - "see the instructions at https://libcxx.llvm.org/BuildingLibcxx.html for building the runtimes.") + 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?") endif() endforeach()