Blame common/m4/gst-libxml2.m4

Packit 0652a1
dnl call this macro with the minimum required version as an argument
Packit 0652a1
dnl this macro sets and AC_SUBSTs XML_CFLAGS and XML_LIBS
Packit 0652a1
dnl it also sets LIBXML_PKG, used for the pkg-config file
Packit 0652a1
Packit 0652a1
AC_DEFUN([AG_GST_LIBXML2_CHECK],
Packit 0652a1
[
Packit 0652a1
  dnl Minimum required version of libxml2
Packit 0652a1
  dnl default to 2.4.9 if not specified
Packit 0652a1
  LIBXML2_REQ=ifelse([$1],,2.4.9,[$1])
Packit 0652a1
  AC_SUBST(LIBXML2_REQ)
Packit 0652a1
Packit 0652a1
  dnl check for libxml2
Packit 0652a1
  PKG_CHECK_MODULES(XML, libxml-2.0 >= $LIBXML2_REQ,
Packit 0652a1
                    HAVE_LIBXML2=yes, [
Packit 0652a1
                      AC_MSG_RESULT(no)
Packit 0652a1
                      HAVE_LIBXML2=no
Packit 0652a1
                    ])
Packit 0652a1
  if test "x$HAVE_LIBXML2" = "xyes"; then
Packit 0652a1
    AC_DEFINE(HAVE_LIBXML2, 1, [Define if libxml2 is available])
Packit 0652a1
  else
Packit 0652a1
    AC_MSG_ERROR([
Packit 0652a1
        Need libxml2 and development headers/files to build GStreamer.
Packit 0652a1
Packit 0652a1
        You can do without libxml2 if you pass --disable-loadsave to
Packit 0652a1
        configure, but that breaks ABI, so don't do that unless you
Packit 0652a1
        are building for an embedded setup and know what you are doing.
Packit 0652a1
    ])
Packit 0652a1
  fi
Packit 0652a1
  dnl this is for the .pc file
Packit 0652a1
  LIBXML_PKG=', libxml-2.0'
Packit 0652a1
  AC_SUBST(LIBXML_PKG)
Packit 0652a1
  AC_SUBST(XML_LIBS)
Packit 0652a1
  AC_SUBST(XML_CFLAGS)
Packit 0652a1
Packit 0652a1
  dnl XML_LIBS might pull in -lz without zlib actually being on the system, so
Packit 0652a1
  dnl try linking with these LIBS and CFLAGS
Packit 0652a1
  ac_save_CFLAGS=$CFLAGS
Packit 0652a1
  ac_save_LIBS=$LIBS
Packit 0652a1
  CFLAGS="$CFLAGS $XML_CFLAGS"
Packit 0652a1
  LIBS="$LIBS $XML_LIBS"
Packit 0652a1
  AC_TRY_LINK([
Packit 0652a1
#include <libxml/tree.h>
Packit 0652a1
#include <stdio.h>
Packit 0652a1
],[
Packit 0652a1
/* function body */
Packit 0652a1
],
Packit 0652a1
    AC_MSG_NOTICE([Test xml2 program linked]),
Packit 0652a1
    AC_MSG_ERROR([Could not link libxml2 test program.  Check if you have the necessary dependencies.])
Packit 0652a1
  )
Packit 0652a1
  CFLAGS="$ac_save_CFLAGS"
Packit 0652a1
  LIBS="$ac_save_LIBS"
Packit 0652a1
])