1 dnl autoconf configuration file for gst-plugins
3 AC_CANONICAL_TARGET([])
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
10 dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
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, 0, 4, 0, 1, GST_ERROR="-Wall", GST_ERROR="-Wall -Werror")
16 AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
17 AS_LIBTOOL(GST_PLUGINS, 0, 0, 0, yes)
19 dnl FIXME take something else ?
20 AC_CONFIG_SRCDIR([gst/law/alaw.c])
21 AM_CONFIG_HEADER(config.h)
23 dnl Add parameters for aclocal
24 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
25 ACLOCAL_AMFLAGS="-I m4 -I common/m4"
31 dnl determine c++ compiler
33 dnl determine if c++ is available on this system
34 AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
35 dnl determine c++ preprocessor
41 dnl ############################################
42 dnl # Super Duper options for plug-in building #
43 dnl ############################################
45 dnl ext plug-ins; plug-ins that have external dependencies
46 GST_CHECK_FEATURE(EXTERNAL, [enable building of plug-ins with external deps],,
47 [HAVE_EXTERNAL=yes],enabled,
49 AC_MSG_WARN(building external plug-ins)
52 AC_MSG_WARN(all plug-ins with external dependencies will not be built)
55 # make BUILD_EXTERNAL available to Makefile.am
56 AM_CONDITIONAL(BUILD_EXTERNAL, test "x$BUILD_EXTERNAL" = "xyes")
58 dnl experimental plug-ins; stuff that hasn't had the dust settle yet
59 dnl read 'builds, but might not work'UTO
60 GST_CHECK_FEATURE(EXPERIMENTAL, [enable building of experimental plug-ins],,
61 [HAVE_EXPERIMENTAL=yes],disabled,
63 AC_MSG_WARN(building experimental plug-ins)
67 AC_MSG_NOTICE(not building experimental plug-ins)
72 dnl broken plug-ins; stuff that doesn't seem to build at the moment
73 GST_CHECK_FEATURE(BROKEN, [enable building of broken plug-ins],,
74 HAVE_BROKEN=yes,disabled,
76 AC_MSG_WARN([building broken plug-ins -- no bug reports on these, only patches :)])
84 AC_MSG_NOTICE([not building broken plug-ins])
87 dnl ##############################
88 dnl # Do automated configuration #
89 dnl ##############################
94 dnl allow for different autotools
95 AS_AUTOTOOLS_ALTERNATE()
97 dnl modify pkg-config path
98 AC_ARG_WITH(pkg-config-path,
99 AC_HELP_STRING([--with-pkg-config-path],[colon-separated list of pkg-config(1) dirs]),
100 [export PKG_CONFIG_PATH=${withval}])
103 AC_PATH_PROG(NASM_PATH, nasm, no)
105 if test x$NASM_PATH = xno; then
106 AC_MSG_WARN(Couldn't find nasm)
109 AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
113 dnl check for gconftool-2
114 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONFTOOL, true)
115 GST_CHECK_FEATURE(GCONFTOOL, [GConf schemas], , [
116 AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
117 if test x$GCONFTOOL = xno; then
118 AC_MSG_WARN(Not installing GConf schemas)
124 AC_SUBST(HAVE_GCONFTOOL)
127 dnl check for GConf libraries
128 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONF, true)
129 GST_CHECK_FEATURE(GCONF, [GConf libraries], , [
130 PKG_CHECK_MODULES(GCONF, gconf-2.0, HAVE_GCONF="yes", HAVE_GCONF="no")
131 AC_SUBST(GCONF_CFLAGS)
135 dnl check for gstreamer; uninstalled is selected preferentially -- see pkg-config(1)
136 PKG_CHECK_MODULES(GST, gstreamer >= $GST_PLUGINS_MAJOR.$GST_PLUGINS_MINOR.$GST_PLUGINS_MICRO,
137 HAVE_GST="yes", HAVE_GST="no")
139 if test "x$HAVE_GST" = "xno"; then
140 AC_MSG_ERROR(no GStreamer found)
143 GST_TOOLS_DIR=`pkg-config --variable=toolsdir gstreamer`
144 if test -z $GST_TOOLS_DIR; then
145 AC_MSG_ERROR([no tools dir defined in GStreamer pkg-config file; core upgrade needed.])
147 AC_SUBST(GST_TOOLS_DIR)
149 dnl Set up conditionals for (target) architecture:
150 dnl ==============================================
153 case "x${target_cpu}" in
154 xi?86 | k?) HAVE_CPU_I386=yes
155 AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
156 dnl FIXME could use some better detection
158 case "x${target_cpu}" in
160 *) AC_DEFINE(HAVE_RDTSC, 1, [Define if RDTSC is available]) ;;
162 xpowerpc) HAVE_CPU_PPC=yes
163 AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
164 xalpha) HAVE_CPU_ALPHA=yes
165 AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
166 xarm*) HAVE_CPU_ARM=yes
167 AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
168 xsparc*) HAVE_CPU_SPARC=yes
169 AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
170 xmips*) HAVE_CPU_MIPS=yes
171 AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
172 xhppa*) HAVE_CPU_HPPA=yes
173 AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
176 dnl Determine endianness
179 dnl Check for fast float to int casting as defined in C99
183 dnl Check for essential libraries first:
184 dnl ====================================
187 PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
188 GTK_CFLAGS=$GTK2_CFLAGS
193 dnl Check for X11 extensions
195 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
196 AC_MSG_NOTICE([cannot find X11, the build system needs fixage])
200 AC_SUBST(X_EXTRA_LIBS)
203 dnl ===========================================================================
204 dnl ============================= gst plug-ins ================================
205 dnl ===========================================================================
207 GST_PLUGIN_LDFLAGS='-module -avoid-version'
208 AC_SUBST(GST_PLUGIN_LDFLAGS)
210 dnl these are all the gst plug-ins, compilable without additional libs
212 ac3parse adder audioscale auparse avi cdxaparse chart\
213 cutter deinterlace effectv festival filter flx goom\
215 median mixmatrix mpeg1enc mpeg1sys mpeg1videoparse mpeg2enc mpeg2sub\
216 mpegaudio mpegaudioparse mpegstream mpegtypes\
217 monoscope passthrough playondemand qtdemux rtjpeg silence sine\
218 smooth spectrum speed stereo stereomono\
219 synaesthesia udp videocrop videoscale videotestsrc volenv volume\
220 vumeter wavparse y4m"
222 dnl see if we can build C++ plug-ins
223 if test "x$HAVE_CXX" = "xyes"; then
224 GST_PLUGINS_ALL="$GST_PLUGINS_ALL \
227 AC_MSG_WARN([Not compiling plug-ins requiring C++ compiler])
230 AC_SUBST(GST_PLUGINS_ALL)
232 GST_PLUGINS_SELECTED=""
235 AC_HELP_STRING([--with-plugins],[comma-separated list of plug-ins to compile]),
236 [for i in `echo $withval | tr , ' '`; do
237 if test -n `echo $i | grep $GST_PLUGINS_ALL`; then
238 GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
240 echo "plug-in $i not recognized, ignoring..."
243 [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
245 AC_SUBST(GST_PLUGINS_SELECTED)
247 dnl ==========================================================================
248 dnl ============================= sys plug-ins ================================
249 dnl ==========================================================================
251 dnl *** DXR3 card ***
252 translit(dnm, m, l) AM_CONDITIONAL(USE_DXR3, true)
253 GST_CHECK_FEATURE(DXR3, [DXR3 hardware mpeg video decoder], dxr3videosink, [
254 AC_CHECK_HEADER(linux/em8300.h, HAVE_DXR3="yes", HAVE_DXR3="no")
257 dnl *** OSS audio ***
258 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
259 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
260 AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
264 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
265 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, [
266 dnl this one is for hadess, no qcam when no nasm found
267 if test "x$HAVE_NASM" = "xno";
270 AC_MSG_WARN([QuickCam needs nasm])
276 dnl *** Video 4 Linux ***
277 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
278 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc v4lmjpegsrc v4lmjpegsink, [
279 AC_CHECK_DECL(VID_TYPE_MPEG_ENCODER, HAVE_V4L="yes", HAVE_V4L="no", [#include <linux/videodev.h>])
282 dnl *** Video 4 Linux 2***
283 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L2, true)
284 GST_CHECK_FEATURE(V4L2, [Video 4 Linux 2], v4l2src, [
285 AC_CHECK_HEADER(linux/videodev2.h, HAVE_V4L2="yes", HAVE_V4L2="no")
289 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
290 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
291 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
295 translit(dnm, m, l) AM_CONDITIONAL(USE_VGA, true)
296 GST_CHECK_FEATURE(VGA, [VGA], vgavideosink, [
297 AC_CHECK_HEADER(asm/vga.h, HAVE_VGA="yes", HAVE_VGA="no")
300 dnl *** CDROM Audio ***
301 translit(dnm, m, l) AM_CONDITIONAL(USE_CDROM, true)
302 GST_CHECK_FEATURE(CDROM, [CDROM Audio], cdrom, [
303 AC_CHECK_HEADERS(linux/cdrom.h) dnl linux
304 AC_CHECK_HEADERS(sys/cdio.h) dnl almost everything else
305 dnl AC_CHECK_HEADERS(dmedia/cdaudio.h) dnl irix
307 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
309 *-sun-* | *-*-linux*)
310 AC_DEFINE(HAVE_CDROM_SOLARIS,, [Define if cdrom access is in Solaris style])
313 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
315 *-*-netbsd* | *-*-openbsd*)
316 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
317 AC_DEFINE(HAVE_CDROM_BSD_NETBSD,, [Define if cdrom access uses NetBSD variant])
320 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
321 AC_DEFINE(HAVE_CDROM_BSD_DARWIN,, [Define if cdrom access uses Darwin variant])
324 dnl AC_DEFINE(HAVE_CDROM_IRIX,, [Define if cdrom access is in Irix DMedia style])
335 dnl Look for the PIC library first, Debian requires it.
336 dnl Check debian-devel archives for gory details.
338 dnl At the moment XFree86 doesn't distribute shared libXv due
339 dnl to unstable API. On many platforms you CAN NOT link a shared
340 dnl lib to a static non-PIC lib. This is what the xvideo GStreamer
341 dnl plug-in wants to do. So Debian distributes a PIC compiled
342 dnl version of the static lib for plug-ins to link to when it is
343 dnl inappropriate to link the main application to libXv directly.
344 dnl FIXME: add check if this platform can support linking to a
345 dnl non-PIC libXv, if not then don not use Xv.
346 dnl FIXME: perhaps warn user if they have a shared libXv since
347 dnl this is an error until XFree86 starts shipping one
348 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
349 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], xvideosink videosink, [
350 dnl check for PIC static lib
351 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")
352 if test x$HAVE_XVIDEO = xno; then
353 dnl PIC lib not found, check for regular lib
354 GST_CHECK_LIBHEADER(XVIDEO, Xv, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h, XVIDEO_LIBS="-lXv -lXext")
356 AC_SUBST(XVIDEO_LIBS)
359 dnl Next, check for the optional libraries:
360 dnl These are all libraries used in building plug-ins
361 dnl ================================================
362 dnl let's try and sort them alphabetically, shall we ?
364 if test "x$BUILD_EXTERNAL" = "xyes"; then
366 AC_MSG_NOTICE(Checking for plug-in dependency libraries)
369 translit(dnm, m, l) AM_CONDITIONAL(USE_A52DEC, true)
370 GST_CHECK_FEATURE(A52DEC, [a52dec], a52dec, [
371 AC_CHECK_A52DEC(HAVE_A52DEC=yes, HAVE_A52DEC=no)
375 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
376 GST_CHECK_FEATURE(AALIB, [aasink plug-in], aasink, [
377 AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
381 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
382 GST_CHECK_FEATURE(ALSA, [alsa plug-ins], gstalsa, [
383 AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
387 dnl if mcopidl can't be found there's no use in compiling it
388 AC_CHECK_PROG(MCOPIDL, mcopidl, yes, no)
389 if test "xHAVE_MCOPIDL" = "xno";
394 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
395 GST_CHECK_FEATURE(ARTS, [arts plug-ins], arts, [
396 AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
400 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
401 GST_CHECK_FEATURE(ARTSC, [artsd plug-ins], artsdsink, [
405 dnl *** audiofile ***
406 dnl this check uses the GST_CHECK_CONFIGPROG macro
407 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
408 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
409 translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
410 translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
411 GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
412 dnl we need this function
413 AC_CHECK_LIB(audiofile, afOpenVirtualFile, , HAVE_AUDIOFILE="no")
417 translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true)
418 GST_CHECK_FEATURE(AVIFILE, [avifile], winenc windec, [
419 if test "x$no_x" = "xyes"; then
420 AC_MSG_WARN([No X libraries found, avifile test might fail compilation])
422 if test "x$HAVE_CXX" != "xyes"; then
423 AC_MSG_WARN([No C++ compiler found, avifile test will fail compilation])
425 AC_CHECK_LIB(stdc++, cout,,
426 [AC_MSG_WARN([no libstdc++ found, avifile test will fail])]
431 dnl *** CDParanoia ***
432 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
433 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
434 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface,
437 CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
439 FOUND_CDPARANOIA="yes")
440 if test "x$FOUND_CDPARANOIA" != "xyes";
442 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface,
444 cdda/cdda_interface.h,
445 CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
447 FOUND_CDPARANOIA="yes")
449 if test "x$HEADER_DIR" = "xyes";
451 AC_DEFINE_UNQUOTED(CDPARANOIA_HEADERS_IN_DIR, ,
452 defined if cdda headers are in a cdda/ directory)
454 AC_SUBST(CDPARANOIA_LIBS)
456 dnl FIXME : add second check somehow if that is necessary
457 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
458 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
461 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDV, true)
462 GST_CHECK_FEATURE(LIBDV, [libdv DV/video decoder], dvdec, [
463 dnl use this when gtk deps are removed from its pkg-config .pc
464 dnl PKG_CHECK_MODULES(LIBDV, libdv, HAVE_LIBDV="yes", HAVE_LIBDV="no")
465 AM_PATH_LIBDV(HAVE_LIBDV="yes", HAVE_LIBDV="no")
466 AC_SUBST(LIBDV_CFLAGS)
471 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
472 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdreadsrc, [
473 GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
474 AC_SUBST(DVDREAD_LIBS)
478 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDNAV, true)
479 GST_CHECK_FEATURE(DVDNAV, [dvdnav library], dvdnavsrc, [
480 translit(dnm, m, l) AC_SUBST(DVDNAV_LIBS)
481 translit(dnm, m, l) AC_SUBST(DVDNAV_CFLAGS)
482 GST_CHECK_CONFIGPROG(DVDNAV, dvdnav-config)
486 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
487 GST_CHECK_FEATURE(ESD, [esound plug-ins], esdsink esdmon, [
488 AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
491 dnl **** festival ****
492 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_FESTIVAL, true)
493 dnl GST_CHECK_FEATURE(FESTIVAL, [festival plug-ins], festivalsrc, [
494 dnl NOTE: just using local net connection now, add this lib check
495 dnl in the future if needed
496 dnl AC_LANG_PUSH(C++)
497 dnl dnl FIXME: took out func to check for
498 dnl dnl This check puts festival_tidy_up in extern "C".
499 dnl dnl But, at least on Debian as of 20020110, it is compiled with name
500 dnl dnl mangling C++ nonsense and symbols can't resolve
501 dnl dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, festival_tidy_up, , festival/festival.h, FESTIVAL_LIBS="-lFestival")
502 dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, , , festival/festival.h, FESTIVAL_LIBS="-lFestival")
504 dnl AC_SUBST(FESTIVAL_LIBS)
505 dnl HAVE_FESTIVAL=yes
509 dnl FLAC 1.0.3 is needed
510 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
511 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
512 GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__stream_decoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
516 dnl *** Gnome VFS ***
517 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
518 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
519 PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0, HAVE_GNOME_VFS="yes", HAVE_GNOME_VFS="no")
520 AC_SUBST(GNOME_VFS_CFLAGS)
521 AC_SUBST(GNOME_VFS_LIBS)
525 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
526 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
527 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
528 if test $HAVE_GSM != "yes"; then
529 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
530 if test $HAVE_GSM = "yes"; then
531 AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
538 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
539 GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
540 GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
541 ], AC_SUBST(HERMES_LIBS))
544 translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
545 GST_CHECK_FEATURE(HTTP, [http plug-ins], gsthttpsrc, [
546 dnl FIXME: need to check for header
548 GST_HTTPSRC_GET_TYPE=
549 if test x$USE_GLIB2 = xyes; then
550 AC_MSG_WARN(ghttp disabled for glib2.0)
552 AC_CHECK_LIB(ghttp, ghttp_request_new,
554 GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
559 AC_SUBST(GST_HTTPSRC_GET_TYPE)
563 translit(dnm, m, l) AM_CONDITIONAL(USE_JACK, true)
564 GST_CHECK_FEATURE(JACK, Jack, jack, [
565 PKG_CHECK_MODULES(JACK, jack >= 0.29.0, HAVE_JACK="yes", HAVE_JACK="no")
566 AC_SUBST(JACK_CFLAGS)
571 dnl FIXME: we could use header checks here as well IMO
572 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
573 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
574 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
580 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
581 GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
582 AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
586 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
587 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
588 GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, HAVE_LAME="yes" LAME_LIBS="-lmp3lame")
592 dnl *** libcolorspace ***
593 translit(dnm, m, l) AM_CONDITIONAL(USE_LCS, true)
594 GST_CHECK_FEATURE(LCS, Lcs, lcs, [
595 PKG_CHECK_MODULES(LCS, lcs, HAVE_LCS="yes", HAVE_LCS="no")
601 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBFAME, true)
602 GST_CHECK_FEATURE(LIBFAME, [libfame MPEG1/4 encoder], libfame, [
603 AM_PATH_LIBFAME(0.9.0, HAVE_LIBFAME="yes", HAVE_LIBFAME="no")
604 AC_SUBST(LIBFAME_CFLAGS)
605 AC_SUBST(LIBFAME_LIBS)
609 dnl FIXME: we could use header checks here as well IMO
610 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
611 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
612 AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
613 if test "x$HAVE_MAD" = "xyes"; then
614 # installed with mad >= 0.14
618 AC_CHECK_LIB(id3tag, id3_tag_query, HAVE_MAD="yes" MAD_LIBS="$MAD_LIBS -lid3tag")
625 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
626 GST_CHECK_FEATURE(MIKMOD, [mikmod plug-in], mikmod, [
627 AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
628 AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
629 AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
632 dnl *** mjpegtools ***
633 translit(dnm, m, l) AM_CONDITIONAL(USE_MJPEGTOOLS, true)
634 GST_CHECK_FEATURE(MJPEGTOOLS, [mjpegtools], jpegmmxenc jpegmmxdec, [
635 PKG_CHECK_MODULES(MJPEGTOOLS, mjpegtools, HAVE_MJPEGTOOLS="yes", HAVE_MJPEGTOOLS="no")
637 if [ test x$HAVE_MJPEGTOOLS = x"yes" ]; then
638 dnl some headers we might want to need
639 AC_CHECK_HEADERS(stdint.h, HAVE_STDINT_H="yes", HAVE_STDINT_H="no")
640 if [ test x$HAVE_STDINT_H = x"no" ]; then
641 AC_CHECK_HEADERS(inttypes.h sys/types.h, HAVE_INTTYPES_H="yes", [
642 AC_WARNING(No valid header files found, mjpegtools plugins disabled)
643 HAVE_INTTYPES_H="no" HAVE_MJPEGTOOLS="no"
646 AC_CHECK_HEADERS(stdbool.h, HAVE_STDBOOL_H="yes", HAVE_STDBOOL_H="no")
648 dnl sizeof PRId64 etc...
650 AC_CHECK_SIZEOF(long)
651 AC_CHECK_SIZEOF(long long)
654 PRID64_STRING_FORMAT="d"
657 PRID64_STRING_FORMAT="ld"
659 $ac_cv_sizeof_long_long)
660 PRID64_STRING_FORMAT="lld"
663 AC_MSG_WARN(No suitable variant for 64bits integers found, mjpegtools plugins disabled)
668 AC_DEFINE_UNQUOTED(PRID64_STRING_FORMAT, "$PRID64_STRING_FORMAT",
669 [ A printf type definition for 64 bit integers ])
670 AC_SUBST(MJPEGTOOLS_LIBS)
671 AC_SUBST(MJPEGTOOLS_CFLAGS)
676 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
677 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
678 AC_CHECK_MPEG2DEC(HAVE_MPEG2DEC=yes, HAVE_MPEG2DEC=no)
681 dnl *** openquicktime ***
682 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENQUICKTIME, true)
683 GST_CHECK_FEATURE(OPENQUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
684 GST_CHECK_LIBHEADER(OPENQUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, OPENQUICKTIME_LIBS="-lopenquicktime")
685 AC_SUBST(OPENQUICKTIME_LIBS)
689 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
690 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
691 GST_CHECK_LIBHEADER(RAW1394, raw1394, raw1394_get_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-raw1394")
692 AC_SUBST(RAW1394_LIBS)
696 dnl FIXME : adapt and make it work
697 translit(dnm, m, l) AM_CONDITIONAL(USE_RTP, true)
698 GST_CHECK_FEATURE(RTP, [RTP library], rtpenc rtpdec,[
699 AC_CHECK_LIB(ortp, ortp_init, HAVE_RTP=yes, HAVE_RTP=no, $GST_CFLAGS $GST_LIBS)
704 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
705 dnl can use GST_* which should have GLIB_* info
706 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
707 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
708 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
709 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
712 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
713 GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink, [
714 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
718 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
719 GST_CHECK_FEATURE(SHOUT, [shout plug-in], icecastsend, [
720 GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
725 translit(dnm, m, l) AM_CONDITIONAL(USE_SIDPLAY, true)
726 GST_CHECK_FEATURE(SIDPLAY, [sidplay plug-in], sidplay, [
730 dnl *** smoothwave ***
731 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHWAVE, true)
732 GST_CHECK_FEATURE(SMOOTHWAVE, [smoothwave plug-in], smoothwave, [
733 if test $HAVE_GTK = "yes"; then HAVE_SMOOTHWAVE=yes; fi;
738 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
739 GST_CHECK_FEATURE(LIBPNG, [snapshot plug-in], snapshot, [
740 GST_CHECK_LIBHEADER(LIBPNG, png, png_read_info, -lz, png.h, LIBPNG_LIBS="-lpng -lz")
741 AC_SUBST(LIBPNG_LIBS)
745 translit(dnm, m, l) AM_CONDITIONAL(USE_SWFDEC, true)
746 GST_CHECK_FEATURE(SWFDEC, [swfdec plug-in], swfdec, [
747 PKG_CHECK_MODULES(SWFDEC, libswfdec, HAVE_SWFDEC="yes", HAVE_SWFDEC="no")
748 AC_SUBST(SWFDEC_CFLAGS)
749 AC_SUBST(SWFDEC_LIBS)
753 dnl for now the sources are included in the plug-in
754 dnl and should be moved to ext-libs/ perhaps
755 translit(dnm, m, l) AM_CONDITIONAL(USE_TARKIN, true)
756 GST_CHECK_FEATURE(TARKIN, [tarkinenc tarkindec], tarkin, [
761 dnl AM_PATH_VORBIS only takes two options
762 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
763 GST_CHECK_FEATURE(VORBIS, [vorbis plug-in], vorbisenc vorbisdec, [
764 AM_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
768 translit(dnm, m, l) AM_CONDITIONAL(USE_XMMS, true)
769 GST_CHECK_FEATURE(XMMS, [xmms plug-in], xmms, [
770 AM_PATH_XMMS(0.1.0, HAVE_XMMS=yes, HAVE_XMMS=no)
773 fi dnl of EXT plugins
775 dnl Check for atomic.h
776 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
777 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
778 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
779 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
780 if test x$HAVE_ATOMIC_H = xyes; then
782 #include "asm/atomic.h"
783 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
786 if test x$HAVE_ATOMIC_H = xyes; then
787 AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
793 AC_MSG_WARN(Can't check properly for atomic reference counting. Assuming OK.)
798 dnl ######################################################################
799 dnl # Check command line parameters, and set shell variables accordingly #
800 dnl ######################################################################
804 AC_ARG_ENABLE(libmmx,
805 AC_HELP_STRING([--enable-libmmx],[use libmmx, if available]),
806 [case "${enableval}" in
807 yes) USE_LIBMMX=$HAVE_LIBMMX ;;
809 *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
811 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
813 AC_ARG_ENABLE(atomic,
814 AC_HELP_STRING([--enable-atomic],[use atomic reference counting header]),
815 [case "${enableval}" in
816 yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
817 noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
818 no) USE_ATOMIC_H=no;;
819 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
821 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
823 AC_ARG_ENABLE(profiling,
824 AC_HELP_STRING([--enable-profiling],
825 [-pg to compiler commandline, for profiling]),
826 [case "${enableval}" in
827 yes) USE_PROFILING=yes ;;
828 no) UES_PROFILING=no ;;
829 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
831 [USE_PROFILING=no]) dnl Default value
834 AC_HELP_STRING([--disable-tests],[disable building test apps]),
835 [case "${enableval}" in
836 yes) BUILD_TESTS=yes ;;
837 no) BUILD_TESTS=no ;;
838 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
840 [BUILD_TESTS=yes]) dnl Default value
842 AC_ARG_ENABLE(examples,
843 AC_HELP_STRING([--disable-examples],[disable building examples]),
844 [case "${enableval}" in
845 yes) BUILD_EXAMPLES=yes ;;
846 no) BUILD_EXAMPLES=no ;;
847 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
849 [BUILD_EXAMPLES=yes]) dnl Default value
851 dnl seeking needs freetype, so check for it here
852 AC_CHECK_FT2(2.0.9,HAVE_FT2=yes,HAVE_FT2=no)
853 dnl make the HAVE_FT2 variable available to automake and Makefile.am
854 AM_CONDITIONAL(HAVE_FT2, test "x$HAVE_FT2" = "xyes")
858 dnl ################################################
859 dnl # Set defines according to variables set above #
860 dnl ################################################
863 if test "x$USE_LIBMMX" = xyes; then
864 AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
867 if test "x$USE_ATOMIC_H" = xyes; then
868 AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
871 if test "x$USE_DEBUG" = xyes; then
872 GST_CFLAGS="$GST_CFLAGS -g"
875 if test "x$USE_PROFILING" = xyes; then
876 dnl CFLAGS="$CFLAGS -pg -fprofile-arcs"
877 FOMIT_FRAME_POINTER=""
879 FOMIT_FRAME_POINTER="-fomit-frame-pointer"
883 dnl AC_SUBST(FOMIT_FRAME_POINTER)
886 dnl #############################
887 dnl # Set automake conditionals #
888 dnl #############################
890 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
891 dnl HAVE_ and it is likely to be easier to stick with the old name
892 AM_CONDITIONAL(HAVE_CPU_I386, test "x$HAVE_CPU_I386" = "xyes")
893 AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes")
894 AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes")
895 AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes")
896 AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes")
897 AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
899 AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
901 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
902 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
904 AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
905 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
906 AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
907 AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
908 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
909 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
910 AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes")
911 AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG)
912 AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF)
913 AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes")
915 GST_CFLAGS="$GST_CFLAGS -I\$(top_srcdir)/gst-libs -Wall -Werror"
919 dnl #########################
920 dnl # Make the output files #
921 dnl #########################
923 dnl testsuite/autoplug/Makefile
924 dnl testsuite/Makefile
928 gstreamer-libs-uninstalled.pc
931 gst/ac3parse/Makefile
933 gst/audioscale/Makefile
936 gst/cdxaparse/Makefile
939 gst/deinterlace/Makefile
941 gst/festival/Makefile
945 gst/intfloat/Makefile
949 gst/mixmatrix/Makefile
950 gst/mpeg1enc/Makefile
951 gst/mpeg1sys/Makefile
952 gst/mpeg1videoparse/Makefile
953 gst/mpeg2enc/Makefile
954 gst/mpeg2sub/Makefile
955 gst/mpegaudio/Makefile
956 gst/mpegaudioparse/Makefile
957 gst/mpegstream/Makefile
958 gst/mpegtypes/Makefile
960 gst/modplug/libmodplug/Makefile
961 gst/monoscope/Makefile
962 gst/passthrough/Makefile
963 gst/playondemand/Makefile
969 gst/spectrum/Makefile
972 gst/stereomono/Makefile
973 gst/synaesthesia/Makefile
975 gst/videoscale/Makefile
976 gst/videotestsrc/Makefile
977 gst/videocrop/Makefile
981 gst/wavparse/Makefile
993 sys/videosink/Makefile
1000 ext/audiofile/Makefile
1001 ext/avifile/Makefile
1002 ext/cdparanoia/Makefile
1004 ext/dvdread/Makefile
1009 ext/gnomevfs/Makefile
1018 ext/libfame/Makefile
1021 ext/mjpegtools/Makefile
1022 ext/mpeg2dec/Makefile
1023 ext/openquicktime/Makefile
1024 ext/raw1394/Makefile
1028 ext/sidplay/Makefile
1029 ext/smoothwave/Makefile
1035 gst-libs/gst/Makefile
1036 gst-libs/gst/audio/Makefile
1037 gst-libs/gst/floatcast/Makefile
1038 gst-libs/gst/gconf/Makefile
1039 gst-libs/gst/idct/Makefile
1040 gst-libs/gst/resample/Makefile
1041 gst-libs/gst/riff/Makefile
1042 examples/dynparams/Makefile
1043 examples/capsfilter/Makefile
1044 examples/seeking/Makefile
1052 echo -e "configure: *** Plug-ins that will be built : $GST_PLUGINS_YES"
1054 echo -e "configure: *** Plug-ins that will not be built : $GST_PLUGINS_NO"
1056 if test "x$BUILD_EXTERNAL" = "xno"; then
1057 echo "configure: *** No external plug-ins will be built"