1 dnl autoconf configuration file for gst-plugins
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-base, GST_PLUGINS_BASE_VERSION, 0, 9, 2, 1,
16 GST_CVS="no", GST_CVS="yes")
18 AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
20 dnl our libraries and install dirs use major.minor as a version
21 GST_MAJORMINOR=$GST_PLUGINS_BASE_VERSION_MAJOR.$GST_PLUGINS_BASE_VERSION_MINOR
22 dnl we override it here if we need to for the release candidate of new series
24 AC_SUBST(GST_MAJORMINOR)
26 dnl CURRENT, REVISION, AGE
27 dnl - library source changed -> increment REVISION
28 dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
29 dnl - interfaces added -> increment AGE
30 dnl - interfaces removed -> AGE = 0
31 AS_LIBTOOL(GST_PLUGINS, 1, 0, 1)
35 dnl FIXME take something else ?
36 AC_CONFIG_SRCDIR([gst/sine/gstsinesrc.c])
37 AM_CONFIG_HEADER(config.h)
39 dnl Add parameters for aclocal
40 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
41 ACLOCAL_FLAGS="-I m4 -I common/m4"
42 AC_SUBST(ACLOCAL_AMFLAGS, $ACLOCAL_FLAGS)
50 dnl the gettext stuff needed
51 AM_GNU_GETTEXT_VERSION(0.11.5)
52 AM_GNU_GETTEXT([external])
54 GETTEXT_PACKAGE=gst-plugins-base-$GST_MAJORMINOR
55 AC_SUBST(GETTEXT_PACKAGE)
56 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], "$GETTEXT_PACKAGE",
57 [gettext package name])
59 dnl define LOCALEDIR in config.h
60 AS_AC_EXPAND(LOCALEDIR, $datadir/locale)
61 AC_DEFINE_UNQUOTED([LOCALEDIR], "$LOCALEDIR",
64 GST_SET_ERROR_CFLAGS($GST_CVS)
66 dnl determine c++ compiler
68 dnl determine if c++ is available on this system
69 AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
70 dnl determine c++ preprocessor
78 dnl Check for malloc.h
79 AC_CHECK_HEADER(malloc.h,[
80 AC_DEFINE(HAVE_MALLOC_H, 1, [whether malloc.h available])
83 dnl Check for a way to display the function name in debug output
86 dnl define correct errorlevel for debugging messages. We want to have GST_ERROR
87 dnl messages printed when running cvs builds
88 if test "x$GST_CVS" = "xyes"; then
89 AC_DEFINE(GST_LEVEL_DEFAULT, GST_LEVEL_ERROR, [Default errorlevel to use])
92 dnl Check for FIONREAD ioctl declaration :
95 DEFAULT_AUDIOSINK="alsasink"
96 DEFAULT_VIDEOSINK="xvimagesink"
97 DEFAULT_AUDIOSRC="alsasrc"
98 DEFAULT_VIDEOSRC="v4lsrc"
99 DEFAULT_VISUALIZER="goom"
101 *-sun-* | *pc-solaris* )
102 DEFAULT_AUDIOSINK="sunaudiosink"
103 DEFAULT_VIDEOSINK="ximagesink"
104 DEFAULT_AUDIOSRC="sunaudiosrc"
107 DEFAULT_AUDIOSINK="osxaudiosink"
108 DEFAULT_AUDIOSRC="osxaudiosrc"
109 DEFAULT_VIDEOSINK="osxvideosink"
113 AC_SUBST(DEFAULT_AUDIOSINK)
114 AC_DEFINE_UNQUOTED(DEFAULT_AUDIOSINK,"$DEFAULT_AUDIOSINK",[Default audio sink])
115 AC_SUBST(DEFAULT_AUDIOSRC)
116 AC_DEFINE_UNQUOTED(DEFAULT_AUDIOSRC,"$DEFAULT_AUDIOSRC",[Default audio source])
117 AC_SUBST(DEFAULT_VIDEOSINK)
118 AC_DEFINE_UNQUOTED(DEFAULT_VIDEOSINK,"$DEFAULT_VIDEOSINK",[Default video sink])
119 AC_SUBST(DEFAULT_VIDEOSRC)
120 AC_DEFINE_UNQUOTED(DEFAULT_VIDEOSRC,"$DEFAULT_VIDEOSRC",[Default video source])
121 AC_SUBST(DEFAULT_VISUALIZER)
122 AC_DEFINE_UNQUOTED(DEFAULT_VISUALIZER,"$DEFAULT_VISUALIZER",[Default visualizer])
124 dnl ############################################
125 dnl # Super Duper options for plug-in building #
126 dnl ############################################
128 dnl ext plug-ins; plug-ins that have external dependencies
129 GST_CHECK_FEATURE(EXTERNAL, [enable building of plug-ins with external deps],,
130 [HAVE_EXTERNAL=yes],enabled,
132 AC_MSG_WARN(building external plug-ins)
135 AC_MSG_WARN(all plug-ins with external dependencies will not be built)
138 # make BUILD_EXTERNAL available to Makefile.am
139 AM_CONDITIONAL(BUILD_EXTERNAL, test "x$BUILD_EXTERNAL" = "xyes")
141 dnl experimental plug-ins; stuff that hasn't had the dust settle yet
142 dnl read 'builds, but might not work'UTO
143 GST_CHECK_FEATURE(EXPERIMENTAL, [enable building of experimental plug-ins],,
144 [HAVE_EXPERIMENTAL=yes],disabled,
146 AC_MSG_WARN(building experimental plug-ins)
149 AC_MSG_NOTICE(not building experimental plug-ins)
153 dnl broken plug-ins; stuff that doesn't seem to build at the moment
154 GST_CHECK_FEATURE(BROKEN, [enable building of broken plug-ins],,
155 HAVE_BROKEN=yes,disabled,
157 AC_MSG_WARN([building broken plug-ins -- no bug reports on these, only patches :)])
159 AC_MSG_NOTICE([not building broken plug-ins])
162 dnl ##############################
163 dnl # Do automated configuration #
164 dnl ##############################
169 dnl allow for different autotools
170 AS_AUTOTOOLS_ALTERNATE()
172 dnl modify pkg-config path
173 AC_ARG_WITH(pkg-config-path,
174 AC_HELP_STRING([--with-pkg-config-path],[colon-separated list of pkg-config(1) dirs]),
175 [export PKG_CONFIG_PATH=${withval}])
177 dnl check architecture
180 dnl check for gstreamer
181 dnl uninstalled is selected preferentially -- see pkg-config(1)
183 PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ,
184 HAVE_GST="yes", HAVE_GST="no")
186 if test "x$HAVE_GST" = "xno"; then
187 AC_MSG_ERROR(no GStreamer found)
190 GST_TOOLS_DIR=`pkg-config --variable=toolsdir gstreamer-$GST_MAJORMINOR`
191 if test -z $GST_TOOLS_DIR; then
192 AC_MSG_ERROR([no tools dir defined in GStreamer pkg-config file; core upgrade needed.])
194 AC_SUBST(GST_TOOLS_DIR)
196 GST_PLUGINS_DIR=`pkg-config --variable=pluginsdir gstreamer-$GST_MAJORMINOR`
197 if test -z $GST_PLUGINS_DIR; then
198 AC_MSG_ERROR([no plugins dir defined in GStreamer pkg-config file; core upgrade needed.])
200 AC_SUBST(GST_PLUGINS_DIR)
203 dnl check for gstreamer-dataprotocol; uninstalled is selected preferentially
204 PKG_CHECK_MODULES(GST_GDP, gstreamer-dataprotocol-$GST_MAJORMINOR >= $GST_REQ,
205 HAVE_GST_GDP="yes", HAVE_GST_GDP="no")
207 if test "x$HAVE_GST_GDP" = "xno"; then
208 AC_MSG_ERROR(no GStreamer Dataprotocol Libs found)
211 AC_SUBST(GST_GDP_LIBS)
213 dnl check for gstreamer-controller; uninstalled is selected preferentially
214 PKG_CHECK_MODULES(GST_CTRL, gstreamer-controller-$GST_MAJORMINOR >= $GST_REQ,
215 HAVE_GST_CTRL="yes", HAVE_GST_CTRL="no")
217 if test "x$HAVE_GST_CTRL" = "xno"; then
218 AC_MSG_ERROR(no GStreamer Controller Libs found)
221 AC_SUBST(GST_CTRL_LIBS)
223 PKG_CHECK_MODULES(GST_BASE, gstreamer-base-$GST_MAJORMINOR >= $GST_REQ,
224 HAVE_GST_BASE="yes", HAVE_GST_BASE="no")
226 if test "x$HAVE_GST_BASE" = "xno"; then
227 AC_MSG_ERROR(no libgstbase found)
230 AC_SUBST(GST_BASE_LIBS)
232 PKG_CHECK_MODULES(GST_CHECK, gstreamer-check-$GST_MAJORMINOR >= $GST_REQ,
233 HAVE_GST_CHECK="yes", HAVE_GST_CHECK="no")
235 AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
236 AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
238 dnl Determine endianness
241 dnl Check for fast float to int casting as defined in C99
245 dnl Check for essential libraries first:
246 dnl ====================================
250 dnl Check for additional libraries that we might use:
251 dnl =================================================
254 PKG_CHECK_MODULES(GTK2, gtk+-2.0 >= 2.2.0, HAVE_GTK_22=yes, HAVE_GTK_22=no)
255 if test "x$HAVE_GTK_22" = "xyes"; then
257 GTK_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0`
258 AC_SUBST(GTK_VERSION)
259 GTK_PREFIX=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
260 AC_SUBST(GTK_BASE_DIR)
262 PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK_20=yes, HAVE_GTK_20=no)
264 if test "x$HAVE_GTK_20" = "xyes"; then
267 GTK_CFLAGS=$GTK2_CFLAGS
273 PKG_CHECK_MODULES(LIBOIL, liboil-0.3 >= 0.3.2, HAVE_LIBOIL=yes, HAVE_LIBOIL=no)
274 AC_SUBST(LIBOIL_CFLAGS)
275 AC_SUBST(LIBOIL_LIBS)
276 if test "x${HAVE_LIBOIL}" != xyes ; then
277 AC_ERROR([liboil-0.3 is required])
280 dnl ===========================================================================
281 dnl ============================= gst plug-ins ================================
282 dnl ===========================================================================
284 plugindir="\$(libdir)/gstreamer-$GST_MAJORMINOR"
287 dnl this really should only contain flags, not libs - they get added before
288 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
289 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '[_]*(gst_|Gst|GST_).*'"
290 AC_SUBST(GST_PLUGIN_LDFLAGS)
292 dnl these are all the gst plug-ins, compilable without additional libs
310 dnl see if we can build C++ plug-ins
311 if test "x$HAVE_CXX" = "xyes"; then
312 GST_PLUGINS_ALL="$GST_PLUGINS_ALL"
314 AC_MSG_WARN([Not compiling plug-ins requiring C++ compiler])
317 AC_SUBST(GST_PLUGINS_ALL)
319 GST_PLUGINS_SELECTED=""
322 AC_HELP_STRING([--with-plugins],[comma-separated list of plug-ins to compile]),
323 [for i in `echo $withval | tr , ' '`; do
324 if echo $GST_PLUGINS_ALL | grep $i > /dev/null
326 GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
328 echo "plug-in $i not recognized, ignoring..."
331 [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
333 AC_SUBST(GST_PLUGINS_SELECTED)
335 dnl ==========================================================================
336 dnl ============================= sys plug-ins ================================
337 dnl ==========================================================================
340 AC_MSG_NOTICE([Checking libraries for plugins in sys/])
344 translit(dnm, m, l) AM_CONDITIONAL(USE_X, true)
345 GST_CHECK_FEATURE(X, [X libraries and plugins],
348 ac_cflags_save="$CFLAGS"
349 ac_cppflags_save="$CPPFLAGS"
350 CFLAGS="$CFLAGS $X_CFLAGS"
351 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
353 dnl now try to find the HEADER
354 AC_CHECK_HEADER(X11/Xlib.h, HAVE_X="yes", HAVE_X="no")
356 if test "x$HAVE_X" = "xno"
358 AC_MSG_NOTICE([cannot find X11 development files])
360 dnl this is much more than we want
361 X_LIBS="$X_LIBS $X_PRE_LIBS $X_EXTRA_LIBS"
362 dnl AC_PATH_XTRA only defines the path needed to find the X libs,
363 dnl it does not add the libs; therefore we add them here
364 X_LIBS="$X_LIBS -lX11"
369 CFLAGS="$ac_cflags_save"
370 CPPFLAGS="$ac_cppflags_save"
374 dnl Look for the PIC library first, Debian requires it.
375 dnl Check debian-devel archives for gory details.
377 dnl At the moment XFree86 doesn't distribute shared libXv due
378 dnl to unstable API. On many platforms you CAN NOT link a shared
379 dnl lib to a static non-PIC lib. This is what the xvideo GStreamer
380 dnl plug-in wants to do. So Debian distributes a PIC compiled
381 dnl version of the static lib for plug-ins to link to when it is
382 dnl inappropriate to link the main application to libXv directly.
383 dnl FIXME: add check if this platform can support linking to a
384 dnl non-PIC libXv, if not then don not use Xv.
385 dnl FIXME: perhaps warn user if they have a shared libXv since
386 dnl this is an error until XFree86 starts shipping one
388 dnl Check for Xv extension
389 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
390 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions],
392 if test x$HAVE_X = xyes; then
393 AC_CHECK_LIB(Xv_pic, XvQueryExtension,
394 HAVE_XVIDEO="yes", HAVE_XVIDEO="no",
397 if test x$HAVE_XVIDEO = xyes; then
398 XVIDEO_LIBS="-lXv_pic -lXext"
399 AC_SUBST(XVIDEO_LIBS)
401 dnl try again using something else if we didn't find it first
402 if test x$HAVE_XVIDEO = xno; then
403 AC_CHECK_LIB(Xv, XvQueryExtension,
404 HAVE_XVIDEO="yes", HAVE_XVIDEO="no",
407 if test x$HAVE_XVIDEO = xyes; then
408 XVIDEO_LIBS="-lXv -lXext"
409 AC_SUBST(XVIDEO_LIBS)
417 translit(dnm, m, l) AM_CONDITIONAL(USE_XSHM, true)
418 GST_CHECK_FEATURE(XSHM, [X Shared Memory extension], xshm, [
419 if test x$HAVE_X = xyes; then
420 AC_CHECK_LIB(Xext, XShmAttach,
421 HAVE_XSHM="yes", HAVE_XSHM="no",
423 if test "x$HAVE_XSHM" = "xyes"; then
426 dnl On AIX, it is in XextSam instead, but we still need -lXext
427 AC_CHECK_LIB(XextSam, XShmAttach,
428 HAVE_XSHM="yes", HAVE_XSHM="no",
430 if test "x$HAVE_XSHM" = "xyes"; then
431 XSHM_LIBS="-lXext -lXextSam"
440 dnl v4l/v4l2 checks have been moved down because they require X
442 dnl *** Video 4 Linux ***
443 dnl for information about the header/define, see sys/v4l/gstv4lelement.h
444 dnl renamed to GST_V4L in accordance with V4L2 below
445 translit(dnm, m, l) AM_CONDITIONAL(USE_GST_V4L, true)
446 GST_CHECK_FEATURE(GST_V4L, [Video 4 Linux], v4lsrc v4lmjpegsrc v4lmjpegsink, [
449 if test "$HAVE_X" = "yes"
451 AC_CHECK_DECL(VID_TYPE_MPEG_ENCODER, HAVE_GST_V4L="yes", HAVE_GST_V4L="no", [
452 #include <sys/types.h>
453 #define _LINUX_TIME_H
455 #include <linux/videodev.h>
460 dnl *** Video 4 Linux 2 ***
461 dnl for information about the header/define, see sys/v4l2/gstv4l2element.h
462 dnl renamed to GST_V4L2 because of some conflict with kernel headers
463 translit(dnm, m, l) AM_CONDITIONAL(USE_GST_V4L2, true)
464 GST_CHECK_FEATURE(GST_V4L2, [Video 4 Linux 2], v4l2src, [
466 if test "$HAVE_X" = "yes"
468 AC_MSG_CHECKING([Checking for uptodate v4l2 installation])
470 #include <sys/types.h>
471 #include <linux/types.h>
472 #define _LINUX_TIME_H
474 #include <linux/videodev2.h>
475 #if defined(V4L2_MAJOR_VERSION) || defined(V4L2_MINOR_VERSION)
476 #error too early v4l2 version or no v4l2 at all
480 ], [ HAVE_GST_V4L2="yes" && AC_MSG_RESULT(yes)],
481 [ HAVE_GST_V4L2="no" && AC_MSG_RESULT(no) &&
482 AC_CHECK_HEADER(linux/videodev2.h,
483 [ AC_MSG_WARN([video4linux2 headers were found, but they're old. Please update v4l2 to compile the v4l2 plugins])],
484 [ AC_MSG_WARN([video4linux2 was not found])])
487 dnl check for missing v4l2_buffer declaration (see #135919)
488 if [ test x$HAVE_GST_V4L2 = xyes ]; then
490 AC_MSG_CHECKING(struct v4l2_buffer declaration)
492 #include <sys/types.h>
493 #include <linux/types.h>
494 #define _LINUX_TIME_H
496 #include <linux/videodev2.h>
498 struct v4l2_buffer buf;
501 ], [ AC_MSG_RESULT(yes) ], [ MISSING_DECL=1 && AC_MSG_RESULT(no) ])
502 if [ test x$MISSING_DECL = x1 ]; then
503 AC_DEFINE(GST_V4L2_MISSING_BUFDECL, 1, [struct v4l2_buffer missing])
508 dnl Next, check for the optional libraries:
509 dnl These are all libraries used in building plug-ins
510 dnl ================================================
511 dnl let's try and sort them alphabetically, shall we ?
513 if test "x$BUILD_EXTERNAL" = "xyes"; then
516 AC_MSG_NOTICE([Checking libraries for plugins in ext/])
520 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
521 GST_CHECK_FEATURE(ALSA, [alsa plug-ins], gstalsa, [
522 PKG_CHECK_MODULES(ALSA, alsa >= 0.9.1, [
524 AC_SUBST(ALSA_CFLAGS)
527 AM_PATH_ALSA(0.9.1, HAVE_ALSA="yes", HAVE_ALSA="no")
531 dnl *** CDParanoia ***
532 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
533 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
534 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface,
537 CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
539 FOUND_CDPARANOIA="yes")
540 if test "x$FOUND_CDPARANOIA" != "xyes";
542 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface,
544 cdda/cdda_interface.h,
545 CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
547 FOUND_CDPARANOIA="yes")
549 if test "x$HEADER_DIR" = "xyes";
551 AC_DEFINE_UNQUOTED(CDPARANOIA_HEADERS_IN_DIR, ,
552 defined if cdda headers are in a cdda/ directory)
554 AC_SUBST(CDPARANOIA_LIBS)
556 dnl FIXME : add second check somehow if that is necessary
557 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
558 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
560 dnl *** Gnome VFS ***
561 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
562 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
563 PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0, HAVE_GNOME_VFS="yes", HAVE_GNOME_VFS="no")
564 AC_SUBST(GNOME_VFS_CFLAGS)
565 AC_SUBST(GNOME_VFS_LIBS)
568 dnl *** libvisual ***
569 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBVISUAL, true)
570 GST_CHECK_FEATURE(LIBVISUAL, [libvisual visualization plugins], libvisual, [
571 PKG_CHECK_MODULES(LIBVISUAL, libvisual = 0.2.0, HAVE_LIBVISUAL="yes", HAVE_LIBVISUAL="no")
572 AC_SUBST(LIBVISUAL_CFLAGS)
573 AC_SUBST(LIBVISUAL_LIBS)
577 translit(dnm, m, l) AM_CONDITIONAL(USE_OGG, true)
578 GST_CHECK_FEATURE(OGG, [ogg de/encoder], oggdemux oggmux, [
579 PKG_CHECK_MODULES(OGG, ogg >= 1.0, [
584 XIPH_PATH_OGG(HAVE_OGG="yes", HAVE_OGG="no")
585 AS_SCRUB_INCLUDE(OGG_CFLAGS)
590 translit(dnm, m, l) AM_CONDITIONAL(USE_THEORA, true)
591 GST_CHECK_FEATURE(THEORA, [ogg theora codec], theoradec theoraenc, [
592 PKG_CHECK_MODULES(THEORA, theora, [
594 AC_SUBST(THEORA_LIBS)
595 AC_SUBST(THEORA_CFLAGS)
597 GST_CHECK_LIBHEADER(THEORA, theora, theora_version_string, "-logg", theora/theora.h, THEORA_LIBS="-ltheora -logg")
598 AC_SUBST(THEORA_LIBS)
603 dnl AM_PATH_VORBIS only takes two options
604 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
605 GST_CHECK_FEATURE(VORBIS, [vorbis plug-in], vorbisenc vorbisdec, [
606 PKG_CHECK_MODULES(VORBIS, vorbis >= 1.0 vorbisenc >= 1.0, [
609 XIPH_PATH_VORBIS(HAVE_VORBIS="yes", HAVE_VORBIS="no")
610 AS_SCRUB_INCLUDE(VORBIS_CFLAGS)
613 if test "x$HAVE_VORBIS" = "xyes"; then
614 ac_cflags_save="$CFLAGS"
615 dnl FIXME: does this work on non-gcc? -- Company
616 dnl FIXME: no, it doesn't. Why is this here in the first place ? -- thomasvs
617 CFLAGS="-Wall -Werror"
620 #include <vorbis/codec.h>
624 vorbis_synthesis_restart (v);
625 ]), HAVE_VSR=yes, HAVE_VSR=no)
626 if test "x$HAVE_VSR" = "xyes"; then
627 AC_DEFINE_UNQUOTED(HAVE_VORBIS_SYNTHESIS_RESTART, 1,
628 [defined if vorbis_synthesis_restart is present])
630 CFLAGS="$ac_cflags_save"
633 fi dnl of EXT plugins
635 dnl Check for atomic.h
636 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
637 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
638 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
639 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
640 if test x$HAVE_ATOMIC_H = xyes; then
642 #include "asm/atomic.h"
643 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
646 if test x$HAVE_ATOMIC_H = xyes; then
647 AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
653 AC_MSG_WARN(Can't check properly for atomic reference counting. Assuming OK.)
657 dnl check for "check", unit testing library/header
658 AM_PATH_CHECK(0.9.2, HAVE_CHECK=yes, HAVE_CHECK=no)
659 AM_CONDITIONAL(HAVE_CHECK, test "x$HAVE_CHECK" = "xyes")
661 dnl ######################################################################
662 dnl # Check command line parameters, and set shell variables accordingly #
663 dnl ######################################################################
665 AC_ARG_ENABLE(atomic,
666 AC_HELP_STRING([--enable-atomic],[use atomic reference counting header]),
667 [case "${enableval}" in
668 yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
669 noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
670 no) USE_ATOMIC_H=no;;
671 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
673 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
675 AC_ARG_ENABLE(profiling,
676 AC_HELP_STRING([--enable-profiling],
677 [-pg to compiler commandline, for profiling]),
678 [case "${enableval}" in
679 yes) USE_PROFILING=yes ;;
680 no) UES_PROFILING=no ;;
681 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
683 [USE_PROFILING=no]) dnl Default value
686 AC_HELP_STRING([--disable-tests],[disable building test apps]),
687 [case "${enableval}" in
688 yes) BUILD_TESTS=yes ;;
689 no) BUILD_TESTS=no ;;
690 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
692 [BUILD_TESTS=yes]) dnl Default value
694 AC_ARG_ENABLE(examples,
695 AC_HELP_STRING([--disable-examples],[disable building examples]),
696 [case "${enableval}" in
697 yes) BUILD_EXAMPLES=yes ;;
698 no) BUILD_EXAMPLES=no ;;
699 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
701 [BUILD_EXAMPLES=yes]) dnl Default value
703 dnl seeking needs freetype, so check for it here
704 PKG_CHECK_MODULES(FT2, freetype2 >= 2.0.9, HAVE_FT2="yes", [
705 AC_CHECK_FT2(2.0.9, HAVE_FT2="yes", HAVE_FT2="no")
707 dnl make the HAVE_FT2 variable available to automake and Makefile.am
708 AM_CONDITIONAL(HAVE_FT2, test "x$HAVE_FT2" = "xyes")
712 dnl ################################################
713 dnl # Set defines according to variables set above #
714 dnl ################################################
717 if test "x$USE_ATOMIC_H" = xyes; then
718 AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
721 # do not use deprecated stuff
722 GST_CFLAGS="$GST_CFLAGS -DGST_DISABLE_DEPRECATED"
724 if test "x$USE_DEBUG" = xyes; then
725 GST_CFLAGS="$GST_CFLAGS -g"
728 dnl ############################
729 dnl # Checks for documentation #
730 dnl ############################
733 AS_PATH_PYTHON([2.1])
735 dnl #############################
736 dnl # Set automake conditionals #
737 dnl #############################
739 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
740 dnl HAVE_ and it is likely to be easier to stick with the old name
741 AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
743 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
744 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
746 AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
747 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
748 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
749 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
750 AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG)
751 AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF)
752 AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes")
754 dnl prefer internal headers to already installed ones
755 dnl also add builddir include for enumtypes and marshal
756 dnl add ERROR_CFLAGS, but overridable
757 GST_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS \$(ERROR_CFLAGS)"
762 dnl ###########################
763 dnl # Configure external libs #
764 dnl ###########################
766 dnl ############################
767 dnl # Set up some more defines #
768 dnl ############################
770 dnl set license and copyright notice
771 AC_DEFINE(GST_LICENSE, "LGPL", [GStreamer license])
773 dnl package name in plugins
774 AC_ARG_WITH(package-name,
775 AC_HELP_STRING([--with-package-name],[specify package name to use in plugins]),
776 [case "${withval}" in
777 yes) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
778 no) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
779 *) GST_PACKAGE="${withval}" ;;
783 if test "x$GST_CVS" = "xyes"
786 GST_PACKAGE="GStreamer CVS/prerelease"
788 GST_PACKAGE="GStreamer source release"
792 AC_MSG_NOTICE(Using $GST_PACKAGE as package name)
793 AC_DEFINE_UNQUOTED(GST_PACKAGE, "$GST_PACKAGE", [package name in plugins])
795 dnl package origin URL
796 AC_ARG_WITH(package-origin,
797 AC_HELP_STRING([--with-package-origin],[specify package origin URL to use in plugins]),
798 [case "${withval}" in
799 yes) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
800 no) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
801 *) GST_ORIGIN="${withval}" ;;
803 [GST_ORIGIN="http://gstreamer.freedesktop.org/"]) dnl Default value
804 AC_MSG_NOTICE(Using $GST_ORIGIN as package origin)
805 AC_DEFINE_UNQUOTED(GST_ORIGIN, "$GST_ORIGIN", [package origin])
807 dnl #########################
808 dnl # Make the output files #
809 dnl #########################
813 gst-plugins-base.spec
816 gst/audioconvert/Makefile
817 gst/audiorate/Makefile
818 gst/audioresample/Makefile
819 gst/ffmpegcolorspace/Makefile
820 gst/playback/Makefile
822 gst/subparse/Makefile
824 gst/typefind/Makefile
825 gst/videotestsrc/Makefile
826 gst/videorate/Makefile
827 gst/videoscale/Makefile
835 ext/cdparanoia/Makefile
836 ext/gnomevfs/Makefile
837 ext/libvisual/Makefile
842 gst-libs/gst/Makefile
843 gst-libs/gst/audio/Makefile
844 gst-libs/gst/floatcast/Makefile
845 gst-libs/gst/interfaces/Makefile
846 gst-libs/gst/net/Makefile
847 gst-libs/gst/riff/Makefile
848 gst-libs/gst/rtp/Makefile
849 gst-libs/gst/tag/Makefile
850 gst-libs/gst/video/Makefile
851 gst-libs/ext/Makefile
852 examples/seeking/Makefile
856 pkgconfig/gstreamer-plugins-base.pc
857 pkgconfig/gstreamer-plugins-base-uninstalled.pc
861 docs/plugins/Makefile
862 docs/version.entities
870 echo "configure: *** Core plug-ins, always built:"
871 ( for i in $GST_PLUGINS_ALL; do echo -e '\t'$i; done ) | sort
873 echo -n "configure: *** Plug-ins relying on libraries that will be built:"
874 echo -e "$GST_PLUGINS_YES" | sort
876 echo -n "configure: *** Plug-ins relying on libraries that will NOT be built:"
877 echo -e "$GST_PLUGINS_NO" | sort
879 if test "x$BUILD_EXTERNAL" = "xno"; then
880 echo "configure: *** No external plug-ins will be built"