docs: separate information for compiler selection and compiler options
Split up the "Environment Variables" section into "Compiler Options" and "Compiler Specification". I think this makes the information easier to find and understand.
This commit is contained in:
@@ -169,47 +169,67 @@ Developers will often want to install Mesa to a testing directory rather
|
|||||||
than the system library directory.
|
than the system library directory.
|
||||||
This can be done with the --prefix option. For example:
|
This can be done with the --prefix option. For example:
|
||||||
</p>
|
</p>
|
||||||
<code>
|
<pre>
|
||||||
meson --prefix="${PWD}/build/install" build/
|
meson --prefix="${PWD}/build/install" build/
|
||||||
</code>
|
</pre>
|
||||||
<p>
|
<p>
|
||||||
will put the final libraries and drivers into the build/install/
|
will put the final libraries and drivers into the build/install/
|
||||||
directory.
|
directory.
|
||||||
Then you can set LD_LIBRARY_PATH and LIBGL_DRIVERS_PATH to that location
|
Then you can set LD_LIBRARY_PATH and LIBGL_DRIVERS_PATH to that location
|
||||||
to run/test the driver.
|
to run/test the driver.
|
||||||
</p>
|
</p>
|
||||||
|
<p>
|
||||||
|
Meson also honors <code>DESTDIR</code> for installs.
|
||||||
|
</p>
|
||||||
</dd>
|
</dd>
|
||||||
|
|
||||||
<dt>Environment Variables</dt>
|
<dt>Compiler Options</dt>
|
||||||
<dd><p>Meson supports the standard CC and CXX environment variables for
|
<dd>
|
||||||
changing the default compiler. Meson does support CFLAGS, CXXFLAGS, etc. But
|
<p>Meson supports the common CFLAGS, CXXFLAGS, etc. environment
|
||||||
their use is discouraged because of the many caveats in using them. Instead it
|
variables but their use is discouraged because of the many caveats
|
||||||
is recomended to use <code>-D${lang}_args</code> and
|
in using them.
|
||||||
<code>-D${lang}_link_args</code> instead. Among the benefits of these options
|
</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.
|
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.
|
to create a new build dir for a different compiler.
|
||||||
</p>
|
</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>
|
<pre>
|
||||||
CC=clang CXX=clang++ meson build-clang
|
CC=clang CXX=clang++ meson build-clang
|
||||||
ninja -C build-clang
|
ninja -C build-clang
|
||||||
ninja -C build-clang clean
|
ninja -C build-clang clean
|
||||||
meson configure build -Dc_args="-Wno-typedef-redefinition"
|
meson configure build -Dc_args="-Wno-typedef-redefinition"
|
||||||
ninja -C build-clang
|
ninja -C build-clang
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The default compilers depends on your operating system. Meson supports most of
|
The default compilers depends on your operating system. Meson supports most of
|
||||||
the popular compilers, a complete list is available
|
the popular compilers, a complete list is available
|
||||||
<a href="http://mesonbuild.com/Reference-tables.html#compiler-ids">here</a>.
|
<a href="http://mesonbuild.com/Reference-tables.html#compiler-ids">here</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>Meson also honors <code>DESTDIR</code> for installs</p>
|
|
||||||
</dd>
|
</dd>
|
||||||
|
|
||||||
|
|
||||||
<dt>LLVM</dt>
|
<dt>LLVM</dt>
|
||||||
<dd><p>Meson includes upstream logic to wrap llvm-config using its standard
|
<dd><p>Meson includes upstream logic to wrap llvm-config using its standard
|
||||||
dependency interface.
|
dependency interface.
|
||||||
|
Reference in New Issue
Block a user