X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=docs%2Finstall.html;h=d2ad3ea0a1eecb77108adc96886a4d597f4e701d;hb=a8158599dfdbeded7fc9e9a4d1680703c20e2b05;hp=f126097bba2313be28a27804c6c74c46b2f4ebd9;hpb=b0eee798689ddc2458ccd507230608d8f7a721c1;p=mesa.git diff --git a/docs/install.html b/docs/install.html index f126097bba2..d2ad3ea0a1e 100644 --- a/docs/install.html +++ b/docs/install.html @@ -4,300 +4,188 @@ -

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 +In Mesa 6.1 we modified the conventional Makefile system. +Instead of specifying all the various system configurations in the +Make-config file, there's a directory named configs/ which +has an individual file for each configuration. +One of the configs gets copied to configs/current, which +is then included by all Makefiles.

-
-	./configure [options]
-
+ +

1.1 Compilation

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

-	./configure --prefix=/usr
+    cd Mesa
+    chmod a+x bin/mklib
 
-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: +Just type make in the top-level directory. +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. +If you want to rebuild for a different configuration run +make realclean before rebuilding.

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

1.2 The libraries

-User specific compiler options can be set using the shell variable -CFLAGS. For instance, +When compilation has finished, look in the top-level lib/ directory. +You'll see a set of library files similar to this:

-	CFLAGS="-g -O2" ./configure
+lrwxrwxrwx    1 brian    users          10 Mar 26 07:53 libGL.so -> libGL.so.1*
+lrwxrwxrwx    1 brian    users          19 Mar 26 07:53 libGL.so.1 -> libGL.so.1.5.060100*
+-rwxr-xr-x    1 brian    users     3375861 Mar 26 07:53 libGL.so.1.5.060100*
+lrwxrwxrwx    1 brian    users          11 Mar 26 07:53 libGLU.so -> libGLU.so.1*
+lrwxrwxrwx    1 brian    users          20 Mar 26 07:53 libGLU.so.1 -> libGLU.so.1.3.060100*
+-rwxr-xr-x    1 brian    users      549269 Mar 26 07:53 libGLU.so.1.3.060100*
+lrwxrwxrwx    1 brian    users          12 Mar 26 07:53 libglut.so -> libglut.so.3*
+lrwxrwxrwx    1 brian    users          16 Mar 26 07:53 libglut.so.3 -> libglut.so.3.7.1*
+-rwxr-xr-x    1 brian    users      597754 Mar 26 07:53 libglut.so.3.7.1*
+lrwxrwxrwx    1 brian    users          11 Mar 26 08:04 libGLw.so -> libGLw.so.1*
+lrwxrwxrwx    1 brian    users          15 Mar 26 08:04 libGLw.so.1 -> libGLw.so.1.0.0*
+-rwxr-xr-x    1 brian    users       20750 Mar 26 08:04 libGLw.so.1.0.0*
+lrwxrwxrwx    1 brian    users          14 Mar 26 07:53 libOSMesa.so -> libOSMesa.so.6*
+lrwxrwxrwx    1 brian    users          23 Mar 26 07:53 libOSMesa.so.6 -> libOSMesa.so.6.1.060100*
+-rwxr-xr-x    1 brian    users       23871 Mar 26 07:53 libOSMesa.so.6.1.060100*
 
+

-(on some systems: env CFLAGS="-g -O2" ./configure) -sets the compiler flags to "-g -O2". +libGL is the main OpenGL library (i.e. Mesa). +
+libGLU is the OpenGL Utility library. +
+libglut is the GLUT library. +
+libGLw is the Xt/Motif OpenGL drawing area widget library. +
+libOSMesa is the OSMesa (Off-Screen) interface library.

+ + +

1.3 Running the demos

+

-For more options run "./configure --help" and read INSTALL.GNU. +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.

-2. To build the Mesa libraries run: -

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

-When finished, libGL.so will be in src/.libs/ and libGLU.so will be in -si-glu/.libs/, etc. -

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

-Optionally, you can strip the libraries using +Next, change to the Mesa/demos/ directory:

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

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

-
-	make install
-
+
+./gears +
+

-Mesa is now installed. -Please don't move the installed files but rerun all installation -steps if you want to use other directories. +If this doesn't work, try the Mesa/progs/xdemos/glxinfo program +and see that it prints the expected Mesa version number.

-3.To test whether Mesa works properly you might want to run the -Mesa demos: +If you're using Linux or a similar OS, verify that the demo program is +being linked with the proper library files:

-
-	make check
-
+
+ldd gears +
+

-Builds all demos. +You should see something like this:

-	make exec
+        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)
 
-

-Builds and executes all demos. -

- - -
-

OLD-STYLE compilation and installation

-This procedure usually works when ./configure ; make fails. +Retrace your steps if this doesn't look right.

-

-Note: If you tried ./configure ; make but it failed, -first copy the top-level Makefile.X11 file over -Makefile. -

- -

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

-

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 @@ -315,30 +203,63 @@ already installed, you'll have to choose different directories, like

-To install the Mesa headers, do this: -

-	cp -r include/GL /usr/include
-
+To install Mesa's headers and libraries, run make install +You'll be prompted to enter alternative directories for the headers +and libraries. +

-To install the Mesa libraries, do this: +Note: at runtime, you can set the 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.

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

LD_LIBRARY_PATH

+ +
+

2. Windows 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.WIN32 file.

+ + + + +

3. VMS Compilation and Installation

+ +

+Please see the README.VMS file. +

+ + + + + +

4. Other systems

+ +

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

+ +
+ + + +