<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Compiling and Installing</title>
  <link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>

<div class="header">
  The Mesa 3D Graphics Library
</div>

<iframe src="contents.html"></iframe>
<div class="content">

<h1>Compiling and Installing</h1>

<ol>
<li><a href="#prereq-general">Prerequisites for building</a>
  <ul>
  <li><a href="#prereq-general">General prerequisites</a>
  <li><a href="#prereq-dri">For DRI and hardware acceleration</a>
  </ul>
<li><a href="#meson">Building with meson</a>
<li><a href="#scons">Building with SCons (Windows/Linux)</a>
<li><a href="#android">Building with AOSP (Android)</a>
<li><a href="#libs">Library Information</a>
<li><a href="#pkg-config">Building OpenGL programs with pkg-config</a>
</ol>


<h2 id="prereq-general">1. Prerequisites for building</h2>

<h3>1.1 General</h3>

<h4>Build system</h4>

<ul>
<li><a href="https://mesonbuild.com">meson</a> is required when building on *nix platforms and is supported on windows.
<li><a href="http://www.scons.org/">SCons</a> is an alternative for building on
Windows and Linux.
</li>
<li>Android Build system when building as native Android component. Meson
is used when when building ARC.
</li>
</ul>

<h4>Compiler</h4>
<p>
The following compilers are known to work, if you know of others or you're
willing to maintain support for other compiler get in touch.
</p>

<ul>
<li>GCC 4.2.0 or later (some parts of Mesa may require later versions)
<li>clang - exact minimum requirement is currently unknown.
<li>Microsoft Visual Studio 2015 or later is required, for building on Windows.
</ul>


<h4>Third party/extra tools.</h4>

<ul>
<li><a href="https://www.python.org/">Python</a> - Python is required.
When building with scons 2.7 is required.
When building with meson 3.5 or newer is required.
</li>
<li><a href="http://www.makotemplates.org/">Python Mako module</a> -
Python Mako module is required. Version 0.8.0 or later should work.
</li>
<li>lex / yacc - for building the Mesa IR and GLSL compiler.
<p>
On Linux systems, flex and bison versions 2.5.35 and 2.4.1, respectively,
(or later) should work.
On Windows with MinGW, install flex and bison with:
</p>
<pre>mingw-get install msys-flex msys-bison</pre>
<p>
For MSVC on Windows, install
<a href="http://winflexbison.sourceforge.net/">Win flex-bison</a>.
</p>
</ul>
<p><strong>Note</strong>: Some versions can be buggy (eg. flex 2.6.2) so do try others if things fail.</p>


<h3 id="prereq-dri">1.2 Requirements</h3>

<p>
The requirements depends on the features selected at configure stage.
Check/install the respective -devel package as prompted by the configure error
message.
</p>

<p>
Here are some common ways to retrieve most/all of the dependencies based on
the packaging tool used by your distro.
</p>

<pre>
  zypper source-install --build-deps-only Mesa # openSUSE/SLED/SLES
  yum-builddep mesa # yum Fedora, OpenSuse(?)
  dnf builddep mesa # dnf Fedora
  apt-get build-dep mesa # Debian and derivatives
  ... # others
</pre>

<h2 id="meson">2. Building with meson</h2>

<p><strong>Meson &gt;= 0.46.0 is required</strong></p>

<p>
Meson is the latest build system in mesa, it is currently able to build for
*nix systems like Linux and BSD, macOS, Haiku, and Windows.
</p>

<p>
The general approach is:
</p>
<pre>
  meson builddir/
  ninja -C builddir/
  sudo ninja -C builddir/ install
</pre>

<p>On windows you can also use the visual studio backend</p>
<pre>
  meson builddir --backend=vs
  cd builddir
  msbuild mesa.sln /m
</pre>

<p>
Please read the <a href="meson.html">detailed meson instructions</a>
for more information
</p>

<p>On windows you can also use the visual studio backend</p>
<pre>
  meson builddir --backend=vs
  cd builddir
  msbuild mesa.sln /m
</pre>

<p>
Please read the <a href="meson.html">detailed meson instructions</a>
for more information
</p>



<h2 id="scons">3. Building with SCons (Windows/Linux)</h2>

<p>
To build Mesa with SCons on Linux or Windows do
</p>
<pre>
    scons
</pre>
<p>
The build output will be placed in
build/<i>platform</i>-<i>machine</i>-<i>debug</i>/..., where <i>platform</i> is for
example linux or windows, <i>machine</i> is x86 or x86_64, optionally followed
by -debug for debug builds.
</p>

<p>
To build Mesa with SCons for Windows on Linux using the MinGW crosscompiler toolchain do
</p>
<pre>
    scons platform=windows toolchain=crossmingw machine=x86 libgl-gdi
</pre>
<p>
This will create:
</p>
<ul>
<li>build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll &mdash; Mesa + Gallium + softpipe (or llvmpipe), binary compatible with Windows's opengl32.dll
</ul>
<p>
Put them all in the same directory to test them.

Additional information is available in <a href="README.WIN32">README.WIN32</a>.

</p>



<h2 id="android">4. Building with AOSP (Android)</h2>

<p>
Currently one can build Mesa for Android as part of the AOSP project, yet
your experience might vary.
</p>

<p>
In order to achieve that one should update their local manifest to point to the
upstream repo, set the appropriate BOARD_GPU_DRIVERS and build the
libGLES_mesa library.
</p>

<p>
FINISHME: Improve on the instructions add references to Rob H repos/Jenkins,
Android-x86 and/or other resources.
</p>


<h2 id="libs">5. Library Information</h2>

<p>
When compilation has finished, look in the top-level <code>lib/</code>
(or <code>lib64/</code>) directory.
You'll see a set of library files similar to this:
</p>
<pre>
lrwxrwxrwx    1 brian    users          10 Mar 26 07:53 libGL.so -&gt; libGL.so.1*
lrwxrwxrwx    1 brian    users          19 Mar 26 07:53 libGL.so.1 -&gt; libGL.so.1.5.060100*
-rwxr-xr-x    1 brian    users     3375861 Mar 26 07:53 libGL.so.1.5.060100*
lrwxrwxrwx    1 brian    users          14 Mar 26 07:53 libOSMesa.so -&gt; libOSMesa.so.6*
lrwxrwxrwx    1 brian    users          23 Mar 26 07:53 libOSMesa.so.6 -&gt; libOSMesa.so.6.1.060100*
-rwxr-xr-x    1 brian    users       23871 Mar 26 07:53 libOSMesa.so.6.1.060100*
</pre>

<p>
<b>libGL</b> is the main OpenGL library (i.e. Mesa), while <b>libOSMesa</b>
is the OSMesa (Off-Screen) interface library.
</p>

<p>
If you built the DRI hardware drivers, you'll also see the DRI drivers:
</p>
<pre>
-rwxr-xr-x   1 brian users 16895413 Jul 21 12:11 i915_dri.so
-rwxr-xr-x   1 brian users 16895413 Jul 21 12:11 i965_dri.so
-rwxr-xr-x   1 brian users 11849858 Jul 21 12:12 r200_dri.so
-rwxr-xr-x   1 brian users 11757388 Jul 21 12:12 radeon_dri.so
</pre>

<p>
If you built with Gallium support, look in lib/gallium/ for Gallium-based
versions of libGL and device drivers.
</p>


<h2 id="pkg-config">6. Building OpenGL programs with pkg-config</h2>

<p>
Running <code>ninja install</code> will install package configuration files
for the pkg-config utility.
</p>

<p>
When compiling your OpenGL application you can use pkg-config to determine
the proper compiler and linker flags.
</p>

<p>
For example, compiling and linking a GLUT application can be done with:
</p>
<pre>
   gcc `pkg-config --cflags --libs glut` mydemo.c -o mydemo
</pre>

</div>
</body>
</html>
