1dnl check for a minimum version of GLib 2 3dnl AG_GST_GLIB_CHECK([minimum-version-required]) 4 5AC_DEFUN([AG_GST_GLIB_CHECK], 6[ 7 AC_REQUIRE([AS_NANO]) 8 9 dnl Minimum required version of GLib 10 GLIB_REQ=[$1] 11 if test "x$GLIB_REQ" = "x" 12 then 13 AC_MSG_ERROR([Please specify a required version for GLib 2.0]) 14 fi 15 AC_SUBST(GLIB_REQ) 16 17 dnl Check for glib with everything 18 AG_GST_PKG_CHECK_MODULES(GLIB, 19 glib-2.0 >= $GLIB_REQ gobject-2.0 gmodule-no-export-2.0) 20 21 if test "x$HAVE_GLIB" = "xno"; then 22 AC_MSG_ERROR([This package requires GLib >= $GLIB_REQ to compile.]) 23 fi 24 25 dnl Add define to tell GLib that threading is always enabled within GStreamer 26 dnl code (optimisation, bypasses checks if the threading system is enabled 27 dnl when using threading primitives) 28 GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_THREADS_MANDATORY" 29 30 dnl Define G_DISABLE_DEPRECATED for development versions 31 if test "x`expr $PACKAGE_VERSION_MINOR % 2`" = "x1" -a "x`expr $PACKAGE_VERSION_MICRO '<' 90`" = "x1"; then 32 GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_DISABLE_DEPRECATED" 33 fi 34 35 AC_ARG_ENABLE(gobject-cast-checks, 36 AS_HELP_STRING([--enable-gobject-cast-checks[=@<:@no/auto/yes@:>@]], 37 [Enable GObject cast checks]),[enable_gobject_cast_checks=$enableval], 38 [enable_gobject_cast_checks=auto]) 39 40 if test "x$enable_gobject_cast_checks" = "xauto"; then 41 dnl Turn on cast checks only for development versions 42 if test "x`expr $PACKAGE_VERSION_MINOR % 2`" = "x1" -a "x`expr $PACKAGE_VERSION_MICRO '<' 90`" = "x1"; then 43 enable_gobject_cast_checks=yes 44 else 45 enable_gobject_cast_checks=no 46 fi 47 fi 48 49 if test "x$enable_gobject_cast_checks" = "xno"; then 50 GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_DISABLE_CAST_CHECKS" 51 fi 52 53 AC_ARG_ENABLE(glib-asserts, 54 AS_HELP_STRING([--enable-glib-asserts[=@<:@no/yes@:>@]], 55 [Enable GLib assertion]),[enable_glib_assertions=$enableval], 56 [enable_glib_assertions=yes]) 57 58 if test "x$enable_glib_assertions" = "xno"; then 59 GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_DISABLE_ASSERT" 60 fi 61 62 dnl Find location of glib utils. People may want to or have to override these, 63 dnl e.g. in a cross-compile situation where PATH is a bit messed up. We need 64 dnl for these tools to work on the host, so can't just use the one from the 65 dnl GLib installation that pkg-config picks up, as that might be for a 66 dnl different target architecture. 67 dnl 68 dnl glib-genmarshal: 69 AC_MSG_CHECKING(for glib-genmarshal) 70 if test "x$GLIB_GENMARSHAL" != "x"; then 71 AC_MSG_RESULT([$GLIB_GENMARSHAL (from environment)]) 72 else 73 GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0` 74 if $GLIB_GENMARSHAL --version 2>/dev/null >/dev/null; then 75 AC_MSG_RESULT([$GLIB_GENMARSHAL (from pkg-config path)]) 76 else 77 AC_PATH_PROG(GLIB_GENMARSHAL, [glib-genmarshal], [glib-genmarshal]) 78 AC_MSG_RESULT([$GLIB_GENMARSHAL]) 79 fi 80 fi 81 if ! $GLIB_GENMARSHAL --version 2>/dev/null >/dev/null; then 82 AC_MSG_WARN([$GLIB_GENMARSHAL does not seem to work!]) 83 fi 84 AC_SUBST(GLIB_GENMARSHAL) 85 86 dnl glib-mkenums: 87 AC_MSG_CHECKING(for glib-mkenums) 88 if test "x$GLIB_MKENUMS" != "x"; then 89 AC_MSG_RESULT([$GLIB_MKENUMS (from environment)]) 90 else 91 dnl glib-mkenums is written in perl so should always work really 92 GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0` 93 AC_MSG_RESULT([$GLIB_MKENUMS]) 94 fi 95 if ! $GLIB_MKENUMS --version 2>/dev/null >/dev/null; then 96 AC_MSG_WARN([$GLIB_MKENUMS does not seem to work!]) 97 fi 98 AC_SUBST(GLIB_MKENUMS) 99 100 AC_SUBST(GLIB_EXTRA_CFLAGS) 101 102 dnl Now check for GIO 103 PKG_CHECK_MODULES(GIO, gio-2.0 >= $GLIB_REQ) 104 if test "x$HAVE_GIO" = "xno"; then 105 AC_MSG_ERROR([This package requires GIO >= $GLIB_REQ to compile.]) 106 fi 107 108 GIO_MODULE_DIR="`$PKG_CONFIG --variable=giomoduledir gio-2.0`" 109 AC_DEFINE_UNQUOTED(GIO_MODULE_DIR, "$GIO_MODULE_DIR", 110 [The GIO modules directory.]) 111 GIO_LIBDIR="`$PKG_CONFIG --variable=libdir gio-2.0`" 112 AC_DEFINE_UNQUOTED(GIO_LIBDIR, "$GIO_LIBDIR", 113 [The GIO library directory.]) 114 GIO_PREFIX="`$PKG_CONFIG --variable=prefix gio-2.0`" 115 AC_DEFINE_UNQUOTED(GIO_PREFIX, "$GIO_PREFIX", 116 [The GIO install prefix.]) 117 118 AC_SUBST(GIO_CFLAGS) 119 AC_SUBST(GIO_LIBS) 120 AC_SUBST(GIO_LDFLAGS) 121]) 122