Release 0.11.2
[platform/upstream/gstreamer.git] / configure.ac
1 AC_PREREQ(2.60)
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.11.2,
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([-Wno-portability 1.10])
14
15 dnl define PACKAGE_VERSION_* variables
16 AS_VERSION
17
18 dnl check if this is a release version
19 AS_NANO(GST_GIT="no", GST_GIT="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 use pretty build output with automake >= 1.11
34 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])],
35   [AM_DEFAULT_VERBOSITY=1
36    AC_SUBST(AM_DEFAULT_VERBOSITY)])
37
38 dnl our libraries and install dirs use major.minor as a version
39 GST_MAJORMINOR=$GST_PLUGINS_BAD_VERSION_MAJOR.$GST_PLUGINS_BAD_VERSION_MINOR
40 dnl we override it here if we need to for the release candidate of new series
41 GST_MAJORMINOR=0.11
42 AC_SUBST(GST_MAJORMINOR)
43
44 AG_GST_LIBTOOL_PREPARE
45
46 dnl FIXME: this macro doesn't actually work;
47 dnl the generated libtool script has no support for the listed tags.
48 dnl So this needs to be fixed first if we want to use this
49 dnl AS_LIBTOOL_TAGS([CXX])
50
51 AC_LIBTOOL_WIN32_DLL
52 AM_PROG_LIBTOOL
53
54 dnl *** required versions of GStreamer stuff ***
55 GST_REQ=0.11.3
56 GSTPB_REQ=0.11.3
57
58 dnl *** autotools stuff ****
59
60 dnl allow for different autotools
61 AS_AUTOTOOLS_ALTERNATE
62
63 dnl Add parameters for aclocal
64 AC_SUBST(ACLOCAL_AMFLAGS, "-I m4 -I common/m4")
65
66 dnl set up gettext
67 dnl the version check needs to stay here because autopoint greps for it
68 AM_GNU_GETTEXT_VERSION([0.17])
69 AM_GNU_GETTEXT([external])
70 AG_GST_GETTEXT([gst-plugins-bad-$GST_MAJORMINOR])
71
72 dnl *** check for arguments to configure ***
73
74 AG_GST_ARG_DISABLE_FATAL_WARNINGS
75
76 AG_GST_ARG_DEBUG
77 AG_GST_ARG_PROFILING
78 AG_GST_ARG_VALGRIND
79 AG_GST_ARG_GCOV
80
81 AG_GST_ARG_EXAMPLES
82
83 AG_GST_ARG_WITH_PKG_CONFIG_PATH
84 AG_GST_ARG_WITH_PACKAGE_NAME
85 AG_GST_ARG_WITH_PACKAGE_ORIGIN
86
87 AG_GST_ARG_WITH_PLUGINS
88
89 AG_GST_ARG_ENABLE_EXTERNAL
90
91 AG_GST_ARG_ENABLE_EXPERIMENTAL
92
93 dnl *** checks for platform ***
94 AG_GST_PLATFORM
95
96 dnl * hardware/architecture *
97
98 dnl common/m4/gst-arch.m4
99 dnl check CPU type
100 AG_GST_ARCH
101
102 dnl Determine endianness
103 AC_C_BIGENDIAN
104
105 dnl *** checks for programs ***
106
107 dnl find a compiler
108 AC_PROG_CC
109 AC_PROG_CC_STDC
110
111 dnl determine c++ compiler
112 AC_PROG_CXX
113 dnl determine if c++ is available on this system
114 AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
115
116 AS_PROG_OBJC
117
118 dnl check if the compiler supports '-c' and '-o' options
119 AM_PROG_CC_C_O
120
121 dnl check if the compiler supports do while(0) macros
122 AG_GST_CHECK_DOWHILE_MACROS
123
124 AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
125 AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
126
127 dnl check for documentation tools
128 GTK_DOC_CHECK([1.3])
129 AS_PATH_PYTHON([2.1])
130 AG_GST_PLUGIN_DOCS([1.3],[2.1])
131
132 dnl *** checks for libraries ***
133
134 dnl check for libm, for sin() etc.
135 AC_CHECK_LIBM
136 AC_SUBST(LIBM)
137
138 AC_FUNC_MMAP
139
140 dnl *** checks for header files ***
141
142 AC_CHECK_HEADERS([unistd.h], HAVE_UNISTD_H=yes)
143 AM_CONDITIONAL(HAVE_UNISTD_H, test "x$HAVE_UNISTD_H" = "xyes")
144
145 if test "x$HAVE_UNISTD_H" != "xyes"; then
146   GST_PLUGINS_SELECTED=`echo $GST_PLUGINS_SELECTED | $SED -e s/festival//`
147 fi
148
149 dnl used by camerabin
150 AC_CHECK_HEADERS([sys/time.h])
151
152 dnl used by ext/dts
153 AX_CREATE_STDINT_H
154
155 AC_CHECK_HEADERS([pthread.h], HAVE_PTHREAD_H=yes)
156 AM_CONDITIONAL(HAVE_PTHREAD_H, test "x$HAVE_PTHREAD_H" = "xyes")
157
158 if test "x$HAVE_PTHREAD_H" != "xyes"; then
159   GST_PLUGINS_SELECTED=`echo $GST_PLUGINS_SELECTED | $SED -e s/dccp//`
160 fi
161
162 dnl *** checks for types/defines ***
163
164 dnl Check for FIONREAD ioctl declaration
165 dnl used in gst/dccp
166 GST_CHECK_FIONREAD
167
168 dnl *** checks for structures ***
169
170 dnl *** checks for compiler characteristics ***
171
172 dnl *** checks for library functions ***
173 AC_CHECK_FUNCS([gmtime_r])
174
175 dnl *** checks for headers ***
176 AC_CHECK_HEADERS([sys/utsname.h])
177
178 dnl *** checks for dependency libraries ***
179
180 dnl *** checks for socket and nsl libraries ***
181 AC_CHECK_FUNC(socket,,[AC_CHECK_LIB(socket,socket)])
182 AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
183
184 dnl GLib is required
185 GLIB_REQ=2.31.14
186 AG_GST_GLIB_CHECK([$GLIB_REQ])
187
188 dnl checks for gstreamer
189 dnl uninstalled is selected preferentially -- see pkg-config(1)
190 AG_GST_CHECK_GST($GST_MAJORMINOR, [$GST_REQ], yes)
191 AG_GST_CHECK_GST_BASE($GST_MAJORMINOR, [$GST_REQ], yes)
192 AG_GST_CHECK_GST_CHECK($GST_MAJORMINOR, [$GST_REQ], no)
193 AG_GST_CHECK_GST_CONTROLLER($GST_MAJORMINOR, [$GST_REQ], yes)
194 AM_CONDITIONAL(HAVE_GST_CHECK, test "x$HAVE_GST_CHECK" = "xyes")
195
196 AG_GST_CHECK_GST_PLUGINS_BASE($GST_MAJORMINOR, [$GSTPB_REQ], yes)
197
198 dnl check for uninstalled plugin directories for unit tests
199 AG_GST_CHECK_UNINSTALLED_SETUP([
200   AG_GST_CHECK_GST_PLUGINS_GOOD($GST_MAJORMINOR, [0.11.0])
201   AG_GST_CHECK_GST_PLUGINS_UGLY($GST_MAJORMINOR, [0.11.0])
202   AG_GST_CHECK_GST_PLUGINS_FFMPEG($GST_MAJORMINOR, [0.11.0])
203 ])
204
205 dnl Check for documentation xrefs
206 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
207 GST_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-$GST_MAJORMINOR`"
208 GSTPB_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-plugins-base-$GST_MAJORMINOR`"
209 AC_SUBST(GLIB_PREFIX)
210 AC_SUBST(GST_PREFIX)
211 AC_SUBST(GSTPB_PREFIX)
212
213 dnl GTK is optional and used in examples
214 HAVE_GTK=NO
215 GTK2_REQ=2.14.0
216 GTK3_REQ=2.91.3
217 if test "x$BUILD_EXAMPLES" = "xyes"; then
218   AC_MSG_CHECKING([which gtk+ version to compile examples against (optional)])
219   AC_ARG_WITH([gtk],
220     AC_HELP_STRING([--with-gtk=3.0|2.0],
221                    [which gtk+ version to compile against (default: 2.0)]),
222     [case "$with_gtk" in
223         2.0) GTK_REQ=$GTK2_REQ ;;
224         3.0) GTK_REQ=$GTK3_REQ ;;
225         *) AC_MSG_ERROR([invalid gtk+ version specified]);;
226     esac],
227     [with_gtk=2.0
228      GTK_REQ=$GTK2_REQ])
229   AC_MSG_RESULT([$with_gtk (>= $GTK_REQ)])
230   PKG_CHECK_MODULES(GTK, gtk+-x11-$with_gtk >= $GTK_REQ, HAVE_GTK=yes, HAVE_GTK=no)
231   AC_SUBST(GTK_LIBS)
232   AC_SUBST(GTK_CFLAGS)
233 fi
234 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
235
236
237
238 dnl Needed for GtkBuilder to autoconnect signals
239 PKG_CHECK_MODULES(GMODULE_EXPORT, gmodule-export-2.0, HAVE_GMODULE_EXPORT=yes, HAVE_GMODULE_EXPORT=no)
240
241 dnl x11 is optional for librfb
242 HAVE_X11=NO
243 PKG_CHECK_MODULES(X11, x11, HAVE_X11=yes, HAVE_X11=no)
244 AC_SUBST(X11_LIBS)
245 AC_SUBST(X11_CFLAGS)
246 AC_SUBST(HAVE_X11)
247 AM_CONDITIONAL(HAVE_X11, test "x$HAVE_X11" = "xyes")
248 if test "x$HAVE_X11" = "xyes"; then
249   AC_DEFINE(HAVE_X11, 1, [Define if you have X11 library])
250 fi
251
252 dnl exif (used on jifmux tests) ****
253 PKG_CHECK_MODULES(EXIF, libexif >= 0.6.16, HAVE_EXIF="yes", HAVE_EXIF="no")
254 AC_SUBST(EXIF_LIBS)
255 AC_SUBST(EXIF_CFLAGS)
256 AM_CONDITIONAL(USE_EXIF, test "x$HAVE_EXIF" = "xyes")
257
258 dnl Orc
259 ORC_CHECK([0.4.11])
260
261 dnl set license and copyright notice
262 GST_LICENSE="LGPL"
263 AC_DEFINE_UNQUOTED(GST_LICENSE, "$GST_LICENSE", [GStreamer license])
264 AC_SUBST(GST_LICENSE)
265
266 dnl define LIBDIR so we can inform people where we live
267 AS_AC_EXPAND(LIBDIR, $libdir)
268 AC_DEFINE_UNQUOTED(LIBDIR, "$LIBDIR", [library dir])
269
270 dnl set location of plugin directory
271 AG_GST_SET_PLUGINDIR
272
273 dnl set release date/time
274 AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO([$PACKAGE_VERSION_NANO],
275   ["${srcdir}/gst-plugins-bad.doap"],
276   [$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO])
277
278 dnl define an ERROR_CFLAGS Makefile variable
279 dnl -Waggregate-return - libexif returns aggregates
280 dnl -Wundef - Windows headers check _MSC_VER unconditionally
281 AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
282     -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
283     -Wwrite-strings -Wformat-security -Wold-style-definition
284     -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
285     -Wnested-externs])
286
287 dnl define an ERROR_CXXFLAGS Makefile variable
288 AG_GST_SET_ERROR_CXXFLAGS($FATAL_WARNINGS, [
289     -Wmissing-declarations -Wredundant-decls
290     -Wwrite-strings -Wformat-nonliteral -Wformat-security
291     -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar ])
292
293 dnl define correct level for debugging messages
294 AG_GST_SET_LEVEL_DEFAULT($GST_GIT)
295
296 dnl used in examples
297 AG_GST_DEFAULT_ELEMENTS
298
299 dnl *** plug-ins to include ***
300 dnl Non ported plugins (non-dependant, then dependant)
301 dnl Make sure you have a space before and after all plugins
302 GST_PLUGINS_NONPORTED=" aiff asfmux \
303  camerabin cdxaparse coloreffects \
304  dccp faceoverlay festival \
305  fieldanalysis freeverb freeze frei0r gaudieffects geometrictransform \
306  hdvparse hls id3tag inter interlace ivfparse jpegformat jp2kdecimator \
307  kate liveadder legacyresample librfb mpegtsmux \
308  mpegpsmux mve mxf mythtv nsf nuvdemux \
309  patchdetect pnm real \
310  sdi siren speed subenc stereo tta videofilters \
311  videomeasure videosignal vmnc \
312  decklink fbdev linsys vcd \
313  apexsink cdaudio cog curl dc1394 dirac directfb resindvd \
314  gsettings jp2k ladspa mimic \
315  musepack musicbrainz nas neon ofa openal opencv rsvg sdl sndfile soundtouch spandsp spc timidity \
316  wildmidi xvid lv2 teletextdec dvb"
317 AC_SUBST(GST_PLUGINS_NONPORTED)
318
319 dnl these are all the gst plug-ins, compilable without additional libs
320 AG_GST_CHECK_PLUGIN(adpcmdec)
321 AG_GST_CHECK_PLUGIN(adpcmenc)
322 AG_GST_CHECK_PLUGIN(aiff)
323 AG_GST_CHECK_PLUGIN(asfmux)
324 AG_GST_CHECK_PLUGIN(audiovisualizers)
325 AG_GST_CHECK_PLUGIN(autoconvert)
326 AG_GST_CHECK_PLUGIN(bayer)
327 AG_GST_CHECK_PLUGIN(camerabin)
328 AG_GST_CHECK_PLUGIN(camerabin2)
329 AG_GST_CHECK_PLUGIN(cdxaparse)
330 AG_GST_CHECK_PLUGIN(coloreffects)
331 AG_GST_CHECK_PLUGIN(dataurisrc)
332 AG_GST_CHECK_PLUGIN(dccp)
333 AG_GST_CHECK_PLUGIN(debugutils)
334 AG_GST_CHECK_PLUGIN(dtmf)
335 AG_GST_CHECK_PLUGIN(dvbsuboverlay)
336 AG_GST_CHECK_PLUGIN(dvdspu)
337 AG_GST_CHECK_PLUGIN(faceoverlay)
338 AG_GST_CHECK_PLUGIN(festival)
339 AG_GST_CHECK_PLUGIN(fieldanalysis)
340 AG_GST_CHECK_PLUGIN(freeze)
341 AG_GST_CHECK_PLUGIN(freeverb)
342 AG_GST_CHECK_PLUGIN(frei0r)
343 AG_GST_CHECK_PLUGIN(gaudieffects)
344 AG_GST_CHECK_PLUGIN(geometrictransform)
345 AG_GST_CHECK_PLUGIN(hdvparse)
346 AG_GST_CHECK_PLUGIN(hls)
347 AG_GST_CHECK_PLUGIN(id3tag)
348 AG_GST_CHECK_PLUGIN(inter)
349 AG_GST_CHECK_PLUGIN(interlace)
350 AG_GST_CHECK_PLUGIN(ivfparse)
351 AG_GST_CHECK_PLUGIN(jp2kdecimator)
352 AG_GST_CHECK_PLUGIN(jpegformat)
353 AG_GST_CHECK_PLUGIN(legacyresample)
354 AG_GST_CHECK_PLUGIN(librfb)
355 AG_GST_CHECK_PLUGIN(liveadder)
356 AG_GST_CHECK_PLUGIN(mpegdemux)
357 AG_GST_CHECK_PLUGIN(mpegtsdemux)
358 AG_GST_CHECK_PLUGIN(mpegtsmux)
359 AG_GST_CHECK_PLUGIN(mpegpsmux)
360 AG_GST_CHECK_PLUGIN(mve)
361 AG_GST_CHECK_PLUGIN(mxf)
362 AG_GST_CHECK_PLUGIN(nsf)
363 AG_GST_CHECK_PLUGIN(nuvdemux)
364 AG_GST_CHECK_PLUGIN(patchdetect)
365 AG_GST_CHECK_PLUGIN(pcapparse)
366 AG_GST_CHECK_PLUGIN(pnm)
367 AG_GST_CHECK_PLUGIN(rawparse)
368 AG_GST_CHECK_PLUGIN(real)
369 AG_GST_CHECK_PLUGIN(removesilence)
370 AG_GST_CHECK_PLUGIN(rtpmux)
371 AG_GST_CHECK_PLUGIN(rtpvp8)
372 AG_GST_CHECK_PLUGIN(scaletempo)
373 AG_GST_CHECK_PLUGIN(sdi)
374 AG_GST_CHECK_PLUGIN(sdp)
375 AG_GST_CHECK_PLUGIN(segmentclip)
376 AG_GST_CHECK_PLUGIN(siren)
377 AG_GST_CHECK_PLUGIN(smooth)
378 AG_GST_CHECK_PLUGIN(speed)
379 AG_GST_CHECK_PLUGIN(subenc)
380 AG_GST_CHECK_PLUGIN(stereo)
381 AG_GST_CHECK_PLUGIN(tta)
382 AG_GST_CHECK_PLUGIN(videofilters)
383 AG_GST_CHECK_PLUGIN(videomeasure)
384 AG_GST_CHECK_PLUGIN(videoparsers)
385 AG_GST_CHECK_PLUGIN(videosignal)
386 AG_GST_CHECK_PLUGIN(vmnc)
387 AG_GST_CHECK_PLUGIN(y4m)
388
389 dnl *** plug-ins to exclude ***
390
391 dnl real plugin only works on i386 and x86_64 for the time being.
392 if test "x$HAVE_CPU_I386" != "xyes" && test "x$HAVE_CPU_X86_64" != "xyes"; then
393   AC_MSG_WARN([Not building real plugin, only works on 32bit and 64bit x86 platforms])
394   AG_GST_DISABLE_PLUGIN(real)
395 fi
396
397 dnl disable gst plugins we might not be able to build on this
398 dnl platform: librfb (ugly but minimally invasive)
399 dnl FIXME: maybe move to sys, or make work with winsock2
400 AC_CHECK_HEADERS([sys/socket.h], HAVE_SYS_SOCKET_H=yes)
401 AC_CHECK_HEADERS([winsock2.h], HAVE_WINSOCK2_H=yes)
402
403 if test "x$HAVE_WINSOCK2_H" = "xyes"; then
404   WIN32_LIBS="-lws2_32"
405   AC_SUBST(WIN32_LIBS)
406 fi
407
408 dnl needed for festival
409 AM_CONDITIONAL(HAVE_WINSOCK2_H, test "x$HAVE_WINSOCK2_H" = "xyes")
410
411 if test "x$HAVE_WINSOCK2_H" = "xyes"; then
412   DCCP_LIBS="$DCCP_LIBS -lws2_32"
413   XDG_LIBS="$XDG_LIBS -lws2_32"
414   AC_SUBST(DCCP_LIBS)
415   AC_SUBST(XDG_LIBS)
416 fi
417
418 if test "x$HAVE_PTHREAD_H" = "xyes"; then
419   DCCP_LIBS="$DCCP_LIBS -lpthread"
420   AC_SUBST(DCCP_LIBS)
421 fi
422
423 if test "x$HAVE_PTHREAD_H" != "xyes"; then
424   AG_GST_DISABLE_PLUGIN(dccp)
425 fi
426
427 dnl *** sys plug-ins ***
428
429 dnl DirectSound
430 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTSOUND, true)
431 AG_GST_CHECK_FEATURE(DIRECTSOUND, [DirectSound], directsoundsrc, [
432   HAVE_DIRECTSOUND="no"
433   save_CFLAGS="$CFLAGS"
434   save_LDFLAGS="$LDFLAGS"
435   save_LIBS="$LIBS"
436   CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
437   LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
438   LIBS="$LIBS -ldsound -ldxerr9 -luser32"
439   AC_MSG_CHECKING(for DirectSound LDFLAGS)
440   AC_LINK_IFELSE([
441 #include <windows.h>
442 #include <dxerr9.h>
443 #include <dsound.h>
444
445 int main ()
446 {
447   DXGetErrorString9 (0);
448   DirectSoundCreate(NULL, NULL, NULL);
449
450   return 0;
451 }
452 ],
453     [HAVE_DIRECTSOUND="yes"],
454     [HAVE_DIRECTSOUND="no"])
455   AC_MSG_RESULT($HAVE_DIRECTSOUND)
456   CFLAGS=$save_CFLAGS
457   LDFLAGS=$save_LDFLAGS
458   LIBS=$save_LIBS
459
460   if test "x$HAVE_DIRECTSOUND" = "xyes";  then
461     dnl this is much more than we want
462     DIRECTSOUND_LIBS="-ldsound -ldxerr9 -luser32"
463     AC_SUBST(DIRECTX_CFLAGS)
464     AC_SUBST(DIRECTX_LDFLAGS)
465     AC_SUBST(DIRECTSOUND_LIBS)
466   fi
467   AC_SUBST(HAVE_DIRECTSOUND)
468 ])
469
470 dnl Direct3D
471 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECT3D, true)
472 AG_GST_CHECK_FEATURE(DIRECT3D, [Direct3D plug-in], direct3dsink, [
473   HAVE_DIRECT3D="no"
474   save_CFLAGS="$CFLAGS"
475   save_LDFLAGS="$LDFLAGS"
476   save_LIBS="$LIBS"
477   CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
478   LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
479   LIBS="$LIBS -ld3d9 -lgdi32"
480   AC_MSG_CHECKING(for Direct3D LDFLAGS)
481   AC_LINK_IFELSE([
482 #include <windows.h>
483 #include <d3d9.h>
484
485 int main ()
486 {
487   Direct3DCreate9(D3D_SDK_VERSION);
488
489   return 0;
490 }
491 ],
492     [HAVE_DIRECT3D="yes"],
493     [HAVE_DIRECT3D="no"])
494   AC_MSG_RESULT($HAVE_DIRECT3D)
495   CFLAGS=$save_CFLAGS
496   LDFLAGS=$save_LDFLAGS
497   LIBS=$save_LIBS
498
499   if test "x$HAVE_DIRECT3D" = "xyes";  then
500     DIRECT3D_LIBS="-lgdi32"
501     AC_SUBST(DIRECT3D_LIBS)
502   fi
503   AC_SUBST(HAVE_DIRECT3D)
504 ])
505
506 dnl DirectDraw
507 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTDRAW, true)
508 AG_GST_CHECK_FEATURE(DIRECTDRAW, [DirectDraw plug-in], directdrawsink, [
509   HAVE_DIRECTDRAW="no"
510   save_CFLAGS="$CFLAGS"
511   save_LDFLAGS="$LDFLAGS"
512   save_LIBS="$LIBS"
513   CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
514   LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
515   LIBS="$LIBS -lddraw -lgdi32"
516   AC_MSG_CHECKING(for DirectDraw LDFLAGS)
517   AC_LINK_IFELSE([
518 #include <windows.h>
519 #include <ddraw.h>
520
521 int main ()
522 {
523   GetStockObject(0);
524   DirectDrawCreate(NULL, NULL, NULL);
525
526   return 0;
527 }
528 ],
529     [HAVE_DIRECTDRAW="yes"],
530     [HAVE_DIRECTDRAW="no"])
531   AC_MSG_RESULT($HAVE_DIRECTDRAW)
532   CFLAGS=$save_CFLAGS
533   LDFLAGS=$save_LDFLAGS
534   LIBS=$save_LIBS
535
536   if test "x$HAVE_DIRECTDRAW" = "xyes";  then
537     dnl this is much more than we want
538     DIRECTDRAW_LIBS="-lddraw -ldxguid -lgdi32"
539     AC_SUBST(DIRECTX_CFLAGS)
540     AC_SUBST(DIRECTX_LDFLAGS)
541     AC_SUBST(DIRECTDRAW_LIBS)
542   fi
543   AC_SUBST(HAVE_DIRECTDRAW)
544 ])
545
546 dnl *** AppleMedia (OS X and iOS) ***
547 translit(dnm, m, l) AM_CONDITIONAL(USE_APPLE_MEDIA, true)
548 HAVE_APPLE_MEDIA="no"
549 dnl SystemConfiguration.h is common to OS X and iOS, so we check for that
550 AG_GST_CHECK_FEATURE(APPLE_MEDIA, [Apple video], applemedia, [
551   AC_CHECK_HEADER(SystemConfiguration/SystemConfiguration.h, HAVE_APPLE_MEDIA="yes", HAVE_APPLE_MEDIA="no")
552 ])
553 dnl in case header SystemConfiguration/SystemConfiguration.h is found on other platforms
554 case "$host" in
555   *-*darwin*)
556     ;;
557   *)
558     HAVE_APPLE_MEDIA="no"
559     ;;
560 esac
561 HAVE_IOS="no"
562 if test "x$HAVE_APPLE_MEDIA" = "xyes"; then
563   AC_CHECK_HEADER(MobileCoreServices/MobileCoreServices.h, HAVE_IOS="yes", HAVE_IOS="no", [-])
564 fi
565
566 AM_CONDITIONAL(HAVE_IOS, test "x$HAVE_IOS" = "xyes")
567 if test "x$HAVE_IOS" = "xyes"; then
568   AC_DEFINE(HAVE_IOS, 1, [Define if building for Apple iOS])
569 fi
570
571 dnl *** OS X videosrc ***
572 translit(dnm, m, l) AM_CONDITIONAL(USE_OSX_VIDEO, true)
573 HAVE_OSX_VIDEO="no"
574 AG_GST_CHECK_FEATURE(OSX_VIDEO, [OSX video], osxvideosrc, [
575   AC_CHECK_TYPE([SeqGrabComponent], HAVE_OSX_VIDEO="yes", HAVE_OSX_VIDEO="no",
576       [#include <Quicktime/Quicktime.h>])
577 ])
578 dnl in case header Quicktime/Quicktime.h is found on other platforms
579 case "$host" in
580   *-*darwin*)
581     ;;
582   *)
583     HAVE_OSX_VIDEO="no"
584     ;;
585 esac
586
587 dnl *** OS/X AVCVideoServices ***
588 translit(dnm, m, l) AM_CONDITIONAL(USE_AVC, true)
589 HAVE_AVC="no"
590 AG_GST_CHECK_FEATURE(AVC, [AVC Video Services], avcsrc, [
591   AC_LANG_PUSH([C++])
592   save_CPPFLAGS="$CPPFLAGS"
593   CPPFLAGS="$CPPFLAGS -framework AVCVideoServices -framework CoreFoundation"
594   save_LIBS="$LIBS"
595   LIBS="$LIBS -framework AVCVideoServices -framework CoreFoundation"
596   AC_TRY_LINK([], [], [HAVE_AVC=yes], [HAVE_AVC=no])
597   LIBS=$save_LIBS
598   CPPFLAGS=$save_CPPFLAGS
599   AC_LANG_POP([C++])
600 ])
601 dnl in case header AVCVideoServices/AVCVideoServices.h is found on other platforms
602 case "$host" in
603   *-*darwin*)
604     ;;
605   *)
606     HAVE_AVC="no"
607     ;;
608 esac
609
610 dnl check for QuickTime
611 translit(dnm, m, l) AM_CONDITIONAL(USE_QUICKTIME, true)
612 AG_GST_CHECK_FEATURE(QUICKTIME, [QuickTime wrapper], qtwrapper, [
613   AC_CHECK_TYPE([SampleReferenceRecord], HAVE_QUICKTIME="yes", HAVE_QUICKTIME="no",
614       [#include <Quicktime/Quicktime.h>])
615 ])
616
617 dnl check for shm_open (for shm plugin)
618 translit(dnm, m, l) AM_CONDITIONAL(USE_SHM, true)
619 AG_GST_CHECK_FEATURE(SHM, [POSIX shared memory source and sink], shm, [
620   if test "x$HAVE_SYS_SOCKET_H" = "xyes"; then
621     AC_CHECK_LIB([rt], [shm_open],
622        AC_CHECK_DECL([MSG_NOSIGNAL], HAVE_SHM=yes, HAVE_SHM=no, [
623 #include <sys/socket.h>
624          ]),
625          HAVE_SHM=no)
626   else
627     HAVE_SHM=no
628   fi
629 ])
630
631 dnl check for Video CD
632 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
633 AG_GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
634   AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
635 ])
636
637 dnl *** ext plug-ins ***
638 dnl keep this list sorted alphabetically !
639
640 if test "x$BUILD_EXTERNAL" = "xyes"; then
641
642 dnl *** assrender ***
643 translit(dnm, m, l) AM_CONDITIONAL(USE_ASSRENDER, true)
644 AG_GST_CHECK_FEATURE(ASSRENDER, [ASS/SSA renderer], assrender, [
645   PKG_CHECK_MODULES(ASSRENDER, libass >= 0.9.4, [
646     HAVE_ASSRENDER="yes" ], [
647     HAVE_ASSRENDER="no"
648   ])
649 ])
650 AC_SUBST(ASSRENDER_CFLAGS)
651 AC_SUBST(ASSRENDER_LIBS)
652
653 dnl *** vo-amrwbenc ***
654 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAMRWBENC, true)
655 AG_GST_CHECK_FEATURE(VOAMRWBENC, [vo-amrwbenc library], vo-amrwbenc, [
656   AG_GST_PKG_CHECK_MODULES(VOAMRWBENC, vo-amrwbenc >= 0.1.0)
657 ])
658
659 dnl *** vo-aacenc ***
660 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAACENC, true)
661 AG_GST_CHECK_FEATURE(VOAACENC, [vo-aacenc library], vo-aacenc, [
662   AG_GST_PKG_CHECK_MODULES(VOAACENC, vo-aacenc >= 0.1.0)
663 ])
664
665 dnl *** apexsink ***
666 translit(dnm, m, l) AM_CONDITIONAL(USE_APEXSINK, true)
667 AG_GST_CHECK_FEATURE(APEXSINK, [AirPort Express Wireless sink], apexsink, [
668   PKG_CHECK_MODULES(APEXSINK, [ openssl >= 0.9.5  libcrypto ], [
669     HAVE_APEXSINK="yes"
670     saved_LIBS="$LIBS"
671     LIBS=""
672     AC_SEARCH_LIBS(socket, [socket], [ ], [ APEXSINK="no" ])
673     AC_SEARCH_LIBS(gethostbyname, [nsl], [ ], [ APEXSINK="no" ])
674     APEXSINK_LIBS="$APEXSINK_LIBS $LIBS"
675     LIBS="$saved_LIBS"
676     AC_SUBST(APEXSINK_CFLAGS)
677     AC_SUBST(APEXSINK_LIBS)
678   ], [
679     APEXSINK="no"
680   ])
681 ])
682
683 dnl *** BZ2 ***
684 translit(dnm, m, l) AM_CONDITIONAL(USE_BZ2, true)
685 AG_GST_CHECK_FEATURE(BZ2, [bz2 library], bz2, [
686   AG_GST_CHECK_LIBHEADER(BZ2, bz2, BZ2_bzCompress, ,bzlib.h, BZ2_LIBS="-lbz2")
687   AC_SUBST(BZ2_LIBS)
688 ])
689
690 #dnl *** cairo ***
691 #translit(dnm, m, l) AM_CONDITIONAL(USE_CAIRO, true)
692 #AG_GST_CHECK_FEATURE(CAIRO, [cairo plug-in], cairo, [
693 #  PKG_CHECK_MODULES(CAIRO, cairo >= 1.0 glitz-glx, HAVE_CAIRO=yes, [
694 #    HAVE_CAIRO=no
695 #  ])
696 #  AC_SUBST(CAIRO_CFLAGS)
697 #  AC_SUBST(CAIRO_LIBS)
698 #])
699
700 dnl *** cdaudio ***
701 translit(dnm, m, l) AM_CONDITIONAL(USE_CDAUDIO, true)
702 AG_GST_CHECK_FEATURE(CDAUDIO, [cdaudio], cdaudio, [
703   PKG_CHECK_MODULES(CDAUDIO, libcdaudio, [
704           HAVE_CDAUDIO="yes"
705   ], [
706           HAVE_CDAUDIO="no"
707   ])
708   AC_SUBST(CDAUDIO_CFLAGS)
709   AC_SUBST(CDAUDIO_LIBS)
710 ])
711
712 dnl *** celt ***
713 translit(dnm, m, l) AM_CONDITIONAL(USE_CELT, true)
714 AG_GST_CHECK_FEATURE(CELT, [celt], celt, [
715   PKG_CHECK_MODULES(CELT, celt >= 0.5.0, [
716           AC_DEFINE([HAVE_CELT], 1, [Define if libcelt 0.5 is installed])
717           HAVE_CELT="yes"
718   ], [
719           HAVE_CELT="no"
720   ])
721
722   PKG_CHECK_MODULES(CELT_0_7, celt >= 0.7.0, [
723           AC_DEFINE([HAVE_CELT_0_7], 1, [Define if libcelt 0.7 is installed])
724   ], [
725           dnl to prevent an error
726           true
727   ])
728
729   PKG_CHECK_MODULES(CELT_0_8, celt >= 0.8.0, [
730           AC_DEFINE([HAVE_CELT_0_8], 1, [Define if libcelt 0.8 is installed])
731   ], [
732           dnl to prevent an error
733           true
734   ])
735
736   PKG_CHECK_MODULES(CELT_0_11, celt >= 0.11.0, [
737           AC_DEFINE([HAVE_CELT_0_11], 1, [Define if libcelt 0.11 is installed])
738   ], [
739           dnl to prevent an error
740           true
741   ])
742   AC_SUBST(CELT_CFLAGS)
743   AC_SUBST(CELT_LIBS)
744 ])
745
746 dnl *** chromaprint ***
747 translit(dnm, m, l) AM_CONDITIONAL(USE_CHROMAPRINT, true)
748 AG_GST_CHECK_FEATURE(CHROMAPRINT, [chromaprint], chromaprint, [
749   PKG_CHECK_MODULES(CHROMAPRINT, libchromaprint, HAVE_CHROMAPRINT="yes", [
750     HAVE_CHROMAPRINT="no"
751   ])
752   AC_SUBST(CHROMAPRINT_CFLAGS)
753   AC_SUBST(CHROMAPRINT_LIBS)
754 ])
755
756 dnl *** Cog ***
757 translit(dnm, m, l) AM_CONDITIONAL(USE_COG, true)
758 AG_GST_CHECK_FEATURE(COG, [Cog plugin], cog, [
759   PKG_CHECK_MODULES(COG, libpng >= 1.2, HAVE_COG="yes", [
760     HAVE_COG="no"
761   ])
762   AC_SUBST(COG_CFLAGS)
763   AC_SUBST(COG_LIBS)
764 ])
765
766 dnl *** Curl ***
767 translit(dnm, m, l) AM_CONDITIONAL(USE_CURL, true)
768 AG_GST_CHECK_FEATURE(CURL, [Curl plugin], curl, [
769   PKG_CHECK_MODULES(CURL, libcurl >= 7.21.0, [
770     HAVE_CURL="yes"
771     AC_CHECK_HEADERS([unistd.h sys/socket.h sys/types.h netinet/in.h netinet/ip.h netinet/tcp.h fcntl.h],
772         [ ], [HAVE_CURL="no"])
773     AC_MSG_CHECKING([for socket support needed by curlsink])
774     AC_MSG_RESULT($HAVE_CURL)
775   ], [
776     HAVE_CURL="no"
777   ])
778   AC_SUBST(CURL_CFLAGS)
779   AC_SUBST(CURL_LIBS)
780 ])
781
782 dnl *** dc1394  ***
783 translit(dnm, m, l) AM_CONDITIONAL(USE_DC1394, true)
784 AG_GST_CHECK_FEATURE(DC1394, [libdc1394], dc1394, [
785    PKG_CHECK_MODULES(LIBDC1394, libdc1394-2 >= 2.0.0, [
786         if test -z "`$PKG_CONFIG --modversion libdc1394-2 | grep 2.0.0-rc`"; then
787                 HAVE_DC1394="yes"
788         else
789                 HAVE_DC1394="no"
790         fi
791    ], [
792         HAVE_DC1394="no"
793         AC_MSG_RESULT(no)
794    ])
795    AC_SUBST(LIBDC1394_CFLAGS)
796    AC_SUBST(LIBDC1394_LIBS)
797 ])
798
799 dnl *** decklink  ***
800 translit(dnm, m, l) AM_CONDITIONAL(USE_DECKLINK, true)
801 AG_GST_CHECK_FEATURE(DECKLINK, [decklink], decklink, [
802    HAVE_DECKLINK=no
803    case "$host" in
804      *-*linux*)
805        if test "x$HAVE_PTHREAD_H" = "xyes"; then
806          AC_CHECK_LIB(dl, dlopen,
807            [
808             HAVE_DECKLINK=yes
809             DECKLINK_CXXFLAGS=
810             DECKLINK_LIBS="-lpthread -ldl"
811            ])
812        fi
813        ;;
814      *)
815        HAVE_DECKLINK=no
816        ;;
817    esac
818
819    AC_SUBST(DECKLINK_CXXFLAGS)
820    AC_SUBST(DECKLINK_LIBS)
821 ])
822
823 dnl **** DirectFB ****
824 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTFB, true)
825 AG_GST_CHECK_FEATURE(DIRECTFB, [directfb], dfbvideosink , [
826   PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.24, HAVE_DIRECTFB="yes", [
827     HAVE_DIRECTFB="no"
828   ])
829 ])
830
831 dnl **** Dirac ****
832 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRAC, true)
833 AG_GST_CHECK_FEATURE(DIRAC, [dirac], dirac, [
834   PKG_CHECK_MODULES(DIRAC, dirac >= 0.10, HAVE_DIRAC="yes", [
835     HAVE_DIRAC="no"
836   ])
837 ])
838
839 dnl *** DTS ***
840 translit(dnm, m, l) AM_CONDITIONAL(USE_DTS, true)
841 AG_GST_CHECK_FEATURE(DTS, [dts library], dtsdec, [
842   HAVE_DTS="yes"
843   AG_GST_CHECK_LIBHEADER(DTS, dca, dca_init, $LIBM, dca.h,
844     DTS_LIBS="-ldca $LIBM", HAVE_DTS="no")
845   if test $HAVE_DTS = "no"; then
846     AG_GST_CHECK_LIBHEADER(DTS, dts_pic, dts_init, $LIBM, dts.h,
847       [ DTS_LIBS="-ldts_pic $LIBM"
848         AC_DEFINE(DTS_OLD, 1, [Define if an old libdts is used])
849       ])
850   fi
851   AC_SUBST(DTS_LIBS)
852 ])
853
854 dnl *** DIVX ***
855 translit(dnm, m, l) AM_CONDITIONAL(USE_DIVX, true)
856 AG_GST_CHECK_FEATURE(DIVX, [divx plugins], divx, [
857   HAVE_DIVX=yes
858   AC_CHECK_HEADER(encore2.h, , [
859     AC_MSG_WARN([Divx4linux encore headers not found])
860     HAVE_DIVX=no
861   ])
862   if [ test x$HAVE_DIVX = xyes ]; then
863     AC_MSG_CHECKING([Checking for valid divx4linux encore version])
864     AC_TRY_COMPILE([
865 #include <encore2.h>
866 #if ENCORE_VERSION != 20021024
867 #error Wrong version of divx encore libraries
868 #endif
869     ], [
870 return 0;
871     ], [
872       HAVE_DIVX=yes
873     ], [
874       HAVE_DIVX=no
875       AC_MSG_WARN([Wrong version of divx4linux installed])
876     ])
877   fi
878   if [ test x$HAVE_DIVX = xyes ]; then
879     AC_CHECK_HEADER(decore.h, , [
880       AC_MSG_WARN([Divx4linux decoder headers not found])
881       HAVE_DIVX=no
882     ])
883   fi
884   if [ test x$HAVE_DIVX = xyes ]; then
885     AC_MSG_CHECKING([Checking for valid divx4linux decore version])
886     AC_TRY_COMPILE([
887 #include <decore.h>
888 #if DECORE_VERSION != 20021112
889 #error Wrong version of divx decore libraries
890 #endif
891     ], [
892 return 0;
893     ], [
894       HAVE_DIVX=yes
895     ], [
896       HAVE_DIVX=no
897       AC_MSG_WARN([Wrong version of divx4linux installed])
898     ])
899   fi
900   LIBS="$LIBM"
901   if test x$HAVE_DIVX = xyes; then
902     AC_CHECK_LIB(divxencore, encore, , [
903       AC_MSG_WARN([Divx4linux encore libs not found])
904       HAVE_DIVX=no
905     ])
906   fi
907   if test x$HAVE_DIVX = xyes; then
908     AC_CHECK_LIB(divxdecore, decore, , [
909       AC_MSG_WARN([Divx4linux decore libs not found])
910       HAVE_DIVX=no
911   ])
912   fi
913   if test x$HAVE_DIVX = xyes; then
914     DIVXENC_LIBS="-ldivxencore $LIBM"
915     DIVXDEC_LIBS="-ldivxdecore $LIBM"
916     AC_SUBST(DIVXENC_LIBS)
917     AC_SUBST(DIVXDEC_LIBS)
918   fi
919 ])
920
921 dnl *** resindvd ***
922 translit(dnm, m, l) AM_CONDITIONAL(USE_RESINDVD, true)
923 AG_GST_CHECK_FEATURE(RESINDVD, [resindvd plugin], resindvd, [
924   PKG_CHECK_MODULES(DVDNAV, dvdnav >= 4.1.2 dvdread >= 4.1.2, HAVE_RESINDVD="yes", [
925     HAVE_RESINDVD="no"
926   ])
927 ])
928
929 dnl **** Free AAC Encoder (FAAC) ****
930 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAC, true)
931 AG_GST_CHECK_FEATURE(FAAC, [AAC encoder plug-in], faac, [
932   AG_GST_CHECK_LIBHEADER(FAAC, faac, faacEncOpen, $LIBM, faac.h,
933     FAAC_LIBS="-lfaac $LIBM")
934   AS_SCRUB_INCLUDE(FAAC_CFLAGS)
935   AC_SUBST(FAAC_LIBS)
936 ])
937
938 dnl **** Free AAC Decoder (FAAD) ****
939 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAD, true)
940 AG_GST_CHECK_FEATURE(FAAD, [AAC decoder plug-in], faad, [
941   HAVE_FAAD="yes"
942   faad_hdr=""
943   AG_GST_CHECK_LIBHEADER(FAAD, faad, faacDecOpen, $LIBM, faad.h,
944     FAAD_LIBS="-lfaad $LIBM", HAVE_FAAD="no")
945   if test $HAVE_FAAD = "no"; then
946     AG_GST_CHECK_LIBHEADER(FAAD, faad, NeAACDecOpen, $LIBM, neaacdec.h,
947       [ FAAD_LIBS="-lfaad $LIBM"
948         AC_DEFINE(FAAD_IS_NEAAC, 1, [Define if AAC is using new api prefix])
949         faad_hdr="neaacdec.h"
950       ], [
951         HAVE_FAAD="no"
952       ],)
953   else
954     faad_hdr="faad.h"
955   fi
956   if test $HAVE_FAAD = "yes"; then
957     AC_MSG_CHECKING([Checking for FAAD >= 2.0])
958     AC_TRY_COMPILE([#include <faad.h>], [
959         #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
960         #error Not faad2
961         #else
962         /* Release candidate of 2.0 is not good enough for us. This field
963          * was added only in 2.0 final and does not exist in 2.0-RC3 */
964         faacDecConfiguration conf; conf.dontUpSampleImplicitSBR = 1;
965         #endif
966     ], [
967       HAVE_FAAD="yes"
968
969       AC_MSG_CHECKING([Checking FAAD2 version in $faad_hdr])
970       for minor in 10 9 8 7 6 5 0; do
971         if test x$faad2_minor_version = "x"; then
972           AC_EGREP_CPP([GST_CHECK_FAAD_VERSION \"2\.$minor\"], [
973               #include <$faad_hdr>
974               GST_CHECK_FAAD_VERSION FAAD2_VERSION
975             ], [
976               faad2_minor_version=$minor
977             ])
978         fi
979       done
980       if test x$faad2_minor_version = "x"; then
981         AC_MSG_RESULT([no idea])
982       else
983         AC_MSG_RESULT([2.$faad2_minor_version])
984         AC_DEFINE_UNQUOTED([FAAD2_MINOR_VERSION], [$faad2_minor_version], [The x in 2.x])
985       fi
986     ], [
987       HAVE_FAAD="no"
988     ])
989   fi
990   AS_SCRUB_INCLUDE(FAAD_CFLAGS)
991   AC_SUBST(FAAD_LIBS)
992   AC_SUBST(FAAD_IS_NEAAC)
993 ])
994
995 dnl *** fbdev ***
996 translit(dnm, m, l) AM_CONDITIONAL(USE_FBDEV, true)
997 AG_GST_CHECK_FEATURE(FBDEV, [linux framebuffer], fbdevsink, [
998   if test "x$HAVE_FBDEV" != "xyes"; then
999     AC_CHECK_HEADER([linux/fb.h], HAVE_FBDEV=yes, HAVE_FBDEV=no)
1000   fi
1001 ])
1002
1003 dnl *** flite ***
1004 translit(dnm, m, l) AM_CONDITIONAL(USE_FLITE, true)
1005 AG_GST_CHECK_FEATURE(FLITE, [Flite plugin], flite, [
1006   AG_GST_CHECK_LIBHEADER(FLITE, flite, flite_init, $LIBM, flite/flite.h,
1007     FLITE_LIBS="-lflite -lflite_cmu_us_kal -lflite_usenglish -lflite_cmulex $LIBM")
1008
1009   AC_SUBST(FLITE_CFLAGS)
1010   AC_SUBST(FLITE_LIBS)
1011 ])
1012
1013 dnl *** gsm ***
1014 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
1015 AG_GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
1016   AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
1017   if test $HAVE_GSM != "yes"; then
1018     AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
1019     if test $HAVE_GSM = "yes"; then
1020       AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
1021     fi
1022   fi
1023   AC_SUBST(GSM_LIBS)
1024 ])
1025
1026 dnl *** jp2k ***
1027 translit(dnm, m, l) AM_CONDITIONAL(USE_JP2K, true)
1028 AG_GST_CHECK_FEATURE(JP2K, [jp2k], jp2kdec jp2kenc, [
1029   AG_GST_CHECK_LIBHEADER(JP2K, jasper, jas_stream_fopen, , jasper/jasper.h,
1030     JP2K_LIBS="-ljasper")
1031   AC_SUBST(JP2K_LIBS)
1032 ])
1033
1034 dnl *** kate ***
1035 translit(dnm, m, l) AM_CONDITIONAL(USE_KATE, true)
1036 AG_GST_CHECK_FEATURE(KATE, [Kate], kate, [
1037   PKG_CHECK_MODULES(KATE, kate >= 0.1.7, HAVE_KATE="yes", [
1038     HAVE_KATE="no"
1039   ])
1040   AC_SUBST(KATE_CFLAGS)
1041   AC_SUBST(KATE_LIBS)
1042   PKG_CHECK_MODULES(TIGER, tiger >= 0.3.2,
1043     [
1044       HAVE_TIGER="yes"
1045       AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available])
1046     ],
1047     [
1048       HAVE_TIGER="no"
1049     ]
1050   )
1051   AM_CONDITIONAL(USE_TIGER, test "x$HAVE_TIGER" = "xyes")
1052   AC_SUBST(TIGER_CFLAGS)
1053   AC_SUBST(TIGER_LIBS)
1054 ],,,[AM_CONDITIONAL(USE_TIGER, false)])
1055
1056 dnl *** ladspa ***
1057 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
1058 AG_GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
1059   AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
1060
1061   PKG_CHECK_MODULES(LRDF, lrdf, HAVE_LRDF=yes, HAVE_LRDF=no)
1062   if test $HAVE_LRDF = "yes"; then
1063     AC_DEFINE(HAVE_LRDF, 1, [Define if we have liblrdf])
1064   fi
1065   AC_SUBST(LRDF_LIBS)
1066   AC_SUBST(LRDF_CFLAGS)
1067 ])
1068
1069 dnl *** LV2 ***
1070 translit(dnm, m, l) AM_CONDITIONAL(USE_LV2, true)
1071 AG_GST_CHECK_FEATURE(LV2, [lv2], lv2, [
1072   PKG_CHECK_MODULES(SLV2, slv2 >= 0.6.6, HAVE_LV2="yes", HAVE_LV2="no")
1073   AC_SUBST(SLV2_CFLAGS)
1074   AC_SUBST(SLV2_LIBS)
1075 ])
1076
1077 dnl *** libmms ***
1078 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMMS, true)
1079 AG_GST_CHECK_FEATURE(LIBMMS, [mms protocol library], libmms, [
1080   dnl check with pkg-config first
1081   PKG_CHECK_MODULES(LIBMMS, libmms >= 0.4, HAVE_LIBMMS="yes", [
1082     HAVE_LIBMMS="no"
1083   ])
1084 ])
1085 AC_SUBST(LIBMMS_LIBS)
1086
1087 dnl *** linsys ***
1088 translit(dnm, m, l) AM_CONDITIONAL(USE_LINSYS, true)
1089 AG_GST_CHECK_FEATURE(LINSYS, [Linear Systems SDI plugin], linsys, [
1090   case "$host" in
1091     *-*linux*)
1092       HAVE_LINSYS=yes
1093       ;;
1094     *)
1095       HAVE_LINSYS=no
1096       ;;
1097   esac
1098 ])
1099
1100 dnl *** modplug ***
1101 translit(dnm, m, l) AM_CONDITIONAL(USE_MODPLUG, true)
1102 AG_GST_CHECK_FEATURE(MODPLUG, modplug, modplug, [
1103   if test "x$HAVE_CXX" != "xyes"; then
1104     AC_MSG_WARN([Not compiling modplug plugin as it requires a C++ compiler])
1105     HAVE_MODPLUG="no"
1106   else
1107     PKG_CHECK_MODULES(MODPLUG, libmodplug, HAVE_MODPLUG="yes", HAVE_MODPLUG="no")
1108   fi
1109   AC_SUBST(MODPLUG_CFLAGS)
1110   AC_SUBST(MODPLUG_LIBS)
1111 ])
1112
1113 dnl *** mimic ***
1114 translit(dnm, m, l) AM_CONDITIONAL(USE_MIMIC, true)
1115 AG_GST_CHECK_FEATURE(MIMIC, [libmimic library], mimic, [
1116   MIMDEC_REQUIRED=1.0
1117   PKG_CHECK_MODULES(MIMIC, libmimic >= $MIMDEC_REQUIRED,
1118       HAVE_MIMIC=yes, HAVE_MIMIC=no)
1119   AC_SUBST(MIMIC_CFLAGS)
1120   AC_SUBST(MIMIC_LIBS)
1121 ])
1122
1123 dnl *** mjpegtools version info ***
1124 dnl some may prefer older version (given quirks above)
1125 dnl hm, no version info seems available within mjpegtools headers
1126 dnl and API really moves along
1127 echo
1128 PKG_CHECK_EXISTS(mjpegtools >= 1.6.1.93 mjpegtools < 1.8.0, [
1129   mjpegtools_api=10601
1130 ], [
1131   PKG_CHECK_EXISTS(mjpegtools >= 1.8.0 mjpegtools < 1.9.0, [
1132     mjpegtools_api=10800
1133   ], [
1134     PKG_CHECK_EXISTS(mjpegtools >= 2.0.0, [
1135       mjpegtools_api=20000
1136     ], [
1137       PKG_CHECK_MODULES(MJPEG, mjpegtools >= 1.9.0 mjpegtools < 2.0.0, [
1138         dnl logging API changed in release candidates
1139         OLD_CFLAGS="$CFLAGS"
1140         OLD_LIBS="$LIBS"
1141         CFLAGS="$MJPEG_CFLAGS"
1142         LIBS="$LIBS $MJPEG_LIBS -lmjpegutils $LIBM -lpthread"
1143         AC_CHECK_FUNC(mjpeg_loglev_t, [
1144           mjpegtools_api=10903
1145           ], [
1146           mjpegtools_api=10900
1147           ])
1148         CFLAGS="$OLD_CFLAGS"
1149         LIBS="$OLD_LIBS"
1150       ], [
1151         mjpegtools_api=0
1152       ])
1153     ])
1154   ])
1155 ])
1156 AC_DEFINE_UNQUOTED(GST_MJPEGTOOLS_API, $mjpegtools_api,
1157   [mjpegtools API evolution])
1158
1159 dnl *** mpeg2enc ***
1160 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2ENC, true)
1161 AG_GST_CHECK_FEATURE(MPEG2ENC, [mpeg2enc], mpeg2enc, [
1162   HAVE_MPEG2ENC="no"
1163   dnl we require a c++ compiler for this one
1164   if [ test x$HAVE_CXX = xyes ]; then
1165     dnl libmpeg2enc was first included in mjpegtools-1.6.2-rc3 (1.6.1.92)
1166     dnl since many distros include mjpegtools specifically without mplex
1167     dnl and mpeg2enc, we check for mpeg2enc on its own, too.
1168     PKG_CHECK_MODULES(MPEG2ENC, mjpegtools >= 1.6.1.93, [
1169       dnl HACK because mpeg2enc 1.8.0 header files have a spurious 'include config.h'
1170       touch config.h
1171       dnl switch over to c++ to test things
1172       AC_LANG_CPLUSPLUS
1173       OLD_CPPFLAGS="$CPPFLAGS"
1174       dnl HACK as above
1175       CPPFLAGS_GOOD="$CPPFLAGS $MPEG2ENC_CFLAGS"
1176       CPPFLAGS="$CPPFLAGS_GOOD -I."
1177       dnl check headers
1178       mpeg2enc_headers_ok=no
1179       AC_CHECK_HEADER([mpeg2encoder.hh], [
1180         MPEG2ENC_LIBS="$MPEG2ENC_LIBS -lmpeg2encpp $LIBM -lpthread"
1181         OLD_LIBS="$LIBS"
1182         LIBS="$LIBS $MPEG2ENC_LIBS"
1183         AC_MSG_CHECKING([for valid mpeg2enc objects])
1184         AC_TRY_RUN([
1185           #include <mpeg2encoder.hh>
1186           #include <mpeg2encoptions.hh>
1187
1188           int
1189           main (int   argc,
1190                 char *argv[])
1191           {
1192             MPEG2EncOptions *options = new MPEG2EncOptions ();
1193             MPEG2Encoder *encoder = new MPEG2Encoder (*options);
1194             return 0;
1195           }
1196         ],[
1197           AC_MSG_RESULT(yes)
1198           dnl so far so good, let's check more things:
1199           dnl mjpegtools-1.8.0 does not install the required
1200           dnl mpeg2syntaxcodes.h header by default, and a new release
1201           dnl is not in sight, so check for this oversight in case
1202           dnl distros or folks have fixed this themselves
1203           if test "$mjpegtools_api" -ge "10800"; then
1204             AC_CHECK_HEADER([mpeg2syntaxcodes.h], [
1205                 mpeg2enc_headers_ok=yes
1206               ], [
1207                 mpeg2enc_headers_ok=no
1208               ])
1209           else
1210             mpeg2enc_headers_ok=yes
1211           fi
1212           if test "x$mpeg2enc_headers_ok" = "xyes"; then
1213             HAVE_MPEG2ENC="yes"
1214           fi
1215           CPPFLAGS="$CPPFLAGS_GOOD"
1216           AC_SUBST(MPEG2ENC_CFLAGS)
1217           AC_SUBST(MPEG2ENC_LIBS)
1218         ], [
1219           AC_MSG_RESULT(no)
1220         ])
1221         LIBS="$OLD_LIBS"
1222       ])
1223
1224       CPPFLAGS="$OLD_CPPFLAGS"
1225       AC_LANG_C
1226     ], [
1227       HAVE_MPEG2ENC="no"
1228     ])
1229   fi
1230 ])
1231
1232 dnl *** mplex ***
1233 translit(dnm, m, l) AM_CONDITIONAL(USE_MPLEX, true)
1234 AG_GST_CHECK_FEATURE(MPLEX, [mplex], mplex, [
1235   HAVE_MPLEX="no"
1236   dnl we require a c++ compiler for this one
1237   if [ test x$HAVE_CXX = xyes ]; then
1238     dnl libmplex was first included in mjpegtools-1.6.2-rc4 (1.6.1.93)
1239     dnl since many distros include mjpegtools specifically without mplex
1240     dnl and mpeg2enc, we check for mplex on its own, too.
1241     dnl libmplex < 1.9rc? has fuzzy ABI, valgrind and other problems
1242     PKG_CHECK_MODULES(MPLEX, mjpegtools >= 1.9.0, [
1243       dnl HACK because mplex 2.0.0 header files have a spurious 'include config.h'
1244       touch config.h
1245       dnl switch over to c++ to test things
1246       AC_LANG_CPLUSPLUS
1247       OLD_CPPFLAGS="$CPPFLAGS"
1248       dnl HACK as above
1249       CPPFLAGS_GOOD="$CPPFLAGS $MPLEX_CFLAGS"
1250       CPPFLAGS="$CPPFLAGS_GOOD -I."
1251       AC_CHECK_HEADER(interact.hpp, [
1252         MPLEX_LIBS="$MPLEX_LIBS -lmplex2 $LIBM"
1253         OLD_LIBS="$LIBS"
1254         LIBS="$LIBS $MPLEX_LIBS"
1255         OLD_LDFLAGS="$LDFLAGS"
1256         LDFLAGS="$LDFLAGS $MPLEX_LDFLAGS"
1257         dnl older libmplex uses off_t SegmentSize (), which leads to fuzzy ABI;
1258         dnl don't want this here
1259         AC_MSG_CHECKING([for valid mplex objects])
1260         AC_TRY_RUN([
1261
1262 #include <interact.hpp>
1263 #include <outputstrm.hpp>
1264 #include <multiplexor.hpp>
1265 int
1266 main (int   argc,
1267       char *argv[])
1268 {
1269   class TestOutputStream : public OutputStream {
1270   public:
1271     TestOutputStream () : OutputStream () { }
1272     void Write (uint8_t *a, unsigned int b) { }
1273     void NextSegment () { }
1274     uint64_t SegmentSize () { }
1275     void Close () { }
1276     int Open () { }
1277 };
1278   MultiplexJob *job = new MultiplexJob ();
1279   vector<IBitStream *> inputs;
1280   job->SetupInputStreams (inputs);
1281   TestOutputStream *out = new TestOutputStream ();
1282   Multiplexor *mux = new Multiplexor(*job, *out, NULL);
1283   return 0;
1284 }
1285         ],[
1286           HAVE_MPLEX="yes"
1287           CPPFLAGS="$CPPFLAGS_GOOD"
1288           AC_SUBST(MPLEX_CFLAGS)
1289           AC_SUBST(MPLEX_LIBS)
1290           AC_SUBST(MPLEX_LDFLAGS)
1291           AC_MSG_RESULT(yes)
1292         ], AC_MSG_RESULT(no))
1293         LIBS="$OLD_LIBS"
1294         LDFLAGS="$OLD_LDFLAGS"
1295       ])
1296       CPPFLAGS="$OLD_CPPFLAGS"
1297       AC_LANG_C
1298     ], HAVE_MPLEX="no")
1299   fi
1300 ])
1301
1302 dnl *** musepack ***
1303 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSEPACK, true)
1304 AG_GST_CHECK_FEATURE(MUSEPACK, [musepackdec], musepack, [
1305   AC_CHECK_HEADER([mpc/mpcdec.h], [
1306     HAVE_MUSEPACK="yes"
1307     MUSEPACK_LIBS="-lmpcdec"
1308     AC_SUBST(MUSEPACK_LIBS)
1309     ], [AC_CHECK_HEADER([mpcdec/mpcdec.h], [
1310       HAVE_MUSEPACK="yes"
1311       MUSEPACK_LIBS="-lmpcdec"
1312       AC_DEFINE(MPC_IS_OLD_API, 1, [Define if the old MusePack API is used])
1313       AC_SUBST(MUSEPACK_LIBS)
1314     ], [HAVE_MUSEPACK="no"])])
1315 ])
1316
1317 dnl *** musicbrainz ***
1318 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSICBRAINZ, true)
1319 AG_GST_CHECK_FEATURE(MUSICBRAINZ, [musicbrainz tag generation], musicbrainz, [
1320   PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz >= 2.1.0, HAVE_MUSICBRAINZ="yes", HAVE_MUSICBRAINZ="no")
1321   AC_SUBST(MUSICBRAINZ_CFLAGS)
1322   AC_SUBST(MUSICBRAINZ_LIBS)
1323 ])
1324
1325 dnl *** MythTV ***
1326 translit(dnm, m, l) AM_CONDITIONAL(USE_MYTHTV, true)
1327 AG_GST_CHECK_FEATURE(MYTHTV, [MythTV client plugins], mythtvsrc, [
1328   PKG_CHECK_MODULES(GMYTH, gmyth >= 0.4 gmyth <= 0.7.99, HAVE_MYTHTV="yes", [
1329     HAVE_MYTHTV="no"
1330   ])
1331   AC_SUBST(GMYTH_CFLAGS)
1332   AC_SUBST(GMYTH_LIBS)
1333 ])
1334
1335 dnl *** nas ***
1336 translit(dnm, m, l) AM_CONDITIONAL(USE_NAS, true)
1337 AG_GST_CHECK_FEATURE(NAS, [nas plug-in], nassink, [
1338   HAVE_NAS="no"
1339   AG_GST_CHECK_X
1340   if test "x$HAVE_X" = "xyes"; then
1341     save_cppflags=$CFLAGS
1342     CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1343     AG_GST_CHECK_LIBHEADER(NAS, audio, AuOpenServer, $X_LIBS, audio/audiolib.h,
1344       NAS_LIBS="$X_LIBS -laudio" NAS_CFLAGS="$X_CFLAGS")
1345     CPPFLAGS="$save_cppflags"
1346   fi
1347   AC_SUBST(NAS_CFLAGS)
1348   AC_SUBST(NAS_LIBS)
1349 ])
1350
1351 dnl *** neon ***
1352 translit(dnm, m, l) AM_CONDITIONAL(USE_NEON, true)
1353 AG_GST_CHECK_FEATURE(NEON, [neon http client plugins], neonhttpsrc, [
1354   PKG_CHECK_MODULES(NEON, neon >= 0.27.0  neon <= 0.29.99, HAVE_NEON="yes", [
1355     HAVE_NEON="no"
1356   ])
1357   AC_SUBST(NEON_CFLAGS)
1358   AC_SUBST(NEON_LIBS)
1359 ])
1360
1361 dnl *** ofa ***
1362 translit(dnm, m, l) AM_CONDITIONAL(USE_OFA, true)
1363 AG_GST_CHECK_FEATURE(OFA, [ofa plugins], ofa, [
1364   PKG_CHECK_MODULES(OFA, libofa >= 0.9.3, HAVE_OFA="yes", [
1365     HAVE_OFA="no"
1366   ])
1367   AC_SUBST(OFA_CFLAGS)
1368   AC_SUBST(OFA_LIBS)
1369 ])
1370
1371 dnl *** OpenAL ***
1372 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENAL, true)
1373 AG_GST_CHECK_FEATURE(OPENAL, [OpenAL plugin], openal, [
1374   PKG_CHECK_MODULES(OPENAL, openal, HAVE_OPENAL="yes", [
1375     HAVE_OPENAL="no"
1376   ])
1377   AC_SUBST(OPENAL_CFLAGS)
1378   AC_SUBST(OPENAL_LIBS)
1379 ])
1380
1381 dnl *** opencv ***
1382 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENCV, true)
1383 AG_GST_CHECK_FEATURE(OPENCV, [opencv plugins], opencv, [
1384   dnl we specify a max. version too because we set CV_NO_BACKWARD_COMPATIBILITY
1385   dnl and don't want the build to break when a new opencv version comes out.
1386   dnl Need to adjust this upwards once we know that our code compiles fine with
1387   dnl a new version and the no-backward-compatibility define. (There doesn't
1388   dnl seem to be a switch to suppress the warnings the cvcompat.h header
1389   dnl causes.)
1390   PKG_CHECK_MODULES(OPENCV, opencv >= 2.0.0 opencv <= 2.3.1 , [
1391     AC_PROG_CXX
1392     AC_LANG_CPLUSPLUS
1393     OLD_CPPFLAGS=$CPPFLAGS
1394     CPPFLAGS=$OPENCV_CFLAGS
1395     AC_CHECK_HEADER(highgui.h, HAVE_HIGHGUI="yes", HAVE_HIGHGUI="no")
1396     AC_CHECK_HEADER(cvaux.h, HAVE_CVAUX="yes", HAVE_CVAUX="no")
1397     CPPFLAGS=$OLD_CPPFLAGS
1398     AC_LANG_C
1399     if test "x$HAVE_HIGHGUI" = "xno"; then
1400       AC_MSG_RESULT(highgui.h could not be found.)
1401       HAVE_OPENCV="no"
1402     elif test "x$HAVE_CVAUX" = "xno"; then
1403       AC_MSG_RESULT(cvaux.h could not be found.)
1404       HAVE_OPENCV="no"
1405     else
1406       HAVE_OPENCV="yes"
1407     fi
1408   ], [
1409     HAVE_OPENCV="no"
1410   ])
1411   AC_SUBST(OPENCV_CFLAGS)
1412   AC_SUBST(OPENCV_LIBS)
1413 ])
1414
1415 dnl *** Opus ***
1416 translit(dnm, m, l) AM_CONDITIONAL(USE_OPUS, true)
1417 AG_GST_CHECK_FEATURE(OPUS, [opus], opus, [
1418   PKG_CHECK_MODULES(OPUS, opus >= 0.9.4, [
1419           AC_DEFINE([HAVE_OPUS], 1, [Define if Opus >= 0.9.4 is installed])
1420           HAVE_OPUS="yes"
1421   ], [
1422           HAVE_OPUS="no"
1423   ])
1424   AC_SUBST(OPUS_CFLAGS)
1425   AC_SUBST(OPUS_LIBS)
1426 ])
1427
1428 dnl *** pvr ***
1429 translit(dnm, m, l) AM_CONDITIONAL(USE_PVR, true)
1430 AG_GST_CHECK_FEATURE(PVR, [pvrvideosink], pvr, [
1431   PKG_CHECK_MODULES([PVR], [libtimemmgr], HAVE_PVR=yes, HAVE_PVR=no)
1432   AC_SUBST(PVR_CFLAGS)
1433   AC_SUBST(PVR_LIBS)
1434 ])
1435
1436  AC_ARG_WITH([pvr-external-headers],
1437               AC_HELP_STRING([--with-pvr-external-headers], [Use system installed PVR2D headers]),
1438               [AS_IF([test "x$with_pvr_external_headers" = "xno"],
1439                      [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])],
1440               [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])
1441
1442 dnl *** rsvg ***
1443 translit(dnm, m, l) AM_CONDITIONAL(USE_RSVG, true)
1444 AG_GST_CHECK_FEATURE(RSVG, [rsvg decoder], rsvg, [
1445   PKG_CHECK_MODULES(RSVG, librsvg-2.0 >= 2.14 cairo, HAVE_RSVG="yes", [
1446     HAVE_RSVG="no"
1447   ])
1448   AC_SUBST(RSVG_CFLAGS)
1449   AC_SUBST(RSVG_LIBS)
1450 ])
1451
1452 dnl *** timidity ***
1453 translit(dnm, m, l) AM_CONDITIONAL(USE_TIMIDITY, true)
1454 AG_GST_CHECK_FEATURE(TIMIDITY, [timidity midi soft synth plugin], timidity, [
1455   PKG_CHECK_MODULES(TIMIDITY, libtimidity, [
1456     HAVE_TIMIDITY="yes",
1457         AC_MSG_CHECKING([for timidity.cfg])
1458         timidity_cfg=""
1459         if test -r /etc/timidity.cfg; then
1460           timidity_cfg=/etc/timidity.cfg
1461         elif test -r /etc/timidity/timidity.cfg; then
1462           timidity_cfg=/etc/timidity/timidity.cfg
1463         elif test -r /usr/share/timidity/timidity.cfg; then
1464           timidity_cfg=/usr/share/timidity/timidity.cfg
1465         elif test -r /usr/local/share/timidity/timidity.cfg; then
1466           timidity_cfg=/usr/local/share/timidity/timidity.cfg
1467         fi
1468         if test "x$timidity_cfg" != "x"; then
1469           AC_MSG_RESULT($timidity_cfg)
1470       AC_DEFINE_UNQUOTED(TIMIDITY_CFG, "$timidity_cfg", [Define location of timidity.cfg])
1471         else
1472           AC_MSG_RESULT([not found])
1473         fi
1474   ], [
1475     HAVE_TIMIDITY="no"
1476   ])
1477   AC_SUBST(TIMIDITY_CFLAGS)
1478   AC_SUBST(TIMIDITY_LIBS)
1479 ])
1480
1481 dnl *** teletextdec ***
1482 translit(dnm, m, l) AM_CONDITIONAL(USE_TELETEXTDEC, true)
1483 AG_GST_CHECK_FEATURE(TELETEXTDEC, [Teletext decoder], teletextdec, [
1484   AG_GST_PKG_CHECK_MODULES(TELETEXTDEC, zvbi-0.2)
1485  ])
1486
1487 dnl *** wildmidi ***
1488 translit(dnm, m, l) AM_CONDITIONAL(USE_WILDMIDI, true)
1489 AG_GST_CHECK_FEATURE(WILDMIDI, [wildmidi midi soft synth plugin], wildmidi, [
1490   AG_GST_CHECK_LIBHEADER(WILDMIDI, WildMidi,
1491                          WildMidi_Init, ,
1492                          wildmidi_lib.h,
1493                          WILDMIDI_LIBS="-lWildMidi")
1494   AC_CHECK_LIB(WildMidi, WildMidi_LoadSamples, AC_DEFINE(HAVE_WILDMIDI_0_2_2, [1], [Have WildMidi 0.2.2 or earlier library]))
1495
1496   if test "x$HAVE_WILDMIDI" = "xyes"; then
1497          WILDMIDI_CFLAGS=
1498          WILDMIDI_LIBS=-lWildMidi
1499          AC_MSG_NOTICE(compiling gstWildMidi)
1500   else
1501          WILDMIDI_CFLAGS=
1502          WILDMIDI_LIBS=
1503          AC_MSG_WARN(no WildMidi library found (libWildMidi))
1504   fi
1505   AC_SUBST(WILDMIDI_CFLAGS)
1506   AC_SUBST(WILDMIDI_LIBS)
1507 ])
1508
1509 dnl *** SDL ***
1510 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
1511 AG_GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink sdlaudiosink, [
1512     AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
1513 ])
1514
1515 dnl *** sndfile ***
1516 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDFILE, true)
1517 AG_GST_CHECK_FEATURE(SNDFILE, [sndfile plug-in], sfsrc sfsink, [
1518   PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.16, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")
1519   AC_SUBST(SNDFILE_CFLAGS)
1520   AC_SUBST(SNDFILE_LIBS)
1521 ])
1522
1523 dnl *** soundtouch ***
1524 translit(dnm, m, l) AM_CONDITIONAL(USE_SOUNDTOUCH, true)
1525 AG_GST_CHECK_FEATURE(SOUNDTOUCH, [soundtouch plug-in], soundtouch, [
1526   dnl We only need -lBPM on soundtouch < 1.4
1527   dnl We check for libSoundTouch since Debian used it before upstream
1528   dnl added a pkgconfig file.
1529   HAVE_SOUNDTOUCH_1_4=yes
1530   PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch,
1531     [HAVE_SOUNDTOUCH=yes],
1532     [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.4,
1533       [HAVE_SOUNDTOUCH=yes],
1534       [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.0,
1535         [HAVE_SOUNDTOUCH=yes
1536           HAVE_SOUNDTOUCH_1_4=no
1537           SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
1538         [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch >= 1.4,
1539           [HAVE_SOUNDTOUCH=yes],
1540           [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch,
1541             [HAVE_SOUNDTOUCH=yes
1542               HAVE_SOUNDTOUCH_1_4=no
1543               SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
1544             HAVE_SOUNDTOUCH=no)])])])])
1545   AC_SUBST(SOUNDTOUCH_CFLAGS)
1546   AC_SUBST(SOUNDTOUCH_LIBS)
1547   if test "x$HAVE_CXX" != "xyes"; then
1548     USE_SOUNDTOUCH=false
1549     AC_MSG_NOTICE([Not building soundtouch plugin: no C++ compiler found])
1550   fi
1551   if test "x$HAVE_SOUNDTOUCH" = "xyes" -a "x$HAVE_SOUNDTOUCH_1_4" = "xyes"; then
1552      AC_DEFINE([HAVE_SOUNDTOUCH_1_4], [1],
1553          [Defined if the available libSoundTouch is >= 1.4])
1554   fi
1555 ])
1556
1557 dnl *** spc ***
1558 translit(dnm, m, l) AM_CONDITIONAL(USE_SPC, true)
1559 AG_GST_CHECK_FEATURE(SPC, [spc decoder], spc, [
1560   AC_CHECK_HEADER(openspc.h, [
1561     AC_CHECK_LIB(openspc, OSPC_Init, [
1562       SPC_LIBS="-lopenspc"
1563       AC_SUBST(SPC_LIBS)
1564       HAVE_SPC=yes
1565     ], [
1566       HAVE_SPC=no
1567     ])
1568   ], [
1569     HAVE_SPC=no
1570   ])
1571 ])
1572
1573 dnl *** gme ***
1574 translit(dnm, m, l) AM_CONDITIONAL(USE_GME, true)
1575 AG_GST_CHECK_FEATURE(GME, [gme decoder], gme, [
1576   AC_CHECK_HEADER(gme/gme.h, [
1577     AC_CHECK_LIB(gme, gme_new_emu, [
1578       GME_LIBS="-lgme"
1579       AC_SUBST(GME_LIBS)
1580       HAVE_GME=yes
1581     ], [
1582       HAVE_GME=no
1583     ])
1584   ], [
1585     HAVE_GME=no
1586   ])
1587
1588   if test "x$HAVE_GME" = "xyes"; then
1589     AC_CHECK_LIB(gme, gme_enable_accuracy, [
1590       AC_DEFINE(HAVE_LIBGME_ACCURACY, 1, [Define if gme 0.5.6 or newer is available])
1591       ])
1592   fi
1593 ])
1594
1595 dnl *** swfdec ***
1596 translit(dnm, m, l) AM_CONDITIONAL(USE_SWFDEC, true)
1597 AG_GST_CHECK_FEATURE(SWFDEC, [swfdec plug-in], swfdec, [
1598   PKG_CHECK_MODULES(SWFDEC, swfdec-0.3 >= 0.3.6, HAVE_SWFDEC=yes, [
1599     HAVE_SWFDEC=no
1600   ])
1601   AC_SUBST(SWFDEC_CFLAGS)
1602   AC_SUBST(SWFDEC_LIBS)
1603 ])
1604
1605 dnl *** XVID ***
1606 translit(dnm, m, l) AM_CONDITIONAL(USE_XVID, true)
1607 AG_GST_CHECK_FEATURE(XVID, [xvid plugins], xvid, [
1608   HAVE_XVID=no
1609   AC_CHECK_HEADER(xvid.h, [
1610     OLD_LIBS="$LIBS"
1611     LIBS="-lpthread $LIBM"
1612     AC_CHECK_LIB(xvidcore, xvid_encore, [
1613       AC_CHECK_LIB(xvidcore, xvid_decore, [
1614         AC_CHECK_LIB(xvidcore, xvid_global, [
1615           AC_MSG_CHECKING([for uptodate XviD API version])
1616           AC_TRY_COMPILE([#include <xvid.h>], [
1617               #if XVID_API_MAJOR(XVID_API) != 4
1618               #error "Incompatible XviD API version"
1619               #endif
1620               #if XVID_API_MAJOR(XVID_API) == 4 && XVID_API_MINOR(XVID_API) < 3
1621               #error "Incompatible XviD API version"
1622               #endif
1623           ],[ AC_MSG_RESULT(yes)
1624             XVID_LIBS="-lxvidcore $LIBM"
1625             AC_SUBST(XVID_LIBS)
1626             HAVE_XVID=yes
1627           ], AC_MSG_RESULT(no) )
1628         ], )
1629       ], )
1630     ], )
1631     LIBS="$OLD_LIBS"
1632   ], )
1633 ])
1634
1635 dnl *** dvb ***
1636 translit(dnm, m, l) AM_CONDITIONAL(USE_DVB, true)
1637 AG_GST_CHECK_FEATURE(DVB, [DVB Source], dvb, [
1638   AC_MSG_CHECKING([Checking for up to date dvb installation])
1639   AC_CHECK_HEADER(linux/dvb/frontend.h, [HAVE_DVB="yes"], [HAVE_DVB="no"])
1640 ])
1641
1642 dnl *** wininet ***
1643 translit(dnm, m, l) AM_CONDITIONAL(USE_WININET, true)
1644 AG_GST_CHECK_FEATURE(WININET, [Windows internet library], wininet, [
1645   AC_MSG_CHECKING([Checking for windows internet support])
1646   AC_CHECK_HEADERS([windows.h wininet.h],
1647       [HAVE_WININET="yes"], [HAVE_WININET="no"],
1648       [AC_INCLUDES_DEFAULT
1649 #include <windows.h>])
1650 ])
1651
1652 dnl *** acm ***
1653 translit(dnm, m, l) AM_CONDITIONAL(USE_ACM, true)
1654 AG_GST_CHECK_FEATURE(ACM, [Windows ACM library], acm, [
1655   AC_MSG_CHECKING([Checking for ACM support])
1656   AC_CHECK_HEADERS([windows.h msacm.h],
1657       [HAVE_ACM="yes"
1658        AC_SUBST(ACMENC_CFLAGS)
1659        AC_SUBST(ACMMP3DEC_CFLAGS)
1660       ], [HAVE_ACM="no"],
1661       [AC_INCLUDES_DEFAULT
1662 #include <windows.h>])
1663 ])
1664
1665 dnl *** vdpau ***
1666 translit(dnm, m, l) AM_CONDITIONAL(USE_VDPAU, true)
1667 AG_GST_CHECK_FEATURE(VDPAU, [VDPAU], vdpau, [
1668   VDPAU_CFLAGS=
1669   VDPAU_LIBS=-lvdpau
1670   HAVE_VDPAU=no
1671
1672   PKG_CHECK_MODULES(VDPAU, vdpau, [HAVE_VDPAU="yes"],
1673   [
1674     if test "$HAVE_VDPAU" = "no"; then
1675       saved_CPPFLAGS="$CPPFLAGS"
1676       AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
1677
1678       if test -z "$HAVE_VDPAU_H"; then
1679         dnl Didn't find VDPAU header straight away.
1680         dnl Try /usr/include/nvidia. Need to clear caching vars first
1681         AC_MSG_NOTICE([VDPAU header not in standard path. Checking /usr/include/nvidia])
1682         unset ac_cv_header_vdpau_vdpau_h
1683         unset ac_cv_header_vdpau_vdpau_x11_h
1684         VDPAU_CFLAGS="-I/usr/include/nvidia"
1685         VDPAU_LIBS="-L/usr/lib/nvidia -lvdpau"
1686         CPPFLAGS="$VDPAU_CFLAGS $saved_CPPFLAGS"
1687         AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
1688       fi
1689
1690       AC_CHECK_HEADER([vdpau/vdpau_x11.h], [HAVE_VDPAU_X11_H=yes])
1691
1692       if test "x$HAVE_VDPAU_H" = "xyes" -a "x$HAVE_VDPAU_X11_H" = "xyes"; then
1693         dnl Found the headers - look for the lib
1694         AC_MSG_NOTICE([VDPAU headers found. Checking libraries])
1695         saved_LIBS="$LIBS"
1696         LIBS="$VDPAU_LIBS $saved_LIBS"
1697         AC_CHECK_LIB(vdpau,vdp_device_create_x11,[HAVE_VDPAU="yes"])
1698         LIBS="$saved_LIBS"
1699       fi
1700     fi
1701   ])
1702
1703   if test "$HAVE_VDPAU" = "yes"; then
1704     AC_MSG_NOTICE([Found up to date VDPAU installation])
1705     AC_SUBST(VDPAU_CFLAGS)
1706     AC_SUBST(VDPAU_LIBS)
1707   fi
1708 ])
1709
1710 dnl *** schroedinger ***
1711 translit(dnm, m, l) AM_CONDITIONAL(USE_SCHRO, true)
1712 AG_GST_CHECK_FEATURE(SCHRO, [Schroedinger video codec], schro, [
1713   AG_GST_PKG_CHECK_MODULES(SCHRO, schroedinger-1.0 >= 1.0.10)
1714 ])
1715
1716 dnl *** zbar ***
1717 translit(dnm, m, l) AM_CONDITIONAL(USE_ZBAR, true)
1718 AG_GST_CHECK_FEATURE(ZBAR, [ZBar barcode detector], zbar, [
1719   AG_GST_PKG_CHECK_MODULES(ZBAR, zbar >= 0.9)
1720 ])
1721
1722 dnl *** vp8 ***
1723 translit(dnm, m, l) AM_CONDITIONAL(USE_VP8, vp8)
1724 AG_GST_CHECK_FEATURE(VP8, [VP8 decoder], vp8, [
1725   VPX_LIBS=""
1726   AG_GST_CHECK_LIBHEADER(VPX, vpx,
1727                         vpx_codec_version, ,
1728                         vpx/vpx_codec.h, [
1729     HAVE_VP8_ENCODER=no
1730     HAVE_VP8_DECODER=no
1731
1732     OLD_LIBS="$LIBS"
1733     LIBS="$LIBS $LIBM -lpthread"
1734     AC_CHECK_LIB(vpx, vpx_codec_vp8_cx_algo, [
1735       HAVE_VP8=yes
1736       AC_DEFINE(HAVE_VP8_ENCODER, 1, [Defined if the VP8 encoder is available])
1737       VPX_LIBS="-lvpx"
1738
1739       AC_MSG_CHECKING([for VP8E_SET_TUNING presence])
1740       AC_TRY_COMPILE([
1741 #include <vpx/vpx_encoder.h>
1742 #include <vpx/vp8cx.h>
1743 int foo=VP8E_SET_TUNING;
1744       ], [
1745 return 0;
1746       ], [
1747         AC_DEFINE(HAVE_VP8ENC_TUNING, 1, [Defined if the VP8 encoder has tuning API])
1748         AC_MSG_RESULT(yes)
1749       ], [
1750         AC_MSG_RESULT(no)
1751       ])
1752     ])
1753     AC_CHECK_LIB(vpx, vpx_codec_vp8_dx_algo, [
1754       HAVE_VP8=yes
1755       AC_DEFINE(HAVE_VP8_DECODER, 1, [Defined if the VP8 decoder is available])
1756       VPX_LIBS="-lvpx"
1757     ])
1758     LIBS="$OLD_LIBS"
1759   ])
1760   AC_SUBST(VPX_LIBS)
1761 ])
1762
1763 dnl *** rtmp ***
1764 translit(dnm, m, l) AM_CONDITIONAL(USE_RTMP, true)
1765 AG_GST_CHECK_FEATURE(RTMP, [rtmp library], rtmp, [
1766   AG_GST_PKG_CHECK_MODULES(RTMP, librtmp)
1767 ])
1768
1769 dnl *** spandsp ***
1770 translit(dnm, m, l) AM_CONDITIONAL(USE_SPANDSP, true)
1771 AG_GST_CHECK_FEATURE(SPANDSP, [Spandsp], spandsp, [
1772   PKG_CHECK_MODULES(SPANDSP, spandsp >= 0.0.6, [
1773     HAVE_SPANDSP="yes" ], [
1774     HAVE_SPANDSP="no"
1775   ])
1776 ])
1777 AC_SUBST(SPANDSP_CFLAGS)
1778 AC_SUBST(SPANDSP_LIBS)
1779
1780 dnl *** GSettings ***
1781 translit(dnm, m, l) AM_CONDITIONAL(USE_GSETTINGS, true)
1782 AG_GST_CHECK_FEATURE(GSETTINGS, [GSettings plugin], gsettings, [
1783   AG_GST_PKG_CHECK_MODULES(GSETTINGS, gio-2.0 >= 2.25.0)
1784   if test "x$HAVE_GSETTINGS" = "xyes"; then
1785     GLIB_GSETTINGS
1786   fi
1787 ])
1788
1789 else
1790
1791 dnl not building plugins with external dependencies,
1792 dnl but we still need to set the conditionals
1793
1794 AM_CONDITIONAL(USE_ASSRENDER, false)
1795 AM_CONDITIONAL(USE_VOAMRWBENC, false)
1796 AM_CONDITIONAL(USE_VOAACENC, false)
1797 AM_CONDITIONAL(USE_APEXSINK, false)
1798 AM_CONDITIONAL(USE_BZ2, false)
1799 AM_CONDITIONAL(USE_CDAUDIO, false)
1800 AM_CONDITIONAL(USE_CELT, false)
1801 AM_CONDITIONAL(USE_CHROMAPRINT, false)
1802 AM_CONDITIONAL(USE_COG, false)
1803 AM_CONDITIONAL(USE_CURL, false)
1804 AM_CONDITIONAL(USE_DC1394, false)
1805 AM_CONDITIONAL(USE_DECKLINK, false)
1806 AM_CONDITIONAL(USE_DIRECTFB, false)
1807 AM_CONDITIONAL(USE_DIRAC, false)
1808 AM_CONDITIONAL(USE_DTS, false)
1809 AM_CONDITIONAL(USE_DIVX, false)
1810 AM_CONDITIONAL(USE_EXIF, false)
1811 AM_CONDITIONAL(USE_RESINDVD, false)
1812 AM_CONDITIONAL(USE_FAAC, false)
1813 AM_CONDITIONAL(USE_FAAD, false)
1814 AM_CONDITIONAL(USE_FBDEV, false)
1815 AM_CONDITIONAL(USE_FLITE, false)
1816 AM_CONDITIONAL(USE_GSM, false)
1817 AM_CONDITIONAL(USE_JP2K, false)
1818 AM_CONDITIONAL(USE_KATE, false)
1819 AM_CONDITIONAL(USE_TIGER, false)
1820 AM_CONDITIONAL(USE_LADSPA, false)
1821 AM_CONDITIONAL(USE_LV2, false)
1822 AM_CONDITIONAL(USE_LIBMMS, false)
1823 AM_CONDITIONAL(USE_LINSYS, false)
1824 AM_CONDITIONAL(USE_MODPLUG, false)
1825 AM_CONDITIONAL(USE_MIMIC, false)
1826 AM_CONDITIONAL(USE_MPEG2ENC, false)
1827 AM_CONDITIONAL(USE_MPLEX, false)
1828 AM_CONDITIONAL(USE_MUSEPACK, false)
1829 AM_CONDITIONAL(USE_MUSICBRAINZ, false)
1830 AM_CONDITIONAL(USE_MYTHTV, false)
1831 AM_CONDITIONAL(USE_NAS, false)
1832 AM_CONDITIONAL(USE_NEON, false)
1833 AM_CONDITIONAL(USE_OFA, false)
1834 AM_CONDITIONAL(USE_OPENAL, false)
1835 AM_CONDITIONAL(USE_OPENCV, false)
1836 AM_CONDITIONAL(USE_OPUS, false)
1837 AM_CONDITIONAL(USE_PVR, false)
1838 AM_CONDITIONAL(USE_RSVG, false)
1839 AM_CONDITIONAL(USE_TIMIDITY, false)
1840 AM_CONDITIONAL(USE_WILDMIDI, false)
1841 AM_CONDITIONAL(USE_SDL, false)
1842 AM_CONDITIONAL(USE_SNDFILE, false)
1843 AM_CONDITIONAL(USE_SOUNDTOUCH, false)
1844 AM_CONDITIONAL(USE_SPANDSP, false)
1845 AM_CONDITIONAL(USE_SPC, false)
1846 AM_CONDITIONAL(USE_GME, false)
1847 AM_CONDITIONAL(USE_GSETTINGS, false)
1848 AM_CONDITIONAL(USE_SWFDEC, false)
1849 AM_CONDITIONAL(USE_XVID, false)
1850 AM_CONDITIONAL(USE_DVB, false)
1851 AM_CONDITIONAL(USE_WININET, false)
1852 AM_CONDITIONAL(USE_ACM, false)
1853 AM_CONDITIONAL(USE_VDPAU, false)
1854 AM_CONDITIONAL(USE_SCHRO, false)
1855 AM_CONDITIONAL(USE_ZBAR, false)
1856 AM_CONDITIONAL(USE_VP8, false)
1857 AM_CONDITIONAL(USE_RTMP, false)
1858 AM_CONDITIONAL(USE_TELETEXTDEC, false)
1859
1860 fi dnl of EXT plugins
1861
1862 dnl *** finalize CFLAGS, LDFLAGS, LIBS
1863
1864 dnl Overview:
1865 dnl GST_OPTION_CFLAGS:  common flags for profiling, debugging, errors, ...
1866 dnl GST_*:              flags shared by built objects to link against GStreamer
1867 dnl GST_ALL_LDFLAGS:    linker flags shared by all
1868 dnl GST_LIB_LDFLAGS:    additional linker flags for all libaries
1869 dnl GST_LT_LDFLAGS:     library versioning of our libraries
1870 dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
1871
1872 dnl GST_OPTION_CFLAGS
1873 if test "x$USE_DEBUG" = xyes; then
1874    PROFILE_CFLAGS="-g"
1875 fi
1876 AC_SUBST(PROFILE_CFLAGS)
1877
1878 if test "x$PACKAGE_VERSION_NANO" = "x1"; then
1879   dnl Define _only_ during CVS (not pre-releases or releases)
1880   DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
1881 else
1882   DEPRECATED_CFLAGS=""
1883 fi
1884 AC_SUBST(DEPRECATED_CFLAGS)
1885
1886 dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
1887 dnl at make time with e.g. make ERROR_CFLAGS=""
1888 GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
1889 GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
1890 AC_SUBST(GST_OPTION_CFLAGS)
1891 AC_SUBST(GST_OPTION_CXXFLAGS)
1892
1893 dnl FIXME: do we want to rename to GST_ALL_* ?
1894 dnl prefer internal headers to already installed ones
1895 dnl also add builddir include for enumtypes and marshal
1896 dnl add GST_OPTION_CFLAGS, but overridable
1897 GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API"
1898 GST_CXXFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
1899 GST_CFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
1900 AC_SUBST(GST_CFLAGS)
1901 AC_SUBST(GST_CXXFLAGS)
1902 AC_SUBST(GST_LIBS)
1903 GST_PLUGINS_BAD_CXXFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
1904 GST_PLUGINS_BAD_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
1905 AC_SUBST(GST_PLUGINS_BAD_CFLAGS)
1906 AC_SUBST(GST_PLUGINS_BAD_CXXFLAGS)
1907
1908 dnl LDFLAGS really should only contain flags, not libs - they get added before
1909 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
1910 GST_ALL_LDFLAGS="-no-undefined"
1911 AC_SUBST(GST_ALL_LDFLAGS)
1912
1913 dnl GST_LIB_LDFLAGS
1914 dnl linker flags shared by all libraries
1915 dnl LDFLAGS modifier defining exported symbols from built libraries
1916 dnl (export _gst_foo but not __gst_foo)
1917 GST_LIB_LDFLAGS="-export-symbols-regex ^_?\(gst_\|Gst\|GST_\).*"
1918 AC_SUBST(GST_LIB_LDFLAGS)
1919
1920 dnl this really should only contain flags, not libs - they get added before
1921 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
1922 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_desc.*' $GST_ALL_LDFLAGS"
1923 AC_SUBST(GST_PLUGIN_LDFLAGS)
1924
1925 dnl *** output files ***
1926
1927 dnl po/Makefile.in
1928
1929 AC_CONFIG_FILES(
1930 Makefile
1931 common/Makefile
1932 common/m4/Makefile
1933 gst-plugins-bad.spec
1934 gst/Makefile
1935 gst/adpcmdec/Makefile
1936 gst/adpcmenc/Makefile
1937 gst/aiff/Makefile
1938 gst/asfmux/Makefile
1939 gst/audiovisualizers/Makefile
1940 gst/autoconvert/Makefile
1941 gst/bayer/Makefile
1942 gst/camerabin/Makefile
1943 gst/camerabin2/Makefile
1944 gst/cdxaparse/Makefile
1945 gst/coloreffects/Makefile
1946 gst/dataurisrc/Makefile
1947 gst/dccp/Makefile
1948 gst/debugutils/Makefile
1949 gst/dtmf/Makefile
1950 gst/dvbsuboverlay/Makefile
1951 gst/dvdspu/Makefile
1952 gst/faceoverlay/Makefile
1953 gst/festival/Makefile
1954 gst/fieldanalysis/Makefile
1955 gst/freeze/Makefile
1956 gst/freeverb/Makefile
1957 gst/frei0r/Makefile
1958 gst/gaudieffects/Makefile
1959 gst/geometrictransform/Makefile
1960 gst/hdvparse/Makefile
1961 gst/hls/Makefile
1962 gst/id3tag/Makefile
1963 gst/inter/Makefile
1964 gst/interlace/Makefile
1965 gst/ivfparse/Makefile
1966 gst/jp2kdecimator/Makefile
1967 gst/jpegformat/Makefile
1968 gst/legacyresample/Makefile
1969 gst/librfb/Makefile
1970 gst/liveadder/Makefile
1971 gst/mpegdemux/Makefile
1972 gst/mpegtsdemux/Makefile
1973 gst/mpegtsmux/Makefile
1974 gst/mpegtsmux/tsmux/Makefile
1975 gst/mpegpsmux/Makefile
1976 gst/mve/Makefile
1977 gst/mxf/Makefile
1978 gst/nsf/Makefile
1979 gst/nuvdemux/Makefile
1980 gst/patchdetect/Makefile
1981 gst/pcapparse/Makefile
1982 gst/pnm/Makefile
1983 gst/rawparse/Makefile
1984 gst/real/Makefile
1985 gst/removesilence/Makefile
1986 gst/rtpmux/Makefile
1987 gst/rtpvp8/Makefile
1988 gst/scaletempo/Makefile
1989 gst/sdi/Makefile
1990 gst/sdp/Makefile
1991 gst/segmentclip/Makefile
1992 gst/siren/Makefile
1993 gst/smooth/Makefile
1994 gst/speed/Makefile
1995 gst/subenc/Makefile
1996 gst/stereo/Makefile
1997 gst/tta/Makefile
1998 gst/videofilters/Makefile
1999 gst/videomeasure/Makefile
2000 gst/videoparsers/Makefile
2001 gst/videosignal/Makefile
2002 gst/vmnc/Makefile
2003 gst/y4m/Makefile
2004 gst-libs/Makefile
2005 gst-libs/gst/Makefile
2006 gst-libs/gst/basecamerabinsrc/Makefile
2007 gst-libs/gst/interfaces/Makefile
2008 gst-libs/gst/signalprocessor/Makefile
2009 gst-libs/gst/codecparsers/Makefile
2010 gst-libs/gst/video/Makefile
2011 sys/Makefile
2012 sys/dshowdecwrapper/Makefile
2013 sys/acmenc/Makefile
2014 sys/acmmp3dec/Makefile
2015 sys/applemedia/Makefile
2016 sys/avc/Makefile
2017 sys/d3dvideosink/Makefile
2018 sys/decklink/Makefile
2019 sys/directdraw/Makefile
2020 sys/directsound/Makefile
2021 sys/dshowsrcwrapper/Makefile
2022 sys/dshowvideosink/Makefile
2023 sys/dvb/Makefile
2024 sys/fbdev/Makefile
2025 sys/linsys/Makefile
2026 sys/osxvideo/Makefile
2027 sys/qtwrapper/Makefile
2028 sys/shm/Makefile
2029 sys/vcd/Makefile
2030 sys/vdpau/Makefile
2031 sys/vdpau/gstvdp/Makefile
2032 sys/vdpau/basevideodecoder/Makefile
2033 sys/pvr2d/Makefile
2034 sys/wasapi/Makefile
2035 sys/wininet/Makefile
2036 sys/winks/Makefile
2037 sys/winscreencap/Makefile
2038 tests/Makefile
2039 tests/check/Makefile
2040 tests/files/Makefile
2041 tests/examples/Makefile
2042 tests/examples/camerabin/Makefile
2043 tests/examples/camerabin2/Makefile
2044 tests/examples/directfb/Makefile
2045 tests/examples/mxf/Makefile
2046 tests/examples/scaletempo/Makefile
2047 tests/examples/opencv/Makefile
2048 tests/icles/Makefile
2049 ext/voamrwbenc/Makefile
2050 ext/voaacenc/Makefile
2051 ext/assrender/Makefile
2052 ext/apexsink/Makefile
2053 ext/bz2/Makefile
2054 ext/cdaudio/Makefile
2055 ext/celt/Makefile
2056 ext/chromaprint/Makefile
2057 ext/cog/Makefile
2058 ext/curl/Makefile
2059 ext/dc1394/Makefile
2060 ext/dirac/Makefile
2061 ext/directfb/Makefile
2062 ext/divx/Makefile
2063 ext/dts/Makefile
2064 ext/faac/Makefile
2065 ext/faad/Makefile
2066 ext/flite/Makefile
2067 ext/gsm/Makefile
2068 ext/jp2k/Makefile
2069 ext/kate/Makefile
2070 ext/ladspa/Makefile
2071 ext/lv2/Makefile
2072 ext/libmms/Makefile
2073 ext/Makefile
2074 ext/modplug/Makefile
2075 ext/mpeg2enc/Makefile
2076 ext/mimic/Makefile
2077 ext/mplex/Makefile
2078 ext/musepack/Makefile
2079 ext/musicbrainz/Makefile
2080 ext/mythtv/Makefile
2081 ext/nas/Makefile
2082 ext/neon/Makefile
2083 ext/ofa/Makefile
2084 ext/openal/Makefile
2085 ext/opencv/Makefile
2086 ext/opus/Makefile
2087 ext/rsvg/Makefile
2088 ext/resindvd/Makefile
2089 ext/rtmp/Makefile
2090 ext/schroedinger/Makefile
2091 ext/sdl/Makefile
2092 ext/sndfile/Makefile
2093 ext/soundtouch/Makefile
2094 ext/spandsp/Makefile
2095 ext/teletextdec/Makefile
2096 ext/gme/Makefile
2097 ext/gsettings/Makefile
2098 ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml
2099 ext/spc/Makefile
2100 ext/swfdec/Makefile
2101 ext/timidity/Makefile
2102 ext/vp8/Makefile
2103 ext/xvid/Makefile
2104 ext/zbar/Makefile
2105 po/Makefile.in
2106 docs/Makefile
2107 docs/plugins/Makefile
2108 docs/libs/Makefile
2109 docs/version.entities
2110 pkgconfig/Makefile
2111 pkgconfig/gstreamer-plugins-bad.pc
2112 pkgconfig/gstreamer-plugins-bad-uninstalled.pc
2113 pkgconfig/gstreamer-codecparsers.pc
2114 pkgconfig/gstreamer-codecparsers-uninstalled.pc
2115 pkgconfig/gstreamer-basevideo.pc
2116 pkgconfig/gstreamer-basevideo-uninstalled.pc
2117 tools/Makefile
2118 m4/Makefile
2119 win32/common/config.h
2120 )
2121 AC_OUTPUT
2122
2123 AG_GST_OUTPUT_PLUGINS
2124 ORC_OUTPUT
2125