gstreamer/: GstStructure and GstTagList foreach() support.
[platform/upstream/gstreamer.git] / configure.ac
1 -*- mode: m4 -*-
2 AC_PREREQ(2.57)
3 AC_INIT
4 AC_CANONICAL_TARGET
5
6 AS_VERSION(gst-python, GST_PYTHON_VERSION, 0, 1, 0, 1)
7 AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
8
9 AC_CONFIG_SRCDIR([gstreamer/gstreamermodule.c])
10 AM_CONFIG_HEADER(config.h)
11
12 dnl Add parameters for aclocal
13 ACLOCAL="$ACLOCAL -I common/m4 $ACLOCAL_FLAGS"
14
15 dnl required versions of other packages
16 AC_SUBST(PYGTK_REQ, 2.0.0)
17 AC_SUBST(GLIB_REQ,  2.0.0)
18 AC_SUBST(GTK_REQ,   2.0.0)
19 AC_SUBST(GST_REQ,   0.6.0)
20
21 AC_DISABLE_STATIC
22 AC_PROG_LIBTOOL
23
24 dnl check for python
25 dnl AM_PATH_PYTHON(2.2)
26 AM_PATH_PYTHON
27 AC_MSG_CHECKING(for python >= 2.2)
28 prog="
29 import sys, string
30 minver = (2,2,0,'final',0)
31 if sys.version_info < minver:
32   sys.exit(1)
33 sys.exit(0)"
34
35 if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC
36 then
37   AC_MSG_RESULT(okay)
38 else
39   AC_MSG_ERROR(too old)
40 fi
41 AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers)])
42
43 dnl check for GStreamer
44 dnl start with 0.7
45 GST_MAJORMINOR=0.7
46 PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ,
47                   HAVE_GSTREAMER=yes,HAVE_GSTREAMER=no)
48
49 dnl try 0.6
50 if test "x$HAVE_GSTREAMER" = "xno"; then
51   GST_MAJORMINOR=0.6
52   PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ,
53                     HAVE_GSTREAMER=yes,HAVE_GSTREAMER=no)
54 fi
55
56 dnl Give error and exit if we don't have gstreamer
57 if test "x$HAVE_GSTREAMER" = "xno"; then
58   AC_MSG_ERROR(you need gstreamer development packages installed !)
59 fi
60
61 AC_SUBST(GST_MAJORMINOR)
62 AM_CONDITIONAL(GST_0_6, test $GST_MAJORMINOR = 0.6)
63 AM_CONDITIONAL(GST_0_7, test $GST_MAJORMINOR = 0.7)
64
65 dnl check for pygtk
66 PKG_CHECK_MODULES(PYGTK, pygtk-2.0 >= $PYGTK_REQ)
67 AC_PATH_PROG(PYGTK_CODEGEN, pygtk-codegen-2.0, no)
68 if test "x$PYGTK_CODEGEN" = xno; then
69   AC_MSG_ERROR(could not find pygtk-codegen-2.0 script)
70 fi
71
72 AC_MSG_CHECKING(for pygtk defs)
73 PYGTK_DEFSDIR=`$PKG_CONFIG --variable=defsdir pygtk-2.0`
74 AC_SUBST(PYGTK_DEFSDIR)
75 AC_MSG_RESULT($PYGTK_DEFSDIR)
76
77 AC_MSG_CHECKING(for pygtk h2def)
78 PYGTK_H2DEF=`$PKG_CONFIG --variable=datadir pygtk-2.0`/pygtk/2.0/codegen/h2def.py
79 AC_SUBST(PYGTK_H2DEF)
80 AC_MSG_RESULT($PYGTK_H2DEF)
81
82 #dnl check for glib
83 #AM_PATH_GLIB_2_0(glib_required_version,,[AC_MSG_ERROR(maybe you want the gtk-gnome-1-2 branch?)],$extra_mods)
84 #
85 #dnl check to make sure we can find gtk
86 #AM_PATH_GTK_2_0(gtk_required_version,,[AC_MSG_ERROR(maybe you want the gtk-gnome-1-2 branch?)],$extra_mods)
87
88 AC_MSG_CHECKING(for GStreamer include dir)
89 GST_INCLUDEDIR=`$PKG_CONFIG --variable=includedir gstreamer-$GST_MAJORMINOR`
90 AC_MSG_RESULT($GST_INCLUDEDIR)
91 if test "x$GST_INCLUDEDIR" = "x"; then
92   AC_MSG_ERROR(no GStreamer include dir found)
93 fi
94 AC_SUBST(GST_INCLUDEDIR)
95
96 if test "x$GST_MAJORMINOR" != "x0.6"; then
97   AC_MSG_CHECKING(for GStreamer interfaces include dir)
98   PKG_CHECK_MODULES(GST_INTERFACES, gstreamer-interfaces-$GST_MAJORMINOR)
99   GST_INTERFACES_INCLUDEDIR=`$PKG_CONFIG --variable=includedir gstreamer-interfaces-$GST_MAJORMINOR`
100   AC_MSG_RESULT($GST_INTERFACES_INCLUDEDIR)
101   if test "x$GST_INTERFACES_INCLUDEDIR" = "x"; then
102     AC_MSG_ERROR(no GStreamer interfaces include dir found)
103   fi
104   AC_SUBST(GST_INTERFACES_INCLUDEDIR)
105 fi
106
107 if test "x$GST_MAJORMINOR" != "x0.6"; then
108   AC_MSG_CHECKING(for GStreamer play include dir)
109   PKG_CHECK_MODULES(GST_PLAY, gstreamer-play-$GST_MAJORMINOR)
110   GST_PLAY_INCLUDEDIR=`$PKG_CONFIG --variable=includedir gstreamer-play-$GST_MAJORMINOR`
111   AC_MSG_RESULT($GST_PLAY_INCLUDEDIR)
112   if test "x$GST_PLAY_INCLUDEDIR" = "x"; then
113     AC_MSG_ERROR(no GStreamer play include dir found)
114   fi
115   AC_SUBST(GST_PLAY_INCLUDEDIR)
116 fi
117
118
119 AC_CHECK_PROG(HAVE_XMLTO, xmlto, true, false)
120 AC_CHECK_PROG(HAVE_XMLCATALOG, xmlcatalog, true, false)
121
122 AC_ARG_ENABLE(docs,
123 AC_HELP_STRING([--enable-docs],[enable building of documentation]),
124 [case "${enableval}" in
125   yes)
126     if test "x$HAVE_XMLTO" = "xtrue" ; then
127       BUILD_DOCS=yes
128     else
129       AC_MSG_ERROR([you don't have xmlto, so don't use --enable-docs])
130       BUILD_DOCS=no
131     fi
132     if test "x$HAVE_XMLCATALOG" = "xtrue" ; then
133       BUILD_DOCS=yes
134     else
135       AC_MSG_ERROR([you don't have xmlcatalog, so don't use --enable-docs])
136       BUILD_DOCS=no
137     fi ;;
138   no)  BUILD_DOCS=no ;;
139   *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs) ;;
140 esac],
141 [BUILD_DOCS=yes]) dnl Default value
142
143 AM_CONDITIONAL(BUILD_DOCS,          test "x$BUILD_DOCS" = "xyes")
144
145
146 dnl add debugging options ...
147 changequote(,)dnl
148 if test "x$GCC" = xyes; then
149   case " $CFLAGS " in
150   *[\   \ ]-Wall[\      \ ]*) ;;
151   *) CFLAGS="$CFLAGS -Wall" ;;
152   esac
153
154   case " $CFLAGS " in
155   *[\   \ ]-std=c9x[\   \ ]*) ;;
156   *) CFLAGS="$CFLAGS -std=c9x" ;;
157   esac
158 fi
159 changequote([,])dnl
160
161 AC_OUTPUT([
162   Makefile
163   gstreamer/Makefile
164   gstinterfaces/Makefile
165   gstplay/Makefile
166   pkgconfig/Makefile
167   pkgconfig/gst-python.pc
168   pkgconfig/gst-python-uninstalled.pc
169   examples/Makefile
170   examples/gstreamer/Makefile
171   docs/Makefile
172   docs/gst-python.ent
173   testsuite/Makefile
174   gst-python.spec
175 ])