From 478f82737c4f7eb4d2dbb9a0e19f95044cca1d19 Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Wed, 13 Aug 2014 21:31:33 +0100 Subject: [PATCH] docs/autoconf: update to better reflect reality * --enable-{32,64}-bit is done. Use --build and --host instead. * Configure does not add "-g -O2" to C{,XX}FLAGS. * Pkg-config has been mandatory for a while now. * Avoid using LDFLAGS, refer to pkg-config. * --with-expat is deprecated. Use pkg-config. v2: * Note that CC/CXX will need to be set for multilib builds. Signed-off-by: Emil Velikov Reviewed-by: Matt Turner (v1) --- docs/autoconf.html | 52 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/docs/autoconf.html b/docs/autoconf.html index d4e8a35d817..fcf4efa100c 100644 --- a/docs/autoconf.html +++ b/docs/autoconf.html @@ -97,20 +97,22 @@ 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 with the options -"-g -O2".

+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 are normally empty, but can be used -to direct the linker to use libraries in nonstandard directories. For -example, LDFLAGS="-L/usr/X11R6/lib".

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

When available, the -pkg-config utility is used to search for external libraries +

The +pkg-config utility is a hard requirement for cofiguring 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 @@ -135,14 +137,30 @@ one of these architectures is detected. This option ensures that assembly will not be used.

-
--enable-32-bit
-
--enable-64-bit
-

By default, the build will compile code as directed by the environment -variables -CC, CFLAGS, etc. If the compiler is -gcc, these options offer a helper to add the compiler flags -to force 32- or 64-bit code generation as used on the x86 and x86_64 -architectures. Note that these options are mutually exclusive.

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

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

+ +

The following should be sufficient to configure multilib Mesa

+ +./configure CC="gcc -m32" CXX="g++ -m32" --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu ...
@@ -194,7 +212,9 @@ kernel DRM modules are not available.
--enable-glx-tls

Enable Thread Local Storage (TLS) in GLX. -

--with-expat=DIR
The DRI-enabled libGL uses expat to +
--with-expat=DIR +

DEPRECATED, use PKG_CONFIG_PATH instead.

+

The DRI-enabled libGL uses expat to parse the DRI configuration files in /etc/drirc and ~/.drirc. This option allows a specific expat installation to be used. For example, --with-expat=/usr/local will -- 2.30.2