bind: add support for building bind with libxml2 or libjson
authorHal Martin <hal.martin@gmail.com>
Mon, 20 Nov 2017 22:51:27 +0000 (22:51 +0000)
committerHal Martin <hal.martin@gmail.com>
Thu, 23 Nov 2017 15:15:40 +0000 (15:15 +0000)
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>
net/bind/Config.in
net/bind/Makefile

index 04d6bdc1b15d055a08c84a2a9f475a6b8374093e..ed3734642d7a8bf2ff77064154f70f4e53382183 100644 (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
index bd33aa2ff977dfd5e9537f06fa6345a2988d6759..229e1006ec1b40316a5c661b7696fbc095d0b46e 100644 (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)" \