summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorDylan Baker <[email protected]>2019-04-08 12:56:51 -0700
committerDylan Baker <[email protected]>2019-04-15 13:44:34 -0700
commitb165ac972b1b406ab5dc7cd4b34d35703c27330a (patch)
treef7142b7f7d6e6f090a9e80ab538c662f0515ba6a /docs
parent95aefc94a941701616fda0776a3bd15710c8c151 (diff)
docs: drop most autoconf references
There's still a few in here, but those docs are already so out of date that it probably makes more sense to delete them. Such as the GLES docs which still claim we only support 1.1 and 2.0, with no mention of 3.x at all. v2: - Add docs for testing back end (Eric Engestrom) - Drop more autootols references - meson is now required not recommended - Add $PWD Acked-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Acked-by: Marek Olšák <[email protected]> Acked-by: Jason Ekstrand <[email protected]> Acked-by: Bas Nieuwenhuizen <[email protected]> Acked-by: Matt Turner <[email protected]>
Diffstat (limited to 'docs')
-rw-r--r--docs/autoconf.html270
-rw-r--r--docs/contents.html1
-rw-r--r--docs/download.html16
-rw-r--r--docs/install.html22
-rw-r--r--docs/osmesa.html11
-rw-r--r--docs/releasing.html116
-rw-r--r--docs/vmware-guest.html12
7 files changed, 49 insertions, 399 deletions
diff --git a/docs/autoconf.html b/docs/autoconf.html
deleted file mode 100644
index 8000b18cd07..00000000000
--- a/docs/autoconf.html
+++ /dev/null
@@ -1,270 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>Compilation and Installation using Autoconf</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- <h1>The Mesa 3D Graphics Library</h1>
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>Compilation and Installation using Autoconf</h1>
-
-<ol>
-<li><p><a href="#basic">Basic Usage</a></li>
-<li><p><a href="#driver">Driver Options</a>
- <ul>
- <li><a href="#xlib">Xlib Driver Options</a></li>
- <li><a href="#dri">DRI Driver Options</a></li>
- <li><a href="#osmesa">OSMesa Driver Options</a></li>
- </ul>
-</ol>
-
-<h2>ATTENTION:</h2>
-<p>
- The autotools build is being replaced by the <a href="meson.html">meson</a>
- build system. If you haven't yet now is a good time to try using meson and
- report any issues you run into.
-</p>
-
-<h2 id="basic">1. Basic Usage</h2>
-
-<p>
-The autoconf generated configure script can be used to guess your
-platform and change various options for building Mesa. To use the
-configure script, type:
-</p>
-
-<pre>
- ./configure
-</pre>
-
-<p>
-To see a short description of all the options, type <code>./configure
---help</code>. If you are using a development snapshot and the configure
-script does not exist, type <code>./autogen.sh</code> to generate it
-first. If you know the options you want to pass to
-<code>configure</code>, you can pass them to <code>autogen.sh</code>. It
-will run <code>configure</code> with these options after it is
-generated. Once you have run <code>configure</code> and set the options
-to your preference, type:
-</p>
-
-<pre>
- make
-</pre>
-
-<p>
-This will produce libGL.so and/or several other libraries depending on the
-options you have chosen. Later, if you want to rebuild for a different
-configuration run <code>make realclean</code> before rebuilding.
-</p>
-
-<p>
-Some of the generic autoconf options are used with Mesa:
-</p>
-<dl>
-<dt><code>--prefix=PREFIX</code></dt>
-<dd><p>This is the root directory where
-files will be installed by <code>make install</code>. The default is
-<code>/usr/local</code>.</p>
-</dd>
-
-<dt><code>--exec-prefix=EPREFIX</code></dt>
-<dd><p>This is the root directory
-where architecture-dependent files will be installed. In Mesa, this is
-only used to derive the directory for the libraries. The default is
-<code>${prefix}</code>.</p>
-</dd>
-
-<dt><code>--libdir=LIBDIR</code></dt>
-<dd><p>This option specifies the directory
-where the GL libraries will be installed. The default is
-<code>${exec_prefix}/lib</code>. It also serves as the name of the
-library staging area in the source tree. For instance, if the option
-<code>--libdir=/usr/local/lib64</code> is used, the libraries will be
-created in a <code>lib64</code> directory at the top of the Mesa source
-tree.</p>
-</dd>
-
-<dt><code>--sysconfdir=DIR</code></dt>
-<dd><p>This option specifies the directory where the configuration
-files will be installed. The default is <code>${prefix}/etc</code>.
-Currently there's only one config file provided when dri drivers are
-enabled - it's <code>drirc</code>.</p>
-</dd>
-
-<dt><code>--datadir=DIR</code></dt>
-<dd><p>This option specifies the directory where the data files will
-be installed. The default is <code>${prefix}/share</code>.
-Currently when dri drivers are enabled, <code>drirc.d/</code> is at
-this place.</p>
-</dd>
-
-<dt><code>--enable-static, --disable-shared</code></dt>
-<dd><p>By default, Mesa
-will build shared libraries. Either of these options will force static
-libraries to be built. It is not currently possible to build static and
-shared libraries in a single pass.</p>
-</dd>
-
-<dt><code>CC, CFLAGS, CXX, CXXFLAGS</code></dt>
-<dd><p>These environment variables
-control the C and C++ compilers used during the build. By default,
-<code>gcc</code> and <code>g++</code> are used and the debug/optimisation
-level is left unchanged.</p>
-</dd>
-
-<dt><code>LDFLAGS</code></dt>
-<dd><p>An environment variable specifying flags to
-pass when linking programs. These should be empty and
-<code>PKG_CONFIG_PATH</code> is recommended to be used instead. If needed
-it can be used to direct the linker to use libraries in nonstandard
-directories. For example, <code>LDFLAGS="-L/usr/X11R6/lib"</code>.</p>
-</dd>
-
-<dt><code>PKG_CONFIG_PATH</code></dt>
-<dd><p>The
-<code>pkg-config</code> utility is a hard requirement for configuring and
-building mesa. It is used to search for external libraries
-on the system. This environment variable is used to control the search
-path for <code>pkg-config</code>. For instance, setting
-<code>PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig</code> will search for
-package metadata in <code>/usr/X11R6</code> before the standard
-directories.</p>
-</dd>
-</dl>
-
-<p>
-There are also a few general options for altering the Mesa build:
-</p>
-<dl>
-<dt><code>--enable-debug</code></dt>
-<dd><p>This option will set the compiler debug/optimisation levels (if the user
-hasn't already set them via the CFLAGS/CXXFLAGS) and macros to aid in
-debugging the Mesa libraries.</p>
-
-<p>Note that enabling this option can lead to noticeable loss of performance.</p>
-
-<dt><code>--disable-asm</code></dt>
-<dd><p>There are assembly routines
-available for a few architectures. These will be used by default if
-one of these architectures is detected. This option ensures that
-assembly will not be used.</p>
-</dd>
-
-<dt><code>--build=</code></dt>
-<dt><code>--host=</code></dt>
-<dd><p>By default, the build will compile code for the architecture that
-it's running on. In order to build cross-compile Mesa on a x86-64 machine
-that is to run on a i686, one would need to set the options to:</p>
-
-<p><code>--build=x86_64-pc-linux-gnu --host=i686-pc-linux-gnu</code></p>
-
-Note that these can vary from distribution to distribution. For more
-information check with the
-<a href="https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Specifying-Target-Triplets.html">
-autoconf manual</a>.
-Note that you will need to correctly set <code>PKG_CONFIG_PATH</code> as well.
-
-
-<p>In some cases a single compiler is capable of handling both architectures
-(multilib) in that case one would need to set the <code>CC,CXX</code> variables
-appending the correct machine options. Seek your compiler documentation for
-further information -
-<a href="https://gcc.gnu.org/onlinedocs/gcc/Submodel-Options.html"> gcc
-machine dependent options</a></p>
-
-<p>In addition to specifying correct <code>PKG_CONFIG_PATH</code> for the target
-architecture, the following should be sufficient to configure multilib Mesa</p>
-
-<code>./configure CC="gcc -m32" CXX="g++ -m32" --build=x86_64-pc-linux-gnu --host=i686-pc-linux-gnu ...</code>
-</dd>
-</dl>
-
-
-<h2 id="driver">2. GL Driver Options</h2>
-
-<p>
-There are several different driver modes that Mesa can use. These are
-described in more detail in the <a href="install.html">basic
-installation instructions</a>. The Mesa driver is controlled through the
-configure options <code>--enable-glx</code> and <code>--enable-osmesa</code>
-</p>
-
-<h3 id="xlib">Xlib</h3><p>
-It uses Xlib as a software renderer to do all rendering. It corresponds
-to the option <code>--enable-glx=xlib</code> or <code>--enable-glx=gallium-xlib</code>.
-
-<h3 id="dri">DRI</h3><p>This mode uses the DRI hardware drivers for
-accelerated OpenGL rendering. To enable use <code>--enable-glx=dri
---enable-dri</code>.
-
-<!-- DRI specific options -->
-<dl>
-<dt><code>--with-dri-driverdir=DIR</code>
-<dd><p> This option specifies the
-location the DRI drivers will be installed to and the location libGL
-will search for DRI drivers. The default is <code>${libdir}/dri</code>.
-<dt><code>--with-dri-drivers=DRIVER,DRIVER,...</code>
-<dd><p> This option
-allows a specific set of DRI drivers to be built. For example,
-<code>--with-dri-drivers="swrast,i965,radeon,nouveau"</code>. By
-default, the drivers will be chosen depending on the target platform.
-See the directory <code>src/mesa/drivers/dri</code> in the source tree
-for available drivers. Beware that the swrast DRI driver is used by both
-libGL and the X.Org xserver GLX module to do software rendering, so you
-may run into problems if it is not available.
-<!-- This explanation might be totally bogus. Kristian? -->
-<dt><code>--disable-driglx-direct</code>
-<dd><p> Disable direct rendering in
-GLX. Normally, direct hardware rendering through the DRI drivers and
-indirect software rendering are enabled in GLX. This option disables
-direct rendering entirely. It can be useful on architectures where
-kernel DRM modules are not available.
-<dt><code>--enable-glx-tls</code> <dd><p>
-Enable Thread Local Storage (TLS) in
-GLX.
-<dt><code>--with-expat=DIR</code>
-<dd><p><strong>DEPRECATED</strong>, use <code>PKG_CONFIG_PATH</code> instead.</p>
-<p>The DRI-enabled libGL uses expat to
-parse the DRI configuration files in <code>${sysconfdir}/drirc</code> and
-<code>~/.drirc</code>. This option allows a specific expat installation
-to be used. For example, <code>--with-expat=/usr/local</code> will
-search for expat headers and libraries in <code>/usr/local/include</code>
-and <code>/usr/local/lib</code>, respectively.
-</dl>
-
-<h3 id="osmesa">OSMesa </h3><p> No libGL is built in this
-mode. Instead, the driver code is built into the Off-Screen Mesa
-(OSMesa) library. See the <a href="osmesa.html">Off-Screen Rendering</a>
-page for more details. It corresponds to the option
-<code>--enable-osmesa</code>.
-
-<!-- OSMesa specific options -->
-<dl>
-<dt><code>--with-osmesa-bits=BITS</code>
-<dd><p> This option allows the size
-of the color channel in bits to be specified. By default, an 8-bit
-channel will be used, and the driver will be named libOSMesa. Other
-options are 16- and 32-bit color channels, which will add the bit size
-to the library name. For example, <code>--with-osmesa-bits=16</code>
-will create the libOSMesa16 library with a 16-bit color channel.
-</dl>
-
-
-<h2 id="library">3. Library Options</h2>
-
-<p>
-The configure script provides more fine grained control over the libraries
-that will be built.
-
-</div>
-</body>
-</html>
diff --git a/docs/contents.html b/docs/contents.html
index 619ac3d7bb2..605f0f581f0 100644
--- a/docs/contents.html
+++ b/docs/contents.html
@@ -43,7 +43,6 @@
<li><a href="install.html" target="_parent">Compiling / Installing</a>
<ul>
<li><a href="meson.html" target="_parent">Meson</a></li>
- <li><a href="autoconf.html" target="_parent">Autoconf (deprecated)</a></li>
</ul>
</li>
<li><a href="precompiled.html" target="_parent">Precompiled Libraries</a>
diff --git a/docs/download.html b/docs/download.html
index 86b4d5063c5..840f363cdf6 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -59,22 +59,6 @@ or
<h1>Contents</h1>
<p>
-After unpacking you'll have these files and directories (among others):
-</p>
-<pre>
-autogen.sh - Autoconf script for *nix systems
-scons/ - SCons script for Windows builds
-include/ - GL header (include) files
-bin/ - shell scripts for making shared libraries, etc
-docs/ - documentation
-src/ - source code for libraries
-src/mesa - sources for the main Mesa library and device drivers
-src/gallium - sources for Gallium and Gallium drivers
-src/glx - sources for building libGL with full GLX and DRI support
-</pre>
-
-
-<p>
Proceed to the <a href="install.html">compilation and installation
instructions</a>.
</p>
diff --git a/docs/install.html b/docs/install.html
index b6a75baeeb9..cef62c48f9b 100644
--- a/docs/install.html
+++ b/docs/install.html
@@ -40,10 +40,10 @@ Build system.
</p>
<ul>
-<li><a href="https://mesonbuild.com">meson</a> is recommended when building on *nix platforms.
-<li>Autoconf is another option when building on *nix platforms.
+<li><a href="https://mesonbuild.com">meson</a> is required when building on *nix platforms.
+<li>Autoconf was removed in 19.1.0, use meson instead
<li><a href="http://www.scons.org/">SCons</a> is required for building on
-Windows and optional for Linux (it's an alternative to autoconf/automake or meson.)
+Windows and optional for Linux (it's an alternative to meson.)
</li>
<li>Android Build system when building as native Android component. Autoconf
is used when when building ARC.
@@ -138,21 +138,7 @@ for more information
<h1 id="autoconf">3. Building with autoconf (Linux/Unix/X11)</h1>
<p>
-Although meson is recommended, another supported way to build on *nix systems
-is with autoconf.
-</p>
-
-<p>
-The general approach is the standard:
-</p>
-<pre>
- ./configure
- make
- sudo make install
-</pre>
-<p>
-But please read the <a href="autoconf.html">detailed autoconf instructions</a>
-for more details.
+ Autoconf support was removed in Mesa 19.1.0. Please use meson instead.
</p>
diff --git a/docs/osmesa.html b/docs/osmesa.html
index 848754570df..c20aaa9f808 100644
--- a/docs/osmesa.html
+++ b/docs/osmesa.html
@@ -51,8 +51,8 @@ There are several examples of OSMesa in the mesa/demos repository.
Configure and build Mesa with something like:
<pre>
-configure --enable-osmesa --disable-driglx-direct --disable-dri --with-gallium-drivers=swrast
-make
+meson builddir -Dosmesa=gallium -Dgallium-drivers=swrast -Ddri-drivers= -Dvulkan-drivers= -Dprefix=$PWD/builddir/install
+ninja -C builddir install
</pre>
<p>
@@ -63,13 +63,12 @@ Make sure you have LLVM installed first if you want to use the llvmpipe driver.
When the build is complete you should find:
</p>
<pre>
-lib/libOSMesa.so (swrast-based OSMesa)
-lib/gallium/libOSMsea.so (gallium-based OSMesa)
+$PWD/builddir/install/lib/libOSMesa.so (swrast-based OSMesa)
+$PWD/builddir/install/lib/gallium/libOSMsea.so (gallium-based OSMesa)
</pre>
<p>
-Set your LD_LIBRARY_PATH to point to one directory or the other to select
-the library you want to use.
+Set your LD_LIBRARY_PATH to point to $PWD/builddir/install to use the libraries
</p>
<p>
diff --git a/docs/releasing.html b/docs/releasing.html
index 851bbf58670..25088e5ceb6 100644
--- a/docs/releasing.html
+++ b/docs/releasing.html
@@ -468,96 +468,48 @@ So we do a quick 'touch test'
</p>
<ul>
-<li>make distcheck (you can omit this if you're not using --dist below)
+<li>meson dist
<li>scons (from release tarball)
<li>the produced binaries work
</ul>
<p>
-Here is one solution that I've been using.
+ Here is one solution:
</p>
<pre>
- # Set MAKEFLAGS if you haven't already
- git clean -fXd; git clean -nxd
- read # quick cross check any outstanding files
- export __version=`cat VERSION`
- export __mesa_root=../
- export __build_root=./foo
- chmod 755 -fR $__build_root; rm -rf $__build_root
- mkdir -p $__build_root &amp;&amp; cd $__build_root
-
- # For the native builds - such as distcheck, scons, sanity test, you
- # may want to specify which LLVM to use:
- # export LLVM_CONFIG=/usr/lib/llvm-3.9/bin/llvm-config
-
- # Do a full distcheck
- $__mesa_root/autogen.sh &amp;&amp; make distcheck
-
- # Build check the tarballs (scons, linux)
- tar -xaf mesa-$__version.tar.xz &amp;&amp; cd mesa-$__version
- scons
- cd .. &amp;&amp; rm -rf mesa-$__version
-
- # Build check the tarballs (scons, windows/mingw)
- # Temporary drop LLVM_CONFIG, unless you have a Windows/mingw one.
- # save_LLVM_CONFIG=`echo $LLVM_CONFIG`; unset LLVM_CONFIG
- tar -xaf mesa-$__version.tar.xz &amp;&amp; cd mesa-$__version
- scons platform=windows toolchain=crossmingw
- cd .. &amp;&amp; rm -rf mesa-$__version
-
- # Test the automake binaries
- # Restore LLVM_CONFIG, if applicable:
- # export LLVM_CONFIG=`echo $save_LLVM_CONFIG`; unset save_LLVM_CONFIG
- tar -xaf mesa-$__version.tar.xz &amp;&amp; cd mesa-$__version
- ./configure \
- --with-dri-drivers=i965,swrast \
- --with-gallium-drivers=swrast \
- --with-vulkan-drivers=intel \
- --enable-llvm-shared-libs \
- --enable-llvm \
- --enable-glx-tls \
- --enable-gbm \
- --enable-egl \
- --with-platforms=x11,drm,wayland,surfaceless
- make &amp;&amp; DESTDIR=`pwd`/test make install
-
- # Drop LLVM_CONFIG, if applicable:
- # unset LLVM_CONFIG
-
- __glxinfo_cmd='glxinfo 2&gt;&amp;1 | egrep -o "Mesa.*|Gallium.*|.*dri\.so"'
- __glxgears_cmd='glxgears 2&gt;&amp;1 | grep -v "configuration file"'
- __es2info_cmd='es2_info 2&gt;&amp;1 | egrep "GL_VERSION|GL_RENDERER|.*dri\.so"'
- __es2gears_cmd='es2gears_x11 2&gt;&amp;1 | grep -v "configuration file"'
- test "x$LD_LIBRARY_PATH" != 'x' &amp;&amp; __old_ld="$LD_LIBRARY_PATH"
- export LD_LIBRARY_PATH=`pwd`/test/usr/local/lib/:"${__old_ld}"
- export LIBGL_DRIVERS_PATH=`pwd`/test/usr/local/lib/dri/
- export LIBGL_DEBUG=verbose
- eval $__glxinfo_cmd
- eval $__glxgears_cmd
- eval $__es2info_cmd
- eval $__es2gears_cmd
- export LIBGL_ALWAYS_SOFTWARE=true
- eval $__glxinfo_cmd
- eval $__glxgears_cmd
- eval $__es2info_cmd
- eval $__es2gears_cmd
- export LIBGL_ALWAYS_SOFTWARE=true
- export GALLIUM_DRIVER=softpipe
- eval $__glxinfo_cmd
- eval $__glxgears_cmd
- eval $__es2info_cmd
- eval $__es2gears_cmd
- # Smoke test DOTA2
- unset LD_LIBRARY_PATH
- test "x$__old_ld" != 'x' &amp;&amp; export LD_LIBRARY_PATH="$__old_ld" &amp;&amp; unset __old_ld
- unset LIBGL_DRIVERS_PATH
- unset LIBGL_DEBUG
- unset LIBGL_ALWAYS_SOFTWARE
- unset GALLIUM_DRIVER
- export VK_ICD_FILENAMES=`pwd`/src/intel/vulkan/dev_icd.json
- steam steam://rungameid/570 -vconsole -vulkan
- unset VK_ICD_FILENAMES
+ __glxgears_cmd='glxgears 2&gt;&amp;1 | grep -v "configuration file"'
+ __es2info_cmd='es2_info 2&gt;&amp;1 | egrep "GL_VERSION|GL_RENDERER|.*dri\.so"'
+ __es2gears_cmd='es2gears_x11 2&gt;&amp;1 | grep -v "configuration file"'
+ test "x$LD_LIBRARY_PATH" != 'x' &amp;&amp; __old_ld="$LD_LIBRARY_PATH"
+ export LD_LIBRARY_PATH=`pwd`/test/usr/local/lib/:"${__old_ld}"
+ export LIBGL_DRIVERS_PATH=`pwd`/test/usr/local/lib/dri/
+ export LIBGL_DEBUG=verbose
+ eval $__glxinfo_cmd
+ eval $__glxgears_cmd
+ eval $__es2info_cmd
+ eval $__es2gears_cmd
+ export LIBGL_ALWAYS_SOFTWARE=true
+ eval $__glxinfo_cmd
+ eval $__glxgears_cmd
+ eval $__es2info_cmd
+ eval $__es2gears_cmd
+ export LIBGL_ALWAYS_SOFTWARE=true
+ export GALLIUM_DRIVER=softpipe
+ eval $__glxinfo_cmd
+ eval $__glxgears_cmd
+ eval $__es2info_cmd
+ eval $__es2gears_cmd
+ # Smoke test DOTA2
+ unset LD_LIBRARY_PATH
+ test "x$__old_ld" != 'x' &amp;&amp; export LD_LIBRARY_PATH="$__old_ld" &amp;&amp; unset __old_ld
+ unset LIBGL_DRIVERS_PATH
+ unset LIBGL_DEBUG
+ unset LIBGL_ALWAYS_SOFTWARE
+ unset GALLIUM_DRIVER
+ export VK_ICD_FILENAMES=`pwd`/src/intel/vulkan/dev_icd.json
+ steam steam://rungameid/570 -vconsole -vulkan
+ unset VK_ICD_FILENAMES
</pre>
<h3>Update version in file VERSION</h3>
diff --git a/docs/vmware-guest.html b/docs/vmware-guest.html
index 4e0932e781f..e73f2005f42 100644
--- a/docs/vmware-guest.html
+++ b/docs/vmware-guest.html
@@ -191,9 +191,9 @@ For 64-bit Fedora systems:
<li>Build libdrm:
<pre>
cd $TOP/drm
- ./autogen.sh --prefix=/usr --libdir=${LIBDIR}
- make
- sudo make install
+ meson builddir --prefix=/usr --libdir=${LIBDIR}
+ ninja -C builddir
+ sudo ninja -C builddir install
</pre>
<li>Build Mesa and the vmwgfx_dri.so driver, the vmwgfx_drv.so xorg driver, the X acceleration library libxatracker.
The vmwgfx_dri.so is used by the OpenGL libraries during direct rendering,
@@ -204,9 +204,9 @@ copy and video acceleration:
The following configure options doesn't build the EGL system.
<pre>
cd $TOP/mesa
- ./autogen.sh --prefix=/usr --libdir=${LIBDIR} --with-gallium-drivers=svga --with-dri-drivers=swrast --enable-xa --disable-dri3 --enable-glx-tls
- make
- sudo make install
+ meson builddir --prefix=/usr --libdir=${LIBDIR} -Dgallium-drivers=svga -Ddri-drivers=swrast -Dgallium-xa=true -Ddri3=false
+ ninja -C builddir
+ sudo ninja -C builddir install
</pre>
Note that you may have to install other packages that Mesa depends upon