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