xref: /netbsd-src/external/bsd/libbind/dist/README (revision b5677b36047b601b9addaaa494a58ceae82c2a6c)
1*b5677b36SchristosIntroduction
2*b5677b36Schristos
3*b5677b36Schristos	ISC's libbind provides the standard resolver library,
4*b5677b36Schristos	along with header files and documentation, for communicating
5*b5677b36Schristos	with domain name servers, retrieving network host entries
6*b5677b36Schristos	from /etc/hosts or via DNS, converting CIDR network addresses,
7*b5677b36Schristos	perform Hesiod information lookups, retrieve network entries
8*b5677b36Schristos	from /etc/networks, implement TSIG transaction/request
9*b5677b36Schristos	security of DNS messages, perform name-to-address and
10*b5677b36Schristos	address-to-name translations, utilize /etc/resolv.conf
11*b5677b36Schristos	for resolver configuration.
12*b5677b36Schristos
13*b5677b36Schristos	It contains many of the same historical functions and headers
14*b5677b36Schristos	included with many Unix operating systems.
15*b5677b36Schristos
16*b5677b36Schristos	Originally written for BIND 8, it was included in BIND 9 as
17*b5677b36Schristos	optionally-compiled code through release 9.5.  It has been
18*b5677b36Schristos	removed from subsequent releases of BIND 9 and is now
19*b5677b36Schristos	provided as a separate package.
20*b5677b36Schristos
21*b5677b36SchristosBuilding
22*b5677b36Schristos
23*b5677b36Schristos	The libbind library requires a system with an ANSI C compiler
24*b5677b36Schristos	and basic POSIX support.
25*b5677b36Schristos
26*b5677b36Schristos	To build, just
27*b5677b36Schristos
28*b5677b36Schristos		./configure
29*b5677b36Schristos		make
30*b5677b36Schristos
31*b5677b36Schristos	Several environment variables that can be set before running
32*b5677b36Schristos	configure will affect compilation:
33*b5677b36Schristos
34*b5677b36Schristos	    CC
35*b5677b36Schristos		The C compiler to use.	configure tries to figure
36*b5677b36Schristos		out the right one for supported systems.
37*b5677b36Schristos
38*b5677b36Schristos	    CFLAGS
39*b5677b36Schristos		C compiler flags.  Defaults to include -g and/or -O2
40*b5677b36Schristos		as supported by the compiler.
41*b5677b36Schristos
42*b5677b36Schristos	    STD_CINCLUDES
43*b5677b36Schristos		System header file directories.	 Can be used to specify
44*b5677b36Schristos		where add-on thread or IPv6 support is, for example.
45*b5677b36Schristos		Defaults to empty string.
46*b5677b36Schristos
47*b5677b36Schristos	    STD_CDEFINES
48*b5677b36Schristos		Any additional preprocessor symbols you want defined.
49*b5677b36Schristos		Defaults to empty string.
50*b5677b36Schristos
51*b5677b36Schristos		Possible settings:
52*b5677b36Schristos		Change the default syslog facility of named/lwresd.
53*b5677b36Schristos		  -DISC_FACILITY=LOG_LOCAL0
54*b5677b36Schristos		Enable DNSSEC signature chasing support in dig.
55*b5677b36Schristos		  -DDIG_SIGCHASE=1 (sets -DDIG_SIGCHASE_TD=1 and
56*b5677b36Schristos				    -DDIG_SIGCHASE_BU=1)
57*b5677b36Schristos		Disable dropping queries from particular well known ports.
58*b5677b36Schristos		  -DNS_CLIENT_DROPPORT=0
59*b5677b36Schristos		Sibling glue checking in named-checkzone is enabled by default.
60*b5677b36Schristos		To disable the default check set.  -DCHECK_SIBLING=0
61*b5677b36Schristos		named-checkzone checks out-of-zone addresses by default.
62*b5677b36Schristos		To disable this default set.  -DCHECK_LOCAL=0
63*b5677b36Schristos		Enable workaround for Solaris kernel bug about /dev/poll
64*b5677b36Schristos		  -DISC_SOCKET_USE_POLLWATCH=1
65*b5677b36Schristos		  The watch timeout is also configurable, e.g.,
66*b5677b36Schristos		  -DISC_SOCKET_POLLWATCH_TIMEOUT=20
67*b5677b36Schristos
68*b5677b36Schristos	    LDFLAGS
69*b5677b36Schristos		Linker flags. Defaults to empty string.
70*b5677b36Schristos
71*b5677b36Schristos	The following need to be set when cross compiling.
72*b5677b36Schristos
73*b5677b36Schristos	    BUILD_CC
74*b5677b36Schristos		The native C compiler.
75*b5677b36Schristos	    BUILD_CFLAGS (optional)
76*b5677b36Schristos	    BUILD_CPPFLAGS (optional)
77*b5677b36Schristos		Possible Settings:
78*b5677b36Schristos		-DNEED_OPTARG=1		(optarg is not declared in <unistd.h>)
79*b5677b36Schristos	    BUILD_LDFLAGS (optional)
80*b5677b36Schristos	    BUILD_LIBS (optional)
81*b5677b36Schristos
82*b5677b36Schristos	"make install" will install the library.  By default, installation
83*b5677b36Schristos	is into /usr/local, but this can be changed with the "--prefix"
84*b5677b36Schristos	option when running "configure".
85*b5677b36Schristos
86*b5677b36Schristos	To see additional configure options, run "configure --help".
87*b5677b36Schristos
88*b5677b36Schristos	If you need to re-run configure please run "make distclean" first.
89*b5677b36Schristos	This will ensure that all the option changes take.
90*b5677b36Schristos
91*b5677b36SchristosNotes on Usage
92*b5677b36Schristos
93*b5677b36Schristos        - Installing both libbind and BIND 9 on the same system
94*b5677b36Schristos          will produce two incompatible header files with similar
95*b5677b36Schristos          names: $PREFIX/include/isc/list.h (from BIND 9) and
96*b5677b36Schristos          $PREFIX/include/bind/isc/list.h (from libbind).  When
97*b5677b36Schristos          compiling code against libbind, be sure to set -I flags
98*b5677b36Schristos          appropriately.
99*b5677b36Schristos
100*b5677b36SchristosDocumentation
101*b5677b36Schristos
102*b5677b36Schristos	Man pages for libbind routines, in *roff and plaintext format,
103*b5677b36Schristos	are included with the release.
104*b5677b36Schristos
105*b5677b36SchristosBug Reports and Mailing Lists
106*b5677b36Schristos
107*b5677b36Schristos	Bugs reports should be sent to
108*b5677b36Schristos
109*b5677b36Schristos		libbind-bugs@isc.org
110*b5677b36Schristos
111*b5677b36Schristos	Discussions of libbind can be send to the BIND Users mailing
112*b5677b36Schristos	list.  To subscribe, send mail to:
113*b5677b36Schristos
114*b5677b36Schristos		bind-users-subscribe@isc.org
115*b5677b36Schristos
116*b5677b36Schristos	Archives of that list can be found at:
117*b5677b36Schristos
118*b5677b36Schristos		https://lists.isc.org/pipermail/bind-users/
119*b5677b36Schristos
120*b5677b36Schristos	If you're planning on making changes to the libbind source
121*b5677b36Schristos	code, you might want to join the BIND Workers mailing list.
122*b5677b36Schristos	To subscribe, send mail to:
123*b5677b36Schristos
124*b5677b36Schristos		bind-workers-subscribe@isc.org
125*b5677b36Schristos
126