[libc-commits] [libc] 2ef5b82 - [libc][docs] Update full host build docs (#97643)
via libc-commits
libc-commits at lists.llvm.org
Wed Jul 3 16:29:22 PDT 2024
Author: Michael Jones
Date: 2024-07-03T16:29:19-07:00
New Revision: 2ef5b8227a3022654b5ef4bd7bafdc5b8750237f
URL: https://github.com/llvm/llvm-project/commit/2ef5b8227a3022654b5ef4bd7bafdc5b8750237f
DIFF: https://github.com/llvm/llvm-project/commit/2ef5b8227a3022654b5ef4bd7bafdc5b8750237f.diff
LOG: [libc][docs] Update full host build docs (#97643)
Add a note explaining how to fix the missing `asm` folder, as well as a
warning about installing without setting a sysroot.
Added:
Modified:
libc/docs/full_host_build.rst
Removed:
################################################################################
diff --git a/libc/docs/full_host_build.rst b/libc/docs/full_host_build.rst
index 709ba70b22de4..4fb3072590f32 100644
--- a/libc/docs/full_host_build.rst
+++ b/libc/docs/full_host_build.rst
@@ -35,6 +35,14 @@ we've set the Ninja generator, enabled a full compiler suite, set the build
type to "Debug", and enabled the Scudo allocator. The build also tells clang
to use the freshly built lld and compiler-rt.
+.. note::
+ if your build fails with an error saying the compiler can't find
+ ``<asm/unistd.h>`` or similar then you're probably missing the symlink from
+ ``/usr/include/asm`` to ``/usr/include/<TARGET TRIPLE>/asm``. Installing the
+ ``gcc-multilib`` package creates this symlink, or you can do it manually with
+ this command:
+ ``sudo ln -s /usr/include/<TARGET TRIPLE>/asm /usr/include/asm``
+
.. code-block:: sh
$> cd llvm-project # The llvm-project checkout
@@ -76,6 +84,14 @@ above.
Build and install
=================
+.. TODO: add this warning to the cmake
+.. warning::
+ Running these install commands without setting a ``$SYSROOT`` will install
+ them into your system include path, which may break your system. If you're
+ just trying to develop libc, then just run ``ninja check-libc`` to build the
+ libc and run the tests. If you've already accidentally installed the headers,
+ you may need to delete them from ``/usr/local/include``.
+
After configuring the build with the above ``cmake`` command, one can build and
install the libc, clang (and its support libraries and builtins), lld and
compiler-rt, with the following command:
More information about the libc-commits
mailing list