1135549Sdes# $FreeBSD$ 2135549Sdes 3156813Sru.include <bsd.own.mk> 4217071Simp.include <bsd.endian.mk> 5156813Sru 6135569Sdes# BIND version number 7135607Sdes.if defined(BIND_DIR) && exists(${BIND_DIR}/version) 8135607Sdes.include "${BIND_DIR}/version" 9135607SdesBIND_VERSION= ${MAJORVER}.${MINORVER}.${PATCHVER}${RELEASETYPE}${RELEASEVER} 10135607SdesCFLAGS+= -DVERSION='"${BIND_VERSION}"' 11135607Sdes.endif 12135549Sdes 13135569SdesCFLAGS+= -DHAVE_CONFIG_H 14174189SdougbCFLAGS+= -D_REENTRANT -D_THREAD_SAFE 15135569Sdes 16135569Sdes# Get version numbers (for libraries) 17135549Sdes.if defined(SRCDIR) && exists(${SRCDIR}/api) 18135549Sdes.include "${SRCDIR}/api" 19135549SdesCFLAGS+= -DLIBINTERFACE=${LIBINTERFACE} 20135739SruCFLAGS+= -DLIBREVISION=${LIBREVISION} 21135739SruCFLAGS+= -DLIBAGE=${LIBAGE} 22156813Sru.if ${MK_BIND_LIBS} != "no" 23135549SdesSHLIB_MAJOR= ${LIBINTERFACE} 24135549SdesSHLIB_MINOR= ${LIBINTERFACE} 25135739Sru.else 26136911SruINTERNALLIB= 27135549Sdes.endif 28135739Sru.endif 29135549Sdes 30135604Sdes# GSSAPI support is incomplete in 9.3.0 31156813Sru#.if ${MK_KERBEROS} != "no" 32135549Sdes#CFLAGS+= -DGSSAPI 33135549Sdes#.endif 34135549Sdes 35135569Sdes# Enable IPv6 support if available 36156813Sru.if ${MK_INET6_SUPPORT} != "no" 37135549SdesCFLAGS+= -DWANT_IPV6 38135549Sdes.endif 39135549Sdes 40135569Sdes# Enable crypto if available 41156813Sru.if ${MK_OPENSSL} != "no" 42135569SdesCFLAGS+= -DOPENSSL 43135569Sdes.endif 44135569Sdes 45135569Sdes# Enable MD5 - BIND has its own implementation 46135569SdesCFLAGS+= -DUSE_MD5 47135569Sdes 48135569Sdes# Endianness 49217071Simp.if ${TARGET_ENDIANNESS} == 4321 50135549SdesCFLAGS+= -DWORDS_BIGENDIAN 51135549Sdes.endif 52135549Sdes 53135569Sdes# Default file locations 54135592SdougbLOCALSTATEDIR= /var 55135569SdesSYSCONFDIR= /etc/namedb 56135549SdesCFLAGS+= -DNS_LOCALSTATEDIR='"${LOCALSTATEDIR}"' 57135549SdesCFLAGS+= -DNS_SYSCONFDIR='"${SYSCONFDIR}"' 58135549SdesCFLAGS+= -DNAMED_CONFFILE='"${SYSCONFDIR}/named.conf"' 59135549SdesCFLAGS+= -DRNDC_CONFFILE='"${SYSCONFDIR}/rndc.conf"' 60135549SdesCFLAGS+= -DRNDC_KEYFILE='"${SYSCONFDIR}/rndc.key"' 61135549Sdes 62135569Sdes# Add correct include path for config.h 63135569Sdes.if defined(LIB_BIND_DIR) && exists(${LIB_BIND_DIR}/config.h) 64135569SdesCFLAGS+= -I${LIB_BIND_DIR} 65135569Sdes.endif 66135569Sdes 67170221Sdougb# Use the right version of the atomic.h file from lib/isc 68217213Sdougb.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" 69217213SdougbISC_ATOMIC_ARCH= x86_32 70224093Sdougb.elif ${MACHINE_ARCH} == "ia64" 71224093SdougbISC_ATOMIC_ARCH= ia64 72217213Sdougb.else 73224093SdougbISC_ATOMIC_ARCH= noatomic 74217213Sdougb.endif 75170221Sdougb 76193280Sdougb# Optional features 77193280Sdougb.if ${MK_BIND_LARGE_FILE} == "yes" 78193280SdougbCFLAGS+= -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 79193280Sdougb.endif 80193280Sdougb.if ${MK_BIND_SIGCHASE} == "yes" 81193280SdougbCFLAGS+= -DDIG_SIGCHASE 82193280Sdougb.endif 83193280Sdougb 84135569Sdes# Link against BIND libraries 85156813Sru.if ${MK_BIND_LIBS} == "no" 86135739SruLIBBIND9= ${LIB_BIND_REL}/bind9/libbind9.a 87135739SruCFLAGS+= -I${BIND_DIR}/lib/bind9/include 88135739SruLIBDNS= ${LIB_BIND_REL}/dns/libdns.a 89143736SdougbCFLAGS+= -I${BIND_DIR}/lib/dns/include/dst \ 90135739Sru -I${BIND_DIR}/lib/dns/include \ 91135739Sru -I${LIB_BIND_DIR}/dns 92135739SruLIBISCCC= ${LIB_BIND_REL}/isccc/libisccc.a 93135739SruCFLAGS+= -I${BIND_DIR}/lib/isccc/include 94135739SruLIBISCCFG= ${LIB_BIND_REL}/isccfg/libisccfg.a 95135739SruCFLAGS+= -I${BIND_DIR}/lib/isccfg/include 96135739SruLIBISC= ${LIB_BIND_REL}/isc/libisc.a 97135739SruCFLAGS+= -I${BIND_DIR}/lib/isc/unix/include \ 98170221Sdougb -I${BIND_DIR}/lib/isc/pthreads/include \ 99135739Sru -I${BIND_DIR}/lib/isc/include \ 100135739Sru -I${LIB_BIND_DIR}/isc 101135739SruLIBLWRES= ${LIB_BIND_REL}/lwres/liblwres.a 102135739SruCFLAGS+= -I${BIND_DIR}/lib/lwres/unix/include \ 103135739Sru -I${BIND_DIR}/lib/lwres/include \ 104135739Sru -I${LIB_BIND_DIR}/lwres 105135739Sru.endif 106135549SdesBIND_DPADD= ${LIBBIND9} ${LIBDNS} ${LIBISCCC} ${LIBISCCFG} \ 107135569Sdes ${LIBISC} ${LIBLWRES} 108156813Sru.if ${MK_BIND_LIBS} != "no" 109135569SdesBIND_LDADD= -lbind9 -ldns -lisccc -lisccfg -lisc -llwres 110224129SdougbCFLAGS+= -I${BIND_DIR}/lib/isc/include 111224129SdougbCFLAGS+= -I${BIND_DIR}/lib/isc/unix/include 112224129SdougbCFLAGS+= -I${BIND_DIR}/lib/isc/pthreads/include 113224129SdougbCFLAGS+= -I${.CURDIR}/../dns 114224129SdougbCFLAGS+= -I${BIND_DIR}/lib/dns/include 115224129SdougbCFLAGS+= -I${BIND_DIR}/lib/isccfg/include 116224129SdougbCFLAGS+= -I${.CURDIR}/../isc 117135739Sru.else 118135739SruBIND_LDADD= ${BIND_DPADD} 119135739Sru.endif 120135569Sdes 121135569Sdes# Link against crypto library 122156813Sru.if ${MK_OPENSSL} != "no" 123135572SdesCRYPTO_DPADD= ${LIBCRYPTO} 124135572SdesCRYPTO_LDADD= -lcrypto 125135569Sdes.endif 126170221Sdougb 127224076Sdougb.if ${MK_BIND_XML} == "yes" 128224076SdougbCFLAGS+= -DHAVE_LIBXML2 129224076SdougbCFLAGS+= -I/usr/local/include -I/usr/local/include/libxml2 130224076Sdougb.if ${MK_BIND_LIBS} != "no" 131224129SdougbBIND_LDADD+= -L/usr/local/lib -lxml2 -lz -liconv -lm 132224076Sdougb.else 133224076SdougbBIND_DPADD+= /usr/local/lib/libxml2.a ${LIBZ} 134224076SdougbBIND_DPADD+= /usr/local/lib/libiconv.a ${LIBM} 135224076Sdougb.endif 136224076Sdougb.endif 137224076Sdougb 138170221SdougbPTHREAD_DPADD= ${LIBPTHREAD} 139170221SdougbPTHREAD_LDADD= -lpthread 140