From 6f17768e11480063f4c2bcbeea559505fee3ea19 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Tue, 8 Feb 2022 11:38:29 -0500 Subject: [PATCH] [runtimes] Remove support for standalone builds Standalone build have been deprecated for some time now, so this commit removes support for those builds entirely from libc++, libc++abi and libunwind. This, along with the removal of other legacy ways to build, will allow for major build system simplifications. Differential Revision: https://reviews.llvm.org/D119255 --- libcxx/CMakeLists.txt | 3 +++ libcxx/docs/ReleaseNotes.rst | 4 +++ libcxx/utils/ci/buildkite-pipeline.yml | 13 ---------- libcxx/utils/ci/run-buildbot | 42 ------------------------------- libcxxabi/CMakeLists.txt | 4 +++ libcxxabi/www/index.html | 46 +++------------------------------- libunwind/CMakeLists.txt | 4 +++ 7 files changed, 19 insertions(+), 97 deletions(-) diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt index 390c149..aabecc5 100644 --- a/libcxx/CMakeLists.txt +++ b/libcxx/CMakeLists.txt @@ -27,6 +27,9 @@ set(LIBCXX_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) set(LIBCXX_BINARY_INCLUDE_DIR "${LIBCXX_BINARY_DIR}/include/c++build") if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBCXX_STANDALONE_BUILD) + message(FATAL_ERROR "The Standalone build has been deprecated since LLVM 14, and it is not supported anymore. " + "Please use one of the ways described at https://libcxx.llvm.org/BuildingLibcxx.html for " + "building libc++.") project(libcxx CXX C) set(PACKAGE_NAME libcxx) diff --git a/libcxx/docs/ReleaseNotes.rst b/libcxx/docs/ReleaseNotes.rst index 9bb06cf..0bf24b9 100644 --- a/libcxx/docs/ReleaseNotes.rst +++ b/libcxx/docs/ReleaseNotes.rst @@ -57,3 +57,7 @@ ABI Changes Build System Changes -------------------- + +- Support for standalone builds have been entirely removed from libc++, libc++abi and + libunwind. Please use :ref:`these instructions ` for building + libc++, libc++abi and/or libunwind. diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml index 0d8f6c8..ae4c07a 100644 --- a/libcxx/utils/ci/buildkite-pipeline.yml +++ b/libcxx/utils/ci/buildkite-pipeline.yml @@ -297,19 +297,6 @@ steps: limit: 2 timeout_in_minutes: 120 - - label: "Legacy standalone build" - command: "libcxx/utils/ci/run-buildbot legacy-standalone" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - label: "Legacy LLVM_ENABLE_PROJECTS build" command: "libcxx/utils/ci/run-buildbot legacy-project-build" artifact_paths: diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot index 080c964..b8bebe4 100755 --- a/libcxx/utils/ci/run-buildbot +++ b/libcxx/utils/ci/run-buildbot @@ -516,48 +516,6 @@ legacy-project-build) -DLIBCXX_CXX_ABI=libcxxabi check-runtimes ;; -legacy-standalone) - clean - - echo "--- Generating CMake" - ${CMAKE} \ - -S "${MONOREPO_ROOT}/libcxx" \ - -B "${BUILD_DIR}/libcxx" \ - -GNinja -DCMAKE_MAKE_PROGRAM="${NINJA}" \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \ - -DLLVM_PATH="${MONOREPO_ROOT}/llvm" \ - -DLIBCXX_CXX_ABI=libcxxabi \ - -DLIBCXX_INCLUDE_BENCHMARKS=OFF \ - -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${MONOREPO_ROOT}/libcxxabi/include" \ - -DLIBCXX_CXX_ABI_LIBRARY_PATH="${BUILD_DIR}/libcxxabi/lib" - - ${CMAKE} \ - -S "${MONOREPO_ROOT}/libcxxabi" \ - -B "${BUILD_DIR}/libcxxabi" \ - -GNinja -DCMAKE_MAKE_PROGRAM="${NINJA}" \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \ - -DLLVM_PATH="${MONOREPO_ROOT}/llvm" \ - -DLIBCXXABI_LIBCXX_PATH="${MONOREPO_ROOT}/libcxx" \ - -DLIBCXXABI_LIBCXX_INCLUDES="${BUILD_DIR}/libcxx/include/c++/v1" \ - -DLIBCXXABI_LIBCXX_LIBRARY_PATH="${BUILD_DIR}/libcxx/lib" - - echo "+++ Generating libc++ headers" - ${NINJA} -vC "${BUILD_DIR}/libcxx" generate-cxx-headers - - echo "+++ Building libc++abi" - ${NINJA} -vC "${BUILD_DIR}/libcxxabi" cxxabi - - echo "+++ Building libc++" - ${NINJA} -vC "${BUILD_DIR}/libcxx" cxx - - echo "+++ Running the libc++ tests" - ${NINJA} -vC "${BUILD_DIR}/libcxx" check-cxx - - echo "+++ Running the libc++abi tests" - ${NINJA} -vC "${BUILD_DIR}/libcxxabi" check-cxxabi -;; aarch64) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/AArch64.cmake" \ diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt index ecbc709..f40ee88 100644 --- a/libcxxabi/CMakeLists.txt +++ b/libcxxabi/CMakeLists.txt @@ -28,6 +28,10 @@ set(LIBCXXABI_LIBCXX_PATH "${CMAKE_CURRENT_LIST_DIR}/../libcxx" CACHE PATH "Specify path to libc++ source.") if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBCXXABI_STANDALONE_BUILD) + message(FATAL_ERROR "The Standalone build has been deprecated since LLVM 14, and it is not supported anymore. " + "Please use one of the ways described at https://libcxx.llvm.org/BuildingLibcxx.html for " + "building libc++abi.") + project(libcxxabi CXX C) set(PACKAGE_NAME libcxxabi) diff --git a/libcxxabi/www/index.html b/libcxxabi/www/index.html index b6275e6..8803504 100644 --- a/libcxxabi/www/index.html +++ b/libcxxabi/www/index.html @@ -73,52 +73,14 @@

Get it and get involved!

-

To check out the code (including llvm and others), use:

- - - -

To build:

- - -

To do a standalone build:

- -

By default CMake uses llvm-config to locate the required - LLVM sources. If CMake cannot find llvm-config then you must - configure CMake using either of the following options. +

For building libc++abi, please see the libc++ documentation on + building the runtimes.

- +

For getting involved with libc++abi, please see the libc++ documentation on + getting involved.

-

To run the tests:

- -

Note: in a standalone build, the system's libc++ will be used for tests. If - the system's libc++ was statically linked against libc++abi (or linked against - a different ABI library), this may interfere with test results.

- -

Send discussions to the - (libcxx-dev mailing list).

-

Frequently asked questions

diff --git a/libunwind/CMakeLists.txt b/libunwind/CMakeLists.txt index b098e22..6e39bde 100644 --- a/libunwind/CMakeLists.txt +++ b/libunwind/CMakeLists.txt @@ -24,6 +24,10 @@ set(LIBUNWIND_LIBCXX_PATH "${CMAKE_CURRENT_LIST_DIR}/../libcxx" CACHE PATH "Specify path to libc++ source.") if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBUNWIND_STANDALONE_BUILD) + message(FATAL_ERROR "The Standalone build has been deprecated since LLVM 14, and it is not supported anymore. " + "Please use one of the ways described at https://libcxx.llvm.org/BuildingLibcxx.html for " + "building libunwind.") + # We may have an incomplete toolchain - do language support tests without # linking. include(EnableLanguageNolink) -- 2.7.4