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