4 .include <bsd.endian.mk>
7 .if defined(BIND_DIR) && exists(${BIND_DIR}/version)
8 .include "${BIND_DIR}/version"
9 BIND_VERSION= ${MAJORVER}.${MINORVER}.${PATCHVER}${RELEASETYPE}${RELEASEVER}
10 CFLAGS+= -DVERSION='"${BIND_VERSION}"'
13 CFLAGS+= -DHAVE_CONFIG_H
14 CFLAGS+= -D_REENTRANT -D_THREAD_SAFE
16 # Get version numbers (for libraries)
17 .if defined(SRCDIR) && exists(${SRCDIR}/api)
18 .include "${SRCDIR}/api"
19 CFLAGS+= -DLIBINTERFACE=${LIBINTERFACE}
20 CFLAGS+= -DLIBREVISION=${LIBREVISION}
21 CFLAGS+= -DLIBAGE=${LIBAGE}
22 .if ${MK_BIND_LIBS} != "no"
23 SHLIB_MAJOR= ${LIBINTERFACE}
24 SHLIB_MINOR= ${LIBINTERFACE}
30 # GSSAPI support is incomplete in 9.3.0
31 #.if ${MK_KERBEROS} != "no"
35 # Enable IPv6 support if available
36 .if ${MK_INET6_SUPPORT} != "no"
40 # Enable crypto if available
41 .if ${MK_OPENSSL} != "no"
45 # Enable MD5 - BIND has its own implementation
49 .if ${TARGET_ENDIANNESS} == 4321
50 CFLAGS+= -DWORDS_BIGENDIAN
53 # Default file locations
55 SYSCONFDIR= /etc/namedb
56 CFLAGS+= -DNS_LOCALSTATEDIR='"${LOCALSTATEDIR}"'
57 CFLAGS+= -DNS_SYSCONFDIR='"${SYSCONFDIR}"'
58 CFLAGS+= -DNAMED_CONFFILE='"${SYSCONFDIR}/named.conf"'
59 CFLAGS+= -DRNDC_CONFFILE='"${SYSCONFDIR}/rndc.conf"'
60 CFLAGS+= -DRNDC_KEYFILE='"${SYSCONFDIR}/rndc.key"'
62 # Add correct include path for config.h
63 .if defined(LIB_BIND_DIR) && exists(${LIB_BIND_DIR}/config.h)
64 CFLAGS+= -I${LIB_BIND_DIR}
67 # Use the right version of the atomic.h file from lib/isc
68 .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
69 ISC_ATOMIC_ARCH= x86_32
70 .elif ${MACHINE_ARCH} == "ia64"
73 ISC_ATOMIC_ARCH= noatomic
77 .if ${MK_BIND_LARGE_FILE} == "yes"
78 CFLAGS+= -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
80 .if ${MK_BIND_SIGCHASE} == "yes"
81 CFLAGS+= -DDIG_SIGCHASE
84 # Link against BIND libraries
85 .if ${MK_BIND_LIBS} == "no"
86 LIBBIND9= ${LIB_BIND_REL}/bind9/libbind9.a
87 CFLAGS+= -I${BIND_DIR}/lib/bind9/include
88 LIBDNS= ${LIB_BIND_REL}/dns/libdns.a
89 CFLAGS+= -I${BIND_DIR}/lib/dns/include/dst \
90 -I${BIND_DIR}/lib/dns/include \
92 LIBISCCC= ${LIB_BIND_REL}/isccc/libisccc.a
93 CFLAGS+= -I${BIND_DIR}/lib/isccc/include
94 LIBISCCFG= ${LIB_BIND_REL}/isccfg/libisccfg.a
95 CFLAGS+= -I${BIND_DIR}/lib/isccfg/include
96 LIBISC= ${LIB_BIND_REL}/isc/libisc.a
97 CFLAGS+= -I${BIND_DIR}/lib/isc/unix/include \
98 -I${BIND_DIR}/lib/isc/pthreads/include \
99 -I${BIND_DIR}/lib/isc/include \
100 -I${LIB_BIND_DIR}/isc
101 LIBLWRES= ${LIB_BIND_REL}/lwres/liblwres.a
102 CFLAGS+= -I${BIND_DIR}/lib/lwres/unix/include \
103 -I${BIND_DIR}/lib/lwres/include \
104 -I${LIB_BIND_DIR}/lwres
106 BIND_DPADD= ${LIBBIND9} ${LIBDNS} ${LIBISCCC} ${LIBISCCFG} \
107 ${LIBISC} ${LIBLWRES}
108 .if ${MK_BIND_LIBS} != "no"
109 BIND_LDADD= -lbind9 -ldns -lisccc -lisccfg -lisc -llwres
110 CFLAGS+= -I${BIND_DIR}/lib/isc/include
111 CFLAGS+= -I${BIND_DIR}/lib/isc/unix/include
112 CFLAGS+= -I${BIND_DIR}/lib/isc/pthreads/include
113 CFLAGS+= -I${.CURDIR}/../dns
114 CFLAGS+= -I${BIND_DIR}/lib/dns/include
115 CFLAGS+= -I${BIND_DIR}/lib/isccfg/include
116 CFLAGS+= -I${.CURDIR}/../isc
118 BIND_LDADD= ${BIND_DPADD}
121 # Link against crypto library
122 .if ${MK_OPENSSL} != "no"
123 CRYPTO_DPADD= ${LIBCRYPTO}
124 CRYPTO_LDADD= -lcrypto
127 .if ${MK_BIND_XML} == "yes"
128 CFLAGS+= -DHAVE_LIBXML2
129 CFLAGS+= -I/usr/local/include -I/usr/local/include/libxml2
130 .if ${MK_BIND_LIBS} != "no"
131 BIND_LDADD+= -L/usr/local/lib -lxml2 -lz -liconv -lm
133 BIND_DPADD+= /usr/local/lib/libxml2.a ${LIBZ}
134 BIND_DPADD+= /usr/local/lib/libiconv.a ${LIBM}
138 PTHREAD_DPADD= ${LIBPTHREAD}
139 PTHREAD_LDADD= -lpthread