Module: Mesa Branch: master Commit: 7103a18c1242af7d3ec36a947841fa52e7f86bed URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7103a18c1242af7d3ec36a947841fa52e7f86bed
Author: Brian Paul <bri...@vmware.com> Date: Thu Apr 19 09:56:36 2012 -0600 docs: overhaul the Mesa build/install instructions Rearrange thing in general. Mark the legacy Makefile system as deprecated. --- docs/install.html | 251 ++++++++++++++++++++++++++--------------------------- 1 files changed, 123 insertions(+), 128 deletions(-) diff --git a/docs/install.html b/docs/install.html index 46d0b4c..2ba7cb8 100644 --- a/docs/install.html +++ b/docs/install.html @@ -10,30 +10,24 @@ <H1>Compiling and Installing</H1> <ol> -<li><a href="#unix-x11">Unix / X11</a> +<li><a href="#prereq-general">Prerequisites for building</a> <ul> - <li><a href="#prereq-general">General prerequisites for building</a> - <li><a href="#prereq-dri">Prerequisites for DRI and hardware acceleration</a> - <li><a href="#autoconf">Building with autoconf</a> - <li><a href="#traditional">Building with traditional Makefiles</a> - <li><a href="#libs">The Libraries</a> - <li><a href="#install">Installing the header and library files - <li><a href="#pkg-config">Building OpenGL programs with pkg-config + <li><a href="#prereq-general">General prerequisites</a> + <li><a href="#prereq-dri">For DRI and hardware acceleration</a> </ul> -<li><a href="#windows">Windows</a> -<li><a href="#scons">Building with SCons</a> -<li><a href="#other">Other</a> +<li><a href="#autoconf">Building with autoconf (Linux/Unix/X11)</a> +<li><a href="#scons">Building with SCons (Windows)</a> +<li><a href="#legacy">Building with legacy Makefiles (deprecated)</a> +<li><a href="#other">Building for other systems</a> +<li><a href="#libs">Library Information</a> +<li><a href="#pkg-config">Building OpenGL programs with pkg-config </ol> -<br> - - -<a name="unix-x11"> -<H2>1. Unix/X11 Compilation and Installation</H1> <a name="prereq-general"> -<h3>1.1 General prerequisites for building</h3> +<h1>1. Prerequisites for building</h1> +<h2>1.1 General</h2> <ul> <li>lex / yacc - for building the GLSL compiler. On Linux systems, flex and bison are used. @@ -54,18 +48,19 @@ To build OpenGL ES 1.1 and 2.0 you'll also need <a name="prereq-dri"> -<h3>1.2 Prerequisites for DRI and hardware acceleration</h3> +<h3>1.2 For DRI and hardware acceleration</h3> <p> The following are required for DRI-based hardware acceleration with Mesa: </p> <ul> -<li><a href="http://xorg.freedesktop.org/releases/individual/proto/">dri2proto</a> version 1.99.3 or later -<li>Linux 2.6.28 +<li><a href="http://xorg.freedesktop.org/releases/individual/proto/" +target="_parent">dri2proto</a> version 2.6 or later <li><a href="http://dri.freedesktop.org/libdrm/" target="_parent">libDRM</a> -version 2.4.15 or later +version 2.4.33 or later <li>Xorg server version 1.5 or later +<li>Linux 2.6.28 or later </ul> </p> <p> @@ -78,22 +73,69 @@ the needed dependencies: </pre> + <a name="autoconf"> -<h3>1.3 Building with Autoconf</h3> +<H1>2. Building with autoconf (Linux/Unix/X11)</H1> + +<p> +The primary method to build Mesa on Unix systems is with autoconf. +</p> <p> -Mesa may be <a href="autoconf.html">built using autoconf</a>. -This should work well on most GNU-based systems. -If that fails the traditional Mesa build system is available. +The general approach is the standard: +<pre> + ./configure + make + sudo make install +</pre> +But please read the <a href="autoconf.html">detailed autoconf instructions</a> +for more details. +</p> -<a name="traditional"> -<h3>1.4 Building with traditional Makefiles</h3> +<a name="scons"> +<H1>3. Building with SCons (Windows)</H1> <p> -The traditional Mesa build system is based on a collection of pre-defined +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 mesagdi libgl-gdi +</pre> +<p> +This will create: +</p> +<ul> +<li>build/windows-x86-debug/mesa/drivers/windows/gdi/opengl32.dll — Mesa + swrast, binary compatible with Windows's opengl32.dll +<li>build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll — Mesa + Gallium + softpipe, binary compatible with Windows's opengl32.dll +</ul> +<p> +Put them all in the same directory to test them. +</p> + + + +<a name="legacy"> +<h1>4. Building with legacy Makefiles (deprecated)</h1> + +<p> +The legacy Mesa build system is based on a collection of pre-defined system configurations. +Some of these might work for older systems not supported by autoconf. </p> <p> To see the list of configurations, just type <code>make</code>. @@ -144,8 +186,6 @@ Make sure you have the prerequisite versions of DRM and Xserver mentioned above. </p> -</li> - </ul> @@ -155,58 +195,9 @@ Later, if you want to rebuild for a different configuration run </p> -<a name="libs"> -<h3>1.5 The libraries</h3> - -<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 -> 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 12 Mar 26 07:53 libglut.so -> libglut.so.3* -lrwxrwxrwx 1 brian users 16 Mar 26 07:53 libglut.so.3 -> libglut.so.3.7.1* --rwxr-xr-x 1 brian users 597754 Mar 26 07:53 libglut.so.3.7.1* -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* -</pre> - -<p> -<b>libGL</b> is the main OpenGL library (i.e. Mesa). -<br> -<b>libGLU</b> is the OpenGL Utility library. -<br> -<b>libglut</b> is the GLUT library. -<br> -<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 11849858 Jul 21 12:12 r200_dri.so --rwxr-xr-x 1 brian users 16050488 Jul 21 12:11 r300_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> - - <a name="install"> -<H3>1.6 Installing the header and library files</H3> +<H2>Installing the header and library files</H2> <p> The standard location for the OpenGL header files on Unix-type systems is @@ -246,85 +237,89 @@ This is a handy way to compare multiple OpenGL implementations. </p> -<a name="pkg-config"> -<H3>1.7 Building OpenGL programs with pkg-config</H3> -<p> -Running <code>make 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> +<a name="other"> +<H1>5. Building for other systems</H1> <p> -For example, compiling and linking a GLUT application can be done with: +Documentation for other environments (some may be very out of date): </p> -<pre> - gcc `pkg-config --cflags --libs glut` mydemo.c -o mydemo -</pre> - -<br> - -<a name="windows"> -<H2>2. Windows Compilation and Installation</H1> -<p> -Please see the <a href="#scons">instructions on building with SCons</a>. -</p> +<UL> +<li><A HREF="README.VMS">README.VMS</A> - VMS +<LI><A HREF="README.CYGWIN">README.CYGWIN</A> - Cygwin +<LI><A HREF="README.WIN32">README.WIN32</A> - Win32 +</UL> -<a name="scons"> -<H2>3. Building with SCons</H1> +<a name="libs"> +<H1>6. Library Information</H1> <p> -To build Mesa with SCons on Linux or Windows do +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> - scons +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* </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. +<b>libGL</b> is the main OpenGL library (i.e. Mesa). +<br> +<b>libGLU</b> is the OpenGL Utility library. +<br> +<b>libOSMesa</b> is the OSMesa (Off-Screen) interface library. </p> <p> -To build Mesa with SCons for Windows on Linux using the MinGW crosscompiler toolchain do +If you built the DRI hardware drivers, you'll also see the DRI drivers: </p> <pre> - scons platform=windows toolchain=crossmingw machine=x86 mesagdi libgl-gdi +-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 16050488 Jul 21 12:11 r300_dri.so +-rwxr-xr-x 1 brian users 11757388 Jul 21 12:12 radeon_dri.so </pre> + <p> -This will create: -</p> -<ul> -<li>build/windows-x86-debug/mesa/drivers/windows/gdi/opengl32.dll — Mesa + swrast, binary compatible with Windows's opengl32.dll -<li>build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll — Mesa + Gallium + softpipe, binary compatible with Windows's opengl32.dll -</ul> -<p> -Put them all in the same directory to test them. +If you built with Gallium support, look in lib/gallium/ for Gallium-based +versions of libGL and device drivers. </p> -<a name="other"> -<H2>4. Other systems</H1> +<a name="pkg-config"> +<H1>7. Building OpenGL programs with pkg-config</H1> <p> -Documentation for other environments (some may be very out of date): +Running <code>make install</code> will install package configuration files +for the pkg-config utility. </p> -<UL> -<li><A HREF="README.VMS">README.VMS</A> - VMS -<LI><A HREF="README.CYGWIN">README.CYGWIN</A> - Cygwin -<LI><A HREF="README.WIN32">README.WIN32</A> - Win32 -</UL> +<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> +<br> </body> _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit