f28b16021b
* Unbreak build on powerpc and other !x86 archs by moving the --with-dri-drivers logic from dri/Makefile to the libGL/Makefile.common file. So the settings are applied to all mesa ports, this was missed in the 10.6.6 update. [1] * Don't try to enable OpenCL support on anything other then i386 and amd64. [1] * Move the texture-float and vdpau logic to Makefile.common even if the latter isn't supported yet. Keep OPTIONS_DEFINE/DEFAULT in dri/Makefile since they need to defined before bsd.port.options.mk is included, and they only affect the dri modules. * Sed on 11 and 10 supports \< and \> however sed on 9.x and dragonfly do not, replace the sed keywords with some magic to get the intended results. [2] Submitted by: marino@ [2] Reported and tested by: arved@ (on ppc32)[1]
169 lines
4.6 KiB
Text
169 lines
4.6 KiB
Text
# Makefile.common - shared code between MesaLib ports.
|
|
#
|
|
# !!! Here be dragons !!! (they seem to be everywhere these days)
|
|
#
|
|
# Remember to upgrade the following ports everytime you bump MESAVERSION:
|
|
#
|
|
# - graphics/dri
|
|
# - graphics/gbm
|
|
# - graphics/libEGL
|
|
# - graphics/libGL
|
|
# - graphics/libglapi
|
|
# - graphics/libglesv2
|
|
# - graphics/libosmesa
|
|
# - lang/clover
|
|
#
|
|
# $FreeBSD$
|
|
|
|
MESAVERSION= ${MESABASEVERSION}${MESASUBVERSION:C/^(.)/.\1/}
|
|
MESADISTVERSION=${MESABASEVERSION}${MESASUBVERSION:C/^(.)/-\1/}
|
|
|
|
MESABASEVERSION= 10.6.9
|
|
# if there is a subversion, don't include the '-' between 7.11-rc2.
|
|
MESASUBVERSION=
|
|
|
|
MASTER_SITES= ftp://ftp.freedesktop.org/pub/mesa/${MESABASEVERSION}/
|
|
|
|
DISTFILES= mesa-${MESADISTVERSION}${EXTRACT_SUFX}
|
|
|
|
MAINTAINER= x11@FreeBSD.org
|
|
|
|
BUILD_DEPENDS+= makedepend:${PORTSDIR}/devel/makedepend
|
|
LIB_DEPENDS+= libdevq.so:${PORTSDIR}/devel/libdevq
|
|
|
|
USES+= compiler:c++11-lib gettext-tools gmake libtool \
|
|
pathfix pkgconfig python:2,build shebangfix tar:xz
|
|
USE_LDCONFIG= yes
|
|
GNU_CONFIGURE= yes
|
|
CPPFLAGS+= -isystem${LOCALBASE}/include
|
|
LDFLAGS+= -Wl,-Y${LOCALBASE}/lib
|
|
|
|
PKGINSTALL= ${.CURDIR}/pkg-install
|
|
PKGDEINSTALL= ${.CURDIR}/pkg-deinstall
|
|
|
|
# only have one port to check with portscout.
|
|
.if ${PORTNAME} != libGL
|
|
PORTSCOUT= ignore:1
|
|
.endif
|
|
|
|
.if ${OSVERSION} < 1000033
|
|
BUILD_DEPENDS+= ${LOCALBASE}/bin/flex:${PORTSDIR}/textproc/flex
|
|
CONFIGURE_ENV+= ac_cv_prog_LEX=${LOCALBASE}/bin/flex
|
|
.endif
|
|
|
|
python_OLD_CMD= "/usr/bin/env[[:space:]]python"
|
|
python_CMD= ${LOCALBASE}/bin/python2
|
|
SHEBANG_FILES= src/gallium/*/*/*.py src/gallium/tools/trace/*.py \
|
|
src/gallium/drivers/svga/svgadump/svga_dump.py \
|
|
src/glsl/tests/compare_ir src/mapi/glapi/gen/*.py
|
|
SHEBANG_FILES+= src/mapi/mapi_abi.py
|
|
|
|
MASTERDIR= ${.CURDIR}/../../graphics/libGL
|
|
PATCHDIR= ${MASTERDIR}/files
|
|
WRKSRC= ${WRKDIR}/mesa-${MESADISTVERSION}
|
|
DESCR= ${.CURDIR}/pkg-descr
|
|
PLIST= ${.CURDIR}/pkg-plist
|
|
INSTALL_TARGET= install-strip
|
|
|
|
COMPONENT= ${PORTNAME:tl:C/^lib//:C/mesa-//}
|
|
|
|
MESA_LLVM_VER=36
|
|
|
|
# DRI3 needs PRIME support in the kernel to work
|
|
CONFIGURE_ARGS+= --disable-dri3
|
|
|
|
CONFIGURE_ARGS+= --enable-gbm
|
|
|
|
# libEGL, dri and clover need gallium enabled.
|
|
# the third option in --with-egl-platforms is wayland.
|
|
CONFIGURE_ARGS+= --enable-egl --with-egl-platforms=x11,drm
|
|
|
|
CONFIGURE_ARGS+= --enable-gles2
|
|
|
|
# Clover (OpenCL).
|
|
.if ${OPSYS} == DragonFly || \
|
|
(${OPSYS} == FreeBSD && ${OSVERSION} >= 1000000 && \
|
|
(${ARCH} == i386 || ${ARCH} == amd64))
|
|
BUILD_DEPENDS+= libclc>=0.0.r222830:${PORTSDIR}/devel/libclc
|
|
|
|
# We need the clang port too even if it is not used to compile because
|
|
# Clover needs some of the clang includes to build.
|
|
.if ${COMPONENT:Mdri} != "" || ${COMPONENT:Mclover} != "" || ${COMPONENT:Mosmesa} != ""
|
|
BUILD_DEPENDS+= clang${MESA_LLVM_VER}>=0:${PORTSDIR}/lang/clang${MESA_LLVM_VER}
|
|
.endif
|
|
|
|
CONFIGURE_ARGS+= --enable-opencl \
|
|
--enable-opencl-icd
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-opencl
|
|
.endif
|
|
|
|
CONFIGURE_ARGS+= --enable-osmesa
|
|
|
|
# gallium
|
|
BUILD_DEPENDS+= llvm${MESA_LLVM_VER}>=0:${PORTSDIR}/devel/llvm${MESA_LLVM_VER}
|
|
.if ${COMPONENT:Mdri} != "" || ${COMPONENT:Mclover} != "" || ${COMPONENT:Megl} != ""
|
|
RUN_DEPENDS+= llvm${MESA_LLVM_VER}>=0:${PORTSDIR}/devel/llvm${MESA_LLVM_VER}
|
|
.endif
|
|
|
|
CONFIGURE_ENV+= LLVM_CONFIG=${LOCALBASE}/bin/llvm-config${MESA_LLVM_VER}
|
|
|
|
CONFIGURE_ARGS+=--enable-gallium-llvm \
|
|
--enable-xvmc \
|
|
--with-gallium-drivers=r300,r600,radeonsi,svga,swrast
|
|
|
|
.if ${PORT_OPTIONS:MTEXTURE}
|
|
CONFIGURE_ARGS+=--enable-texture-float
|
|
.endif
|
|
|
|
.if !(${ARCH} == amd64 || ${ARCH} == i386)
|
|
CONFIGURE_ARGS+=--disable-gallium-intel
|
|
.endif
|
|
|
|
# this is disabled because our kernel driver is too old
|
|
# merge this and the one below when support does land.
|
|
.if 0 #${PORT_OPTIONS:MVDPAU}
|
|
.if ${PORT_OPTIONS:MGALLIUM} == ""
|
|
IGNORE= VDPAU option requires GALLIUM support to be enabled
|
|
.endif
|
|
CONFIGURE_ARGS+=--enable-vdpau
|
|
LIB_DEPENDS+= libvdpau.so:${PORTSDIR}/multimedia/libvdpau
|
|
PLIST_SUB+= VDPAU=""
|
|
.else
|
|
CONFIGURE_ARGS+=--disable-vdpau
|
|
PLIST_SUB+= VDPAU="@comment "
|
|
.endif
|
|
|
|
# what to do with this one? Currently disabled in dri.
|
|
.if ${COMPONENT:Mvdpau} == ""
|
|
CONFIGURE_ARGS+=--disable-vdpau
|
|
.else
|
|
CONFIGURE_ARGS+=--enable-vdpau
|
|
.endif
|
|
|
|
ALL_DRI_DRIVERS=I915 I965 R200 RADEON SWRAST
|
|
|
|
.if ${ARCH} == amd64 || ${ARCH} == i386 || ${ARCH} == ia64
|
|
DRI_DRIVERS= ${ALL_DRI_DRIVERS}
|
|
.endif
|
|
|
|
.if ${ARCH} == powerpc || ${ARCH} == powerpc64
|
|
DRI_DRIVERS= RADEON SWRAST
|
|
.endif
|
|
.if ${ARCH} == sparc64 || ${ARCH} == armv6
|
|
DRI_DRIVERS= SWRAST
|
|
.endif
|
|
|
|
# empty for unsupported arches
|
|
DRI_DRIVERS+=
|
|
|
|
.for _d in ${ALL_DRI_DRIVERS}
|
|
. if ${DRI_DRIVERS:M${_d}}
|
|
PLIST_SUB+= ${_d}_DRIVER=""
|
|
. else
|
|
PLIST_SUB+= ${_d}_DRIVER="@comment "
|
|
. endif
|
|
.endfor
|
|
|
|
CONFIGURE_ARGS+=--with-dri-drivers="${DRI_DRIVERS:tl}"
|
|
|