[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
NOKEYCHECK=True
GitOrigin-RevId: 6f17768e11480063f4c2bcbeea559505fee3ea19
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 390c149..aabecc5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -27,6 +27,9 @@
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/docs/ReleaseNotes.rst b/docs/ReleaseNotes.rst
index 9bb06cf..0bf24b9 100644
--- a/docs/ReleaseNotes.rst
+++ b/docs/ReleaseNotes.rst
@@ -57,3 +57,7 @@
Build System Changes
--------------------
+
+- Support for standalone builds have been entirely removed from libc++, libc++abi and
+ libunwind. Please use :ref:`these instructions <build instructions>` for building
+ libc++, libc++abi and/or libunwind.
diff --git a/utils/ci/buildkite-pipeline.yml b/utils/ci/buildkite-pipeline.yml
index 0d8f6c8..ae4c07a 100644
--- a/utils/ci/buildkite-pipeline.yml
+++ b/utils/ci/buildkite-pipeline.yml
@@ -297,19 +297,6 @@
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/utils/ci/run-buildbot b/utils/ci/run-buildbot
index 080c964..b8bebe4 100755
--- a/utils/ci/run-buildbot
+++ b/utils/ci/run-buildbot
@@ -516,48 +516,6 @@
-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" \