Skip to content

Commit 43f2179

Browse files
committed
[runtimes] Add a warning about the Standalone build being deprecated
We are removing support for the Standalone build altogether on the main branch, so this is going to help give an additional heads up to users that don't read our release notes. Also, as a fly-by fix, fixup incorrect documentation for libcxxabi and mention libunwind in our release notes. Differential Revision: https://reviews.llvm.org/D119341
1 parent ac8818e commit 43f2179

File tree

5 files changed

+22
-52
lines changed

5 files changed

+22
-52
lines changed

libcxx/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ set(LIBCXX_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
2727
set(LIBCXX_BINARY_INCLUDE_DIR "${LIBCXX_BINARY_DIR}/include/c++build")
2828

2929
if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBCXX_STANDALONE_BUILD)
30+
message(WARNING "The Standalone build is deprecated in this release. Please use one of the ways "
31+
"described at https://libcxx.llvm.org/BuildingLibcxx.html for building libc++.")
3032
project(libcxx CXX C)
3133

3234
set(PACKAGE_NAME libcxx)

libcxx/docs/ReleaseNotes.rst

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -189,14 +189,14 @@ Build System Changes
189189
Consider using a Bootstrapping build to build libc++ with a fresh Clang if you
190190
can't use the system compiler to build libc++ anymore.
191191

192-
- Historically, there have been numerous ways of building libc++ and libc++abi. This has
193-
led to at least 5 different ways to build the runtimes, which was impossible to
194-
maintain with a good level of support. Starting with this release, libc++ and libc++abi support
195-
exactly two ways of being built, which should cater to all use-cases. Furthermore,
196-
these builds are as lightweight as possible and will work consistently even when targeting
197-
embedded platforms, which used not to be the case. :doc:`BuildingLibcxx` describes
198-
those two ways of building. Please migrate over to the appropriate build instructions
199-
as soon as possible.
192+
- Historically, there have been numerous ways of building libc++, libc++abi, and libunwind.
193+
This has led to at least 5 different ways to build the runtimes, which was impossible to
194+
maintain with a good level of support. Starting with this release, libc++, libc++abi, and
195+
libunwind support exactly two ways of being built, which should cater to all use-cases.
196+
Furthermore, these builds are as lightweight as possible and will work consistently even
197+
when targeting embedded platforms, which used not to be the case. :doc:`BuildingLibcxx`
198+
describes those two ways of building. Please migrate over to the appropriate build
199+
instructions as soon as possible.
200200

201201
All other ways to build are deprecated and will not be supported in the next release.
202202
We understand that making these changes can be daunting. For that reason, here's a
@@ -206,8 +206,8 @@ Build System Changes
206206
(which was the previously advertised way to build the runtimes), please simply root your CMake invocation at
207207
``<monorepo>/runtimes`` and pass ``-DLLVM_ENABLE_RUNTIMES=<...>``.
208208

209-
- If you were doing two CMake invocations, one rooted at ``<monorepo>/libcxx`` and one rooted at
210-
``<monorepo>/libcxxabi`` (this used to be called a "Standalone build"), please move them to a
209+
- If you were doing multiple CMake invocations, e.g. one rooted at ``<monorepo>/libcxx`` and one rooted
210+
at ``<monorepo>/libcxxabi`` (this used to be called a "Standalone build"), please move them to a
211211
single invocation like so:
212212

213213
.. code-block:: bash

libcxxabi/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ set(LIBCXXABI_LIBCXX_PATH "${CMAKE_CURRENT_LIST_DIR}/../libcxx" CACHE PATH
2828
"Specify path to libc++ source.")
2929

3030
if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBCXXABI_STANDALONE_BUILD)
31+
message(WARNING "The Standalone build is deprecated in this release. Please use one of the ways "
32+
"described at https://libcxx.llvm.org/BuildingLibcxx.html for building libc++abi.")
33+
3134
project(libcxxabi CXX C)
3235

3336
set(PACKAGE_NAME libcxxabi)

libcxxabi/www/index.html

Lines changed: 4 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -73,52 +73,14 @@ <h2 id="dir-structure">Current Status</h2>
7373
<h2>Get it and get involved!</h2>
7474
<!--=====================================================================-->
7575

76-
<p>To check out the code (including llvm and others), use:</p>
77-
78-
<ul>
79-
<li><code>git clone https://github.com/llvm/llvm-project.git</code></li>
80-
</ul>
81-
82-
<p>To build:</p>
83-
<ul>
84-
<li><code>cd llvm-project</code></li>
85-
<li><code>mkdir build &amp;&amp; cd build</code></li>
86-
<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>
87-
<li><code>make</code></li>
88-
</ul>
89-
90-
<p>To do a standalone build:</p>
91-
<ul>
92-
<li>
93-
Check out the source tree. This includes the other subprojects, but you'll only use the libcxxabi part.
94-
</li>
95-
<li><code>cd llvm-project</code></li>
96-
<li><code>mkdir build-libcxxabi &amp;&amp; cd build-libcxxabi</code></li>
97-
<li><code>cmake ../libcxxabi # on linux you may need -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++</code></li>
98-
<li><code>make</code></li>
99-
</ul>
100-
<p> By default CMake uses <code>llvm-config</code> to locate the required
101-
LLVM sources. If CMake cannot find <code>llvm-config</code> then you must
102-
configure CMake using either of the following options.
76+
<p>For building libc++abi, please see the libc++ documentation on
77+
<a href="https://libcxx.llvm.org/BuildingLibcxx.html">building the runtimes</a>.
10378
</p>
104-
<ul>
105-
<li><code>-DLLVM_CONFIG_PATH=path/to/llvm-config</code></li>
106-
<li><code>-DLLVM_PATH=path/to/llvm-source-root</code></li>
107-
</ul>
10879

80+
<p>For getting involved with libc++abi, please see the libc++ documentation on
81+
<a href="https://libcxx.llvm.org/Contributing.html">getting involved</a>.
10982
</p>
11083

111-
<p>To run the tests:</p>
112-
<ul>
113-
<li><code>make check-cxxabi</code></li>
114-
</ul>
115-
<p>Note: in a standalone build, the system's libc++ will be used for tests. If
116-
the system's libc++ was statically linked against libc++abi (or linked against
117-
a different ABI library), this may interfere with test results.</p>
118-
119-
<p>Send discussions to the
120-
(<a href="https://lists.llvm.org/mailman/listinfo/libcxx-dev">libcxx-dev mailing list</a>).</p>
121-
12284
<!--=====================================================================-->
12385
<h2>Frequently asked questions</h2>
12486
<!--=====================================================================-->

libunwind/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ set(LIBUNWIND_LIBCXX_PATH "${CMAKE_CURRENT_LIST_DIR}/../libcxx" CACHE PATH
2424
"Specify path to libc++ source.")
2525

2626
if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBUNWIND_STANDALONE_BUILD)
27+
message(WARNING "The Standalone build is deprecated in this release. Please use one of the ways "
28+
"described at https://libcxx.llvm.org/BuildingLibcxx.html for building libunwind.")
29+
2730
# We may have an incomplete toolchain - do language support tests without
2831
# linking.
2932
include(EnableLanguageNolink)

0 commit comments

Comments
 (0)