docs: remove stray paragraph-close
[mesa.git] / docs / meson.html
index 7ffef817f426ca9ec127d6e95dc460254ce68e71..6fe8def812e930f26a42107428af8d424d61758c 100644 (file)
@@ -44,7 +44,7 @@ or
 sudo dnf install meson   # Fedora
 </pre>
 
-<p><strong>Mesa requires Meson >= 0.45.0 to build.</strong>
+<p><strong>Mesa requires Meson &gt;= 0.45.0 to build.</strong>
 
 Some older versions of meson do not check that they are too old and will error
 out in odd ways.
@@ -76,8 +76,6 @@ separate build directory</a> for each configuration you might want to use.
 
 
 
-</p>
-
 <p>Basic configuration is done with:</p>
 
 <pre>
@@ -103,7 +101,8 @@ running "meson build/" but this feature is being discussed upstream.
 For now, we have a <code>bin/meson-options.py</code> script that prints
 the options for you.
 If that script doesn't work for some reason, you can always look in the
-<code>meson_options.txt</code> file at the root of the project.
+<a href="https://gitlab.freedesktop.org/mesa/mesa/blob/master/meson_options.txt">
+meson_options.txt</a> file at the root of the project.
 </p>
 
 <p>
@@ -146,7 +145,7 @@ ninja -C build/ install
 </pre>
 
 <p>
-Note: autotools automatically updates translation files (used by the DRI
+Note: autotools automatically updated translation files (used by the DRI
 configuration tool) as part of the build process,
 Meson does not do this.  Instead, you will need do this:
 </p>
@@ -169,47 +168,67 @@ Developers will often want to install Mesa to a testing directory rather
 than the system library directory.
 This can be done with the --prefix option.  For example:
 </p>
-<code>
+<pre>
 meson --prefix="${PWD}/build/install" build/
-</code>
+</pre>
 <p>
 will put the final libraries and drivers into the build/install/
 directory.
 Then you can set LD_LIBRARY_PATH and LIBGL_DRIVERS_PATH to that location
 to run/test the driver.
 </p>
+<p>
+Meson also honors <code>DESTDIR</code> for installs.
+</p>
 </dd>
 
-<dt>Environment Variables</dt>
-<dd><p>Meson supports the standard CC and CXX environment variables for
-changing the default compiler. Meson does support CFLAGS, CXXFLAGS, etc. But
-their use is discouraged because of the many caveats in using them. Instead it
-is recomended to use <code>-D${lang}_args</code> and
-<code>-D${lang}_link_args</code> instead. Among the benefits of these options
+<dt>Compiler Options</dt>
+<dd>
+<p>Meson supports the common CFLAGS, CXXFLAGS, etc. environment
+variables but their use is discouraged because of the many caveats
+in using them.
+</p>
+<p>Instead, it is recomended to use <code>-D${lang}_args</code> and
+<code>-D${lang}_link_args</code>. Among the benefits of these options
 is that they are guaranteed to persist across rebuilds and reconfigurations.
+</p>
+This example sets -fmax-errors for compiling C sources and -DMAGIC=123
+for C++ sources:
+</p>
+<p>
+<pre>
+meson builddir/ -Dc_args=-fmax-errors=10 -Dcpp_args=-DMAGIC=123
+</pre>
+</p>
+</dd>
 
-Meson does not allow changing compiler in a configured builddir, you will need
+
+<dt>Compiler Specification</dt>
+<dd>
+<p>
+Meson supports the standard CC and CXX environment variables for
+changing the default compiler.  Note that Meson does not allow
+changing the compilers in a configured builddir so you will need
 to create a new build dir for a different compiler.
 </p>
-
+<p>
+This is an example of specifying the clang compilers and cleaning
+the build directory before reconfiguring with an extra C option:
+</p>
 <pre>
-    CC=clang CXX=clang++ meson build-clang
-    ninja -C build-clang
-    ninja -C build-clang clean
-    meson configure build -Dc_args="-Wno-typedef-redefinition"
-    ninja -C build-clang
+CC=clang CXX=clang++ meson build-clang
+ninja -C build-clang
+ninja -C build-clang clean
+meson configure build -Dc_args="-Wno-typedef-redefinition"
+ninja -C build-clang
 </pre>
-
 <p>
 The default compilers depends on your operating system. Meson supports most of
 the popular compilers, a complete list is available
 <a href="http://mesonbuild.com/Reference-tables.html#compiler-ids">here</a>.
 </p>
-
-<p>Meson also honors <code>DESTDIR</code> for installs</p>
 </dd>
 
-
 <dt>LLVM</dt>
 <dd><p>Meson includes upstream logic to wrap llvm-config using its standard
 dependency interface.