X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=docs%2Finstall.html;h=b6a75baeeb9341664213bf622c8d3609fb2e47ec;hb=055cfbc6deb585c7cfb4979e3869e354cb0e6b49;hp=46d0b4c7b01886711354dcd1dfe5e55231043d34;hpb=c3fe44c5f9e8e99059d2fe4d85f24cdae89875e2;p=mesa.git diff --git a/docs/install.html b/docs/install.html index 46d0b4c7b01..b6a75baeeb9 100644 --- a/docs/install.html +++ b/docs/install.html @@ -1,162 +1,218 @@ - + + + + + Compiling and Installing + + + -Compiling and Installing +
+

The Mesa 3D Graphics Library

+
- + +
- - - -

Compiling and Installing

+

Compiling and Installing

    -
  1. Unix / X11 +
  2. Prerequisites for building -
  3. Windows -
  4. Building with SCons -
  5. Other +
  6. Building with meson +
  7. Building with autoconf (Linux/Unix/X11) +
  8. Building with SCons (Windows/Linux) +
  9. Building with AOSP (Android) +
  10. Library Information +
  11. Building OpenGL programs with pkg-config
-
- -

1. Unix/X11 Compilation and Installation

+

1. Prerequisites for building

+

1.1 General

-
-

1.1 General prerequisites for building

+

+Build system. +

- -

1.2 Prerequisites for DRI and hardware acceleration

-

-The following are required for DRI-based hardware acceleration with Mesa: +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.

-

+ +

-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
-
+Third party/extra tools. +
+Note: These should not be required, when building from a release tarball. If +you think you've spotted a bug let developers know by filing a +bug report. +

+ + +

Note: Some versions can be buggy (eg. flex 2.6.2) so do try others if things fail.

- -

1.3 Building with Autoconf

+ +

1.2 Requirements

+ +

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

-Mesa may be built using autoconf. -This should work well on most GNU-based systems. -If that fails the traditional Mesa build system is available. +Here are some common ways to retrieve most/all of the dependencies based on +the packaging tool used by your distro. +

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

2. Building with meson

- -

1.4 Building with traditional Makefiles

+

+Meson is the latest build system in mesa, it is currently able to build for +*nix systems like Linux and BSD, and will be able to build for windows as well. +

-The traditional Mesa build system is based on a collection of pre-defined -system configurations. +The general approach is:

+
+  meson builddir/
+  ninja -C builddir/
+  sudo ninja -C builddir/ install
+

-To see the list of configurations, just type make. -Then choose a configuration from the list and type make -configname. +Please read the detailed meson instructions +for more information

+

3. Building with autoconf (Linux/Unix/X11)

+

-Mesa may be built in several different ways using the predefined configurations: +Although meson is recommended, another supported way to build on *nix systems +is with autoconf.

- +

5. Building with AOSP (Android)

-Later, if you want to rebuild for a different configuration run -make realclean before rebuilding. +Currently one can build Mesa for Android as part of the AOSP project, yet +your experience might vary.

+

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

+ +

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

- -

1.5 The libraries

+ +

6. Library Information

When compilation has finished, look in the top-level lib/ @@ -167,12 +223,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 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* @@ -181,10 +231,6 @@ lrwxrwxrwx 1 brian users 23 Mar 26 07:53 libOSMesa.so.6 -> libOSM

libGL is the main OpenGL library (i.e. Mesa).
-libGLU is the OpenGL Utility library. -
-libglut is the GLUT library. -
libOSMesa is the OSMesa (Off-Screen) interface library.

@@ -193,8 +239,8 @@ If you built the DRI hardware drivers, you'll also see the DRI drivers:

 -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
 
@@ -204,50 +250,7 @@ versions of libGL and device drivers.

- -
-

1.6 Installing the header and library files

- -

-The standard location for the OpenGL header files on Unix-type systems is -in /usr/include/GL/. -The standard location for the libraries is /usr/lib/. -For more information see, the - -Linux/OpenGL ABI specification. -

- -

-If you'd like Mesa to co-exist with another implementation of OpenGL that's -already installed, you'll have to choose different directories, like -/usr/local/include/GL/ and /usr/local/lib/. -

- -

-To install Mesa's headers and libraries, run make install. -But first, check the Mesa/configs/default file and examine the values -of the INSTALL_DIR and DRI_DRIVER_INSTALL_DIR variables. -Change them if needed, then run make install. -

- -

-The variable -DESTDIR may also be used to install the contents to a temporary -staging directory. -This can be useful for package management. -For example: make install DESTDIR=/somepath/ -

- -

-Note: at runtime you can use the LD_LIBRARY_PATH environment variable -(on Linux at least) to switch -between the Mesa libraries and other vendor's libraries whenever you want. -This is a handy way to compare multiple OpenGL implementations. -

- - - -

1.7 Building OpenGL programs with pkg-config

+

7. Building OpenGL programs with pkg-config

Running make install will install package configuration files @@ -268,64 +271,6 @@ For example, compiling and linking a GLUT application can be done with:
-
-

2. Windows Compilation and Installation

- -

-Please see the instructions on building with SCons. -

- - - - -

3. Building with SCons

- -

-To build Mesa with SCons on Linux or Windows do -

-
-    scons
-
-

-The build output will be placed in -build/platform-machine-debug/..., where platform is for -example linux or windows, machine is x86 or x86_64, optionally followed -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
-
-

-This will create: -

- -

-Put them all in the same directory to test them. -

- - -
-

4. Other systems

- -

-Documentation for other environments (some may be very out of date): -

- -
- - - - +