From 4cda8e62671fd15b7ba14763b004199fdee9e18b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Martin=20Storsj=C3=B6?= Date: Tue, 31 Jan 2023 11:09:50 +0200 Subject: [PATCH] [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 --- llvm/docs/HowToCrossCompileLLVM.rst | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/llvm/docs/HowToCrossCompileLLVM.rst b/llvm/docs/HowToCrossCompileLLVM.rst index 1e6f74b..de38852 100644 --- a/llvm/docs/HowToCrossCompileLLVM.rst +++ b/llvm/docs/HowToCrossCompileLLVM.rst @@ -42,7 +42,6 @@ The CMake options you need to add are: * ``-DCMAKE_SYSTEM_NAME=`` * ``-DCMAKE_INSTALL_PREFIX=`` - * ``-DLLVM_NATIVE_TOOL_DIR=`` * ``-DLLVM_HOST_TRIPLE=arm-linux-gnueabihf`` * ``-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, and where are the libraries and headers. -The ``LLVM_NATIVE_TOOL_DIR`` option allows you to reuse prebuilt binaries -(``llvm-tblgen``, ``clang-tblgen`` etc) for the build host, if such are -available. If that's not available, the LLVM cross build will automatically -launch a nested build to build the tools that are required. +You may also want to set the ``LLVM_NATIVE_TOOL_DIR`` option - pointing +at a directory with prebuilt LLVM tools (``llvm-tblgen``, ``clang-tblgen`` +etc) for the build host, allowing you to them reuse them if available. +E.g. ``-DLLVM_NATIVE_TOOL_DIR=/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 defaults to ``fpu=VFP3`` with NEON), and forcing the hard-float ABI. If you're -- 2.7.4