From 5f37abfc436f6ee6aaf2a34d8798faea799c70c4 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Fri, 5 Sep 2003 14:47:07 +0000 Subject: [PATCH] updated info for Mesa 5.1 --- docs/install.html | 428 ++++++++++++++++++---------------------------- 1 file changed, 165 insertions(+), 263 deletions(-) diff --git a/docs/install.html b/docs/install.html index 3570eaf735b..5e8b047f311 100644 --- a/docs/install.html +++ b/docs/install.html @@ -4,309 +4,168 @@ -

Compilation and Installation for Unix/X11

-

-If you're not using a variant of Unix with X11, see the -Supported Systems and Drivers section -for instructions. -

+

Compilation and Installation

-

-There are two methods for building Mesa on Unix/X11 systems: -

+
    +
  1. Unix / X11 +
  2. Windows +
  3. VMS +
  4. Other +
-
-
NEW-STYLE
-
-Basically, type "./configure" followed by "make" -This should work on most Unix-like operating systems. -Unfortunately, autoconf/automake seems to seldom work reliably on non-Linux -systems. For that reason, the old-style make system is still supported -(and is the preferred method of the Mesa developers). -
-
-
OLD-STYLE
-
-Simply type make and you'll see a list of supported -system configurations. Pick one and type make config. -More details below. -
-
-
-

-NOTE: The GLUT library and demonstrations programs are in the -MesaDemos-x.y.z.tar.gz file. If you don't have GLUT or you want to -run some demos, download the MesaDemos package too. -

+ + +

1. Unix/X11 Compilation and Installation

-In either case, building Mesa entails the following: -

+Mesa uses a rather conventional Makefile system. +A GNU autoconf/automake system used to be included, but was discarded +in Mesa 5.1 because: +

- - -
-

NEW-STYLE compilation and installation

-

- 0. If you've downloaded Mesa via CVS there will not be a "configure" - script. You'll have to run the "bootstrap" script first. This script - may not work on any OS other than Linux. You'll need these programs - to run the bootstrap script: +If someone strongly feels that Mesa should have a autoconf/automake +system and wants to contribute one and maintain it, we'll consider +adding it again.

-
-	autoconf 2.50
-	automake 1.4-p2
-	libtool 1.4
-
-

-1. Run the configure script -

- -
-	./configure [options]
-
+

1.1 Compilation

-For Linux, it is recommended that you use: +If you've obtained Mesa through CVS, do this to first:

-	./configure --prefix=/usr
+    cd Mesa-newtree
+    cp Makefile.X11 Makefile
 
-So that the headers and libs are located according to the Linux/OpenGL -standard spec at http://oss.sgi.com/projects/ogl-sample/ABI/ -

-For Red Hat 8.0, Mandrake 9.1 and other Linux distros, you may have to use -the following: +Now, just type make. +You'll see a list of supported system configurations. +Choose one from the list (such as linux-x86), and type:

-	export LDFLAGS="-lstdc++" ; ./configure --prefix=/usr
-    or
-        setenv LDFLAGS -lstdc++ ; ./configure --prefix=/usr
+    make linux-x86
 

-This works around a problem when building the GLU library. It needs to -be linked with the C++ runtime library, but libtool (for some reason) -doesn't do this. +That's it.

-
-Possible options are:
-
---prefix=DIR
-	The toplevel directory of the hierachy in which Mesa
-	will be installed (DIR/include,DIR/lib etc.).
-	The default is "/usr/local".
-
---sysconfdir=DIR
-	The directory where Mesa configuration files
-	will be stored.	The default is "$prefix/etc".
-	You may want to overwrite the default with --sysconfdir=/etc.
-
---enable-static
-	Enable building of static libraries.
-	Static libraries are NOT built by default.
-	
---disable-shared
-	Disable building of shared libraries.
-	Shared libraries are built by default.
-
---with-pic
---without-pic
-	In normal operation, libtool will build shared libraries from
-	PIC objects and static archives from non-PIC objects, except where one
-	or the other is not provided by the target host.  By specifying
-	--with-pic you are asking libtool to build static archives from
-	PIC objects, and similarly by specifying --without-pic you are asking
-	libtool to build shared	libraries from non-PIC objects.
-	libtool will only honour this flag where it will produce a
-	working library, otherwise it reverts to the default.
-	
---enable-debug
-	Enable debugging messages (disabled by default).
-	
---enable-profile
-	Enable profiling (disabled by default).
-	
---disable-optimize
-	Disable extra optimizations (enabled by default,
-	i.e., optimize for maximum performance).
-	
---enable-warn
-	Enable extended compiler warnings (disabled by default).
-	
---enable-x86[=ARG]
---disable-x86
-	Enable/disable x86 assembler support to speed up Mesa
-	(autodetected by default). You may set `on' or `off'.
-	
---enable-3dnow[=ARG]
---disable-3dnow
-	Enable/disable 3Dnow support to speed up Mesa
-	(autodetected by default). You may set `on' or `off'.
-	
---enable-mmx[=ARG]
---disable-mmx
-	Enable/disable MMX support to speed up Mesa
-	(autodetected by default). You may set `on' or `off'.
-	
---enable-sse[=ARG]
---disable-sse
-	Enable/disable SSE support to speed up Mesa
-	(autodetected by default). You may set `on' or `off'.
-	If you have a PentiumIII and want to use SSE make sure you have the
-	PIII Linux kernel-patch installed or things will fail!
-	You can get the patch from http://www.redhat.com/~dledford/linux_kernel.html
-	
---with-glide[=DIR]
---without-glide
-	Enable/disable support for Glide (disabled by default).
-	DIR is the installation directory of Glide.
-	If Glide cannot be found, the driver won't be built.
-	
---with-glut[=DIR]
---without-glut
-	Don't/use already-installed GLUT (autodetected by default).
-	DIR is the installation directory of Glut.
-	If GLUT cannot be found, the version shipped with Mesa will be built.
-	
---with-ggi[=DIR]
---without-ggi
-	Enable/disable support for GGI (autodetected by default).
-	DIR is the installation directory of GGI.
-	If GGI cannot be found, the driver won't be built.
-
---disable-ggi-fbdev
-	Don't build the GGI fbdev target (autodetected by default).
-	
---disable-ggi-genkgi
-	Don't build the GGI generic KGI driver (autodetected by default).
-	
---disable-ggi-savage4
-	Don't build the GGI Savage4 KGI driver (autodetected by default).
-	
---disable-osmesa
-	Disable OSmesa (offscreen rendering) support (enabled by default).
-
---with-svga[=DIR]
---without-svga
-	Enable/disable support for SVGALib (autodetected by default).
-	DIR is the installation directory of SVGALib.
-	If SVGALib cannot be found, the driver won't be built.
-
---x-includes=DIR
-	Search for the X include files in DIR.
-	
---x-libraries=DIR
-	Search for the X library files in DIR.
-
-

-User specific compiler options can be set using the shell variable -CFLAGS. For instance, -

-
-	CFLAGS="-g -O2" ./configure
-
-

-(on some systems: env CFLAGS="-g -O2" ./configure) -sets the compiler flags to "-g -O2". -

-

-For more options run "./configure --help" and read INSTALL.GNU. -

+

1.2 The libraries

-2. To build the Mesa libraries run: +When compilation has finished, look in the top-level lib/ directory. +You'll see a set of library files similar to this:

-	make
+lrwxrwxrwx    1 brian    users          10 Sep  4 17:55 libGL.so -> libGL.so.1*
+lrwxrwxrwx    1 brian    users          19 Sep  4 17:55 libGL.so.1 -> libGL.so.1.4.050100*
+-rwxr-xr-x    1 brian    users    13940317 Sep  4 17:55 libGL.so.1.4.050100*
+lrwxrwxrwx    1 brian    users          11 Sep  4 17:54 libGLU.so -> libGLU.so.1*
+lrwxrwxrwx    1 brian    users          20 Sep  4 17:54 libGLU.so.1 -> libGLU.so.1.3.050100*
+-rwxr-xr-x    1 brian    users      324746 Sep  3 13:54 libGLU.so.1.1*
+-rwxr-xr-x    1 brian    users     2830539 Sep  4 17:54 libGLU.so.1.3.050100*
+lrwxrwxrwx    1 brian    users          12 Sep  4 17:53 libglut.so -> libglut.so.3*
+lrwxrwxrwx    1 brian    users          16 Sep  4 17:53 libglut.so.3 -> libglut.so.3.7.1*
+-rwxr-xr-x    1 brian    users     2426683 Sep  4 17:53 libglut.so.3.7.1*
 
-

(on some systems you may need to run gmake or -gnumake instead) -

+

-When finished, libGL.so will be in src/.libs/ and libGLU.so will be in -si-glu/.libs/, etc. +libGL is the main OpenGL library (i.e. Mesa). +
+libGLU is the OpenGL Utility library. +
+libglut is the GLUT library.

+ + +

1.3 Running the demos

+

-Optionally, you can strip the libraries using +If you downloaded/unpacked the MesaDemos-x.y.z.tar.gz archive or +obtained Mesa from CVS, the progs/ directory will contain a +bunch of demonstration programs.

-
-	make strip
-
+

-Now make sure that you have the permissions to install Mesa in the -specified directories, for example, by becoming super user ("su") -Then run: -

-
-	make install
-
+Before running a demo, you may have to set an environment variable +(such as LD_LIBRARY_PATH on Linux) to indicate where the +libraries are located. For example:

-Mesa is now installed. -Please don't move the installed files but rerun all installation -steps if you want to use other directories. -

+
+cd into the Mesa lib/ directory. +
+setenv LD_LIBRARY_PATH ${cwd} (if using csh or tcsh shell) +
+or, +
+export LD_LIBRARY_PATH=${PWD} (if using bash or sh shell) +

-3.To test whether Mesa works properly you might want to run the -Mesa demos: -

-
-	make check
-
-

-Builds all demos. +Next, change to the Mesa/demos/ directory:

-
-	make exec
-
+
+cd ../progs/demos +
+

-Builds and executes all demos. +Run a demo such as gears:

- - -
-

OLD-STYLE compilation and installation

+
+./gears +

-This procedure usually works when ./configure ; make fails. +If this doesn't work, try the Mesa/progs/xdemos/glxinfo program +and see that it prints the expected Mesa version number.

-Note: If you tried ./configure ; make but it failed, -first copy the top-level Makefile.X11 file over -Makefile. +If you're using Linux or a similar OS, verify that the demo program is +being linked with the proper library files:

+
+ldd gears +

-Also Note: if you've obtained Mesa directly from CVS you'll have -to copy the top-level Makefile.X11 to Makefile. +You should see something like this:

+
+        libglut.so.3 => /home/brian/Mesa/lib/libglut.so.3 (0x40013000)
+        libGLU.so.1 => /home/brian/Mesa/lib/libGLU.so.1 (0x40051000)
+        libGL.so.1 => /home/brian/Mesa/lib/libGL.so.1 (0x400e0000)
+        libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
+        libm.so.6 => /lib/i686/libm.so.6 (0x403da000)
+        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x403fc000)
+        libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x404da000)
+        libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x404f1000)
+        libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x40543000)
+        libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x4054b000)
+        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x405fd000)
+        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40605000)
+        libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40613000)
+        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
+        libdl.so.2 => /lib/libdl.so.2 (0x40644000)
+        libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40647000)
+        libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40650000)
+

-Just type make alone. -You'll see a list of supported system configurations. -Choose one and type make config -(for example make linux-x86). -The Mesa libraries and demo programs will be compiled. +Retrace your steps if this doesn't look right.

-

Header and library files

+ +

1.4 Installing the header and library files

The standard location for the OpenGL header files on Unix-type systems is @@ -325,29 +184,72 @@ already installed, you'll have to choose different directories, like

To install the Mesa headers, do this: -

-	cp -r include/GL /usr/include
-
+
+cp -r include/GL /usr/include +

To install the Mesa libraries, do this:

-
-	cp -pd lib/* /usr/lib
+
+cp -pd lib/* /usr/lib +
+(The -pd options preserve symbolic links) +
+ +

+If you install the libraries in a non-standard location you can use +LD_LIBRARY_PATH (on Linux) to switch between the Mesa libs and another +vendor libs whenever you want. +This is a handy way to compare multiple OpenGL implementations. +

+ + + +
+

2. Windows Compilation and Installation

+ +

+Please see the README.WIN32 file. +

+ + - (The -pd options preserve symbolic links) -
-

LD_LIBRARY_PATH

+ +

3. VMS Compilation and Installation

-On Linux and similar operating systems the LD_LIBRARY_PATH -environment variable can be used to indicate a list of directories to -search for shared libraries. -If you don't install Mesa in /usr/lib/ you may have to -set the LD_LIBRARY_PATH variable in order to use the Mesa -libraries. +Please see the README.VMS file.

+ + + + +

4. Other systems

+ +

+Documentation for other environments (some may be very out of date): +

+ +
+ + + + -- 2.30.2