Blame common/m4/gst-glib2.m4

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