mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-23 22:00:10 +00:00
[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
This commit is contained in:
parent
eceb40183c
commit
6f17768e11
@ -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)
|
||||
|
@ -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.
|
||||
|
@ -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:
|
||||
|
@ -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" \
|
||||
|
@ -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)
|
||||
|
@ -73,51 +73,13 @@
|
||||
<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>
|
||||
<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 building libc++abi, please see the libc++ documentation on
|
||||
<a href="https://libcxx.llvm.org/BuildingLibcxx.html">building the runtimes</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 different 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>
|
||||
<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>
|
||||
|
||||
<!--=====================================================================-->
|
||||
<h2>Frequently asked questions</h2>
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user