X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=docs%2Finstall.html;h=e31c7728cfba7ffeafa1bc0c7ca267d88f9ba6a8;hb=71c6208200921cc92e6f36dfb55e437d58cbaee2;hp=b12e1cb8cd9cad20129a7d88595af4cf7e9ea721;hpb=2b37bea010a9c9333a813cc77d28629e1382c0be;p=mesa.git diff --git a/docs/install.html b/docs/install.html index b12e1cb8cd9..e31c7728cfb 100644 --- a/docs/install.html +++ b/docs/install.html @@ -8,7 +8,7 @@
-

The Mesa 3D Graphics Library

+ The Mesa 3D Graphics Library
@@ -22,93 +22,123 @@
  • General prerequisites
  • For DRI and hardware acceleration -
  • Building with autoconf (Linux/Unix/X11) +
  • Building with meson
  • Building with SCons (Windows/Linux) -
  • Building for other systems +
  • Building with AOSP (Android)
  • Library Information
  • Building OpenGL programs with pkg-config -

    1. Prerequisites for building

    +

    1. Prerequisites for building

    + +

    1.1 General

    + +

    Build system

    -

    1.1 General

    + +

    Compiler

    +

    +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 For DRI and hardware acceleration

    +

    1.2 Requirements

    -The following are required for DRI-based hardware acceleration with Mesa: +The requirements depends on the features selected at configure stage. +Check/install the respective -devel package as prompted by the configure error +message.

    -

    -If you're using a fedora distro the following command should install all -the needed dependencies: +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 python-mako
    +  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 >= 0.46.0 is required

    -

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

    -The primary method to build Mesa on Unix systems is with autoconf. +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 general approach is the standard: +The general approach is:

    -  ./configure
    -  make
    -  sudo make install
    +  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
    +
    +

    -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 @@ -127,36 +157,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/ @@ -164,18 +201,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          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). -
    -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.

    @@ -194,10 +230,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.

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