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_VERSION, 0, 4, 2, 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_FLAGS="-I m4 -I common/m4"
26 AC_SUBST(ACLOCAL_AMFLAGS, $ACLOCAL_FLAGS)
32 dnl determine c++ compiler
34 dnl determine if c++ is available on this system
35 AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
36 dnl determine c++ preprocessor
42 dnl ############################################
43 dnl # Super Duper options for plug-in building #
44 dnl ############################################
46 dnl ext plug-ins; plug-ins that have external dependencies
47 GST_CHECK_FEATURE(EXTERNAL, [enable building of plug-ins with external deps],,
48 [HAVE_EXTERNAL=yes],enabled,
50 AC_MSG_WARN(building external plug-ins)
53 AC_MSG_WARN(all plug-ins with external dependencies will not be built)
56 # make BUILD_EXTERNAL available to Makefile.am
57 AM_CONDITIONAL(BUILD_EXTERNAL, test "x$BUILD_EXTERNAL" = "xyes")
59 dnl experimental plug-ins; stuff that hasn't had the dust settle yet
60 dnl read 'builds, but might not work'UTO
61 GST_CHECK_FEATURE(EXPERIMENTAL, [enable building of experimental plug-ins],,
62 [HAVE_EXPERIMENTAL=yes],disabled,
64 AC_MSG_WARN(building experimental plug-ins)
68 AC_MSG_NOTICE(not building experimental plug-ins)
73 dnl broken plug-ins; stuff that doesn't seem to build at the moment
74 GST_CHECK_FEATURE(BROKEN, [enable building of broken plug-ins],,
75 HAVE_BROKEN=yes,disabled,
77 AC_MSG_WARN([building broken plug-ins -- no bug reports on these, only patches :)])
85 AC_MSG_NOTICE([not building broken plug-ins])
88 dnl ##############################
89 dnl # Do automated configuration #
90 dnl ##############################
95 dnl allow for different autotools
96 AS_AUTOTOOLS_ALTERNATE()
98 dnl modify pkg-config path
99 AC_ARG_WITH(pkg-config-path,
100 AC_HELP_STRING([--with-pkg-config-path],[colon-separated list of pkg-config(1) dirs]),
101 [export PKG_CONFIG_PATH=${withval}])
104 AC_PATH_PROG(NASM_PATH, nasm, no)
106 if test x$NASM_PATH = xno; then
107 AC_MSG_WARN(Couldn't find nasm)
110 AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
114 dnl check for gconftool-2
115 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONFTOOL, true)
116 GST_CHECK_FEATURE(GCONFTOOL, [GConf schemas], , [
117 AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
118 if test x$GCONFTOOL = xno; then
119 AC_MSG_WARN(Not installing GConf schemas)
125 AC_SUBST(HAVE_GCONFTOOL)
128 dnl check for GConf libraries
129 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONF, true)
130 GST_CHECK_FEATURE(GCONF, [GConf libraries], , [
131 PKG_CHECK_MODULES(GCONF, gconf-2.0, HAVE_GCONF="yes", HAVE_GCONF="no")
132 AC_SUBST(GCONF_CFLAGS)
136 dnl check for gstreamer; uninstalled is selected preferentially -- see pkg-config(1)
137 PKG_CHECK_MODULES(GST, gstreamer >= $GST_PLUGINS_VERSION_MAJOR.$GST_PLUGINS_VERSION_MINOR.$GST_PLUGINS_VERSION_MICRO,
138 HAVE_GST="yes", HAVE_GST="no")
140 if test "x$HAVE_GST" = "xno"; then
141 AC_MSG_ERROR(no GStreamer found)
144 GST_TOOLS_DIR=`pkg-config --variable=toolsdir gstreamer`
145 if test -z $GST_TOOLS_DIR; then
146 AC_MSG_ERROR([no tools dir defined in GStreamer pkg-config file; core upgrade needed.])
148 AC_SUBST(GST_TOOLS_DIR)
150 dnl Set up conditionals for (target) architecture:
151 dnl ==============================================
154 case "x${target_cpu}" in
155 xi?86 | k?) HAVE_CPU_I386=yes
156 AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
157 dnl FIXME could use some better detection
159 case "x${target_cpu}" in
161 *) AC_DEFINE(HAVE_RDTSC, 1, [Define if RDTSC is available]) ;;
163 xpowerpc) HAVE_CPU_PPC=yes
164 AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
165 xalpha) HAVE_CPU_ALPHA=yes
166 AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
167 xarm*) HAVE_CPU_ARM=yes
168 AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
169 xsparc*) HAVE_CPU_SPARC=yes
170 AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
171 xmips*) HAVE_CPU_MIPS=yes
172 AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
173 xhppa*) HAVE_CPU_HPPA=yes
174 AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
177 dnl Determine endianness
180 dnl Check for fast float to int casting as defined in C99
184 dnl Check for essential libraries first:
185 dnl ====================================
188 PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
189 GTK_CFLAGS=$GTK2_CFLAGS
194 dnl Check for X11 extensions
196 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
197 AC_MSG_NOTICE([cannot find X11, the build system needs fixage])
201 AC_SUBST(X_EXTRA_LIBS)
204 dnl ===========================================================================
205 dnl ============================= gst plug-ins ================================
206 dnl ===========================================================================
208 GST_PLUGIN_LDFLAGS='-module -avoid-version'
209 AC_SUBST(GST_PLUGIN_LDFLAGS)
211 dnl these are all the gst plug-ins, compilable without additional libs
213 ac3parse adder audioscale auparse avi cdxaparse chart\
214 cutter deinterlace effectv festival filter flx goom\
216 median mixmatrix mpeg1enc mpeg1sys mpeg1videoparse mpeg2enc mpeg2sub\
217 mpegaudio mpegaudioparse mpegstream mpegtypes\
218 monoscope passthrough playondemand qtdemux rtjpeg silence sine\
219 smooth smpte spectrum speed stereo stereomono synaesthesia\
220 udp videocrop videoscale videotestsrc volenv volume\
221 vumeter wavenc wavparse y4m"
223 dnl see if we can build C++ plug-ins
224 if test "x$HAVE_CXX" = "xyes"; then
225 GST_PLUGINS_ALL="$GST_PLUGINS_ALL \
228 AC_MSG_WARN([Not compiling plug-ins requiring C++ compiler])
231 AC_SUBST(GST_PLUGINS_ALL)
233 GST_PLUGINS_SELECTED=""
236 AC_HELP_STRING([--with-plugins],[comma-separated list of plug-ins to compile]),
237 [for i in `echo $withval | tr , ' '`; do
238 if test -n `echo $i | grep $GST_PLUGINS_ALL`; then
239 GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
241 echo "plug-in $i not recognized, ignoring..."
244 [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
246 AC_SUBST(GST_PLUGINS_SELECTED)
248 dnl ==========================================================================
249 dnl ============================= sys plug-ins ================================
250 dnl ==========================================================================
252 dnl *** DXR3 card ***
253 translit(dnm, m, l) AM_CONDITIONAL(USE_DXR3, true)
254 GST_CHECK_FEATURE(DXR3, [DXR3 hardware mpeg video decoder], dxr3videosink, [
255 AC_CHECK_HEADER(linux/em8300.h, HAVE_DXR3="yes", HAVE_DXR3="no")
258 dnl *** OSS audio ***
259 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
260 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
261 AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
265 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
266 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, [
267 dnl this one is for hadess, no qcam when no nasm found
268 if test "x$HAVE_NASM" = "xno";
271 AC_MSG_WARN([QuickCam needs nasm])
277 dnl *** Video 4 Linux ***
278 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
279 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc v4lmjpegsrc v4lmjpegsink, [
280 AC_CHECK_DECL(VID_TYPE_MPEG_ENCODER, HAVE_V4L="yes", HAVE_V4L="no", [#include <linux/videodev.h>])
283 dnl *** Video 4 Linux 2***
284 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L2, true)
285 GST_CHECK_FEATURE(V4L2, [Video 4 Linux 2], v4l2src, [
286 AC_CHECK_HEADER(linux/videodev2.h, HAVE_V4L2="yes", HAVE_V4L2="no")
290 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
291 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
292 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
296 translit(dnm, m, l) AM_CONDITIONAL(USE_VGA, true)
297 GST_CHECK_FEATURE(VGA, [VGA], vgavideosink, [
298 AC_CHECK_HEADER(asm/vga.h, HAVE_VGA="yes", HAVE_VGA="no")
301 dnl *** CDROM Audio ***
302 translit(dnm, m, l) AM_CONDITIONAL(USE_CDROM, true)
303 GST_CHECK_FEATURE(CDROM, [CDROM Audio], cdrom, [
304 AC_CHECK_HEADERS(linux/cdrom.h) dnl linux
305 AC_CHECK_HEADERS(sys/cdio.h) dnl almost everything else
306 dnl AC_CHECK_HEADERS(dmedia/cdaudio.h) dnl irix
308 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
310 *-sun-* | *-*-linux*)
311 AC_DEFINE(HAVE_CDROM_SOLARIS,, [Define if cdrom access is in Solaris style])
314 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
316 *-*-netbsd* | *-*-openbsd*)
317 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
318 AC_DEFINE(HAVE_CDROM_BSD_NETBSD,, [Define if cdrom access uses NetBSD variant])
321 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
322 AC_DEFINE(HAVE_CDROM_BSD_DARWIN,, [Define if cdrom access uses Darwin variant])
325 dnl AC_DEFINE(HAVE_CDROM_IRIX,, [Define if cdrom access is in Irix DMedia style])
336 dnl Look for the PIC library first, Debian requires it.
337 dnl Check debian-devel archives for gory details.
339 dnl At the moment XFree86 doesn't distribute shared libXv due
340 dnl to unstable API. On many platforms you CAN NOT link a shared
341 dnl lib to a static non-PIC lib. This is what the xvideo GStreamer
342 dnl plug-in wants to do. So Debian distributes a PIC compiled
343 dnl version of the static lib for plug-ins to link to when it is
344 dnl inappropriate to link the main application to libXv directly.
345 dnl FIXME: add check if this platform can support linking to a
346 dnl non-PIC libXv, if not then don not use Xv.
347 dnl FIXME: perhaps warn user if they have a shared libXv since
348 dnl this is an error until XFree86 starts shipping one
349 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
350 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], xvideosink videosink, [
351 dnl check for PIC static lib
352 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")
353 if test x$HAVE_XVIDEO = xno; then
354 dnl PIC lib not found, check for regular lib
355 GST_CHECK_LIBHEADER(XVIDEO, Xv, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h, XVIDEO_LIBS="-lXv -lXext")
357 AC_SUBST(XVIDEO_LIBS)
360 dnl Next, check for the optional libraries:
361 dnl These are all libraries used in building plug-ins
362 dnl ================================================
363 dnl let's try and sort them alphabetically, shall we ?
365 if test "x$BUILD_EXTERNAL" = "xyes"; then
367 AC_MSG_NOTICE(Checking for plug-in dependency libraries)
370 translit(dnm, m, l) AM_CONDITIONAL(USE_A52DEC, true)
371 GST_CHECK_FEATURE(A52DEC, [a52dec], a52dec, [
372 AC_CHECK_A52DEC(HAVE_A52DEC=yes, HAVE_A52DEC=no)
376 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
377 GST_CHECK_FEATURE(AALIB, [aasink plug-in], aasink, [
378 AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
379 AS_SCRUB_INCLUDE(AALIB_CFLAGS)
383 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
384 GST_CHECK_FEATURE(ALSA, [alsa plug-ins], gstalsa, [
385 AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
389 dnl if mcopidl can't be found there's no use in compiling it
390 AC_CHECK_PROG(MCOPIDL, mcopidl, yes, no)
391 if test "xHAVE_MCOPIDL" = "xno";
396 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
397 GST_CHECK_FEATURE(ARTS, [arts plug-ins], arts, [
398 AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
402 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
403 GST_CHECK_FEATURE(ARTSC, [artsd plug-ins], artsdsink, [
407 dnl *** audiofile ***
408 dnl this check uses the GST_CHECK_CONFIGPROG macro
409 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
410 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
411 translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
412 translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
413 GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
414 dnl we need this function
415 AC_CHECK_LIB(audiofile, afOpenVirtualFile, , HAVE_AUDIOFILE="no")
419 translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true)
420 GST_CHECK_FEATURE(AVIFILE, [avifile], winenc windec, [
421 if test "x$no_x" = "xyes"; then
422 AC_MSG_WARN([No X libraries found, avifile test might fail compilation])
424 if test "x$HAVE_CXX" != "xyes"; then
425 AC_MSG_WARN([No C++ compiler found, avifile test will fail compilation])
430 dnl *** CDParanoia ***
431 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
432 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
433 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface,
436 CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
438 FOUND_CDPARANOIA="yes")
439 if test "x$FOUND_CDPARANOIA" != "xyes";
441 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface,
443 cdda/cdda_interface.h,
444 CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
446 FOUND_CDPARANOIA="yes")
448 if test "x$HEADER_DIR" = "xyes";
450 AC_DEFINE_UNQUOTED(CDPARANOIA_HEADERS_IN_DIR, ,
451 defined if cdda headers are in a cdda/ directory)
453 AC_SUBST(CDPARANOIA_LIBS)
455 dnl FIXME : add second check somehow if that is necessary
456 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
457 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
460 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDV, true)
461 GST_CHECK_FEATURE(LIBDV, [libdv DV/video decoder], dvdec, [
462 PKG_CHECK_MODULES(LIBDV, libdv >= 0.98, HAVE_LIBDV="yes", HAVE_LIBDV="no")
463 AC_SUBST(LIBDV_CFLAGS)
468 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
469 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdreadsrc, [
470 GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
471 AC_SUBST(DVDREAD_LIBS)
475 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDNAV, true)
476 GST_CHECK_FEATURE(DVDNAV, [dvdnav library], dvdnavsrc, [
477 translit(dnm, m, l) AC_SUBST(DVDNAV_LIBS)
478 translit(dnm, m, l) AC_SUBST(DVDNAV_CFLAGS)
479 GST_CHECK_CONFIGPROG(DVDNAV, dvdnav-config)
480 AS_SCRUB_INCLUDE(DVDNAV_CFLAGS)
484 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
485 GST_CHECK_FEATURE(ESD, [esound plug-ins], esdsink esdmon, [
486 AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
489 dnl **** festival ****
490 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_FESTIVAL, true)
491 dnl GST_CHECK_FEATURE(FESTIVAL, [festival plug-ins], festivalsrc, [
492 dnl NOTE: just using local net connection now, add this lib check
493 dnl in the future if needed
494 dnl AC_LANG_PUSH(C++)
495 dnl dnl FIXME: took out func to check for
496 dnl dnl This check puts festival_tidy_up in extern "C".
497 dnl dnl But, at least on Debian as of 20020110, it is compiled with name
498 dnl dnl mangling C++ nonsense and symbols can't resolve
499 dnl dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, festival_tidy_up, , festival/festival.h, FESTIVAL_LIBS="-lFestival")
500 dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, , , festival/festival.h, FESTIVAL_LIBS="-lFestival")
502 dnl AC_SUBST(FESTIVAL_LIBS)
503 dnl HAVE_FESTIVAL=yes
507 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
508 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
509 GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__stream_decoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
513 dnl *** Gnome VFS ***
514 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
515 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
516 PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0, HAVE_GNOME_VFS="yes", HAVE_GNOME_VFS="no")
517 AC_SUBST(GNOME_VFS_CFLAGS)
518 AC_SUBST(GNOME_VFS_LIBS)
522 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
523 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
524 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
525 if test $HAVE_GSM != "yes"; then
526 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
527 if test $HAVE_GSM = "yes"; then
528 AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
535 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
536 GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
537 GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
538 ], AC_SUBST(HERMES_LIBS))
541 translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
542 GST_CHECK_FEATURE(HTTP, [http plug-ins], gsthttpsrc, [
543 dnl FIXME: need to check for header
545 GST_HTTPSRC_GET_TYPE=
546 if test x$USE_GLIB2 = xyes; then
547 AC_MSG_WARN(ghttp disabled for glib2.0)
549 AC_CHECK_LIB(ghttp, ghttp_request_new,
551 GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
556 AC_SUBST(GST_HTTPSRC_GET_TYPE)
560 translit(dnm, m, l) AM_CONDITIONAL(USE_JACK, true)
561 GST_CHECK_FEATURE(JACK, Jack, jack, [
562 PKG_CHECK_MODULES(JACK, jack >= 0.29.0, HAVE_JACK="yes", HAVE_JACK="no")
563 AC_SUBST(JACK_CFLAGS)
568 dnl FIXME: we could use header checks here as well IMO
569 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
570 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
571 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
577 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
578 GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
579 AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
583 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
584 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
585 GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, HAVE_LAME="yes" LAME_LIBS="-lmp3lame")
589 dnl *** libcolorspace ***
590 translit(dnm, m, l) AM_CONDITIONAL(USE_LCS, true)
591 GST_CHECK_FEATURE(LCS, Lcs, lcs, [
592 PKG_CHECK_MODULES(LCS, lcs, HAVE_LCS="yes", HAVE_LCS="no")
598 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBFAME, true)
599 GST_CHECK_FEATURE(LIBFAME, [libfame MPEG1/4 encoder], libfame, [
600 AM_PATH_LIBFAME(0.9.0, HAVE_LIBFAME="yes", HAVE_LIBFAME="no")
601 AC_SUBST(LIBFAME_CFLAGS)
602 AC_SUBST(LIBFAME_LIBS)
606 dnl FIXME: we could use header checks here as well IMO
607 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
608 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
609 AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
610 if test "x$HAVE_MAD" = "xyes"; then
611 # installed with mad >= 0.14
615 AC_CHECK_LIB(id3tag, id3_tag_query, HAVE_MAD="yes" MAD_LIBS="$MAD_LIBS -lid3tag")
622 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
623 GST_CHECK_FEATURE(MIKMOD, [mikmod plug-in], mikmod, [
624 AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
625 AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
626 AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
629 dnl *** mjpegtools ***
630 translit(dnm, m, l) AM_CONDITIONAL(USE_MJPEGTOOLS, true)
631 GST_CHECK_FEATURE(MJPEGTOOLS, [mjpegtools], jpegmmxenc jpegmmxdec, [
632 PKG_CHECK_MODULES(MJPEGTOOLS, mjpegtools, HAVE_MJPEGTOOLS="yes", HAVE_MJPEGTOOLS="no")
634 if [ test x$HAVE_MJPEGTOOLS = x"yes" ]; then
635 dnl some headers we might want to need
636 AC_CHECK_HEADERS(stdint.h, HAVE_STDINT_H="yes", HAVE_STDINT_H="no")
637 if [ test x$HAVE_STDINT_H = x"no" ]; then
638 AC_CHECK_HEADERS(inttypes.h sys/types.h, HAVE_INTTYPES_H="yes", [
639 AC_MSG_WARN(No valid header files found, mjpegtools plugins disabled)
640 HAVE_INTTYPES_H="no" HAVE_MJPEGTOOLS="no"
643 AC_CHECK_HEADERS(stdbool.h, HAVE_STDBOOL_H="yes", HAVE_STDBOOL_H="no")
645 dnl sizeof PRId64 etc...
647 AC_CHECK_SIZEOF(long)
648 AC_CHECK_SIZEOF(long long)
651 PRID64_STRING_FORMAT="d"
654 PRID64_STRING_FORMAT="ld"
656 $ac_cv_sizeof_long_long)
657 PRID64_STRING_FORMAT="lld"
660 AC_MSG_WARN(No suitable variant for 64bits integers found, mjpegtools plugins disabled)
665 AC_DEFINE_UNQUOTED(PRID64_STRING_FORMAT, "$PRID64_STRING_FORMAT",
666 [ A printf type definition for 64 bit integers ])
667 AC_SUBST(MJPEGTOOLS_LIBS)
668 AC_SUBST(MJPEGTOOLS_CFLAGS)
673 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
674 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
675 AC_CHECK_MPEG2DEC(HAVE_MPEG2DEC=yes, HAVE_MPEG2DEC=no)
678 dnl *** openquicktime ***
679 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENQUICKTIME, true)
680 GST_CHECK_FEATURE(OPENQUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
681 GST_CHECK_LIBHEADER(OPENQUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, OPENQUICKTIME_LIBS="-lopenquicktime")
682 AC_SUBST(OPENQUICKTIME_LIBS)
686 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
687 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
688 GST_CHECK_LIBHEADER(RAW1394, raw1394, raw1394_get_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-raw1394")
689 AC_SUBST(RAW1394_LIBS)
693 dnl FIXME : adapt and make it work
694 translit(dnm, m, l) AM_CONDITIONAL(USE_RTP, true)
695 GST_CHECK_FEATURE(RTP, [RTP library], rtpenc rtpdec,[
696 AC_CHECK_LIB(ortp, ortp_init, HAVE_RTP=yes, HAVE_RTP=no, $GST_CFLAGS $GST_LIBS)
701 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
702 dnl can use GST_* which should have GLIB_* info
703 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
704 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
705 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
706 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
709 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
710 GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink, [
711 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
715 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
716 GST_CHECK_FEATURE(SHOUT, [shout plug-in], icecastsend, [
717 GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
722 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT2, true)
723 GST_CHECK_FEATURE(SHOUT2, [shout2 plug-in], shout2send, [
724 AM_PATH_SHOUT2(HAVE_SHOUT2=yes, HAVE_SHOUT2=no)
725 AC_SUBST(SHOUT2_CFLAGS)
726 AC_SUBST(SHOUT2_LIBS)
730 translit(dnm, m, l) AM_CONDITIONAL(USE_SIDPLAY, true)
731 GST_CHECK_FEATURE(SIDPLAY, [sidplay plug-in], sidplay, [
735 dnl *** smoothwave ***
736 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHWAVE, true)
737 GST_CHECK_FEATURE(SMOOTHWAVE, [smoothwave plug-in], smoothwave, [
738 if test $HAVE_GTK = "yes"; then HAVE_SMOOTHWAVE=yes; fi;
743 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
744 GST_CHECK_FEATURE(LIBPNG, [snapshot plug-in], snapshot, [
745 GST_CHECK_LIBHEADER(LIBPNG, png, png_read_info, -lz -lm, png.h, LIBPNG_LIBS="-lpng -lz -lm")
746 AC_SUBST(LIBPNG_LIBS)
750 translit(dnm, m, l) AM_CONDITIONAL(USE_SWFDEC, true)
751 GST_CHECK_FEATURE(SWFDEC, [swfdec plug-in], swfdec, [
752 PKG_CHECK_MODULES(SWFDEC, libswfdec, HAVE_SWFDEC=yes, HAVE_SWFDEC=no)
753 AC_SUBST(SWFDEC_CFLAGS)
754 AC_SUBST(SWFDEC_LIBS)
758 dnl for now the sources are included in the plug-in
759 dnl and should be moved to ext-libs/ perhaps
760 translit(dnm, m, l) AM_CONDITIONAL(USE_TARKIN, true)
761 GST_CHECK_FEATURE(TARKIN, [tarkinenc tarkindec], tarkin, [
766 dnl AM_PATH_VORBIS only takes two options
767 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
768 GST_CHECK_FEATURE(VORBIS, [vorbis plug-in], vorbisenc vorbisdec, [
769 XIPH_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
770 AS_SCRUB_INCLUDE(VORBIS_CFLAGS)
774 translit(dnm, m, l) AM_CONDITIONAL(USE_XMMS, true)
775 GST_CHECK_FEATURE(XMMS, [xmms plug-in], xmms, [
776 AM_PATH_XMMS(0.1.0, HAVE_XMMS=yes, HAVE_XMMS=no)
779 fi dnl of EXT plugins
781 dnl Check for atomic.h
782 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
783 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
784 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
785 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
786 if test x$HAVE_ATOMIC_H = xyes; then
788 #include "asm/atomic.h"
789 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
792 if test x$HAVE_ATOMIC_H = xyes; then
793 AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
799 AC_MSG_WARN(Can't check properly for atomic reference counting. Assuming OK.)
804 dnl ######################################################################
805 dnl # Check command line parameters, and set shell variables accordingly #
806 dnl ######################################################################
810 AC_ARG_ENABLE(libmmx,
811 AC_HELP_STRING([--enable-libmmx],[use libmmx, if available]),
812 [case "${enableval}" in
813 yes) USE_LIBMMX=$HAVE_LIBMMX ;;
815 *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
817 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
819 AC_ARG_ENABLE(atomic,
820 AC_HELP_STRING([--enable-atomic],[use atomic reference counting header]),
821 [case "${enableval}" in
822 yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
823 noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
824 no) USE_ATOMIC_H=no;;
825 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
827 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
829 AC_ARG_ENABLE(profiling,
830 AC_HELP_STRING([--enable-profiling],
831 [-pg to compiler commandline, for profiling]),
832 [case "${enableval}" in
833 yes) USE_PROFILING=yes ;;
834 no) UES_PROFILING=no ;;
835 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
837 [USE_PROFILING=no]) dnl Default value
840 AC_HELP_STRING([--disable-tests],[disable building test apps]),
841 [case "${enableval}" in
842 yes) BUILD_TESTS=yes ;;
843 no) BUILD_TESTS=no ;;
844 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
846 [BUILD_TESTS=yes]) dnl Default value
848 AC_ARG_ENABLE(examples,
849 AC_HELP_STRING([--disable-examples],[disable building examples]),
850 [case "${enableval}" in
851 yes) BUILD_EXAMPLES=yes ;;
852 no) BUILD_EXAMPLES=no ;;
853 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
855 [BUILD_EXAMPLES=yes]) dnl Default value
857 dnl seeking needs freetype, so check for it here
858 AC_CHECK_FT2(2.0.9,HAVE_FT2=yes,HAVE_FT2=no)
859 dnl make the HAVE_FT2 variable available to automake and Makefile.am
860 AM_CONDITIONAL(HAVE_FT2, test "x$HAVE_FT2" = "xyes")
864 dnl ################################################
865 dnl # Set defines according to variables set above #
866 dnl ################################################
869 if test "x$USE_LIBMMX" = xyes; then
870 AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
873 if test "x$USE_ATOMIC_H" = xyes; then
874 AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
877 if test "x$USE_DEBUG" = xyes; then
878 GST_CFLAGS="$GST_CFLAGS -g"
881 if test "x$USE_PROFILING" = xyes; then
882 dnl CFLAGS="$CFLAGS -pg -fprofile-arcs"
883 FOMIT_FRAME_POINTER=""
885 FOMIT_FRAME_POINTER="-fomit-frame-pointer"
889 dnl AC_SUBST(FOMIT_FRAME_POINTER)
892 dnl #############################
893 dnl # Set automake conditionals #
894 dnl #############################
896 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
897 dnl HAVE_ and it is likely to be easier to stick with the old name
898 AM_CONDITIONAL(HAVE_CPU_I386, test "x$HAVE_CPU_I386" = "xyes")
899 AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes")
900 AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes")
901 AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes")
902 AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes")
903 AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
905 AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
907 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
908 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
910 AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
911 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
912 AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
913 AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
914 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
915 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
916 AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes")
917 AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG)
918 AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF)
919 AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes")
921 GST_CFLAGS="$GST_CFLAGS -I\$(top_srcdir)/gst-libs $GST_ERROR"
925 dnl #########################
926 dnl # Make the output files #
927 dnl #########################
932 gstreamer-libs-uninstalled.pc
934 gstreamer-play-uninstalled.pc
937 gst/ac3parse/Makefile
939 gst/audioscale/Makefile
942 gst/cdxaparse/Makefile
945 gst/deinterlace/Makefile
947 gst/festival/Makefile
951 gst/intfloat/Makefile
955 gst/mixmatrix/Makefile
956 gst/mpeg1enc/Makefile
957 gst/mpeg1sys/Makefile
958 gst/mpeg1videoparse/Makefile
959 gst/mpeg2enc/Makefile
960 gst/mpeg2sub/Makefile
961 gst/mpegaudio/Makefile
962 gst/mpegaudioparse/Makefile
963 gst/mpegstream/Makefile
964 gst/mpegtypes/Makefile
966 gst/modplug/libmodplug/Makefile
967 gst/monoscope/Makefile
968 gst/passthrough/Makefile
969 gst/playondemand/Makefile
976 gst/spectrum/Makefile
979 gst/stereomono/Makefile
980 gst/synaesthesia/Makefile
982 gst/videoscale/Makefile
983 gst/videotestsrc/Makefile
984 gst/videocrop/Makefile
989 gst/wavparse/Makefile
1001 sys/videosink/Makefile
1008 ext/audiofile/Makefile
1009 ext/avifile/Makefile
1010 ext/cdparanoia/Makefile
1012 ext/dvdread/Makefile
1017 ext/gnomevfs/Makefile
1026 ext/libfame/Makefile
1029 ext/mjpegtools/Makefile
1030 ext/mpeg2dec/Makefile
1031 ext/openquicktime/Makefile
1032 ext/raw1394/Makefile
1037 ext/sidplay/Makefile
1038 ext/smoothwave/Makefile
1039 ext/snapshot/Makefile
1045 gst-libs/gst/Makefile
1046 gst-libs/gst/audio/Makefile
1047 gst-libs/gst/floatcast/Makefile
1048 gst-libs/gst/gconf/Makefile
1049 gst-libs/gst/idct/Makefile
1050 gst-libs/gst/play/Makefile
1051 gst-libs/gst/resample/Makefile
1052 gst-libs/gst/riff/Makefile
1053 gst-libs/gst/video/Makefile
1054 examples/dynparams/Makefile
1055 examples/capsfilter/Makefile
1056 examples/seeking/Makefile
1058 testsuite/autoplug/Makefile
1059 testsuite/spider/Makefile
1067 echo -e "configure: *** Plug-ins that will be built : $GST_PLUGINS_YES"
1069 echo -e "configure: *** Plug-ins that will not be built : $GST_PLUGINS_NO"
1071 if test "x$BUILD_EXTERNAL" = "xno"; then
1072 echo "configure: *** No external plug-ins will be built"