Difference between revisions of "Xorg7/MesaLib"

From CBLFS
Jump to navigationJump to search
(Versioning template.)
(64Bit: Mesa Demos)
 
(56 intermediate revisions by 17 users not shown)
Line 1: Line 1:
 
{| style="text-align: left; background-color: AliceBlue;"
 
{| style="text-align: left; background-color: AliceBlue;"
|-
+
|-valign="top"
 
!Download Source:
 
!Download Source:
|-
+
|-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"
| http://prdownloads.sourceforge.net/mesa3d/MesaDemos-{{Mesa-Version}}.tar.bz2
+
| ftp://ftp.freedesktop.org/pub/mesa/7.9/MesaGLUT-{{Mesa-Version}}.tar.bz2
|-
 
| http://prdownloads.sourceforge.net/mesa3d/MesaGLUT-{{Mesa-Version}}.tar.bz2
 
|-
 
!Download Patch:
 
|-
 
| http://svn.cross-lfs.org/svn/repos/patches/Mesa/mesa-{{Mesa-Version}}-drop_static_inline.patch
 
|-
 
 
|}
 
|}
  
 
Back to [[Xorg7/libdrm|libdrm]]
 
Back to [[Xorg7/libdrm|libdrm]]
  
=MesaLib=
+
== Introduction to Mesa ==
  
 
Mesa is an OpenGL compatible 3D library.  Three packages are available.
 
Mesa is an OpenGL compatible 3D library.  Three packages are available.
  
 
* 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, 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.
  
==Dependencies==
+
<b>Homepage:</b> http://www.mesa3d.org/
  
===Required===
+
== Dependencies ==
  
 +
=== 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]]
  
    '''Note:''' Don't remove the source after building MesaLib.  It is needed by the
+
=== Optional ===
    Xorg Xserver build.  You need to pass the path to the MesaLib source when
+
* [[SELinux]]
    building xorg-server, so take note of it.
+
* [[XCB]]
  
    '''Note:''' Executing 'make' in the top of the source tree will provide a list
+
== Configuration Information ==
    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
 
    $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==
+
{|
 
+
|-
Apply the patch and correct some hardcoded paths.
+
|''--enable-xcb:'' enables the use of the optional dependency XCB.
 +
|}
  
patch -Np1 -i ../mesa-{{Mesa-Version}}-drop_static_inline.patch &&
+
== Non-Multilib ==
sed -i "s@/usr/X11R6@$XORG_PREFIX@g" $(grep -lr /usr/X11R6 *) &&
 
sed -i 's@lib/modules@lib/X11/modules@' src/glx/x11/dri_glx.c &&
 
sed -i 's@lib/modules@lib/X11/modules@' src/mesa/drivers/dri/Makefile.template
 
  
Fix an error with output redirection if /bin/sh is not the Bash shell on your system:
+
Configure the package:
  
  sed -i 's%>& /dev/null%>/dev/null%' src/mesa/drivers/dri/Makefile.template
+
  ./configure $XORG_CONFIG
  
 
Compile the package:
 
Compile the package:
  
  make realclean
+
  make  
make linux-dri
 
 
 
Install the binaries and modules.
 
  
bin/installmesa ${XORG_PREFIX} &&
+
Install the package:
install -d ${XORG_PREFIX}/lib/X11/modules/dri &&
 
install -m755 lib/*dri* ${XORG_PREFIX}/lib/X11/modules/dri
 
  
If you chose to download and extract the demos, compile them now.
+
make install
  
sed -i 's@-l$(GLUT_LIB)@@g' configs/default &&
+
== Multilib == ""NEEDS UPDATING""
cd progs/xdemos &&
 
make PROGS='glxinfo glxgears'
 
 
 
Install the demo programs.
 
 
 
  install -m755 glxinfo glxgears ${XORG_PREFIX}/bin
 
 
 
==Multilib==
 
  
 
=== 32Bit ===
 
=== 32Bit ===
  
Apply the patch and correct some hardcoded paths.
+
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
+
  mv Mesa-{{Mesa-Version}}{,-32} &&
  patch -Np1 -i ../mesa-{{Mesa-Version}}-drop_static_inline.patch &&
+
  cd Mesa-{{Mesa-Version}}-32
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/X11/modules@' src/glx/x11/dri_glx.c &&
 
sed -i 's@lib/modules@lib/X11/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:
  
 
  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} &&
+
=== N32 ===
install -d ${XORG_PREFIX}/lib/X11/modules/dri &&
 
install -m755 lib/*dri* ${XORG_PREFIX}/lib/X11/modules/dri
 
  
DEMOS: Only 1 Installation needed!
+
The Mesa source is needed to build [[Xorg7/Xserver]], save the Mesa source tree for use with the build.
If you chose to download and extract the demos, compile them now.
 
  
  sed -i 's@-l$(GLUT_LIB)@@g' configs/default &&
+
  mv Mesa-{{Mesa-Version}}{,-n32} &&
  cd progs/xdemos &&
+
  cd Mesa-{{Mesa-Version}}-n32
make PROGS='glxinfo glxgears'
 
  
Install the demo programs.
+
Compile the package:
  
  install -m755 glxinfo glxgears ${XORG_PREFIX}/bin
+
  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:
  
=== N32 ===
+
make install
 
 
  To do.
 
  
 
=== 64Bit ===
 
=== 64Bit ===
Apply the patch and correct some hardcoded paths.
 
 
mv Mesa-{{Mesa-Version}} Mesa-{{Mesa-Version}}-64
 
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:
+
The Mesa source is needed to build [[Xorg7/Xserver]], save the Mesa source tree for use with the build.
  
  sed -i 's%>& /dev/null%>/dev/null%' src/mesa/drivers/dri/Makefile.template
+
  mv Mesa-{{Mesa-Version}}{,-64} &&
 +
cd Mesa-{{Mesa-Version}}-64
  
 
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 package:
  
Install the binaries and modules.
+
make install
  
bin/installmesa ${XORG_PREFIX} &&
+
== For older Mesa Packages only ==
install -d ${XORG_PREFIX}/lib64/X11/modules/dri &&
+
The Mesa Demos are in an own package now - needs to be configured and made seperately
install -m755 lib64/*dri* ${XORG_PREFIX}/lib64/X11/modules/dri
 
  
DEMOS: Only 1 Installation Needed!
+
If you would like to build and install glxinfo and glxgears execute the following command:
If you chose to download and extract the demos, compile them now.
 
  
  sed -i 's@-l$(GLUT_LIB)@@g' configs/default &&
+
  PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
  cd progs/xdemos &&
+
  make CC="gcc ${BUILD64}" -C progs/xdemos glxinfo glxgears &&
  make PROGS='glxinfo glxgears'
+
  install -m755 -v progs/xdemos/{glxinfo,glxgears} /usr/bin
  
Install the demo programs.
+
Forward to [[Xorg7/xbitmaps|xbitmaps]]
  
install -m755 glxinfo glxgears ${XORG_PREFIX}/bin
+
== Contents ==
  
Forward to [[Xorg7/xbitmaps|xbitmaps]]
+
{|style="text-align: left"
 +
|-valign="top"
 +
!Installed Directories:
 +
|/usr/include/GLES
 +
|-valign="top"
 +
!Installed Programs:
 +
|None
 +
|-valign="top"
 +
!Installed Libraries:
 +
|libGL.so, libGLU.so, libGLw.so, libOSMesa.so, libglut.so
 +
|}
 +
 
 +
=== Short Description ===

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