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