summaryrefslogtreecommitdiff
path: root/graphics/libosmesa/Makefile
blob: 72c7d4ff9f8ff017294987be94fe65bc58d8d20d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# Created by: gahr
# $FreeBSD$

PORTNAME=	libosmesa
PORTVERSION=	9.1.6
CATEGORIES=	graphics
MASTER_SITES=	ftp://ftp.freedesktop.org/pub/mesa/${PORTVERSION}/
DISTNAME=	MesaLib-${PORTVERSION}

MAINTAINER=	gahr@FreeBSD.org
COMMENT=	Off-Screen Mesa implementation of the OpenGL API

LIB_DEPENDS=	expat:${PORTSDIR}/textproc/expat2 \
    		talloc:${PORTSDIR}/devel/talloc
BUILD_DEPENDS=	bison:${PORTSDIR}/devel/bison \
		${LOCALBASE}/bin/flex:${PORTSDIR}/textproc/flex \
		${PYTHON_SITELIBDIR}/libxml2mod.so:${PORTSDIR}/textproc/py-libxml2

CONFLICTS=	mesagl-mangled-*

USE_BZIP2=	yes
USE_LDCONFIG=	yes
USE_GMAKE=	yes
USE_PYTHON=	yes
USE_SCONS=	yes
SCONS_TARGET=	osmesa
SCONS_ARGS+=	build=release \
		verbose=yes
SCONS_BUILDENV=	CC="${CC}" \
		CXX="${CXX}" \
		CFLAGS="${CFLAGS}" \
		CXXFLAGS="${CXXFLAGS}" \
		CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include" \
		LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib"

MAKE_JOBS_UNSAFE=

WRKSRC=		${WRKDIR}/Mesa-${PORTVERSION}

.include <bsd.port.pre.mk>

.if (empty(CC:T:Mgcc4*) && empty(CC:T:Mclang*)) || (empty(CXX:T:Mg??4*) && empty(CXX:T:Mclang++*))
.if (${OSVERSION} >= 900014) && (exists(/usr/bin/clang++) && exists(/usr/bin/clang))
CC=	/usr/bin/clang
CXX=	/usr/bin/clang++
CPP=	/usr/bin/clang-cpp
.else
USE_GCC=4.6+
.endif
.endif

.if ${ARCH} == "i386"
SCONS_ARGS+=	machine=x86
SCONS_BUILD_DIR=${WRKSRC}/build/freebsd-x86
.elif ${ARCH} == "amd64"
SCONS_ARGS+=	machine=x86_64
SCONS_BUILD_DIR=${WRKSRC}/build/freebsd-x86_64
.else
SCONS_ARGS+=	machine=generic
SCONS_BUILD_DIR=${WRKSRC}/build/freebsd
.endif

INCLUDES=	gl.h gl_mangle.h glext.h glx.h glx_mangle.h \
		glxext.h osmesa.h wglext.h wmesa.h

post-patch:
	${REINPLACE_CMD}  -e 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/scons/custom.py
	${REINPLACE_CMD}  -e \
	    's|@prefix@|${PREFIX}|; \
	    s|@libdir@|${PREFIX}/lib|; \
	    s|@includedir@|${PREFIX}/include/Mesa|; \
	    s|@OSMESA_VERSION@|${PORTVERSION}|; \
	    s|@OSMESA_LIB@|OSMesa|; \
	    s|@OSMESA_PC_REQ@||; \
	    s|@OSMESA_PC_LIB_PRIV@|-lm -pthread|' \
	    ${WRKSRC}/src/mesa/drivers/osmesa/osmesa.pc.in

do-install:
	${MKDIR} ${PREFIX}/include/Mesa/GL
.for inc in ${INCLUDES}
	${INSTALL_DATA} ${WRKSRC}/include/GL/${inc} ${PREFIX}/include/Mesa/GL/
.endfor
	${INSTALL_DATA} ${SCONS_BUILD_DIR}/mesa/drivers/osmesa/libosmesa.so ${PREFIX}/lib/libOSMesa.so.9
	${LN} -sf libOSMesa.so.9 ${PREFIX}/lib/libOSMesa.so
	${INSTALL_DATA} ${WRKSRC}/src/mesa/drivers/osmesa/osmesa.pc.in ${PREFIX}/libdata/pkgconfig/osmesa.pc

.include <bsd.port.post.mk>