From: Dylan Baker The Meson build system for Mesa is still under active development,
-and should not be used in production environments. The Meson build system is generally considered stable and ready
+for production The meson build is currently only tested on linux, and is known to not work
-on macOS, Windows, and haiku. This will be fixed. The meson build is tested on on Linux, macOS, Cygwin and Haiku, it should
+work on FreeBSD, DragonflyBSD, NetBSD, and OpenBSD. Mesa requires Meson >= 0.42.0 to build in general.
+
+Additionaly, to build the Clover OpenCL state tracker or the OpenSWR driver
+meson 0.44.0 or greater is required.
+
+Some older versions of meson do not check that they are too old and will error
+out in odd ways.
+
The meson program is used to configure the source directory and generates
@@ -111,6 +120,7 @@ change compiler in a configured build directory.
+ Meson includes upstream logic to wrap llvm-config using it's standard
dependncy interface. It will search $PATH (or %PATH% on windows) for
@@ -119,15 +129,15 @@ llvm-config, so using an LLVM from a non-standard path is as easy as
The
1. Basic Usage
-
+LLVM
PKG_CONFIG_PATH
pkg-config
utility is a hard requirement for configuring and
-building Mesa on Linux and *BSD. It is used to search for external libraries
-on the system. This environment variable is used to control the search
-path for pkg-config
. For instance, setting
-PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig
will search for
-package metadata in /usr/X11R6
before the standard
-directories.pkg-config
. For instance, setting
+PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig
will search for package
+metadata in /usr/X11R6
before the standard directories.
For those wishing to pass their own -O option, use the "plain" buildtype, -which cuases meson to inject no additional compiler arguments, only those in -the C/CXXFLAGS and those that mesa itself defines.
+For those wishing to pass their own optimization flags, use the "plain" +buildtype, which causes meson to inject no additional compiler arguments, only +those in the C/CXXFLAGS and those that mesa itself defines.