To address https://github.com/llvm/llvm-project/issues/64616, this change
does the following:
- Links back to the "Optional Dependencies" section from the cross compilation instructions where we talk about removing libraries. In the reported issue, the host libXML was found by CMAke somehow and disabling libXML fixed it, so this link should encourage users to try as many of those options as needed.
- Removes the use of CMAKE_CROSS_COMPILING. In older CMake versions it seems you could set this manually but now the advice is to set CMAKE_SYSTEM_NAME and CMAKE_SYSTEM_PROCESSOR then let CMake figure it out.
There is also CMAKE_SYSTEM_VERSION which the docs say you have to set too, but I can only find examples of Windows and Android builds using this. It might be needed to "cross" compile from one version of AArch64 Linux to another, but I can't confirm that.
- Removes the tablegen tools paths in favour of DLLVM_NATIVE_TOOL_DIR. This one setting deals with all build tools in llvm that must be host versions.
- Updates the explanations of the common options and orders them in some rough order of relevance with the "might be needed" later.