Current ISC DHCP uses the BIND 9 libraries for some services.
These libraries can be embedded in the bind directory or external using
the configuration parameter --with-libbind=PATH with PATh pointing to
the directory where can be found includes and libraries.

Using standard embedded libraries is safe but you can configure
them with extra parameters (cf --with-bind-extra-config) or simply
use external libraries with a different configuration.

Note if you want to share libraries between bind 9 and ISC DHCP
BIND 9 must be built and installed before ISC DHCP build is configured.

Three cases are possible:
 - everything builds and works fine

 - building requires extra parameters, for instance --enable-threads
  can require a link parameter to find  POSIX threads.
  In this case you should look at the config.status file of the bind
  libraries, take CC, CPPFLAGS, CFLAGS, LIBS or LDFLAGS related
  parameters, and add them to the call to make.

 - even when the previous step succeeds ISC DHCP still does not work
  properly. We are trying to collect such cases (cf the list bellow)
  but unfortunately you have to forget the particular feature.

Below you have 3 kinds of don't use:
 - please don't use means it should likely break ISC DHCP

 - don't use means unless you don't have a good reason to use it

 - by default don't use it means you should not use it for embedded
  libraries but it doesn't lead to problems (other than possible
  new ISC DHCP build flags and bigger binaries) when used for
  external BIND 9 libraries

Possible bind9 configuration flags (list built from bind 9.11 and bind 9.12
various branches even ISC DHCP uses only the git v9_11 branch):
 -h, --help, -V, --version
    make configure to exit immediately so don't use

 -q, --quiet, --silent, --cache-file, -C, --config-cache,
 --with-make-clean
    you have no reason to use them but they should not have bad effect

 -n, --no-create
    make configure to exit too early so don't use

 --prefix, --exec-prefix
    not used for embedded libraries but used by BIND 9

 --bindir, --sbindir, --libexecdir, --sysconfdir, --sharedstatedir,
 --localstatedir, --oldincludedir,  --datarootdir, --datadir, --infodir,
 --localedir, --mandir, --docdir, --htmldir, --dvidir, --pdfdir, --psdir
    not used for embedded nor BIND 9 for its includes and libraries

 --libdir, --includedir
    used for embedded libraries for the make install (cf the
    --enable-bind-install ISC DHCP configuration parameter)

 --build, --host
    used for cross compiling and handled by ISC DHCP configure

 --disable-option-checking
    this disables a sanity check so please don't use

 --enable-shared, --enable-static, --enable-fast-install
    ignored by embedded or BIND 9 libraries configure

 --disable-libtool-lock
    parallel builds don't work for embedded or BIND 9 libraries build
    so it should not have any effect

  --enable-libbind
    this was deprecated so please don't use

  --enable-warn-shadow
    for developers, should have no effect if compilers don't raise errors
    (vs warnings) on this (and a shadowing was left)

  --enable-warn-error, --with-sysroot
    this likely breaks the build so please don't use

  --enable-developer
    for developers, should have no direct effect but still recommend
    to not use it

  --enable-afl
    for developers, useless for ISC DHCP so don't use

  --enable-seccomp
    this should not have any effect for ISC DHCP?

  --enable-kqueue, --enable-epoll, --enable-devpoll
    please use them at the ISC DHCP configure level, they should work
    but not yet fully tested so use at your own risk

  --enable-threads
    this should work but not yet fully tested so use at your own risk.
    Note on many systems it requires an extra flag for ISC DHCP building
    and some experiments showed a large slow down when this is enabled

  --enable-native-pkcs11
    You should not have a reason to use this and it likely won't work
    so please don't use

  --enable-openssl-version-check
    You should never use an antic version of OpenSSL with known
    security bugs so please don't use

  --enable-openssl-hash
    Comes with --with-openssl so if OpenSSL raises some problems with
    hash or HMAC you can try to disable this

  --enable-crypto-rand
    Comes with --with-openssl so if OpenSSL raises some problems with
    random number generation you can try to disable this

  --enable-largefile
    Perhaps there is no systems today where this is required so
    by default don't use

  --enable-backtrace, --enable-symtable
    this should have no effect for ISC DHCP?

  --enable-ipv6, --disable-tcp-fastopen, --enable-getifaddrs, --enable-atomic
    please leave embedded or BIND 9 libraries configure to do its job
    so please don't use

  --disable-isc-spnego, --with-gssapi
    this should have no effect for ISC DHCP?

  --enable-full-report
    this should have no effect for ISC DHCP but is still useful
    to get more information about bind configuration so use it
    if you believe it can be useful

  --disable-chroot, --disable-linux-caps, --enable-fixed-rrset,
  --disable-rpz-nsip, --disable-rpz-nsdname, --enable-filter-aaaa,
  --enable-querytrace, --with-python, --with-python-install-dir,
  --with-locktype, --with-pkcs11, --with-ecdsa, --with-gost,
  --with-eddsa, --with-aes, --with-cc-alg, --with-purify,
  --with-gperftools-profiler, --with-kame, --with-docbook-xsl,
  --with-dlopen
    this should have no effect for ISC DHCP

  --enable-dnsrps-dl, --enable-dnsrps, --enable-dnstap, --with-geoip,
  --with-lmdb, --with-libxml2, --with-libjson, --with-zlib,
  --with-readline, --with-dnsrps-libname, --with-dnsrps-dir,
  --with-protobuf-c, --with-libfstrm, --with-idn, --with-libiconv,
  --with-iconv, --with-idnlib, --with-dlz-*
    useless for ISC DHCP so by default don't use

  --with-pic
    this should have no effect for ISC DHCP?

  --with-gnu-ld
    this should have no effect for ISC DHCP?

  --with-randomdev, --with-atf
    please use them at the ISC DHCP configure level

  --with-libtool
    please leave the ISC DHCP configure manage this

  --with-openssl
    useless for ISC DHCP by default don't use but remember it is
    required for DNSSEC

  --with-tuning
    by default don't use
