Re-add int2float/float2int, someone told me audioconvert handled all this, but it...
[platform/upstream/gstreamer.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, 0, 1, GST_CVS="no", GST_CVS="yes")
16 AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
17
18 dnl our libraries and install dirs use major.minor as a version
19 GST_MAJORMINOR=$GST_PLUGINS_VERSION_MAJOR.$GST_PLUGINS_VERSION_MINOR
20 AC_SUBST(GST_MAJORMINOR)
21
22 dnl CURRENT, REVISION, AGE
23 dnl - library source changed -> increment REVISION
24 dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
25 dnl - interfaces added -> increment AGE
26 dnl - interfaces removed -> AGE = 0
27 AS_LIBTOOL(GST_PLUGINS, 1, 0, 0)
28
29 dnl FIXME take something else ?
30 AC_CONFIG_SRCDIR([gst/law/alaw.c])
31 AM_CONFIG_HEADER(config.h)
32
33 dnl Add parameters for aclocal
34 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
35 ACLOCAL_FLAGS="-I m4 -I common/m4"
36 AC_SUBST(ACLOCAL_AMFLAGS, $ACLOCAL_FLAGS)
37
38 AC_PROG_CC
39 AM_PROG_CC_STDC
40 AM_PROG_AS
41 AS="${CC}"
42
43 dnl decide on error flags
44 AS_COMPILER_FLAG(-Wall, GST_WALL="yes", GST_WALL="no")
45
46 if test "x$GST_WALL" = "xyes"; then
47    GST_ERROR="$GST_ERROR -Wall"
48
49    if test "x$GST_CVS" = "xyes"; then
50      AS_COMPILER_FLAG(-Werror,GST_ERROR="$GST_ERROR -Werror",GST_ERROR="$GST_ERROR")
51    fi
52
53    dnl set gcc-style optimization flags if using the gnu compiler.
54    GST_FUNROLL_CFLAGS="$GST_FUNROLL_CFLAGS -funroll-all-loops"
55    GST_FINLINE_CFLAGS="$GST_FINLINE_CFLAGS -finline-functions"
56    GST_FFASTMATH_CFLAGS="$GST_FFASTMATH_CFLAGS -ffast-math"
57    GST_FSCHEDULE_CFLAGS="$GST_FSCHEDULE_CFLAGS -fschedule-insns2"
58    GST_FNOEXCEPTIONS_CFLAGS="$GST_FNOEXCEPTIONS_CFLAGS -fno-exceptions"
59 fi
60
61 dnl determine c++ compiler
62 AC_PROG_CXX
63 dnl determine if c++ is available on this system
64 AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
65 dnl determine c++ preprocessor
66 AC_PROG_CXXCPP
67 AC_ISC_POSIX
68
69 AC_HEADER_STDC([])
70
71 dnl ############################################
72 dnl # Super Duper options for plug-in building #
73 dnl ############################################
74
75 dnl ext plug-ins; plug-ins that have external dependencies
76 GST_CHECK_FEATURE(EXTERNAL, [enable building of plug-ins with external deps],,
77 [HAVE_EXTERNAL=yes],enabled,
78 [
79   AC_MSG_WARN(building external plug-ins)
80   BUILD_EXTERNAL="yes"
81 ],[
82   AC_MSG_WARN(all plug-ins with external dependencies will not be built)
83   BUILD_EXTERNAL="no"
84 ])
85 # make BUILD_EXTERNAL available to Makefile.am
86 AM_CONDITIONAL(BUILD_EXTERNAL, test "x$BUILD_EXTERNAL" = "xyes")
87
88 dnl experimental plug-ins; stuff that hasn't had the dust settle yet
89 dnl read 'builds, but might not work'UTO
90 GST_CHECK_FEATURE(EXPERIMENTAL, [enable building of experimental plug-ins],,
91 [HAVE_EXPERIMENTAL=yes],disabled,
92 [
93   AC_MSG_WARN(building experimental plug-ins)
94   USE_TARKIN="yes"
95   USE_SHOUT2="yes"
96 ],[
97   AC_MSG_NOTICE(not building experimental plug-ins)
98   USE_TARKIN="no"
99   USE_SHOUT2="no"
100 ])
101
102 dnl broken plug-ins; stuff that doesn't seem to build at the moment
103 GST_CHECK_FEATURE(BROKEN, [enable building of broken plug-ins],,
104 HAVE_BROKEN=yes,disabled,
105 [  
106   AC_MSG_WARN([building broken plug-ins -- no bug reports on these, only patches :)])
107   USE_SMOOTHWAVE="yes"
108 ],[
109   USE_SMOOTHWAVE="no"
110   AC_MSG_NOTICE([not building broken plug-ins])
111 ])
112
113 dnl ##############################
114 dnl # Do automated configuration #
115 dnl ##############################
116
117 dnl Check for tools:
118 dnl ================
119
120 dnl allow for different autotools
121 AS_AUTOTOOLS_ALTERNATE()
122
123 dnl modify pkg-config path
124 AC_ARG_WITH(pkg-config-path, 
125    AC_HELP_STRING([--with-pkg-config-path],[colon-separated list of pkg-config(1) dirs]),
126    [export PKG_CONFIG_PATH=${withval}])
127
128 dnl Check for nasm
129 AC_PATH_PROG(NASM_PATH, nasm, no)
130 AC_SUBST(NASM_PATH)
131 if test x$NASM_PATH = xno; then
132   AC_MSG_WARN(Couldn't find nasm)
133   HAVE_NASM="no"
134 else
135   AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
136   HAVE_NASM="yes"
137 fi
138
139 dnl check for gconftool-2
140 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONFTOOL, true)
141 GST_CHECK_FEATURE(GCONFTOOL, [GConf schemas], , [
142   AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
143   if test x$GCONFTOOL = xno; then
144     AC_MSG_WARN(Not installing GConf schemas)
145     HAVE_GCONFTOOL="no"
146   else
147     AM_GCONF_SOURCE_2
148     HAVE_GCONFTOOL="yes"
149   fi
150   AC_SUBST(HAVE_GCONFTOOL)
151 ])
152
153 dnl check for GConf libraries
154 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONF, true)
155 GST_CHECK_FEATURE(GCONF, [GConf libraries], , [
156   PKG_CHECK_MODULES(GCONF, gconf-2.0, HAVE_GCONF="yes", HAVE_GCONF="no")
157   AC_SUBST(GCONF_CFLAGS)
158   AC_SUBST(GCONF_LIBS)
159 ])
160
161 dnl check for gstreamer; uninstalled is selected preferentially -- see pkg-config(1)
162 PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_PLUGINS_VERSION_MAJOR.$GST_PLUGINS_VERSION_MINOR.$GST_PLUGINS_VERSION_MICRO,
163   HAVE_GST="yes", HAVE_GST="no")
164
165 if test "x$HAVE_GST" = "xno"; then
166   AC_MSG_ERROR(no GStreamer found)
167 fi
168
169 GST_TOOLS_DIR=`pkg-config --variable=toolsdir gstreamer-$GST_MAJORMINOR`
170 if test -z $GST_TOOLS_DIR; then
171   AC_MSG_ERROR([no tools dir defined in GStreamer pkg-config file; core upgrade needed.])
172 fi
173 AC_SUBST(GST_TOOLS_DIR)
174
175 dnl check for gstreamer-control; uninstalled is selected preferentially
176 PKG_CHECK_MODULES(GST_CONTROL, gstreamer-control-$GST_MAJORMINOR >= $GST_PLUGINS_VERSION_MAJOR.$GST_PLUGINS_VERSION_MINOR.$GST_PLUGINS_VERSION_MICRO,
177   HAVE_GST_CONTROL="yes", HAVE_GST_CONTROL="no")
178
179 if test "x$HAVE_GST_CONTROL" = "xno"; then
180   AC_MSG_ERROR(no GStreamer Control Libs found)
181 fi
182
183 AC_SUBST(GST_CONTROL_LIBS)
184
185
186 dnl Set up conditionals for (target) architecture:
187 dnl ==============================================
188
189 dnl Determine CPU
190 case "x${target_cpu}" in
191   xi?86 | k?) HAVE_CPU_I386=yes
192               AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
193               dnl FIXME could use some better detection
194               dnl       (ie CPUID)
195               case "x${target_cpu}" in
196                 xi386 | xi486) ;;
197                 *)             AC_DEFINE(HAVE_RDTSC, 1, [Define if RDTSC is available]) ;;
198               esac ;;
199   xpowerpc)   HAVE_CPU_PPC=yes
200               AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
201   xalpha)     HAVE_CPU_ALPHA=yes
202               AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
203   xarm*)      HAVE_CPU_ARM=yes
204               AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
205   xsparc*)    HAVE_CPU_SPARC=yes
206               AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
207   xmips*)     HAVE_CPU_MIPS=yes
208               AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
209   xhppa*)     HAVE_CPU_HPPA=yes
210               AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
211 esac
212
213 dnl Determine endianness
214 AC_C_BIGENDIAN
215
216 dnl Check for fast float to int casting as defined in C99
217 AC_C99_FUNC_LRINT()
218 AC_C99_FUNC_LRINTF()
219
220 dnl Check for essential libraries first:
221 dnl ====================================
222
223 GST_GLIB2_CHECK()
224 PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
225 GTK_CFLAGS=$GTK2_CFLAGS
226 GTK_LIBS=$GTK2_LIBS
227 AC_SUBST(GTK_LIBS)
228 AC_SUBST(GTK_CFLAGS)
229
230
231 dnl Check for X11 extensions
232 AC_PATH_XTRA
233 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
234   AC_MSG_NOTICE([cannot find X11, the build system needs fixage])
235 fi
236 AC_SUBST(X_CFLAGS)
237 AC_SUBST(X_PRE_LIBS)
238 AC_SUBST(X_EXTRA_LIBS)
239 AC_SUBST(X_LIBS)
240
241 dnl ===========================================================================
242 dnl ============================= gst plug-ins ================================
243 dnl ===========================================================================
244
245 GST_PLUGIN_LDFLAGS='-module -avoid-version'
246 AC_SUBST(GST_PLUGIN_LDFLAGS)
247
248 dnl these are all the gst plug-ins, compilable without additional libs
249 GST_PLUGINS_ALL="\
250         ac3parse adder audioscale auparse avi \
251         asfdemux audioconvert cdxaparse chart \
252         cutter debug deinterlace effectv festival \
253         filter flx goom intfloat law level median mixmatrix \
254         mpeg1enc mpeg1sys mpeg1videoparse mpeg2enc mpeg2sub \
255         mpegaudio mpegaudioparse mpegstream mpegtypes \
256         monoscope oneton passthrough playondemand qtdemux \
257         realmedia rtp rtjpeg silence sine smooth smpte \
258         spectrum speed stereo synaesthesia udp vbidec \
259         videocrop videoflip videoscale videotestsrc \
260         volenv volume wavenc wavparse y4m"
261
262 dnl see if we can build C++ plug-ins
263 if test "x$HAVE_CXX" = "xyes"; then
264   GST_PLUGINS_ALL="$GST_PLUGINS_ALL \
265                   modplug monkeyaudio"
266 else
267   AC_MSG_WARN([Not compiling plug-ins requiring C++ compiler])
268 fi
269
270 AC_SUBST(GST_PLUGINS_ALL)
271
272 GST_PLUGINS_SELECTED=""
273
274 AC_ARG_WITH(plugins,
275     AC_HELP_STRING([--with-plugins],[comma-separated list of plug-ins to compile]),
276     [for i in `echo $withval | tr , ' '`; do
277         if test -n `echo $i | grep $GST_PLUGINS_ALL`; then
278             GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
279         else
280             echo "plug-in $i not recognized, ignoring..."
281         fi
282     done],
283     [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
284
285 AC_SUBST(GST_PLUGINS_SELECTED)
286
287 dnl ==========================================================================
288 dnl ============================= sys plug-ins ================================
289 dnl ==========================================================================
290
291 dnl *** DXR3 card ***
292 translit(dnm, m, l) AM_CONDITIONAL(USE_DXR3, true)
293 GST_CHECK_FEATURE(DXR3, [DXR3 hardware MPEG DVD decoder],
294   dxr3videosink dxr3audiosink dxr3spusink, [
295   HAVE_DXR3=yes
296   AC_CHECK_HEADER(linux/em8300.h, ,
297                   [ AC_MSG_WARN([DXR3/em8300 header file not found]) &&
298                     HAVE_DXR3=no ] )
299   AC_CHECK_HEADER(linux/soundcard.h, ,
300                   [ AC_MSG_WARN([Generic sound header file not found]) &&
301                     HAVE_DXR3=no ] )
302 ])
303
304 dnl *** OSS audio ***
305 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
306 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
307   AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
308 ])
309
310 dnl *** QuickCam ***
311 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
312 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, [
313   if test "x$HAVE_CPU_I386" != "xyes";
314   then
315     HAVE_QCAM="no"
316   else
317     AC_CHECK_HEADER(sys/io.h, HAVE_QCAM="yes", HAVE_QCAM="no")
318   fi
319   if test "x$HAVE_QCAM" != "xyes";
320   then
321     AC_MSG_WARN([QuickCam only works on i386-linux])
322   fi
323 ])
324
325 dnl *** Video 4 Linux ***
326 dnl for information about the header/define, see sys/v4l/gstv4lelement.h
327 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
328 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc v4lmjpegsrc v4lmjpegsink, [
329   AC_CHECK_DECL(VID_TYPE_MPEG_ENCODER, HAVE_V4L="yes", HAVE_V4L="no", [
330 #include <sys/types.h>
331 #define _LINUX_TIME_H
332 #include <linux/videodev.h>
333   ])
334 ])
335
336 dnl *** Video 4 Linux 2***
337 dnl for information about the header/define, see sys/v4l2/gstv4l2element.h
338 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L2, true)
339 GST_CHECK_FEATURE(V4L2, [Video 4 Linux 2], v4l2src, [
340   AC_MSG_CHECKING([Checking for uptodate v4l2 installation])
341   AC_TRY_COMPILE([
342 #include <sys/types.h>
343 #include <linux/types.h>
344 #define _LINUX_TIME_H
345 #include <linux/videodev2.h>
346 #if defined(V4L2_MAJOR_VERSION) || defined(V4L2_MINOR_VERSION)
347 #error too early v4l2 version or no v4l2 at all
348 #endif
349   ], [
350 return 0;
351   ], [ HAVE_V4L2="yes" && AC_MSG_RESULT(yes)],
352      [ HAVE_V4L2="no"  && AC_MSG_RESULT(no) &&
353        AC_CHECK_HEADER(linux/videodev2.h,
354                        [ AC_MSG_WARN([video4linux2 headers were found, but they're old. Please update v4l2 to compile the v4l2 plugins])],
355                        [ AC_MSG_WARN([video4linux2 was not found])])])
356 ])
357
358 dnl *** Video CD ***
359 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
360 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
361   AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
362 ])
363
364 dnl *** CDROM Audio ***
365 translit(dnm, m, l) AM_CONDITIONAL(USE_CDROM, true)
366 GST_CHECK_FEATURE(CDROM, [CDROM Audio], cdrom, [
367   AC_CHECK_HEADERS(linux/cdrom.h) dnl linux
368   AC_CHECK_HEADERS(sys/cdio.h) dnl almost everything else
369 dnl  AC_CHECK_HEADERS(dmedia/cdaudio.h) dnl irix
370
371   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
372         case "$host" in 
373                 *-sun-* | *-*-linux*)
374                         AC_DEFINE(HAVE_CDROM_SOLARIS,, [Define if cdrom access is in Solaris style])
375                 ;;
376                 *-*-freebsd*)
377                         AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
378                 ;;
379                 *-*-netbsd* | *-*-openbsd*)
380                         AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
381                         AC_DEFINE(HAVE_CDROM_BSD_NETBSD,, [Define if cdrom access uses NetBSD variant])
382                 ;;
383                 *-*darwin*)
384                         AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
385                         AC_DEFINE(HAVE_CDROM_BSD_DARWIN,, [Define if cdrom access uses Darwin variant])
386                 ;;
387 dnl             *-irix-*)
388 dnl                     AC_DEFINE(HAVE_CDROM_IRIX,, [Define if cdrom access is in Irix DMedia style])
389 dnl             ;;
390     esac
391
392         HAVE_CDROM="yes"
393   else
394         HAVE_CDROM="no"
395   fi
396 ])
397
398 dnl *** XVideo ***
399 dnl Look for the PIC library first, Debian requires it.
400 dnl Check debian-devel archives for gory details.
401 dnl 20020110:
402 dnl At the moment XFree86 doesn't distribute shared libXv due
403 dnl to unstable API.  On many platforms you CAN NOT link a shared
404 dnl lib to a static non-PIC lib.  This is what the xvideo GStreamer
405 dnl plug-in wants to do.  So Debian distributes a PIC compiled
406 dnl version of the static lib for plug-ins to link to when it is
407 dnl inappropriate to link the main application to libXv directly.
408 dnl FIXME: add check if this platform can support linking to a
409 dnl        non-PIC libXv, if not then don not use Xv.
410 dnl FIXME: perhaps warn user if they have a shared libXv since
411 dnl        this is an error until XFree86 starts shipping one
412 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
413
414 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], xvideosink, [
415   dnl use X_CFLAGS for check
416   save_FLAGS=$CFLAGS
417   CFLAGS=$X_CFLAGS
418
419   dnl check for PIC static lib
420   GST_CHECK_LIBHEADER(XVIDEO, Xv_pic, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xv.h, XVIDEO_LIBS="-lXv_pic -lXext")
421   if test x$HAVE_XVIDEO = xno; then
422     dnl PIC lib not found, check for regular lib
423     GST_CHECK_LIBHEADER(XVIDEO, Xv, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xv.h, XVIDEO_LIBS="-lXv -lXext")
424   fi
425   AC_SUBST(XVIDEO_LIBS)
426
427   dnl restore CFLAGS
428   CFLAGS=$save_CFLAGS
429 ])
430
431 dnl Next, check for the optional libraries:
432 dnl These are all libraries used in building plug-ins
433 dnl ================================================
434 dnl let's try and sort them alphabetically, shall we ?
435
436 if test "x$BUILD_EXTERNAL" = "xyes"; then
437
438 AC_MSG_NOTICE(Checking for plug-in dependency libraries)
439
440 dnl *** a52dec ***
441 translit(dnm, m, l) AM_CONDITIONAL(USE_A52DEC, true)
442 GST_CHECK_FEATURE(A52DEC, [a52dec], a52dec, [
443   AC_CHECK_A52DEC(HAVE_A52DEC=yes, HAVE_A52DEC=no)
444 ])
445
446 dnl *** aalib ***
447 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
448 GST_CHECK_FEATURE(AALIB, [aasink plug-in], aasink, [
449   AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
450   AS_SCRUB_INCLUDE(AALIB_CFLAGS)
451 ])
452
453 dnl *** alsa ***
454 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
455 GST_CHECK_FEATURE(ALSA, [alsa plug-ins], gstalsa, [
456    AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
457 ])
458
459 dnl *** arts ***
460 dnl if mcopidl can't be found there's no use in compiling it
461 AC_CHECK_PROG(MCOPIDL, mcopidl, yes, no)
462 if test "x$HAVE_MCOPIDL" = "xno";
463 then
464   USE_ARTS=no
465 fi
466
467 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
468 GST_CHECK_FEATURE(ARTS, [arts plug-ins], arts, [
469   AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
470 ])
471
472 dnl *** artsc ***
473 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
474 GST_CHECK_FEATURE(ARTSC, [artsd plug-ins], artsdsink, [
475   GST_CHECK_ARTSC()
476 ])
477
478 dnl *** audiofile ***
479 dnl this check uses the GST_CHECK_CONFIGPROG macro
480 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
481 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
482   translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
483   translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
484   dnl check with pkg-config first
485   PKG_CHECK_MODULES(AUDIOFILE, audiofile, HAVE_AUDIOFILE="yes", HAVE_AUDIOFILE="no")
486   if test "x$HAVE_AUDIOFILE" = "xno"; then
487     GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
488     dnl we need this function
489     AC_CHECK_LIB(audiofile, afOpenVirtualFile, , HAVE_AUDIOFILE="no")
490   fi])
491
492 dnl *** CDParanoia ***
493 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
494 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
495   GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, 
496                       cdda_open, -lm, 
497                       cdda_interface.h, 
498                       CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
499                       HEADER_DIR="no"
500                       FOUND_CDPARANOIA="yes")
501   if test "x$FOUND_CDPARANOIA" != "xyes";
502   then
503     GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, 
504                         cdda_open, -lm, 
505                         cdda/cdda_interface.h, 
506                         CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
507                         HEADER_DIR="yes"
508                         FOUND_CDPARANOIA="yes")
509   fi
510   if test "x$HEADER_DIR" = "xyes";
511   then
512     AC_DEFINE_UNQUOTED(CDPARANOIA_HEADERS_IN_DIR, ,
513                        defined if cdda headers are in a cdda/ directory)
514   fi
515   AC_SUBST(CDPARANOIA_LIBS)
516 ])
517 dnl FIXME : add second check somehow if that is necessary
518 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
519 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
520
521 dnl *** DIVX ***
522 translit(dnm, m, l) AM_CONDITIONAL(USE_DIVX, true)
523 GST_CHECK_FEATURE(DIVX, [divx plugins], divx, [
524   HAVE_DIVX=yes
525   AC_CHECK_HEADER(encore2.h, ,
526                   [ AC_MSG_WARN([Divx4linux encore headers not found]) &&
527                     HAVE_DIVX=no ] )
528   if [ test x$HAVE_DIVX = xyes ]; then
529     AC_MSG_CHECKING([Checking for valid divx4linux encore version])
530     AC_TRY_COMPILE([
531 #include <encore2.h>
532 #if ENCORE_VERSION != 20021024
533 #error Wrong version of divx encore libraries
534 #endif
535     ], [
536 return 0;
537     ], [ HAVE_DIVX=yes && AC_MSG_RESULT(yes)],
538        [ HAVE_DIVX=no  && AC_MSG_RESULT(no) &&
539          AC_MSG_WARN([Wrong version of divx4linux installed]) ])
540   fi
541   if [ test x$HAVE_DIVX = xyes ]; then
542     AC_CHECK_HEADER(decore.h, ,
543                     [ AC_MSG_WARN([Divx4linux decoder headers not found]) &&
544                       HAVE_DIVX=no ] )
545   fi
546   if [ test x$HAVE_DIVX = xyes ]; then
547     AC_MSG_CHECKING([Checking for valid divx4linux decore version])
548     AC_TRY_COMPILE([
549 #include <decore.h>
550 #if DECORE_VERSION != 20021112
551 #error Wrong version of divx decore libraries
552 #endif
553     ], [
554 return 0;
555     ], [ HAVE_DIVX=yes && AC_MSG_RESULT(yes)],
556        [ HAVE_DIVX=no  && AC_MSG_RESULT(no) &&
557          AC_MSG_WARN([Wrong version of divx4linux installed]) ])
558   fi
559   LIBS="-lm"
560   if test x$HAVE_DIVX = xyes; then
561     AC_CHECK_LIB(divxencore, encore, ,
562                  [ AC_MSG_WARN([Divx4linux encore libs not found]) &&
563                    HAVE_DIVX=no ] )
564   fi
565   if test x$HAVE_DIVX = xyes; then
566     AC_CHECK_LIB(divxdecore, decore, ,
567                  [ AC_MSG_WARN([Divx4linux decore libs not found]) &&
568                    HAVE_DIVX=no ] )
569   fi
570   if test x$HAVE_DIVX = xyes; then
571     DIVXENC_LIBS="-ldivxencore -lm"
572     DIVXDEC_LIBS="-ldivxdecore -lm"
573     AC_SUBST(DIVXENC_LIBS)
574     AC_SUBST(DIVXDEC_LIBS)
575   fi
576 ])
577
578 dnl *** dvdread ***
579 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
580 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdreadsrc, [
581   GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
582   AC_SUBST(DVDREAD_LIBS)
583 ])
584
585 dnl *** dvdnav ***
586 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDNAV, true)
587 GST_CHECK_FEATURE(DVDNAV, [dvdnav library], dvdnavsrc, [
588   translit(dnm, m, l) AC_SUBST(DVDNAV_LIBS)
589   translit(dnm, m, l) AC_SUBST(DVDNAV_CFLAGS)
590   GST_CHECK_CONFIGPROG(DVDNAV, dvdnav-config)
591   if test x"$HAVE_DVDNAV" = x"yes"; then
592     dnl check version
593     DVDNAV_VERSION=`dvdnav-config --version|head -n 1|sed 's/^.*) //'|sed 's/ (.*)//'`
594     DVDNAV_MAJOR=`echo $DVDNAV_VERSION | cut -d. -f1 | sed s/[a-zA-Z\-].*//g`
595     DVDNAV_MINOR=`echo $DVDNAV_VERSION | cut -d. -f2 | sed s/[a-zA-Z\-].*//g`
596     DVDNAV_MICRO=`echo $DVDNAV_VERSION | cut -d. -f3 | sed s/[a-zA-Z\-].*//g`
597     if [[ "$DVDNAV_MAJOR" -eq "0" ]] && \
598        [[ "$DVDNAV_MINOR" -lt "1" ]]; then
599       AC_MSG_WARN([libdvdnav >= 0.1.7 is required, you have $DVDNAV_VERSION])
600       HAVE_DVDNAV="no"
601     elif [[ "$DVDNAV_MAJOR" -eq "0" ]] && \
602          [[ "$DVDNAV_MINOR" -eq "1" ]] && \
603          [[ "$DVDNAV_MICRO" -lt "7" ]]; then
604       AC_MSG_WARN([libdvdnav >= 0.1.7 is required, you have $DVDNAV_VERSION])
605       HAVE_DVDNAV="no"
606       fi
607     fi
608   AS_SCRUB_INCLUDE(DVDNAV_CFLAGS)
609 ])
610
611 dnl *** MAS ***
612 translit(dnm, m, l) AM_CONDITIONAL(USE_MAS, true)
613 GST_CHECK_FEATURE(MAS, [mas library], massink, [
614   translit(dnm, m, l) AC_SUBST(MAS_LIBS)
615   translit(dnm, m, l) AC_SUBST(MAS_CFLAGS)
616   GST_CHECK_CONFIGPROG(MAS, mas-config)
617   AS_SCRUB_INCLUDE(MAS_CFLAGS)
618 ])
619
620 dnl **** ESound ****
621 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
622 GST_CHECK_FEATURE(ESD, [esound plug-ins], esdsink esdmon, [
623   AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
624   AS_SCRUB_INCLUDE(ESD_CFLAGS)
625 ])
626
627 dnl **** festival ****
628 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_FESTIVAL, true)
629 dnl GST_CHECK_FEATURE(FESTIVAL, [festival plug-ins], festivalsrc, [
630   dnl NOTE: just using local net connection now, add this lib check
631   dnl       in the future if needed
632   dnl AC_LANG_PUSH(C++)
633   dnl dnl FIXME: took out func to check for
634   dnl dnl This check puts festival_tidy_up in extern "C".
635   dnl dnl But, at least on Debian as of 20020110, it is compiled with name
636   dnl dnl mangling C++ nonsense and symbols can't resolve
637   dnl dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, festival_tidy_up, , festival/festival.h, FESTIVAL_LIBS="-lFestival")
638   dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, , , festival/festival.h, FESTIVAL_LIBS="-lFestival")
639   dnl AC_LANG_POP(C++)
640   dnl AC_SUBST(FESTIVAL_LIBS)
641 dnl  HAVE_FESTIVAL=yes
642 dnl])
643
644 dnl *** FLAC ***
645 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
646 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
647   GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__seekable_stream_encoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
648   AC_SUBST(FLAC_LIBS)
649 ])
650
651 dnl *** FFMPEG ***
652 translit(dnm, m, l) AM_CONDITIONAL(USE_FFMPEG, true)
653 GST_CHECK_FEATURE(FFMPEG, [ffmpeg plug-ins], ffmpeg, [
654   # only slurp in the case where we are in CVS mode;
655   # prerelease and release should get it disted
656   if test "x$GST_PLUGINS_VERSION_NANO" = x1; then
657     AC_MSG_NOTICE(slurping FFmpeg CVS source)
658     AS_SLURP_FFMPEG(gst-libs/ext/ffmpeg, 2003-06-09 22:00 GMT,
659                     HAVE_FFMPEG=yes, HAVE_FFMPEG=no)
660   else
661     AC_MSG_NOTICE(FFmpeg CVS code should be included already)
662     HAVE_FFMPEG=yes
663   fi
664   # we only bother with uninstalled (included) ffmpeg for now
665   AC_DEFINE_UNQUOTED(HAVE_FFMPEG_UNINSTALLED, 1,
666                      [defined if we use uninstalled ffmpeg])
667 ])
668
669 dnl *** GDK pixbuf ***
670 translit(dnm, m, l) AM_CONDITIONAL(USE_GDK_PIXBUF, true)
671 GST_CHECK_FEATURE(GDK_PIXBUF, [GDK pixbuf], gdkpixbufsrc, [
672   if test $HAVE_GTK = "yes"; then HAVE_GDK_PIXBUF=yes; fi;
673 ])
674
675 dnl *** Gnome VFS ***
676 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
677 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
678   PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0, HAVE_GNOME_VFS="yes", HAVE_GNOME_VFS="no")
679   AC_SUBST(GNOME_VFS_CFLAGS)
680   AC_SUBST(GNOME_VFS_LIBS)
681 ])
682
683 dnl *** gsm ***
684 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
685 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
686   GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
687   if test $HAVE_GSM != "yes"; then
688     GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
689     if test $HAVE_GSM = "yes"; then 
690       AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
691     fi
692   fi
693   AC_SUBST(GSM_LIBS)
694 ])
695
696 dnl *** Hermes ***
697 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
698 GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
699   GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
700 ], AC_SUBST(HERMES_LIBS))
701
702 dnl *** http ***
703 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
704 dnl GST_CHECK_FEATURE(HTTP, [http plug-ins], gsthttpsrc, [
705 dnl  dnl FIXME: need to check for header
706 dnl  GHTTP_LIBS=
707 dnl  GST_HTTPSRC_GET_TYPE=
708 dnl  if test x$USE_GLIB2 = xyes; then
709 dnl    AC_MSG_WARN(ghttp disabled for glib2.0)
710 dnl  else
711 dnl    AC_CHECK_LIB(ghttp, ghttp_request_new,
712 dnl      [HTTP_LIBS="-lghttp"
713 dnl       GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
714 dnl       HAVE_HTTP=yes
715 dnl      ], :, $LIBS)
716 dnl  fi
717 dnl  AC_SUBST(HTTP_LIBS)
718 dnl  AC_SUBST(GST_HTTPSRC_GET_TYPE)
719 dnl ])
720
721 dnl *** ivorbis ***
722 dnl AM_PATH_IVORBIS only takes two options
723 translit(dnm, m, l) AM_CONDITIONAL(USE_IVORBIS, true)
724 GST_CHECK_FEATURE(IVORBIS, [integer vorbis plug-in], ivorbisdec, [
725   XIPH_PATH_IVORBIS(HAVE_IVORBIS=yes, HAVE_IVORBIS=no)
726   AS_SCRUB_INCLUDE(IVORBIS_CFLAGS)
727 ])
728
729 dnl *** Jack ***
730 translit(dnm, m, l) AM_CONDITIONAL(USE_JACK, true)
731 GST_CHECK_FEATURE(JACK, Jack, jack, [
732   PKG_CHECK_MODULES(JACK, jack >= 0.29.0, HAVE_JACK="yes", HAVE_JACK="no")
733   AC_SUBST(JACK_CFLAGS)
734   AC_SUBST(JACK_LIBS)
735 ])
736
737 dnl *** jpeg ***
738 dnl FIXME: we could use header checks here as well IMO
739 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
740 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
741   AC_ARG_WITH(jpeg-mmx,
742     [  --with-jpeg-mmx, path to MMX'ified JPEG library])
743   OLD_LIBS="$LIBS"
744   if test x$with_jpeg_mmx != x; then
745     LIBS="$LIBS -L$with_jpeg_mmx"
746   fi
747   AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
748   JPEG_LIBS="$LIBS -ljpeg-mmx"
749   LIBS="$OLD_LIBS"
750   if test x$HAVE_JPEG != xyes; then
751     AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
752     JPEG_LIBS="-ljpeg"
753   fi
754   AC_SUBST(JPEG_LIBS)
755 ])
756
757 dnl *** ladspa ***
758 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
759 GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
760   AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
761 ])
762
763 dnl *** lame ***
764 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
765 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
766   GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, HAVE_LAME="yes" LAME_LIBS="-lmp3lame")
767 ])
768 AC_SUBST(LAME_LIBS)
769
770 dnl *** libcolorspace ***
771 translit(dnm, m, l) AM_CONDITIONAL(USE_LCS, true)
772 GST_CHECK_FEATURE(LCS, Lcs, lcs, [
773   PKG_CHECK_MODULES(LCS, lcs, HAVE_LCS="yes", HAVE_LCS="no")
774   AC_SUBST(LCS_CFLAGS)
775   AC_SUBST(LCS_LIBS)
776 ])
777
778 dnl *** libdv ***
779 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDV, true)
780 GST_CHECK_FEATURE(LIBDV, [libdv DV/video decoder], dvdec, [
781   PKG_CHECK_MODULES(LIBDV, libdv >= 0.98, HAVE_LIBDV="yes", HAVE_LIBDV="no")
782   AC_SUBST(LIBDV_CFLAGS)
783   AC_SUBST(LIBDV_LIBS)
784 ])
785
786 dnl *** libfame ***
787 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBFAME, true)
788 GST_CHECK_FEATURE(LIBFAME, [libfame MPEG1/4 encoder], libfame, [
789   AM_PATH_LIBFAME(0.9.0, HAVE_LIBFAME="yes", HAVE_LIBFAME="no")
790   AC_SUBST(LIBFAME_CFLAGS)
791   AC_SUBST(LIBFAME_LIBS)
792 ])
793
794 dnl *** libpng ***
795 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
796 GST_CHECK_FEATURE(LIBPNG, [libpng PNG encoder], pngenc, [
797   PKG_CHECK_MODULES(LIBPNG, libpng12, HAVE_LIBPNG="yes", HAVE_LIBPNG="no")
798   AC_SUBST(LIBPNG_CFLAGS)
799   AC_SUBST(LIBPNG_LIBS)
800 ])
801
802
803 dnl *** mad ***
804 dnl FIXME: we could use header checks here as well IMO
805 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
806 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
807   dnl check with pkg-config first
808   PKG_CHECK_MODULES(MAD, mad id3tag, HAVE_MAD="yes", HAVE_MAD="no")
809   if test "x$HAVE_MAD" = "xno"; then
810     dnl fall back to oldskool detection
811     AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
812     if test "x$HAVE_MAD" = "xyes"; then
813       # installed with mad >= 0.14
814       HAVE_MAD="no"
815       save_libs=$LIBS
816       LIBS="-lz"
817       AC_CHECK_LIB(id3tag, id3_tag_query, HAVE_MAD="yes" MAD_LIBS="$MAD_LIBS -lid3tag")
818       LIBS=$save_LIBS
819     fi
820   fi    
821 ])
822 AC_SUBST(MAD_LIBS)
823
824 dnl *** mikmod ***
825 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
826 GST_CHECK_FEATURE(MIKMOD, [mikmod plug-in], mikmod, [
827   AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
828   AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
829   AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
830 ])
831
832 dnl *** mpeg2dec ***
833 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
834 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
835   PKG_CHECK_MODULES(MPEG2DEC, libmpeg2 >= 0.3.1,
836       HAVE_MPEG2DEC="yes", HAVE_MPEG2DEC="no")
837   AC_SUBST(MPEG2DEC_CFLAGS)
838   AC_SUBST(MPEG2DEC_LIBS)
839 ])
840
841 dnl *** raw1394 ***
842 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
843 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
844   GST_CHECK_LIBHEADER(RAW1394, raw1394, raw1394_new_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-lraw1394")
845   AC_SUBST(RAW1394_LIBS)
846 ])
847
848 dnl *** SDL ***
849 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
850 GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink, [
851  AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
852 ])
853
854 dnl *** shout ***
855 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
856 GST_CHECK_FEATURE(SHOUT, [shout plug-in], icecastsend, [
857   GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
858   AC_SUBST(SHOUT_LIBS)
859 ])
860
861 dnl *** shout2 *** 
862 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT2, true)
863 GST_CHECK_FEATURE(SHOUT2, [shout2 plug-in], shout2send, [
864   AM_PATH_SHOUT2(HAVE_SHOUT2=yes, HAVE_SHOUT2=no)
865   AC_SUBST(SHOUT2_CFLAGS)
866   AC_SUBST(SHOUT2_LIBS)
867 ])
868
869 dnl *** sidplay ***
870 translit(dnm, m, l) AM_CONDITIONAL(USE_SIDPLAY, true)
871 GST_CHECK_FEATURE(SIDPLAY, [sidplay plug-in], sidplay, [
872   GST_PATH_SIDPLAY()
873 ])
874
875 dnl *** smoothwave ***
876 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHWAVE, true)
877 GST_CHECK_FEATURE(SMOOTHWAVE, [smoothwave plug-in], smoothwave, [
878   if test $HAVE_GTK = "yes"; then HAVE_SMOOTHWAVE=yes; fi;
879 ])
880
881
882 dnl *** snapshot ***
883 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
884 GST_CHECK_FEATURE(LIBPNG, [snapshot plug-in], snapshot, [
885   GST_CHECK_LIBHEADER(LIBPNG, png, png_read_info, -lz -lm, png.h, LIBPNG_LIBS="-lpng -lz -lm")
886   AC_SUBST(LIBPNG_LIBS)
887 ])
888
889 dnl *** sndfile ***
890 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDFILE, true)
891 GST_CHECK_FEATURE(SNDFILE, [sndfile plug-in], sfsrc sfsink, [
892   PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.0, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")
893   AC_SUBST(SNDFILE_CFLAGS)
894   AC_SUBST(SNDFILE_LIBS)
895 ])
896
897 dnl *** swfdec ***
898 translit(dnm, m, l) AM_CONDITIONAL(USE_SWFDEC, true)
899 GST_CHECK_FEATURE(SWFDEC, [swfdec plug-in], swfdec, [
900   PKG_CHECK_MODULES(SWFDEC, swfdec >= 0.1.3.1, HAVE_SWFDEC=yes, HAVE_SWFDEC=no)
901   AC_SUBST(SWFDEC_CFLAGS)
902   AC_SUBST(SWFDEC_LIBS)
903 ])
904
905 dnl *** tarkin ***
906 dnl for now the sources are included in the plug-in
907 dnl and should be moved to ext-libs/ perhaps
908 translit(dnm, m, l) AM_CONDITIONAL(USE_TARKIN, true)
909 GST_CHECK_FEATURE(TARKIN, [tarkinenc tarkindec], tarkin, [
910   HAVE_TARKIN="yes"
911 ])
912
913 dnl *** vorbis ***
914 dnl AM_PATH_VORBIS only takes two options
915 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
916 GST_CHECK_FEATURE(VORBIS, [vorbis plug-in], vorbisenc vorbisdec, [
917   XIPH_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
918   AS_SCRUB_INCLUDE(VORBIS_CFLAGS)
919 ])
920
921 dnl *** XVID ***
922 translit(dnm, m, l) AM_CONDITIONAL(USE_XVID, true)
923 GST_CHECK_FEATURE(XVID, [xvid plugins], xvid, [
924   HAVE_XVID=yes
925   AC_CHECK_HEADER(xvid.h, ,
926                   [ AC_MSG_WARN([Xvid headers not found]) &&
927                     HAVE_XVID=no ] )
928   LIBS="-lm"
929   AC_CHECK_LIB(xvidcore, xvid_encore, ,
930                [ AC_MSG_WARN([Xvid encore libs not found]) &&
931                  HAVE_XVID=no ] )
932   AC_CHECK_LIB(xvidcore, xvid_decore, ,
933                [ AC_MSG_WARN([Xvid decore libs not found]) &&
934                  HAVE_XVID=no ] )
935   if test x$HAVE_XVID = xyes; then
936     XVID_LIBS="-lxvidcore -lm"
937     AC_SUBST(XVID_LIBS)
938   fi
939 ])
940
941
942 fi dnl of EXT plugins
943
944 dnl Check for atomic.h
945 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
946 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
947 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
948 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
949 if test x$HAVE_ATOMIC_H = xyes; then
950   AC_TRY_RUN([
951 #include "asm/atomic.h"
952 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
953   ],, [
954     # Not successful
955     if test x$HAVE_ATOMIC_H = xyes; then
956       AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
957     fi
958     HAVE_ATOMIC_H=no
959   ], [
960     # Cross compiling
961     AC_MSG_RESULT(yes)
962     AC_MSG_WARN(Can't check properly for atomic reference counting.  Assuming OK.)
963   ])
964 fi
965
966
967 dnl ######################################################################
968 dnl # Check command line parameters, and set shell variables accordingly #
969 dnl ######################################################################
970
971 GST_DEBUGINFO
972
973 AC_ARG_ENABLE(libmmx,
974   AC_HELP_STRING([--enable-libmmx],[use libmmx, if available]),
975 [case "${enableval}" in
976   yes) USE_LIBMMX=$HAVE_LIBMMX ;;
977   no)  USE_LIBMMX=no ;;
978   *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
979 esac], 
980 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
981
982 AC_ARG_ENABLE(atomic,
983   AC_HELP_STRING([--enable-atomic],[use atomic reference counting header]),
984 [case "${enableval}" in
985   yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
986   noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
987   no)  USE_ATOMIC_H=no;;
988   *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
989 esac], 
990 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
991
992 AC_ARG_ENABLE(profiling,
993   AC_HELP_STRING([--enable-profiling],
994                  [-pg to compiler commandline, for profiling]),
995 [case "${enableval}" in
996   yes) USE_PROFILING=yes ;;
997   no)  UES_PROFILING=no ;;
998   *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
999 esac], 
1000 [USE_PROFILING=no]) dnl Default value
1001
1002 AC_ARG_ENABLE(tests,
1003   AC_HELP_STRING([--disable-tests],[disable building test apps]),
1004 [case "${enableval}" in
1005   yes) BUILD_TESTS=yes ;;
1006   no)  BUILD_TESTS=no ;;
1007   *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
1008 esac], 
1009 [BUILD_TESTS=yes]) dnl Default value
1010
1011 AC_ARG_ENABLE(examples,
1012   AC_HELP_STRING([--disable-examples],[disable building examples]),
1013 [case "${enableval}" in
1014   yes) BUILD_EXAMPLES=yes ;;
1015   no)  BUILD_EXAMPLES=no ;;
1016   *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
1017 esac], 
1018 [BUILD_EXAMPLES=yes]) dnl Default value
1019
1020 dnl seeking needs freetype, so check for it here
1021 AC_CHECK_FT2(2.0.9,HAVE_FT2=yes,HAVE_FT2=no)
1022 dnl make the HAVE_FT2 variable available to automake and Makefile.am
1023 AM_CONDITIONAL(HAVE_FT2, test "x$HAVE_FT2" = "xyes")
1024 AC_SUBST(FT2_CFLAGS)
1025 AC_SUBST(FT2_LIBS)
1026
1027 dnl ################################################
1028 dnl # Set defines according to variables set above #
1029 dnl ################################################
1030
1031
1032 if test "x$USE_LIBMMX" = xyes; then
1033   AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
1034 fi
1035
1036 if test "x$USE_ATOMIC_H" = xyes; then
1037   AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
1038 fi
1039
1040 # do not use deprecated stuff
1041 GST_CFLAGS="$GST_CFLAGS -DGST_DISABLE_DEPRECATED"
1042
1043 if test "x$USE_DEBUG" = xyes; then
1044   GST_CFLAGS="$GST_CFLAGS -g"
1045 fi
1046
1047 if test "x$USE_PROFILING" = xyes; then
1048 dnl  CFLAGS="$CFLAGS -pg -fprofile-arcs"
1049   FOMIT_FRAME_POINTER=""
1050 else
1051   FOMIT_FRAME_POINTER="-fomit-frame-pointer"
1052 fi
1053
1054 dnl
1055 dnl AC_SUBST(FOMIT_FRAME_POINTER)
1056 dnl
1057
1058 dnl #############################
1059 dnl # Set automake conditionals #
1060 dnl #############################
1061
1062 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
1063 dnl HAVE_ and it is likely to be easier to stick with the old name
1064 AM_CONDITIONAL(HAVE_CPU_I386,       test "x$HAVE_CPU_I386" = "xyes")
1065 AM_CONDITIONAL(HAVE_CPU_PPC,        test "x$HAVE_CPU_PPC" = "xyes")
1066 AM_CONDITIONAL(HAVE_CPU_ALPHA,      test "x$HAVE_CPU_ALPHA" = "xyes")
1067 AM_CONDITIONAL(HAVE_CPU_ARM,        test "x$HAVE_CPU_ARM" = "xyes")
1068 AM_CONDITIONAL(HAVE_CPU_SPARC,      test "x$HAVE_CPU_SPARC" = "xyes")
1069 AM_CONDITIONAL(HAVE_LIBMMX,         test "x$USE_LIBMMX" = "xyes")
1070
1071 AM_CONDITIONAL(HAVE_ATOMIC_H,       test "x$USE_ATOMIC_H" = "xyes")
1072
1073 AM_CONDITIONAL(EXPERIMENTAL,        test "$EXPERIMENTAL" = "$xyes")
1074 AM_CONDITIONAL(BROKEN,              test "$BROKEN" = "$xyes")
1075
1076 AM_CONDITIONAL(HAVE_NASM,           test "x$HAVE_NASM" = "xyes")
1077 AM_CONDITIONAL(HAVE_GTK,            test "x$HAVE_GTK" = "xyes")
1078 AM_CONDITIONAL(HAVE_GTK_DOC,        $HAVE_GTK_DOC)
1079 AM_CONDITIONAL(BUILD_DOCS,          test "x$BUILD_DOCS" = "xyes")
1080 AM_CONDITIONAL(BUILD_TESTS,         test "x$BUILD_TESTS" = "xyes")
1081 AM_CONDITIONAL(BUILD_EXAMPLES,      test "x$BUILD_EXAMPLES" = "xyes")
1082 AM_CONDITIONAL(BUILD_PLUGIN_DOCS,   test "x$BUILD_PLUGIN_DOCS" = "xyes")
1083 AM_CONDITIONAL(HAVE_FIG2DEV_PNG,    $HAVE_FIG2DEV_PNG)
1084 AM_CONDITIONAL(HAVE_FIG2DEV_PDF,    $HAVE_FIG2DEV_PDF)
1085 AM_CONDITIONAL(HAVE_RAW1394,        test "x$HAVE_RAW1394" = "xyes")
1086
1087 dnl prefer internal headers to already installed ones
1088 GST_CFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GST_ERROR"
1089 GST_OPT_CFLAGS="$GST_FINLINE_CFLAGS $GST_FFASTMATH_CFLAGS"
1090
1091 AC_SUBST(GST_LIBS)
1092 AC_SUBST(GST_CFLAGS)
1093 AC_SUBST(GST_FUNROLL_CFLAGS)
1094 AC_SUBST(GST_FINLINE_CFLAGS)
1095 AC_SUBST(GST_FFASTMATH_CFLAGS)
1096 AC_SUBST(GST_FSCHEDULE_CFLAGS)
1097 AC_SUBST(GST_FNOEXCEPTIONS_CFLAGS)
1098 AC_SUBST(GST_OPT_CFLAGS)
1099
1100 dnl ###########################
1101 dnl # Configure external libs #
1102 dnl ###########################
1103 if test "x$HAVE_FFMPEG" = xyes; then
1104   AC_CONFIG_SUBDIRS(gst-libs/ext/ffmpeg/ffmpeg)
1105 fi 
1106
1107 dnl #########################
1108 dnl # Make the output files #
1109 dnl #########################
1110
1111 AC_CONFIG_FILES(
1112 Makefile
1113 pkgconfig/gstreamer-libs.pc
1114 pkgconfig/gstreamer-libs-uninstalled.pc
1115 pkgconfig/gstreamer-play.pc
1116 pkgconfig/gstreamer-play-uninstalled.pc
1117 gst-libs/gst/gconf/gstreamer-gconf.pc
1118 gst-libs/gst/gconf/gstreamer-gconf-uninstalled.pc
1119 gst-plugins.spec
1120 gst/Makefile
1121 gst/ac3parse/Makefile
1122 gst/adder/Makefile
1123 gst/audioconvert/Makefile
1124 gst/audioscale/Makefile
1125 gst/auparse/Makefile
1126 gst/avi/Makefile
1127 gst/asfdemux/Makefile
1128 gst/cdxaparse/Makefile
1129 gst/chart/Makefile
1130 gst/cutter/Makefile
1131 gst/debug/Makefile
1132 gst/deinterlace/Makefile
1133 gst/effectv/Makefile
1134 gst/festival/Makefile
1135 gst/filter/Makefile
1136 gst/flx/Makefile
1137 gst/goom/Makefile
1138 gst/intfloat/Makefile
1139 gst/law/Makefile
1140 gst/level/Makefile
1141 gst/median/Makefile
1142 gst/mixmatrix/Makefile
1143 gst/mpeg1enc/Makefile
1144 gst/mpeg1sys/Makefile
1145 gst/mpeg1videoparse/Makefile
1146 gst/mpeg2enc/Makefile
1147 gst/mpeg2sub/Makefile
1148 gst/mpegaudio/Makefile
1149 gst/mpegaudioparse/Makefile
1150 gst/mpegstream/Makefile
1151 gst/mpegtypes/Makefile
1152 gst/modplug/Makefile
1153 gst/modplug/libmodplug/Makefile
1154 gst/monoscope/Makefile
1155 gst/monkeyaudio/Makefile
1156 gst/monkeyaudio/libmonkeyaudio/Makefile
1157 gst/oneton/Makefile
1158 gst/passthrough/Makefile
1159 gst/playondemand/Makefile
1160 gst/qtdemux/Makefile
1161 gst/realmedia/Makefile
1162 gst/rtjpeg/Makefile
1163 gst/rtp/Makefile
1164 gst/silence/Makefile
1165 gst/sine/Makefile
1166 gst/smooth/Makefile
1167 gst/smpte/Makefile
1168 gst/spectrum/Makefile
1169 gst/speed/Makefile
1170 gst/stereo/Makefile
1171 gst/synaesthesia/Makefile
1172 gst/udp/Makefile
1173 gst/vbidec/Makefile
1174 gst/videocrop/Makefile
1175 gst/videoflip/Makefile
1176 gst/videoscale/Makefile
1177 gst/videotestsrc/Makefile
1178 gst/volenv/Makefile
1179 gst/volume/Makefile
1180 gst/wavenc/Makefile
1181 gst/wavparse/Makefile
1182 gst/y4m/Makefile
1183 sys/Makefile
1184 sys/cdrom/Makefile
1185 sys/dxr3/Makefile
1186 sys/oss/Makefile
1187 sys/qcam/Makefile
1188 sys/v4l/Makefile
1189 sys/v4l2/Makefile
1190 sys/vcd/Makefile
1191 sys/xvideo/Makefile
1192 ext/Makefile
1193 ext/a52dec/Makefile
1194 ext/aalib/Makefile
1195 ext/alsa/Makefile
1196 ext/arts/Makefile
1197 ext/artsd/Makefile
1198 ext/audiofile/Makefile
1199 ext/cdparanoia/Makefile
1200 ext/divx/Makefile
1201 ext/dv/Makefile
1202 ext/dvdread/Makefile
1203 ext/dvdnav/Makefile
1204 ext/esd/Makefile
1205 ext/ffmpeg/Makefile
1206 ext/flac/Makefile
1207 ext/gdk_pixbuf/Makefile
1208 ext/gnomevfs/Makefile
1209 ext/gsm/Makefile
1210 ext/hermes/Makefile
1211 dnl ext/http/Makefile
1212 ext/jack/Makefile
1213 ext/jpeg/Makefile
1214 ext/ladspa/Makefile
1215 ext/lame/Makefile
1216 ext/ivorbis/Makefile
1217 ext/lcs/Makefile
1218 ext/libfame/Makefile
1219 ext/libpng/Makefile
1220 ext/mad/Makefile
1221 ext/mas/Makefile
1222 ext/mikmod/Makefile
1223 ext/mpeg2dec/Makefile
1224 ext/raw1394/Makefile
1225 ext/sdl/Makefile
1226 ext/shout/Makefile
1227 ext/shout2/Makefile
1228 ext/sidplay/Makefile
1229 ext/smoothwave/Makefile
1230 ext/snapshot/Makefile
1231 ext/sndfile/Makefile
1232 ext/swfdec/Makefile
1233 ext/vorbis/Makefile
1234 ext/tarkin/Makefile
1235 ext/xvid/Makefile
1236 gst-libs/Makefile
1237 gst-libs/gst/Makefile
1238 gst-libs/gst/audio/Makefile
1239 gst-libs/gst/floatcast/Makefile
1240 gst-libs/gst/gconf/Makefile
1241 gst-libs/gst/idct/Makefile
1242 gst-libs/gst/media-info/Makefile
1243 gst-libs/gst/play/Makefile
1244 gst-libs/gst/resample/Makefile
1245 gst-libs/gst/riff/Makefile
1246 gst-libs/gst/video/Makefile
1247 gst-libs/ext/Makefile
1248 gst-libs/ext/ffmpeg/Makefile
1249 examples/dynparams/Makefile
1250 examples/capsfilter/Makefile
1251 examples/seeking/Makefile
1252 examples/indexing/Makefile
1253 examples/Makefile
1254 testsuite/autoplug/Makefile
1255 testsuite/spider/Makefile
1256 testsuite/alsa/Makefile
1257 testsuite/Makefile
1258 tools/Makefile
1259 gconf/Makefile
1260 pkgconfig/Makefile
1261 )
1262 AC_OUTPUT
1263
1264 echo -e "configure: *** Plug-ins that will be built : $GST_PLUGINS_YES"
1265 echo
1266 echo -e "configure: *** Plug-ins that will not be built : $GST_PLUGINS_NO"
1267 echo
1268 if test "x$BUILD_EXTERNAL" = "xno"; then
1269   echo "configure: *** No external plug-ins will be built"
1270 fi