<h2 id="advanced">3. Advanced Usage</h2>
-<dl>
-
-<dt>Installation Location</dt>
-<dd>
+<h3>Installation Location</h3>
<p>
Meson default to installing libGL.so in your system's main lib/ directory
and DRI drivers to a dri/ subdirectory.
<p>
Meson also honors <code>DESTDIR</code> for installs.
</p>
-</dd>
-<dt>Compiler Options</dt>
-<dd>
+<h3>Compiler Options</h3>
<p>Meson supports the common CFLAGS, CXXFLAGS, etc. environment
variables but their use is discouraged because of the many caveats
in using them.
<pre>
meson builddir/ -Dc_args=-fmax-errors=10 -Dcpp_args=-DMAGIC=123
</pre>
-</dd>
-<dt>Compiler Specification</dt>
-<dd>
+<h3>Compiler Specification</h3>
<p>
Meson supports the standard CC and CXX environment variables for
changing the default compiler. Note that Meson does not allow
the popular compilers, a complete list is available
<a href="https://mesonbuild.com/Reference-tables.html#compiler-ids">here</a>.
</p>
-</dd>
-<dt>LLVM</dt>
-<dd><p>Meson includes upstream logic to wrap llvm-config using its standard
+<h3>LLVM</h3>
+<p>Meson includes upstream logic to wrap llvm-config using its standard
dependency interface.
-</p></dd>
-
-<dd><p>
+</p>
+<p>
As of meson 0.51.0 meson can use cmake to find llvm (the cmake finder
was added in meson 0.49.0, but LLVM cannot be found until 0.51) Due to the
way LLVM implements its cmake finder it will only find static libraries, it
<pre>
meson builddir -Dcmake_module_path=/home/user/mycmake/prefix
</pre>
-</dd>
-<dd><p>
+<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
<pre>
meson builddir/ --native-file custom-llvm.ini
</pre>
-</dd>
-<dd><p>
+<p>
Meson < 0.49 doesn't support native files, so to specify a custom
<code>llvm-config</code> you need to modify your <code>$PATH</code> (or
<code>%PATH%</code> on windows), which will be searched for
<pre>
PATH=/path/to/folder/with/llvm-config:$PATH meson build
</pre>
-</dd>
-<dd><p>
+<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:
</pre>
See the <a href="#cross-compilation">Cross Compilation</a> section for more information.
-</dd>
-<dd><p>On windows (and in other cases), using llvm-config or cmake may be
+<p>On windows (and in other cases), using llvm-config or cmake may be
either undesirable or impossible. Meson's solution for this is a
<a href="https://mesonbuild.com/Wrap-dependency-system-manual.html">wrap</a>, in
this case a "binary wrap". Follow the steps below:</p>
workarounds for the wrong version of LLVM might be used resulting in build
failures.</p>
-</dd>
-<dt><code>PKG_CONFIG_PATH</code></dt>
-<dd><p>The
+<h3><code>PKG_CONFIG_PATH</code></h3>
+<p>The
<code>pkg-config</code> utility is a hard requirement for configuring and
building Mesa on Unix-like systems. It is used to search for external libraries
on the system. This environment variable is used to control the search path for
<code>pkg-config</code>. For instance, setting
<code>PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig</code> will search for package
metadata in <code>/usr/X11R6</code> before the standard directories.</p>
-</dd>
-</dl>
+<h3>Options</h3>
<p>
One of the oddities of meson is that some options are different when passed to
the <code>meson</code> than to <code>meson configure</code>. These options are