dnl autoconf configuration file for gst-plugins AC_INIT AC_CANONICAL_TARGET dnl We disable static building for development, for time savings dnl this goes before AS_LIBTOOL to appease autoconf dnl *NOTE*: dnl this line before release, so release does static too AM_DISABLE_STATIC dnl AM_MAINTAINER_MODE only provides the option to configure to enable it AM_MAINTAINER_MODE dnl when going to/from release please set the nano (fourth number) right ! dnl releases only do Wall, cvs and prerelease does Werror too AS_VERSION(gst-plugins-base, GST_PLUGINS_BASE_VERSION, 0, 9, 2, 1, GST_CVS="no", GST_CVS="yes") AM_INIT_AUTOMAKE($PACKAGE,$VERSION) dnl our libraries and install dirs use major.minor as a version GST_MAJORMINOR=$GST_PLUGINS_BASE_VERSION_MAJOR.$GST_PLUGINS_BASE_VERSION_MINOR dnl we override it here if we need to for the release candidate of new series GST_MAJORMINOR=0.9 AC_SUBST(GST_MAJORMINOR) dnl CURRENT, REVISION, AGE dnl - library source changed -> increment REVISION dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0 dnl - interfaces added -> increment AGE dnl - interfaces removed -> AGE = 0 AS_LIBTOOL(GST_PLUGINS, 1, 0, 1) AS_LIBTOOL_TAGS([]) AM_PROG_LIBTOOL dnl FIXME take something else ? AC_CONFIG_SRCDIR([gst/sine/gstsinesrc.c]) AM_CONFIG_HEADER(config.h) dnl Add parameters for aclocal dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL) ACLOCAL_FLAGS="-I m4 -I common/m4" AC_SUBST(ACLOCAL_AMFLAGS, $ACLOCAL_FLAGS) AC_PROG_CC AM_PROG_CC_STDC AM_PROG_AS AS="${CC}" AS_PROG_OBJC dnl the gettext stuff needed AM_GNU_GETTEXT_VERSION(0.11.5) AM_GNU_GETTEXT([external]) GETTEXT_PACKAGE=gst-plugins-base-$GST_MAJORMINOR AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], "$GETTEXT_PACKAGE", [gettext package name]) dnl define LOCALEDIR in config.h AS_AC_EXPAND(LOCALEDIR, $datadir/locale) AC_DEFINE_UNQUOTED([LOCALEDIR], "$LOCALEDIR", [gettext locale dir]) GST_SET_ERROR_CFLAGS($GST_CVS) dnl determine c++ compiler AC_PROG_CXX dnl determine if c++ is available on this system AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no) dnl determine c++ preprocessor AC_PROG_CXXCPP AC_ISC_POSIX AC_HEADER_STDC([]) AC_C_INLINE AX_CREATE_STDINT_H dnl Check for malloc.h AC_CHECK_HEADER(malloc.h,[ AC_DEFINE(HAVE_MALLOC_H, 1, [whether malloc.h available]) ]) dnl Check for a way to display the function name in debug output GST_CHECK_FUNCTION() dnl define correct errorlevel for debugging messages. We want to have GST_ERROR dnl messages printed when running cvs builds if test "x$GST_CVS" = "xyes"; then AC_DEFINE(GST_LEVEL_DEFAULT, GST_LEVEL_ERROR, [Default errorlevel to use]) fi dnl Check for FIONREAD ioctl declaration : GST_CHECK_FIONREAD() DEFAULT_AUDIOSINK="alsasink" DEFAULT_VIDEOSINK="xvimagesink" DEFAULT_AUDIOSRC="alsasrc" DEFAULT_VIDEOSRC="v4lsrc" DEFAULT_VISUALIZER="goom" case "$host" in *-sun-* | *pc-solaris* ) DEFAULT_AUDIOSINK="sunaudiosink" DEFAULT_VIDEOSINK="ximagesink" DEFAULT_AUDIOSRC="sunaudiosrc" ;; *-darwin* ) DEFAULT_AUDIOSINK="osxaudiosink" DEFAULT_AUDIOSRC="osxaudiosrc" DEFAULT_VIDEOSINK="osxvideosink" ;; esac AC_SUBST(DEFAULT_AUDIOSINK) AC_DEFINE_UNQUOTED(DEFAULT_AUDIOSINK,"$DEFAULT_AUDIOSINK",[Default audio sink]) AC_SUBST(DEFAULT_AUDIOSRC) AC_DEFINE_UNQUOTED(DEFAULT_AUDIOSRC,"$DEFAULT_AUDIOSRC",[Default audio source]) AC_SUBST(DEFAULT_VIDEOSINK) AC_DEFINE_UNQUOTED(DEFAULT_VIDEOSINK,"$DEFAULT_VIDEOSINK",[Default video sink]) AC_SUBST(DEFAULT_VIDEOSRC) AC_DEFINE_UNQUOTED(DEFAULT_VIDEOSRC,"$DEFAULT_VIDEOSRC",[Default video source]) AC_SUBST(DEFAULT_VISUALIZER) AC_DEFINE_UNQUOTED(DEFAULT_VISUALIZER,"$DEFAULT_VISUALIZER",[Default visualizer]) dnl ############################################ dnl # Super Duper options for plug-in building # dnl ############################################ dnl ext plug-ins; plug-ins that have external dependencies GST_CHECK_FEATURE(EXTERNAL, [enable building of plug-ins with external deps],, [HAVE_EXTERNAL=yes],enabled, [ AC_MSG_WARN(building external plug-ins) BUILD_EXTERNAL="yes" ],[ AC_MSG_WARN(all plug-ins with external dependencies will not be built) BUILD_EXTERNAL="no" ]) # make BUILD_EXTERNAL available to Makefile.am AM_CONDITIONAL(BUILD_EXTERNAL, test "x$BUILD_EXTERNAL" = "xyes") dnl experimental plug-ins; stuff that hasn't had the dust settle yet dnl read 'builds, but might not work'UTO GST_CHECK_FEATURE(EXPERIMENTAL, [enable building of experimental plug-ins],, [HAVE_EXPERIMENTAL=yes],disabled, [ AC_MSG_WARN(building experimental plug-ins) USE_TARKIN="yes" ],[ AC_MSG_NOTICE(not building experimental plug-ins) USE_TARKIN="no" ]) dnl broken plug-ins; stuff that doesn't seem to build at the moment GST_CHECK_FEATURE(BROKEN, [enable building of broken plug-ins],, HAVE_BROKEN=yes,disabled, [ AC_MSG_WARN([building broken plug-ins -- no bug reports on these, only patches :)]) ],[ AC_MSG_NOTICE([not building broken plug-ins]) ]) dnl ############################## dnl # Do automated configuration # dnl ############################## dnl Check for tools: dnl ================ dnl allow for different autotools AS_AUTOTOOLS_ALTERNATE() dnl modify pkg-config path AC_ARG_WITH(pkg-config-path, AC_HELP_STRING([--with-pkg-config-path],[colon-separated list of pkg-config(1) dirs]), [export PKG_CONFIG_PATH=${withval}]) dnl check architecture GST_ARCH() dnl check for gstreamer dnl uninstalled is selected preferentially -- see pkg-config(1) GST_REQ=0.9.0 PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ, HAVE_GST="yes", HAVE_GST="no") if test "x$HAVE_GST" = "xno"; then AC_MSG_ERROR(no GStreamer found) fi GST_TOOLS_DIR=`pkg-config --variable=toolsdir gstreamer-$GST_MAJORMINOR` if test -z $GST_TOOLS_DIR; then AC_MSG_ERROR([no tools dir defined in GStreamer pkg-config file; core upgrade needed.]) fi AC_SUBST(GST_TOOLS_DIR) GST_PLUGINS_DIR=`pkg-config --variable=pluginsdir gstreamer-$GST_MAJORMINOR` if test -z $GST_PLUGINS_DIR; then AC_MSG_ERROR([no plugins dir defined in GStreamer pkg-config file; core upgrade needed.]) fi AC_SUBST(GST_PLUGINS_DIR) dnl check for gstreamer-dataprotocol; uninstalled is selected preferentially PKG_CHECK_MODULES(GST_GDP, gstreamer-dataprotocol-$GST_MAJORMINOR >= $GST_REQ, HAVE_GST_GDP="yes", HAVE_GST_GDP="no") if test "x$HAVE_GST_GDP" = "xno"; then AC_MSG_ERROR(no GStreamer Dataprotocol Libs found) fi AC_SUBST(GST_GDP_LIBS) dnl check for gstreamer-controller; uninstalled is selected preferentially PKG_CHECK_MODULES(GST_CTRL, gstreamer-controller-$GST_MAJORMINOR >= $GST_REQ, HAVE_GST_CTRL="yes", HAVE_GST_CTRL="no") if test "x$HAVE_GST_CTRL" = "xno"; then AC_MSG_ERROR(no GStreamer Controller Libs found) fi AC_SUBST(GST_CTRL_LIBS) PKG_CHECK_MODULES(GST_BASE, gstreamer-base-$GST_MAJORMINOR >= $GST_REQ, HAVE_GST_BASE="yes", HAVE_GST_BASE="no") if test "x$HAVE_GST_BASE" = "xno"; then AC_MSG_ERROR(no libgstbase found) fi AC_SUBST(GST_BASE_LIBS) PKG_CHECK_MODULES(GST_CHECK, gstreamer-check-$GST_MAJORMINOR >= $GST_REQ, HAVE_GST_CHECK="yes", HAVE_GST_CHECK="no") AC_PATH_PROG(VALGRIND_PATH, valgrind, no) AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno") dnl Determine endianness AC_C_BIGENDIAN dnl Check for fast float to int casting as defined in C99 AC_C99_FUNC_LRINT() AC_C99_FUNC_LRINTF() dnl Check for essential libraries first: dnl ==================================== GST_GLIB2_CHECK() dnl Check for additional libraries that we might use: dnl ================================================= dnl GTK HAVE_GTK=NO PKG_CHECK_MODULES(GTK2, gtk+-2.0 >= 2.2.0, HAVE_GTK_22=yes, HAVE_GTK_22=no) if test "x$HAVE_GTK_22" = "xyes"; then HAVE_GTK=yes GTK_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0` AC_SUBST(GTK_VERSION) GTK_PREFIX=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0` AC_SUBST(GTK_BASE_DIR) else PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK_20=yes, HAVE_GTK_20=no) fi if test "x$HAVE_GTK_20" = "xyes"; then HAVE_GTK=yes fi GTK_CFLAGS=$GTK2_CFLAGS GTK_LIBS=$GTK2_LIBS AC_SUBST(GTK_LIBS) AC_SUBST(GTK_CFLAGS) AC_SUBST(HAVE_GTK) PKG_CHECK_MODULES(LIBOIL, liboil-0.3 >= 0.3.2, HAVE_LIBOIL=yes, HAVE_LIBOIL=no) AC_SUBST(LIBOIL_CFLAGS) AC_SUBST(LIBOIL_LIBS) if test "x${HAVE_LIBOIL}" != xyes ; then AC_ERROR([liboil-0.3 is required]) fi dnl =========================================================================== dnl ============================= gst plug-ins ================================ dnl =========================================================================== plugindir="\$(libdir)/gstreamer-$GST_MAJORMINOR" AC_SUBST(plugindir) dnl this really should only contain flags, not libs - they get added before dnl whatevertarget_LIBS and -L flags here affect the rest of the linking GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_desc\$\$' -no-undefined" AC_SUBST(GST_PLUGIN_LDFLAGS) dnl these are all the gst plug-ins, compilable without additional libs GST_PLUGINS_ALL="\ adder \ audioconvert \ audiorate \ audioresample \ ffmpegcolorspace \ playback \ sine \ subparse \ tcp \ typefind \ videotestsrc \ videorate \ videoscale \ volume \ " dnl see if we can build C++ plug-ins if test "x$HAVE_CXX" = "xyes"; then GST_PLUGINS_ALL="$GST_PLUGINS_ALL" else AC_MSG_WARN([Not compiling plug-ins requiring C++ compiler]) fi AC_SUBST(GST_PLUGINS_ALL) GST_PLUGINS_SELECTED="" AC_ARG_WITH(plugins, AC_HELP_STRING([--with-plugins],[comma-separated list of plug-ins to compile]), [for i in `echo $withval | tr , ' '`; do if echo $GST_PLUGINS_ALL | grep $i > /dev/null then GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i" else echo "plug-in $i not recognized, ignoring..." fi done], [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL]) AC_SUBST(GST_PLUGINS_SELECTED) dnl ========================================================================== dnl ============================= sys plug-ins ================================ dnl ========================================================================== echo AC_MSG_NOTICE([Checking libraries for plugins in sys/]) echo dnl Check for X11 translit(dnm, m, l) AM_CONDITIONAL(USE_X, true) GST_CHECK_FEATURE(X, [X libraries and plugins], [ximagesink], [ AC_PATH_XTRA ac_cflags_save="$CFLAGS" ac_cppflags_save="$CPPFLAGS" CFLAGS="$CFLAGS $X_CFLAGS" CPPFLAGS="$CPPFLAGS $X_CFLAGS" dnl now try to find the HEADER AC_CHECK_HEADER(X11/Xlib.h, HAVE_X="yes", HAVE_X="no") if test "x$HAVE_X" = "xno" then AC_MSG_NOTICE([cannot find X11 development files]) else dnl this is much more than we want X_LIBS="$X_LIBS $X_PRE_LIBS $X_EXTRA_LIBS" dnl AC_PATH_XTRA only defines the path needed to find the X libs, dnl it does not add the libs; therefore we add them here X_LIBS="$X_LIBS -lX11" AC_SUBST(X_CFLAGS) AC_SUBST(X_LIBS) fi AC_SUBST(HAVE_X) CFLAGS="$ac_cflags_save" CPPFLAGS="$ac_cppflags_save" ]) dnl *** XVideo *** dnl Look for the PIC library first, Debian requires it. dnl Check debian-devel archives for gory details. dnl 20020110: dnl At the moment XFree86 doesn't distribute shared libXv due dnl to unstable API. On many platforms you CAN NOT link a shared dnl lib to a static non-PIC lib. This is what the xvideo GStreamer dnl plug-in wants to do. So Debian distributes a PIC compiled dnl version of the static lib for plug-ins to link to when it is dnl inappropriate to link the main application to libXv directly. dnl FIXME: add check if this platform can support linking to a dnl non-PIC libXv, if not then don not use Xv. dnl FIXME: perhaps warn user if they have a shared libXv since dnl this is an error until XFree86 starts shipping one dnl Check for Xv extension translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true) GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], [xvimagesink], [ if test x$HAVE_X = xyes; then AC_CHECK_LIB(Xv_pic, XvQueryExtension, HAVE_XVIDEO="yes", HAVE_XVIDEO="no", $X_LIBS -lXext) if test x$HAVE_XVIDEO = xyes; then XVIDEO_LIBS="-lXv_pic -lXext" AC_SUBST(XVIDEO_LIBS) else dnl try again using something else if we didn't find it first if test x$HAVE_XVIDEO = xno; then AC_CHECK_LIB(Xv, XvQueryExtension, HAVE_XVIDEO="yes", HAVE_XVIDEO="no", $X_LIBS -lXext) if test x$HAVE_XVIDEO = xyes; then XVIDEO_LIBS="-lXv -lXext" AC_SUBST(XVIDEO_LIBS) fi fi fi fi ]) dnl check for X Shm translit(dnm, m, l) AM_CONDITIONAL(USE_XSHM, true) GST_CHECK_FEATURE(XSHM, [X Shared Memory extension], xshm, [ if test x$HAVE_X = xyes; then AC_CHECK_LIB(Xext, XShmAttach, HAVE_XSHM="yes", HAVE_XSHM="no", $X_LIBS) if test "x$HAVE_XSHM" = "xyes"; then XSHM_LIBS="-lXext" else dnl On AIX, it is in XextSam instead, but we still need -lXext AC_CHECK_LIB(XextSam, XShmAttach, HAVE_XSHM="yes", HAVE_XSHM="no", $X_LIBS) if test "x$HAVE_XSHM" = "xyes"; then XSHM_LIBS="-lXext -lXextSam" fi fi fi ], , [ AC_SUBST(HAVE_XSHM) AC_SUBST(XSHM_LIBS) ] ) dnl v4l/v4l2 checks have been moved down because they require X dnl *** Video 4 Linux *** dnl for information about the header/define, see sys/v4l/gstv4lelement.h dnl renamed to GST_V4L in accordance with V4L2 below translit(dnm, m, l) AM_CONDITIONAL(USE_GST_V4L, true) GST_CHECK_FEATURE(GST_V4L, [Video 4 Linux], v4lsrc v4lmjpegsrc v4lmjpegsink, [ # first check X HAVE_GST_V4L="no" if test "$HAVE_X" = "yes" then AC_CHECK_DECL(VID_TYPE_MPEG_ENCODER, HAVE_GST_V4L="yes", HAVE_GST_V4L="no", [ #include #define _LINUX_TIME_H #define __user #include ]) fi ]) dnl Next, check for the optional libraries: dnl These are all libraries used in building plug-ins dnl ================================================ dnl let's try and sort them alphabetically, shall we ? if test "x$BUILD_EXTERNAL" = "xyes"; then echo AC_MSG_NOTICE([Checking libraries for plugins in ext/]) echo dnl *** alsa *** translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true) GST_CHECK_FEATURE(ALSA, [alsa plug-ins], gstalsa, [ PKG_CHECK_MODULES(ALSA, alsa >= 0.9.1, [ HAVE_ALSA="yes" AC_SUBST(ALSA_CFLAGS) AC_SUBST(ALSA_LIBS) ], [ AM_PATH_ALSA(0.9.1, HAVE_ALSA="yes", HAVE_ALSA="no") ]) ]) dnl *** CDParanoia *** translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true) GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [ GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, cdda_open, -lm, cdda_interface.h, CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia" HEADER_DIR="no" FOUND_CDPARANOIA="yes") if test "x$FOUND_CDPARANOIA" != "xyes"; then GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, cdda_open, -lm, cdda/cdda_interface.h, CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia" HEADER_DIR="yes" FOUND_CDPARANOIA="yes") fi if test "x$HEADER_DIR" = "xyes"; then AC_DEFINE_UNQUOTED(CDPARANOIA_HEADERS_IN_DIR, , defined if cdda headers are in a cdda/ directory) fi AC_SUBST(CDPARANOIA_LIBS) ]) dnl FIXME : add second check somehow if that is necessary dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface ) dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no) dnl *** Gnome VFS *** translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true) GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [ PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0, HAVE_GNOME_VFS="yes", HAVE_GNOME_VFS="no") AC_SUBST(GNOME_VFS_CFLAGS) AC_SUBST(GNOME_VFS_LIBS) ]) dnl *** libvisual *** translit(dnm, m, l) AM_CONDITIONAL(USE_LIBVISUAL, true) GST_CHECK_FEATURE(LIBVISUAL, [libvisual visualization plugins], libvisual, [ PKG_CHECK_MODULES(LIBVISUAL, libvisual = 0.2.0, HAVE_LIBVISUAL="yes", HAVE_LIBVISUAL="no") AC_SUBST(LIBVISUAL_CFLAGS) AC_SUBST(LIBVISUAL_LIBS) ]) dnl *** ogg *** translit(dnm, m, l) AM_CONDITIONAL(USE_OGG, true) GST_CHECK_FEATURE(OGG, [ogg de/encoder], oggdemux oggmux, [ PKG_CHECK_MODULES(OGG, ogg >= 1.0, [ HAVE_OGG="yes" AC_SUBST(OGG_CFLAGS) AC_SUBST(OGG_LIBS) ], [ XIPH_PATH_OGG(HAVE_OGG="yes", HAVE_OGG="no") AS_SCRUB_INCLUDE(OGG_CFLAGS) ]) ]) dnl *** theora *** translit(dnm, m, l) AM_CONDITIONAL(USE_THEORA, true) GST_CHECK_FEATURE(THEORA, [ogg theora codec], theoradec theoraenc, [ PKG_CHECK_MODULES(THEORA, theora, [ HAVE_THEORA="yes" AC_SUBST(THEORA_LIBS) AC_SUBST(THEORA_CFLAGS) ], [ GST_CHECK_LIBHEADER(THEORA, theora, theora_version_string, "-logg", theora/theora.h, THEORA_LIBS="-ltheora -logg") AC_SUBST(THEORA_LIBS) ]) ]) dnl *** vorbis *** dnl AM_PATH_VORBIS only takes two options translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true) GST_CHECK_FEATURE(VORBIS, [vorbis plug-in], vorbisenc vorbisdec, [ PKG_CHECK_MODULES(VORBIS, vorbis >= 1.0 vorbisenc >= 1.0, [ HAVE_VORBIS="yes" ], [ XIPH_PATH_VORBIS(HAVE_VORBIS="yes", HAVE_VORBIS="no") AS_SCRUB_INCLUDE(VORBIS_CFLAGS) ]) ]) if test "x$HAVE_VORBIS" = "xyes"; then ac_cflags_save="$CFLAGS" dnl FIXME: does this work on non-gcc? -- Company dnl FIXME: no, it doesn't. Why is this here in the first place ? -- thomasvs CFLAGS="-Wall -Werror" AC_COMPILE_IFELSE( AC_LANG_PROGRAM([ #include ],[ vorbis_dsp_state *v; vorbis_synthesis_restart (v); ]), HAVE_VSR=yes, HAVE_VSR=no) if test "x$HAVE_VSR" = "xyes"; then AC_DEFINE_UNQUOTED(HAVE_VORBIS_SYNTHESIS_RESTART, 1, [defined if vorbis_synthesis_restart is present]) fi CFLAGS="$ac_cflags_save" fi fi dnl of EXT plugins dnl Check for atomic.h dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H) AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no) dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't) if test x$HAVE_ATOMIC_H = xyes; then AC_TRY_RUN([ #include "asm/atomic.h" main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;} ],, [ # Not successful if test x$HAVE_ATOMIC_H = xyes; then AC_MSG_WARN(Atomic reference counting is out of date: doing without.) fi HAVE_ATOMIC_H=no ], [ # Cross compiling AC_MSG_RESULT(yes) AC_MSG_WARN(Can't check properly for atomic reference counting. Assuming OK.) ]) fi dnl check for "check", unit testing library/header AM_PATH_CHECK(0.9.2, HAVE_CHECK=yes, HAVE_CHECK=no) AM_CONDITIONAL(HAVE_CHECK, test "x$HAVE_CHECK" = "xyes") dnl ###################################################################### dnl # Check command line parameters, and set shell variables accordingly # dnl ###################################################################### AC_ARG_ENABLE(atomic, AC_HELP_STRING([--enable-atomic],[use atomic reference counting header]), [case "${enableval}" in yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;; noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;; no) USE_ATOMIC_H=no;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;; esac], [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value AC_ARG_ENABLE(profiling, AC_HELP_STRING([--enable-profiling], [-pg to compiler commandline, for profiling]), [case "${enableval}" in yes) USE_PROFILING=yes ;; no) UES_PROFILING=no ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;; esac], [USE_PROFILING=no]) dnl Default value AC_ARG_ENABLE(tests, AC_HELP_STRING([--disable-tests],[disable building test apps]), [case "${enableval}" in yes) BUILD_TESTS=yes ;; no) BUILD_TESTS=no ;; *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;; esac], [BUILD_TESTS=yes]) dnl Default value AC_ARG_ENABLE(examples, AC_HELP_STRING([--disable-examples],[disable building examples]), [case "${enableval}" in yes) BUILD_EXAMPLES=yes ;; no) BUILD_EXAMPLES=no ;; *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;; esac], [BUILD_EXAMPLES=yes]) dnl Default value dnl seeking needs freetype, so check for it here PKG_CHECK_MODULES(FT2, freetype2 >= 2.0.9, HAVE_FT2="yes", [ AC_CHECK_FT2(2.0.9, HAVE_FT2="yes", HAVE_FT2="no") ]) dnl make the HAVE_FT2 variable available to automake and Makefile.am AM_CONDITIONAL(HAVE_FT2, test "x$HAVE_FT2" = "xyes") AC_SUBST(FT2_CFLAGS) AC_SUBST(FT2_LIBS) dnl ################################################ dnl # Set defines according to variables set above # dnl ################################################ if test "x$USE_ATOMIC_H" = xyes; then AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available]) fi # do not use deprecated stuff GST_CFLAGS="$GST_CFLAGS -DGST_DISABLE_DEPRECATED" if test "x$USE_DEBUG" = xyes; then GST_CFLAGS="$GST_CFLAGS -g" fi dnl ############################ dnl # Checks for documentation # dnl ############################ GTK_DOC_CHECK([1.3]) AS_PATH_PYTHON([2.1]) dnl ############################# dnl # Set automake conditionals # dnl ############################# dnl These should be "USE_*" instead of "HAVE_*", but some packages expect dnl HAVE_ and it is likely to be easier to stick with the old name AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes") AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes") AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes") AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes") AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes") AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes") AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes") AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG) AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF) AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes") dnl prefer internal headers to already installed ones dnl also add builddir include for enumtypes and marshal dnl add ERROR_CFLAGS, but overridable GST_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS \$(ERROR_CFLAGS)" AC_SUBST(GST_LIBS) AC_SUBST(GST_CFLAGS) dnl ########################### dnl # Configure external libs # dnl ########################### dnl ############################ dnl # Set up some more defines # dnl ############################ dnl set license and copyright notice AC_DEFINE(GST_LICENSE, "LGPL", [GStreamer license]) dnl package name in plugins AC_ARG_WITH(package-name, AC_HELP_STRING([--with-package-name],[specify package name to use in plugins]), [case "${withval}" in yes) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;; no) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;; *) GST_PACKAGE="${withval}" ;; esac], [ dnl default value if test "x$GST_CVS" = "xyes" then dnl nano >= 1 GST_PACKAGE="GStreamer CVS/prerelease" else GST_PACKAGE="GStreamer source release" fi ] ) AC_MSG_NOTICE(Using $GST_PACKAGE as package name) AC_DEFINE_UNQUOTED(GST_PACKAGE, "$GST_PACKAGE", [package name in plugins]) dnl package origin URL AC_ARG_WITH(package-origin, AC_HELP_STRING([--with-package-origin],[specify package origin URL to use in plugins]), [case "${withval}" in yes) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;; no) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;; *) GST_ORIGIN="${withval}" ;; esac], [GST_ORIGIN="http://gstreamer.freedesktop.org/"]) dnl Default value AC_MSG_NOTICE(Using $GST_ORIGIN as package origin) AC_DEFINE_UNQUOTED(GST_ORIGIN, "$GST_ORIGIN", [package origin]) dnl ######################### dnl # Make the output files # dnl ######################### AC_CONFIG_FILES( Makefile gst-plugins-base.spec gst/Makefile gst/adder/Makefile gst/audioconvert/Makefile gst/audiorate/Makefile gst/audioresample/Makefile gst/ffmpegcolorspace/Makefile gst/playback/Makefile gst/sine/Makefile gst/subparse/Makefile gst/tcp/Makefile gst/typefind/Makefile gst/videotestsrc/Makefile gst/videorate/Makefile gst/videoscale/Makefile gst/volume/Makefile sys/Makefile sys/ximage/Makefile sys/xvimage/Makefile sys/v4l/Makefile ext/Makefile ext/alsa/Makefile ext/cdparanoia/Makefile ext/gnomevfs/Makefile ext/libvisual/Makefile ext/ogg/Makefile ext/theora/Makefile ext/vorbis/Makefile gst-libs/Makefile gst-libs/gst/Makefile gst-libs/gst/audio/Makefile gst-libs/gst/floatcast/Makefile gst-libs/gst/interfaces/Makefile gst-libs/gst/net/Makefile gst-libs/gst/riff/Makefile gst-libs/gst/rtp/Makefile gst-libs/gst/tag/Makefile gst-libs/gst/video/Makefile gst-libs/ext/Makefile examples/seeking/Makefile examples/Makefile tools/Makefile pkgconfig/Makefile pkgconfig/gstreamer-plugins-base.pc pkgconfig/gstreamer-plugins-base-uninstalled.pc check/Makefile docs/Makefile docs/libs/Makefile docs/plugins/Makefile docs/version.entities po/Makefile.in common/Makefile common/m4/Makefile m4/Makefile ) AC_OUTPUT echo "configure: *** Core plug-ins, always built:" ( for i in $GST_PLUGINS_ALL; do echo -e '\t'$i; done ) | sort echo echo -n "configure: *** Plug-ins relying on libraries that will be built:" echo -e "$GST_PLUGINS_YES" | sort echo echo -n "configure: *** Plug-ins relying on libraries that will NOT be built:" echo -e "$GST_PLUGINS_NO" | sort echo if test "x$BUILD_EXTERNAL" = "xno"; then echo "configure: *** No external plug-ins will be built" fi