summaryrefslogtreecommitdiff
path: root/net/bind918/builtin.mk
diff options
context:
space:
mode:
authorsekiya <sekiya@pkgsrc.org>2022-12-11 01:57:55 +0000
committersekiya <sekiya@pkgsrc.org>2022-12-11 01:57:55 +0000
commita8edf4e166fedfcb55e9dbdaf9e5aaa4afce6585 (patch)
tree54d7cf5405ac5c42d4d8b2ce8627464e7d4bc11c /net/bind918/builtin.mk
parent7243686bb27ea30f79fe0af6aab47f5efe819c97 (diff)
downloadpkgsrc-a8edf4e166fedfcb55e9dbdaf9e5aaa4afce6585.tar.gz
Add net/bind918
Diffstat (limited to 'net/bind918/builtin.mk')
-rw-r--r--net/bind918/builtin.mk91
1 files changed, 91 insertions, 0 deletions
diff --git a/net/bind918/builtin.mk b/net/bind918/builtin.mk
new file mode 100644
index 00000000000..dc68b9043dd
--- /dev/null
+++ b/net/bind918/builtin.mk
@@ -0,0 +1,91 @@
+# $NetBSD: builtin.mk,v 1.1 2022/12/11 01:57:55 sekiya Exp $
+
+BUILTIN_PKG:= bind
+
+BUILTIN_FIND_FILES_VAR:= EXE_NAMED
+BUILTIN_FIND_FILES.EXE_NAMED= /usr/sbin/named
+BUILTIN_FIND_LIBS:= bind
+
+.include "../../mk/buildlink3/bsd.builtin.mk"
+
+###
+### Figure out the version of BIND if an ISC BIND named exists on the
+### system.
+###
+.if !defined(BUILTIN_VERSION.bind) && \
+ empty(EXE_NAMED:M__nonexistent__) && \
+ empty(EXE_NAMED:M${LOCALBASE}/*)
+BUILTIN_VERSION.bind!= \
+ ${EXE_NAMED} -v 2>/dev/null | ${HEAD} -1 | \
+ ${AWK} 'BEGIN { v = "4.9.11"; } \
+ /^BIND / { v = $$2; sub("-.*", "", v); } \
+ /^named / { v = $$2; sub("-.*", "", v); } \
+ END { print v; }'
+.endif
+MAKEVARS+= BUILTIN_VERSION.bind
+
+###
+### Determine if there is a built-in implementation of the package and
+### set IS_BUILTIN.<pkg> appropriately ("yes" or "no").
+###
+.if !defined(IS_BUILTIN.bind)
+IS_BUILTIN.bind= no
+. if defined(BUILTIN_VERSION.bind)
+IS_BUILTIN.bind= yes
+. endif
+.endif
+MAKEVARS+= IS_BUILTIN.bind
+
+###
+### 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.bind) && \
+ ${IS_BUILTIN.bind:tl} == yes && \
+ defined(BUILTIN_VERSION.bind)
+BUILTIN_PKG.bind= bind-${BUILTIN_VERSION.bind}
+.endif
+MAKEVARS+= BUILTIN_PKG.bind
+
+###
+### 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.bind)
+. if ${PREFER.bind} == "pkgsrc"
+USE_BUILTIN.bind= no
+. else
+USE_BUILTIN.bind= ${IS_BUILTIN.bind}
+. if defined(BUILTIN_PKG.bind) && \
+ ${IS_BUILTIN.bind:tl} == yes
+USE_BUILTIN.bind= yes
+. for dep in ${BUILDLINK_API_DEPENDS.bind}
+. if ${USE_BUILTIN.bind:tl} == yes
+USE_BUILTIN.bind!= \
+ if ${PKG_ADMIN} pmatch ${dep:Q} ${BUILTIN_PKG.bind:Q}; then \
+ ${ECHO} yes; \
+ else \
+ ${ECHO} no; \
+ fi
+. endif
+. endfor
+. endif
+. endif # PREFER.bind
+.endif
+MAKEVARS+= USE_BUILTIN.bind
+
+###
+### The section below only applies if we are not including this file
+### solely to determine whether a built-in implementation exists.
+###
+CHECK_BUILTIN.bind?= no
+.if ${CHECK_BUILTIN.bind:tl} == no
+. if ${USE_BUILTIN.bind:tl} == yes
+. if ${BUILTIN_LIB_FOUND.bind:U:tl} == yes
+BUILDLINK_LDADD.bind?= -lbind
+. endif
+. elif ${USE_BUILTIN.bind:tl} == no
+BUILDLINK_LDADD.bind?= -lbind
+. endif
+
+.endif # CHECK_BUILTIN.bind