prefer to use ldns-config to find libldns

Should fix bz#2603 - "Build with ldns and without kerberos support
fails if ldns compiled with kerberos support" by including correct
cflags/libs

ok dtucker@
This commit is contained in:
Damien Miller 2017-02-03 16:01:22 +11:00
parent c998bf0afa
commit 523db8540b
1 changed files with 32 additions and 20 deletions

View File

@ -1474,36 +1474,47 @@ AC_ARG_WITH([skey],
LDNS_MSG="no" LDNS_MSG="no"
AC_ARG_WITH(ldns, AC_ARG_WITH(ldns,
[ --with-ldns[[=PATH]] Use ldns for DNSSEC support (optionally in PATH)], [ --with-ldns[[=PATH]] Use ldns for DNSSEC support (optionally in PATH)],
[ [
if test "x$withval" != "xno" ; then ldns=""
if test "x$withval" = "xyes" ; then
AC_PATH_TOOL([LDNSCONFIG], [ldns-config], [no])
if test "x$PKGCONFIG" = "xno"; then
CPPFLAGS="$CPPFLAGS -I${withval}/include"
LDFLAGS="$LDFLAGS -L${withval}/lib"
LIBS="-lldns $LIBS"
ldns=yes
else
LIBS="$LIBS `$LDNSCONFIG --libs`"
CPPFLAGS="$CPPFLAGS `$LDNSCONFIG --cflags`"
fi
elif test "x$withval" != "xno" ; then
CPPFLAGS="$CPPFLAGS -I${withval}/include"
LDFLAGS="$LDFLAGS -L${withval}/lib"
LIBS="-lldns $LIBS"
ldns=yes
fi
if test "x$withval" != "xyes" ; then # Verify that it works.
CPPFLAGS="$CPPFLAGS -I${withval}/include" if test "x$ldns" = "xyes" ; then
LDFLAGS="$LDFLAGS -L${withval}/lib" AC_DEFINE(HAVE_LDNS, 1, [Define if you want ldns support])
fi LDNS_MSG="yes"
AC_MSG_CHECKING([for ldns support])
AC_DEFINE(HAVE_LDNS, 1, [Define if you want ldns support]) AC_LINK_IFELSE(
LIBS="-lldns $LIBS" [AC_LANG_SOURCE([[
LDNS_MSG="yes"
AC_MSG_CHECKING([for ldns support])
AC_LINK_IFELSE(
[AC_LANG_SOURCE([[
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <stdint.h> #include <stdint.h>
#include <ldns/ldns.h> #include <ldns/ldns.h>
int main() { ldns_status status = ldns_verify_trusted(NULL, NULL, NULL, NULL); status=LDNS_STATUS_OK; exit(0); } int main() { ldns_status status = ldns_verify_trusted(NULL, NULL, NULL, NULL); status=LDNS_STATUS_OK; exit(0); }
]]) ]])
], ],
[AC_MSG_RESULT(yes)], [AC_MSG_RESULT(yes)],
[ [
AC_MSG_RESULT(no) AC_MSG_RESULT(no)
AC_MSG_ERROR([** Incomplete or missing ldns libraries.]) AC_MSG_ERROR([** Incomplete or missing ldns libraries.])
]) ])
fi fi
] ])
)
# Check whether user wants libedit support # Check whether user wants libedit support
LIBEDIT_MSG="no" LIBEDIT_MSG="no"
@ -5083,6 +5094,7 @@ echo " Smartcard support: $SCARD_MSG"
echo " S/KEY support: $SKEY_MSG" echo " S/KEY support: $SKEY_MSG"
echo " MD5 password support: $MD5_MSG" echo " MD5 password support: $MD5_MSG"
echo " libedit support: $LIBEDIT_MSG" echo " libedit support: $LIBEDIT_MSG"
echo " libldns support: $LDNS_MSG"
echo " Solaris process contract support: $SPC_MSG" echo " Solaris process contract support: $SPC_MSG"
echo " Solaris project support: $SP_MSG" echo " Solaris project support: $SP_MSG"
echo " Solaris privilege support: $SPP_MSG" echo " Solaris privilege support: $SPP_MSG"