bind: add support for building bind with libxml2 or libjson

At least one of libjson|libxml2 is required for bind
statistics to function.

Selecting libjson|libxml2 will result in an additional
dependency required to build and install bind-libs.

Signed-off-by: Hal Martin <hal.martin@gmail.com>
This commit is contained in:
Hal Martin 2017-11-20 22:51:27 +00:00
parent 1b8d8770ff
commit 66231b6d24
2 changed files with 53 additions and 4 deletions

View file

@ -14,4 +14,24 @@ config BIND_ENABLE_FILTER_AAAA
Additional details are available at
https://kb.isc.org/article/AA-00576/0/Filter-AAAA-option-in-BIND-9-.html
config BIND_LIBJSON
bool
default n
prompt "Include libjson support in bind-server"
help
BIND 9 supports reporting statistics about usage. libjson
is required to report server statistics in JSON format.
Building with libjson support will require the libjson-c
package to be installed as well.
config BIND_LIBXML2
bool
default n
prompt "Include libxml2 support in bind-server"
help
BIND 9 supports reporting statistics about usage.
libxml2 is required to report server statistics in XML
format. Building with libjson support will require the
libxml2 package to be installed as well.
endif

View file

@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=bind
PKG_VERSION:=9.11.2
PKG_RELEASE:=2
PKG_RELEASE:=3
USERID:=bind=57:bind=57
PKG_MAINTAINER:=Noah Meyerhans <frodo@morgul.net>
@ -29,7 +29,16 @@ PKG_INSTALL:=1
PKG_USE_MIPS16:=0
PKG_CONFIG_DEPENDS := \
CONFIG_BIND_ENABLE_FILTER_AAAA
CONFIG_BIND_ENABLE_FILTER_AAAA \
CONFIG_BIND_LIBJSON \
CONFIG_BIND_LIBXML2
ifdef CONFIG_BIND_LIBXML2
PKG_BUILD_DEPENDS += libxml2
endif
ifdef CONFIG_BIND_LIBJSON
PKG_BUILD_DEPENDS += libjson-c
endif
include $(INCLUDE_DIR)/package.mk
@ -48,6 +57,12 @@ define Package/bind-libs
DEPENDS:=+libopenssl +zlib
TITLE:=bind shared libraries
URL:=https://www.isc.org/software/bind
ifdef CONFIG_BIND_LIBJSON
DEPENDS+= +libjson-c
endif
ifdef CONFIG_BIND_LIBXML2
DEPENDS+= +libxml2
endif
endef
define Package/bind-server
@ -104,9 +119,7 @@ CONFIGURE_ARGS += \
--disable-threads \
--disable-linux-caps \
--with-openssl="$(STAGING_DIR)/usr" \
--with-libjson=no \
--with-libtool \
--with-libxml2=no \
--without-lmdb \
--enable-epoll=yes \
--with-gost=no \
@ -120,6 +133,22 @@ ifdef CONFIG_BIND_ENABLE_FILTER_AAAA
--enable-filter-aaaa
endif
ifdef CONFIG_BIND_LIBJSON
CONFIGURE_ARGS += \
--with-libjson="$(STAGING_DIR)/usr"
else
CONFIGURE_ARGS += \
--with-libjson=no
endif
ifdef CONFIG_BIND_LIBXML2
CONFIGURE_ARGS += \
--with-libxml2="$(STAGING_DIR)/usr"
else
CONFIGURE_ARGS += \
--with-libxml2=no
endif
CONFIGURE_VARS += \
BUILD_CC="$(TARGET_CC)" \