summaryrefslogtreecommitdiff
path: root/x11
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2004-02-16 22:45:34 +0000
committerjlam <jlam@pkgsrc.org>2004-02-16 22:45:34 +0000
commitc2511a008aa20691bc9058191f5c548d465d37a6 (patch)
tree13358029335ecd3570b217080f52982580a1d077 /x11
parent9dcfa9877b415cdd241cfa9d66ffcbf79ef1d7c4 (diff)
downloadpkgsrc-c2511a008aa20691bc9058191f5c548d465d37a6.tar.gz
bl3ify and modify the buildlink3.mk file to determine the version of the
XFree86-provided Xrandr software.
Diffstat (limited to 'x11')
-rw-r--r--x11/Xrandr-mixedcase/Makefile13
-rw-r--r--x11/Xrandr-mixedcase/buildlink3.mk131
2 files changed, 130 insertions, 14 deletions
diff --git a/x11/Xrandr-mixedcase/Makefile b/x11/Xrandr-mixedcase/Makefile
index abb5bdb6edc..1bbfb328285 100644
--- a/x11/Xrandr-mixedcase/Makefile
+++ b/x11/Xrandr-mixedcase/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.3 2004/02/14 18:26:29 jmmv Exp $
+# $NetBSD: Makefile,v 1.4 2004/02/16 22:45:34 jlam Exp $
#
DISTNAME= libXrandr-1.0.1
@@ -11,16 +11,15 @@ MAINTAINER= xtraeme@NetBSD.org
HOMEPAGE= http://freedesktop.org/
COMMENT= X RandR extension (Library)
-USE_X11= yes
-USE_BUILDLINK2= yes
+USE_BUILDLINK3= yes
USE_LIBTOOL= yes
GNU_CONFIGURE= yes
PKGCONFIG_OVERRIDE+= xrandr.pc.in
-BUILDLINK_DEPENDS.Xrender= Xrender>=0.8.2
+BUILDLINK_DEPENDS.Xrender+= Xrender>=0.8
-.include "../../x11/randrext/buildlink2.mk"
-.include "../../x11/Xrender/buildlink2.mk"
-.include "../../devel/pkgconfig/buildlink2.mk"
+.include "../../x11/randrext/buildlink3.mk"
+.include "../../x11/Xrender/buildlink3.mk"
+.include "../../devel/pkgconfig/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/x11/Xrandr-mixedcase/buildlink3.mk b/x11/Xrandr-mixedcase/buildlink3.mk
index c47e5aa5958..be940492283 100644
--- a/x11/Xrandr-mixedcase/buildlink3.mk
+++ b/x11/Xrandr-mixedcase/buildlink3.mk
@@ -1,18 +1,135 @@
-# $NetBSD: buildlink3.mk,v 1.5 2004/01/27 01:48:34 recht Exp $
+# $NetBSD: buildlink3.mk,v 1.6 2004/02/16 22:45:34 jlam Exp $
BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
XRANDR_BUILDLINK3_MK:= ${XRANDR_BUILDLINK3_MK}+
-.if !empty(BUILDLINK_DEPTH:M+)
-BUILDLINK_DEPENDS+= Xrandr
+.include "../../mk/bsd.prefs.mk"
+
+.if !empty(XRANDR_BUILDLINK3_MK:M+)
+BUILDLINK_PACKAGES+= Xrandr
+BUILDLINK_DEPENDS.Xrandr+= Xrandr>=1.0
+BUILDLINK_PKGSRCDIR.Xrandr?= ../../x11/Xrandr
+.endif # XRANDR_BUILDLINK3_MK
+
+BUILDLINK_CHECK_BUILTIN.Xrandr?= NO
+
+_X11_TMPL= ${X11BASE}/lib/X11/config/X11.tmpl
+
+.if !defined(BUILDLINK_IS_BUILTIN.Xrandr)
+BUILDLINK_IS_BUILTIN.Xrandr= NO
+. if exists(${_X11_TMPL})
+_IS_BUILTIN.Xrandr!= \
+ if ${GREP} -q BuildRandRLibrary ${_X11_TMPL}; then \
+ ${ECHO} "YES"; \
+ else \
+ ${ECHO} "NO"; \
+ fi
+BUILDLINK_IS_BUILTIN.Xrandr= ${_IS_BUILTIN.Xrandr}
+. if !empty(BUILDLINK_CHECK_BUILTIN.Xrandr:M[nN][oO]) && \
+ !empty(_IS_BUILTIN.Xrandr:M[yY][eE][sS])
+#
+# Create an appropriate package name for the built-in Xrandr distributed
+# with the system. This package name can be used to check against
+# BUILDLINK_DEPENDS.<pkg> to see if we need to install the pkgsrc version
+# or if the built-in one is sufficient.
+#
+# Xrandr doesn't provide a method of discovering the version number of
+# the software. Match up Xrandr versions with XFree86 versions for an
+# approximate determination of the Xrandr version.
+#
+_XRANDR_VERSIONS= 1.0.2 1.0.1 1.0
+_XRANDR_1.0= 4.2 4.2.* 4.3 4.3.[0-8][0-9]* 4.3.9[0-8]*
+. if !defined(_XF86_VERSION)
+_X11_CONFIG_VERSION_DEF= ${X11BASE}/lib/X11/config/version.def
+. if !exists(${_X11_CONFIG_VERSION_DEF})
+_XF86_VERSION= 3.3
+. else
+_XF86_MAJOR!= \
+ ${AWK} '/\#define[ ]*XF86_VERSION_MAJOR/ { print $$3 }' \
+ ${_X11_CONFIG_VERSION_DEF}
+_XF86_MINOR!= \
+ ${AWK} '/\#define[ ]*XF86_VERSION_MINOR/ { print $$3 }' \
+ ${_X11_CONFIG_VERSION_DEF}
+_XF86_PATCH!= \
+ ${AWK} '/\#define[ ]*XF86_VERSION_PATCH/ { print $$3 }' \
+ ${_X11_CONFIG_VERSION_DEF}
+_XF86_SNAP!= \
+ ${AWK} '/\#define[ ]*XF86_VERSION_SNAP/ { print $$3 }' \
+ ${_X11_CONFIG_VERSION_DEF}
+_XF86_TEENY= ${_XF86_PATCH}.${_XF86_SNAP}
+. if !empty(_XF86_TEENY:M0.0)
+_XF86_VERSION= ${_XF86_MAJOR}.${_XF86_MINOR}
+. else
+_XF86_VERSION= ${_XF86_MAJOR}.${_XF86_MINOR}.${_XF86_TEENY}
+. endif
+. endif
+. endif
+. for _xrender_version_ in ${_XRANDR_VERSIONS}
+. for _pattern_ in ${_XRANDR_${_xrender_version_}}
+. if !empty(_XF86_VERSION:M${_pattern_})
+_XRANDR_VERSION?= ${_xrender_version_}
+. endif
+. endfor
+. endfor
+_XRANDR_VERSION?= 1.0
+_XRANDR_PKG= Xrandr-${_XRANDR_VERSION}
+
+BUILDLINK_IS_BUILTIN.Xrandr?= YES
+. for _depend_ in ${BUILDLINK_DEPENDS.Xrandr}
+. if !empty(BUILDLINK_IS_BUILTIN.Xrandr:M[yY][eE][sS])
+BUILDLINK_IS_BUILTIN.Xrandr!= \
+ if ${PKG_ADMIN} pmatch '${_depend_}' ${_XRANDR_PKG}; then \
+ ${ECHO} "YES"; \
+ else \
+ ${ECHO} "NO"; \
+ fi
+. endif
+. endfor
+. endif
+. endif
+MAKEFLAGS+= BUILDLINK_IS_BUILTIN.Xrandr=${BUILDLINK_IS_BUILTIN.Xrandr}
.endif
-BUILDLINK_IS_BUILTIN.Xrandr?= no
+.if !empty(BUILDLINK_IS_BUILTIN.Xrandr:M[yY][eE][sS])
+BUILDLINK_USE_BUILTIN.Xrandr= YES
+.else
+BUILDLINK_USE_BUILTIN.Xrandr= NO
+.endif
-.if !empty(XRANDR_BUILDLINK3_MK:M+)
+.if !empty(PREFER_NATIVE:M[yY][eE][sS]) && \
+ !empty(BUILDLINK_IS_BUILTIN.Xrandr:M[yY][eE][sS])
+BUILDLINK_USE_BUILTIN.Xrandr= YES
+.endif
+.if !empty(PREFER_PKGSRC:M[yY][eE][sS])
+BUILDLINK_USE_BUILTIN.Xrandr= NO
+.endif
+.if !empty(PREFER_NATIVE:MXrandr) && \
+ !empty(BUILDLINK_IS_BUILTIN.Xrandr:M[yY][eE][sS])
+BUILDLINK_USE_BUILTIN.Xrandr= YES
+.endif
+.if !empty(PREFER_PKGSRC:MXrandr)
+BUILDLINK_USE_BUILTIN.Xrandr= NO
+.endif
+
+.if !empty(BUILDLINK_CHECK_BUILTIN.Xrandr:M[yY][eE][sS])
+BUILDLINK_USE_BUILTIN.Xrandr= YES
+.endif
+
+.if !empty(BUILDLINK_USE_BUILTIN.Xrandr:M[nN][oO])
BUILDLINK_DEPENDS.Xrandr+= Xrandr>=1.0.1
-BUILDLINK_PKGSRCDIR.Xrandr?= ../../x11/Xrandr
-BUILDLINK_PACKAGES+= Xrandr
+. if !empty(BUILDLINK_DEPTH:M+)
+BUILDLINK_DEPENDS+= Xrandr
+. endif
+.endif
+
+.if !empty(XRANDR_BUILDLINK3_MK:M+)
+. if !empty(BUILDLINK_USE_BUILTIN.Xrandr:M[yY][eE][sS])
+BUILDLINK_PREFIX.Xrandr= ${X11BASE}
+. endif
+USE_X11= yes
+BUILDLINK_DEPENDS.Xrender+= Xrender>=0.8
+. include "../../x11/randrext/buildlink3.mk"
+. include "../../x11/Xrender/buildlink3.mk"
.endif # XRANDR_BUILDLINK3_MK
BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}