bind.mk 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. ################################################################################
  2. #
  3. # bind
  4. #
  5. ################################################################################
  6. BIND_VERSION = 9.11.22
  7. BIND_SITE = https://ftp.isc.org/isc/bind9/$(BIND_VERSION)
  8. # bind does not support parallel builds.
  9. BIND_MAKE = $(MAKE1)
  10. BIND_INSTALL_STAGING = YES
  11. BIND_CONFIG_SCRIPTS = bind9-config isc-config.sh
  12. BIND_LICENSE = MPL-2.0
  13. BIND_LICENSE_FILES = COPYRIGHT
  14. BIND_TARGET_SERVER_SBIN = arpaname ddns-confgen dnssec-checkds dnssec-coverage
  15. BIND_TARGET_SERVER_SBIN += dnssec-importkey dnssec-keygen dnssec-revoke
  16. BIND_TARGET_SERVER_SBIN += dnssec-settime dnssec-verify genrandom
  17. BIND_TARGET_SERVER_SBIN += isc-hmac-fixup named-journalprint nsec3hash
  18. BIND_TARGET_SERVER_SBIN += lwresd named named-checkconf named-checkzone
  19. BIND_TARGET_SERVER_SBIN += named-compilezone rndc rndc-confgen dnssec-dsfromkey
  20. BIND_TARGET_SERVER_SBIN += dnssec-keyfromlabel dnssec-signzone tsig-keygen
  21. BIND_TARGET_TOOLS_BIN = dig host nslookup nsupdate
  22. BIND_CONF_ENV = \
  23. BUILD_CC="$(TARGET_CC)" \
  24. BUILD_CFLAGS="$(TARGET_CFLAGS)"
  25. BIND_CONF_OPTS = \
  26. $(if $(BR2_TOOLCHAIN_HAS_THREADS),--enable-threads,--disable-threads) \
  27. --without-lmdb \
  28. --with-libjson=no \
  29. --with-randomdev=/dev/urandom \
  30. --enable-epoll \
  31. --with-gssapi=no \
  32. --enable-filter-aaaa
  33. ifeq ($(BR2_PACKAGE_ZLIB),y)
  34. BIND_CONF_OPTS += --with-zlib=$(STAGING_DIR)/usr
  35. BIND_DEPENDENCIES += zlib
  36. else
  37. BIND_CONF_OPTS += --without-zlib
  38. endif
  39. ifeq ($(BR2_PACKAGE_LIBCAP),y)
  40. BIND_CONF_OPTS += --enable-linux-caps
  41. BIND_DEPENDENCIES += libcap
  42. else
  43. BIND_CONF_OPTS += --disable-linux-caps
  44. endif
  45. ifeq ($(BR2_PACKAGE_LIBXML2),y)
  46. BIND_CONF_OPTS += --with-libxml2=$(STAGING_DIR)/usr --enable-newstats
  47. BIND_DEPENDENCIES += libxml2
  48. else
  49. BIND_CONF_OPTS += --with-libxml2=no
  50. endif
  51. ifeq ($(BR2_PACKAGE_OPENSSL),y)
  52. BIND_DEPENDENCIES += host-pkgconf openssl
  53. BIND_CONF_OPTS += \
  54. --with-openssl=$(STAGING_DIR)/usr \
  55. --with-ecdsa=yes \
  56. --with-eddsa=no \
  57. --with-aes=yes
  58. BIND_CONF_ENV += LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl`
  59. # GOST cipher support requires openssl extra engines
  60. ifeq ($(BR2_PACKAGE_OPENSSL_ENGINES),y)
  61. BIND_CONF_OPTS += --with-gost=yes
  62. else
  63. BIND_CONF_OPTS += --with-gost=no
  64. endif
  65. else
  66. BIND_CONF_OPTS += --with-openssl=no
  67. endif
  68. # Used by dnssec-keymgr
  69. ifeq ($(BR2_PACKAGE_PYTHON_PLY),y)
  70. BIND_DEPENDENCIES += host-python-ply
  71. BIND_CONF_OPTS += --with-python=$(HOST_DIR)/usr/bin/python
  72. else
  73. BIND_CONF_OPTS += --with-python=no
  74. endif
  75. ifeq ($(BR2_PACKAGE_READLINE),y)
  76. BIND_DEPENDENCIES += readline
  77. else
  78. BIND_CONF_OPTS += --with-readline=no
  79. endif
  80. ifeq ($(BR2_STATIC_LIBS),y)
  81. BIND_CONF_OPTS += \
  82. --without-dlopen \
  83. --without-libtool
  84. else
  85. BIND_CONF_OPTS += \
  86. --with-dlopen \
  87. --with-libtool
  88. endif
  89. define BIND_TARGET_REMOVE_SERVER
  90. rm -rf $(addprefix $(TARGET_DIR)/usr/sbin/, $(BIND_TARGET_SERVER_SBIN))
  91. endef
  92. define BIND_TARGET_REMOVE_TOOLS
  93. rm -rf $(addprefix $(TARGET_DIR)/usr/bin/, $(BIND_TARGET_TOOLS_BIN))
  94. endef
  95. ifeq ($(BR2_PACKAGE_BIND_SERVER),y)
  96. define BIND_INSTALL_INIT_SYSV
  97. $(INSTALL) -m 0755 -D $(BIND_PKGDIR)/S81named \
  98. $(TARGET_DIR)/etc/init.d/S81named
  99. endef
  100. define BIND_INSTALL_INIT_SYSTEMD
  101. $(INSTALL) -D -m 644 $(BIND_PKGDIR)/named.service \
  102. $(TARGET_DIR)/usr/lib/systemd/system/named.service
  103. endef
  104. else
  105. BIND_POST_INSTALL_TARGET_HOOKS += BIND_TARGET_REMOVE_SERVER
  106. endif
  107. ifeq ($(BR2_PACKAGE_BIND_TOOLS),)
  108. BIND_POST_INSTALL_TARGET_HOOKS += BIND_TARGET_REMOVE_TOOLS
  109. endif
  110. define BIND_USERS
  111. named -1 named -1 * /etc/bind - - BIND daemon
  112. endef
  113. $(eval $(autotools-package))