Compiling and Installing
+Compiling and Installing
- Prerequisites for building @@ -19,62 +26,70 @@
- Building with SCons (Windows/Linux)
- Building for other systems
- Library Information -
- Building OpenGL programs with pkg-config
+
- Building OpenGL programs with pkg-config
1. Prerequisites for building
+1. Prerequisites for building
1.1 General
-
+
- Python - Python is required. +Version 2.6.4 or later should work. + +
- Python Mako module - +Python Mako module is required. Version 0.3.4 or later should work. + + +
- SCons is required for building on +Windows and optional for Linux (it's an alternative to autoconf/automake.) + +
- lex / yacc - for building the GLSL compiler.
+
+
On Linux systems, flex and bison are used. Versions 2.5.35 and 2.4.1, respectively, (or later) should work.
On Windows with MinGW, install flex and bison with:mingw-get install msys-flex msys-bison
+For MSVC on Windows, install +Win flex-bison.
- - python - Python is needed for building the Gallium components.
-Version 2.6.4 or later should work.
-
-To build OpenGL ES 1.1 and 2.0 you'll also need -libxml2-python. + - For building on Windows, Microsoft Visual Studio 2013 or later is required.
+
1.2 For DRI and hardware acceleration
+1.2 For DRI and hardware acceleration
The following are required for DRI-based hardware acceleration with Mesa:
-
-
- dri2proto version 2.6 or later -
- libDRM -version 2.4.33 or later +
- +dri2proto version 2.6 or later +
- libDRM latest version
- Xorg server version 1.5 or later
- Linux 2.6.28 or later
If you're using a fedora distro the following command should install all the needed dependencies: +
sudo yum install flex bison imake libtool xorg-x11-proto-devel libdrm-devel \ gcc-c++ xorg-x11-server-devel libXi-devel libXmu-devel libXdamage-devel git \ - expat-devel llvm-devel + expat-devel llvm-devel python-mako- -
2. Building with autoconf (Linux/Unix/X11)
+2. Building with autoconf (Linux/Unix/X11)
The primary method to build Mesa on Unix systems is with autoconf. @@ -82,19 +97,20 @@ The primary method to build Mesa on Unix systems is with autoconf.
The general approach is the standard: +
./configure make sudo make install+
But please read the detailed autoconf instructions for more details.
- -3. Building with SCons (Windows/Linux)
+3. Building with SCons (Windows/Linux)
To build Mesa with SCons on Linux or Windows do @@ -113,14 +129,13 @@ by -debug for debug builds. To build Mesa with SCons for Windows on Linux using the MinGW crosscompiler toolchain do
- scons platform=windows toolchain=crossmingw machine=x86 mesagdi libgl-gdi + scons platform=windows toolchain=crossmingw machine=x86 libgl-gdi
This will create:
-
-
- build/windows-x86-debug/mesa/drivers/windows/gdi/opengl32.dll — Mesa + swrast, binary compatible with Windows's opengl32.dll -
- build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll — Mesa + Gallium + softpipe, binary compatible with Windows's opengl32.dll +
- build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll — Mesa + Gallium + softpipe (or llvmpipe), binary compatible with Windows's opengl32.dll
Put them all in the same directory to test them.
@@ -128,23 +143,21 @@ Put them all in the same directory to test them.
-
-
Documentation for other environments (some may be very out of date):
When compilation has finished, look in the top-level
libGL is the main OpenGL library (i.e. Mesa).
4. Building for other systems
+4. Building for other systems
-
+
+
-
-5. Library Information
+5. Library Information
lib/
@@ -155,9 +168,6 @@ You'll see a set of library files similar to this:
lrwxrwxrwx 1 brian users 10 Mar 26 07:53 libGL.so -> libGL.so.1*
lrwxrwxrwx 1 brian users 19 Mar 26 07:53 libGL.so.1 -> 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 11 Mar 26 07:53 libGLU.so -> libGLU.so.1*
-lrwxrwxrwx 1 brian users 20 Mar 26 07:53 libGLU.so.1 -> libGLU.so.1.3.060100*
--rwxr-xr-x 1 brian users 549269 Mar 26 07:53 libGLU.so.1.3.060100*
lrwxrwxrwx 1 brian users 14 Mar 26 07:53 libOSMesa.so -> libOSMesa.so.6*
lrwxrwxrwx 1 brian users 23 Mar 26 07:53 libOSMesa.so.6 -> libOSMesa.so.6.1.060100*
-rwxr-xr-x 1 brian users 23871 Mar 26 07:53 libOSMesa.so.6.1.060100*
@@ -166,8 +176,6 @@ lrwxrwxrwx 1 brian users 23 Mar 26 07:53 libOSMesa.so.6 -> libOSM
-libGLU is the OpenGL Utility library.
-
libOSMesa is the OSMesa (Off-Screen) interface library.
6. Building OpenGL programs with pkg-config
+6. Building OpenGL programs with pkg-config
Running make install
will install package configuration files
@@ -210,6 +216,6 @@ For example, compiling and linking a GLUT application can be done with:
-
+