1 dnl check for a minimum version of GLib
3 dnl AG_GST_GLIB_CHECK([minimum-version-required])
5 AC_DEFUN([AG_GST_GLIB_CHECK],
9 dnl Minimum required version of GLib
11 if test "x$GLIB_REQ" = "x"
13 AC_MSG_ERROR([Please specify a required version for GLib 2.0])
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)
21 if test "x$HAVE_GLIB" = "xno"; then
22 AC_MSG_ERROR([This package requires GLib >= $GLIB_REQ to compile.])
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"
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"
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])
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
45 enable_gobject_cast_checks=no
49 if test "x$enable_gobject_cast_checks" = "xno"; then
50 GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_DISABLE_CAST_CHECKS"
53 AC_ARG_ENABLE(glib-asserts,
54 AS_HELP_STRING([--enable-glib-asserts[=@<:@no/auto/yes@:>@]],
55 [Enable GLib assertion]),[enable_glib_assertions=$enableval],
56 [enable_glib_assertions=auto])
58 if test "x$enable_glib_assertions" = "xauto"; then
59 dnl Enable assertions only for development versions
60 if test "x`expr $PACKAGE_VERSION_MINOR % 2`" = "x1" -a "x`expr $PACKAGE_VERSION_MICRO '<' 90`" = "x1"; then
61 enable_glib_assertions=yes
63 enable_glib_assertions=no
67 if test "x$enable_glib_assertions" = "xno"; then
68 GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_DISABLE_ASSERT"
71 dnl Find location of glib utils. People may want to or have to override these,
72 dnl e.g. in a cross-compile situation where PATH is a bit messed up. We need
73 dnl for these tools to work on the host, so can't just use the one from the
74 dnl GLib installation that pkg-config picks up, as that might be for a
75 dnl different target architecture.
78 AC_MSG_CHECKING(for glib-genmarshal)
79 if test "x$GLIB_GENMARSHAL" != "x"; then
80 AC_MSG_RESULT([$GLIB_GENMARSHAL (from environment)])
82 GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
83 if $GLIB_GENMARSHAL --version 2>/dev/null >/dev/null; then
84 AC_MSG_RESULT([$GLIB_GENMARSHAL (from pkg-config path)])
86 AC_PATH_PROG(GLIB_GENMARSHAL, [glib-genmarshal], [glib-genmarshal])
87 AC_MSG_RESULT([$GLIB_GENMARSHAL])
90 if ! $GLIB_GENMARSHAL --version 2>/dev/null >/dev/null; then
91 AC_MSG_WARN([$GLIB_GENMARSHAL does not seem to work!])
93 AC_SUBST(GLIB_GENMARSHAL)
96 AC_MSG_CHECKING(for glib-mkenums)
97 if test "x$GLIB_MKENUMS" != "x"; then
98 AC_MSG_RESULT([$GLIB_MKENUMS (from environment)])
100 dnl glib-mkenums is written in perl so should always work really
101 GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
102 AC_MSG_RESULT([$GLIB_MKENUMS])
104 if ! $GLIB_MKENUMS --version 2>/dev/null >/dev/null; then
105 AC_MSG_WARN([$GLIB_MKENUMS does not seem to work!])
107 AC_SUBST(GLIB_MKENUMS)
109 AC_SUBST(GLIB_EXTRA_CFLAGS)
111 dnl Now check for GIO
112 PKG_CHECK_MODULES(GIO, gio-2.0 >= $GLIB_REQ)
113 if test "x$HAVE_GIO" = "xno"; then
114 AC_MSG_ERROR([This package requires GIO >= $GLIB_REQ to compile.])
117 GIO_MODULE_DIR="`$PKG_CONFIG --variable=giomoduledir gio-2.0`"
118 AC_DEFINE_UNQUOTED(GIO_MODULE_DIR, "$GIO_MODULE_DIR",
119 [The GIO modules directory.])
120 GIO_LIBDIR="`$PKG_CONFIG --variable=libdir gio-2.0`"
121 AC_DEFINE_UNQUOTED(GIO_LIBDIR, "$GIO_LIBDIR",
122 [The GIO library directory.])
125 AC_SUBST(GIO_LDFLAGS)