From b165ac972b1b406ab5dc7cd4b34d35703c27330a Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Mon, 8 Apr 2019 12:56:51 -0700 Subject: docs: drop most autoconf references MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Eric Anholt Reviewed-by: Eric Engestrom Acked-by: Marek Olšák Acked-by: Jason Ekstrand Acked-by: Bas Nieuwenhuizen Acked-by: Matt Turner --- REVIEWERS | 8 -- docs/autoconf.html | 270 ------------------------------------------------- docs/contents.html | 1 - docs/download.html | 16 --- docs/install.html | 22 +--- docs/osmesa.html | 11 +- docs/releasing.html | 116 +++++++-------------- docs/vmware-guest.html | 12 +-- 8 files changed, 49 insertions(+), 407 deletions(-) delete mode 100644 docs/autoconf.html diff --git a/REVIEWERS b/REVIEWERS index aeb0457c2e8..921e0ba3875 100644 --- a/REVIEWERS +++ b/REVIEWERS @@ -94,14 +94,6 @@ GALLIUM TARGETS R: Emil Velikov F: src/gallium/targets/ -AUTOCONF BUILD -R: Emil Velikov -F: autogen.sh -F: configure.ac -F: */Automake.inc -F: */Makefile.*am -F: */Makefile.sources - SCONS BUILD F: scons/ F: */SConscript* 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 @@ - - - - - Compilation and Installation using Autoconf - - - - -
-

The Mesa 3D Graphics Library

-
- - -
- -

Compilation and Installation using Autoconf

- -
    -
  1. Basic Usage

  2. -
  3. Driver Options -

    -
- -

ATTENTION:

-

- The autotools build is being replaced by the meson - build system. If you haven't yet now is a good time to try using meson and - report any issues you run into. -

- -

1. Basic Usage

- -

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

- -
-    ./configure
-
- -

-To see a short description of all the options, type ./configure ---help. If you are using a development snapshot and the configure -script does not exist, type ./autogen.sh to generate it -first. If you know the options you want to pass to -configure, you can pass them to autogen.sh. It -will run configure with these options after it is -generated. Once you have run configure and set the options -to your preference, type: -

- -
-    make
-
- -

-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 make realclean before rebuilding. -

- -

-Some of the generic autoconf options are used with Mesa: -

-
-
--prefix=PREFIX
-

This is the root directory where -files will be installed by make install. The default is -/usr/local.

-
- -
--exec-prefix=EPREFIX
-

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 -${prefix}.

-
- -
--libdir=LIBDIR
-

This option specifies the directory -where the GL libraries will be installed. The default is -${exec_prefix}/lib. It also serves as the name of the -library staging area in the source tree. For instance, if the option ---libdir=/usr/local/lib64 is used, the libraries will be -created in a lib64 directory at the top of the Mesa source -tree.

-
- -
--sysconfdir=DIR
-

This option specifies the directory where the configuration -files will be installed. The default is ${prefix}/etc. -Currently there's only one config file provided when dri drivers are -enabled - it's drirc.

-
- -
--datadir=DIR
-

This option specifies the directory where the data files will -be installed. The default is ${prefix}/share. -Currently when dri drivers are enabled, drirc.d/ is at -this place.

-
- -
--enable-static, --disable-shared
-

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.

-
- -
CC, CFLAGS, CXX, CXXFLAGS
-

These environment variables -control the C and C++ compilers used during the build. By default, -gcc and g++ are used and the debug/optimisation -level is left unchanged.

-
- -
LDFLAGS
-

An environment variable specifying flags to -pass when linking programs. These should be empty and -PKG_CONFIG_PATH is recommended to be used instead. If needed -it can be used to direct the linker to use libraries in nonstandard -directories. For example, LDFLAGS="-L/usr/X11R6/lib".

-
- -
PKG_CONFIG_PATH
-

The -pkg-config 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 pkg-config. For instance, setting -PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig will search for -package metadata in /usr/X11R6 before the standard -directories.

-
-
- -

-There are also a few general options for altering the Mesa build: -

-
-
--enable-debug
-

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.

- -

Note that enabling this option can lead to noticeable loss of performance.

- -
--disable-asm
-

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.

-
- -
--build=
-
--host=
-

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:

- -

--build=x86_64-pc-linux-gnu --host=i686-pc-linux-gnu

- -Note that these can vary from distribution to distribution. For more -information check with the - -autoconf manual. -Note that you will need to correctly set PKG_CONFIG_PATH as well. - - -

In some cases a single compiler is capable of handling both architectures -(multilib) in that case one would need to set the CC,CXX variables -appending the correct machine options. Seek your compiler documentation for -further information - - gcc -machine dependent options

- -

In addition to specifying correct PKG_CONFIG_PATH for the target -architecture, the following should be sufficient to configure multilib Mesa

- -./configure CC="gcc -m32" CXX="g++ -m32" --build=x86_64-pc-linux-gnu --host=i686-pc-linux-gnu ... -
-
- - -

2. GL Driver Options

- -

-There are several different driver modes that Mesa can use. These are -described in more detail in the basic -installation instructions. The Mesa driver is controlled through the -configure options --enable-glx and --enable-osmesa -

- -

Xlib

-It uses Xlib as a software renderer to do all rendering. It corresponds -to the option --enable-glx=xlib or --enable-glx=gallium-xlib. - -

DRI

This mode uses the DRI hardware drivers for -accelerated OpenGL rendering. To enable use --enable-glx=dri ---enable-dri. - - -

-
--with-dri-driverdir=DIR -

This option specifies the -location the DRI drivers will be installed to and the location libGL -will search for DRI drivers. The default is ${libdir}/dri. -

--with-dri-drivers=DRIVER,DRIVER,... -

This option -allows a specific set of DRI drivers to be built. For example, ---with-dri-drivers="swrast,i965,radeon,nouveau". By -default, the drivers will be chosen depending on the target platform. -See the directory src/mesa/drivers/dri 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. - -

--disable-driglx-direct -

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

--enable-glx-tls

-Enable Thread Local Storage (TLS) in -GLX. -

--with-expat=DIR -

DEPRECATED, use PKG_CONFIG_PATH instead.

-

The DRI-enabled libGL uses expat to -parse the DRI configuration files in ${sysconfdir}/drirc and -~/.drirc. This option allows a specific expat installation -to be used. For example, --with-expat=/usr/local will -search for expat headers and libraries in /usr/local/include -and /usr/local/lib, respectively. -

- -

OSMesa

No libGL is built in this -mode. Instead, the driver code is built into the Off-Screen Mesa -(OSMesa) library. See the Off-Screen Rendering -page for more details. It corresponds to the option ---enable-osmesa. - - -

-
--with-osmesa-bits=BITS -

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, --with-osmesa-bits=16 -will create the libOSMesa16 library with a 16-bit color channel. -

- - -

3. Library Options

- -

-The configure script provides more fine grained control over the libraries -that will be built. - -

- - 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 @@
  • Compiling / Installing
  • Precompiled Libraries diff --git a/docs/download.html b/docs/download.html index 86b4d5063c5..840f363cdf6 100644 --- a/docs/download.html +++ b/docs/download.html @@ -58,22 +58,6 @@ or

    Contents

    -

    -After unpacking you'll have these files and directories (among others): -

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

    Proceed to the compilation and installation instructions. 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.

      -
    • meson is recommended when building on *nix platforms. -
    • Autoconf is another option when building on *nix platforms. +
    • meson is required when building on *nix platforms. +
    • Autoconf was removed in 19.1.0, use meson instead
    • SCons 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.)
    • Android Build system when building as native Android component. Autoconf is used when when building ARC. @@ -138,21 +138,7 @@ for more information

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

      -Although meson is recommended, another supported way to build on *nix systems -is with autoconf. -

      - -

      -The general approach is the standard: -

      -
      -  ./configure
      -  make
      -  sudo make install
      -
      -

      -But please read the detailed autoconf instructions -for more details. + Autoconf support was removed in Mesa 19.1.0. Please use meson instead.

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

      @@ -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:

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

      -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

      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'

        -
      • make distcheck (you can omit this if you're not using --dist below) +
      • meson dist
      • scons (from release tarball)
      • the produced binaries work

      -Here is one solution that I've been using. + Here is one solution:

      -	# 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 && 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 && make distcheck
      -
      -	# Build check the tarballs (scons, linux)
      -	tar -xaf mesa-$__version.tar.xz && cd mesa-$__version
      -	scons
      -	cd .. && 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 && cd mesa-$__version
      -	scons platform=windows toolchain=crossmingw
      -	cd .. && 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 && 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 && DESTDIR=`pwd`/test make install
      -
      -	# Drop LLVM_CONFIG, if applicable:
      -	# unset LLVM_CONFIG
      -
      -	__glxinfo_cmd='glxinfo 2>&1 | egrep -o "Mesa.*|Gallium.*|.*dri\.so"'
      -	__glxgears_cmd='glxgears 2>&1 | grep -v "configuration file"'
      -	__es2info_cmd='es2_info 2>&1 | egrep "GL_VERSION|GL_RENDERER|.*dri\.so"'
      -	__es2gears_cmd='es2gears_x11 2>&1 | grep -v "configuration file"'
      -	test "x$LD_LIBRARY_PATH" != 'x' && __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' && export LD_LIBRARY_PATH="$__old_ld" && 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>&1 | grep -v "configuration file"'
      +    __es2info_cmd='es2_info 2>&1 | egrep "GL_VERSION|GL_RENDERER|.*dri\.so"'
      +    __es2gears_cmd='es2gears_x11 2>&1 | grep -v "configuration file"'
      +    test "x$LD_LIBRARY_PATH" != 'x' && __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' && export LD_LIBRARY_PATH="$__old_ld" && 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
       

      Update version in file VERSION

      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:
    • Build libdrm:
         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
         
    • 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.
         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
         
      Note that you may have to install other packages that Mesa depends upon -- cgit v1.2.3