Initial release including wifi display based on gst-rtsp-server-1.4.1
[platform/upstream/gstreamer.git] / common / m4 / gst-glib2.m4
1 dnl check for a minimum version of GLib
2
3 dnl AG_GST_GLIB_CHECK([minimum-version-required])
4
5 AC_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/auto/yes@:>@]],
55       [Enable GLib assertion]),[enable_glib_assertions=$enableval],
56     [enable_glib_assertions=auto])
57
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
62     else
63       enable_glib_assertions=no
64     fi
65   fi
66
67   if test "x$enable_glib_assertions" = "xno"; then
68     GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_DISABLE_ASSERT"
69   fi
70
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.
76   dnl
77   dnl glib-genmarshal:
78   AC_MSG_CHECKING(for glib-genmarshal)
79   if test "x$GLIB_GENMARSHAL" != "x"; then
80     AC_MSG_RESULT([$GLIB_GENMARSHAL (from environment)])
81   else
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)])
85     else
86       AC_PATH_PROG(GLIB_GENMARSHAL, [glib-genmarshal], [glib-genmarshal])
87       AC_MSG_RESULT([$GLIB_GENMARSHAL])
88     fi
89   fi
90   if ! $GLIB_GENMARSHAL --version 2>/dev/null >/dev/null; then
91     AC_MSG_WARN([$GLIB_GENMARSHAL does not seem to work!])
92   fi
93   AC_SUBST(GLIB_GENMARSHAL)
94
95   dnl glib-mkenums:
96   AC_MSG_CHECKING(for glib-mkenums)
97   if test "x$GLIB_MKENUMS" != "x"; then
98     AC_MSG_RESULT([$GLIB_MKENUMS (from environment)])
99   else
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])
103   fi
104   if ! $GLIB_MKENUMS --version 2>/dev/null >/dev/null; then
105     AC_MSG_WARN([$GLIB_MKENUMS does not seem to work!])
106   fi
107   AC_SUBST(GLIB_MKENUMS)
108
109   AC_SUBST(GLIB_EXTRA_CFLAGS)
110
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.])
115   fi
116   
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.])
123   AC_SUBST(GIO_CFLAGS)
124   AC_SUBST(GIO_LIBS)
125   AC_SUBST(GIO_LDFLAGS)
126 ])