summaryrefslogtreecommitdiff
path: root/graphics/MesaLib/buildlink2.mk
blob: e876026de0f0867a897f836f2cd338726c71d21d (plain)
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# $NetBSD: buildlink2.mk,v 1.14 2003/07/15 23:31:22 jschauma Exp $

.if !defined(MESALIB_BUILDLINK2_MK)
MESALIB_BUILDLINK2_MK=	# defined

.include "../../mk/bsd.prefs.mk"

MESA_REQD?=			3.4.2

.if exists(${LOCALBASE}/lib/libGL.so.5) && empty(MESA_REQD:M5.[0-9]*)
MESA_REQD=			5.0.1
.endif

BUILDLINK_DEPENDS.MesaLib?=	MesaLib>=${MESA_REQD}
BUILDLINK_PKGSRCDIR.MesaLib?=	../../graphics/MesaLib

_REQUIRE_BUILTIN_MESALIB?=	NO

MAKEFLAGS+=			MESA_REQD="${MESA_REQD}"

# XXX should be >= 3.4.2
.if !empty(MESA_REQD:M5.[0-9]*)
_IS_BUILTIN_MESALIB=	0
CPPFLAGS+=		-DGLX_GLXEXT_LEGACY
CFLAGS+=		-DGLX_GLXEXT_LEGACY
.else

# Check if we got Mesa distributed with XFree86 4.x or if we need to
# depend on the Mesa package.
#
_GL_GLX_H=		${X11BASE}/include/GL/glx.h
_X11_TMPL=		${X11BASE}/lib/X11/config/X11.tmpl
.if exists(${_GL_GLX_H}) && exists(${_X11_TMPL})
_IS_BUILTIN_MESALIB!=	${EGREP} -c BuildGLXLibrary ${_X11_TMPL} || ${TRUE}
.else
_IS_BUILTIN_MESALIB=	0
.endif

.endif  # MESA_REQD

.if !empty(_REQUIRE_BUILTIN_MESALIB:M[yY][eE][sS])
_NEED_MESALIB=		NO
.else
.  if ${_IS_BUILTIN_MESALIB} == "0"
_NEED_MESALIB=		YES
.  else
#
# Create an appropriate package name for the built-in MesaLib distributed
# with XFree86 4.x.  This package name can be used to check against
# BUILDLINK_DEPENDS.MesaLib to see if we need to install the pkgsrc
# Mesa or if the built-in one is sufficient.
#
.    include "../../graphics/Mesa/version.mk"
_MESALIB_PKG=		MesaLib-${_MESA_VERSION}
_MESALIB_DEPENDS=	${BUILDLINK_DEPENDS.MesaLib}
_NEED_MESALIB!= \
	if ${PKG_ADMIN} pmatch '${_MESALIB_DEPENDS}' ${_MESALIB_PKG}; then \
		${ECHO} "NO";						\
	else								\
		${ECHO} "YES";						\
	fi
.  endif
.endif

.if ${_NEED_MESALIB} == "YES"
BUILDLINK_PACKAGES+=		MesaLib
EVAL_PREFIX+=			BUILDLINK_PREFIX.MesaLib=MesaLib
BUILDLINK_PREFIX.MesaLib_DEFAULT=	${LOCALBASE}
.else
BUILDLINK_PREFIX.MesaLib=	${X11BASE}
.endif

.if ${_NEED_MESALIB} == "NO"
_BLNK_MESALIB_LDFLAGS=		-L${BUILDLINK_PREFIX.MesaLib}/lib -lGL
LIBTOOL_ARCHIVE_UNTRANSFORM_SED+=	\
	-e "s|${BUILDLINK_PREFIX.MesaLib}/lib/libGL.la|${_BLNK_MESALIB_LDFLAGS}|g" \
	-e "s|${LOCALBASE}/lib/libGL.la|${_BLNK_MESALIB_LDFLAGS}|g"
.endif

BUILDLINK_FILES.MesaLib+=	include/GL/GL*.h
BUILDLINK_FILES.MesaLib+=	include/GL/gl.h
BUILDLINK_FILES.MesaLib+=	include/GL/glext.h
BUILDLINK_FILES.MesaLib+=	include/GL/gl_mangle.h
BUILDLINK_FILES.MesaLib+=	include/GL/glx*.h
BUILDLINK_FILES.MesaLib+=	include/GL/osmesa.h
BUILDLINK_FILES.MesaLib+=	include/GL/xmesa.h
BUILDLINK_FILES.MesaLib+=	include/GL/xmesa_x.h
BUILDLINK_FILES.MesaLib+=	include/GL/xmesa_xf86.h
BUILDLINK_FILES.MesaLib+=	lib/libGL.*

USE_X11=			# defined

BUILDLINK_TARGETS+=		MesaLib-buildlink
BUILDLINK_TARGETS+=		MesaLib-libGL-la

MesaLib-buildlink: _BUILDLINK_USE

MesaLib-libGL-la:
	${_PKG_SILENT}${_PKG_DEBUG}					\
	lafile="${BUILDLINK_DIR}/lib/libGL.la";				\
	libpattern="${BUILDLINK_PREFIX.MesaLib}/lib/libGL.*";		\
	${BUILDLINK_FAKE_LA}

.endif	# MESALIB_BUILDLINK2_MK