mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-19 02:00:06 +02:00
147 lines
4.4 KiB
Bash
147 lines
4.4 KiB
Bash
SUMMARY="Multi-platform GL implementation"
|
|
DESCRIPTION="
|
|
Mesa is an open-source implementation of the OpenGL specification. The OpenGL \
|
|
specification documents a system for rendering interactive 3D graphics.
|
|
Mesa fills the role of the Haiku OpenGL kit providing 3D rendering to Haiku \
|
|
applications."
|
|
HOMEPAGE="http://www.mesa3d.org/"
|
|
COPYRIGHT="1999-2013 Brian Paul All Rights Reserved."
|
|
LICENSE="MIT"
|
|
SOURCE_URI="ftp://ftp.freedesktop.org/pub/mesa/10.1.1/MesaLib-10.1.1.tar.bz2"
|
|
CHECKSUM_SHA256="f3ae730ed81fffcb1ec59076813f9955157da7a1dd9ba23a6b1b8ff8cf6798b0"
|
|
REVISION="1"
|
|
ARCHITECTURES="!x86_gcc2 x86 x86_64"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
SOURCE_DIR="Mesa-$portVersion"
|
|
PATCHES="mesa-10.1.1.patchset"
|
|
|
|
PROVIDES="
|
|
mesa$secondaryArchSuffix = $portVersion compat >= 10.0
|
|
lib:libGL$secondaryArchSuffix
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
"
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
libxml2_python
|
|
llvm${secondaryArchSuffix}
|
|
cmd:bison
|
|
cmd:find
|
|
cmd:flex
|
|
cmd:gcc$secondaryArchSuffix
|
|
cmd:ld$secondaryArchSuffix
|
|
cmd:scons
|
|
cmd:sed
|
|
"
|
|
|
|
BUILD()
|
|
{
|
|
if [ -n "$secondaryArchSuffix" ]; then
|
|
export HAIKU_SECONDARY_ARCH="$effectiveTargetArchitecture"
|
|
fi
|
|
scons $jobArgs build=release
|
|
#scons $jobArgs build=debug
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
mesaBuildDir=build/haiku-$effectiveTargetArchitecture
|
|
|
|
# libGL.so makes up the core of our OpenGL kit
|
|
mkdir -p $libDir
|
|
cp $(find $mesaBuildDir -name 'libGL.so') $libDir
|
|
mkdir -p $developLibDir
|
|
symlinkRelative -s $libDir/libGL.so $developLibDir
|
|
|
|
# Our rendering add-ons
|
|
mkdir -p $addOnsDir/opengl
|
|
cp $(find $mesaBuildDir -name 'libswrast.so') \
|
|
"$addOnsDir/opengl/Software Rasterizer"
|
|
cp $(find $mesaBuildDir -name 'libswpipe.so') \
|
|
"$addOnsDir/opengl/Software Pipe"
|
|
|
|
# Set some nice version info
|
|
setversion "$libDir/libGL.so" -app 10 1 1 -long "Haiku OpenGL kit"
|
|
setversion "$addOnsDir/opengl/Software Rasterizer" -app 10 1 1 -long "Mesa software rasterization renderer"
|
|
setversion "$addOnsDir/opengl/Software Pipe" -app 10 1 1 -long "Gallium LLVM software pipe renderer"
|
|
|
|
# OpenGL Kit
|
|
mkdir -p $includeDir/os/opengl
|
|
cp ./include/HaikuGL/OpenGLKit.h $includeDir/os/
|
|
cp ./include/HaikuGL/GLView.h $includeDir/os/opengl/
|
|
cp ./include/HaikuGL/GLRenderer.h $includeDir/os/opengl/
|
|
|
|
# Standard GL headers
|
|
mkdir -p $includeDir/GL
|
|
cp ./include/GL/gl.h $includeDir/GL/
|
|
cp ./include/GL/gl_mangle.h $includeDir/GL/
|
|
cp ./include/GL/glext.h $includeDir/GL/
|
|
|
|
# Create GL symlink in opengl kit
|
|
symlinkRelative -s $includeDir/GL $includeDir/os/opengl/GL
|
|
|
|
# devel package
|
|
packageEntries devel \
|
|
$developDir
|
|
|
|
# swpipe renderer package
|
|
packageEntries swpipe \
|
|
"$addOnsDir/opengl/Software Pipe"
|
|
|
|
# swrast renderer package
|
|
packageEntries swrast \
|
|
"$addOnsDir/opengl/Software Rasterizer"
|
|
}
|
|
|
|
# ----- devel package -------------------------------------------------------
|
|
|
|
PROVIDES_devel="
|
|
mesa${secondaryArchSuffix}_devel = $portVersion
|
|
devel:libGL$secondaryArchSuffix = $portVersion
|
|
"
|
|
|
|
REQUIRES_devel="
|
|
mesa$secondaryArchSuffix == $portVersion base
|
|
"
|
|
|
|
# ===== Mesa OpenGL Add-ons ==================================================
|
|
# ----- swrast package -------------------------------------------------------
|
|
|
|
SUMMARY_swrast="Mesa software rasterization renderer"
|
|
DESCRIPTION_swrast="This 3D BGLRenderer add-on provides Mesa software
|
|
rasterization on Haiku systems. Software rasterization performs all
|
|
3D rendering on the systems CPU and doesn't require any specialized
|
|
hardware. Software rasterization is generally considered a fallback
|
|
3D rendering method as performance is limited.
|
|
"
|
|
PROVIDES_swrast="
|
|
mesa${secondaryArchSuffix}_swrast = $portVersion
|
|
"
|
|
REQUIRED_swrast="
|
|
mesa$secondaryArchSuffix == $portVersion base
|
|
"
|
|
|
|
# ===== Gallium OpenGL Add-ons ===============================================
|
|
# ----- swpipe package -------------------------------------------------------
|
|
|
|
SUMMARY_swpipe="Mesa LLVM enhanced Gallium software pipe renderer"
|
|
DESCRIPTION_swpipe="This 3D BGLRenderer add-on provides Gallium LLVM
|
|
enhanced software rendering. Software pipe rendering performs all
|
|
3D rendering on the systems CPU and doesn't require any specialized
|
|
hardware. The usage of LLVM over traditional rasterization gives this
|
|
renderer a boost in performance.
|
|
|
|
Gallium software pipe rendering is in an extremely early state as of
|
|
this version of Mesa, and may not function as expected.
|
|
"
|
|
PROVIDES_swpipe="
|
|
mesa${secondaryArchSuffix}_swpipe = $portVersion
|
|
"
|
|
|
|
REQUIRED_swpipe="
|
|
mesa$secondaryArchSuffix == $portVersion base
|
|
"
|