ext/xine/: add first version of xine plugin wrapper. Currently only wraps the
[platform/upstream/gst-plugins-good.git] / configure.ac
1 dnl autoconf configuration file for gst-plugins 
2 AC_INIT
3 AC_CANONICAL_TARGET([])
4
5 dnl We disable static building for development, for time savings
6 dnl this goes before AS_LIBTOOL to appease autoconf
7 dnl *NOTE*: dnl this line before release, so release does static too
8 AM_DISABLE_STATIC
9
10 dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
11 AM_MAINTAINER_MODE
12
13 dnl when going to/from release please set the nano (fourth number) right !
14 dnl releases only do Wall, cvs and prerelease does Werror too
15 AS_VERSION(gst-plugins, GST_PLUGINS_VERSION, 0, 7, 4, 1, GST_CVS="no", GST_CVS="yes")
16
17 dnl add a suffix to apps
18 if test x$program_suffix = xNONE ; then
19   program_suffix=-$GST_PLUGINS_VERSION_MAJOR.$GST_PLUGINS_VERSION_MINOR
20 fi
21
22 AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
23
24 dnl our libraries and install dirs use major.minor as a version
25 GST_MAJORMINOR=$GST_PLUGINS_VERSION_MAJOR.$GST_PLUGINS_VERSION_MINOR
26 AC_SUBST(GST_MAJORMINOR)
27
28 dnl CURRENT, REVISION, AGE
29 dnl - library source changed -> increment REVISION
30 dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
31 dnl - interfaces added -> increment AGE
32 dnl - interfaces removed -> AGE = 0
33 AS_LIBTOOL(GST_PLUGINS, 2, 0, 0)
34 AM_PROG_LIBTOOL
35
36 dnl FIXME take something else ?
37 AC_CONFIG_SRCDIR([gst/law/alaw.c])
38 AM_CONFIG_HEADER(config.h)
39
40 dnl Add parameters for aclocal
41 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
42 ACLOCAL_FLAGS="-I m4 -I common/m4"
43 AC_SUBST(ACLOCAL_AMFLAGS, $ACLOCAL_FLAGS)
44
45 AC_PROG_CC
46 AM_PROG_CC_STDC
47 AM_PROG_AS
48 AS="${CC}"
49
50 dnl the gettext stuff needed
51 AM_GNU_GETTEXT_VERSION(0.11.5)
52 AM_GNU_GETTEXT([external])
53                                                                                 
54 GETTEXT_PACKAGE=gst-plugins-$GST_MAJORMINOR
55 AC_SUBST(GETTEXT_PACKAGE)
56 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], "$GETTEXT_PACKAGE",
57                    [gettext package name])
58                                                                                 
59 dnl define LOCALEDIR in config.h
60 AS_AC_EXPAND(LOCALEDIR, $datadir/locale)
61 AC_DEFINE_UNQUOTED([LOCALEDIR], "$LOCALEDIR",
62                    [gettext locale dir])
63
64 dnl decide on error flags
65 AS_COMPILER_FLAG(-Wall, GST_WALL="yes", GST_WALL="no")
66
67 if test "x$GST_WALL" = "xyes"; then
68    GST_ERROR="$GST_ERROR -Wall"
69
70    if test "x$GST_CVS" = "xyes"; then
71      AS_COMPILER_FLAG(-Werror,GST_ERROR="$GST_ERROR -Werror",GST_ERROR="$GST_ERROR")
72      GST_ERROR="$GST_ERROR -DG_DISABLE_DEPRECATED"
73    fi
74 fi
75
76 dnl determine c++ compiler
77 AC_PROG_CXX
78 dnl determine if c++ is available on this system
79 AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
80 dnl determine c++ preprocessor
81 AC_PROG_CXXCPP
82 AC_ISC_POSIX
83
84 AC_HEADER_STDC([])
85 AC_C_INLINE
86 AX_CREATE_STDINT_H
87
88 dnl Check for a way to display the function name in debug output
89 GST_CHECK_FUNCTION()
90
91 dnl define correct errorlevel for debugging messages. We want to have GST_ERROR
92 dnl messages printed when running cvs builds
93 if test "x$GST_CVS" = "xyes"; then
94   AC_DEFINE(GST_LEVEL_DEFAULT, GST_LEVEL_ERROR, [Default errorlevel to use])
95 fi
96
97 dnl ############################################
98 dnl # Super Duper options for plug-in building #
99 dnl ############################################
100
101 dnl ext plug-ins; plug-ins that have external dependencies
102 GST_CHECK_FEATURE(EXTERNAL, [enable building of plug-ins with external deps],,
103 [HAVE_EXTERNAL=yes],enabled,
104 [
105   AC_MSG_WARN(building external plug-ins)
106   BUILD_EXTERNAL="yes"
107 ],[
108   AC_MSG_WARN(all plug-ins with external dependencies will not be built)
109   BUILD_EXTERNAL="no"
110 ])
111 # make BUILD_EXTERNAL available to Makefile.am
112 AM_CONDITIONAL(BUILD_EXTERNAL, test "x$BUILD_EXTERNAL" = "xyes")
113
114 dnl experimental plug-ins; stuff that hasn't had the dust settle yet
115 dnl read 'builds, but might not work'UTO
116 GST_CHECK_FEATURE(EXPERIMENTAL, [enable building of experimental plug-ins],,
117 [HAVE_EXPERIMENTAL=yes],disabled,
118 [
119   AC_MSG_WARN(building experimental plug-ins)
120   USE_TARKIN="yes"
121   USE_SHOUT2="yes"
122 ],[
123   AC_MSG_NOTICE(not building experimental plug-ins)
124   USE_TARKIN="no"
125   USE_SHOUT2="no"
126 ])
127
128 dnl broken plug-ins; stuff that doesn't seem to build at the moment
129 GST_CHECK_FEATURE(BROKEN, [enable building of broken plug-ins],,
130 HAVE_BROKEN=yes,disabled,
131 [  
132   AC_MSG_WARN([building broken plug-ins -- no bug reports on these, only patches :)])
133 ],[
134   AC_MSG_NOTICE([not building broken plug-ins])
135 ])
136
137 dnl ##############################
138 dnl # Do automated configuration #
139 dnl ##############################
140
141 dnl Check for tools:
142 dnl ================
143
144 dnl allow for different autotools
145 AS_AUTOTOOLS_ALTERNATE()
146
147 dnl modify pkg-config path
148 AC_ARG_WITH(pkg-config-path, 
149    AC_HELP_STRING([--with-pkg-config-path],[colon-separated list of pkg-config(1) dirs]),
150    [export PKG_CONFIG_PATH=${withval}])
151
152 dnl check architecture
153 GST_ARCH()
154
155 dnl Check for nasm
156 AC_PATH_PROG(NASM_PATH, nasm, no)
157 AC_SUBST(NASM_PATH)
158 if test x$NASM_PATH = xno; then
159   AC_MSG_WARN(Couldn't find nasm)
160   HAVE_NASM="no"
161 else
162   AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
163   HAVE_NASM="yes"
164 fi
165
166 dnl check for gconftool-2
167 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONFTOOL, true)
168 GST_CHECK_FEATURE(GCONFTOOL, [GConf schemas], , [
169   AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
170   if test x$GCONFTOOL = xno; then
171     AC_MSG_WARN(Not installing GConf schemas)
172     HAVE_GCONFTOOL="no"
173   else
174     AM_GCONF_SOURCE_2
175     HAVE_GCONFTOOL="yes"
176   fi
177   AC_SUBST(HAVE_GCONFTOOL)
178 ])
179
180 dnl check for GConf libraries
181 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONF, true)
182 GST_CHECK_FEATURE(GCONF, [GConf libraries], , [
183   PKG_CHECK_MODULES(GCONF, gconf-2.0, HAVE_GCONF="yes", HAVE_GCONF="no")
184   AC_SUBST(GCONF_CFLAGS)
185   AC_SUBST(GCONF_LIBS)
186 ])
187
188 dnl check for gstreamer; uninstalled is selected preferentially -- see pkg-config(1)
189 PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_PLUGINS_VERSION_MAJOR.$GST_PLUGINS_VERSION_MINOR.$GST_PLUGINS_VERSION_MICRO,
190   HAVE_GST="yes", HAVE_GST="no")
191
192 if test "x$HAVE_GST" = "xno"; then
193   AC_MSG_ERROR(no GStreamer found)
194 fi
195
196 GST_TOOLS_DIR=`pkg-config --variable=toolsdir gstreamer-$GST_MAJORMINOR`
197 if test -z $GST_TOOLS_DIR; then
198   AC_MSG_ERROR([no tools dir defined in GStreamer pkg-config file; core upgrade needed.])
199 fi
200 AC_SUBST(GST_TOOLS_DIR)
201
202 dnl check for gstreamer-control; uninstalled is selected preferentially
203 PKG_CHECK_MODULES(GST_CONTROL, gstreamer-control-$GST_MAJORMINOR >= $GST_PLUGINS_VERSION_MAJOR.$GST_PLUGINS_VERSION_MINOR.$GST_PLUGINS_VERSION_MICRO,
204   HAVE_GST_CONTROL="yes", HAVE_GST_CONTROL="no")
205
206 if test "x$HAVE_GST_CONTROL" = "xno"; then
207   AC_MSG_ERROR(no GStreamer Control Libs found)
208 fi
209
210 AC_SUBST(GST_CONTROL_LIBS)
211
212 dnl Determine endianness
213 AC_C_BIGENDIAN
214
215 dnl Check for fast float to int casting as defined in C99
216 AC_C99_FUNC_LRINT()
217 AC_C99_FUNC_LRINTF()
218
219 dnl Check for essential libraries first:
220 dnl ====================================
221
222 GST_GLIB2_CHECK()
223
224 dnl Check for additional libraries that we might use:
225 dnl =================================================
226 dnl GTK
227 HAVE_GTK=NO
228 PKG_CHECK_MODULES(GTK2, gtk+-2.0 >= 2.2.0, HAVE_GTK_22=yes, HAVE_GTK_22=no)
229 if test "x$HAVE_GTK_22" = "xyes"; then
230   HAVE_GTK=yes
231   GTK_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0`
232   AC_SUBST(GTK_VERSION)
233   GTK_PREFIX=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
234   GDK_PIXBUF_LIBDIR=`$PKG_CONFIG --variable=libdir gdk-pixbuf-2.0`
235   GDK_PIXBUF_PREFIXDIR=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
236   AC_SUBST(GTK_BASE_DIR)
237 else
238   PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK_20=yes, HAVE_GTK_20=no)
239 fi
240 if test "x$HAVE_GTK_20" = "xyes"; then
241   HAVE_GTK=yes
242 fi
243 GTK_CFLAGS=$GTK2_CFLAGS
244 GTK_LIBS=$GTK2_LIBS
245 AC_SUBST(GTK_LIBS)
246 AC_SUBST(GTK_CFLAGS)
247 AC_SUBST(HAVE_GTK)
248
249 # gdk_pixbuf gstreamer loader is considered experimental, so disable
250 # by default
251 if test "x$HAVE_GTK_22" = "xyes"; then
252   HAVE_GDK_LOADERS=yes
253 else
254   HAVE_GDK_LOADERS=no
255 fi
256
257 AC_ARG_ENABLE(gdk-pixbuf-loader,
258   AC_HELP_STRING([--enable-gdk-pixbuf-loader],
259               [whether to enable building of gdk_pixbuf loader]),
260               :, HAVE_GDK_LOADERS="no")
261
262 # allow customization of pixbuf loader install location
263 # when nothing specified, adhere to prefix settings
264 # when called without any option with this argument, autodetect
265 # when called with a path, set to the given path
266
267 if test "x$HAVE_GDK_LOADERS" == "xyes"; then
268   AC_PATH_PROG(QUERYLOADERS, gdk-pixbuf-query-loaders, no)
269   AC_ARG_WITH(gdk-pixbuf-loader-dir, 
270      AC_HELP_STRING([--with-gdk-pixbuf-loader-dir],
271         [directory to install the gdk_pixbuf loader (none for pkg-config default)]),
272      [
273       if test "x${withval}" != xyes ; then
274         GDK_PIXBUF_LOADER_DIR="${withval}"
275       else
276         GDK_PIXBUF_LOADER_DIR="$GDK_PIXBUF_LIBDIR/gtk-2.0/\$GTK_VERSION/loaders"
277       fi
278      ],
279      # nothing specified
280      GDK_PIXBUF_LOADER_DIR=${libdir}/gtk-2.0/\$GTK_VERSION/loaders
281   )
282   AS_AC_EXPAND(GDK_PIXBUF_LOADER_DIR, $GDK_PIXBUF_LOADER_DIR)
283   AC_SUBST(GDK_PIXBUF_LOADER_DIR)
284   AC_MSG_NOTICE([Putting GTK+-2 pixbuf loaders in $GDK_PIXBUF_LOADER_DIR])
285   
286   # allow customization of pixbuf loader configuration file
287   # when nothing specified, adhere to prefix settings
288   # when called without any option with this argument, autodetect
289   # when called with a path, set to the given path
290   AC_ARG_WITH(gdk-pixbuf-conf-dir, 
291      AC_HELP_STRING([--with-gdk-pixbuf-conf-dir],
292         [directory to install the gdk_pixbuf config (none for pkg-config default)]),
293      [
294       if test "x${withval}" != xyes ; then
295         GDK_PIXBUF_CONF_DIR="${withval}"
296       else
297         GDK_PIXBUF_CONF_DIR="$GDK_PIXBUF_PREFIXDIR/etc/gtk-2.0/"
298       fi
299      ],
300      # nothing specified
301      GDK_PIXBUF_LOADER_DIR=${libdir}/gtk-2.0/\$GTK_VERSION/loaders
302      GDK_PIXBUF_CONF_DIR=${sysconfdir}/gtk-2.0
303   )
304   AS_AC_EXPAND(GDK_PIXBUF_CONF_DIR, $GDK_PIXBUF_CONF_DIR)
305   AC_SUBST(GDK_PIXBUF_CONF_DIR)
306   AC_MSG_NOTICE([Putting GTK+-2 pixbuf loader config in $GDK_PIXBUF_CONF_DIR])
307 fi
308 AM_CONDITIONAL(HAVE_GDK_LOADERS, test "x$HAVE_GDK_LOADERS" = "xyes")
309
310 PKG_CHECK_MODULES(LIBOIL, liboil-0.1, HAVE_LIBOIL=yes, HAVE_LIBOIL=no)
311 AC_SUBST(LIBOIL_CFLAGS)
312 AC_SUBST(LIBOIL_LIBS)
313 if test "x${HAVE_LIBOIL}" = xyes ; then
314   #AC_DEFINE_UNQUOTED(HAVE_LIBOIL, 1, [Define if liboil is being used])
315   true
316 fi
317
318 dnl ===========================================================================
319 dnl ============================= gst plug-ins ================================
320 dnl ===========================================================================
321
322 plugindir="\$(libdir)/gstreamer-$GST_MAJORMINOR"
323 AC_SUBST(plugindir)
324
325 GST_PLUGIN_LDFLAGS='-module -avoid-version'
326 AC_SUBST(GST_PLUGIN_LDFLAGS)
327
328 dnl these are all the gst plug-ins, compilable without additional libs
329 GST_PLUGINS_ALL="\
330         ac3parse \
331         adder \
332         asfdemux \
333         audioconvert \
334         audioscale \
335         auparse \
336         avi \
337         cdxaparse \
338         chart \
339         colorspace \
340         cutter \
341         debug \
342         deinterlace \
343         effectv \
344         festival \
345         filter \
346         flx \
347         goom \
348         id3 \
349         intfloat \
350         law \
351         level \
352         matroska \
353         median \
354         mixmatrix \
355         mpeg1sys \
356         mpeg1videoparse \
357         mpeg2sub \
358         mpegaudio \
359         mpegaudioparse \
360         mpegstream \
361         monoscope \
362         oneton \
363         overlay \
364         passthrough \
365         playondemand \
366         qtdemux \
367         realmedia \
368         rtjpeg \
369         rtp \
370         silence \
371         sine \
372         smooth \
373         smpte \
374         spectrum \
375         speed \
376         stereo \
377         switch \
378         synaesthesia \
379         tags \
380         tcp \
381         typefind \
382         udp \
383         vbidec \
384         videocrop \
385         videodrop \
386         videoflip \
387         videofilter \
388         videoscale \
389         videotestsrc \
390         volenv \
391         volume \
392         wavenc \
393         wavparse \
394         y4m"
395
396 dnl see if we can build C++ plug-ins
397 if test "x$HAVE_CXX" = "xyes"; then
398   GST_PLUGINS_ALL="$GST_PLUGINS_ALL \
399                   modplug"
400 else
401   AC_MSG_WARN([Not compiling plug-ins requiring C++ compiler])
402 fi
403
404 AC_SUBST(GST_PLUGINS_ALL)
405
406 GST_PLUGINS_SELECTED=""
407
408 AC_ARG_WITH(plugins,
409     AC_HELP_STRING([--with-plugins],[comma-separated list of plug-ins to compile]),
410     [for i in `echo $withval | tr , ' '`; do
411         if test -n `echo $i | grep $GST_PLUGINS_ALL`; then
412             GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
413         else
414             echo "plug-in $i not recognized, ignoring..."
415         fi
416     done],
417     [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
418
419 AC_SUBST(GST_PLUGINS_SELECTED)
420
421 dnl ==========================================================================
422 dnl ============================= sys plug-ins ================================
423 dnl ==========================================================================
424
425 dnl *** DXR3 card ***
426 translit(dnm, m, l) AM_CONDITIONAL(USE_DXR3, true)
427 GST_CHECK_FEATURE(DXR3, [DXR3 hardware MPEG DVD decoder],
428   dxr3videosink dxr3audiosink dxr3spusink, [
429   HAVE_DXR3=yes
430   AC_CHECK_HEADER(linux/em8300.h, ,
431                   [ AC_MSG_WARN([DXR3/em8300 header file not found]) &&
432                     HAVE_DXR3=no ] )
433   AC_CHECK_HEADER(linux/soundcard.h, ,
434                   [ AC_MSG_WARN([Generic sound header file not found]) &&
435                     HAVE_DXR3=no ] )
436 ])
437
438 dnl *** OSS audio ***
439 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
440 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
441   AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
442 ])
443
444 dnl *** QuickCam ***
445 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
446 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, [
447   if test "x$HAVE_CPU_I386" != "xyes";
448   then
449     HAVE_QCAM="no"
450   else
451     AC_CHECK_HEADER(sys/io.h, HAVE_QCAM="yes", HAVE_QCAM="no")
452   fi
453   if test "x$HAVE_QCAM" != "xyes";
454   then
455     AC_MSG_WARN([QuickCam only works on i386-linux])
456   fi
457 ])
458
459 dnl *** Video CD ***
460 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
461 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
462   AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
463 ])
464
465 dnl *** CDROM Audio ***
466 translit(dnm, m, l) AM_CONDITIONAL(USE_CDROM, true)
467 GST_CHECK_FEATURE(CDROM, [CDROM Audio], cdrom, [
468   AC_CHECK_HEADERS(linux/cdrom.h) dnl linux
469   AC_CHECK_HEADERS(sys/cdio.h) dnl almost everything else
470 dnl  AC_CHECK_HEADERS(dmedia/cdaudio.h) dnl irix
471
472   if test "${ac_cv_header_linux_cdrom_h}" = "yes" || test "${ac_cv_header_sys_cdio_h}" = "yes" || test "${ac_cv_header_dmedia_cdaudio_h}" = "yes"; then
473         case "$host" in 
474                 *-sun-* | *-*-linux*)
475                         AC_DEFINE(HAVE_CDROM_SOLARIS,, [Define if cdrom access is in Solaris style])
476                 ;;
477                 *-*-freebsd*)
478                         AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
479                 ;;
480                 *-*-netbsd* | *-*-openbsd*)
481                         AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
482                         AC_DEFINE(HAVE_CDROM_BSD_NETBSD,, [Define if cdrom access uses NetBSD variant])
483                 ;;
484                 *-*darwin*)
485                         AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
486                         AC_DEFINE(HAVE_CDROM_BSD_DARWIN,, [Define if cdrom access uses Darwin variant])
487                 ;;
488 dnl             *-irix-*)
489 dnl                     AC_DEFINE(HAVE_CDROM_IRIX,, [Define if cdrom access is in Irix DMedia style])
490 dnl             ;;
491     esac
492
493         HAVE_CDROM="yes"
494   else
495         HAVE_CDROM="no"
496   fi
497 ])
498
499 dnl Check for X11
500 translit(dnm, m, l) AM_CONDITIONAL(USE_X, true)
501 GST_CHECK_FEATURE(X, [X libraries and plugins],
502                   [ximagesink], [
503   AC_PATH_XTRA
504 dnl  if test "x$X_CFLAGS" == "x" -o "$X_CFLAGS" == "-DX_DISPLAY_MISSING"
505   if test "x$X_DISPLAY_MISSING" = "x1"
506   then
507     AC_MSG_NOTICE([cannot find X11 development files])
508     HAVE_X="no"
509   else
510     dnl this is much more than we want
511     X_LIBS="$X_LIBS $X_PRE_LIBS $X_EXTRA_LIBS"
512     dnl AC_PATH_XTRA only defines the path needed to find the X libs, not the libs
513     dnl therefore we add them here
514     X_LIBS="$X_LIBS -lX11"
515     AC_SUBST(X_CFLAGS)
516     AC_SUBST(X_LIBS)
517     HAVE_X="yes"
518   fi
519   AC_SUBST(HAVE_X)
520 ])
521   
522 dnl *** XVideo ***
523 dnl Look for the PIC library first, Debian requires it.
524 dnl Check debian-devel archives for gory details.
525 dnl 20020110:
526 dnl At the moment XFree86 doesn't distribute shared libXv due
527 dnl to unstable API.  On many platforms you CAN NOT link a shared
528 dnl lib to a static non-PIC lib.  This is what the xvideo GStreamer
529 dnl plug-in wants to do.  So Debian distributes a PIC compiled
530 dnl version of the static lib for plug-ins to link to when it is
531 dnl inappropriate to link the main application to libXv directly.
532 dnl FIXME: add check if this platform can support linking to a
533 dnl        non-PIC libXv, if not then don not use Xv.
534 dnl FIXME: perhaps warn user if they have a shared libXv since
535 dnl        this is an error until XFree86 starts shipping one
536    
537 dnl Check for Xv extension
538 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
539 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions],
540                   [xvimagesink xvideosink], [
541   if test x$HAVE_X = xyes; then
542     AC_CHECK_LIB(Xv_pic, XvQueryExtension,
543                  HAVE_XVIDEO="yes", HAVE_XVIDEO="no",
544                  $X_LIBS -lXext)
545
546     if test x$HAVE_XVIDEO = xyes; then
547       XVIDEO_LIBS="-lXv_pic -lXext"
548       AC_SUBST(XVIDEO_LIBS)
549     else
550       dnl try again using something else if we didn't find it first
551       if test x$HAVE_XVIDEO = xno; then
552         AC_CHECK_LIB(Xv, XvQueryExtension,
553                    HAVE_XVIDEO="yes", HAVE_XVIDEO="no",
554                    $X_LIBS -lXext)
555
556         if test x$HAVE_XVIDEO = xyes; then
557           XVIDEO_LIBS="-lXv -lXext"
558           AC_SUBST(XVIDEO_LIBS)
559         fi
560       fi
561     fi
562   fi
563 ])
564
565 dnl check for X Shm
566 translit(dnm, m, l) AM_CONDITIONAL(USE_XSHM, true)
567 GST_CHECK_FEATURE(XSHM, [X Shared Memory extension], xshm, [
568   if test x$HAVE_X = xyes; then
569     AC_CHECK_LIB(Xext, XShmAttach, 
570                  HAVE_XSHM="yes", HAVE_XSHM="no",
571                  $X_LIBS) 
572     if test "x$HAVE_XSHM" = "xyes"; then
573       XSHM_LIBS="-lXext"
574     else
575       dnl On AIX, it is in XextSam instead, but we still need -lXext
576       AC_CHECK_LIB(XextSam, XShmAttach, 
577                    HAVE_XSHM="yes", HAVE_XSHM="no",
578                    $X_LIBS) 
579       if test "x$HAVE_XSHM" = "xyes"; then
580         XSHM_LIBS="-lXext -lXextSam"
581       fi
582     fi
583   fi
584 ], , [ 
585   AC_SUBST(HAVE_XSHM) 
586   AC_SUBST(XSHM_LIBS) 
587 ] )
588
589 dnl v4l/v4l2 checks have been moved down because they require X
590
591 dnl *** Video 4 Linux ***
592 dnl for information about the header/define, see sys/v4l/gstv4lelement.h
593 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
594 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc v4lmjpegsrc v4lmjpegsink, [
595   # first check X
596   HAVE_V4L="no"
597   if test "$HAVE_X" == "yes"
598   then
599     AC_CHECK_DECL(VID_TYPE_MPEG_ENCODER, HAVE_V4L="yes", HAVE_V4L="no", [
600 #include <sys/types.h>
601 #define _LINUX_TIME_H
602 #include <linux/videodev.h>
603     ])
604   fi
605 ])
606
607 dnl *** Video 4 Linux 2 ***
608 dnl for information about the header/define, see sys/v4l2/gstv4l2element.h
609 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L2, true)
610 GST_CHECK_FEATURE(V4L2, [Video 4 Linux 2], v4l2src, [
611   HAVE_V4L2="no"
612   if test "$HAVE_X" == "yes"
613   then
614     AC_MSG_CHECKING([Checking for uptodate v4l2 installation])
615     AC_TRY_COMPILE([
616 #include <sys/types.h>
617 #include <linux/types.h>
618 #define _LINUX_TIME_H
619 #include <linux/videodev2.h>
620 #if defined(V4L2_MAJOR_VERSION) || defined(V4L2_MINOR_VERSION)
621 #error too early v4l2 version or no v4l2 at all
622 #endif
623     ], [
624 return 0;
625     ], [ HAVE_V4L2="yes" && AC_MSG_RESULT(yes)],
626        [ HAVE_V4L2="no"  && AC_MSG_RESULT(no) &&
627          AC_CHECK_HEADER(linux/videodev2.h,
628                          [ AC_MSG_WARN([video4linux2 headers were found, but they're old. Please update v4l2 to compile the v4l2 plugins])],
629                          [ AC_MSG_WARN([video4linux2 was not found])])
630        ])
631   fi
632 ])
633
634 dnl Next, check for the optional libraries:
635 dnl These are all libraries used in building plug-ins
636 dnl ================================================
637 dnl let's try and sort them alphabetically, shall we ?
638
639 if test "x$BUILD_EXTERNAL" = "xyes"; then
640
641 AC_MSG_NOTICE(Checking for plug-in dependency libraries)
642
643 dnl *** a52dec ***
644 translit(dnm, m, l) AM_CONDITIONAL(USE_A52DEC, true)
645 GST_CHECK_FEATURE(A52DEC, [a52dec], a52dec, [
646   AC_CHECK_A52DEC(HAVE_A52DEC=yes, HAVE_A52DEC=no)
647 ])
648
649 dnl *** aalib ***
650 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
651 GST_CHECK_FEATURE(AALIB, [aasink plug-in], aasink, [
652   AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
653   AS_SCRUB_INCLUDE(AALIB_CFLAGS)
654 ])
655
656 dnl *** alsa ***
657 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
658 GST_CHECK_FEATURE(ALSA, [alsa plug-ins], gstalsa, [
659    AM_PATH_ALSA(0.9.1, HAVE_ALSA=yes, HAVE_ALSA=no)
660 ])
661
662 dnl *** arts ***
663 dnl if mcopidl can't be found there's no use in compiling it
664 AC_CHECK_PROG(MCOPIDL, mcopidl, yes, no)
665 if test "x$HAVE_MCOPIDL" = "xno";
666 then
667   USE_ARTS=no
668 fi
669
670 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
671 GST_CHECK_FEATURE(ARTS, [arts plug-ins], arts, [
672   AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
673 ])
674
675 dnl *** artsc ***
676 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
677 GST_CHECK_FEATURE(ARTSC, [artsd plug-ins], artsdsink, [
678   GST_CHECK_ARTSC()
679 ])
680
681 dnl *** audiofile ***
682 dnl this check uses the GST_CHECK_CONFIGPROG macro
683 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
684 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
685   translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
686   translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
687   dnl check with pkg-config first
688   PKG_CHECK_MODULES(AUDIOFILE, audiofile, HAVE_AUDIOFILE="yes", HAVE_AUDIOFILE="no")
689   if test "x$HAVE_AUDIOFILE" = "xno"; then
690     GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
691     dnl we need this function
692     AC_CHECK_LIB(audiofile, afOpenVirtualFile, , HAVE_AUDIOFILE="no")
693   fi])
694
695 dnl *** CDParanoia ***
696 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
697 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
698   GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, 
699                       cdda_open, -lm, 
700                       cdda_interface.h, 
701                       CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
702                       HEADER_DIR="no"
703                       FOUND_CDPARANOIA="yes")
704   if test "x$FOUND_CDPARANOIA" != "xyes";
705   then
706     GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, 
707                         cdda_open, -lm, 
708                         cdda/cdda_interface.h, 
709                         CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
710                         HEADER_DIR="yes"
711                         FOUND_CDPARANOIA="yes")
712   fi
713   if test "x$HEADER_DIR" = "xyes";
714   then
715     AC_DEFINE_UNQUOTED(CDPARANOIA_HEADERS_IN_DIR, ,
716                        defined if cdda headers are in a cdda/ directory)
717   fi
718   AC_SUBST(CDPARANOIA_LIBS)
719 ])
720 dnl FIXME : add second check somehow if that is necessary
721 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
722 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
723
724 dnl *** DIVX ***
725 translit(dnm, m, l) AM_CONDITIONAL(USE_DIVX, true)
726 GST_CHECK_FEATURE(DIVX, [divx plugins], divx, [
727   HAVE_DIVX=yes
728   AC_CHECK_HEADER(encore2.h, ,
729                   [ AC_MSG_WARN([Divx4linux encore headers not found]) &&
730                     HAVE_DIVX=no ] )
731   if [ test x$HAVE_DIVX = xyes ]; then
732     AC_MSG_CHECKING([Checking for valid divx4linux encore version])
733     AC_TRY_COMPILE([
734 #include <encore2.h>
735 #if ENCORE_VERSION != 20021024
736 #error Wrong version of divx encore libraries
737 #endif
738     ], [
739 return 0;
740     ], [ HAVE_DIVX=yes && AC_MSG_RESULT(yes)],
741        [ HAVE_DIVX=no  && AC_MSG_RESULT(no) &&
742          AC_MSG_WARN([Wrong version of divx4linux installed]) ])
743   fi
744   if [ test x$HAVE_DIVX = xyes ]; then
745     AC_CHECK_HEADER(decore.h, ,
746                     [ AC_MSG_WARN([Divx4linux decoder headers not found]) &&
747                       HAVE_DIVX=no ] )
748   fi
749   if [ test x$HAVE_DIVX = xyes ]; then
750     AC_MSG_CHECKING([Checking for valid divx4linux decore version])
751     AC_TRY_COMPILE([
752 #include <decore.h>
753 #if DECORE_VERSION != 20021112
754 #error Wrong version of divx decore libraries
755 #endif
756     ], [
757 return 0;
758     ], [ HAVE_DIVX=yes && AC_MSG_RESULT(yes)],
759        [ HAVE_DIVX=no  && AC_MSG_RESULT(no) &&
760          AC_MSG_WARN([Wrong version of divx4linux installed]) ])
761   fi
762   LIBS="-lm"
763   if test x$HAVE_DIVX = xyes; then
764     AC_CHECK_LIB(divxencore, encore, ,
765                  [ AC_MSG_WARN([Divx4linux encore libs not found]) &&
766                    HAVE_DIVX=no ] )
767   fi
768   if test x$HAVE_DIVX = xyes; then
769     AC_CHECK_LIB(divxdecore, decore, ,
770                  [ AC_MSG_WARN([Divx4linux decore libs not found]) &&
771                    HAVE_DIVX=no ] )
772   fi
773   if test x$HAVE_DIVX = xyes; then
774     DIVXENC_LIBS="-ldivxencore -lm"
775     DIVXDEC_LIBS="-ldivxdecore -lm"
776     AC_SUBST(DIVXENC_LIBS)
777     AC_SUBST(DIVXDEC_LIBS)
778   fi
779 ])
780
781 dnl *** dvdread ***
782 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
783 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdreadsrc, [
784   GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
785   AC_SUBST(DVDREAD_LIBS)
786 ])
787
788 dnl *** dvdnav ***
789 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDNAV, true)
790 GST_CHECK_FEATURE(DVDNAV, [dvdnav library], dvdnavsrc, [
791   translit(dnm, m, l) AC_SUBST(DVDNAV_LIBS)
792   translit(dnm, m, l) AC_SUBST(DVDNAV_CFLAGS)
793   GST_CHECK_CONFIGPROG(DVDNAV, dvdnav-config)
794   if test x"$HAVE_DVDNAV" = x"yes"; then
795     dnl check version
796     DVDNAV_VERSION=`dvdnav-config --version|head -n 1|sed 's/^.*) //'|sed 's/ (.*)//'`
797     DVDNAV_MAJOR=`echo $DVDNAV_VERSION | cut -d. -f1 | sed s/[a-zA-Z\-].*//g`
798     DVDNAV_MINOR=`echo $DVDNAV_VERSION | cut -d. -f2 | sed s/[a-zA-Z\-].*//g`
799     DVDNAV_MICRO=`echo $DVDNAV_VERSION | cut -d. -f3 | sed s/[a-zA-Z\-].*//g`
800     if [[ "$DVDNAV_MAJOR" -eq "0" ]] && \
801        [[ "$DVDNAV_MINOR" -lt "1" ]]; then
802       AC_MSG_WARN([libdvdnav >= 0.1.7 is required, you have $DVDNAV_VERSION])
803       HAVE_DVDNAV="no"
804     elif [[ "$DVDNAV_MAJOR" -eq "0" ]] && \
805          [[ "$DVDNAV_MINOR" -eq "1" ]] && \
806          [[ "$DVDNAV_MICRO" -lt "7" ]]; then
807       AC_MSG_WARN([libdvdnav >= 0.1.7 is required, you have $DVDNAV_VERSION])
808       HAVE_DVDNAV="no"
809       fi
810     fi
811   AS_SCRUB_INCLUDE(DVDNAV_CFLAGS)
812 ])
813
814 dnl **** ESound ****
815 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
816 GST_CHECK_FEATURE(ESD, [esound plug-ins], esdsink esdmon, [
817   AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
818   AS_SCRUB_INCLUDE(ESD_CFLAGS)
819 ])
820
821 dnl **** Free AAC Encoder (FAAC) ****
822 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAC, true)
823 GST_CHECK_FEATURE(FAAC, [AAC encoder plug-in], faac, [
824   GST_CHECK_LIBHEADER(FAAC, faac, faacEncOpen, -lm, faac.h, FAAC_LIBS="-lfaac -lm")
825   AS_SCRUB_INCLUDE(FAAC_CFLAGS)
826   AC_SUBST(FAAC_LIBS)
827 ])
828
829 dnl **** Free AAC Decoder (FAAD) ****
830 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAD, true)
831 GST_CHECK_FEATURE(FAAD, [AAC decoder plug-in], faad, [
832   GST_CHECK_LIBHEADER(FAAD, faad, faacDecOpen, -lm, faad.h, FAAD_LIBS="-lfaad -lm")
833   AC_MSG_CHECKING([Checking for FAAD >= 2])
834   AC_TRY_COMPILE([
835 #include <faad.h>
836 #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
837 #error Not faad2
838 #endif
839   ], [ return 0; ],
840      [ HAVE_FAAD="yes" && AC_MSG_RESULT(yes)],
841      [ HAVE_FAAD="no"  && AC_MSG_RESULT(no)])
842   AS_SCRUB_INCLUDE(FAAD_CFLAGS)
843   AC_SUBST(FAAD_LIBS)
844 ])
845
846 dnl **** festival ****
847 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_FESTIVAL, true)
848 dnl GST_CHECK_FEATURE(FESTIVAL, [festival plug-ins], festivalsrc, [
849   dnl NOTE: just using local net connection now, add this lib check
850   dnl       in the future if needed
851   dnl AC_LANG_PUSH(C++)
852   dnl dnl FIXME: took out func to check for
853   dnl dnl This check puts festival_tidy_up in extern "C".
854   dnl dnl But, at least on Debian as of 20020110, it is compiled with name
855   dnl dnl mangling C++ nonsense and symbols can't resolve
856   dnl dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, festival_tidy_up, , festival/festival.h, FESTIVAL_LIBS="-lFestival")
857   dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, , , festival/festival.h, FESTIVAL_LIBS="-lFestival")
858   dnl AC_LANG_POP(C++)
859   dnl AC_SUBST(FESTIVAL_LIBS)
860 dnl  HAVE_FESTIVAL=yes
861 dnl])
862
863 dnl *** FLAC ***
864 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
865 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
866   GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__seekable_stream_encoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
867   AC_SUBST(FLAC_LIBS)
868 ])
869
870 dnl *** GDK pixbuf ***
871 translit(dnm, m, l) AM_CONDITIONAL(USE_GDK_PIXBUF, true)
872 GST_CHECK_FEATURE(GDK_PIXBUF, [GDK pixbuf], gdkpixbufsrc, [
873   if test $HAVE_GTK_22 = "yes"; then HAVE_GDK_PIXBUF=yes; fi;
874 ])
875
876 dnl *** Gnome VFS ***
877 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
878 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
879   PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0, HAVE_GNOME_VFS="yes", HAVE_GNOME_VFS="no")
880   AC_SUBST(GNOME_VFS_CFLAGS)
881   AC_SUBST(GNOME_VFS_LIBS)
882 ])
883
884 dnl *** gsm ***
885 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
886 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
887   GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
888   if test $HAVE_GSM != "yes"; then
889     GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
890     if test $HAVE_GSM = "yes"; then 
891       AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
892     fi
893   fi
894   AC_SUBST(GSM_LIBS)
895 ])
896
897 dnl *** Hermes ***
898 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
899 GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
900   GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
901 ], AC_SUBST(HERMES_LIBS))
902
903 dnl *** http ***
904 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
905 dnl GST_CHECK_FEATURE(HTTP, [http plug-ins], gsthttpsrc, [
906 dnl  dnl FIXME: need to check for header
907 dnl  GHTTP_LIBS=
908 dnl  GST_HTTPSRC_GET_TYPE=
909 dnl  if test x$USE_GLIB2 = xyes; then
910 dnl    AC_MSG_WARN(ghttp disabled for glib2.0)
911 dnl  else
912 dnl    AC_CHECK_LIB(ghttp, ghttp_request_new,
913 dnl      [HTTP_LIBS="-lghttp"
914 dnl       GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
915 dnl       HAVE_HTTP=yes
916 dnl      ], :, $LIBS)
917 dnl  fi
918 dnl  AC_SUBST(HTTP_LIBS)
919 dnl  AC_SUBST(GST_HTTPSRC_GET_TYPE)
920 dnl ])
921
922 dnl *** ivorbis ***
923 dnl AM_PATH_IVORBIS only takes two options
924 translit(dnm, m, l) AM_CONDITIONAL(USE_IVORBIS, true)
925 GST_CHECK_FEATURE(IVORBIS, [integer vorbis plug-in], ivorbisdec, [
926   IVORBIS_LIBS=
927   IVORBIS_CFLAGS=
928   AC_CHECK_LIB(vorbisidec, vorbis_block_init,
929     [IVORBIS_LIBS=-lvorbisidec
930      HAVE_IVORBIS=yes],
931     HAVE_IVORBIS=no)
932   AC_SUBST(IVORBIS_LIBS)
933   AC_SUBST(IVORBIS_CFLAGS)
934 ])
935
936 dnl *** Jack ***
937 translit(dnm, m, l) AM_CONDITIONAL(USE_JACK, true)
938 GST_CHECK_FEATURE(JACK, Jack, jack, [
939   PKG_CHECK_MODULES(JACK, jack >= 0.29.0, HAVE_JACK="yes", HAVE_JACK="no")
940   AC_SUBST(JACK_CFLAGS)
941   AC_SUBST(JACK_LIBS)
942 ])
943
944 dnl *** jpeg ***
945 dnl FIXME: we could use header checks here as well IMO
946 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
947 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
948   AC_ARG_WITH(jpeg-mmx,
949     [  --with-jpeg-mmx, path to MMX'ified JPEG library])
950   OLD_LIBS="$LIBS"
951   if test x$with_jpeg_mmx != x; then
952     LIBS="$LIBS -L$with_jpeg_mmx"
953   fi
954   AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
955   JPEG_LIBS="$LIBS -ljpeg-mmx"
956   LIBS="$OLD_LIBS"
957   if test x$HAVE_JPEG != xyes; then
958     AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
959     JPEG_LIBS="-ljpeg"
960   fi
961   AC_SUBST(JPEG_LIBS)
962 ])
963
964 dnl *** ladspa ***
965 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
966 GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
967   AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
968 ])
969
970 dnl *** lame ***
971 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
972 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
973   GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, HAVE_LAME="yes" LAME_LIBS="-lmp3lame")
974 ])
975 AC_SUBST(LAME_LIBS)
976
977 dnl *** libcolorspace ***
978 translit(dnm, m, l) AM_CONDITIONAL(USE_LCS, true)
979 GST_CHECK_FEATURE(LCS, Lcs, lcs, [
980   PKG_CHECK_MODULES(LCS, lcs, HAVE_LCS="yes", HAVE_LCS="no")
981   AC_SUBST(LCS_CFLAGS)
982   AC_SUBST(LCS_LIBS)
983 ])
984
985 dnl *** libdv ***
986 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDV, true)
987 GST_CHECK_FEATURE(LIBDV, [libdv DV/video decoder], dvdec, [
988   PKG_CHECK_MODULES(LIBDV, libdv >= 0.98, HAVE_LIBDV="yes", HAVE_LIBDV="no")
989   AC_SUBST(LIBDV_CFLAGS)
990   AC_SUBST(LIBDV_LIBS)
991 ])
992
993 dnl *** libcaca ***
994 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBCACA, true)
995 GST_CHECK_FEATURE(LIBCACA, [libcaca], libcaca, [
996   GST_CHECK_CONFIGPROG(LIBCACA, caca-config)
997   AC_SUBST(LIBCACA_CFLAGS)
998   AC_SUBST(LIBCACA_LIBS)
999 ])
1000
1001 dnl *** libfame ***
1002 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBFAME, true)
1003 GST_CHECK_FEATURE(LIBFAME, [libfame MPEG1/4 encoder], libfame, [
1004   AM_PATH_LIBFAME(0.9.0, HAVE_LIBFAME="yes", HAVE_LIBFAME="no")
1005   AC_SUBST(LIBFAME_CFLAGS)
1006   AC_SUBST(LIBFAME_LIBS)
1007 ])
1008
1009 dnl *** libpng ***
1010 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
1011 GST_CHECK_FEATURE(LIBPNG, [libpng PNG encoder], pngenc, [
1012   PKG_CHECK_MODULES(LIBPNG, libpng12, HAVE_LIBPNG="yes", HAVE_LIBPNG="no")
1013   AC_SUBST(LIBPNG_CFLAGS)
1014   AC_SUBST(LIBPNG_LIBS)
1015 ])
1016
1017 dnl *** librfb ***
1018 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBRFB, true)
1019 GST_CHECK_FEATURE(LIBRFB, [librfb Remote Framebuffer], rfbsrc, [
1020   PKG_CHECK_MODULES(LIBRFB, librfb-0.1, HAVE_LIBRFB="yes", HAVE_LIBRFB="no")
1021   AC_SUBST(LIBRFB_CFLAGS)
1022   AC_SUBST(LIBRFB_LIBS)
1023 ])
1024
1025 dnl *** mad ***
1026 dnl FIXME: we could use header checks here as well IMO
1027 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
1028 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
1029   dnl check with pkg-config first
1030   PKG_CHECK_MODULES(MAD, mad >= 0.15 id3tag >= 0.15, HAVE_MAD="yes", HAVE_MAD="no")
1031   if test "x$HAVE_MAD" = "xno"; then
1032     dnl fall back to oldskool detection
1033     AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
1034     if test "x$HAVE_MAD" = "xyes"; then
1035       HAVE_MAD="no"
1036       save_libs=$LIBS
1037       LIBS="-lz"
1038       AC_CHECK_LIB(id3tag, id3_tag_options, HAVE_MAD="yes" MAD_LIBS="-lmad -lid3tag -lz")
1039       LIBS=$save_LIBS
1040     fi
1041   fi    
1042 ])
1043 AC_SUBST(MAD_LIBS)
1044
1045 dnl *** mikmod ***
1046 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
1047 GST_CHECK_FEATURE(MIKMOD, [mikmod plug-in], mikmod, [
1048   AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
1049   AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
1050   AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
1051 ])
1052
1053 dnl *** mpeg2dec ***
1054 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
1055 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
1056   PKG_CHECK_MODULES(MPEG2DEC, libmpeg2 >= 0.3.1,
1057       HAVE_MPEG2DEC="yes", HAVE_MPEG2DEC="no")
1058   AC_SUBST(MPEG2DEC_CFLAGS)
1059   AC_SUBST(MPEG2DEC_LIBS)
1060 ])
1061
1062 dnl *** mpeg2enc ***
1063 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2ENC, true)
1064 GST_CHECK_FEATURE(MPEG2ENC, [mpeg2enc], mpeg2enc, [
1065   HAVE_MPEG2ENC="no"
1066   dnl we require a c++ compiler for this one
1067   if [ test x$HAVE_CXX = xyes ]; then
1068     dnl libmpeg2enc was first included in mjpegtools-1.6.2-rc3 (1.6.1.92)
1069     dnl since many distros include mjpegtools specifically without mplex
1070     dnl and mpeg2enc, we check for mpeg2enc on its own, too.
1071     PKG_CHECK_MODULES(MPEG2ENC, mjpegtools >= 1.6.1.93, [
1072       dnl switch over to c++ to test things
1073       AC_LANG_CPLUSPLUS
1074       OLD_CPPFLAGS="$CPPFLAGS"
1075       CPPFLAGS="$CPPFLAGS $MPEG2ENC_CFLAGS"
1076       AC_CHECK_HEADER(mpeg2encoder.hh, [
1077         MPEG2ENC_LIBS="$MPEG2ENC_LIBS -lmpeg2encpp -lm -lpthread"
1078         OLD_LIBS="$LIBS"
1079         LIBS="$LIBS $MPEG2ENC_LIBS"
1080         AC_MSG_CHECKING([for valid mpeg2enc objects])
1081         AC_TRY_RUN([
1082 #include <mpeg2encoder.hh>
1083 #include <mpeg2encoptions.hh>
1084
1085 int
1086 main (int   argc,
1087       char *argv[])
1088 {
1089   MPEG2EncOptions *options = new MPEG2EncOptions ();
1090   MPEG2Encoder encoder (*options);
1091   return 0;
1092 }
1093         ],[
1094           HAVE_MPEG2ENC="yes"
1095           AC_SUBST(MPEG2ENC_CFLAGS)
1096           AC_SUBST(MPEG2ENC_LIBS)
1097           AC_MSG_RESULT(yes)
1098         ], AC_MSG_RESULT(no))
1099         LIBS="$OLD_LIBS"
1100       ])
1101       CPPFLAGS="$OLD_CPPFLAGS"
1102       AC_LANG_C
1103     ],
1104     HAVE_MPEG2ENC="no")
1105   fi
1106 ])
1107
1108 dnl *** mplex ***
1109 translit(dnm, m, l) AM_CONDITIONAL(USE_MPLEX, true)
1110 GST_CHECK_FEATURE(MPLEX, [mplex], mplex, [
1111   HAVE_MPLEX="no"
1112   dnl we require a c++ compiler for this one
1113   if [ test x$HAVE_CXX = xyes ]; then
1114     dnl libmplex was first included in mjpegtools-1.6.2-rc4 (1.6.1.93)
1115     dnl since many distros include mjpegtools specifically without mplex
1116     dnl and mpeg2enc, we check for mplex on its own, too.
1117     PKG_CHECK_MODULES(MPLEX, mjpegtools >= 1.6.1.93, [
1118       dnl switch over to c++ to test things
1119       AC_LANG_CPLUSPLUS
1120       OLD_CPPFLAGS="$CPPFLAGS"
1121       CPPFLAGS="$CPPFLAGS $MPLEX_CFLAGS"
1122       AC_CHECK_HEADER(interact.hpp, [
1123         MPLEX_LIBS="$MPLEX_LIBS -lmplex2 -lm"
1124         OLD_LIBS="$LIBS"
1125         LIBS="$LIBS $MPLEX_LIBS"
1126         AC_MSG_CHECKING([for valid mplex objects])
1127         AC_TRY_RUN([
1128 #include <interact.hpp>
1129 #include <outputstrm.hpp>
1130 #include <multiplexor.hpp>
1131
1132 int
1133 main (int   argc,
1134       char *argv[])
1135 {
1136   class TestOutputStream : public OutputStream {
1137   public:
1138     TestOutputStream () : OutputStream () { }
1139     void Write (uint8_t *a, unsigned int b) { }
1140     void NextSegment () { }
1141     off_t SegmentSize () { }
1142     void Close () { }
1143     int Open () { }
1144   };
1145   MultiplexJob *job = new MultiplexJob ();
1146   vector<IBitStream *> inputs;
1147   job->SetupInputStreams (inputs);
1148   TestOutputStream *out = new TestOutputStream ();
1149   Multiplexor mux (*job, *out);
1150   return 0;
1151 }
1152         ],[
1153           HAVE_MPLEX="yes"
1154           AC_SUBST(MPLEX_CFLAGS)
1155           AC_SUBST(MPLEX_LIBS)
1156           AC_MSG_RESULT(yes)
1157         ], AC_MSG_RESULT(no))
1158         LIBS="$OLD_LIBS"
1159       ])
1160       CPPFLAGS="$OLD_CPPFLAGS"
1161       AC_LANG_C
1162     ], HAVE_MPLEX="no")
1163   fi
1164 ])
1165
1166 dnl *** musicbrainz ***
1167 dnl libmusicbrainz <= 2.0.2 has symbol clashes with ffmpeg
1168 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSICBRAINZ, true)
1169 GST_CHECK_FEATURE(MUSICBRAINZ, [musicbrainz], musicbrainz, [
1170   PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz > 2.0.2,
1171       HAVE_MUSICBRAINZ="yes", HAVE_MUSICBRAINZ="no")
1172   AC_SUBST(MUSICBRAINZ_CFLAGS)
1173   AC_SUBST(MUSICBRAINZ_LIBS)
1174 ])
1175
1176 dnl *** nas ***
1177 translit(dnm, m, l) AM_CONDITIONAL(USE_NAS, true)
1178 GST_CHECK_FEATURE(NAS, [nas plug-in], nassink, [
1179   HAVE_NAS="no"
1180   if test "x$HAVE_X" = "xyes"; then
1181     save_cppflags=$CFLAGS
1182     CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1183     GST_CHECK_LIBHEADER(NAS, audio, AuOpenServer, $X_LIBS, audio/audiolib.h,
1184       NAS_LIBS="$X_LIBS -laudio" NAS_CFLAGS="$X_CFLAGS")
1185     CPPFLAGS="$save_cppflags"
1186   fi
1187   AC_SUBST(NAS_CFLAGS)
1188   AC_SUBST(NAS_LIBS)
1189 ])
1190
1191 dnl *** pango ***
1192 translit(dnm, m, l) AM_CONDITIONAL(USE_PANGO, true)
1193 GST_CHECK_FEATURE(PANGO, [pango], pango, [
1194   PKG_CHECK_MODULES(PANGO, pango pangoft2,
1195       HAVE_PANGO="yes", HAVE_PANGO="no")
1196   AC_SUBST(PANGO_CFLAGS)
1197   AC_SUBST(PANGO_LIBS)
1198 ])
1199
1200 dnl *** raw1394 ***
1201 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
1202 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
1203   GST_CHECK_LIBHEADER(RAW1394, raw1394, raw1394_new_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-lraw1394")
1204   AC_SUBST(RAW1394_LIBS)
1205 ])
1206
1207 dnl *** SDL ***
1208 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
1209 GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink, [
1210   dnl sdlvideosink depends on the xoverlay interface, which depends on X
1211   if test x$HAVE_X = xyes; then
1212     AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
1213   fi
1214 ])
1215
1216 dnl *** shout ***
1217 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
1218 GST_CHECK_FEATURE(SHOUT, [shout plug-in], icecastsend, [
1219   GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
1220   AC_SUBST(SHOUT_LIBS)
1221 ])
1222
1223 dnl *** shout2 *** 
1224 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT2, true)
1225 GST_CHECK_FEATURE(SHOUT2, [shout2 plug-in], shout2send, [
1226   AM_PATH_SHOUT2(HAVE_SHOUT2=yes, HAVE_SHOUT2=no)
1227   AC_SUBST(SHOUT2_CFLAGS)
1228   AC_SUBST(SHOUT2_LIBS)
1229 ])
1230
1231 dnl *** sidplay ***
1232 translit(dnm, m, l) AM_CONDITIONAL(USE_SIDPLAY, true)
1233 GST_CHECK_FEATURE(SIDPLAY, [sidplay plug-in], sidplay, [
1234   GST_PATH_SIDPLAY()
1235 ])
1236
1237 dnl *** smoothwave ***
1238 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHWAVE, true)
1239 GST_CHECK_FEATURE(SMOOTHWAVE, [smoothwave plug-in], smoothwave, [
1240   if test $HAVE_GTK = "yes"; then HAVE_SMOOTHWAVE=yes; fi;
1241 ])
1242
1243
1244 dnl *** snapshot ***
1245 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
1246 GST_CHECK_FEATURE(LIBPNG, [snapshot plug-in], snapshot, [
1247   GST_CHECK_LIBHEADER(LIBPNG, png, png_read_info, -lz -lm, png.h, LIBPNG_LIBS="-lpng -lz -lm")
1248   AC_SUBST(LIBPNG_LIBS)
1249 ])
1250
1251 dnl *** speex ***
1252 translit(dnm, m, l) AM_CONDITIONAL(USE_SPEEX, true)
1253 GST_CHECK_FEATURE(SPEEX, [speex plug-in], speex, [
1254   GST_CHECK_LIBHEADER(SPEEX, speex, speex_bits_init, , speex.h, HAVE_SPEEX="yes" SPEEX_LIBS="-lspeex")
1255   AC_SUBST(SPEEX_CFLAGS)
1256   AC_SUBST(SPEEX_LIBS)
1257 ])
1258
1259 dnl *** sndfile ***
1260 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDFILE, true)
1261 GST_CHECK_FEATURE(SNDFILE, [sndfile plug-in], sfsrc sfsink, [
1262   PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.0, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")
1263   AC_SUBST(SNDFILE_CFLAGS)
1264   AC_SUBST(SNDFILE_LIBS)
1265 ])
1266
1267 dnl *** swfdec ***
1268 translit(dnm, m, l) AM_CONDITIONAL(USE_SWFDEC, true)
1269 GST_CHECK_FEATURE(SWFDEC, [swfdec plug-in], swfdec, [
1270   PKG_CHECK_MODULES(SWFDEC, swfdec >= 0.1.3.1, HAVE_SWFDEC=yes, HAVE_SWFDEC=no)
1271   AC_SUBST(SWFDEC_CFLAGS)
1272   AC_SUBST(SWFDEC_LIBS)
1273 ])
1274
1275 dnl *** tarkin ***
1276 dnl for now the sources are included in the plug-in
1277 dnl and should be moved to ext-libs/ perhaps
1278 translit(dnm, m, l) AM_CONDITIONAL(USE_TARKIN, true)
1279 GST_CHECK_FEATURE(TARKIN, [tarkinenc tarkindec], tarkin, [
1280   HAVE_TARKIN="yes"
1281 ])
1282
1283 dnl *** ogg ***
1284 translit(dnm, m, l) AM_CONDITIONAL(USE_OGG, true)
1285 GST_CHECK_FEATURE(OGG, [ogg de/encoder], oggdemux oggmux, [
1286   XIPH_PATH_OGG(HAVE_OGG=yes, HAVE_OGG=no)
1287   AS_SCRUB_INCLUDE(OGG_CFLAGS)
1288 ])
1289
1290 dnl *** theora ***
1291 dnl FIXME: theora doesn't have proper pc/m4 files yet, change this when this happens
1292 translit(dnm, m, l) AM_CONDITIONAL(USE_THEORA, true)
1293 GST_CHECK_FEATURE(THEORA, [ogg theora codec], theoradec, [
1294   GST_CHECK_LIBHEADER(THEORA, theora, theora_version_string, , theora/theora.h, THEORA_LIBS="-ltheora")
1295   AC_SUBST(THEORA_LIBS)
1296 ])
1297
1298 dnl *** vorbis ***
1299 dnl AM_PATH_VORBIS only takes two options
1300 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
1301 GST_CHECK_FEATURE(VORBIS, [vorbis plug-in], vorbisenc vorbisdec, [
1302   XIPH_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
1303   AS_SCRUB_INCLUDE(VORBIS_CFLAGS)
1304 ])
1305 if test "x$HAVE_VORBIS" = "xyes"; then
1306   ac_cflags_save="$CFLAGS"
1307   CFLAGS="-Wall -Werror"
1308   AC_COMPILE_IFELSE(
1309     AC_LANG_PROGRAM([
1310 #include <vorbis/codec.h>
1311                      ],[
1312 vorbis_dsp_state *v;
1313
1314 vorbis_synthesis_restart (v);
1315                      ]), HAVE_VSR=yes, HAVE_VSR=no)
1316   if test "x$HAVE_VSR" = "xyes"; then
1317     AC_DEFINE_UNQUOTED(HAVE_VORBIS_SYNTHESIS_RESTART, 1,
1318                        [defined if vorbis_synthesis_restart is present])
1319   fi
1320   CFLAGS="$ac_cflags_save"
1321 fi
1322
1323 dnl *** xine ***
1324 translit(dnm, m, l) AM_CONDITIONAL(USE_XINE, true)
1325 GST_CHECK_FEATURE(XINE, [xine wrapper], xine, [
1326   PKG_CHECK_MODULES(XINE, libxine >= 1.0.0, HAVE_XINE=yes, HAVE_XINE=no)
1327   AC_SUBST(XINE_CFLAGS)
1328   AC_SUBST(XINE_LIBS)
1329 ],disabled)
1330
1331 dnl *** XVID ***
1332 translit(dnm, m, l) AM_CONDITIONAL(USE_XVID, true)
1333 GST_CHECK_FEATURE(XVID, [xvid plugins], xvid, [
1334   HAVE_XVID=no
1335   AC_CHECK_HEADER(xvid.h, [
1336     OLD_LIBS="$LIBS"
1337     LIBS="-lm"
1338     AC_CHECK_LIB(xvidcore, xvid_encore, [
1339       AC_CHECK_LIB(xvidcore, xvid_decore, [
1340         AC_CHECK_LIB(xvidcore, xvid_global, [
1341           AC_MSG_CHECKING([for uptodate XviD API version])
1342           AC_TRY_RUN([
1343 #include <xvid.h>
1344 #if XVID_API != XVID_MAKE_API(4,0)
1345 #error "Incompatible XviD API version"
1346 #endif
1347 int main () { return 0; }
1348           ],[ AC_MSG_RESULT(yes)
1349             XVID_LIBS="-lxvidcore -lm"
1350             AC_SUBST(XVID_LIBS)
1351             HAVE_XVID=yes
1352           ], AC_MSG_RESULT(no) )
1353         ], )
1354       ], )
1355     ], )
1356     LIBS="$OLD_LIBS"
1357   ], )
1358 ])
1359
1360
1361 fi dnl of EXT plugins
1362
1363 dnl Check for atomic.h
1364 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
1365 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
1366 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
1367 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
1368 if test x$HAVE_ATOMIC_H = xyes; then
1369   AC_TRY_RUN([
1370 #include "asm/atomic.h"
1371 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
1372   ],, [
1373     # Not successful
1374     if test x$HAVE_ATOMIC_H = xyes; then
1375       AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
1376     fi
1377     HAVE_ATOMIC_H=no
1378   ], [
1379     # Cross compiling
1380     AC_MSG_RESULT(yes)
1381     AC_MSG_WARN(Can't check properly for atomic reference counting.  Assuming OK.)
1382   ])
1383 fi
1384
1385
1386 dnl ######################################################################
1387 dnl # Check command line parameters, and set shell variables accordingly #
1388 dnl ######################################################################
1389
1390 AC_ARG_ENABLE(libmmx,
1391   AC_HELP_STRING([--enable-libmmx],[use libmmx, if available]),
1392 [case "${enableval}" in
1393   yes) USE_LIBMMX=$HAVE_LIBMMX ;;
1394   no)  USE_LIBMMX=no ;;
1395   *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
1396 esac], 
1397 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
1398
1399 AC_ARG_ENABLE(atomic,
1400   AC_HELP_STRING([--enable-atomic],[use atomic reference counting header]),
1401 [case "${enableval}" in
1402   yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
1403   noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
1404   no)  USE_ATOMIC_H=no;;
1405   *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
1406 esac], 
1407 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
1408
1409 AC_ARG_ENABLE(profiling,
1410   AC_HELP_STRING([--enable-profiling],
1411                  [-pg to compiler commandline, for profiling]),
1412 [case "${enableval}" in
1413   yes) USE_PROFILING=yes ;;
1414   no)  UES_PROFILING=no ;;
1415   *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
1416 esac], 
1417 [USE_PROFILING=no]) dnl Default value
1418
1419 AC_ARG_ENABLE(tests,
1420   AC_HELP_STRING([--disable-tests],[disable building test apps]),
1421 [case "${enableval}" in
1422   yes) BUILD_TESTS=yes ;;
1423   no)  BUILD_TESTS=no ;;
1424   *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
1425 esac], 
1426 [BUILD_TESTS=yes]) dnl Default value
1427
1428 AC_ARG_ENABLE(examples,
1429   AC_HELP_STRING([--disable-examples],[disable building examples]),
1430 [case "${enableval}" in
1431   yes) BUILD_EXAMPLES=yes ;;
1432   no)  BUILD_EXAMPLES=no ;;
1433   *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
1434 esac], 
1435 [BUILD_EXAMPLES=yes]) dnl Default value
1436
1437 dnl seeking needs freetype, so check for it here
1438 AC_CHECK_FT2(2.0.9,HAVE_FT2=yes,HAVE_FT2=no)
1439 dnl make the HAVE_FT2 variable available to automake and Makefile.am
1440 AM_CONDITIONAL(HAVE_FT2, test "x$HAVE_FT2" = "xyes")
1441 AC_SUBST(FT2_CFLAGS)
1442 AC_SUBST(FT2_LIBS)
1443
1444 dnl ################################################
1445 dnl # Set defines according to variables set above #
1446 dnl ################################################
1447
1448
1449 if test "x$USE_LIBMMX" = xyes; then
1450   AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
1451 fi
1452
1453 if test "x$USE_ATOMIC_H" = xyes; then
1454   AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
1455 fi
1456
1457 # do not use deprecated stuff
1458 GST_CFLAGS="$GST_CFLAGS -DGST_DISABLE_DEPRECATED"
1459
1460 if test "x$USE_DEBUG" = xyes; then
1461   GST_CFLAGS="$GST_CFLAGS -g"
1462 fi
1463
1464 dnl #############################
1465 dnl # Set automake conditionals #
1466 dnl #############################
1467
1468 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
1469 dnl HAVE_ and it is likely to be easier to stick with the old name
1470 AM_CONDITIONAL(HAVE_LIBMMX,         test "x$USE_LIBMMX" = "xyes")
1471
1472 AM_CONDITIONAL(HAVE_ATOMIC_H,       test "x$USE_ATOMIC_H" = "xyes")
1473
1474 AM_CONDITIONAL(EXPERIMENTAL,        test "$EXPERIMENTAL" = "$xyes")
1475 AM_CONDITIONAL(BROKEN,              test "$BROKEN" = "$xyes")
1476
1477 AM_CONDITIONAL(HAVE_NASM,           test "x$HAVE_NASM" = "xyes")
1478 AM_CONDITIONAL(HAVE_GTK,            test "x$HAVE_GTK" = "xyes")
1479 AM_CONDITIONAL(HAVE_GTK_DOC,        $HAVE_GTK_DOC)
1480 AM_CONDITIONAL(BUILD_DOCS,          test "x$BUILD_DOCS" = "xyes")
1481 AM_CONDITIONAL(BUILD_TESTS,         test "x$BUILD_TESTS" = "xyes")
1482 AM_CONDITIONAL(BUILD_EXAMPLES,      test "x$BUILD_EXAMPLES" = "xyes")
1483 AM_CONDITIONAL(BUILD_PLUGIN_DOCS,   test "x$BUILD_PLUGIN_DOCS" = "xyes")
1484 AM_CONDITIONAL(HAVE_FIG2DEV_PNG,    $HAVE_FIG2DEV_PNG)
1485 AM_CONDITIONAL(HAVE_FIG2DEV_PDF,    $HAVE_FIG2DEV_PDF)
1486 AM_CONDITIONAL(HAVE_RAW1394,        test "x$HAVE_RAW1394" = "xyes")
1487
1488 dnl prefer internal headers to already installed ones
1489 GST_CFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GST_ERROR"
1490
1491 AC_SUBST(GST_LIBS)
1492 AC_SUBST(GST_CFLAGS)
1493
1494 dnl ###########################
1495 dnl # Configure external libs #
1496 dnl ###########################
1497
1498 dnl ############################
1499 dnl # Set up some more defines #
1500 dnl ############################
1501
1502 dnl set license and copyright notice
1503 AC_DEFINE(GST_LICENSE, "LGPL", [GStreamer license])
1504 dnl package name in plugins
1505 AC_ARG_WITH(package-name,
1506 AC_HELP_STRING([--with-package-name],[specify package name to use in plugins]),
1507 [case "${withval}" in
1508   yes) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
1509   no) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
1510   *) GST_PACKAGE="${withval}" ;;
1511 esac], 
1512 [GST_PACKAGE="GStreamer"]) dnl Default value
1513 AC_MSG_NOTICE(Using $GST_PACKAGE as package name)
1514 AC_DEFINE_UNQUOTED(GST_PACKAGE, "$GST_PACKAGE", [package name in plugins])
1515 dnl package origin URL
1516 AC_ARG_WITH(package-origin,
1517 AC_HELP_STRING([--with-package-origin],[specify package origin URL to use in plugins]),
1518 [case "${withval}" in
1519   yes) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
1520   no) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
1521   *) GST_ORIGIN="${withval}" ;;
1522 esac], 
1523 [GST_ORIGIN="http://gstreamer.net"]) dnl Default value
1524 AC_MSG_NOTICE(Using $GST_ORIGIN as package origin)
1525 AC_DEFINE_UNQUOTED(GST_ORIGIN, "$GST_ORIGIN", [package origin])
1526
1527 dnl #########################
1528 dnl # Make the output files #
1529 dnl #########################
1530
1531 AC_CONFIG_FILES(
1532 Makefile
1533 pkgconfig/gstreamer-libs.pc
1534 pkgconfig/gstreamer-libs-uninstalled.pc
1535 pkgconfig/gstreamer-play.pc
1536 pkgconfig/gstreamer-play-uninstalled.pc
1537 pkgconfig/gstreamer-interfaces.pc
1538 pkgconfig/gstreamer-interfaces-uninstalled.pc
1539 gst-libs/gst/gconf/gstreamer-gconf.pc
1540 gst-libs/gst/gconf/gstreamer-gconf-uninstalled.pc
1541 gst-plugins.spec
1542 gst/Makefile
1543 gst/ac3parse/Makefile
1544 gst/adder/Makefile
1545 gst/audioconvert/Makefile
1546 gst/audioscale/Makefile
1547 gst/auparse/Makefile
1548 gst/avi/Makefile
1549 gst/asfdemux/Makefile
1550 gst/cdxaparse/Makefile
1551 gst/chart/Makefile
1552 gst/colorspace/Makefile
1553 gst/cutter/Makefile
1554 gst/debug/Makefile
1555 gst/deinterlace/Makefile
1556 gst/effectv/Makefile
1557 gst/festival/Makefile
1558 gst/filter/Makefile
1559 gst/flx/Makefile
1560 gst/goom/Makefile
1561 gst/id3/Makefile
1562 gst/intfloat/Makefile
1563 gst/law/Makefile
1564 gst/level/Makefile
1565 gst/matroska/Makefile
1566 gst/median/Makefile
1567 gst/mixmatrix/Makefile
1568 gst/mpeg1sys/Makefile
1569 gst/mpeg1videoparse/Makefile
1570 gst/mpeg2sub/Makefile
1571 gst/mpegaudio/Makefile
1572 gst/mpegaudioparse/Makefile
1573 gst/mpegstream/Makefile
1574 gst/modplug/Makefile
1575 gst/modplug/libmodplug/Makefile
1576 gst/monoscope/Makefile
1577 gst/oneton/Makefile
1578 gst/overlay/Makefile
1579 gst/passthrough/Makefile
1580 gst/playondemand/Makefile
1581 gst/qtdemux/Makefile
1582 gst/realmedia/Makefile
1583 gst/rtjpeg/Makefile
1584 gst/rtp/Makefile
1585 gst/silence/Makefile
1586 gst/sine/Makefile
1587 gst/smooth/Makefile
1588 gst/smpte/Makefile
1589 gst/spectrum/Makefile
1590 gst/speed/Makefile
1591 gst/stereo/Makefile
1592 gst/switch/Makefile
1593 gst/synaesthesia/Makefile
1594 gst/tags/Makefile
1595 gst/tcp/Makefile
1596 gst/typefind/Makefile
1597 gst/udp/Makefile
1598 gst/vbidec/Makefile
1599 gst/videocrop/Makefile
1600 gst/videodrop/Makefile
1601 gst/videofilter/Makefile
1602 gst/videoflip/Makefile
1603 gst/videoscale/Makefile
1604 gst/videotestsrc/Makefile
1605 gst/volenv/Makefile
1606 gst/volume/Makefile
1607 gst/wavenc/Makefile
1608 gst/wavparse/Makefile
1609 gst/y4m/Makefile
1610 sys/Makefile
1611 sys/cdrom/Makefile
1612 sys/dxr3/Makefile
1613 sys/glsink/Makefile
1614 sys/oss/Makefile
1615 sys/qcam/Makefile
1616 sys/v4l/Makefile
1617 sys/v4l2/Makefile
1618 sys/vcd/Makefile
1619 sys/ximage/Makefile
1620 sys/xvimage/Makefile
1621 sys/xvideo/Makefile
1622 ext/Makefile
1623 ext/a52dec/Makefile
1624 ext/aalib/Makefile
1625 ext/alsa/Makefile
1626 ext/arts/Makefile
1627 ext/artsd/Makefile
1628 ext/audiofile/Makefile
1629 ext/cdparanoia/Makefile
1630 ext/divx/Makefile
1631 ext/dv/Makefile
1632 ext/dvdread/Makefile
1633 ext/dvdnav/Makefile
1634 ext/esd/Makefile
1635 ext/faac/Makefile
1636 ext/faad/Makefile
1637 ext/flac/Makefile
1638 ext/gdk_pixbuf/Makefile
1639 ext/gnomevfs/Makefile
1640 ext/gsm/Makefile
1641 ext/hermes/Makefile
1642 dnl ext/http/Makefile
1643 ext/jack/Makefile
1644 ext/jpeg/Makefile
1645 ext/ladspa/Makefile
1646 ext/lame/Makefile
1647 ext/ivorbis/Makefile
1648 ext/lcs/Makefile
1649 ext/libcaca/Makefile
1650 ext/libfame/Makefile
1651 ext/libpng/Makefile
1652 ext/librfb/Makefile
1653 ext/mad/Makefile
1654 ext/mikmod/Makefile
1655 ext/mpeg2dec/Makefile
1656 ext/mpeg2enc/Makefile
1657 ext/mplex/Makefile
1658 ext/musicbrainz/Makefile
1659 ext/nas/Makefile
1660 ext/ogg/Makefile
1661 ext/pango/Makefile
1662 ext/raw1394/Makefile
1663 ext/sdl/Makefile
1664 ext/shout/Makefile
1665 ext/shout2/Makefile
1666 ext/sidplay/Makefile
1667 ext/smoothwave/Makefile
1668 ext/snapshot/Makefile
1669 ext/speex/Makefile
1670 ext/sndfile/Makefile
1671 ext/swfdec/Makefile
1672 ext/tarkin/Makefile
1673 ext/theora/Makefile
1674 ext/vorbis/Makefile
1675 ext/xine/Makefile
1676 ext/xvid/Makefile
1677 gst-libs/Makefile
1678 gst-libs/gst/Makefile
1679 gst-libs/gst/audio/Makefile
1680 gst-libs/gst/colorbalance/Makefile
1681 gst-libs/gst/floatcast/Makefile
1682 gst-libs/gst/gconf/Makefile
1683 gst-libs/gst/idct/Makefile
1684 gst-libs/gst/media-info/Makefile
1685 gst-libs/gst/mixer/Makefile
1686 gst-libs/gst/navigation/Makefile
1687 gst-libs/gst/play/Makefile
1688 gst-libs/gst/propertyprobe/Makefile
1689 gst-libs/gst/resample/Makefile
1690 gst-libs/gst/riff/Makefile
1691 gst-libs/gst/tag/Makefile
1692 gst-libs/gst/tuner/Makefile
1693 gst-libs/gst/video/Makefile
1694 gst-libs/gst/xoverlay/Makefile
1695 gst-libs/gst/xwindowlistener/Makefile
1696 gst-libs/ext/Makefile
1697 examples/dynparams/Makefile
1698 examples/capsfilter/Makefile
1699 examples/seeking/Makefile
1700 examples/indexing/Makefile
1701 examples/gstplay/Makefile
1702 examples/switch/Makefile
1703 examples/Makefile
1704 testsuite/spider/Makefile
1705 testsuite/alsa/Makefile
1706 testsuite/Makefile
1707 tools/Makefile
1708 tools/gst-launch-ext
1709 gconf/Makefile
1710 pkgconfig/Makefile
1711 po/Makefile.in
1712 )
1713 AC_OUTPUT
1714
1715 echo -n "configure: *** Plug-ins that will be built :"
1716 echo -e "$GST_PLUGINS_YES" | sort
1717 echo
1718 echo -n "configure: *** Plug-ins that will not be built :"
1719 echo -e "$GST_PLUGINS_NO" | sort
1720 echo
1721 if test "x$BUILD_EXTERNAL" = "xno"; then
1722   echo "configure: *** No external plug-ins will be built"
1723 fi