separated libunbound test in configure.ac to give better diag msg

This commit is contained in:
Glen Wiley 2013-11-03 16:40:24 -05:00
parent e5c18aa3af
commit e7cc8eb150
5 changed files with 31 additions and 14 deletions

View File

@ -1,4 +1,6 @@
Neel Goyal <ngoyal@verisign.com>
Allison Mankin <amankin@verisign.com>
Melinda Shore <melinda.shore@nomountain.net>
Willem Toorop <willem@NLnetLabs.nl>
W.C.A. Wijngaards <wouter@NLnetLabs.nl>
Glen Wiley <gwiley@verisign.com>

1
NEWS
View File

@ -0,0 +1 @@
this page intentionally left blank

View File

@ -43,22 +43,27 @@ Tickets and bug reports from external contacts are received via a mailing list a
TBD: mailing list address
External Dependencies
=====================
External dependencies are linked outside the getdns API build tree (we rely on configure to find them). We would like to keep the dependency tree short.
The project relies on [libldns from NL](https://www.nlnetlabs.nl/projects/ldns/) for parsing and constructing DNS packets. Version 1.6.16 (note that building ldns may require openssl headers and libraries)
The project also relies on [libunbound from NL](http://www.nlnetlabs.nl/projects/unbound/). Currently it relies on svn revision 2985. The unbound.2985.patch must be applied to the source tree as well. The ./configure must be run with the --with-libevent option (recommended to also use --with-libunbound-only)
Although [libevent](http://libevent.org) is used initially to implement the asynchronous model, future work may include a move to other mechanisms (epoll based etc.). Version 2.0.21 stable
Doxygen is used to generate documentation, while this is not technically necessary for the build it makes things a lot more pleasant.
GNU autoconf is used to generate the configure script (and consequently the Makefiles)
Automake 1.12 is required if you are building the distribution tarball.
* [libevent](http://libevent.org) version 2.0.21 stable
* [libldns from NL](https://www.nlnetlabs.nl/projects/ldns/) version 1.6.16 (ldns may require openssl headers and libraries)
* [libunbound from NL](http://www.nlnetlabs.nl/projects/unbound/) svn revision 2985, configure must be run with the --with-libevent option (recommended to also use --with-libunbound-only). The unbound.2985.patch included with getdns must be applied to the source tree prior to building libunbound.
* Doxygen is used to generate documentation, while this is not technically necessary for the build it makes things a lot more pleasant.
Assuming that the getdns sources are in a diretory named getdns in your home directory, to build libunbound (note that the svn checkout may take a while):
```
# mkdir unbound
# cd unbound
# svn checkout -r 2985 http://unbound.nlnetlabs.nl/svn
# cd svn/trunk
# patch -p0 < ~/getdns/unbound.2985.patch
# ./configure --with-libevent --with-libunbound-only
# make
# make install
```
#Supported Platforms

View File

@ -26,15 +26,24 @@ AC_PROG_CPP
# Checks for libraries.
found_all_libs=1
AC_MSG_NOTICE([Checking for dependencies libevent, ldns and unbound])
AC_MSG_NOTICE([Checking for dependencies libevent, ldns])
AC_CHECK_LIB([event_core], [event_base_new], [], [found_all_libs=0])
AC_CHECK_LIB([ldns], [ldns_dname_new_frm_str], [], [found_all_libs=0])
AC_CHECK_LIB([unbound], [ub_ctx_set_event], [], [found_all_libs=0])
if test $found_all_libs == 0
then
AC_MSG_ERROR([One more dependencies is missing])
fi
# break out libunbound from other libraries since we are currently using a
# patch to the sources
found_libunbound=1
AC_MSG_NOTICE([Checking for dependency libunbound])
AC_CHECK_LIB([unbound], [ub_ctx_set_event], [], [found_libunbound=0])
if test $found_libunbound == 0
then
AC_MSG_ERROR([libunbound is missing or does not incude event code, you may need to patch your libunbound sources and rebuild. See the getdns build instructions])
fi
AC_CHECK_PROGS([DOXYGEN], [doxygen])
if test -z "$DOXYGEN";
then AC_MSG_WARN([Doxygen not found, continuing without])

View File

@ -52,7 +52,7 @@ PROJECT_LOGO =
# If a relative path is entered, it will be relative to the location
# where doxygen was started. If left blank the current directory will be used.
OUTPUT_DIRECTORY = ./doc
OUTPUT_DIRECTORY = ../doc
# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
# 4096 sub-directories (in 2 levels) under the output directory of each output