| configure does not work with OE pkg-config for the libxml2 option |
| |
| Upstream-Status: Inappropriate [OE specific] |
| |
| Signed-off-by: Armin Kuster <akuster808@gmail.com> |
| |
| Index: opendnssec-2.1.6/m4/acx_libxml2.m4 |
| =================================================================== |
| --- opendnssec-2.1.6.orig/m4/acx_libxml2.m4 |
| +++ opendnssec-2.1.6/m4/acx_libxml2.m4 |
| @@ -1,37 +1,67 @@ |
| +#serial 11 |
| +AU_ALIAS([CHECK_XML2], [ACX_LIBXML2]) |
| AC_DEFUN([ACX_LIBXML2],[ |
| - AC_ARG_WITH(libxml2, |
| - [AS_HELP_STRING([--with-libxml2=DIR],[look for libxml2 in this dir])], |
| - [ |
| - XML2_PATH="$withval" |
| - AC_PATH_PROGS(XML2_CONFIG, xml2-config, xml2-config, $XML2_PATH/bin) |
| - ],[ |
| - XML2_PATH="/usr/local" |
| - AC_PATH_PROGS(XML2_CONFIG, xml2-config, xml2-config, $PATH) |
| - ]) |
| - if test -x "$XML2_CONFIG" |
| - then |
| - AC_MSG_CHECKING(what are the xml2 includes) |
| - XML2_INCLUDES="`$XML2_CONFIG --cflags`" |
| - AC_MSG_RESULT($XML2_INCLUDES) |
| - |
| - AC_MSG_CHECKING(what are the xml2 libs) |
| - XML2_LIBS="`$XML2_CONFIG --libs`" |
| - AC_MSG_RESULT($XML2_LIBS) |
| - |
| - tmp_CPPFLAGS=$CPPFLAGS |
| - tmp_LIBS=$LIBS |
| - |
| - CPPFLAGS="$CPPFLAGS $XML2_INCLUDES" |
| - LIBS="$LIBS $XML2_LIBS" |
| - |
| - AC_CHECK_LIB(xml2, xmlDocGetRootElement,,[AC_MSG_ERROR([Can't find libxml2 library])]) |
| - |
| - CPPFLAGS=$tmp_CPPFLAGS |
| - LIBS=$tmp_LIBS |
| - else |
| - AC_MSG_ERROR([libxml2 required, but not found.]) |
| - fi |
| + found=false |
| + AC_ARG_WITH([libxml2], |
| + [AS_HELP_STRING([--with-libxml2=DIR], |
| + [root of the libxml directory])], |
| + [ |
| + case "$withval" in |
| + "" | y | ye | yes | n | no) |
| + AC_MSG_ERROR([Invalid --with-libxml2 value]) |
| + ;; |
| + *) xml2dirs="$withval" |
| + ;; |
| + esac |
| + ], [ |
| + # if pkg-config is installed and openssl has installed a .pc file, |
| + # then use that information and don't search ssldirs |
| + AC_CHECK_TOOL([PKG_CONFIG], [pkg-config]) |
| + if test x"$PKG_CONFIG" != x""; then |
| + XML2_LDFLAGS=`$PKG_CONFIG libxml-2.0 --libs-only-L 2>/dev/null` |
| + if test $? = 0; then |
| + XML2_LIBS=`$PKG_CONFIG libxml-2.0 --libs-only-l 2>/dev/null` |
| + XML2_INCLUDES=`$PKG_CONFIG libxml-2.0 --cflags-only-I 2>/dev/null` |
| + found=true |
| + fi |
| + fi |
| |
| - AC_SUBST(XML2_INCLUDES) |
| - AC_SUBST(XML2_LIBS) |
| + # no such luck; use some default ssldirs |
| + if ! $found; then |
| + xml2dirs="/usr/local/libxml /usr/lib/libxml /usr/libxml /usr/pkg /usr/local /usr" |
| + fi |
| + ] |
| + ) |
| + |
| + |
| + # note that we #include <libxml/tree.h>, so the libxml2 headers have to be in |
| + # an 'libxml' subdirectory |
| + |
| + if ! $found; then |
| + XML2_INCLUDES= |
| + for xml2dir in $xml2dirs; do |
| + AC_MSG_CHECKING([for XML2 in $xml2dir]) |
| + if test -f "$xml2dir/include/libxml2/libxml/tree.h"; then |
| + XML2_INCLUDES="-I$xml2dir/include/libxml2" |
| + XML2_LDFLAGS="-L$xml2dir/lib" |
| + XML2_LIBS="-lxml2" |
| + found=true |
| + AC_MSG_RESULT([yes]) |
| + break |
| + else |
| + AC_MSG_RESULT([no]) |
| + fi |
| + done |
| + |
| + # if the file wasn't found, well, go ahead and try the link anyway -- maybe |
| + # it will just work! |
| + fi |
| + |
| + LDFLAGS="$LDFLAGS $XML2_LDFLAGS" |
| + LIBS="$XML2_LIBS $LIBS" |
| + CPPFLAGS="$XML2_INCLUDES $CPPFLAGS" |
| + |
| + AC_SUBST(XML2_INCLUDES) |
| + AC_SUBST(XML2_LIBS) |
| + AC_SUBST(XML2_LDFLAGS) |
| ]) |