Blame common/m4/gst-glib2.m4

Packit f546b1
dnl check for a minimum version of GLib
Packit f546b1
Packit f546b1
dnl AG_GST_GLIB_CHECK([minimum-version-required])
Packit f546b1
Packit f546b1
AC_DEFUN([AG_GST_GLIB_CHECK],
Packit f546b1
[
Packit f546b1
  AC_REQUIRE([AS_NANO])
Packit f546b1
Packit f546b1
  dnl Minimum required version of GLib
Packit f546b1
  GLIB_REQ=[$1]
Packit f546b1
  if test "x$GLIB_REQ" = "x"
Packit f546b1
  then
Packit f546b1
    AC_MSG_ERROR([Please specify a required version for GLib 2.0])
Packit f546b1
  fi
Packit f546b1
  AC_SUBST(GLIB_REQ)
Packit f546b1
Packit f546b1
  dnl Check for glib with everything
Packit f546b1
  AG_GST_PKG_CHECK_MODULES(GLIB,
Packit f546b1
    glib-2.0 >= $GLIB_REQ gobject-2.0 gmodule-no-export-2.0)
Packit f546b1
Packit f546b1
  if test "x$HAVE_GLIB" = "xno"; then
Packit f546b1
    AC_MSG_ERROR([This package requires GLib >= $GLIB_REQ to compile.])
Packit f546b1
  fi
Packit f546b1
Packit f546b1
  dnl Add define to tell GLib that threading is always enabled within GStreamer
Packit f546b1
  dnl code (optimisation, bypasses checks if the threading system is enabled
Packit f546b1
  dnl when using threading primitives)
Packit f546b1
  GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_THREADS_MANDATORY"
Packit f546b1
Packit f546b1
  dnl Define G_DISABLE_DEPRECATED for development versions
Packit f546b1
  if test "x`expr $PACKAGE_VERSION_MINOR % 2`" = "x1" -a "x`expr $PACKAGE_VERSION_MICRO '<' 90`" = "x1"; then
Packit f546b1
    GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_DISABLE_DEPRECATED"
Packit f546b1
  fi
Packit f546b1
Packit f546b1
  AC_ARG_ENABLE(gobject-cast-checks,
Packit f546b1
    AS_HELP_STRING([--enable-gobject-cast-checks[=@<:@no/auto/yes@:>@]],
Packit f546b1
      [Enable GObject cast checks]),[enable_gobject_cast_checks=$enableval],
Packit f546b1
    [enable_gobject_cast_checks=auto])
Packit f546b1
Packit f546b1
  if test "x$enable_gobject_cast_checks" = "xauto"; then
Packit f546b1
    dnl Turn on cast checks only for development versions
Packit f546b1
    if test "x`expr $PACKAGE_VERSION_MINOR % 2`" = "x1" -a "x`expr $PACKAGE_VERSION_MICRO '<' 90`" = "x1"; then
Packit f546b1
      enable_gobject_cast_checks=yes
Packit f546b1
    else
Packit f546b1
      enable_gobject_cast_checks=no
Packit f546b1
    fi
Packit f546b1
  fi
Packit f546b1
Packit f546b1
  if test "x$enable_gobject_cast_checks" = "xno"; then
Packit f546b1
    GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_DISABLE_CAST_CHECKS"
Packit f546b1
  fi
Packit f546b1
Packit f546b1
  AC_ARG_ENABLE(glib-asserts,
Packit f546b1
    AS_HELP_STRING([--enable-glib-asserts[=@<:@no/yes@:>@]],
Packit f546b1
      [Enable GLib assertion]),[enable_glib_assertions=$enableval],
Packit f546b1
    [enable_glib_assertions=yes])
Packit f546b1
Packit f546b1
  if test "x$enable_glib_assertions" = "xno"; then
Packit f546b1
    GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_DISABLE_ASSERT"
Packit f546b1
  fi
Packit f546b1
Packit f546b1
  dnl Find location of glib utils. People may want to or have to override these,
Packit f546b1
  dnl e.g. in a cross-compile situation where PATH is a bit messed up. We need
Packit f546b1
  dnl for these tools to work on the host, so can't just use the one from the
Packit f546b1
  dnl GLib installation that pkg-config picks up, as that might be for a
Packit f546b1
  dnl different target architecture.
Packit f546b1
  dnl
Packit f546b1
  dnl glib-genmarshal:
Packit f546b1
  AC_MSG_CHECKING(for glib-genmarshal)
Packit f546b1
  if test "x$GLIB_GENMARSHAL" != "x"; then
Packit f546b1
    AC_MSG_RESULT([$GLIB_GENMARSHAL (from environment)])
Packit f546b1
  else
Packit f546b1
    GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
Packit f546b1
    if $GLIB_GENMARSHAL --version 2>/dev/null >/dev/null; then
Packit f546b1
      AC_MSG_RESULT([$GLIB_GENMARSHAL (from pkg-config path)])
Packit f546b1
    else
Packit f546b1
      AC_PATH_PROG(GLIB_GENMARSHAL, [glib-genmarshal], [glib-genmarshal])
Packit f546b1
      AC_MSG_RESULT([$GLIB_GENMARSHAL])
Packit f546b1
    fi
Packit f546b1
  fi
Packit f546b1
  if ! $GLIB_GENMARSHAL --version 2>/dev/null >/dev/null; then
Packit f546b1
    AC_MSG_WARN([$GLIB_GENMARSHAL does not seem to work!])
Packit f546b1
  fi
Packit f546b1
  AC_SUBST(GLIB_GENMARSHAL)
Packit f546b1
Packit f546b1
  dnl glib-mkenums:
Packit f546b1
  AC_MSG_CHECKING(for glib-mkenums)
Packit f546b1
  if test "x$GLIB_MKENUMS" != "x"; then
Packit f546b1
    AC_MSG_RESULT([$GLIB_MKENUMS (from environment)])
Packit f546b1
  else
Packit f546b1
    dnl glib-mkenums is written in perl so should always work really
Packit f546b1
    GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
Packit f546b1
    AC_MSG_RESULT([$GLIB_MKENUMS])
Packit f546b1
  fi
Packit f546b1
  if ! $GLIB_MKENUMS --version 2>/dev/null >/dev/null; then
Packit f546b1
    AC_MSG_WARN([$GLIB_MKENUMS does not seem to work!])
Packit f546b1
  fi
Packit f546b1
  AC_SUBST(GLIB_MKENUMS)
Packit f546b1
Packit f546b1
  AC_SUBST(GLIB_EXTRA_CFLAGS)
Packit f546b1
Packit f546b1
  dnl Now check for GIO
Packit f546b1
  PKG_CHECK_MODULES(GIO, gio-2.0 >= $GLIB_REQ)
Packit f546b1
  if test "x$HAVE_GIO" = "xno"; then
Packit f546b1
    AC_MSG_ERROR([This package requires GIO >= $GLIB_REQ to compile.])
Packit f546b1
  fi
Packit f546b1
  
Packit f546b1
  GIO_MODULE_DIR="`$PKG_CONFIG --variable=giomoduledir gio-2.0`"
Packit f546b1
  AC_DEFINE_UNQUOTED(GIO_MODULE_DIR, "$GIO_MODULE_DIR",
Packit f546b1
      [The GIO modules directory.])
Packit f546b1
  GIO_LIBDIR="`$PKG_CONFIG --variable=libdir gio-2.0`"
Packit f546b1
  AC_DEFINE_UNQUOTED(GIO_LIBDIR, "$GIO_LIBDIR",
Packit f546b1
      [The GIO library directory.])
Packit f546b1
  GIO_PREFIX="`$PKG_CONFIG --variable=prefix gio-2.0`"
Packit f546b1
  AC_DEFINE_UNQUOTED(GIO_PREFIX, "$GIO_PREFIX",
Packit f546b1
      [The GIO install prefix.])
Packit f546b1
Packit f546b1
  AC_SUBST(GIO_CFLAGS)
Packit f546b1
  AC_SUBST(GIO_LIBS)
Packit f546b1
  AC_SUBST(GIO_LDFLAGS)
Packit f546b1
])