Author: Louis Dionne Date: 2022-02-09T08:55:31-05:00 New Revision: 6f17768e11480063f4c2bcbeea559505fee3ea19
URL: https://github.com/llvm/llvm-project/commit/6f17768e11480063f4c2bcbeea559505fee3ea19 DIFF: https://github.com/llvm/llvm-project/commit/6f17768e11480063f4c2bcbeea559505fee3ea19.diff LOG: [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 Added: Modified: libcxx/CMakeLists.txt libcxx/docs/ReleaseNotes.rst libcxx/utils/ci/buildkite-pipeline.yml libcxx/utils/ci/run-buildbot libcxxabi/CMakeLists.txt libcxxabi/www/index.html libunwind/CMakeLists.txt Removed: ################################################################################ diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt index 390c149674d51..aabecc529d202 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 9bb06cf2aa6a7..0bf24b9821503 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 <build 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 0d8f6c8a964a8..ae4c07aa27a04 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 080c9643d309a..b8bebe4daa163 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 ecbc7091864e7..f40ee883080a1 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 b6275e61da938..88035047dd391 100644 --- a/libcxxabi/www/index.html +++ b/libcxxabi/www/index.html @@ -73,52 +73,14 @@ <h2 id="dir-structure">Current Status</h2> <h2>Get it and get involved!</h2> <!--=====================================================================--> - <p>To check out the code (including llvm and others), use:</p> - - <ul> - <li><code>git clone https://github.com/llvm/llvm-project.git</code></li> - </ul> - - <p>To build:</p> - <ul> - <li><code>cd llvm-project</code></li> - <li><code>mkdir build && cd build</code></li> - <li><code>cmake -DLLVM_ENABLE_PROJECTS=libcxxabi ../llvm # on linux you may need to specify -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++</code></li> - <li><code>make</code></li> - </ul> - - <p>To do a standalone build:</p> - <ul> - <li> - Check out the source tree. This includes the other subprojects, but you'll only use the libcxxabi part. - </li> - <li><code>cd llvm-project</code></li> - <li><code>mkdir build-libcxxabi && cd build-libcxxabi</code></li> - <li><code>cmake ../libcxxabi # on linux you may need -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++</code></li> - <li><code>make</code></li> - </ul> - <p> By default CMake uses <code>llvm-config</code> to locate the required - LLVM sources. If CMake cannot find <code>llvm-config</code> then you must - configure CMake using either of the following options. + <p>For building libc++abi, please see the libc++ documentation on + <a href="https://libcxx.llvm.org/BuildingLibcxx.html">building the runtimes</a>. </p> - <ul> - <li><code>-DLLVM_CONFIG_PATH=path/to/llvm-config</code></li> - <li><code>-DLLVM_PATH=path/to/llvm-source-root</code></li> - </ul> + <p>For getting involved with libc++abi, please see the libc++ documentation on + <a href="https://libcxx.llvm.org/Contributing.html">getting involved</a>. </p> - <p>To run the tests:</p> - <ul> - <li><code>make check-cxxabi</code></li> - </ul> - <p>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 diff erent ABI library), this may interfere with test results.</p> - - <p>Send discussions to the - (<a href="https://lists.llvm.org/mailman/listinfo/libcxx-dev">libcxx-dev mailing list</a>).</p> - <!--=====================================================================--> <h2>Frequently asked questions</h2> <!--=====================================================================--> diff --git a/libunwind/CMakeLists.txt b/libunwind/CMakeLists.txt index b098e22c420ff..6e39bdedc0c2e 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) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits