[docs] Rewrite/improve the docs for LLVM_NATIVE_TOOL_DIR

Don't include it among the mandatory options; the automatically built
tools via a nested cmake build work fine these days
(in particular, since 93010544a813dfbfa64dd7cee68785f572f974d1 /
https://reviews.llvm.org/D126313).

Clarify the directory path-to-host-bin into something more verbose,
to avoid ambiguity with LLVM_HOST_TRIPLE.

Differential Revision: https://reviews.llvm.org/D142960
This commit is contained in:
Martin Storsjö 2023-01-31 11:09:50 +02:00
parent cb19e3b20d
commit 4cda8e6267

View File

@ -42,7 +42,6 @@ The CMake options you need to add are:
* ``-DCMAKE_SYSTEM_NAME=<target-system>`` * ``-DCMAKE_SYSTEM_NAME=<target-system>``
* ``-DCMAKE_INSTALL_PREFIX=<install-dir>`` * ``-DCMAKE_INSTALL_PREFIX=<install-dir>``
* ``-DLLVM_NATIVE_TOOL_DIR=<path-to-host-bin>``
* ``-DLLVM_HOST_TRIPLE=arm-linux-gnueabihf`` * ``-DLLVM_HOST_TRIPLE=arm-linux-gnueabihf``
* ``-DLLVM_TARGETS_TO_BUILD=ARM`` * ``-DLLVM_TARGETS_TO_BUILD=ARM``
@ -69,10 +68,13 @@ In addition to the ones above, you'll also need:
* Appropriate use of ``-I`` and ``-L``, depending on how the cross GCC is installed, * Appropriate use of ``-I`` and ``-L``, depending on how the cross GCC is installed,
and where are the libraries and headers. and where are the libraries and headers.
The ``LLVM_NATIVE_TOOL_DIR`` option allows you to reuse prebuilt binaries You may also want to set the ``LLVM_NATIVE_TOOL_DIR`` option - pointing
(``llvm-tblgen``, ``clang-tblgen`` etc) for the build host, if such are at a directory with prebuilt LLVM tools (``llvm-tblgen``, ``clang-tblgen``
available. If that's not available, the LLVM cross build will automatically etc) for the build host, allowing you to them reuse them if available.
launch a nested build to build the tools that are required. E.g. ``-DLLVM_NATIVE_TOOL_DIR=<path-to-native-llvm-build>/bin``.
If the option isn't set (or the directory doesn't contain all needed tools),
the LLVM cross build will automatically launch a nested build to build the
tools that are required.
The CXX flags define the target, cpu (which in this case The CXX flags define the target, cpu (which in this case
defaults to ``fpu=VFP3`` with NEON), and forcing the hard-float ABI. If you're defaults to ``fpu=VFP3`` with NEON), and forcing the hard-float ABI. If you're