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