docs/meson: Update LLVM section with information about native files
authorDylan Baker <dylan@pnwbakers.com>
Thu, 20 Dec 2018 19:46:08 +0000 (11:46 -0800)
committerDylan Baker <dylan@pnwbakers.com>
Thu, 27 Dec 2018 17:03:17 +0000 (09:03 -0800)
Reviewed-by: Eric Engeström <eric@engestrom.ch>
docs/meson.html

index 63c106147d169dd8dc9b9bad88d0f5a2173bbce9..3bef8083f9b5732e56fd105b4ba8d901cb385d1d 100644 (file)
@@ -140,11 +140,56 @@ the popular compilers, a complete list is available
 
 <dt><code>LLVM</code></dt>
 <dd><p>Meson includes upstream logic to wrap llvm-config using its standard
-dependency interface. It will search <code>$PATH</code> (or <code>%PATH%</code> on windows) for
-llvm-config (and llvm-config$version and llvm-config-$version), so using an
-LLVM from a non-standard path is as easy as
-<code>PATH=/path/with/llvm-config:$PATH meson build</code>.
+dependency interface.
 </p></dd>
+
+<dd><p>
+As of meson 0.49.0 meson also has the concept of a
+<a href="https://mesonbuild.com/Native-environments.html">"native file"</a>,
+these files provide information about the native build environment (as opposed
+to a cross build environment). They are ini formatted and can override where to
+find llvm-config:
+
+custom-llvm.ini
+<pre>
+    [binaries]
+    llvm-config = '/usr/local/bin/llvm/llvm-config'
+</pre>
+
+Then configure meson:
+
+<pre>
+    meson builddir/ --native-file custom-llvm.ini
+</pre>
+</p></dd>
+
+<dd><p>
+For selecting llvm-config for cross compiling a
+<a href="https://mesonbuild.com/Cross-compilation.html#defining-the-environment">"cross file"</a>
+should be used. It uses the same format as the native file above:
+
+cross-llvm.ini
+<pre>
+    [binaries]
+    ...
+    llvm-config = '/usr/lib/llvm-config-32'
+</pre>
+
+Then configure meson:
+
+<pre>
+    meson builddir/ --cross-file cross-llvm.ini
+</pre>
+
+See the <a href="#cross-compilation">Cross Compilation</a> section for more information.
+</dd></p>
+
+<dd><p>
+For older versions of meson <code>$PATH</code> (or <code>%PATH%</code> on
+windows) will be searched for llvm-config (and llvm-config$version and
+llvm-config-$version), you can override this environment variable to control
+the search: <code>PATH=/path/with/llvm-config:$PATH meson build</code>.
+</dd></p>
 </dl>
 
 <dl>