fi
AC_MSG_RESULT($enable_verbose_logging)
-AC_MSG_CHECKING(whether we will try to link in system PolarSSL)
AC_ARG_WITH([system-polarssl],
- [AC_HELP_STRING([--without-system-polarssl], [do not use system PolarSSL])],
- [system_polarssl=$withval],
- [system_polarssl=yes])
-AC_MSG_RESULT($system_polarssl)
-AM_CONDITIONAL(HAVE_LIBPOLARSSL, false)
-if test x$system_polarssl = xyes; then
- AC_MSG_CHECKING([PolarSSL version >= 1.1])
- AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
-#include <polarssl/version.h>
- ]],
- [[
-#if POLARSSL_VERSION_NUMBER < 0x01010000
-#error invalid version
-#endif
- ]]
- )], [use_system_polarssl=yes], [use_system_polarssl=no])
- AC_MSG_RESULT($use_system_polarssl)
-fi
-if test x$use_system_polarssl = xyes; then
- AC_CHECK_LIB([polarssl], [sha1_hmac])
-fi
+ AS_HELP_STRING([--without-system-polarssl], [do not use system PolarSSL]))
+
+AS_IF([test "x$with_system_polarssl" != "xno"],
+ [AC_CHECK_LIB([polarssl], [sha1_hmac], [
+ AC_MSG_CHECKING([PolarSSL version >= 1.1])
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+ #include <polarssl/version.h>
+ ]],
+ [[
+ #if POLARSSL_VERSION_NUMBER < 0x01010000
+ #error invalid version
+ #endif
+ ]]
+ )],
+ [have_system_polarssl=yes],
+ [have_system_polarssl=no])
+ AC_MSG_RESULT($have_system_polarssl) ],
+ [have_system_polarssl=no])],
+ [have_system_polarssl=no]
+)
+
+POLARSSL_SUBDIR=ext/polarssl-1.1.2
+POLARSSL_CFLAGS=-I\$\(top_srcdir\)/pdns/$POLARSSL_SUBDIR/include/
+POLARSSL_LIBS=\$\(top_builddir\)/pdns/$POLARSSL_SUBDIR/library/libpolarssl.a
+
+AS_IF([test "x$have_system_polarssl" = "xyes"],
+ [
+ POLARSSL_CFLAGS=
+ POLARSSL_LIBS=-lpolarssl
+ POLARSSL_SUBDIR=
+ ],
+ [AS_IF([test "x$with_system_polarssl" = "xyes"],
+ [AC_MSG_ERROR([use of system polarssl requested but not found])]
+ )] )
+
+AC_MSG_CHECKING(whether we will try to link in system PolarSSL)
+AC_MSG_RESULT($have_system_polarssl)
+AC_SUBST(POLARSSL_CFLAGS)
+AC_SUBST(POLARSSL_LIBS)
+AC_SUBST(POLARSSL_SUBDIR)
AC_MSG_CHECKING(whether we will be linking in Botan 1.10)
AC_ARG_ENABLE(botan1.10,
../../pdns/aes/aestab.c ../../pdns/aes/aestab.h ../../pdns/aes/brg_endian.h ../../pdns/aes/brg_types.h \
remotebackend.hh remotebackend.cc unixconnector.cc httpconnector.cc pipeconnector.cc
-libtestremotebackend_la_CFLAGS=$(BOOST_CPPFLAGS) @THREADFLAGS@ $(LIBCURL_CFLAGS) -g -O0 -I../../pdns
-libtestremotebackend_la_CXXFLAGS=$(BOOST_CPPFLAGS) @THREADFLAGS@ $(LIBCURL_CFLAGS) -g -O0 -I../../pdns
+libtestremotebackend_la_CFLAGS=$(BOOST_CPPFLAGS) @THREADFLAGS@ $(POLARSSL_CFLAGS) $(LIBCURL_CFLAGS) -g -O0 -I../../pdns
+libtestremotebackend_la_CXXFLAGS=$(BOOST_CPPFLAGS) @THREADFLAGS@ $(POLARSSL_CFLAGS) $(LIBCURL_CFLAGS) -g -O0 -I../../pdns
test_remotebackend_pipe_SOURCES=test-remotebackend.cc test-remotebackend-pipe.cc
test_remotebackend_unix_SOURCES=test-remotebackend.cc test-remotebackend-unix.cc
test_remotebackend_pipe_CFLAGS=$(BOOST_CPPFLAGS) @THREADFLAGS@ $(LIBCURL_CFLAGS) -g -O0 -I../../pdns
test_remotebackend_pipe_CXXFLAGS=$(BOOST_CPPFLAGS) @THREADFLAGS@ $(LIBCURL_CFLAGS) -g -O0 -I../../pdns
-test_remotebackend_pipe_LDADD=libtestremotebackend.la @DYNLINKFLAGS@ @THREADFLAGS@ $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) ../../pdns/ext/polarssl-1.1.2/library/libpolarssl.a $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) $(BOOST_SERIALIZATION_LIBS) $(BOOST_PROGRAM_OPTIONS_LIBS) @LIBDL@ $(LIBCURL_LIBS)
+test_remotebackend_pipe_LDADD=libtestremotebackend.la @DYNLINKFLAGS@ @THREADFLAGS@ $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) $(BOOST_SERIALIZATION_LIBS) $(BOOST_PROGRAM_OPTIONS_LIBS) @LIBDL@ $(POLARSSL_LIBS) $(LIBCURL_LIBS)
test_remotebackend_unix_CFLAGS=$(BOOST_CPPFLAGS) @THREADFLAGS@ $(LIBCURL_CFLAGS) -g -O0 -I../../pdns
test_remotebackend_unix_CXXFLAGS=$(BOOST_CPPFLAGS) @THREADFLAGS@ $(LIBCURL_CFLAGS) -g -O0 -I../../pdns
-test_remotebackend_unix_LDADD=libtestremotebackend.la @DYNLINKFLAGS@ @THREADFLAGS@ $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) ../../pdns/ext/polarssl-1.1.2/library/libpolarssl.a $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) $(BOOST_SERIALIZATION_LIBS) $(BOOST_PROGRAM_OPTIONS_LIBS) @LIBDL@ $(LIBCURL_LIBS)
+test_remotebackend_unix_LDADD=libtestremotebackend.la @DYNLINKFLAGS@ @THREADFLAGS@ $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) $(BOOST_SERIALIZATION_LIBS) $(BOOST_PROGRAM_OPTIONS_LIBS) @LIBDL@ $(POLARSSL_LIBS) $(LIBCURL_LIBS)
test_remotebackend_http_CFLAGS=$(BOOST_CPPFLAGS) @THREADFLAGS@ $(LIBCURL_CFLAGS) -g -O0 -I../../pdns
test_remotebackend_http_CXXFLAGS=$(BOOST_CPPFLAGS) @THREADFLAGS@ $(LIBCURL_CFLAGS) -g -O0 -I../../pdns
-test_remotebackend_http_LDADD=libtestremotebackend.la @DYNLINKFLAGS@ @THREADFLAGS@ $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) ../../pdns/ext/polarssl-1.1.2/library/libpolarssl.a $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) $(BOOST_SERIALIZATION_LIBS) $(BOOST_PROGRAM_OPTIONS_LIBS) @LIBDL@ $(LIBCURL_LIBS)
+test_remotebackend_http_LDADD=libtestremotebackend.la @DYNLINKFLAGS@ @THREADFLAGS@ $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) $(BOOST_SERIALIZATION_LIBS) $(BOOST_PROGRAM_OPTIONS_LIBS) @LIBDL@ $(POLARSSL_LIBS) $(LIBCURL_LIBS)
test_remotebackend_post_CFLAGS=$(BOOST_CPPFLAGS) @THREADFLAGS@ $(LIBCURL_CFLAGS) -g -O0 -I../../pdns
test_remotebackend_post_CXXFLAGS=$(BOOST_CPPFLAGS) @THREADFLAGS@ $(LIBCURL_CFLAGS) -g -O0 -I../../pdns
-test_remotebackend_post_LDADD=libtestremotebackend.la @DYNLINKFLAGS@ @THREADFLAGS@ $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) ../../pdns/ext/polarssl-1.1.2/library/libpolarssl.a $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) $(BOOST_SERIALIZATION_LIBS) $(BOOST_PROGRAM_OPTIONS_LIBS) @LIBDL@ $(LIBCURL_LIBS)
+test_remotebackend_post_LDADD=libtestremotebackend.la @DYNLINKFLAGS@ @THREADFLAGS@ $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) $(BOOST_SERIALIZATION_LIBS) $(BOOST_PROGRAM_OPTIONS_LIBS) @LIBDL@ $(POLARSSL_LIBS) $(LIBCURL_LIBS)
test_remotebackend_json_CFLAGS=$(BOOST_CPPFLAGS) @THREADFLAGS@ $(LIBCURL_CFLAGS) -g -O0 -I../../pdns
test_remotebackend_json_CXXFLAGS=$(BOOST_CPPFLAGS) @THREADFLAGS@ $(LIBCURL_CFLAGS) -g -O0 -I../../pdns
-test_remotebackend_json_LDADD=libtestremotebackend.la @DYNLINKFLAGS@ @THREADFLAGS@ $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) ../../pdns/ext/polarssl-1.1.2/library/libpolarssl.a $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) $(BOOST_SERIALIZATION_LIBS) $(BOOST_PROGRAM_OPTIONS_LIBS) @LIBDL@ $(LIBCURL_LIBS)
+test_remotebackend_json_LDADD=libtestremotebackend.la @DYNLINKFLAGS@ @THREADFLAGS@ $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) $(BOOST_SERIALIZATION_LIBS) $(BOOST_PROGRAM_OPTIONS_LIBS) @LIBDL@ $(POLARSSL_LIBS) $(LIBCURL_LIBS)
-if HAVE_LIBPOLARSSL
-AM_CXXFLAGS=-DSYSCONFDIR=\"@sysconfdir@\" -DLIBDIR=\"@libdir@\" -DLOCALSTATEDIR=\"@socketdir@\" -Ibackends/bind @THREADFLAGS@ $(LUA_CFLAGS) $(SQLITE3_CFLAGS) -I ext/rapidjson/include
-else
-AM_CXXFLAGS=-DSYSCONFDIR=\"@sysconfdir@\" -DLIBDIR=\"@libdir@\" -DLOCALSTATEDIR=\"@socketdir@\" -Ibackends/bind @THREADFLAGS@ $(LUA_CFLAGS) $(SQLITE3_CFLAGS) -Iext/polarssl-1.1.2/include -Iext/rapidjson/include
-endif
+AM_CXXFLAGS=-DSYSCONFDIR=\"@sysconfdir@\" -DLIBDIR=\"@libdir@\" -DLOCALSTATEDIR=\"@socketdir@\" -Ibackends/bind @THREADFLAGS@ $(LUA_CFLAGS) $(SQLITE3_CFLAGS) $(POLARSSL_CFLAGS) -Iext/rapidjson/include
+
AM_CPPFLAGS=-Ibackends/bind $(BOOST_CPPFLAGS) @THREADFLAGS@ $(LIBCURL_CFLAGS)
if BOTAN110
AM_CPPFLAGS += $(BOTAN110_CFLAGS)
no-dnssec.schema.mysql.sql no-dnssec.schema.pgsql.sql no-dnssec.schema.sqlite3.sql \
bind-dnssec.schema.sqlite3.sql
-if HAVE_LIBPOLARSSL
-SUBDIRS= backends
-else
-SUBDIRS= ext/polarssl-1.1.2 backends
-endif
+SUBDIRS= $(POLARSSL_SUBDIR) backends
BUILT_SOURCES=bind-dnssec.schema.sqlite3.sql.h version_generated.h
version.hh version.cc
#
-pdns_server_LDFLAGS=@moduleobjects@ @modulelibs@ @DYNLINKFLAGS@ @LIBDL@ @THREADFLAGS@ $(BOOST_SERIALIZATION_LDFLAGS) -rdynamic
-pdns_server_LDADD= ext/polarssl-1.1.2/library/libpolarssl.a $(BOOST_SERIALIZATION_LIBS) $(LUA_LIBS) $(SQLITE3_LIBS) $(LIBCURL_LIBS) $(MYSQL_lib)
+pdns_server_LDFLAGS=@moduleobjects@ @modulelibs@ @DYNLINKFLAGS@ @LIBDL@ @THREADFLAGS@ $(BOOST_SERIALIZATION_LDFLAGS) -rdynamic
+pdns_server_LDADD= $(POLARSSL_LIBS) $(BOOST_SERIALIZATION_LIBS) $(LUA_LIBS) $(SQLITE3_LIBS) $(LIBCURL_LIBS) $(MYSQL_lib)
if BOTAN110
pdns_server_SOURCES += botan110signers.cc botansigners.cc
serialtweaker.cc
-pdnssec_LDFLAGS=@moduleobjects@ @modulelibs@ @DYNLINKFLAGS@ @LIBDL@ @THREADFLAGS@ $(BOOST_PROGRAM_OPTIONS_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS)
-pdnssec_LDADD= ext/polarssl-1.1.2/library/libpolarssl.a $(BOOST_PROGRAM_OPTIONS_LIBS) $(BOOST_SERIALIZATION_LIBS) $(SQLITE3_LIBS) $(LIBCURL_LIBS) $(MYSQL_lib)
+pdnssec_LDFLAGS=@moduleobjects@ @modulelibs@ @DYNLINKFLAGS@ @LIBDL@ @THREADFLAGS@ $(BOOST_PROGRAM_OPTIONS_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS)
+pdnssec_LDADD= $(POLARSSL_LIBS) $(BOOST_PROGRAM_OPTIONS_LIBS) $(BOOST_SERIALIZATION_LIBS) $(SQLITE3_LIBS) $(LIBCURL_LIBS) $(MYSQL_lib)
if BOTAN110
pdnssec_SOURCES += botan110signers.cc botansigners.cc
dnswriter.hh dnssecinfra.cc \
misc.cc misc.hh rcpgenerator.cc rcpgenerator.hh base64.cc base64.hh unix_utility.cc \
logger.cc statbag.cc qtype.cc sillyrecords.cc nsecrecords.cc base32.cc
-nsec3dig_LDFLAGS= -Lext/polarssl-1.1.2/library
-nsec3dig_LDADD= -lpolarssl
+nsec3dig_LDADD= $(POLARSSL_LIBS)
toysdig_SOURCES=toysdig.cc sstuff.hh dnsparser.cc dnsparser.hh dnsrecords.cc dnswriter.cc dnslabeltext.cc dnswriter.hh \
misc.cc misc.hh rcpgenerator.cc rcpgenerator.hh base64.cc base64.hh unix_utility.cc \
aes/aescrypt.c aes/aes.h aes/aeskey.c aes/aes_modes.c aes/aesopt.h \
aes/aestab.c aes/aestab.h aes/brg_endian.h aes/brg_types.h aes/dns_random.cc \
randomhelper.cc dns.cc
-if HAVE_LIBPOLARSSL
-tsig_tests_LDFLAGS=
-else
-tsig_tests_LDFLAGS= -Lext/polarssl-1.1.2/library
-endif
-tsig_tests_LDADD= -lpolarssl
+tsig_tests_LDADD= $(POLARSSL_LIBS)
speedtest_SOURCES=speedtest.cc dnsparser.cc dnsparser.hh dnsrecords.cc dnswriter.cc dnslabeltext.cc dnswriter.hh \
aes/aestab.c aes/aestab.h aes/brg_endian.h aes/brg_types.h test-rcpgenerator_cc.cc
testrunner_LDFLAGS= @DYNLINKFLAGS@ @THREADFLAGS@ $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS)
-testrunner_LDADD= ext/polarssl-1.1.2/library/libpolarssl.a $(BOOST_UNIT_TEST_FRAMEWORK_LIBS)
+testrunner_LDADD= $(POLARSSL_LIBS) $(BOOST_UNIT_TEST_FRAMEWORK_LIBS)
pdns_recursor_SOURCES=syncres.cc resolver.hh misc.cc unix_utility.cc qtype.cc \
logger.cc statbag.cc arguments.cc lwres.cc pdns_recursor.cc reczones.cc lwres.hh \
noinst_LTLIBRARIES = libbind2backend.la
-AM_CPPFLAGS=-I../.. $(BOOST_CPPFLAGS) @THREADFLAGS@
+AM_CPPFLAGS=-I../.. $(BOOST_CPPFLAGS) $(POLARSSL_CFLAGS) @THREADFLAGS@
BUILT_SOURCES=bind-dnssec.schema.sqlite3.sql.h bindparser.h
../../aes/aestab.c ../../aes/aestab.h ../../aes/brg_endian.h ../../aes/brg_types.h # ../../dbdnsseckeeper.cc
zone2ldap_LDFLAGS=@THREADFLAGS@
-if HAVE_LIBPOLARSSL
-zone2ldap_LDADD=
-else
-zone2ldap_LDADD= ../../ext/polarssl-1.1.2/library/libpolarssl.a
-endif
+zone2ldap_LDADD= $(POLARSSL_LIBS)
zone2sql_LDFLAGS=@THREADFLAGS@
-if HAVE_LIBPOLARSSL
-zone2sql_LDADD=
-else
-zone2sql_LDADD= ../../ext/polarssl-1.1.2/library/libpolarssl.a
-endif
+zone2sql_LDADD= $(POLARSSL_LIBS)
zone2json_LDFLAGS=@THREADFLAGS@
-if HAVE_LIBPOLARSSL
-zone2json_LDADD=
-else
-zone2json_LDADD= ../../ext/polarssl-1.1.2/library/libpolarssl.a
-endif
+zone2json_LDADD= $(POLARSSL_LIBS)
AM_LFLAGS = -s -i
AM_YFLAGS = -d --verbose --debug
#include <boost/algorithm/string.hpp>
#include "dnssecinfra.hh"
#include "dnsseckeeper.hh"
-#ifdef HAVE_LIBPOLARSSL
#include <polarssl/sha1.h>
-#else
-#include "ext/polarssl-1.1.2/include/polarssl/sha1.h"
-#endif
#include <boost/assign/std/vector.hpp> // for 'operator+=()'
#include <boost/assign/list_inserter.hpp>
#include "base64.hh"
#include <string>
#include <stdint.h>
-#ifdef HAVE_LIBPOLARSSLSSL
#include <polarssl/md5.h>
-#else
-#include "ext/polarssl-1.1.2/include/polarssl/md5.h"
-#endif
class MD5Summer
{
-#ifdef HAVE_LIBPOLARSSLSSL
#include <polarssl/rsa.h>
#include <polarssl/base64.h>
#include <polarssl/sha1.h>
#include <polarssl/sha4.h>
#include <polarssl/entropy.h>
#include <polarssl/ctr_drbg.h>
-#else
-#include "ext/polarssl-1.1.2/include/polarssl/rsa.h"
-#include "ext/polarssl-1.1.2/include/polarssl/base64.h"
-#include "ext/polarssl-1.1.2/include/polarssl/sha1.h"
-#include "ext/polarssl-1.1.2/include/polarssl/sha2.h"
-#include "ext/polarssl-1.1.2/include/polarssl/sha4.h"
-#include "ext/polarssl-1.1.2/include/polarssl/entropy.h"
-#include "ext/polarssl-1.1.2/include/polarssl/ctr_drbg.h"
-#endif
#include <boost/assign/std/vector.hpp> // for 'operator+=()'
#include <boost/foreach.hpp>
#include "dnssecinfra.hh"