Port mplex element to 0.10. Fixes bug #520329.
[platform/upstream/gstreamer.git] / configure.ac
1 AC_PREREQ(2.52)
2
3 dnl initialize autoconf
4 dnl when going to/from release please set the nano (fourth number) right !
5 dnl releases only do Wall, cvs and prerelease does Werror too
6 AC_INIT(GStreamer Bad Plug-ins, 0.10.6.1,
7     http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
8     gst-plugins-bad)
9
10 AG_GST_INIT
11
12 dnl initialize automake
13 AM_INIT_AUTOMAKE
14
15 dnl define PACKAGE_VERSION_* variables
16 AS_VERSION
17
18 dnl check if this is a release version
19 AS_NANO(GST_CVS="no", GST_CVS="yes")
20
21 dnl can autoconf find the source ?
22 AC_CONFIG_SRCDIR([docs/plugins/gst-plugins-bad-plugins-docs.sgml])
23
24 dnl define the output header for config
25 AM_CONFIG_HEADER([config.h])
26
27 dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
28 AM_MAINTAINER_MODE
29
30 dnl sets host_* variables
31 AC_CANONICAL_HOST
32
33 dnl our libraries and install dirs use major.minor as a version
34 GST_MAJORMINOR=$GST_PLUGINS_BAD_VERSION_MAJOR.$GST_PLUGINS_BAD_VERSION_MINOR
35 dnl we override it here if we need to for the release candidate of new series
36 GST_MAJORMINOR=0.10
37 AC_SUBST(GST_MAJORMINOR)
38
39 dnl FIXME: this macro doesn't actually work;
40 dnl the generated libtool script has no support for the listed tags.
41 dnl So this needs to be fixed first if we want to use this
42 dnl AS_LIBTOOL_TAGS([CXX])
43
44 AM_PROG_LIBTOOL
45
46 dnl *** required versions of GStreamer stuff ***
47 dnl *** remove rtpmanager stuff below when this is updated
48 GST_REQ=0.10.17
49 GSTPB_REQ=0.10.17.1
50
51 dnl *** autotools stuff ****
52
53 dnl allow for different autotools
54 AS_AUTOTOOLS_ALTERNATE
55
56 dnl Add parameters for aclocal
57 AC_SUBST(ACLOCAL_AMFLAGS, "-I m4 -I common/m4")
58
59 dnl set up gettext
60 dnl the version check needs to stay here because autopoint greps for it
61 AM_GNU_GETTEXT_VERSION([0.11.5])
62 AM_GNU_GETTEXT([external])
63 AG_GST_GETTEXT([gst-plugins-bad-$GST_MAJORMINOR])
64
65 dnl *** check for arguments to configure ***
66
67 AG_GST_ARG_DEBUG
68 AG_GST_ARG_PROFILING
69 AG_GST_ARG_VALGRIND
70 AG_GST_ARG_GCOV
71
72 AG_GST_ARG_EXAMPLES
73
74 AG_GST_ARG_WITH_PKG_CONFIG_PATH
75 AG_GST_ARG_WITH_PACKAGE_NAME
76 AG_GST_ARG_WITH_PACKAGE_ORIGIN
77
78 AG_GST_ARG_WITH_PLUGINS
79
80 AG_GST_ARG_ENABLE_EXTERNAL
81
82 AG_GST_ARG_ENABLE_EXPERIMENTAL
83
84 dnl *** checks for platform ***
85
86 dnl * hardware/architecture *
87
88 dnl common/m4/gst-arch.m4
89 dnl check CPU type
90 AG_GST_ARCH
91
92 dnl Determine endianness
93 AC_C_BIGENDIAN
94
95 dnl *** checks for programs ***
96
97 dnl find a compiler
98 AC_PROG_CC
99
100 dnl determine c++ compiler
101 AC_PROG_CXX
102 dnl determine if c++ is available on this system
103 AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
104
105 AS_PROG_OBJC
106
107 dnl check if the compiler supports '-c' and '-o' options
108 AM_PROG_CC_C_O
109
110 AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
111 AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
112
113 dnl check for documentation tools
114 GTK_DOC_CHECK([1.3])
115 AS_PATH_PYTHON([2.1])
116 AG_GST_PLUGIN_DOCS([1.3],[2.1])
117
118 dnl *** checks for libraries ***
119
120 dnl check for libm, for sin() etc.
121 AC_CHECK_LIBM
122 AC_SUBST(LIBM)
123
124 dnl *** checks for header files ***
125
126 AC_CHECK_HEADERS([unistd.h], HAVE_UNISTD_H=yes)
127 AM_CONDITIONAL(HAVE_UNISTD_H, test "x$HAVE_UNISTD_H" = "xyes")
128
129 if test "x$HAVE_UNISTD_H" != "xyes"; then
130   GST_PLUGINS_SELECTED=`echo $GST_PLUGINS_SELECTED | $SED -e s/festival//`
131 fi
132
133 dnl used by ext/dts
134 AX_CREATE_STDINT_H
135
136 dnl *** checks for types/defines ***
137
138 dnl *** checks for structures ***
139
140 dnl *** checks for compiler characteristics ***
141
142 dnl *** checks for library functions ***
143
144 dnl *** checks for dependency libraries ***
145
146 dnl GLib is required
147 AG_GST_GLIB_CHECK([2.6])
148
149 dnl liboil is required
150 PKG_CHECK_MODULES(LIBOIL, liboil-0.3 >= 0.3.8, HAVE_LIBOIL=yes, HAVE_LIBOIL=no)
151 if test "x$HAVE_LIBOIL" != "xyes"; then
152   AC_ERROR([liboil-0.3.8 or later is required])
153 fi
154
155 dnl checks for gstreamer
156 dnl uninstalled is selected preferentially -- see pkg-config(1)
157 AG_GST_CHECK_GST($GST_MAJORMINOR, [$GST_REQ])
158 AG_GST_CHECK_GST_BASE($GST_MAJORMINOR, [$GST_REQ])
159 AG_GST_CHECK_GST_GDP($GST_MAJORMINOR, [$GST_REQ])
160 AG_GST_CHECK_GST_CHECK($GST_MAJORMINOR, [$GST_REQ], no)
161 AG_GST_CHECK_GST_CONTROLLER($GST_MAJORMINOR, [$GST_REQ])
162 AG_GST_CHECK_GST_PLUGINS_BASE($GST_MAJORMINOR, [$GSTPB_REQ], no)
163 AM_CONDITIONAL(HAVE_GST_CHECK, test "x$HAVE_GST_CHECK" = "xyes")
164
165 GSTPB_PLUGINS_DIR=`$PKG_CONFIG gstreamer-plugins-base-$GST_MAJORMINOR --variable pluginsdir`
166 AC_SUBST(GSTPB_PLUGINS_DIR)
167 AC_MSG_NOTICE(Using GStreamer Base Plugins in $GSTPB_PLUGINS_DIR)
168
169 dnl Check for documentation xrefs
170 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
171 GST_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-$GST_MAJORMINOR`"
172 GSTPB_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-plugins-base-$GST_MAJORMINOR`"
173 AC_SUBST(GLIB_PREFIX)
174 AC_SUBST(GST_PREFIX)
175 AC_SUBST(GSTPB_PREFIX)
176
177 dnl GTK is optional and used in examples
178 HAVE_GTK=NO
179 PKG_CHECK_MODULES(GTK2, gtk+-2.0 >= 2.2.0, HAVE_GTK_22=yes, HAVE_GTK_22=no)
180 if test "x$HAVE_GTK_22" = "xyes"; then
181   HAVE_GTK=yes
182   GTK_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0`
183   AC_SUBST(GTK_VERSION)
184   GTK_PREFIX=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
185   AC_SUBST(GTK_BASE_DIR)
186   GDK_PIXBUF_LIBDIR=`$PKG_CONFIG --variable=libdir gdk-pixbuf-2.0`
187   GDK_PIXBUF_PREFIXDIR=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
188   AC_SUBST(GTK_BASE_DIR)
189 else
190   PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK_20=yes, HAVE_GTK_20=no)
191 fi
192 if test "x$HAVE_GTK_20" = "xyes"; then
193   HAVE_GTK=yes
194 fi
195 GTK_CFLAGS=$GTK2_CFLAGS
196 GTK_LIBS=$GTK2_LIBS
197 AC_SUBST(GTK_LIBS)
198 AC_SUBST(GTK_CFLAGS)
199 AC_SUBST(HAVE_GTK)
200 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
201
202 dnl libglade is optional and only used in examples
203 HAVE_GLADE=NO
204 PKG_CHECK_MODULES(GLADE, libglade-2.0 >= 2.6.0, HAVE_GLADE=yes, HAVE_GLADE=no)
205 AC_SUBST(GLADE_LIBS)
206 AC_SUBST(GLADE_CFLAGS)
207 AC_SUBST(HAVE_GLADE)
208 AM_CONDITIONAL(HAVE_GLADE, test "x$HAVE_GLADE" = "xyes")
209
210 dnl set license and copyright notice
211 GST_LICENSE="LGPL"
212 AC_DEFINE_UNQUOTED(GST_LICENSE, "$GST_LICENSE", [GStreamer license])
213 AC_SUBST(GST_LICENSE)
214
215 dnl set location of plugin directory
216 AG_GST_SET_PLUGINDIR
217
218 dnl define an ERROR_CFLAGS Makefile variable
219 AG_GST_SET_ERROR_CFLAGS($GST_CVS)
220
221 dnl define an ERROR_CXXFLAGS Makefile variable
222 AG_GST_SET_ERROR_CXXFLAGS($GST_CVS)
223
224 dnl define correct level for debugging messages
225 AG_GST_SET_LEVEL_DEFAULT($GST_CVS)
226
227 dnl *** plug-ins to include ***
228
229 dnl these are all the gst plug-ins, compilable without additional libs
230 AG_GST_CHECK_PLUGIN(app)
231 AG_GST_CHECK_PLUGIN(bayer)
232 AG_GST_CHECK_PLUGIN(cdxaparse)
233 AG_GST_CHECK_PLUGIN(deinterlace)
234 AG_GST_CHECK_PLUGIN(dvdspu)
235 AG_GST_CHECK_PLUGIN(festival)
236 AG_GST_CHECK_PLUGIN(filter)
237 AG_GST_CHECK_PLUGIN(flv)
238 AG_GST_CHECK_PLUGIN(freeze)
239 AG_GST_CHECK_PLUGIN(h264parse)
240 AG_GST_CHECK_PLUGIN(interleave)
241 AG_GST_CHECK_PLUGIN(librfb)
242 AG_GST_CHECK_PLUGIN(modplug)
243 AG_GST_CHECK_PLUGIN(mpegtsparse)
244 AG_GST_CHECK_PLUGIN(mpeg4videoparse)
245 AG_GST_CHECK_PLUGIN(mpegvideoparse)
246 AG_GST_CHECK_PLUGIN(mve)
247 AG_GST_CHECK_PLUGIN(nsf)
248 AG_GST_CHECK_PLUGIN(nuvdemux)
249 AG_GST_CHECK_PLUGIN(rawparse)
250 AG_GST_CHECK_PLUGIN(real)
251 AG_GST_CHECK_PLUGIN(replaygain)
252 AG_GST_CHECK_PLUGIN(rtpmanager)
253 AG_GST_CHECK_PLUGIN(sdp)
254 AG_GST_CHECK_PLUGIN(selector)
255 AG_GST_CHECK_PLUGIN(speed)
256 AG_GST_CHECK_PLUGIN(speexresample)
257 AG_GST_CHECK_PLUGIN(stereo)
258 AG_GST_CHECK_PLUGIN(tta)
259 AG_GST_CHECK_PLUGIN(videosignal)
260 AG_GST_CHECK_PLUGIN(vmnc)
261 AG_GST_CHECK_PLUGIN(y4m)
262
263 dnl *** plug-ins to exclude ***
264
265 dnl see if we can build C++ plug-ins
266 if test "x$HAVE_CXX" != "xyes"; then
267   AC_MSG_WARN([Not compiling plug-ins requiring C++ compiler])
268   AG_GST_DISABLE_PLUGIN(modplug)
269 fi
270
271 dnl real plugin only works on i386 and x86_64 for the time being.
272 if test "x$HAVE_CPU_I386" != "xyes" && test "x$HAVE_CPU_X86_64" != "xyes"; then
273   AC_MSG_WARN([Not building real plugin, only works on 32bit and 64bit x86 platforms])
274   AG_GST_DISABLE_PLUGIN(real)
275 fi
276
277 dnl disable gst plugins we might not be able to build on this
278 dnl platform: librfb (ugly but minimally invasive)
279 dnl FIXME: maybe move to sys, or make work with winsock2
280 AC_CHECK_HEADERS([sys/socket.h], HAVE_SYS_SOCKET_H=yes)
281 AC_CHECK_HEADERS([winsock2.h], HAVE_WINSOCK2_H=yes)
282
283 if test "x$HAVE_SYS_SOCKET_H" != "xyes"; then
284   AG_GST_DISABLE_PLUGIN(librfb)
285 fi
286
287 dnl *** sys plug-ins ***
288
289 dnl check for QuickTime
290 translit(dnm, m, l) AM_CONDITIONAL(USE_QUICKTIME, true)
291 AG_GST_CHECK_FEATURE(QUICKTIME, [QuickTime wrapper], qtwrapper, [
292   AC_CHECK_HEADER(QuickTime/Movies.h, HAVE_QUICKTIME="yes", HAVE_QUICKTIME="no")
293 ])
294
295 dnl check for Video CD
296 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
297 AG_GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
298   AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
299 ])
300
301 dnl *** ext plug-ins ***
302 dnl keep this list sorted alphabetically !
303
304 if test "x$BUILD_EXTERNAL" = "xyes"; then
305
306 dnl *** alsa ***
307 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
308 AG_GST_CHECK_FEATURE(ALSA, [alsa plug-ins], gstalsa, [
309   PKG_CHECK_MODULES(ALSA, alsa >= 0.9.1, [
310     HAVE_ALSA="yes"
311     AC_SUBST(ALSA_CFLAGS)
312     AC_SUBST(ALSA_LIBS)
313   ], [
314     AM_PATH_ALSA(0.9.1, HAVE_ALSA="yes", HAVE_ALSA="no")
315   ])
316 ])
317
318 dnl *** amrwb ***
319 translit(dnm, m, l) AM_CONDITIONAL(USE_AMRWB, true)
320 AG_GST_CHECK_FEATURE(AMRWB, [amrwb library], amrwb, [
321   AG_GST_CHECK_LIBHEADER(AMRWB, amrwb,
322                         GP3D_IF_decode, ,
323                         amrwb/dec.h,
324                         AMRWB_LIBS="-lamrwb"
325                         AC_SUBST(AMRWB_LIBS))
326 ])
327
328 dnl *** BZ2 ***
329 translit(dnm, m, l) AM_CONDITIONAL(USE_BZ2, true)
330 AG_GST_CHECK_FEATURE(BZ2, [bz2 library], bz2, [
331   AG_GST_CHECK_LIBHEADER(BZ2, bz2, BZ2_bzCompress, ,bzlib.h, BZ2_LIBS="-lbz2")
332   AC_SUBST(BZ2_LIBS)
333 ])
334
335 #dnl *** cairo ***
336 #translit(dnm, m, l) AM_CONDITIONAL(USE_CAIRO, true)
337 #AG_GST_CHECK_FEATURE(CAIRO, [cairo plug-in], cairo, [
338 #  PKG_CHECK_MODULES(CAIRO, cairo >= 1.0 glitz-glx, HAVE_CAIRO=yes, [
339 #    HAVE_CAIRO=no
340 #    AC_MSG_RESULT(no)
341 #  ])
342 #  AC_SUBST(CAIRO_CFLAGS)
343 #  AC_SUBST(CAIRO_LIBS)
344 #])
345
346 dnl *** cdaudio ***
347 translit(dnm, m, l) AM_CONDITIONAL(USE_CDAUDIO, true)
348 AG_GST_CHECK_FEATURE(CDAUDIO, [cdaudio], cdaudio, [
349   AG_GST_CHECK_CONFIGPROG(CDAUDIO, libcdaudio-config)
350   AC_SUBST(CDAUDIO_CFLAGS)
351   AC_SUBST(CDAUDIO_LIBS)
352 ])
353
354
355 dnl *** dc1394  ***
356 translit(dnm, m, l) AM_CONDITIONAL(USE_DC1394, true)
357 AG_GST_CHECK_FEATURE(DC1394, [libdc1394], dc1394, [
358    PKG_CHECK_MODULES(LIBDC1394, libdc1394-2 >= 2.0.0, HAVE_DC1394="yes", [
359         HAVE_DC1394="no"
360         AC_MSG_RESULT(no)
361    ])
362    AC_SUBST(LIBDC1394_CFLAGS)
363    AC_SUBST(LIBDC1394_LIBS)
364 ])
365
366
367 dnl **** DirectFB ****
368 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTFB, true)
369 AG_GST_CHECK_FEATURE(DIRECTFB, [directfb], dfbvideosink , [
370   PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.24, HAVE_DIRECTFB="yes", [
371     HAVE_DIRECTFB="no"
372     AC_MSG_RESULT(no)
373   ])
374 ])
375
376 dnl *** DTS ***
377 translit(dnm, m, l) AM_CONDITIONAL(USE_DTS, true)
378 AG_GST_CHECK_FEATURE(DTS, [dts library], dtsdec, [
379   HAVE_DTS="yes"
380   AG_GST_CHECK_LIBHEADER(DTS, dts_pic, dts_init, -lm, dts.h,
381     DTS_LIBS="-ldts_pic -lm", HAVE_DTS="no")
382   if test $HAVE_DTS = "no"; then
383     AG_GST_CHECK_LIBHEADER(DTS, dca, dca_init, -lm, dts.h,
384       DTS_LIBS="-ldca -lm")
385   fi
386   AC_SUBST(DTS_LIBS)
387 ])
388
389 dnl *** DIVX ***
390 translit(dnm, m, l) AM_CONDITIONAL(USE_DIVX, true)
391 AG_GST_CHECK_FEATURE(DIVX, [divx plugins], divx, [
392   HAVE_DIVX=yes
393   AC_CHECK_HEADER(encore2.h, , [
394     AC_MSG_WARN([Divx4linux encore headers not found])
395     HAVE_DIVX=no
396   ])
397   if [ test x$HAVE_DIVX = xyes ]; then
398     AC_MSG_CHECKING([Checking for valid divx4linux encore version])
399     AC_TRY_COMPILE([
400 #include <encore2.h>
401 #if ENCORE_VERSION != 20021024
402 #error Wrong version of divx encore libraries
403 #endif
404     ], [
405 return 0;
406     ], [
407       HAVE_DIVX=yes
408       AC_MSG_RESULT(yes)
409     ], [
410       HAVE_DIVX=no
411       AC_MSG_RESULT(no)
412       AC_MSG_WARN([Wrong version of divx4linux installed])
413     ])
414   fi
415   if [ test x$HAVE_DIVX = xyes ]; then
416     AC_CHECK_HEADER(decore.h, , [
417       AC_MSG_WARN([Divx4linux decoder headers not found])
418       HAVE_DIVX=no
419     ])
420   fi
421   if [ test x$HAVE_DIVX = xyes ]; then
422     AC_MSG_CHECKING([Checking for valid divx4linux decore version])
423     AC_TRY_COMPILE([
424 #include <decore.h>
425 #if DECORE_VERSION != 20021112
426 #error Wrong version of divx decore libraries
427 #endif
428     ], [
429 return 0;
430     ], [
431       HAVE_DIVX=yes
432       AC_MSG_RESULT(yes)
433     ], [
434       HAVE_DIVX=no
435       AC_MSG_RESULT(no)
436       AC_MSG_WARN([Wrong version of divx4linux installed])
437     ])
438   fi
439   LIBS="-lm"
440   if test x$HAVE_DIVX = xyes; then
441     AC_CHECK_LIB(divxencore, encore, , [
442       AC_MSG_WARN([Divx4linux encore libs not found])
443       HAVE_DIVX=no
444     ])
445   fi
446   if test x$HAVE_DIVX = xyes; then
447     AC_CHECK_LIB(divxdecore, decore, , [
448       AC_MSG_WARN([Divx4linux decore libs not found])
449       HAVE_DIVX=no
450   ])
451   fi
452   if test x$HAVE_DIVX = xyes; then
453     DIVXENC_LIBS="-ldivxencore -lm"
454     DIVXDEC_LIBS="-ldivxdecore -lm"
455     AC_SUBST(DIVXENC_LIBS)
456     AC_SUBST(DIVXDEC_LIBS)
457   fi
458 ])
459
460 dnl *** METADATA ***
461 translit(dnm, m, l) AM_CONDITIONAL(USE_METADATA, true)
462 AG_GST_CHECK_FEATURE(METADATA, [METADATA muxer and demuxer], metadata, [
463   HAVE_METADATA="no"
464   PKG_CHECK_MODULES(EXIF, libexif >= 0.6.16, HAVE_EXIF="yes", [
465     HAVE_EXIF="no"
466   ])
467   PKG_CHECK_MODULES(IPTC, libiptcdata >= 1.0.2, HAVE_IPTC="yes", [
468     HAVE_IPTC="no"
469   ])
470   PKG_CHECK_MODULES(XMP, exempi-2.0, HAVE_XMP="yes", [
471     HAVE_XMP="no"
472   ])
473   PKG_CHECK_MODULES(XMP_1_99_5, exempi-2.0 >= 1.99.5, XMP_CFLAGS="-DXMP_1_99_5 $XMP_CFLAGS", AC_MSG_RESULT(no))
474   if test x$HAVE_EXIF = xyes; then
475     METADATA_CFLAGS="-DHAVE_EXIF $EXIF_CFLAGS $METADATA_CFLAGS"
476     METADATA_LIBS="$EXIF_LIBS $METADATA_LIBS -lm"
477     HAVE_METADATA="yes"
478   fi
479   if test x$HAVE_IPTC = xyes; then
480     METADATA_CFLAGS="-DHAVE_IPTC $IPTC_CFLAGS $METADATA_CFLAGS"
481     METADATA_LIBS="$IPTC_LIBS $METADATA_LIBS"
482     HAVE_METADATA="yes"
483   fi
484   if test x$HAVE_XMP = xyes; then
485     METADATA_CFLAGS="-DHAVE_XMP $XMP_CFLAGS $METADATA_CFLAGS"
486     METADATA_LIBS="$XMP_LIBS $METADATA_LIBS"
487     HAVE_METADATA="yes"
488   fi
489   if test x$HAVE_METADATA = xno; then
490     AC_MSG_WARN(no of metadata libraries (exif, iptc or xmp) found)
491   fi
492   dnl metadata plugin will parse whole chunks anyway
493   HAVE_METADATA="yes"
494   AC_SUBST(METADATA_CFLAGS)
495   AC_SUBST(METADATA_LIBS)
496 ])
497
498 dnl **** Free AAC Encoder (FAAC) ****
499 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAC, true)
500 AG_GST_CHECK_FEATURE(FAAC, [AAC encoder plug-in], faac, [
501   AG_GST_CHECK_LIBHEADER(FAAC, faac, faacEncOpen, -lm, faac.h,
502     FAAC_LIBS="-lfaac -lm")
503   AS_SCRUB_INCLUDE(FAAC_CFLAGS)
504   AC_SUBST(FAAC_LIBS)
505 ])
506
507 dnl **** Free AAC Decoder (FAAD) ****
508 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAD, true)
509 AG_GST_CHECK_FEATURE(FAAD, [AAC decoder plug-in], faad, [
510   HAVE_FAAD="yes"
511   AG_GST_CHECK_LIBHEADER(FAAD, faad, faacDecOpen, -lm, faad.h,
512     FAAD_LIBS="-lfaad -lm", HAVE_FAAD="no")
513   if test $HAVE_FAAD = "no"; then
514     AG_GST_CHECK_LIBHEADER(FAAD, faad, NeAACDecOpen, -lm, neaacdec.h,
515       [ FAAD_LIBS="-lfaad -lm"
516                 AC_DEFINE(FAAD_IS_NEAAC, 1, [Define if AAC is using new api prefix])
517           ],
518           HAVE_FAAD="no",)
519   fi
520   if test $HAVE_FAAD = "yes"; then
521     AC_MSG_CHECKING([Checking for FAAD >= 2.0])
522     AC_TRY_COMPILE([#include <faad.h>], [
523         #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
524         #error Not faad2
525         #else
526         /* Release candidate of 2.0 is not good enough for us. This field
527          * was added only in 2.0 final and does not exist in 2.0-RC3 */
528         faacDecConfiguration conf; conf.dontUpSampleImplicitSBR = 1;
529         #endif
530     ], [
531       HAVE_FAAD="yes"
532       AC_MSG_RESULT(yes)
533     ], [
534       HAVE_FAAD="no"
535       AC_MSG_RESULT(no)
536     ])
537   fi
538   AS_SCRUB_INCLUDE(FAAD_CFLAGS)
539   AC_SUBST(FAAD_LIBS)
540   AC_SUBST(FAAD_IS_NEAAC)
541 ])
542
543 dnl *** fbdev ***
544 translit(dnm, m, l) AM_CONDITIONAL(USE_FBDEV, true)
545 AG_GST_CHECK_FEATURE(FBDEV, [linux framebuffer], fbdevsink, [
546   if test "x$HAVE_FBDEV" != "xyes"; then
547     AC_CHECK_HEADER([linux/fb.h], HAVE_FBDEV=yes, HAVE_FBDEV=no)
548   fi
549 ])
550
551 dnl *** gsm ***
552 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
553 AG_GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
554   AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
555   if test $HAVE_GSM != "yes"; then
556     AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
557     if test $HAVE_GSM = "yes"; then
558       AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
559     fi
560   fi
561   AC_SUBST(GSM_LIBS)
562 ])
563
564 dnl *** ivorbis ***
565 dnl AM_PATH_IVORBIS only takes two options
566 translit(dnm, m, l) AM_CONDITIONAL(USE_IVORBIS, true)
567 AG_GST_CHECK_FEATURE(IVORBIS, [integer vorbis plug-in], ivorbisdec, [
568   IVORBIS_LIBS=
569   IVORBIS_CFLAGS=
570   AC_CHECK_LIB(vorbisidec, vorbis_block_init,
571     [IVORBIS_LIBS=-lvorbisidec
572      HAVE_IVORBIS=yes
573      case $host in
574      arm-*-*)
575        IVORBIS_CFLAGS="-D_ARM_ASSEM_ $IVORBIS_CFLAGS"
576      esac
577     ],
578     HAVE_IVORBIS=no)
579   AC_SUBST(IVORBIS_LIBS)
580   AC_SUBST(IVORBIS_CFLAGS)
581 ])
582
583 dnl *** Jack ***
584 translit(dnm, m, l) AM_CONDITIONAL(USE_JACK, true)
585 AG_GST_CHECK_FEATURE(JACK, Jack, jack, [
586   PKG_CHECK_MODULES(JACK, jack >= 0.99.10, HAVE_JACK="yes", HAVE_JACK="no")
587   AC_SUBST(JACK_CFLAGS)
588   AC_SUBST(JACK_LIBS)
589 ])
590
591 dnl *** ladspa ***
592 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
593 AG_GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
594   AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
595 ])
596
597 dnl *** libmms ***
598 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMMS, true)
599 AG_GST_CHECK_FEATURE(LIBMMS, [mms protocol library], libmms, [
600   dnl check with pkg-config first
601   PKG_CHECK_MODULES(LIBMMS, libmms >= 0.2, HAVE_LIBMMS="yes", [
602     HAVE_LIBMMS="no"
603     AC_MSG_RESULT(no)
604   ])
605 ])
606 AC_SUBST(LIBMMS_LIBS)
607
608 dnl *** mjpegtools version info ***
609 dnl some may prefer older version (given quirks above)
610 dnl hm, no version info seems available within mjpegtools headers
611 dnl and API really moves along
612 echo
613 PKG_CHECK_EXISTS(mjpegtools >= 1.6.1.93 mjpegtools < 1.8.0, [
614   mjpegtools_api=10601
615 ], [
616   PKG_CHECK_EXISTS(mjpegtools >= 1.8.0 mjpegtools < 1.9.0, [
617     mjpegtools_api=10800
618   ], [
619     PKG_CHECK_MODULES(MJPEG, mjpegtools >= 1.9.0, [
620       dnl logging API changed in release candidates
621       OLD_CFLAGS="$CFLAGS"
622       OLD_LIBS="$LIBS"
623       CFLAGS="$MJPEG_CFLAGS"
624       LIBS="$LIBS $MJPEG_LIBS -lmjpegutils -lm -lpthread"
625       AC_CHECK_FUNC(mjpeg_loglev_t, [
626         mjpegtools_api=10903
627         ], [
628         mjpegtools_api=10900
629         ])
630       CFLAGS="$OLD_CFLAGS"
631       LIBS="$OLD_LIBS"
632     ], [
633       mjpegtools_api=0
634     ])
635   ])
636 ])
637 AC_DEFINE_UNQUOTED(GST_MJPEGTOOLS_API, $mjpegtools_api,
638   [mjpegtools API evolution])
639
640 dnl *** mpeg2enc ***
641 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2ENC, true)
642 AG_GST_CHECK_FEATURE(MPEG2ENC, [mpeg2enc], mpeg2enc, [
643   HAVE_MPEG2ENC="no"
644   dnl we require a c++ compiler for this one
645   if [ test x$HAVE_CXX = xyes ]; then
646     dnl libmpeg2enc was first included in mjpegtools-1.6.2-rc3 (1.6.1.92)
647     dnl since many distros include mjpegtools specifically without mplex
648     dnl and mpeg2enc, we check for mpeg2enc on its own, too.
649     PKG_CHECK_MODULES(MPEG2ENC, mjpegtools >= 1.6.1.93, [
650       dnl HACK because mpeg2enc 1.8.0 header files have a spurious 'include config.h'
651       touch config.h
652       dnl switch over to c++ to test things
653       AC_LANG_CPLUSPLUS
654       OLD_CPPFLAGS="$CPPFLAGS"
655       dnl HACK as above
656       CPPFLAGS_GOOD="$CPPFLAGS $MPEG2ENC_CFLAGS"
657       CPPFLAGS="$CPPFLAGS_GOOD -I."
658       dnl check headers
659       mpeg2enc_headers_ok=no
660       AC_CHECK_HEADER([mpeg2encoder.hh], [
661         MPEG2ENC_LIBS="$MPEG2ENC_LIBS -lmpeg2encpp -lm -lpthread"
662         OLD_LIBS="$LIBS"
663         LIBS="$LIBS $MPEG2ENC_LIBS"
664         AC_MSG_CHECKING([for valid mpeg2enc objects])
665         AC_TRY_RUN([
666           #include <mpeg2encoder.hh>
667           #include <mpeg2encoptions.hh>
668
669           int
670           main (int   argc,
671                 char *argv[])
672           {
673             MPEG2EncOptions *options = new MPEG2EncOptions ();
674             MPEG2Encoder *encoder = new MPEG2Encoder (*options);
675             return 0;
676           }
677         ],[
678           AC_MSG_RESULT(yes)
679           dnl so far so good, let's check more things:
680           dnl mjpegtools-1.8.0 does not install the required
681           dnl mpeg2syntaxcodes.h header by default, and a new release
682           dnl is not in sight, so check for this oversight in case
683           dnl distros or folks have fixed this themselves
684           if test "$mjpegtools_api" -ge "10800"; then
685             AC_CHECK_HEADER([mpeg2syntaxcodes.h], [
686                 mpeg2enc_headers_ok=yes
687               ], [
688                 mpeg2enc_headers_ok=no
689               ])
690           else
691             mpeg2enc_headers_ok=yes
692           fi
693           if test "x$mpeg2enc_headers_ok" = "xyes"; then
694             HAVE_MPEG2ENC="yes"
695           fi
696           CPP_FLAGS="$CPPFLAGS_GOOD"
697           AC_SUBST(MPEG2ENC_CFLAGS)
698           AC_SUBST(MPEG2ENC_LIBS)
699         ], [
700           AC_MSG_RESULT(no)
701         ])
702         LIBS="$OLD_LIBS"
703       ])
704
705       CPPFLAGS="$OLD_CPPFLAGS"
706       AC_LANG_C
707     ], [
708       HAVE_MPEG2ENC="no"
709     ])
710   fi
711 ])
712
713 dnl *** mplex ***
714 translit(dnm, m, l) AM_CONDITIONAL(USE_MPLEX, true)
715 AG_GST_CHECK_FEATURE(MPLEX, [mplex], mplex, [
716   HAVE_MPLEX="no"
717   dnl we require a c++ compiler for this one
718   if [ test x$HAVE_CXX = xyes ]; then
719     dnl libmplex was first included in mjpegtools-1.6.2-rc4 (1.6.1.93)
720     dnl since many distros include mjpegtools specifically without mplex
721     dnl and mpeg2enc, we check for mplex on its own, too.
722     dnl libmplex < 1.9rc? has fuzzy ABI, valgrind and other problems
723     PKG_CHECK_MODULES(MPLEX, mjpegtools >= 1.9.0, [
724       dnl switch over to c++ to test things
725       AC_LANG_CPLUSPLUS
726       OLD_CPPFLAGS="$CPPFLAGS"
727       CPPFLAGS="$CPPFLAGS $MPLEX_CFLAGS"
728       AC_CHECK_HEADER(interact.hpp, [
729         MPLEX_LIBS="$MPLEX_LIBS -lmplex2 -lm"
730         OLD_LIBS="$LIBS"
731         LIBS="$LIBS $MPLEX_LIBS"
732         dnl older libmplex uses off_t SegmentSize (), which leads to fuzzy ABI;
733         dnl don't want this here
734         AC_MSG_CHECKING([for valid mplex objects])
735         AC_TRY_RUN([
736
737 #include <interact.hpp>
738 #include <outputstrm.hpp>
739 #include <multiplexor.hpp>
740 int
741 main (int   argc,
742       char *argv[])
743 {
744   class TestOutputStream : public OutputStream {
745   public:
746     TestOutputStream () : OutputStream () { }
747     void Write (uint8_t *a, unsigned int b) { }
748     void NextSegment () { }
749     uint64_t SegmentSize () { }
750     void Close () { }
751     int Open () { }
752 };
753   MultiplexJob *job = new MultiplexJob ();
754   vector<IBitStream *> inputs;
755   job->SetupInputStreams (inputs);
756   TestOutputStream *out = new TestOutputStream ();
757   Multiplexor *mux = new Multiplexor(*job, *out, NULL);
758   return 0;
759 }
760         ],[
761           HAVE_MPLEX="yes"
762           AC_SUBST(MPLEX_CFLAGS)
763           AC_SUBST(MPLEX_LIBS)
764           AC_MSG_RESULT(yes)
765         ], AC_MSG_RESULT(no))
766         LIBS="$OLD_LIBS"
767       ])
768       CPPFLAGS="$OLD_CPPFLAGS"
769       AC_LANG_C
770     ], HAVE_MPLEX="no")
771   fi
772 ])
773
774 dnl *** musepack ***
775 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSEPACK, true)
776 AG_GST_CHECK_FEATURE(MUSEPACK, [musepackdec], musepack, [
777   AC_LANG_CPLUSPLUS
778   AC_CHECK_HEADER([mpcdec/mpcdec.h], [
779     HAVE_MUSEPACK="yes"
780     MUSEPACK_LIBS="-lmpcdec"
781     AC_SUBST(MUSEPACK_LIBS)
782     ], [HAVE_MUSEPACK="no"])
783   AC_LANG_C
784 ])
785
786 dnl *** musicbrainz ***
787 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSICBRAINZ, true)
788 AG_GST_CHECK_FEATURE(MUSICBRAINZ, [musicbrainz tag generation], musicbrainz, [
789   PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz >= 2.1.0, HAVE_MUSICBRAINZ="yes", HAVE_MUSICBRAINZ="no")
790   AC_SUBST(MUSICBRAINZ_CFLAGS)
791   AC_SUBST(MUSICBRAINZ_LIBS)
792 ])
793
794 dnl *** MythTV ***
795 translit(dnm, m, l) AM_CONDITIONAL(USE_MYTHTV, true)
796 AG_GST_CHECK_FEATURE(MYTHTV, [MythTV client plugins], mythtvsrc, [
797   PKG_CHECK_MODULES(GMYTH, gmyth >= 0.4 gmyth <= 0.7.99, HAVE_MYTHTV="yes", [
798     HAVE_MYTHTV="no"
799     AC_MSG_RESULT(no)
800   ])
801   AC_SUBST(GMYTH_CFLAGS)
802   AC_SUBST(GMYTH_LIBS)
803 ])
804
805 dnl *** nas ***
806 translit(dnm, m, l) AM_CONDITIONAL(USE_NAS, true)
807 AG_GST_CHECK_FEATURE(NAS, [nas plug-in], nassink, [
808   HAVE_NAS="no"
809   AG_GST_CHECK_X
810   if test "x$HAVE_X" = "xyes"; then
811     save_cppflags=$CFLAGS
812     CPPFLAGS="$CPPFLAGS $X_CFLAGS"
813     AG_GST_CHECK_LIBHEADER(NAS, audio, AuOpenServer, $X_LIBS, audio/audiolib.h,
814       NAS_LIBS="$X_LIBS -laudio" NAS_CFLAGS="$X_CFLAGS")
815     CPPFLAGS="$save_cppflags"
816   fi
817   AC_SUBST(NAS_CFLAGS)
818   AC_SUBST(NAS_LIBS)
819 ])
820
821 dnl *** neon ***
822 translit(dnm, m, l) AM_CONDITIONAL(USE_NEON, true)
823 AG_GST_CHECK_FEATURE(NEON, [neon http client plugins], neonhttpsrc, [
824   PKG_CHECK_MODULES(NEON, neon >= 0.26.0  neon <= 0.27.99, HAVE_NEON="yes", [
825     HAVE_NEON="no"
826     AC_MSG_RESULT(no)
827   ])
828   AC_SUBST(NEON_CFLAGS)
829   AC_SUBST(NEON_LIBS)
830 ])
831
832 dnl *** soup ***
833 translit(dnm, m, l) AM_CONDITIONAL(USE_SOUP, true)
834 AG_GST_CHECK_FEATURE(SOUP, [soup http client plugin (2.4)], souphttpsrc, [
835   PKG_CHECK_MODULES(SOUP, libsoup-2.4 >= 2.3.2, HAVE_SOUP="yes", [
836     HAVE_SOUP="no"
837     AC_MSG_RESULT(no)
838   ])
839   AC_SUBST(SOUP_CFLAGS)
840   AC_SUBST(SOUP_LIBS)
841 ])
842
843 dnl *** timidity ***
844 translit(dnm, m, l) AM_CONDITIONAL(USE_TIMIDITY, true)
845 AG_GST_CHECK_FEATURE(TIMIDITY, [timidity midi soft synth plugin], timidity, [
846   PKG_CHECK_MODULES(TIMIDITY, libtimidity, [
847     HAVE_TIMIDITY="yes",
848         AC_MSG_CHECKING([for timidity.cfg])
849         timidity_cfg=""
850         if test -r /etc/timidity.cfg; then
851           timidity_cfg=/etc/timidity.cfg
852         elif test -r /etc/timidity/timidity.cfg; then
853           timidity_cfg=/etc/timidity/timidity.cfg
854         elif test -r /usr/share/timidity/timidity.cfg; then
855           timidity_cfg=/usr/share/timidity/timidity.cfg
856         elif test -r /usr/local/share/timidity/timidity.cfg; then
857           timidity_cfg=/usr/local/share/timidity/timidity.cfg
858         fi
859         if test "x$timidity_cfg" != "x"; then
860           AC_MSG_RESULT($timidity_cfg)
861       AC_DEFINE_UNQUOTED(TIMIDITY_CFG, "$timidity_cfg", [Define location of timidity.cfg])
862         else
863           AC_MSG_RESULT([not found])
864         fi
865   ], [
866     HAVE_TIMIDITY="no"
867     AC_MSG_RESULT(no)
868   ])
869   AC_SUBST(TIMIDITY_CFLAGS)
870   AC_SUBST(TIMIDITY_LIBS)
871 ])
872
873 dnl *** wildmidi ***
874 translit(dnm, m, l) AM_CONDITIONAL(USE_WILDMIDI, true)
875 AG_GST_CHECK_FEATURE(WILDMIDI, [wildmidi midi soft synth plugin], wildmidi, [
876   AC_CHECK_HEADER([wildmidi_lib.h],HAVE_WILDMIDI=yes, HAVE_WILDMIDI=no)
877   if test "x$HAVE_WILDMIDI" = "xyes"; then
878          WILDMIDI_CFLAGS=
879          WILDMIDI_LIBS=-lWildMidi
880          AC_MSG_NOTICE(compiling gstWildMidi)
881   else
882          WILDMIDI_CFLAGS=
883          WILDMIDI_LIBS=
884          AC_MSG_WARN(no WildMidi library found (libWildMidi))
885   fi
886   AC_SUBST(WILDMIDI_CFLAGS)
887   AC_SUBST(WILDMIDI_LIBS)
888 ])
889
890 dnl *** SDL ***
891 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
892 AG_GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink sdlaudiosink, [
893     AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
894 ])
895
896 dnl *** sndfile ***
897 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDFILE, true)
898 AG_GST_CHECK_FEATURE(SNDFILE, [sndfile plug-in], sfsrc sfsink, [
899   PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.16, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")
900   AC_SUBST(SNDFILE_CFLAGS)
901   AC_SUBST(SNDFILE_LIBS)
902 ])
903
904 dnl *** soundtouch ***
905 translit(dnm, m, l) AM_CONDITIONAL(USE_SOUNDTOUCH, true)
906 AG_GST_CHECK_FEATURE(SOUNDTOUCH, [soundtouch plug-in], soundtouch, [
907   PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.0,
908     HAVE_SOUNDTOUCH=yes, 
909     [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch,
910       HAVE_SOUNDTOUCH=yes,
911       HAVE_SOUNDTOUCH=no)])
912   AC_SUBST(SOUNDTOUCH_CFLAGS)
913   AC_SUBST(SOUNDTOUCH_LIBS)
914   if test "x$HAVE_CXX" != "xyes"; then
915     USE_SOUNDTOUCH=false
916     AC_MSG_NOTICE([Not building soundtouch plugin: no C++ compiler found])
917   fi
918 ])
919
920 dnl *** spc ***
921 translit(dnm, m, l) AM_CONDITIONAL(USE_SPC, true)
922 AG_GST_CHECK_FEATURE(SPC, [spc decoder], spc, [
923   AC_CHECK_HEADER(openspc.h, [
924     AC_CHECK_LIB(openspc, OSPC_Init, [
925       SPC_LIBS="-lopenspc"
926       AC_SUBST(SPC_LIBS)
927       HAVE_SPC=yes
928     ], [
929       HAVE_SPC=no
930     ])
931   ], [
932     HAVE_SPC=no
933   ])
934 ])
935
936 dnl *** swfdec ***
937 translit(dnm, m, l) AM_CONDITIONAL(USE_SWFDEC, true)
938 AG_GST_CHECK_FEATURE(SWFDEC, [swfdec plug-in], swfdec, [
939   PKG_CHECK_MODULES(SWFDEC, swfdec-0.3 >= 0.3.6, HAVE_SWFDEC=yes, [
940     HAVE_SWFDEC=no
941     AC_MSG_RESULT(no)
942   ])
943   AC_SUBST(SWFDEC_CFLAGS)
944   AC_SUBST(SWFDEC_LIBS)
945 ])
946
947 dnl *** theora ***
948 translit(dnm, m, l) AM_CONDITIONAL(USE_THEORADEC, true)
949 AG_GST_CHECK_FEATURE(THEORADEC, [ogg theora codec], theoraexpdec, [
950   PKG_CHECK_MODULES(THEORADEC, theoradec, HAVE_THEORADEC="yes", [
951     HAVE_THEORADEC="no"
952     AC_MSG_RESULT(no)
953   ])
954   AC_SUBST(THEORADEC_LIBS)
955   AC_SUBST(THEORADEC_CFLAGS)
956 ])
957
958 dnl *** x264 (MPEG-4 part 10/h.264/AVC encoder) ***
959 translit(dnm, m, l) AM_CONDITIONAL(USE_X264, true)
960 AG_GST_CHECK_FEATURE(X264, [x264 plug-in], x264, [
961   AG_GST_CHECK_LIBHEADER(X264, x264, x264_nal_encode, -lm, x264.h,
962       X264_LIBS="$LDFLAGS -lx264 -lm"
963       X264_CFLAGS="$CFLAGS"
964       AC_SUBST(X264_LIBS)
965       AC_SUBST(X264_CFLAGS))
966 ])
967
968 dnl *** XVID ***
969 translit(dnm, m, l) AM_CONDITIONAL(USE_XVID, true)
970 AG_GST_CHECK_FEATURE(XVID, [xvid plugins], xvid, [
971   HAVE_XVID=no
972   AC_CHECK_HEADER(xvid.h, [
973     OLD_LIBS="$LIBS"
974     LIBS="-lm"
975     AC_CHECK_LIB(xvidcore, xvid_encore, [
976       AC_CHECK_LIB(xvidcore, xvid_decore, [
977         AC_CHECK_LIB(xvidcore, xvid_global, [
978           AC_MSG_CHECKING([for uptodate XviD API version])
979           AC_TRY_COMPILE([#include <xvid.h>], [
980               #if XVID_API_MAJOR(XVID_API) != 4
981               #error "Incompatible XviD API version"
982               #endif
983           ],[ AC_MSG_RESULT(yes)
984             XVID_LIBS="-lxvidcore -lm"
985             AC_SUBST(XVID_LIBS)
986             HAVE_XVID=yes
987           ], AC_MSG_RESULT(no) )
988         ], )
989       ], )
990     ], )
991     LIBS="$OLD_LIBS"
992   ], )
993 ])
994
995 dnl *** dvb ***
996 translit(dnm, m, l) AM_CONDITIONAL(USE_DVB, true)
997 AG_GST_CHECK_FEATURE(DVB, [DVB Source], dvb, [
998   AC_MSG_CHECKING([Checking for up to date dvb installation])
999   AC_CHECK_HEADER(linux/dvb/frontend.h, [HAVE_DVB="yes"], [HAVE_DVB="no"])
1000 ])
1001
1002 else
1003
1004 dnl not building plugins with external dependencies,
1005 dnl but we still need to set the conditionals
1006
1007 AM_CONDITIONAL(USE_QUICKTIME, false)
1008 AM_CONDITIONAL(USE_VCD, false)
1009 AM_CONDITIONAL(USE_ALSA, false)
1010 AM_CONDITIONAL(USE_AMRWB, false)
1011 AM_CONDITIONAL(USE_BZ2, false)
1012 AM_CONDITIONAL(USE_CDAUDIO, false)
1013 AM_CONDITIONAL(USE_DIRECTFB, false)
1014 AM_CONDITIONAL(USE_DTS, false)
1015 AM_CONDITIONAL(USE_DIVX, false)
1016 AM_CONDITIONAL(USE_FAAC, false)
1017 AM_CONDITIONAL(USE_FAAD, false)
1018 AM_CONDITIONAL(USE_FBDEV, false)
1019 AM_CONDITIONAL(USE_GSM, false)
1020 AM_CONDITIONAL(USE_IVORBIS, false)
1021 AM_CONDITIONAL(USE_JACK, false)
1022 AM_CONDITIONAL(USE_LADSPA, false)
1023 AM_CONDITIONAL(USE_LIBMMS, false)
1024 AM_CONDITIONAL(USE_MPEG2ENC, false)
1025 AM_CONDITIONAL(USE_MPLEX, false)
1026 AM_CONDITIONAL(USE_MUSEPACK, false)
1027 AM_CONDITIONAL(USE_MUSICBRAINZ, false)
1028 AM_CONDITIONAL(USE_MYTHTV, false)
1029 AM_CONDITIONAL(USE_NAS, false)
1030 AM_CONDITIONAL(USE_NEON, false)
1031 AM_CONDITIONAL(USE_SOUP, false)
1032 AM_CONDITIONAL(USE_SDL, false)
1033 AM_CONDITIONAL(USE_SNDFILE, false)
1034 AM_CONDITIONAL(USE_SOUNDTOUCH, false)
1035 AM_CONDITIONAL(USE_SPC, false)
1036 AM_CONDITIONAL(USE_SWFDEC, false)
1037 AM_CONDITIONAL(USE_THEORADEC, false)
1038 AM_CONDITIONAL(USE_TIMIDITY, false)
1039 AM_CONDITIONAL(USE_X264, false)
1040 AM_CONDITIONAL(USE_XVID, false)
1041 AM_CONDITIONAL(USE_WILDMIDI, false)
1042 AM_CONDITIONAL(USE_DVB, false)
1043
1044 fi dnl of EXT plugins
1045
1046 dnl *** finalize CFLAGS, LDFLAGS, LIBS
1047
1048 dnl Overview:
1049 dnl GST_OPTION_CFLAGS:  common flags for profiling, debugging, errors, ...
1050 dnl GST_*:              flags shared by built objects to link against GStreamer
1051 dnl GST_ALL_LDFLAGS:    linker flags shared by all
1052 dnl GST_LIB_LDFLAGS:    additional linker flags for all libaries
1053 dnl GST_LT_LDFLAGS:     library versioning of our libraries
1054 dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
1055
1056 dnl GST_OPTION_CFLAGS
1057 if test "x$USE_DEBUG" = xyes; then
1058    PROFILE_CFLAGS="-g"
1059 fi
1060 AC_SUBST(PROFILE_CFLAGS)
1061
1062 if test "x$PACKAGE_VERSION_NANO" = "x1"; then
1063   dnl Define _only_ during CVS (not pre-releases or releases)
1064   DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
1065 else
1066   DEPRECATED_CFLAGS=""
1067 fi
1068 AC_SUBST(DEPRECATED_CFLAGS)
1069
1070 dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
1071 dnl at make time with e.g. make ERROR_CFLAGS=""
1072 GST_OPTION_CFLAGS="\$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
1073 GST_OPTION_CXXFLAGS="\$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
1074 AC_SUBST(GST_OPTION_CFLAGS)
1075 AC_SUBST(GST_OPTION_CXXFLAGS)
1076
1077 dnl FIXME: do we want to rename to GST_ALL_* ?
1078 dnl prefer internal headers to already installed ones
1079 dnl also add builddir include for enumtypes and marshal
1080 dnl add GST_OPTION_CFLAGS, but overridable
1081 GST_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS \$(GST_OPTION_CFLAGS)"
1082 GST_CXXFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS \$(GST_OPTION_CXXFLAGS)"
1083 AC_SUBST(GST_CFLAGS)
1084 AC_SUBST(GST_CXXFLAGS)
1085 AC_SUBST(GST_LIBS)
1086
1087 dnl LDFLAGS really should only contain flags, not libs - they get added before
1088 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
1089 GST_ALL_LDFLAGS="-no-undefined"
1090 AC_SUBST(GST_ALL_LDFLAGS)
1091
1092 dnl this really should only contain flags, not libs - they get added before
1093 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
1094 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_desc\$\$' $GST_ALL_LDFLAGS"
1095 AC_SUBST(GST_PLUGIN_LDFLAGS)
1096
1097 dnl *** output files ***
1098
1099 dnl po/Makefile.in
1100
1101
1102 AC_CONFIG_FILES(
1103 Makefile
1104 gst-plugins-bad.spec
1105 gst/Makefile
1106 gst/app/Makefile
1107 gst/bayer/Makefile
1108 gst/cdxaparse/Makefile
1109 gst/deinterlace/Makefile
1110 gst/dvdspu/Makefile
1111 gst/festival/Makefile
1112 gst/filter/Makefile
1113 gst/flv/Makefile
1114 gst/freeze/Makefile
1115 gst/h264parse/Makefile
1116 gst/interleave/Makefile
1117 gst/librfb/Makefile
1118 gst/modplug/Makefile
1119 gst/modplug/libmodplug/Makefile
1120 gst/mpegtsparse/Makefile
1121 gst/mpeg4videoparse/Makefile
1122 gst/mpegvideoparse/Makefile
1123 gst/mve/Makefile
1124 gst/nsf/Makefile
1125 gst/nuvdemux/Makefile
1126 gst/rawparse/Makefile
1127 gst/replaygain/Makefile
1128 gst/rtpmanager/Makefile
1129 gst/sdp/Makefile
1130 gst/selector/Makefile
1131 gst/speed/Makefile
1132 gst/speexresample/Makefile
1133 gst/stereo/Makefile
1134 gst/tta/Makefile
1135 gst/videosignal/Makefile
1136 gst/vmnc/Makefile
1137 gst/real/Makefile
1138 gst/y4m/Makefile
1139 gst-libs/Makefile
1140 gst-libs/gst/Makefile
1141 gst-libs/gst/app/Makefile
1142 gst-libs/gst/dshow/Makefile
1143 sys/Makefile
1144 sys/dshowdecwrapper/Makefile
1145 sys/dshowsrcwrapper/Makefile
1146 sys/fbdev/Makefile
1147 sys/dvb/Makefile
1148 sys/qtwrapper/Makefile
1149 sys/vcd/Makefile
1150 examples/Makefile
1151 examples/app/Makefile
1152 examples/directfb/Makefile
1153 examples/switch/Makefile
1154 ext/amrwb/Makefile
1155 ext/alsaspdif/Makefile
1156 ext/bz2/Makefile
1157 ext/cdaudio/Makefile
1158 ext/dc1394/Makefile
1159 ext/directfb/Makefile
1160 ext/divx/Makefile
1161 ext/dts/Makefile
1162 ext/metadata/Makefile
1163 ext/faac/Makefile
1164 ext/faad/Makefile
1165 ext/gsm/Makefile
1166 ext/ivorbis/Makefile
1167 ext/jack/Makefile
1168 ext/ladspa/Makefile
1169 ext/libmms/Makefile
1170 ext/Makefile
1171 ext/nas/Makefile
1172 ext/mpeg2enc/Makefile
1173 ext/mplex/Makefile
1174 ext/musepack/Makefile
1175 ext/musicbrainz/Makefile
1176 ext/mythtv/Makefile
1177 ext/neon/Makefile
1178 ext/soup/Makefile
1179 ext/sdl/Makefile
1180 ext/sndfile/Makefile
1181 ext/soundtouch/Makefile
1182 ext/spc/Makefile
1183 ext/swfdec/Makefile
1184 ext/theora/Makefile
1185 ext/timidity/Makefile
1186 ext/x264/Makefile
1187 ext/xvid/Makefile
1188 po/Makefile.in
1189 docs/Makefile
1190 docs/plugins/Makefile
1191 docs/version.entities
1192 common/Makefile
1193 common/m4/Makefile
1194 m4/Makefile
1195 tests/Makefile
1196 tests/check/Makefile
1197 tests/icles/Makefile
1198 win32/common/config.h
1199 )
1200 AC_OUTPUT
1201
1202 AG_GST_OUTPUT_PLUGINS