diff options
author | Thomas Vander Stichele <thomas@apestaart.org> | 2001-12-17 18:37:01 +0000 |
---|---|---|
committer | Thomas Vander Stichele <thomas@apestaart.org> | 2001-12-17 18:37:01 +0000 |
commit | 49d345d9ef32b3a019cb7ec1f8d4546145c15b59 (patch) | |
tree | 24c6674552c8cf97fc72b3860d35554fa3b1d847 /configure.ac | |
download | gst-plugins-bad-49d345d9ef32b3a019cb7ec1f8d4546145c15b59.tar.gz gst-plugins-bad-49d345d9ef32b3a019cb7ec1f8d4546145c15b59.tar.bz2 gst-plugins-bad-49d345d9ef32b3a019cb7ec1f8d4546145c15b59.zip |
building up speed
Original commit message from CVS:
building up speed
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 1219 |
1 files changed, 1219 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac new file mode 100644 index 00000000..2c749a1b --- /dev/null +++ b/configure.ac @@ -0,0 +1,1219 @@ +dnl autoconf configuration file for plugins +AC_INIT +AC_CONFIG_SRCDIR([configure.ac]) + +AC_CANONICAL_TARGET([]) + +AM_CONFIG_HEADER(config.h) + +GST_VERSION_MAJOR=0 +GST_VERSION_MINOR=3 +GST_VERSION_MICRO=02 + +dnl we use the release tag during CVS development +GST_VERSION_RELEASE=`date +%Y%m%d` + +GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_MICRO + +PACKAGE=gstreamer-plugins +VERSION=$GST_VERSION + +AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") +AC_DEFINE_UNQUOTED(VERSION, "$VERSION") +AC_SUBST(PACKAGE) +AC_SUBST(VERSION) +AC_DEFINE_UNQUOTED(GST_VERSION_RELEASE, "$GST_VERSION_RELEASE") +AC_SUBST(GST_VERSION_RELEASE) + +dnl libtool +GST_CURRENT=1 +GST_REVISION=0 +GST_AGE=0 +GST_LIBVERSION=$GST_CURRENT:$GST_REVISION:$GST_AGE + +AM_INIT_AUTOMAKE($PACKAGE, $VERSION) +dnl Add parameters for aclocal +dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL) +ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" + +AC_SUBST(GST_VERSION_MAJOR) +AC_SUBST(GST_VERSION_MINOR) +AC_SUBST(GST_VERSION_MICRO) +AC_SUBST(GST_VERSION) + +AC_SUBST(GST_CURRENT) +AC_SUBST(GST_REVISION) +AC_SUBST(GST_AGE) +AC_SUBST(GST_LIBVERSION) + +AM_MAINTAINER_MODE + +AC_PROG_CC +AM_PROG_CC_STDC +AM_PROG_AS +AS="${CC}" +AC_PROG_CXX +AC_PROG_CXXCPP +AC_ISC_POSIX + +dnl We disable static building for development, for time savings +dnl *NOTE*: dnl this line before release, so release does static too +AM_DISABLE_STATIC +AC_LIBTOOL_DLOPEN +AM_PROG_LIBTOOL + +AC_HEADER_STDC([]) + +dnl ########################################### +dnl # Super Duper options for plugin building # +dnl ########################################### + +dnl experimental plugins; stuff that hasn't had the dust settle yet +AC_ARG_ENABLE(experimental, +[ --enable-experimental enable building of experimental plugins], +[case "${enableval}" in + yes) EXPERIMENTAL="yes" ;; + no) EXPERIMENTAL="no" ;; +esac], +[EXPERIMENTAL=no]) dnl Default value + +if test "x$EXPERIMENTAL" = "$xyes"; then + AC_MSG_WARN(building experimental plugins) + USE_LIBMIKMOD="yes" +else + AC_MSG_NOTICE(not building experimental plugins) + USE_LIBMIKMOD="no" +fi + +dnl broken plugins; stuff that doesn't seem to build at the moment +AC_ARG_ENABLE(broken, +[ --enable-broken enable building of broken plugins], +[case "${enableval}" in + yes) BROKEN="yes" ;; + no) BROKEN="no" ;; +esac], +[BROKEN=no]) dnl Default value + +if test "x$broken-plugins" = "$xyes"; then + AC_MSG_WARN(building broken plugins) + USE_ARTS="yes" + USE_ARTSC="yes" +else + AC_MSG_NOTICE(not building broken plugins) + USE_ARTS="no" + USE_ARTSC="no" +fi + + + +dnl ############################## +dnl # Do automated configuration # +dnl ############################## + +dnl Check for tools: +dnl ================ + +dnl Check for nasm +AC_PATH_PROG(NASM_PATH, nasm, no) +AC_SUBST(NASM_PATH) +if test x$NASM_PATH = xno; then + AC_MSG_WARN(Couldn't find nasm) + HAVE_NASM="no" +else + AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available]) + HAVE_NASM="yes" +fi + +dnl fix pkg-config's broken default search path +if test -z $PKG_CONFIG_PATH; then + PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig +fi +export PKG_CONFIG_PATH + +dnl Check for pkgconfig +AC_CHECK_PROG(HAVE_PKGCONFIG, pkg-config, true, false) + +dnl dnl check for gtk-doc +dnl AC_ARG_WITH(html-dir, [ --with-html-dir=PATH path to installed docs ]) +dnl +dnl if test "x$with_html_dir" = "x" ; then +dnl HTML_DIR='${datadir}/gst/html' +dnl else +dnl HTML_DIR=$with_html_dir +dnl fi +dnl +dnl AC_SUBST(HTML_DIR) +dnl +dnl AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, true, false) +dnl gtk_doc_min_version=0.6 +dnl if $HAVE_GTK_DOC ; then +dnl gtk_doc_version=`gtkdoc-mkdb --version` +dnl AC_MSG_CHECKING([gtk-doc version ($gtk_doc_version) >= $gtk_doc_min_version]) +dnl if perl <<EOF ; then +dnl exit (("$gtk_doc_version" =~ /^[[0-9]]+\.[[0-9]]+$/) && +dnl ("$gtk_doc_version" >= "$gtk_doc_min_version") ? 0 : 1); +dnl EOF +dnl AC_MSG_RESULT(yes) +dnl else +dnl AC_MSG_RESULT(no) +dnl HAVE_GTK_DOC=false +dnl fi +dnl fi +dnl GTK_DOC_SCANOBJ=gtkdoc-scanobj +dnl +dnl AC_SUBST(HAVE_GTK_DOC) +dnl AC_SUBST(GTK_DOC_SCANOBJ) +dnl +dnl dnl check for docbook tools +dnl AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, true, false) +dnl AC_CHECK_PROG(HAVE_PDFTOPS, pdftops, true, false) +dnl dnl this does not yet work properly, at least on debain -- wingo +dnl HAVE_PDFXMLTEX=false +dnl +dnl dnl check for image conversion tool +dnl AC_CHECK_PROG(HAVE_FIG2DEV, fig2dev, true, false) +dnl +dnl dnl The following is a hack: if fig2dev doesn't display an error message +dnl dnl for the desired type, we assume it supports it. +dnl HAVE_FIG2DEV_PNG=false +dnl if test "x$HAVE_FIG2DEV" = "xtrue" ; then +dnl fig2dev_quiet=`fig2dev -L png </dev/null 2>&1 >/dev/null` +dnl if test "x$fig2dev_quiet" = "x" ; then +dnl HAVE_FIG2DEV_PNG=true +dnl fi +dnl fi +dnl HAVE_FIG2DEV_PDF=false +dnl if test "x$HAVE_FIG2DEV" = "xtrue" ; then +dnl fig2dev_quiet=`fig2dev -L pdf </dev/null 2>&1 >/dev/null` +dnl if test "x$fig2dev_quiet" = "x" ; then +dnl HAVE_FIG2DEV_PDF=true +dnl fi +dnl fi +dnl + +dnl Set up conditionals for (target) architecture: +dnl ============================================== + +dnl Determine CPU +case "x${target_cpu}" in + xi?86 | k?) HAVE_CPU_I386=yes + AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86]) + dnl FIXME could use some better detection + dnl (ie CPUID) + case "x${target_cpu}" in + xi386 | xi486) ;; + *) AC_DEFINE(HAVE_RDTSC) ;; + esac ;; + xpowerpc) HAVE_CPU_PPC=yes + AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;; + xalpha) HAVE_CPU_ALPHA=yes + AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;; + xarm*) HAVE_CPU_ARM=yes + AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;; + xsparc*) HAVE_CPU_SPARC=yes + AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;; + xmips*) HAVE_CPU_MIPS=yes + AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;; + xhppa*) HAVE_CPU_HPPA=yes + AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;; +esac + +dnl Determine endianness +AC_C_BIGENDIAN + +dnl Check for MMX-capable compiler +AC_MSG_CHECKING(for MMX-capable compiler) +AC_TRY_RUN([ +#include "include/mmx.h" + +main() +{ movq_r2r(mm0, mm1); return 0; } +], +[ +HAVE_LIBMMX="yes" +AC_MSG_RESULT(yes) +], +HAVE_LIBMMX="no" +AC_MSG_RESULT(no) +, +HAVE_LIBMMX="no" +AC_MSG_RESULT(no) +) + +dnl +dnl We should really use AC_SYS_LARGEFILE, but the problem is +dnl many of the plugins don't include "config.h". To assure +dnl binary compatibility, it is necessary that all gstreamer +dnl code be compiled with the same sizeof(off_t), so we use +dnl the following crude hack. +dnl + +AC_MSG_CHECKING(for large file support) +AC_TRY_RUN([ +#define _LARGEFILE_SOURCE +#define _FILE_OFFSET_BITS 64 +#include <sys/types.h> +int main () { return !(sizeof(off_t) == 8); } +], +[ +AC_MSG_RESULT(yes) +GST_CFLAGS="$GST_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" +], +[ +AC_MSG_RESULT(no) +], +[ +AC_MSG_RESULT(no) +]) + +dnl Check for essential libraries first: +dnl ==================================== + +dnl Check for glib2 +translit(dnm, m, l) AM_CONDITIONAL(USE_GLIB2, true) +GST_CHECK_FEATURE(GLIB2, [use of glib-2.0 and GObject], , [ + PKG_CHECK_MODULES(GLIB2, glib-2.0 gobject-2.0 gthread-2.0 gmodule-2.0, + HAVE_GLIB2=yes,HAVE_GLIB2=no) + GLIB_LIBS=$GLIB2_LIBS + GLIB_CFLAGS=$GLIB2_CFLAGS + AC_SUBST(GLIB_LIBS) + AC_SUBST(GLIB_CFLAGS) +], disabled, [ + AC_DEFINE(USE_GLIB2) + GST_CFLAGS="$GST_CFLAGS -DUSE_GLIB2" +]) +AC_SUBST(USE_GLIB2) + +if test x$USE_GLIB2 = xno; then + GST_PKG_DEPS="glib >= 1.2.0, gtk+ >= 1.2.0" + + dnl Check for glib and gtk + AM_PATH_GLIB(1.2.0,, + AC_MSG_ERROR(Cannot find glib: Is glib-config in path?), + glib gmodule gthread) + AM_PATH_GTK(1.2.0,, + AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?)) + HAVE_GTK=yes + + GLIB_LIBS="$GLIB_LIBS $GTK_LIBS" + GLIB_CFLAGS="$GLIB_CFLAGS $GTK_CFLAGS" +else + GST_PKG_DEPS="glib-2.0 gobject-2.0 gmodule-2.0 gthread-2.0" + + PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no) + + GTK_FLAGS=$GTK2_CFLAGS + GTK_LIBS=$GTK2_LIBS + + if $HAVE_GTK_DOC; then + AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-scangobj, true, false) + if $HAVE_GTK_DOC; then + GTK_DOC_SCANOBJ=gtkdoc-scangobj + fi; + fi + + dnl FIXME: check for gnome2 - this conditional is currently + dnl always false. + AM_CONDITIONAL(USE_GNOME2, test "x$USE_GNOME2" = "xyes") + AC_SUBST(USE_GNOME2) +fi + +AC_SUBST(GST_PKG_DEPS) +AC_SUBST(GTK_LIBS) +AC_SUBST(GTK_CFLAGS) + +dnl Check for libxml +if test x$USE_GLIB2 = xno; then + LIBXML_PKG='libxml >= 1.8.1' + AC_PATH_PROG(XML_CONFIG, xml-config, no) + if test x$XML_CONFIG = xno; then + AC_MSG_ERROR(Couldn't find $LIBXML_PKG) + fi + XML_LIBS="`xml-config --libs`" + XML_CFLAGS="`xml-config --cflags`" + AC_CHECK_LIB(xml, xmlDocGetRootElement, :, + [ AC_MSG_ERROR(Need version 1.8.1 or better of libxml) ], + $XML_LIBS) +else + LIBXML_PKG='libxml-2.0' + PKG_CHECK_MODULES(XML, $LIBXML_PKG, XML_CONFIG=yes, XML_CONFIG=no) + AC_PATH_PROG(XML_CONFIG, xml-config, no) + AC_DEFINE(HAVE_LIBXML2) + GST_CFLAGS="$GST_CFLAGS -DHAVE_LIBXML2" +fi +AC_SUBST(LIBXML_PKG) +AC_SUBST(XML_LIBS) +AC_SUBST(XML_CFLAGS) + +dnl ========================================================================== +dnl ========================= Macro definitions ============================== +dnl ========================================================================== + +dnl These macros should be moved out to separate files (acinclude.m4?), but +dnl can't currently be because of the SUBSTFOR magic. + +dnl Perform a check for existence of ARTS +dnl Richard Boulton <richard-alsa@tartarus.org> +dnl Last modification: 26/06/2001 +dnl GST_CHECK_FEATURE(FEATURE-NAME, FEATURE-DESCRIPTION, +dnl DEPENDENT-PLUGINS, TEST-FOR-FEATURE) +dnl +dnl This check was written for GStreamer: it should be renamed and checked +dnl for portability if you decide to use it elsewhere. +dnl +AC_DEFUN(GST_CHECK_ARTS, +[ +dnl Set the flags +ARTS_LIBS="-L/usr/local/lib -L/usr/lib -lmcop -lartsflow -lartsflow_idl" +ARTS_CFLAGS="-I/usr/local/include/arts -I/usr/include/kde/arts -I/usr/include/arts" +ARTS_MCOPFLAGS=$ARTS_CFLAGS +dnl There's no arts-config script, so we make a guess based on the artsc-config +AC_PATH_PROG(ARTSC_CONFIG, artsc-config, no) +if test x$ARTSC_CONFIG = xyes; then + ARTS_ARTSC_CFLAGS=`artsc-config --cflags | sed 's/artsc/arts/g'` + ARTS_CFLAGS="$ARTS_CFLAGS $ARTS_ARTSC_CFLAGS" + ARTS_MCOPFLAGS="$ARTS_MCOPFLAGS $ARTS_ARTSC_CFLAGS" +fi +AC_SUBST(ARTS_LIBS) +AC_SUBST(ARTS_CFLAGS) +AC_SUBST(ARTS_MCOPFLAGS) + +dnl Now check if it exists +AC_LANG_PUSH(C++) +HAVE_ARTS=yes +dnl FIXME: Can't get this test to pass, so commented it out. Rely on header check. +dnl AC_CHECK_LIB(artsflow, convert_stereo_2float_i16le, :, HAVE_ARTS=no, $LIBS) + +dnl AC_CHECK_HEADER uses CPPFLAGS, but not CFLAGS. +dnl FIXME: ensure only suitable flags result from artsc-config --cflags +AC_CHECK_HEADER(artsflow.h, :, HAVE_ARTS=no) + +AC_LANG_POP(C++) +dnl Check for the idl generator +AC_CHECK_PROG(HAVE_MCOPIDL, mcopidl, yes, no) +if test x$HAVE_MCOPIDL = xno; then + HAVE_ARTS=no +fi +]) + +dnl ========================================================================== +dnl ========================= End macro definitions ========================== +dnl ========================================================================== + + +dnl Next, check for the optional libraries: +dnl These are all libraries used in building plugins +dnl ================================================ +dnl let's try and sort them alphabetically, shall we ? + +echo +echo +AC_MSG_NOTICE(Checking for plugin libraries) + +dnl *** a52dec *** +translit(dnm, m, l) AM_CONDITIONAL(USE_A52DEC, true) +GST_CHECK_FEATURE(A52DEC, [a52dec], a52dec, [ +GST_CHECK_LIBHEADER(A52DEC, a52, a52_init, -lm, a52dec/a52.h, A52DEC_LIBS="-la52") +]) + +dnl *** aalib *** +translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true) +GST_CHECK_FEATURE(AALIB, [aasink plugin], aasink, [ + AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no) +]) + +dnl *** alsa *** +translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true) +GST_CHECK_FEATURE(ALSA, [alsa plugins], gstalsa, [ +AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no) +]) + +dnl *** arts *** +dnl translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true) +dnl GST_CHECK_FEATURE(ARTS, [arts plugins], arts, [GST_CHECK_ARTS()]) + +dnl *** artsc *** +dnl translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true) +dnl GST_CHECK_FEATURE(ARTSC, [artsd plugins], artsdsink, [GST_CHECK_ARTSC()]) + +dnl *** audiofile *** +dnl this check uses the GST_CHECK_CONFIGPROG macro +translit(dnm, m, l) AM_CONDITIONAL(USE_LIBAUDIOFILE, true) +GST_CHECK_FEATURE(LIBAUDIOFILE, [audiofile], afsink afsrc, [ +translit(dnm, m, l) AC_SUBST(LIBAUDIOFILE_LIBS) +translit(dnm, m, l) AC_SUBST(LIBAUDIOFILE_CFLAGS) +GST_CHECK_CONFIGPROG(LIBAUDIOFILE, audiofile-config) +]) + +dnl *** avifile *** +dnl this check uses the GST_CHECK_CONFIGPROG macro +translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true) +GST_CHECK_FEATURE(AVIFILE, [avifile], windec winenc, [ +translit(dnm, m, l) AC_SUBST(AVIFILE_LIBS) +translit(dnm, m, l) AC_SUBST(AVIFILE_CFLAGS) +GST_CHECK_CONFIGPROG(AVIFILE, avifile-config) +]) + +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, , cdda_interface.h, CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia") +]) +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 *** dvdread *** +translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDVDREAD, true) +GST_CHECK_FEATURE(LIBDVDREAD, [dvdread library], libdvdread, [ + GST_CHECK_LIBHEADER(LIBDVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, LIBDVDREAD_LIBS="-ldvdread") +]) + +dnl **** ESound **** +translit(dnm, m, l) AM_CONDITIONAL(USE_LIBESD, true) +GST_CHECK_FEATURE(LIBESD, [esound plugins], esdsrc esdsink, [ + AM_PATH_ESD(0.2.12, HAVE_LIBESD=yes, HAVE_LIBESD=no) +]) + +dnl *** FLAC *** +dnl thomas : checking for compile with main instead of actual function, +dnl since that made autoconf break (for version 2.13) +translit(dnm, m, l) AM_CONDITIONAL(USE_LIBFLAC, true) +GST_CHECK_FEATURE(FLACLIB, [FLAC lossless audio], flacenc flacdec, [ + GST_CHECK_LIBHEADER(FLACLIB, FLAC, main, -lm, FLAC/all.h, LIBFLAC_LIBS="-lFLAC") +]) + +dnl +dnl *** Gnome VFS *** +dnl this check uses the GST_CHECK_CONFIGPROG macro with gnome-config vfs +translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true) +GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [ +translit(dnm, m, l) AC_SUBST(GNOME_VFS_LIBS) +translit(dnm, m, l) AC_SUBST(GNOME_VFS_CFLAGS) +GST_CHECK_CONFIGPROG(GNOME_VFS, gnome-config vfs) +]) + +dnl *** gsm *** +translit(dnm, m, l) AM_CONDITIONAL(USE_LIBGSM, true) +GST_CHECK_FEATURE(LIBGSM, [GSM library], gsmenc gsmdec, [ +GST_CHECK_LIBHEADER(LIBGSM, gsm, gsm_create, , gsm/gsm.h, LIBGSM_LIBS="-lgsm") +]) + +dnl *** Hermes *** +translit(dnm, m, l) AM_CONDITIONAL(USE_LIBHERMES, true) +GST_CHECK_FEATURE(LIBHERMES, [Hermes library], colorspace, [ +GST_CHECK_LIBHEADER(LIBHERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, LIBHERMES_LIBS="-lHermes") +], AC_SUBST(LIBHERMES_LIBS)) + +dnl *** lame *** +translit(dnm, m, l) AM_CONDITIONAL(USE_LIBLAME, true) +GST_CHECK_FEATURE(LIBLAME, [lame mp3 encoder library], lame, [ +GST_CHECK_LIBHEADER(LIBLAME, mp3lame, lame_init, -lm, lame/lame.h, LIBLAME_LIBS="-lmp3lame") +]) + +dnl AC_SUBST(HAVE_LIBLAME) + +dnl *** libdv *** +dnl FIXME : check if those GLIB thingies are ok +translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDV, true) +GST_CHECK_FEATURE(LIBDV, [dv library], dv, [ +GST_CHECK_LIBHEADER(LIBDV, dv, dv_init, -lm $GLIB_LIBS $GLIB_CFLAGS, libdv/dv.h, LIBDV_LIBS="-ldv") +]) +dnl FIXME : check if these CPP flags can be dealt with otherwise +dnl libdvcheck_save_CPPFLAGS="$CPPFLAGS" +dnl CPPFLAGS="$CPPFLAGS $GLIB_CFLAGS" +dnl AC_CHECK_HEADER(libdv/dv.h, :, HAVE_LIBDV=no) +dnl CPPFLAGS="$libdvcheck_save_CPPFLAGS" + +dnl *** libjpeg *** +dnl FIXME: we could use header checks here as well IMO +translit(dnm, m, l) AM_CONDITIONAL(USE_LIBJPEG, true) +GST_CHECK_FEATURE(LIBJPEG, [libjpeg], jpegenc jpegdec, [ + AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_LIBJPEG="yes", HAVE_LIBJPEG="no") +]) + +dnl *** mad *** +dnl FIXME: we could use header checks here as well IMO +translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMAD, true) +GST_CHECK_FEATURE(LIBMAD, [mad], mad, [ +AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_LIBMAD="yes") +]) + +dnl *** mikmod *** +translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMIKMOD, true) +GST_CHECK_FEATURE(LIBMIKMOD, [mikmod plugin], mikmod, [ + AM_PATH_LIBMIKMOD(, HAVE_LIBMIKMOD=yes, HAVE_LIBMIKMOD=no) +]) + +dnl *** mpeg2dec *** +translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true) +GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [ + GST_CHECK_LIBHEADER(MPEG2DEC, mpeg2, mpeg2_init,, mpeg2dec/mpeg2.h, MPEG2DEC_LIBS="-lmpeg2") +]) + +dnl *** OSS audio *** +translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true) +GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [ + AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no") +]) + +dnl *** quicktime *** +dnl FIXME: make this be called openquicktime +translit(dnm, m, l) AM_CONDITIONAL(USE_QUICKTIME, true) +GST_CHECK_FEATURE(QUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[ + GST_CHECK_LIBHEADER(QUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, QUICKTIME_LIBS="-lopenquicktime") +]) + +dnl *** raw1394 *** +translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true) +GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [ + GST_CHECK_LIBHEADER(RAW1394, raw1934, raw1934_get_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-raw1394") +]) + +dnl Check for librtp +dnl FIXME : adapt and make it work +translit(dnm, m, l) AM_CONDITIONAL(USE_LIBRTP, true) +GST_CHECK_FEATURE(LIBRTP, [RTP library], rtpenc rtpdec,[ + AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_LIBRTP=yes, HAVE_LIBRTP=no, $GLIB_LIBS $GLIB_CFLAGS) +]) +dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp +dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no) +dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no) +dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no) +dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no) + + +dnl *** SDL *** +translit(dnm, m, l) AM_CONDITIONAL(USE_LIBSDL, true) +GST_CHECK_FEATURE(LIBSDL, [SDL plugin], sdlvideosink, [ + AM_PATH_SDL(, HAVE_LIBSDL=yes, HAVE_LIBSDL=no) +]) + +dnl *** shout *** +translit(dnm, m, l) AM_CONDITIONAL(USE_LIBSHOUT, true) +GST_CHECK_FEATURE(LIBSHOUT, [shout plugin], icecastsend, [ + GST_CHECK_LIBHEADER(LIBSHOUT, shout, shout_init_connection,, shout/shout.h, LIBSHOUT_LIBS="-lshout") +]) + +dnl for sidplay +dnl FIXME : make this work +dnl AC_PATH_LIBSIDPLAY + + +dnl *** vorbis *** +dnl AM_PATH_VORBIS only takes two options +translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true) +GST_CHECK_FEATURE(VORBIS, [vorbis plugin], vorbisenc vorbisdec, [ + AM_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no) +]) + +dnl *** xmms *** +translit(dnm, m, l) AM_CONDITIONAL(USE_LIBXMMS, true) +GST_CHECK_FEATURE(LIBXMMS, [xmms plugin], xmms, [ + AM_PATH_XMMS(0.1.0, HAVE_LIBXMMS=yes, HAVE_LIBXMMS=no) +]) + +dnl Check for libgdk-pixbuf +dnl FIXME: not sure that this is still used anywhere. +dnl DELETEME +dnl translit(dnm, m, l) AM_CONDITIONAL(USE_GDK_PIXBUF, true) +dnl GST_CHECK_FEATURE(GDK_PIXBUF, [use gdk pixbuf], , [ +dnl translit(dnm, m, l) AC_SUBST(GDK_PIXBUF_LIBS) +dnl translit(dnm, m, l) AC_SUBST(GDK_PIXBUF_CFLAGS) +dnl GST_CHECK_CONFIGPROG(GDK_PIXBUF, gdk-pixbuf-config) +dnl ]) +dnl + + +if test x$USE_GLIB2 = xyes; then + dnl we don't support gnome/gtk with glib2.0 yet + GNOME_LIBS= + GNOME_CFLAGS= + HAVE_GNOME=no + AC_MSG_WARN(gnome disabled for glib2.0) +else + dnl Check for libgnome + GST_CHECK_CONFIGPROG(GNOME, gnome-config, gnome gnomeui) +fi +AC_SUBST(GNOME_LIBS) +AC_SUBST(GNOME_CFLAGS) +AC_SUBST(HAVE_GNOME) + +dnl Check for libghttp +translit(dnm, m, l) AM_CONDITIONAL(USE_LIBGHTTP, true) +GST_CHECK_FEATURE(LIBGHTTP, [libghttp plugins], gsthttpsrc, [ + dnl FIXME: need to check for header + GHTTP_LIBS= + GST_HTTPSRC_GET_TYPE= + if test x$USE_GLIB2 = xyes; then + AC_MSG_WARN(ghttp disabled for glib2.0) + else + AC_CHECK_LIB(ghttp, ghttp_request_new, + [GHTTP_LIBS="-lghttp" + GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type" + HAVE_LIBGHTTP=yes + ], :, $LIBS) + fi + AC_SUBST(GHTTP_LIBS) + AC_SUBST(GST_HTTPSRC_GET_TYPE) +]) + + +dnl thomas : adding an arts check taken from xine with it's own .m4 +dnl FIXME: put this higher up +dnl AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no) + +dnl also define ARTS_MCOPFLAGS +dnl ARTS_MCOPFLAGS="$ARTS_CFLAGS" +dnl AC_SUBST(ARTS_MCOPFLAGS) + +dnl Check for libglade with gnome support; no libglade for glib2.0 +HAVE_LIBGLADE_GNOME="no" +if test x$USE_GLIB2 = xyes; then + AC_MSG_WARN(libglade disabled for glib2.0) + PKG_CHECK_MODULES(LIBGLADE_GNOME, libglade-2.0 libgnomeui-2.0, HAVE_LIBGLADE_GNOME=yes, HAVE_LIBGLADE_GNOME=no) + if test x$HAVE_LIBGLADE_GNOME = xno; then + AC_MSG_WARN(Couldn't find libglade-2.0 - Can't build gstplay) + LIBGLADE_GNOME_LIBS= + LIBGLADE_GNOME_CFLAGS= + fi; +else + AM_PATH_LIBGLADE(HAVE_LIBGLADE_GNOME="yes", HAVE_LIBGLADE_GNOME="no", gnome) + if test x$HAVE_LIBGLADE_GNOME = xno; then + AC_MSG_WARN(Couldn't find libglade-config - Can't build gstplay) + else + LIBGLADE_GNOME_LIBS=$LIBGLADE_LIBS + LIBGLADE_GNOME_CFLAGS=$LIBGLADE_CFLAGS + AC_TRY_LINK([#include <glade/glade.h>],[glade_gnome_init();], + HAVE_LIBGLADE_GNOME="yes" + AC_MSG_WARN( + [Couldn't find gnome libraries for libglade - Can't build gstmediaplay and gsteditor]) + ) + fi +fi +AC_SUBST(HAVE_LIBGLADE_GNOME) +AC_SUBST(LIBGLADE_GNOME_LIBS) +AC_SUBST(LIBGLADE_GNOME_CFLAGS) + +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 X11 extensions +AC_PATH_XTRA +if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then + AC_MSG_ERROR(can not find X11) +fi +AC_SUBST(X_CFLAGS) +AC_SUBST(X_PRE_LIBS) +AC_SUBST(X_EXTRA_LIBS) +AC_SUBST(X_LIBS) + + +dnl Check for the Xv library +xvsave_LIBS=${LIBS} +AC_CHECK_LIB(Xv, XvQueryExtension, + HAVE_LIBXV=yes, + HAVE_LIBXV=no, + $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS +) +LIBS=${xvsave_LIBS} +AC_CHECK_HEADER(X11/extensions/Xv.h, :, HAVE_LIBXV=no) +AC_CHECK_HEADER(X11/extensions/Xvlib.h, :, HAVE_LIBXV=no) + +dnl Check for linux/cdrom.h +AC_CHECK_HEADER(linux/cdrom.h, + HAVE_LINUX_CDROM=yes, HAVE_LINUX_CDROM=no +) + +dnl Check for linux/videodev.h +AC_CHECK_HEADER(linux/videodev.h, + HAVE_LINUX_VIDEODEV=yes, HAVE_LINUX_VIDEODEV=no +) + + +dnl ###################################################################### +dnl # Check command line parameters, and set shell variables accordingly # +dnl ###################################################################### + +AC_ARG_ENABLE(libmmx, +[ --enable-libmmx use libmmx, if available], +[case "${enableval}" in + yes) USE_LIBMMX=$HAVE_LIBMMX ;; + no) USE_LIBMMX=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;; +esac], +[USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value + +AC_ARG_ENABLE(atomic, +[ --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(plugin-builddir, +[ --enable-plugin-builddir allow tests/demos to use non-installed plugins ], +[case "${enableval}" in + yes) PLUGINS_USE_BUILDDIR=yes ;; + no) PLUGINS_USE_BUILDDIR=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;; +esac], +[PLUGINS_USE_BUILDDIR=no]) dnl Default value + +AC_ARG_ENABLE(debug, +[ --enable-debug compile with -g debugging info], +[case "${enableval}" in + yes) USE_DEBUG=yes ;; + no) USE_DEBUG=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;; +esac], +[USE_DEBUG=no]) dnl Default value + +AC_ARG_ENABLE(DEBUG, +[ --enable-DEBUG compiles in a large number of debugging messages], +[case "${enableval}" in + yes) ENABLE_DEBUG=yes ;; + no) ENABLE_DEBUG=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;; +esac], +[ENABLE_DEBUG=no]) dnl Default value +if test x$ENABLE_DEBUG = xyes; then + AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in]) +fi + +AC_ARG_ENABLE(INFO, +[ --disable-INFO disables compilation of informational messages], +[case "${enableval}" in + yes) ENABLE_INFO=yes ;; + no) ENABLE_INFO=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-INFO) ;; +esac], +[ENABLE_INFO=yes]) dnl Default value +if test x$ENABLE_INFO = xyes; then + AC_DEFINE(GST_INFO_ENABLED, 1, [Define if INFO statements should be compiled in]) +fi + +AC_ARG_ENABLE(debug-color, +[ --disable-debug-color disables color output of DEBUG and INFO output], +[case "${enableval}" in + yes) ENABLE_DEBUG_COLOR=yes ;; + no) ENABLE_DEBUG_COLOR=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-color) ;; +esac], +[ENABLE_DEBUG_COLOR=yes]) dnl Default value +if test "x$ENABLE_DEBUG_COLOR" = xyes; then + AC_DEFINE(GST_DEBUG_COLOR, 1, [Define if debugging messages should be colorized]) +fi + +AC_ARG_ENABLE(profiling, +[ --enable-profiling adds -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 + +dnl default to building registry in the source tree if we are enabling plugin build dir +if test "x$PLUGINS_USE_BUILDDIR"="xyes"; then + GST_CONFIG_DIR=`pwd` +else + GST_CONFIG_DIR=/etc/gstreamer +fi +AC_ARG_WITH(configdir, +[ --with-configdir specify path to use for configdir], +[case "${withval}" in + yes) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;; + no) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;; + *) GST_CONFIG_DIR="${withval}" ;; +esac], +[:]) dnl Default value + +dnl Default value +GST_WIN32_LIBDIR="/usr/lib/win32" +AC_ARG_WITH(win32_libdir, +[ --with-win32-libdir specify location for win32 DLLs], +[case "${withval}" in + yes) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;; + no) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;; + *) GST_WIN32_LIBDIR="${withval}" ;; +esac], +[:]) dnl Default value + +AC_ARG_ENABLE(docs-build, +[ --enable-docs-build enable building of documentation], +[case "${enableval}" in + yes) if $HAVE_GTK_DOC; then BUILD_DOCS=yes; else AC_MSG_ERROR([you don't have gtk-doc, so don't use --docs-build]); fi; ;; + no) BUILD_DOCS=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;; +esac], +[BUILD_DOCS=no]) dnl Default value + +AC_ARG_ENABLE(plugin-docs, +[ --enable-plugin-docs enable the building of plugin documentation + (this is currently broken, so off by default)], +[case "${enableval}" in + yes) BUILD_PLUGIN_DOCS=yes ;; + no) BUILD_PLUGIN_DOCS=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;; +esac], +[BUILD_PLUGIN_DOCS=no]) dnl Default value + +AC_ARG_ENABLE(tests, +[ --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, +[ --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 Next, check for the optional components: +dnl ======================================== + + +AC_DEFUN(GST_SUBSYSTEM_DISABLE, +[dnl +dnl Add a subsystem --disable flag and all the necessary symbols and substitions +dnl +AC_ARG_ENABLE(translit([$1], A-Z, a-z), +[ ]builtin(format, --disable-%-17s disable %s, translit([$1], A-Z, a-z), $2), +[ case "${enableval}" in + yes) GST_DISABLE_[$1]=no ;; + no) GST_DISABLE_[$1]=yes ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;; + esac], +[GST_DISABLE_[$1]=no]) dnl Default value +if test x$GST_DISABLE_[$1] = xyes; then + AC_DEFINE(GST_DISABLE_[$1], 1, [Disable $2]) + GST_DISABLE_[$1]_DEFINE=-DGST_DISABLE_[$1] +fi +AM_CONDITIONAL(GST_DISABLE_[$1], test x$GST_DISABLE_[$1] = xyes) +AC_SUBST(GST_DISABLE_[$1]_DEFINE) +GST_SUBSYSTEM_DISABLE_DEFINES="$GST_SUBSYTEM_DISABLE_DEFINES $GST_DISABLE_[$1]_DEFINE" +]) + +translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true) +GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save]) +translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TYPEFIND, true) +GST_SUBSYSTEM_DISABLE(TYPEFIND,[typefind plugin],) +translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_AUTOPLUG, true) +GST_SUBSYSTEM_DISABLE(AUTOPLUG,[autoplugger subsystem]) +translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PARSE, true) +GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser]) +translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TRACE, true) +GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem]) +translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true) +GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry]) + +GST_CFLAGS="$GST_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES" + + +dnl ################################################ +dnl # Set defines according to variables set above # +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 +if test "x$USE_LIBGHTTP" = xyes; then + AC_DEFINE(HAVE_LIBGHTTP, 1, [Define if ghttp library is available]) +fi + +if test "x$USE_LIBMMX" = xyes; then + AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available]) +fi + +if test "x$USE_ATOMIC_H" = xyes; then + AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available]) +fi + +if test "x$PLUGINS_USE_BUILDDIR" = xyes; then + AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this]) +fi + +dnl if test "x$USE_DEBUG" = xyes; then +dnl CFLAGS="$CFLAGS -g" +dnl fi + +if test "x$USE_PROFILING" = xyes; then +dnl CFLAGS="$CFLAGS -pg -fprofile-arcs" + FOMIT_FRAME_POINTER="" +else + FOMIT_FRAME_POINTER="-fomit-frame-pointer" +fi + +dnl +dnl AC_SUBST(FOMIT_FRAME_POINTER) +dnl + +if test "x$HAVE_LIBXV" = xyes; then + AC_DEFINE(HAVE_LIBXV) +fi + +if test "x$HAVE_OSS" = xyes; then + AC_DEFINE(HAVE_OSS) +fi + +if test "x$HAVE_XAUDIO" = xyes; then + AC_DEFINE(HAVE_XAUDIO) +fi + +if test "x$HAVE_LIBMAD" = xyes; then + AC_DEFINE(HAVE_LIBMAD) +fi + +if test "x$HAVE_LIBMIKMOD" = xyes; then + AC_DEFINE(HAVE_LIBMIKMOD) +fi + +if test "x$HAVE_VORBIS" = xyes; then + AC_DEFINE(HAVE_VORBIS) +fi + +if test "x$HAVE_AALIB" = "xyes"; then + AC_DEFINE(HAVE_AALIB) +fi + +if test "x$HAVE_LIBJPEG" = xyes; then + AC_DEFINE(HAVE_LIBJPEG) +fi + +if test "x$HAVE_LIBSDL" = xyes; then + AC_DEFINE(HAVE_LIBSDL) +fi + +if test "x$HAVE_LIBHERMES" = "xyes"; then + AC_DEFINE(HAVE_LIBHERMES) +fi + +if test "x$HAVE_LIBDVDREAD" = xyes; then + AC_DEFINE(HAVE_LIBDVDREAD) +fi + +if test "x$HAVE_LINUX_CDROM" = xyes; then + AC_DEFINE(HAVE_LINUX_CDROM) +fi + +if test "x$HAVE_LINUX_VIDEODEV" = xyes; then + AC_DEFINE(HAVE_LINUX_VIDEODEV) +fi + +if test "x$HAVE_MPEG2DEC" = xyes; then + AC_DEFINE(HAVE_MPEG2DEC) +fi + +if test "x$HAVE_A52DEC" = xyes; then + AC_DEFINE(HAVE_A52DEC) +fi + +if test "x$HAVE_FLACLIB" = xyes; then + AC_DEFINE(HAVE_FLACLIB) +fi + +if test "x$HAVE_LIBGSM" = xyes; then + AC_DEFINE(HAVE_LIBGSM) +fi + +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_CPU_I386, test "x$HAVE_CPU_I386" = "xyes") +AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes") +AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes") +AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes") +AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes") +AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes") + +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_OSS, test "x$HAVE_OSS" = "xyes") +AM_CONDITIONAL(HAVE_XAUDIO, test "x$HAVE_XAUDIO" = "xyes") +AM_CONDITIONAL(HAVE_LIBMAD, test "x$HAVE_LIBMAD" = "xyes") +AM_CONDITIONAL(HAVE_LIBMIKMOD, test "x$HAVE_LIBMIKMOD" = "xyes") +AM_CONDITIONAL(HAVE_LINUX_CDROM, test "x$HAVE_LINUX_CDROM" = "xyes") +AM_CONDITIONAL(HAVE_LINUX_VIDEODEV, test "x$HAVE_LINUX_VIDEODEV" = "xyes") +AM_CONDITIONAL(HAVE_LIBDVDREAD, test "x$HAVE_LIBDVDREAD" = "xyes") +AM_CONDITIONAL(HAVE_VORBIS, test "x$HAVE_VORBIS" = "xyes") +AM_CONDITIONAL(HAVE_LIBJPEG, test "x$HAVE_LIBJPEG" = "xyes") +AM_CONDITIONAL(HAVE_LIBSDL, test "x$HAVE_LIBSDL" = "xyes") +AM_CONDITIONAL(HAVE_LIBHERMES, test "x$HAVE_LIBHERMES" = "xyes") +AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes") +AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes") +AM_CONDITIONAL(HAVE_GNOME, test "x$HAVE_GNOME" = "xyes") +AM_CONDITIONAL(HAVE_LIBXV, test "x$HAVE_LIBXV" = "xyes") +AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes") +AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC) +AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes") +AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes") +AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes") +AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes") +AM_CONDITIONAL(HAVE_PDFXMLTEX, $HAVE_PDFXMLTEX) +AM_CONDITIONAL(HAVE_PDFTOPS, $HAVE_PDFTOPS) +AM_CONDITIONAL(HAVE_XSLTPROC, $HAVE_XSLTPROC) +AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG) +AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF) +AM_CONDITIONAL(HAVE_CDPARANOIA, test "x$HAVE_CDPARANOIA" = "xyes") +AM_CONDITIONAL(HAVE_LIBLAME, test "x$HAVE_LIBLAME" = "xyes") +AM_CONDITIONAL(HAVE_LIBSHOUT, test "x$HAVE_LIBSHOUT" = "xyes") +AM_CONDITIONAL(HAVE_MPEG2DEC, test "x$HAVE_MPEG2DEC" = "xyes") +AM_CONDITIONAL(HAVE_A52DEC, test "x$HAVE_A52DEC" = "xyes") +dnl thomas : the next line gives errors, this is how it is in CVS +dnl AM_CONDITIONAL(HAVE_FLAC, test "x$HAVE_FLAC" = "xyes") +dnl thomas : the next line gives errors as well, I commented it +dnl AM_CONDITIONAL(HAVE_LAC, test "x$HAVE_FAC" = "xyes") +dnl thomas: the next line doesn't give errors +AM_CONDITIONAL(HAVE_FLACLIB, test "x$HAVE_FLACLIB" = "xyes") +AM_CONDITIONAL(HAVE_LIBRTP, test "x$HAVE_LIBRTP" = "xyes") +AM_CONDITIONAL(HAVE_ARTS, test "x$HAVE_ARTS" = "xyes") +AM_CONDITIONAL(HAVE_XMMS, test "x$HAVE_XMMS" = "xyes") +AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes") +AM_CONDITIONAL(HAVE_LIBDV, test "x$HAVE_LIBDV" = "xyes") +AM_CONDITIONAL(HAVE_AALIB, test "x$HAVE_AALIB" = "xyes") +AM_CONDITIONAL(HAVE_GNOME_VFS, test "x$HAVE_GNOME_VFS" = "xyes") +AM_CONDITIONAL(HAVE_AVIFILE, test "x$HAVE_AVIFILE" = "xyes") +AM_CONDITIONAL(HAVE_LIBOPENQUICKTIME, test "x$HAVE_LIBOPENQUICKTIME" = "xyes") +AM_CONDITIONAL(HAVE_LIBGSM, test "x$HAVE_LIBGSM" = "xyes") +AM_CONDITIONAL(PLUGINS_USE_BUILDDIR, test "x$PLUGINS_USE_BUILDDIR" = "xyes") +AM_CONDITIONAL(HAVE_SIDPLAY, test "x$have_sidplay" = "xyes") + + +dnl ############################ +dnl # Set up some more defines # +dnl ############################ + +dnl Set location of configuration dir. +AC_DEFINE_UNQUOTED(GST_CONFIG_DIR,"$GST_CONFIG_DIR") +AC_SUBST(GST_CONFIG_DIR) + +dnl Set location of windows dll dir. +AC_DEFINE_UNQUOTED(GST_WIN32_LIBDIR,"$GST_WIN32_LIBDIR") +AC_SUBST(GST_WIN32_LIBDIR) + +dnl Set location of plugin directory +if test "x${prefix}" = "xNONE"; then + PLUGINS_DIR=${ac_default_prefix}/lib/gst +else + PLUGINS_DIR=${prefix}/lib/gst +fi +AC_DEFINE_UNQUOTED(PLUGINS_DIR,"$PLUGINS_DIR") +AC_SUBST(PLUGINS_DIR) + +dnl Set location of uninstalled plugin directory +PLUGINS_BUILDDIR=`pwd` +AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR,"$PLUGINS_BUILDDIR") +AC_SUBST(PLUGINS_BUILDDIR) + +dnl Private vars for libgst only +LIBGST_LIBS="$GST_LIBS $XML_LIBS $GLIB_LIBS" +LIBGST_CFLAGS="$GST_CFLAGS $XML_CFLAGS $GLIB_CFLAGS" +AC_SUBST(LIBGST_LIBS) +AC_SUBST(LIBGST_CFLAGS) + +dnl Vars for everyone else +GST_LIBS="\$(top_builddir)/gst/libgst.la $LIBGST_LIBS" +GST_CFLAGS="-I\$(top_srcdir) -I\$(top_srcdir)/include $LIBGST_CFLAGS" +AC_SUBST(GST_LIBS) +AC_SUBST(GST_CFLAGS) + +dnl ############################# +dnl # Configure the subpackages # +dnl ############################# + +dnl AC_CONFIG_SUBDIRS(gist) +dnl AC_CONFIG_SUBDIRS(plugins/mp3decode/xing/libxing) + +dnl ################################################## +dnl # Prepare informative messages to display at end # +dnl ################################################## + +infomessages= + +if test "x$PLUGINS_USE_BUILDDIR" = xyes; then + infomessages="$infomessages +*** Warning: You have configured using the --enable-plugin-builddir option. + +This option is for development purposes only: binaries built with +it should be used with code in the build tree only. To build an +installable version, use ./configure without the --enable-plugin-builddir +option. Note that the autogen.sh script supplies the plugin builddir +option automatically - it cannot be used to configure installable builds. + +" +fi + +dnl ######################### +dnl # Make the output files # +dnl ######################### + +dnl gstreamer.pc +dnl gstreamer-uninstalled.pc +dnl gstreamer.spec, +dnl until ffmpeg is handled by configure plugins/ffmpeg/Makefile +dnl components/bonobo-gstmediaplay/Makefile +dnl someone should fix this test/misc/Makefile +dnl wtay fix this: testsuite/threads/Makefile +dnl testsuite/refcounting/Makefile +AC_OUTPUT( +Makefile +sys/vgasink/Makefile +sys/vcdsrc/Makefile +sys/xvideosink/Makefile +sys/v4l/Makefile +sys/qcam/Makefile +sys/Makefile +libs/Makefile +libs/riff/Makefile +libs/getbits/Makefile +libs/putbits/Makefile +libs/idct/Makefile +libs/audio/Makefile +libs/bytestream/Makefile +libs/control/Makefile +libs/resample/Makefile +stamp.h +echo "$infomessages", infomessages="$infomessages" +) + +echo -e "configure: *** Plugins that will be built : $GST_PLUGINS_YES" +echo +echo -e "configure: *** Plugins that will not be built : $GST_PLUGINS_NO" +echo |