X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=docs%2Finstall.html;h=ec186fb84af2ecc993bd48ded39596307d829ab2;hb=5425fcf2cb39dc9df56593d4460b56688506c0cc;hp=a344c2ca7af4ca5ec4a804b4e02c947756a9d856;hpb=adc58e96d088615abc8325ac8c78ec770931448d;p=mesa.git diff --git a/docs/install.html b/docs/install.html index a344c2ca7af..ec186fb84af 100644 --- a/docs/install.html +++ b/docs/install.html @@ -1,13 +1,20 @@ - + + + + + Compiling and Installing + + + -Compiling and Installing +
+ The Mesa 3D Graphics Library +
- + +
- - - -

Compiling and Installing

+

Compiling and Installing

  1. Prerequisites for building @@ -15,86 +22,132 @@
  2. General prerequisites
  3. For DRI and hardware acceleration -
  4. Building with autoconf (Linux/Unix/X11) +
  5. Building with meson
  6. Building with SCons (Windows/Linux) -
  7. Building for other systems +
  8. Building with AOSP (Android)
  9. Library Information -
  10. Building OpenGL programs with pkg-config +
  11. Building OpenGL programs with pkg-config
- -

1. Prerequisites for building

+

1. Prerequisites for building

+ +

1.1 General

+ +

Build system

-

1.1 General

- - -

1.2 For DRI and hardware acceleration

- +

Compiler

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

+ + +

Third party/extra tools.

+ + +

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

+ + +

1.2 Requirements

+

-If you're using a fedora distro the following command should install all -the needed dependencies: +The requirements depends on the features selected at configure stage. +Check/install the respective -devel package as prompted by the configure error +message. +

+ +

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

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

+

Meson &6t;= 0.46.0 is required

- -

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

+

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

-The primary method to build Mesa on Unix systems is with autoconf. +The general approach is:

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

On windows you can also use the visual studio backend

+
+  meson builddir --backend=vs
+  cd builddir
+  msbuild mesa.sln /m
+

-The general approach is the standard: +Please read the detailed meson instructions +for more information +

+ +

On windows you can also use the visual studio backend

-  ./configure
-  make
-  sudo make install
+  meson builddir --backend=vs
+  cd builddir
+  msbuild mesa.sln /m
 
-But please read the detailed autoconf instructions -for more details. + +

+Please read the detailed meson instructions +for more information

- -

3. Building with SCons (Windows/Linux)

+

3. Building with SCons (Windows/Linux)

To build Mesa with SCons on Linux or Windows do @@ -113,38 +166,43 @@ 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:

Put them all in the same directory to test them. + +Additional information is available in README.WIN32. +

- -

4. Building for other systems

+

4. Building with AOSP (Android)

-Documentation for other environments (some may be very out of date): +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. +

- -

5. Library Information

+

5. Library Information

When compilation has finished, look in the top-level lib/ @@ -152,23 +210,17 @@ When compilation has finished, look in the top-level lib/ 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*
+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*
+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*
 

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

@@ -178,7 +230,6 @@ 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 @@ -188,11 +239,10 @@ versions of libGL and device drivers.

-
-

6. Building OpenGL programs with pkg-config

+

6. Building OpenGL programs with pkg-config

-Running make install will install package configuration files +Running ninja install will install package configuration files for the pkg-config utility.

@@ -208,8 +258,6 @@ For example, compiling and linking a GLUT application can be done with: gcc `pkg-config --cflags --libs glut` mydemo.c -o mydemo -
- - +