Blame common/m4/gst-libxml2.m4

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