Blame common/m4/gst-glib2.m4

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