Difference between revisions of "Xorg7/MesaLib"

From CBLFS
Jump to navigationJump to search
(Non-Multilib: changed "/usr" to "${XORG_PREFIX}")
(64Bit: Mesa Demos)
 
(37 intermediate revisions by 12 users not shown)
Line 3: Line 3:
 
!Download Source:
 
!Download Source:
 
|-valign="top"
 
|-valign="top"
| http://prdownloads.sourceforge.net/mesa3d/MesaLib-{{Mesa-Version}}.tar.bz2
+
| ftp://ftp.freedesktop.org/pub/mesa/7.9/MesaLib-{{Mesa-Version}}.tar.gz
 
|-valign="top"
 
|-valign="top"
| http://prdownloads.sourceforge.net/mesa3d/MesaDemos-{{Mesa-Version}}.tar.bz2
+
| ftp://ftp.freedesktop.org/pub/mesa/7.9/MesaGLUT-{{Mesa-Version}}.tar.bz2
|-valign="top"
 
| http://prdownloads.sourceforge.net/mesa3d/MesaGLUT-{{Mesa-Version}}.tar.bz2
 
|-valign="top"
 
!Download Patch:
 
|-valign="top"
 
| http://svn.cross-lfs.org/svn/repos/patches/Mesa/mesa-{{Mesa-Version}}-drop_static_inline.patch
 
 
|}
 
|}
  
Line 21: Line 15:
  
 
* MesaLib - the main Mesa library source code, drivers and documentation.
 
* MesaLib - the main Mesa library source code, drivers and documentation.
* MesaDemos - OpenGL demonstration and test programs. Most of the programs require GLUT.
 
 
* MesaGLUT - provides a working libglut.
 
* MesaGLUT - provides a working libglut.
  
If you're not interested in running the demos, you'll only need the first package.  However, there are a few other packages that can use a GLUT library (such as [[LibTIFF]]), so you may wish to install MesaGLUT as well. If you choose to install the demos, extract all three tarballs from the same toplevel directory. All three will extract to the Mesa-{{Mesa-Version}} directory.
+
You'll often only need the first package.  However, there are a few packages that can use a GLUT library (such as [[LibTIFF]]), so you may wish to install MesaGLUT as well. If you choose to install MesaGLUT, extract all two tarballs from the same toplevel directory. All two will extract to the Mesa-{{Mesa-Version}} directory.
  
 
<b>Homepage:</b> http://www.mesa3d.org/
 
<b>Homepage:</b> http://www.mesa3d.org/
Line 32: Line 25:
 
=== Required ===
 
=== Required ===
 
* Xorg [[Xorg7/Protocol_Headers|Protocol Headers]] glproto >=1.4.5
 
* Xorg [[Xorg7/Protocol_Headers|Protocol Headers]] glproto >=1.4.5
* Xorg [[Xorg7/Libraries|Libraries]]
+
* Xorg [[Xorg7/Libraries|Libraries]] (including the Xdamage protocol)
 
* Xorg [[Xorg7/Utilities|Utilities]]
 
* Xorg [[Xorg7/Utilities|Utilities]]
 
* [[Xorg7/libdrm|libdrm]]
 
* [[Xorg7/libdrm|libdrm]]
 +
* [[talloc]]
  
== Optional ===
+
=== Optional ===
 +
* [[SELinux]]
 
* [[XCB]]
 
* [[XCB]]
  
{{Note|Don't remove the source after building Mesa.  It is needed by the [[Xorg7/Xserver]] build. You need to pass the path to the MesaLib source when building xorg-server, so take note of it.}}
+
== Configuration Information ==
 +
 
 +
{|
 +
|-
 +
|''--enable-xcb:'' enables the use of the optional dependency XCB.
 +
|}
  
 
== Non-Multilib ==
 
== Non-Multilib ==
  
Apply a patch that solves some linker errors with the savage dri driver.
+
Configure the package:
 
 
patch -Np1 -i ../mesa-{{Mesa-Version}}-drop_static_inline.patch
 
 
 
Create a config:
 
 
 
ln -sf linux-dri configs/current &&
 
echo 'X11_INCLUDES = $(shell pkg-config --cflags-only-I x11)' >> configs/current &&
 
echo 'CFLAGS += $(X11_INCLUDES)' >> configs/current &&
 
echo 'EXTRA_LIB_PATH = $(shell pkg-config --libs-only-L x11)' >> configs/current &&
 
echo "DRI_DRIVER_INSTALL_DIR = ${XORG_PREFIX}/lib/xorg/modules/dri" >> configs/current &&
 
echo "INSTALL_DIR = ${XORG_PREFIX}" >> configs/current &&
 
echo "LIB_DIR = lib" >> configs/current
 
 
 
If you have [[XCB]] installed you also need to add the following to the config:
 
  
  echo 'DEFINES += -DUSE_XCB' >> configs/current &&
+
  ./configure $XORG_CONFIG
echo 'X11_INCLUDES += $(shell pkg-config --cflags-only-I xcb x11-xcb xcb-glx)' >> configs/current &&
 
echo 'GL_LIB_DEPS += $(shell pkg-config --libs xcb x11-xcb xcb-glx)' >> configs/current
 
  
 
Compile the package:
 
Compile the package:
  
  make default
+
  make  
  
 
Install the package:
 
Install the package:
Line 71: Line 55:
 
  make install
 
  make install
  
If you would like to build and install glxinfo and glxgears execute the following command:
+
== Multilib == ""NEEDS UPDATING""
 
 
make -C progs/xdemos glxinfo glxgears &&
 
install -m755 -v progs/xdemos/{glxinfo,glxgears} /usr/bin
 
 
 
== Multilib ==
 
  
 
=== 32Bit ===
 
=== 32Bit ===
Line 84: Line 63:
 
  mv Mesa-{{Mesa-Version}}{,-32} &&
 
  mv Mesa-{{Mesa-Version}}{,-32} &&
 
  cd Mesa-{{Mesa-Version}}-32
 
  cd Mesa-{{Mesa-Version}}-32
 
Apply a patch that solves some linker errors with the savage dri driver.
 
 
patch -Np1 -i ../mesa-{{Mesa-Version}}-drop_static_inline.patch
 
 
Create a config:
 
 
ln -sf linux-dri configs/current &&
 
echo 'X11_INCLUDES = $(shell pkg-config --cflags-only-I x11)' >> configs/current &&
 
echo 'CFLAGS += $(X11_INCLUDES)' >> configs/current &&
 
echo 'EXTRA_LIB_PATH = $(shell pkg-config --libs-only-L x11)' >> configs/current &&
 
echo "DRI_DRIVER_INSTALL_DIR = ${XORG_PREFIX}/lib/xorg/modules/dri" >> configs/current &&
 
echo "INSTALL_DIR = ${XORG_PREFIX}" >> configs/current &&
 
echo "LIB_DIR = lib" >> configs/current
 
 
If you have [[XCB]] installed you also need to add the following to the config:
 
 
echo 'DEFINES += -DUSE_XCB' >> configs/current &&
 
echo 'X11_INCLUDES += $(shell pkg-config --cflags-only-I xcb x11-xcb xcb-glx)' >> configs/current &&
 
echo 'GL_LIB_DEPS += $(shell pkg-config --libs xcb x11-xcb xcb-glx)' >> configs/current
 
  
 
Compile the package:
 
Compile the package:
  
 
  PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
 
  PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
  make CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" default
+
    ./configure $XORG_CONFIG32 --enable-32-bit && \
 
+
  PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
 +
    make CC="gcc ${BUILD32} -I$XORG_PREFIX/include" \
 +
    CXX="g++ ${BUILD32} -I$XORG_PREFIX/include"
 +
 
Install the package:
 
Install the package:
  
Line 120: Line 82:
 
  mv Mesa-{{Mesa-Version}}{,-n32} &&
 
  mv Mesa-{{Mesa-Version}}{,-n32} &&
 
  cd Mesa-{{Mesa-Version}}-n32
 
  cd Mesa-{{Mesa-Version}}-n32
 
Apply a patch that solves some linker errors with the savage dri driver.
 
 
patch -Np1 -i ../mesa-{{Mesa-Version}}-drop_static_inline.patch
 
 
Create a config:
 
 
ln -sf linux-dri configs/current &&
 
echo 'X11_INCLUDES = $(shell pkg-config --cflags-only-I x11)' >> configs/current &&
 
echo 'CFLAGS += $(X11_INCLUDES)' >> configs/current &&
 
echo 'EXTRA_LIB_PATH = $(shell pkg-config --libs-only-L x11)' >> configs/current &&
 
echo "DRI_DRIVER_INSTALL_DIR = ${XORG_PREFIX}/lib32/xorg/modules/dri" >> configs/current &&
 
echo "INSTALL_DIR = ${XORG_PREFIX}" >> configs/current &&
 
echo "LIB_DIR = lib32" >> configs/current
 
 
If you have [[XCB]] installed you also need to add the following to the config:
 
 
echo 'DEFINES += -DUSE_XCB' >> configs/current &&
 
echo 'X11_INCLUDES += $(shell pkg-config --cflags-only-I xcb x11-xcb xcb-glx)' >> configs/current &&
 
echo 'GL_LIB_DEPS += $(shell pkg-config --libs xcb x11-xcb xcb-glx)' >> configs/current
 
  
 
Compile the package:
 
Compile the package:
  
  PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
+
  PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" \
  make CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" default
+
    ./configure $XORG_CONFIGN32 --enable-32-bit && \
 
+
  PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" \
 +
    make CC="gcc ${BUILDN32} -I$XORG_PREFIX/include" \
 +
    CXX="g++ ${BUILDN32} -I$XORG_PREFIX/include"
 +
 
Install the package:
 
Install the package:
  
Line 156: Line 101:
 
  mv Mesa-{{Mesa-Version}}{,-64} &&
 
  mv Mesa-{{Mesa-Version}}{,-64} &&
 
  cd Mesa-{{Mesa-Version}}-64
 
  cd Mesa-{{Mesa-Version}}-64
 
Apply a patch that solves some linker errors with the savage dri driver.
 
 
patch -Np1 -i ../mesa-{{Mesa-Version}}-drop_static_inline.patch
 
 
Create a config:
 
 
ln -sf linux-dri configs/current &&
 
echo 'X11_INCLUDES = $(shell pkg-config --cflags-only-I x11)' >> configs/current &&
 
echo 'CFLAGS += $(X11_INCLUDES)' >> configs/current &&
 
echo 'EXTRA_LIB_PATH = $(shell pkg-config --libs-only-L x11)' >> configs/current &&
 
echo "DRI_DRIVER_INSTALL_DIR = ${XORG_PREFIX}/lib64/xorg/modules/dri" >> configs/current &&
 
echo "INSTALL_DIR = ${XORG_PREFIX}" >> configs/current &&
 
echo "LIB_DIR = lib64" >> configs/current
 
 
If you have [[XCB]] installed you also need to add the following to the config:
 
 
echo 'DEFINES += -DUSE_XCB' >> configs/current &&
 
echo 'X11_INCLUDES += $(shell pkg-config --cflags-only-I xcb x11-xcb xcb-glx)' >> configs/current &&
 
echo 'GL_LIB_DEPS += $(shell pkg-config --libs xcb x11-xcb xcb-glx)' >> configs/current
 
  
 
Compile the package:
 
Compile the package:
  
 
  PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
 
  PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
  make CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" default
+
    ./configure $XORG_CONFIG64 --enable-64-bit && \
 +
  PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
 +
    make CC="gcc ${BUILD64} -I$XORG_PREFIX/include" \
 +
    CXX="g++ ${BUILD64} -I$XORG_PREFIX/include"
  
 
Install the package:
 
Install the package:
  
 
  make install
 
  make install
 +
 +
== For older Mesa Packages only ==
 +
The Mesa Demos are in an own package now - needs to be configured and made seperately
  
 
If you would like to build and install glxinfo and glxgears execute the following command:
 
If you would like to build and install glxinfo and glxgears execute the following command:

Latest revision as of 14:42, 10 January 2012

Download Source:
ftp://ftp.freedesktop.org/pub/mesa/7.9/MesaLib-7.9.tar.gz
ftp://ftp.freedesktop.org/pub/mesa/7.9/MesaGLUT-7.9.tar.bz2

Back to libdrm

Introduction to Mesa

Mesa is an OpenGL compatible 3D library. Three packages are available.

  • MesaLib - the main Mesa library source code, drivers and documentation.
  • MesaGLUT - provides a working libglut.

You'll often only need the first package. However, there are a few packages that can use a GLUT library (such as LibTIFF), so you may wish to install MesaGLUT as well. If you choose to install MesaGLUT, extract all two tarballs from the same toplevel directory. All two will extract to the Mesa-7.9 directory.

Homepage: http://www.mesa3d.org/

Dependencies

Required

Optional

Configuration Information

--enable-xcb: enables the use of the optional dependency XCB.

Non-Multilib

Configure the package:

./configure $XORG_CONFIG

Compile the package:

make 

Install the package:

make install

== Multilib == ""NEEDS UPDATING""

32Bit

The Mesa source is needed to build Xorg7/Xserver, save the Mesa source tree for use with the build.

mv Mesa-7.9{,-32} &&
cd Mesa-7.9-32

Compile the package:

PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
    ./configure $XORG_CONFIG32 --enable-32-bit && \
PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
    make CC="gcc ${BUILD32} -I$XORG_PREFIX/include" \
    CXX="g++ ${BUILD32} -I$XORG_PREFIX/include"

Install the package:

make install

N32

The Mesa source is needed to build Xorg7/Xserver, save the Mesa source tree for use with the build.

mv Mesa-7.9{,-n32} &&
cd Mesa-7.9-n32

Compile the package:

PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" \
    ./configure $XORG_CONFIGN32 --enable-32-bit && \
PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" \
    make CC="gcc ${BUILDN32} -I$XORG_PREFIX/include" \
    CXX="g++ ${BUILDN32} -I$XORG_PREFIX/include"

Install the package:

make install

64Bit

The Mesa source is needed to build Xorg7/Xserver, save the Mesa source tree for use with the build.

mv Mesa-7.9{,-64} &&
cd Mesa-7.9-64

Compile the package:

PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
    ./configure $XORG_CONFIG64 --enable-64-bit && \
PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
    make CC="gcc ${BUILD64} -I$XORG_PREFIX/include" \
    CXX="g++ ${BUILD64} -I$XORG_PREFIX/include"

Install the package:

make install

For older Mesa Packages only

The Mesa Demos are in an own package now - needs to be configured and made seperately

If you would like to build and install glxinfo and glxgears execute the following command:

PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
make CC="gcc ${BUILD64}" -C progs/xdemos glxinfo glxgears &&
install -m755 -v progs/xdemos/{glxinfo,glxgears} /usr/bin

Forward to xbitmaps

Contents

Installed Directories: /usr/include/GLES
Installed Programs: None
Installed Libraries: libGL.so, libGLU.so, libGLw.so, libOSMesa.so, libglut.so

Short Description