From: Brian Paul Date: Fri, 8 Mar 2019 17:31:11 +0000 (-0700) Subject: docs: separate information for compiler selection and compiler options X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=16fb82d189a9e2096d9fd47adac395b36090c9f0;p=mesa.git 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. --- diff --git a/docs/meson.html b/docs/meson.html index 7ffef817f42..09b45bed007 100644 --- a/docs/meson.html +++ b/docs/meson.html @@ -169,47 +169,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:

- +
 meson --prefix="${PWD}/build/install" build/
-
+

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.

+

+Meson also honors DESTDIR for installs. +

-
Environment Variables
-

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 -D${lang}_args and --D${lang}_link_args instead. Among the benefits of these options +

Compiler Options
+
+

Meson supports the common CFLAGS, CXXFLAGS, etc. environment +variables but their use is discouraged because of the many caveats +in using them. +

+

Instead, it is recomended to use -D${lang}_args and +-D${lang}_link_args. Among the benefits of these options is that they are guaranteed to persist across rebuilds and reconfigurations. +

+This example sets -fmax-errors for compiling C sources and -DMAGIC=123 +for C++ sources: +

+

+

+meson builddir/ -Dc_args=-fmax-errors=10 -Dcpp_args=-DMAGIC=123
+
+

+
+ -Meson does not allow changing compiler in a configured builddir, you will need +
Compiler Specification
+
+

+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.

- +

+This is an example of specifying the clang compilers and cleaning +the build directory before reconfiguring with an extra C option: +

-    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
 
-

The default compilers depends on your operating system. Meson supports most of the popular compilers, a complete list is available here.

- -

Meson also honors DESTDIR for installs

-
LLVM

Meson includes upstream logic to wrap llvm-config using its standard dependency interface.