xref: /netbsd/external/mpl/dhcp/dist/doc/BIND-libraries (revision 3965be93)
1Current ISC DHCP uses the BIND 9 libraries for some services.
2These libraries can be embedded in the bind directory or external using
3the configuration parameter --with-libbind=PATH with PATh pointing to
4the directory where can be found includes and libraries.
5
6Using standard embedded libraries is safe but you can configure
7them with extra parameters (cf --with-bind-extra-config) or simply
8use external libraries with a different configuration.
9
10Note if you want to share libraries between bind 9 and ISC DHCP
11BIND 9 must be built and installed before ISC DHCP build is configured.
12
13Three cases are possible:
14 - everything builds and works fine
15
16 - building requires extra parameters, for instance --enable-threads
17  can require a link parameter to find  POSIX threads.
18  In this case you should look at the config.status file of the bind
19  libraries, take CC, CPPFLAGS, CFLAGS, LIBS or LDFLAGS related
20  parameters, and add them to the call to make.
21
22 - even when the previous step succeeds ISC DHCP still does not work
23  properly. We are trying to collect such cases (cf the list bellow)
24  but unfortunately you have to forget the particular feature.
25
26Below you have 3 kinds of don't use:
27 - please don't use means it should likely break ISC DHCP
28
29 - don't use means unless you don't have a good reason to use it
30
31 - by default don't use it means you should not use it for embedded
32  libraries but it doesn't lead to problems (other than possible
33  new ISC DHCP build flags and bigger binaries) when used for
34  external BIND 9 libraries
35
36Possible bind9 configuration flags (list built from bind 9.11 and bind 9.12
37various branches even ISC DHCP uses only the git v9_11 branch):
38 -h, --help, -V, --version
39    make configure to exit immediately so don't use
40
41 -q, --quiet, --silent, --cache-file, -C, --config-cache,
42 --with-make-clean
43    you have no reason to use them but they should not have bad effect
44
45 -n, --no-create
46    make configure to exit too early so don't use
47
48 --prefix, --exec-prefix
49    not used for embedded libraries but used by BIND 9
50
51 --bindir, --sbindir, --libexecdir, --sysconfdir, --sharedstatedir,
52 --localstatedir, --oldincludedir,  --datarootdir, --datadir, --infodir,
53 --localedir, --mandir, --docdir, --htmldir, --dvidir, --pdfdir, --psdir
54    not used for embedded nor BIND 9 for its includes and libraries
55
56 --libdir, --includedir
57    used for embedded libraries for the make install (cf the
58    --enable-bind-install ISC DHCP configuration parameter)
59
60 --build, --host
61    used for cross compiling and handled by ISC DHCP configure
62
63 --disable-option-checking
64    this disables a sanity check so please don't use
65
66 --enable-shared, --enable-static, --enable-fast-install
67    ignored by embedded or BIND 9 libraries configure
68
69 --disable-libtool-lock
70    parallel builds don't work for embedded or BIND 9 libraries build
71    so it should not have any effect
72
73  --enable-libbind
74    this was deprecated so please don't use
75
76  --enable-warn-shadow
77    for developers, should have no effect if compilers don't raise errors
78    (vs warnings) on this (and a shadowing was left)
79
80  --enable-warn-error, --with-sysroot
81    this likely breaks the build so please don't use
82
83  --enable-developer
84    for developers, should have no direct effect but still recommend
85    to not use it
86
87  --enable-afl
88    for developers, useless for ISC DHCP so don't use
89
90  --enable-seccomp
91    this should not have any effect for ISC DHCP?
92
93  --enable-kqueue, --enable-epoll, --enable-devpoll
94    please use them at the ISC DHCP configure level, they should work
95    but not yet fully tested so use at your own risk
96
97  --enable-threads
98    this should work but not yet fully tested so use at your own risk.
99    Note on many systems it requires an extra flag for ISC DHCP building
100    and some experiments showed a large slow down when this is enabled
101
102  --enable-native-pkcs11
103    You should not have a reason to use this and it likely won't work
104    so please don't use
105
106  --enable-openssl-version-check
107    You should never use an antic version of OpenSSL with known
108    security bugs so please don't use
109
110  --enable-openssl-hash
111    Comes with --with-openssl so if OpenSSL raises some problems with
112    hash or HMAC you can try to disable this
113
114  --enable-crypto-rand
115    Comes with --with-openssl so if OpenSSL raises some problems with
116    random number generation you can try to disable this
117
118  --enable-largefile
119    Perhaps there is no systems today where this is required so
120    by default don't use
121
122  --enable-backtrace, --enable-symtable
123    this should have no effect for ISC DHCP?
124
125  --enable-ipv6, --disable-tcp-fastopen, --enable-getifaddrs, --enable-atomic
126    please leave embedded or BIND 9 libraries configure to do its job
127    so please don't use
128
129  --disable-isc-spnego, --with-gssapi
130    this should have no effect for ISC DHCP?
131
132  --enable-full-report
133    this should have no effect for ISC DHCP but is still useful
134    to get more information about bind configuration so use it
135    if you believe it can be useful
136
137  --disable-chroot, --disable-linux-caps, --enable-fixed-rrset,
138  --disable-rpz-nsip, --disable-rpz-nsdname, --enable-filter-aaaa,
139  --enable-querytrace, --with-python, --with-python-install-dir,
140  --with-locktype, --with-pkcs11, --with-ecdsa, --with-gost,
141  --with-eddsa, --with-aes, --with-cc-alg, --with-purify,
142  --with-gperftools-profiler, --with-kame, --with-docbook-xsl,
143  --with-dlopen
144    this should have no effect for ISC DHCP
145
146  --enable-dnsrps-dl, --enable-dnsrps, --enable-dnstap, --with-geoip,
147  --with-lmdb, --with-libxml2, --with-libjson, --with-zlib,
148  --with-readline, --with-dnsrps-libname, --with-dnsrps-dir,
149  --with-protobuf-c, --with-libfstrm, --with-idn, --with-libiconv,
150  --with-iconv, --with-idnlib, --with-dlz-*
151    useless for ISC DHCP so by default don't use
152
153  --with-pic
154    this should have no effect for ISC DHCP?
155
156  --with-gnu-ld
157    this should have no effect for ISC DHCP?
158
159  --with-randomdev, --with-atf
160    please use them at the ISC DHCP configure level
161
162  --with-libtool
163    please leave the ISC DHCP configure manage this
164
165  --with-openssl
166    useless for ISC DHCP by default don't use but remember it is
167    required for DNSSEC
168
169  --with-tuning
170    by default don't use
171