summaryrefslogtreecommitdiff
path: root/x11/XFree86-libs
diff options
context:
space:
mode:
Diffstat (limited to 'x11/XFree86-libs')
-rw-r--r--x11/XFree86-libs/builtin.mk73
-rw-r--r--x11/XFree86-libs/version.mk41
2 files changed, 114 insertions, 0 deletions
diff --git a/x11/XFree86-libs/builtin.mk b/x11/XFree86-libs/builtin.mk
new file mode 100644
index 00000000000..de25ce940b9
--- /dev/null
+++ b/x11/XFree86-libs/builtin.mk
@@ -0,0 +1,73 @@
+# $NetBSD: builtin.mk,v 1.1 2005/06/01 18:03:27 jlam Exp $
+
+BUILTIN_PKG:= XFree86-libs
+
+BUILTIN_FIND_FILES_VAR:= CF_XFREE86
+BUILTIN_FIND_FILES.CF_XFREE86= ${X11BASE}/lib/X11/config/xfree86.cf
+
+.include "../../mk/buildlink3/bsd.builtin.mk"
+
+###
+### Determine if there is a built-in implementation of the package and
+### set IS_BUILTIN.<pkg> appropriately ("yes" or "no").
+###
+.if !defined(IS_BUILTIN.XFree86-libs)
+IS_BUILTIN.XFree86-libs= no
+. if exists(${CF_XFREE86})
+IS_BUILTIN.XFree86-libs= yes
+. endif
+.endif
+MAKEVARS+= IS_BUILTIN.XFree86-libs
+
+###
+### If there is a built-in implementation, then set BUILTIN_PKG.<pkg> to
+### a package name to represent the built-in package.
+###
+.if !defined(BUILTIN_PKG.XFree86-libs) && \
+ !empty(IS_BUILTIN.XFree86-libs:M[yY][eE][sS]) && \
+ exists(${CF_XFREE86})
+. include "${BUILDLINK_PKGSRCDIR.XFree86-libs}/version.mk"
+BUILTIN_PKG.XFree86-libs= XFree86-libs-${BUILTIN_X11_VERSION.XFree86}
+.endif
+MAKEVARS+= BUILTIN_PKG.XFree86-libs
+
+###
+### Determine whether we should use the built-in implementation if it
+### exists, and set USE_BUILTIN.<pkg> appropriate ("yes" or "no").
+###
+.if !defined(USE_BUILTIN.XFree86-libs)
+. if ${PREFER.XFree86-libs} == "pkgsrc"
+USE_BUILTIN.XFree86-libs= no
+. else
+USE_BUILTIN.XFree86-libs= ${IS_BUILTIN.XFree86-libs}
+. if defined(BUILTIN_PKG.XFree86-libs) && \
+ !empty(IS_BUILTIN.XFree86-libs:M[yY][eE][sS])
+USE_BUILTIN.XFree86-libs= yes
+. for _dep_ in ${BUILDLINK_DEPENDS.XFree86-libs}
+. if !empty(USE_BUILTIN.XFree86-libs:M[yY][eE][sS])
+USE_BUILTIN.XFree86-libs!= \
+ if ${PKG_ADMIN} pmatch ${_dep_:Q} ${BUILTIN_PKG.XFree86-libs:Q}; then \
+ ${ECHO} yes; \
+ else \
+ ${ECHO} no; \
+ fi
+. endif
+. endfor
+. endif
+. endif # PREFER.XFree86-libs
+.endif
+MAKEVARS+= USE_BUILTIN.XFree86-libs
+
+###
+### The section below only applies if we are not including this file
+### solely to determine whether a built-in implementation exists.
+###
+CHECK_BUILTIN.XFree86-libs?= no
+.if !empty(CHECK_BUILTIN.XFree86-libs:M[nN][oO])
+
+. if !empty(USE_BUILTIN.XFree86-libs:M[yY][eE][sS])
+BUILDLINK_PREFIX.XFree86-libs= ${X11BASE}
+BUILDLINK_FILES.XFree86-libs+= lib/pkgconfig/XFree86-libs.pc
+. endif
+
+.endif # CHECK_BUILTIN.XFree86-libs
diff --git a/x11/XFree86-libs/version.mk b/x11/XFree86-libs/version.mk
new file mode 100644
index 00000000000..dace44d7750
--- /dev/null
+++ b/x11/XFree86-libs/version.mk
@@ -0,0 +1,41 @@
+# $NetBSD: version.mk,v 1.1 2005/06/01 18:03:27 jlam Exp $
+#
+# This Makefile fragment is included by Makefiles that need to access
+# the X11_TYPE and version number of a XFree86 distribution.
+#
+# The following variables are provided by this file:
+#
+# BUILTIN_X11_TYPE.XFree86 is the X11_TYPE of the XFree86 distribution
+# and is simply "XFree86".
+#
+# BUILTIN_X11_VERSION.XFree86 is the version number of the XFree86
+# distribution detected on the system.
+#
+
+BUILTIN_X11_TYPE.XFree86= XFree86
+
+BUILTIN_FILES_VAR:= CF_XFREE86 CF_XFREE86_VERSION
+BUILTIN_FILES.CF_XFREE86= ${X11BASE}/lib/X11/config/xfree86.cf
+BUILTIN_FILES.CF_XFREE86_VERSION= ${X11BASE}/lib/X11/config/version.def
+.include "../../mk/buildlink3/find-files.mk"
+
+.if !defined(BUILTIN_X11_VERSION.XFree86) && \
+ exists(${CF_XFREE86}) && exists(${CF_XFREE86_VERSION})
+BUILTIN_X11_VERSION.XFree86!= \
+ ${AWK} '/\#define[ ]*XF86_VERSION_MAJOR/ { M = $$3 } \
+ /\#define[ ]*XF86_VERSION_MINOR/ { m = "."$$3 } \
+ /\#define[ ]*XF86_VERSION_PATCH/ { p = "."$$3 } \
+ /\#define[ ]*XF86_VERSION_SNAP/ { s = "."$$3 } \
+ /\#define[ ]*XFree86Version/ { \
+ V = $$3; \
+ if (M == "") M = int(V / 1000) % 10; \
+ if (m == "") m = "."(int(V / 100) % 10); \
+ if (p == "") p = "."(int(V / 10) % 10); \
+ if (s == "") s = "."(V % 10); \
+ } \
+ END { if (s == ".0") s = ""; \
+ if (p == ".0" && s == "") p = ""; \
+ printf "%s%s%s%s\n", M, m, p, s }' \
+ ${CF_XFREE86_VERSION}
+.endif
+MAKEVARS+= BUILTIN_X11_VERSION.XFree86