Difference between revisions of "Xorg7/MesaLib"

From CBLFS
Jump to navigationJump to search
(Undo revision 8353 by Special:Contributions/217.87.22.64 (User talk:217.87.22.64) Entering the top of the source tree is implied in CBLFS.)
(64Bit: Mesa Demos)
 
(46 intermediate revisions by 14 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 31: Line 24:
  
 
=== 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 ===
 +
* [[SELinux]]
 +
* [[XCB]]
  
    <b>Note:</b> Don't remove the source after building MesaLib.  It is needed by the
+
== Configuration Information ==
    Xorg Xserver build.  You need to pass the path to the MesaLib source when
 
    building xorg-server, so take note of it.
 
  
    <b>Note:</b> Executing 'make' in the top of the source tree will provide a list
+
{|
    of supported targets.  Several of these are 64-bit targets.  Do not use these
+
|-
    on a '''pure''' 64-bit system.  The config files for these targets look in
+
|''--enable-xcb:'' enables the use of the optional dependency XCB.
    $XORG_PREFIX/lib64 for dependencies.  They are really for multilib use and the
+
|}
    regular ''linux'' or ''linux-dri'' target are appropriate for either the pure
 
    32-bit or pure 64-bit system
 
  
 
== Non-Multilib ==
 
== Non-Multilib ==
  
Apply the patch and correct some hardcoded paths.
+
Configure the package:
  
  patch -Np1 -i ../mesa-{{Mesa-Version}}-drop_static_inline.patch &&
+
  ./configure $XORG_CONFIG
sed -i "s@/usr/X11R6@$XORG_PREFIX@g" $(grep -lr /usr/X11R6 *) &&
 
sed -i 's@lib/modules@lib/xorg/modules@' src/glx/x11/dri_glx.c &&
 
sed -i 's@lib/modules@lib/xorg/modules@' src/mesa/drivers/dri/Makefile.template
 
 
 
Fix an error with output redirection if /bin/sh is not the Bash shell on your system:
 
 
 
sed -i 's%>& /dev/null%>/dev/null%' src/mesa/drivers/dri/Makefile.template
 
  
 
Compile the package:
 
Compile the package:
  
  make realclean
+
  make  
make linux-dri
 
 
 
Install the binaries and modules.
 
 
 
bin/installmesa ${XORG_PREFIX} &&
 
install -d ${XORG_PREFIX}/lib/xorg/modules/dri &&
 
install -m755 lib/*dri* ${XORG_PREFIX}/lib/xorg/modules/dri
 
 
 
If you chose to download and extract the demos, compile them now.
 
  
sed -i 's@-l$(GLUT_LIB)@@g' configs/default &&
+
Install the package:
cd progs/xdemos &&
 
make PROGS='glxinfo glxgears'
 
  
Install the demo programs.
+
make install
  
install -m755 glxinfo glxgears ${XORG_PREFIX}/bin
+
== Multilib == ""NEEDS UPDATING""
 
 
== Multilib ==
 
  
 
=== 32Bit ===
 
=== 32Bit ===
  
The Mesa source is needed to build the x-server, save the Mesa source tree for use with the 32-bit x-server build.
+
The Mesa source is needed to build [[Xorg7/Xserver]], save the Mesa source tree for use with the build.
 
 
mv Mesa-{{Mesa-Version}} Mesa-{{Mesa-Version}}-32
 
 
 
Apply the patch and correct some hardcoded paths.
 
 
 
patch -Np1 -i ../mesa-{{Mesa-Version}}-drop_static_inline.patch &&
 
sed -i configs/linux-dri* \
 
    -e "s@/usr/X11R6@$XORG_PREFIX@g" \
 
    -e "s/-DHAVE_ALIAS/& -DGLX_USE_TLS/" &&
 
sed -i "s@/usr/local@$XORG_PREFIX@g" bin/installmesa &&
 
sed -i 's@lib/modules@lib/xorg/modules@' src/glx/x11/dri_glx.c &&
 
sed -i 's@lib/modules@lib/xorg/modules@'  src/mesa/drivers/dri/Makefile.template
 
 
 
Fix an error with output redirection if /bin/sh is not the Bash shell on your system:
 
  
  sed -i 's%>& /dev/null%>/dev/null%' src/mesa/drivers/dri/Makefile.template
+
  mv Mesa-{{Mesa-Version}}{,-32} &&
 +
cd Mesa-{{Mesa-Version}}-32
  
 
Compile the package:
 
Compile the package:
  
 
  PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
 
  PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
  make CC="gcc ${BUILD32}" OPT_FLAGS="${BUILD32}" linux-dri
+
    ./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 binaries and modules.
+
  make install
 
 
bin/installmesa ${XORG_PREFIX} &&
 
install -d ${XORG_PREFIX}/lib/xorg/modules/dri &&
 
install -m755 lib/*dri* ${XORG_PREFIX}/lib/xorg/modules/dri
 
 
 
DEMOS: Only 1 Installation needed!
 
If you chose to download and extract the demos, compile them now.
 
 
 
sed -i 's@-l$(GLUT_LIB)@@g' configs/default &&
 
cd progs/xdemos &&
 
  make PROGS='glxinfo glxgears'
 
 
 
Install the demo programs.
 
 
 
install -m755 glxinfo glxgears ${XORG_PREFIX}/bin
 
  
 
=== N32 ===
 
=== N32 ===
  
The Mesa source is needed to build the x-server, save the Mesa source tree for use with the N32 x-server build.
+
The Mesa source is needed to build [[Xorg7/Xserver]], save the Mesa source tree for use with the build.
 
 
mv Mesa-{{Mesa-Version}} Mesa-{{Mesa-Version}}-N32
 
 
 
Apply the patch and correct some hardcoded paths.
 
 
 
patch -Np1 -i ../mesa-{{Mesa-Version}}-drop_static_inline.patch &&
 
sed -i configs/linux-dri* \
 
    -e "s@/usr/X11R6@${XORG_PREFIX}@g" \
 
    -e "s/-DHAVE_ALIAS/& -DGLX_USE_TLS/" &&
 
sed -i bin/installmesa \
 
    -e 's@LIB_DIR=$1/lib@&32@' \
 
    -e 's@LIB_DIR="/usr/local/lib@&32@' \
 
    -e "s@/usr/local@${XORG_PREFIX}@g"
 
 
 
Fix an error with output redirection if /bin/sh is not the Bash shell on your system:
 
  
  sed -i 's%>& /dev/null%>/dev/null%' src/mesa/drivers/dri/Makefile.template
+
  mv Mesa-{{Mesa-Version}}{,-n32} &&
 +
cd Mesa-{{Mesa-Version}}-n32
  
 
Compile the package:
 
Compile the package:
  
 
  PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" \
 
  PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" \
  make CC="gcc ${BUILDN32}" OPT_FLAGS="${BUILDN32}" '''linux-dri'''
+
    ./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 binaries and modules.
+
  make install
 
 
bin/installmesa ${XORG_PREFIX} &&
 
install -d ${XORG_PREFIX}/lib32/xorg/modules/dri &&
 
install -m755 lib32/*dri* ${XORG_PREFIX}/lib32/xorg/modules/dri
 
 
 
DEMOS: Only 1 Installation Needed!
 
If you chose to download and extract the demos, compile them now.
 
 
 
sed -i 's@-l$(GLUT_LIB)@@g' configs/default &&
 
cd progs/xdemos &&
 
  make PROGS='glxinfo glxgears'
 
 
 
Install the demo programs.
 
 
 
install -m755 glxinfo glxgears ${XORG_PREFIX}/bin
 
  
 
=== 64Bit ===
 
=== 64Bit ===
  
The Mesa source is needed to build the x-server, save the Mesa source tree for use with the 64-bit x-server build.
+
The Mesa source is needed to build [[Xorg7/Xserver]], save the Mesa source tree for use with the build.
  
  mv Mesa-{{Mesa-Version}} Mesa-{{Mesa-Version}}-64
+
  mv Mesa-{{Mesa-Version}}{,-64} &&
 
+
  cd Mesa-{{Mesa-Version}}-64
Apply the patch and correct some hardcoded paths.
 
 
 
  patch -Np1 -i ../mesa-{{Mesa-Version}}-drop_static_inline.patch &&
 
sed -i configs/linux-dri* \
 
    -e "s@/usr/X11R6@${XORG_PREFIX}@g" \
 
    -e "s/-DHAVE_ALIAS/& -DGLX_USE_TLS/" &&
 
sed -i bin/installmesa \
 
    -e 's@LIB_DIR=$1/lib@&64@' \
 
    -e 's@LIB_DIR="/usr/local/lib@&64@' \
 
    -e "s@/usr/local@${XORG_PREFIX}@g"
 
 
 
Fix an error with output redirection if /bin/sh is not the Bash shell on your system:
 
 
 
sed -i 's%>& /dev/null%>/dev/null%' src/mesa/drivers/dri/Makefile.template
 
  
 
Compile the package:
 
Compile the package:
  
 
  PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
 
  PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
  make CC="gcc ${BUILD64}" OPT_FLAGS="${BUILD64}" '''linux-dri-x86-64'''
+
    ./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 binaries and modules.
+
Install the package:
  
  bin/installmesa ${XORG_PREFIX} &&
+
  make install
install -d ${XORG_PREFIX}/lib64/xorg/modules/dri &&
 
install -m755 lib64/*dri* ${XORG_PREFIX}/lib64/xorg/modules/dri
 
  
DEMOS: Only 1 Installation Needed!
+
== For older Mesa Packages only ==
If you chose to download and extract the demos, compile them now.
+
The Mesa Demos are in an own package now - needs to be configured and made seperately
  
sed -i 's@-l$(GLUT_LIB)@@g' configs/default &&
+
If you would like to build and install glxinfo and glxgears execute the following command:
cd progs/xdemos &&
 
make PROGS='glxinfo glxgears'
 
  
Install the demo programs.
+
PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
 
+
make CC="gcc ${BUILD64}" -C progs/xdemos glxinfo glxgears &&
  install -m755 glxinfo glxgears ${XORG_PREFIX}/bin
+
  install -m755 -v progs/xdemos/{glxinfo,glxgears} /usr/bin
  
 
Forward to [[Xorg7/xbitmaps|xbitmaps]]
 
Forward to [[Xorg7/xbitmaps|xbitmaps]]

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