summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mk/defaults/mk.conf9
-rw-r--r--mk/libusb.buildlink3.mk36
2 files changed, 44 insertions, 1 deletions
diff --git a/mk/defaults/mk.conf b/mk/defaults/mk.conf
index e669bc8297a..50f119d1bf5 100644
--- a/mk/defaults/mk.conf
+++ b/mk/defaults/mk.conf
@@ -1,4 +1,4 @@
-# $NetBSD: mk.conf,v 1.290 2018/01/02 05:49:44 maya Exp $
+# $NetBSD: mk.conf,v 1.291 2018/02/10 13:45:45 khorben Exp $
#
# This file provides default values for variables that may be overridden
@@ -1246,6 +1246,13 @@ JAKARTA_HOME?= ${JAVA_HOME}/jakarta
# Possible: any libdvdcss site
# Default: not defined
+LIBUSB_TYPE?= native
+# Used in packages using libusb (version 0.x) to choose a specific
+# implementation. On NetBSD, compat has the advantage of not requiring root
+# privileges to locate and use USB devices without a kernel driver.
+# Possible: compat, native
+# Default: native
+
#LATEX2HTML_ICONPATH=
# Used in the latex2html package to set URL prefix for where to
# find latex2html's icons.
diff --git a/mk/libusb.buildlink3.mk b/mk/libusb.buildlink3.mk
new file mode 100644
index 00000000000..7a4146b2c36
--- /dev/null
+++ b/mk/libusb.buildlink3.mk
@@ -0,0 +1,36 @@
+# $NetBSD: libusb.buildlink3.mk,v 1.1 2018/02/10 13:45:45 khorben Exp $
+#
+# This Makefile is meant to be included by packages that require an
+# implementation of the former libusb (still found in devel/libusb). The
+# original implementation can be chosen by setting LIBUSB_TYPE to "native".
+#
+# The alternative implementation libusb-compat (found in devel/libusb-compat)
+# wraps libusb1 (in devel/libusb1). This implementation can be chosen by setting
+# LIBUSB_TYPE to "compat". On NetBSD, it has the advantage of not requiring root
+# privileges to locate and use USB devices without a kernel driver.
+#
+# === User-settable variables ===
+#
+# LIBUSB_TYPE
+# The name of the libusb implementation to default to, native or compat.
+#
+
+MK_LIBUSB_BUILDLINK3_MK:= ${MK_LIBUSB_BUILDLINK3_MK}+
+
+.include "../../mk/bsd.fast.prefs.mk"
+
+.if !empty(MK_LIBUSB_BUILDLINK3_MK:M+)
+
+LIBUSB_TYPE?= none
+
+BUILD_DEFS+= LIBUSB_TYPE
+
+. if ${LIBUSB_TYPE} == "native"
+. include "../../devel/libusb/buildlink3.mk"
+. elif ${LIBUSB_TYPE} == "compat"
+. include "../../devel/libusb-compat/buildlink3.mk"
+. else
+PKG_FAIL_REASON+= "[libusb.buildlink3.mk] Invalid value ${LIBUSB_TYPE} for LIBUSB_TYPE."
+. endif
+
+.endif # MK_LIBUSB_BUILDLINK3_MK