diff options
author | Emil Velikov <emil.l.velikov@gmail.com> | 2014-08-13 21:31:33 +0100 |
---|---|---|
committer | Emil Velikov <emil.l.velikov@gmail.com> | 2014-08-14 15:45:23 +0100 |
commit | 478f82737c4f7eb4d2dbb9a0e19f95044cca1d19 (patch) | |
tree | a19a7c2274e3018fddac126000378170858df0ad /docs | |
parent | d4a1f3fd270001b2fb0684dc981340391df8fb64 (diff) |
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 <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com> (v1)
Diffstat (limited to 'docs')
-rw-r--r-- | docs/autoconf.html | 52 |
1 files 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.</p> <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 with the options -<code>"-g -O2"</code>.</p> +<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 are normally empty, but can be used -to direct the linker to use libraries in nonstandard directories. For -example, <code>LDFLAGS="-L/usr/X11R6/lib"</code>.</p> +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>When available, the -<code>pkg-config</code> utility is used to search for external libraries +<dd><p>The +<code>pkg-config</code> 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 <code>pkg-config</code>. For instance, setting <code>PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig</code> will search for @@ -135,14 +137,30 @@ one of these architectures is detected. This option ensures that assembly will not be used.</p> </dd> -<dt><code>--enable-32-bit</code></dt> -<dt><code>--enable-64-bit</code></dt> -<dd><p>By default, the build will compile code as directed by the environment -variables -<code>CC</code>, <code>CFLAGS</code>, etc. If the compiler is -<code>gcc</code>, 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.</p> +<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=i686-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>. + + +<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>The following should be sufficient to configure multilib Mesa</p> + +<code>./configure CC="gcc -m32" CXX="g++ -m32" --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu ...</code> </dd> </dl> @@ -194,7 +212,9 @@ 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> The DRI-enabled libGL uses expat to +<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>/etc/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 |