]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - glsdk/gst-plugins-ugly0-10.git/blob - configure.ac
quiet a warning from autoconf
[glsdk/gst-plugins-ugly0-10.git] / configure.ac
1 dnl autoconf configuration file for gst-plugins 
2 AC_INIT
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
8 AM_DISABLE_STATIC
10 dnl when going to/from release please set the nano (fourth number) right !
11 AS_VERSION(gst-plugins, GST_PLUGINS, 0, 3, 2, 1)
12 AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
13 AS_LIBTOOL(GST_PLUGINS, 0, 0, 0, yes)
15 dnl FIXME take something else ?
16 AC_CONFIG_SRCDIR([gst/law/alaw.c])
17 AM_CONFIG_HEADER(config.h)
19 dnl Add parameters for aclocal
20 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
21 ACLOCAL="$ACLOCAL -I m4 -I common/m4 $ACLOCAL_FLAGS"
23 AM_MAINTAINER_MODE
25 AC_PROG_CC
26 AM_PROG_CC_STDC
27 AM_PROG_AS
28 AS="${CC}"
29 AC_PROG_CXX
30 AC_PROG_CXXCPP
31 AC_ISC_POSIX
33 AC_HEADER_STDC([])
35 dnl ###########################################
36 dnl # Super Duper options for plugin building #
37 dnl ###########################################
39 dnl experimental plugins; stuff that hasn't had the dust settle yet
40 dnl read 'builds, but might not work'
41 GST_CHECK_FEATURE(EXPERIMENTAL, [enable building of experimental plugins],,
42 [HAVE_EXPERIMENTAL=yes],disabled,
43 [
44   AC_MSG_WARN(building experimental plugins)
45   USE_SMOOTHWAVE="yes"
46   USE_TARKIN="yes"
47   USE_RTP="yes"
48 ],[
49   AC_MSG_NOTICE(not building experimental plugins)
50   USE_SMOOTHWAVE="no"
51   USE_TARKIN="no"
52   USE_RTP="no"
53 ])
55 dnl broken plugins; stuff that doesn't seem to build at the moment
56 GST_CHECK_FEATURE(BROKEN, [enable building of broken plugins],,
57 HAVE_BROKEN=yes,disabled,
58 [  
59   AC_MSG_WARN(building broken plugins)
60   USE_VGA="yes"
61   USE_XMMS="yes"
62   dnl AC_MSG_NOTICE(actually there are no broken plugins at the moment)
63 ],[
64   USE_VGA="no"
65   USE_XMMS="no"
66   AC_MSG_NOTICE(not building broken plugins)
67 ])
69 dnl ##############################
70 dnl # Do automated configuration #
71 dnl ##############################
73 dnl Check for tools:
74 dnl ================
76 dnl modify pkg-config path
77 AC_ARG_WITH(pkg-config-path, 
78    AC_HELP_STRING([--with-pkg-config-path],[colon-separated list of pkg-config(1) dirs]),
79    [export PKG_CONFIG_PATH=${withval}])
81 dnl Check for nasm
82 AC_PATH_PROG(NASM_PATH, nasm, no)
83 AC_SUBST(NASM_PATH)
84 if test x$NASM_PATH = xno; then
85   AC_MSG_WARN(Couldn't find nasm)
86   HAVE_NASM="no"
87 else
88   AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
89   HAVE_NASM="yes"
90 fi
92 dnl check for gstreamer; uninstalled is selected preferentially -- see pkg-config(1)
93 PKG_CHECK_MODULES(GST, gstreamer >= 0.3.1, HAVE_GST="yes", HAVE_GST="no")
95 if test "x$HAVE_GST" = "xno"; then
96   AC_MSG_ERROR(no GStreamer found)
97 fi
99 dnl Set up conditionals for (target) architecture:
100 dnl ==============================================
102 dnl Determine CPU
103 case "x${target_cpu}" in
104   xi?86 | k?) HAVE_CPU_I386=yes
105               AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
106               dnl FIXME could use some better detection
107               dnl       (ie CPUID)
108               case "x${target_cpu}" in
109                 xi386 | xi486) ;;
110                 *)             AC_DEFINE(HAVE_RDTSC) ;;
111               esac ;;
112   xpowerpc)   HAVE_CPU_PPC=yes
113               AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
114   xalpha)     HAVE_CPU_ALPHA=yes
115               AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
116   xarm*)      HAVE_CPU_ARM=yes
117               AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
118   xsparc*)    HAVE_CPU_SPARC=yes
119               AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
120   xmips*)     HAVE_CPU_MIPS=yes
121               AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
122   xhppa*)     HAVE_CPU_HPPA=yes
123               AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
124 esac
126 dnl Determine endianness
127 AC_C_BIGENDIAN
129 dnl Check for essential libraries first:
130 dnl ====================================
132 PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
133 GTK_CFLAGS=$GTK2_CFLAGS
134 GTK_LIBS=$GTK2_LIBS
135 AC_SUBST(GTK_LIBS)
136 AC_SUBST(GTK_CFLAGS)
138 dnl Check for X11 extensions
139 AC_PATH_XTRA
140 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
141   AC_MSG_NOTICE([cannot find X11, the build system needs fixage])
142 fi
143 AC_SUBST(X_CFLAGS)
144 AC_SUBST(X_PRE_LIBS)
145 AC_SUBST(X_EXTRA_LIBS)
146 AC_SUBST(X_LIBS)
148 dnl ==========================================================================
149 dnl ============================= gst plugins ================================
150 dnl ==========================================================================
151 GST_PLUGIN_LDFLAGS='-module -avoid-version'
152 AC_SUBST(GST_PLUGIN_LDFLAGS)
154 GST_PLUGINS_ALL="\
155         ac3parse adder audioscale auparse avi chart\
156         cutter deinterlace flx goom intfloat law level\
157         median mpeg1enc mpeg1sys mpeg1videoparse mpeg2enc mpeg2sub\
158         mpegaudio mpegaudioparse mpegstream mpegtypes\
159         passthrough playondemand rtjpeg silence sine\
160         smooth spectrum speed stereo stereomono\
161         synaesthesia udp videoscale volenv volume vumeter wavparse y4m"
163 AC_SUBST(GST_PLUGINS_ALL)
165 GST_PLUGINS_SELECTED=""
167 AC_ARG_WITH(plugins,
168     AC_HELP_STRING([--with-plugins],[comma-separated list of plugins to compile]),
169     [for i in `echo $withval | tr , ' '`; do
170         if test -n `echo $i | grep $GST_PLUGINS_ALL`; then
171             GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
172         else
173             echo "plugin $i not recognized, ignoring..."
174         fi
175     done],
176     [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
178 AC_SUBST(GST_PLUGINS_SELECTED)
180 dnl ==========================================================================
181 dnl ============================= sys plugins ================================
182 dnl ==========================================================================
185 dnl *** OSS audio ***
186 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
187 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
188   AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
189 ])
191 dnl *** QuickCam ***
192 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
193 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, [
194 dnl this one is for hadess, no qcam when no nasm found
195   if test "x$HAVE_NASM" = "xno";
196   then
197     HAVE_QCAM="no"
198     AC_MSG_WARN([QuickCam needs nasm])
199   else
200     HAVE_QCAM="yes"
201   fi
202 ])
204 dnl *** Video 4 Linux ***
205 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
206 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc v4lmjpegsrc v4lmjpegsink, [
207   AC_CHECK_DECL(VID_TYPE_MPEG_ENCODER, HAVE_V4L="yes", HAVE_V4L="no", [#include <linux/videodev.h>])
208 ])
210 dnl *** Video CD ***
211 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
212 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
213   AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
214 ])
216 dnl *** VGA ***
217 translit(dnm, m, l) AM_CONDITIONAL(USE_VGA, true)
218 GST_CHECK_FEATURE(VGA, [VGA], vgavideosink, [
219   AC_CHECK_HEADER(asm/vga.h, HAVE_VGA="yes", HAVE_VGA="no")
220 ])
222 dnl *** XVideo ***
223 dnl Look for the PIC library first, Debian requires it.
224 dnl Check debian-devel archives for gory details.
225 dnl 20020110:
226 dnl At the moment XFree86 doesn't distribute shared libXv due
227 dnl to unstable API.  On many platforms you CAN NOT link a shared
228 dnl lib to a static non-PIC lib.  This is what the xvideo GStreamer
229 dnl plugin wants to do.  So Debian distributes a PIC compiled
230 dnl version of the static lib for plugins to link to when it is
231 dnl inappropriate to link the main application to libXv directly.
232 dnl FIXME: add check if this platform can support linking to a
233 dnl        non-PIC libXv, if not then don not use Xv.
234 dnl FIXME: perhaps warn user if they have a shared libXv since
235 dnl        this is an error until XFree86 starts shipping one
236 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
237 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], xvideosink, [
238   dnl check for PIC static lib
239   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")
240   if test x$HAVE_XVIDEO = xno; then
241     dnl PIC lib not found, check for regular lib
242     GST_CHECK_LIBHEADER(XVIDEO, Xv, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h, XVIDEO_LIBS="-lXv -lXext")
243   fi
244   AC_SUBST(XVIDEO_LIBS)
245 ])
247 dnl Next, check for the optional libraries:
248 dnl These are all libraries used in building plugins
249 dnl ================================================
250 dnl let's try and sort them alphabetically, shall we ?
252 echo
253 echo
254 AC_MSG_NOTICE(Checking for plugin libraries)
256 dnl *** a52dec ***
257 translit(dnm, m, l) AM_CONDITIONAL(USE_A52DEC, true)
258 GST_CHECK_FEATURE(A52DEC, [a52dec], a52dec, [
259   GST_CHECK_LIBHEADER(A52DEC, a52, a52_init, -lm, a52dec/a52.h, A52DEC_LIBS="-la52")
260 ])
262 dnl *** aalib ***
263 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
264 GST_CHECK_FEATURE(AALIB, [aasink plugin], aasink, [
265   AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
266 ])
268 dnl *** alsa ***
269 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
270 GST_CHECK_FEATURE(ALSA, [alsa plugins], gstalsa, [
271   AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
272 ])
274 dnl *** arts ***
276 dnl if mcopidl can't be found there's no use in compiling it
277 AC_CHECK_PROG(MCOPIDL, mcopidl, yes, no)
278 if test "xHAVE_MCOPIDL" = "xno";
279 then
280   USE_ARTS=no
281 fi
283 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
284 GST_CHECK_FEATURE(ARTS, [arts plugins], arts, [
285   AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
286 ])
287 dnl if mcopidl can't be found there's no use in compiling it
288 AC_PATH_PROG(MCOPIDL, mcopidl, yes, no)
289 if test "xHAVE_MCOPIDL" = "xno";
290 then
291   USE_ARTS=NO
292 fi
294 dnl *** artsc ***
295 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
296 GST_CHECK_FEATURE(ARTSC, [artsd plugins], artsdsink, [
297   GST_CHECK_ARTSC()
298 ])
300 dnl *** audiofile ***
301 dnl this check uses the GST_CHECK_CONFIGPROG macro
302 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
303 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
304   translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
305   translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
306   GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
307 ])
309 dnl *** avifile ***
310 dnl this check uses the GST_CHECK_CONFIGPROG macro
311 dnl this check needs more fixing
312 dnl translit(dnm, m, l) AC_SUBST(AVIFILE_LIBS)
313 translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true)
314 GST_CHECK_FEATURE(AVIFILE, [avifile], windec winenc, [
315   translit(dnm, m, l) AC_SUBST(AVIFILE_CFLAGS)
316   GST_CHECK_CONFIGPROG(AVIFILE, avifile-config)
317   AVIFILE_LIBS="$AVIFILE_LIBS -lstdc++"
318   AC_SUBST(AVIFILE_LIBS)
319 ])
321 dnl *** CDParanoia ***
322 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
323 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
324   GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, cdda_open, -lm, cdda_interface.h, CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia")
325   AC_SUBST(CDPARANOIA_LIBS)
326 ])
327 dnl FIXME : add second check somehow if that is necessary
328 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
329 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
331 dnl *** dv ***
332 translit(dnm, m, l) AM_CONDITIONAL(USE_DV, true)
333 GST_CHECK_FEATURE(DV, [dv library], dv, [
334   GST_CHECK_LIBHEADER(DV, dv, dv_init, -lm $GST_CFLAGS $GST_LIBS, libdv/dv.h, DV_LIBS="-ldv")
335   AC_SUBST(DV_LIBS)
336 ])
338 dnl *** dvdread ***
339 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
340 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdsrc, [
341   GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
342   AC_SUBST(DVDREAD_LIBS)
343 ])
345 dnl **** ESound ****
346 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
347 GST_CHECK_FEATURE(ESD, [esound plugins], esdsrc esdsink, [
348   AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
349 ])
351 dnl **** festival ****
352 translit(dnm, m, l) AM_CONDITIONAL(USE_FESTIVAL, true)
353 GST_CHECK_FEATURE(FESTIVAL, [festival plugins], festivalsrc, [
354   dnl NOTE: just using local net connection now, add this lib check
355   dnl       in the future if needed
356   dnl AC_LANG_PUSH(C++)
357   dnl dnl FIXME: took out func to check for
358   dnl dnl This check puts festival_tidy_up in extern "C".
359   dnl dnl But, at least on Debian as of 20020110, it is compiled with name
360   dnl dnl mangling C++ nonsense and symbols can't resolve
361   dnl dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, festival_tidy_up, , festival/festival.h, FESTIVAL_LIBS="-lFestival")
362   dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, , , festival/festival.h, FESTIVAL_LIBS="-lFestival")
363   dnl AC_LANG_POP(C++)
364   dnl AC_SUBST(FESTIVAL_LIBS)
365   HAVE_FESTIVAL=yes
366 ])
368 dnl *** FLAC ***
369 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
370 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
371   GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__stream_decoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
372   AC_SUBST(FLAC_LIBS)
373 ])
375 dnl *** Gnome VFS ***
376 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
377 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
378   PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0, HAVE_GNOME_VFS="yes", HAVE_GNOME_VFS="no")
379   AC_SUBST(GNOME_VFS_CFLAGS)
380   AC_SUBST(GNOME_VFS_LIBS)
381 ])
383 dnl *** gsm ***
384 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
385 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
386   GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
387   if test $HAVE_GSM != "yes"; then
388     GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
389     if test $HAVE_GSM = "yes"; then 
390       AC_DEFINE(GSM_HEADER_IN_SUBDIR)
391     fi
392   fi
393   AC_SUBST(GSM_LIBS)
394 ])
396 dnl *** Hermes ***
397 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
398 GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
399   GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
400 ], AC_SUBST(HERMES_LIBS))
402 dnl *** http ***
403 translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
404 GST_CHECK_FEATURE(HTTP, [http plugins], gsthttpsrc, [
405   dnl FIXME: need to check for header
406   GHTTP_LIBS=
407   GST_HTTPSRC_GET_TYPE=
408   if test x$USE_GLIB2 = xyes; then
409     AC_MSG_WARN(ghttp disabled for glib2.0)
410   else
411     AC_CHECK_LIB(ghttp, ghttp_request_new,
412       [HTTP_LIBS="-lghttp"
413        GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
414        HAVE_HTTP=yes
415       ], :, $LIBS)
416   fi
417   AC_SUBST(HTTP_LIBS)
418   AC_SUBST(GST_HTTPSRC_GET_TYPE)
419 ])
421 dnl *** lame ***
422 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
423 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
424 GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, HAVE_LAME="yes" LAME_LIBS="-lmp3lame")
425 ])
426 AC_SUBST(LAME_LIBS)
429 dnl FIXME : check if these CPP flags can be dealt with otherwise
430 dnl libdvcheck_save_CPPFLAGS="$CPPFLAGS"
431 dnl CPPFLAGS="$CPPFLAGS $GST_CFLAGS"
432 dnl AC_CHECK_HEADER(libdv/dv.h, :, HAVE_LIBDV=no)
433 dnl CPPFLAGS="$libdvcheck_save_CPPFLAGS"
435 dnl *** jpeg ***
436 dnl FIXME: we could use header checks here as well IMO
437 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
438 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
439   AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
440   JPEG_LIBS="-ljpeg"
441   AC_SUBST(JPEG_LIBS)
442 ])
444 dnl *** mad ***
445 dnl FIXME: we could use header checks here as well IMO
446 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
447 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
448   AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
449   if test "x$HAVE_MAD" = "xyes"; then
450     # installed with mad >= 0.14
451     HAVE_MAD="no"
452     save_libs=$LIBS
453     LIBS="-lz"
454     AC_CHECK_LIB(id3tag, id3_tag_query, HAVE_MAD="yes" MAD_LIBS="$MAD_LIBS -lid3tag")
455     LIBS=$save_LIBS
456   fi    
457 ])
458 AC_SUBST(MAD_LIBS)
460 dnl *** mikmod ***
461 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
462 GST_CHECK_FEATURE(MIKMOD, [mikmod plugin], mikmod, [
463   AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
464   AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
465   AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
466 ])
468 dnl *** mjpegtools ***
469 translit(dnm, m, l) AM_CONDITIONAL(USE_MJPEGTOOLS, true)
470 GST_CHECK_FEATURE(MJPEGTOOLS, [mjpegtools], jpegmmxenc jpegmmxdec, [
471   PKG_CHECK_MODULES(MJPEGTOOLS, mjpegtools, HAVE_MJPEGTOOLS="yes", HAVE_MJPEGTOOLS="no")
472   AC_SUBST(MJPEGTOOLS_LIBS)
473   AC_SUBST(MJPEGTOOLS_CFLAGS)
474 ])
476 dnl *** mpeg2dec ***
477 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
478 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [ GST_CHECK_MPEG2DEC() ])
480 dnl *** openquicktime ***
481 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENQUICKTIME, true)
482 GST_CHECK_FEATURE(OPENQUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
483   GST_CHECK_LIBHEADER(OPENQUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, OPENQUICKTIME_LIBS="-lopenquicktime")
484   AC_SUBST(OPENQUICKTIME_LIBS)
485 ])
487 dnl *** raw1394 ***
488 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
489 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
490   GST_CHECK_LIBHEADER(RAW1394, raw1394, raw1394_get_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-raw1394")
491   AC_SUBST(RAW1394_LIBS)
492 ])
494 dnl *** rtp ***
495 dnl FIXME : adapt and make it work
496 translit(dnm, m, l) AM_CONDITIONAL(USE_RTP, true)
497 GST_CHECK_FEATURE(RTP, [RTP library], rtpenc rtpdec,[
498   AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_RTP=yes, HAVE_RTP=no, $GST_CFLAGS $GST_LIBS)
499   RTP_LIBS="-lrtp"
500   AC_SUBST(RTP_LIBS)
501 ])
503 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
504 dnl can use GST_* which should have GLIB_* info
505 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
506 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
507 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
508 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
510 dnl *** SDL ***
511 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
512 GST_CHECK_FEATURE(SDL, [SDL plugin], sdlvideosink, [
513  AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
514 ])
516 dnl *** shout ***
517 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
518 GST_CHECK_FEATURE(SHOUT, [shout plugin], icecastsend, [
519   GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
520   AC_SUBST(SHOUT_LIBS)
521 ])
523 dnl *** sidplay ***
524 translit(dnm, m, l) AM_CONDITIONAL(USE_SIDPLAY, true)
525 GST_CHECK_FEATURE(SIDPLAY, [sidplay plugin], sidplay, [
526   GST_PATH_SIDPLAY()
527 ])
529 dnl *** smoothwave ***
530 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHWAVE, true)
531 GST_CHECK_FEATURE(SMOOTHWAVE, [smoothwave plugin], smoothwave, [
532   if test $HAVE_GTK = "yes"; then HAVE_SMOOTHWAVE=yes; fi;
533 ])
535 dnl *** tarkin ***
536 dnl for now the sources are included in the plugin
537 dnl and should be moved to ext-libs/ perhaps
538 translit(dnm, m, l) AM_CONDITIONAL(USE_TARKIN, true)
539 GST_CHECK_FEATURE(TARKIN, [tarkinenc tarkindec], tarkin, [
540   HAVE_TARKIN="yes"
541 ])
543 dnl *** vorbis ***
544 dnl AM_PATH_VORBIS only takes two options
545 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
546 GST_CHECK_FEATURE(VORBIS, [vorbis plugin], vorbisenc vorbisdec, [
547   AM_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
548 ])
550 dnl *** XMMS ***
551 translit(dnm, m, l) AM_CONDITIONAL(USE_XMMS, true)
552 GST_CHECK_FEATURE(XMMS, [xmms plugin], xmms, [
553   AM_PATH_XMMS(0.1.0, HAVE_XMMS=yes, HAVE_XMMS=no)
554 ])
556 dnl Check for atomic.h
557 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
558 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
559 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
560 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
561 if test x$HAVE_ATOMIC_H = xyes; then
562   AC_TRY_RUN([
563 #include "asm/atomic.h"
564 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
565   ],, [
566     # Not successful
567     if test x$HAVE_ATOMIC_H = xyes; then
568       AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
569     fi
570     HAVE_ATOMIC_H=no
571   ], [
572     # Cross compiling
573     AC_MSG_RESULT(yes)
574     AC_MSG_WARN(Can't check properly for atomic reference counting.  Assuming OK.)
575   ])
576 fi
578 dnl ######################################################################
579 dnl # Check command line parameters, and set shell variables accordingly #
580 dnl ######################################################################
582 AC_ARG_ENABLE(libmmx,
583 [  --enable-libmmx              use libmmx, if available],
584 [case "${enableval}" in
585   yes) USE_LIBMMX=$HAVE_LIBMMX ;;
586   no)  USE_LIBMMX=no ;;
587   *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
588 esac], 
589 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
591 AC_ARG_ENABLE(atomic,
592 [  --enable-atomic              use atomic reference counting header],
593 [case "${enableval}" in
594   yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
595   noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
596   no)  USE_ATOMIC_H=no;;
597   *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
598 esac], 
599 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
601 AC_ARG_ENABLE(profiling,
602 [  --enable-profiling           adds -pg to compiler commandline, for profiling],
603 [case "${enableval}" in
604   yes) USE_PROFILING=yes ;;
605   no)  UES_PROFILING=no ;;
606   *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
607 esac], 
608 [USE_PROFILING=no]) dnl Default value
610 AC_ARG_ENABLE(tests,
611 [  --disable-tests              disable building test apps],
612 [case "${enableval}" in
613   yes) BUILD_TESTS=yes ;;
614   no)  BUILD_TESTS=no ;;
615   *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
616 esac], 
617 [BUILD_TESTS=yes]) dnl Default value
619 AC_ARG_ENABLE(examples,
620 [  --disable-examples           disable building examples],
621 [case "${enableval}" in
622   yes) BUILD_EXAMPLES=yes ;;
623   no)  BUILD_EXAMPLES=no ;;
624   *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
625 esac], 
626 [BUILD_EXAMPLES=yes]) dnl Default value
628 dnl ################################################
629 dnl # Set defines according to variables set above #
630 dnl ################################################
633 if test "x$USE_LIBMMX" = xyes; then
634   AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
635 fi
637 if test "x$USE_ATOMIC_H" = xyes; then
638   AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
639 fi
641 dnl if test "x$USE_DEBUG" = xyes; then
642 dnl   CFLAGS="$CFLAGS -g"
643 dnl fi
645 if test "x$USE_PROFILING" = xyes; then
646 dnl  CFLAGS="$CFLAGS -pg -fprofile-arcs"
647   FOMIT_FRAME_POINTER=""
648 else
649   FOMIT_FRAME_POINTER="-fomit-frame-pointer"
650 fi
652 dnl
653 dnl AC_SUBST(FOMIT_FRAME_POINTER)
654 dnl
656 dnl #############################
657 dnl # Set automake conditionals #
658 dnl #############################
660 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
661 dnl HAVE_ and it is likely to be easier to stick with the old name
662 AM_CONDITIONAL(HAVE_CPU_I386,       test "x$HAVE_CPU_I386" = "xyes")
663 AM_CONDITIONAL(HAVE_CPU_PPC,        test "x$HAVE_CPU_PPC" = "xyes")
664 AM_CONDITIONAL(HAVE_CPU_ALPHA,      test "x$HAVE_CPU_ALPHA" = "xyes")
665 AM_CONDITIONAL(HAVE_CPU_ARM,        test "x$HAVE_CPU_ARM" = "xyes")
666 AM_CONDITIONAL(HAVE_CPU_SPARC,      test "x$HAVE_CPU_SPARC" = "xyes")
667 AM_CONDITIONAL(HAVE_LIBMMX,         test "x$USE_LIBMMX" = "xyes")
669 AM_CONDITIONAL(HAVE_ATOMIC_H,       test "x$USE_ATOMIC_H" = "xyes")
671 AM_CONDITIONAL(EXPERIMENTAL,        test "$EXPERIMENTAL" = "$xyes")
672 AM_CONDITIONAL(BROKEN,              test "$BROKEN" = "$xyes")
674 AM_CONDITIONAL(HAVE_NASM,           test "x$HAVE_NASM" = "xyes")
675 AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes")
676 AM_CONDITIONAL(HAVE_GNOME,          test "x$HAVE_GNOME" = "xyes")
677 AM_CONDITIONAL(HAVE_GTK,            test "x$HAVE_GTK" = "xyes")
678 AM_CONDITIONAL(HAVE_GTK_DOC,        $HAVE_GTK_DOC)
679 AM_CONDITIONAL(BUILD_DOCS,          test "x$BUILD_DOCS" = "xyes")
680 AM_CONDITIONAL(BUILD_TESTS,         test "x$BUILD_TESTS" = "xyes")
681 AM_CONDITIONAL(BUILD_EXAMPLES,      test "x$BUILD_EXAMPLES" = "xyes")
682 AM_CONDITIONAL(BUILD_PLUGIN_DOCS,   test "x$BUILD_PLUGIN_DOCS" = "xyes")
683 AM_CONDITIONAL(HAVE_FIG2DEV_PNG,    $HAVE_FIG2DEV_PNG)
684 AM_CONDITIONAL(HAVE_FIG2DEV_PDF,    $HAVE_FIG2DEV_PDF)
685 AM_CONDITIONAL(HAVE_RAW1394,        test "x$HAVE_RAW1394" = "xyes")
686 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR,  test "x$PLUGINS_USE_BUILDDIR" = "xyes")
688 GST_CFLAGS="$GST_CFLAGS -I\$(top_srcdir)/gst-libs -Wall"
689 AC_SUBST(GST_LIBS)
690 AC_SUBST(GST_CFLAGS)
692 dnl #########################
693 dnl # Make the output files #
694 dnl #########################
696 AC_CONFIG_FILES(
697 Makefile
698 gstreamer-libs.pc
699 gstreamer-libs-uninstalled.pc
700 gst-plugins.spec
701 gst/Makefile
702 gst/ac3parse/Makefile
703 gst/adder/Makefile
704 gst/audioscale/Makefile
705 gst/auparse/Makefile
706 gst/avi/Makefile
707 gst/chart/Makefile
708 gst/cutter/Makefile
709 gst/deinterlace/Makefile
710 gst/flx/Makefile
711 gst/goom/Makefile
712 gst/intfloat/Makefile
713 gst/law/Makefile
714 gst/level/Makefile
715 gst/median/Makefile
716 gst/mpeg1enc/Makefile
717 gst/mpeg1sys/Makefile
718 gst/mpeg1videoparse/Makefile
719 gst/mpeg2enc/Makefile
720 gst/mpeg2sub/Makefile
721 gst/mpegaudio/Makefile
722 gst/mpegaudioparse/Makefile
723 gst/mpegstream/Makefile
724 gst/mpegtypes/Makefile
725 gst/passthrough/Makefile
726 gst/playondemand/Makefile
727 gst/rtjpeg/Makefile
728 gst/silence/Makefile
729 gst/sine/Makefile
730 gst/smooth/Makefile
731 gst/spectrum/Makefile
732 gst/speed/Makefile
733 gst/stereo/Makefile
734 gst/stereomono/Makefile
735 gst/synaesthesia/Makefile
736 gst/udp/Makefile
737 gst/videoscale/Makefile
738 gst/volenv/Makefile
739 gst/volume/Makefile
740 gst/vumeter/Makefile
741 gst/wavparse/Makefile
742 gst/y4m/Makefile
743 sys/Makefile
744 sys/oss/Makefile
745 sys/qcam/Makefile
746 sys/v4l/Makefile
747 sys/vcd/Makefile
748 sys/vga/Makefile
749 sys/xvideo/Makefile
750 ext/Makefile
751 ext/a52dec/Makefile
752 ext/aalib/Makefile
753 ext/alsa/Makefile
754 ext/arts/Makefile
755 ext/artsd/Makefile
756 ext/audiofile/Makefile
757 ext/avifile/Makefile
758 ext/cdparanoia/Makefile
759 ext/dv/Makefile
760 ext/dvdread/Makefile
761 ext/esd/Makefile
762 ext/festival/Makefile
763 ext/flac/Makefile
764 ext/gnomevfs/Makefile
765 ext/gsm/Makefile
766 ext/hermes/Makefile
767 ext/http/Makefile
768 ext/jpeg/Makefile
769 ext/ladspa/Makefile
770 ext/lame/Makefile
771 ext/mad/Makefile
772 ext/mikmod/Makefile
773 ext/mjpegtools/Makefile
774 ext/mpeg2dec/Makefile
775 ext/openquicktime/Makefile
776 ext/raw1394/Makefile
777 ext/rtp/Makefile
778 ext/sdl/Makefile
779 ext/shout/Makefile
780 ext/sidplay/Makefile
781 ext/smoothwave/Makefile
782 ext/vorbis/Makefile
783 ext/tarkin/Makefile
784 ext/xmms/Makefile
785 gst-libs/Makefile
786 gst-libs/gst/Makefile
787 gst-libs/gst/audio/Makefile
788 gst-libs/gst/idct/Makefile
789 gst-libs/gst/resample/Makefile
790 gst-libs/gst/riff/Makefile
791 examples/capsfilter/Makefile
792 examples/Makefile
793 tools/Makefile
796 AC_OUTPUT
798 echo -e "configure: *** Plugins that will be built : $GST_PLUGINS_YES"
799 echo
800 echo -e "configure: *** Plugins that will not be built : $GST_PLUGINS_NO"
801 echo