mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-24 02:31:03 +00:00
c1a0beea7c
Original commit message from CVS: Revert aclocal invocation to do cat m4/*.m4 > acinclude.m4 beforehand, rather than adding m4/ to aclocal search path. Shouldn't cause errors when macros are already present on system, because macros in acinclude.m4 are used in preference.
853 lines
27 KiB
Text
853 lines
27 KiB
Text
dnl autoconf configuration file for plugins
|
|
AC_INIT
|
|
dnl FIXME take something else ?
|
|
AC_CONFIG_SRCDIR([COPYING])
|
|
|
|
AC_CANONICAL_TARGET([])
|
|
|
|
AM_CONFIG_HEADER(config.h)
|
|
|
|
GST_VERSION_MAJOR=0
|
|
GST_VERSION_MINOR=3
|
|
GST_VERSION_MICRO=2
|
|
|
|
dnl we use a datestamped release tag and a fourth version ".1" number
|
|
dnl during CVS development
|
|
GST_VERSION_RELEASE=`date +%Y%m%d`
|
|
GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_MICRO.1
|
|
dnl we use a normal release tag increased manually when releasing
|
|
dnl GST_VERSION_RELEASE=1
|
|
dnl GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_MICRO
|
|
|
|
PACKAGE=gst-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=2
|
|
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="cat m4/*.m4 >acinclude.m4;$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
|
|
dnl read 'builds, but might not work'
|
|
GST_CHECK_FEATURE(EXPERIMENTAL, [enable building of experimental plugins],,
|
|
[HAVE_EXPERIMENTAL=yes],disabled,
|
|
[
|
|
AC_MSG_WARN(building experimental plugins)
|
|
USE_SMOOTHWAVE="yes"
|
|
USE_TARKIN="yes"
|
|
],[
|
|
AC_MSG_NOTICE(not building experimental plugins)
|
|
USE_SMOOTHWAVE="no"
|
|
USE_TARKIN="no"
|
|
])
|
|
|
|
dnl broken plugins; stuff that doesn't seem to build at the moment
|
|
GST_CHECK_FEATURE(BROKEN, [enable building of broken plugins],,
|
|
HAVE_BROKEN=yes,disabled,
|
|
[
|
|
AC_MSG_WARN(building broken plugins)
|
|
USE_VGA="yes"
|
|
USE_XMMS="yes"
|
|
dnl AC_MSG_NOTICE(actually there are no broken plugins at the moment)
|
|
],[
|
|
USE_VGA="no"
|
|
USE_XMMS="no"
|
|
AC_MSG_NOTICE(not building broken plugins)
|
|
])
|
|
|
|
dnl ##############################
|
|
dnl # Do automated configuration #
|
|
dnl ##############################
|
|
|
|
dnl Check for tools:
|
|
dnl ================
|
|
|
|
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 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 check for gstreamer; uninstalled is selected preferentially -- see pkg-config(1)
|
|
PKG_CHECK_MODULES(GST, gstreamer >= 0.3.1, HAVE_GST="yes", HAVE_GST="no")
|
|
|
|
if test "x$HAVE_GST" = "xno"; then
|
|
AC_MSG_ERROR(no GStreamer found)
|
|
fi
|
|
|
|
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 essential libraries first:
|
|
dnl ====================================
|
|
|
|
if test -n "`echo $GST_CFLAGS | grep USE_GLIB2`"; then
|
|
USE_GLIB2=yes
|
|
else
|
|
USE_GLIB2=no
|
|
fi
|
|
|
|
dnl needed for some plugins and demos, now's a nice time to check for gtk
|
|
if test x$USE_GLIB2 = xno; then
|
|
AM_PATH_GTK(1.2.0,,
|
|
AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
|
|
HAVE_GTK=yes
|
|
# we have to have it
|
|
else
|
|
PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
|
|
|
|
GTK_CFLAGS=$GTK2_CFLAGS
|
|
GTK_LIBS=$GTK2_LIBS
|
|
fi
|
|
AC_SUBST(GTK_LIBS)
|
|
AC_SUBST(GTK_CFLAGS)
|
|
|
|
dnl Check for X11 extensions
|
|
AC_PATH_XTRA
|
|
if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
|
|
AC_MSG_NOTICE([cannot find X11, the build system needs fixage])
|
|
fi
|
|
AC_SUBST(X_CFLAGS)
|
|
AC_SUBST(X_PRE_LIBS)
|
|
AC_SUBST(X_EXTRA_LIBS)
|
|
AC_SUBST(X_LIBS)
|
|
|
|
dnl ==========================================================================
|
|
dnl ============================= gst plugins ================================
|
|
dnl ==========================================================================
|
|
GST_PLUGIN_LDFLAGS='-module -avoid-version'
|
|
AC_SUBST(GST_PLUGIN_LDFLAGS)
|
|
|
|
GST_PLUGINS_ALL="\
|
|
ac3parse adder audioscale auparse avi chart\
|
|
cutter deinterlace flx goom intfloat law level\
|
|
median mpeg1enc mpeg1sys mpeg1videoparse mpeg2enc mpeg2sub\
|
|
mpegaudio mpegaudioparse mpegstream mpegtypes\
|
|
passthrough playondemand rtjpeg silence sine\
|
|
smooth spectrum speed stereo stereomono\
|
|
synaesthesia udp videoscale volenv volume vumeter wavparse y4m"
|
|
|
|
AC_SUBST(GST_PLUGINS_ALL)
|
|
|
|
GST_PLUGINS_SELECTED=""
|
|
|
|
AC_ARG_WITH(plugins,
|
|
AC_HELP_STRING([--with-plugins],[comma-separated list of plugins to compile]),
|
|
[for i in `echo $withval | tr , ' '`; do
|
|
if test -n `echo $i | grep $GST_PLUGINS_ALL`; then
|
|
GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
|
|
else
|
|
echo "plugin $i not recognized, ignoring..."
|
|
fi
|
|
done],
|
|
[GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
|
|
|
|
AC_SUBST(GST_PLUGINS_SELECTED)
|
|
|
|
dnl ==========================================================================
|
|
dnl ============================= sys plugins ================================
|
|
dnl ==========================================================================
|
|
|
|
|
|
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 *** QuickCam ***
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
|
|
GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, [
|
|
dnl this one is for hadess, no qcam when no nasm found
|
|
if test "x$HAVE_NASM" = "xno";
|
|
then
|
|
HAVE_QCAM="no"
|
|
AC_MSG_WARN([QuickCam needs nasm])
|
|
else
|
|
HAVE_QCAM="yes"
|
|
fi
|
|
])
|
|
|
|
dnl *** Video 4 Linux ***
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
|
|
GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc v4lmjpegsrc v4lmjpegsink, [
|
|
AC_CHECK_DECL(VID_TYPE_MPEG_ENCODER, HAVE_V4L="yes", HAVE_V4L="no", [#include <linux/videodev.h>])
|
|
])
|
|
|
|
dnl *** Video CD ***
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
|
|
GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
|
|
AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
|
|
])
|
|
|
|
dnl *** VGA ***
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_VGA, true)
|
|
GST_CHECK_FEATURE(VGA, [VGA], vgavideosink, [
|
|
AC_CHECK_HEADER(asm/vga.h, HAVE_VGA="yes", HAVE_VGA="no")
|
|
])
|
|
|
|
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 plugin wants to do. So Debian distributes a PIC compiled
|
|
dnl version of the static lib for plugins 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
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
|
|
GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], xvideosink, [
|
|
dnl check for PIC static lib
|
|
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")
|
|
if test x$HAVE_XVIDEO = xno; then
|
|
dnl PIC lib not found, check for regular lib
|
|
GST_CHECK_LIBHEADER(XVIDEO, Xv, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h, XVIDEO_LIBS="-lXv -lXext")
|
|
fi
|
|
AC_SUBST(XVIDEO_LIBS)
|
|
])
|
|
|
|
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 if mcopidl can't be found there's no use in compiling it
|
|
AC_CHECK_PROG(MCOPIDL, mcopidl, yes, no)
|
|
if test "xHAVE_MCOPIDL" = "xno";
|
|
then
|
|
USE_ARTS=no
|
|
fi
|
|
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
|
|
GST_CHECK_FEATURE(ARTS, [arts plugins], arts, [
|
|
AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
|
|
])
|
|
dnl if mcopidl can't be found there's no use in compiling it
|
|
AC_PATH_PROG(MCOPIDL, mcopidl, yes, no)
|
|
if test "xHAVE_MCOPIDL" = "xno";
|
|
then
|
|
USE_ARTS=NO
|
|
fi
|
|
|
|
dnl *** artsc ***
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
|
|
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_AUDIOFILE, true)
|
|
GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
|
|
translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
|
|
translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
|
|
GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
|
|
])
|
|
|
|
dnl *** avifile ***
|
|
dnl this check uses the GST_CHECK_CONFIGPROG macro
|
|
dnl this check needs more fixing
|
|
dnl translit(dnm, m, l) AC_SUBST(AVIFILE_LIBS)
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true)
|
|
GST_CHECK_FEATURE(AVIFILE, [avifile], windec winenc, [
|
|
translit(dnm, m, l) AC_SUBST(AVIFILE_CFLAGS)
|
|
GST_CHECK_CONFIGPROG(AVIFILE, avifile-config)
|
|
AVIFILE_LIBS="$AVIFILE_LIBS -lstdc++"
|
|
AC_SUBST(AVIFILE_LIBS)
|
|
])
|
|
|
|
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")
|
|
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 *** dv ***
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_DV, true)
|
|
GST_CHECK_FEATURE(DV, [dv library], dv, [
|
|
GST_CHECK_LIBHEADER(DV, dv, dv_init, -lm $GST_CFLAGS $GST_LIBS, libdv/dv.h, DV_LIBS="-ldv")
|
|
AC_SUBST(DV_LIBS)
|
|
])
|
|
|
|
dnl *** dvdread ***
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
|
|
GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdsrc, [
|
|
GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
|
|
AC_SUBST(DVDREAD_LIBS)
|
|
])
|
|
|
|
dnl **** ESound ****
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
|
|
GST_CHECK_FEATURE(ESD, [esound plugins], esdsrc esdsink, [
|
|
AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
|
|
])
|
|
|
|
dnl **** festival ****
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_FESTIVAL, true)
|
|
GST_CHECK_FEATURE(FESTIVAL, [festival plugins], festivalsrc, [
|
|
dnl NOTE: just using local net connection now, add this lib check
|
|
dnl in the future if needed
|
|
dnl AC_LANG_PUSH(C++)
|
|
dnl dnl FIXME: took out func to check for
|
|
dnl dnl This check puts festival_tidy_up in extern "C".
|
|
dnl dnl But, at least on Debian as of 20020110, it is compiled with name
|
|
dnl dnl mangling C++ nonsense and symbols can't resolve
|
|
dnl dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, festival_tidy_up, , festival/festival.h, FESTIVAL_LIBS="-lFestival")
|
|
dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, , , festival/festival.h, FESTIVAL_LIBS="-lFestival")
|
|
dnl AC_LANG_POP(C++)
|
|
dnl AC_SUBST(FESTIVAL_LIBS)
|
|
HAVE_FESTIVAL=yes
|
|
])
|
|
|
|
dnl *** FLAC ***
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
|
|
GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
|
|
GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__stream_decoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
|
|
AC_SUBST(FLAC_LIBS)
|
|
])
|
|
|
|
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, [
|
|
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 *** gsm ***
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
|
|
GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
|
|
GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
|
|
if test $HAVE_GSM != "yes"; then
|
|
GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
|
|
if test $HAVE_GSM = "yes"; then
|
|
AC_DEFINE(GSM_HEADER_IN_SUBDIR)
|
|
fi
|
|
fi
|
|
AC_SUBST(GSM_LIBS)
|
|
])
|
|
|
|
dnl *** Hermes ***
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
|
|
GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
|
|
GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
|
|
], AC_SUBST(HERMES_LIBS))
|
|
|
|
dnl *** http ***
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
|
|
GST_CHECK_FEATURE(HTTP, [http 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,
|
|
[HTTP_LIBS="-lghttp"
|
|
GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
|
|
HAVE_HTTP=yes
|
|
], :, $LIBS)
|
|
fi
|
|
AC_SUBST(HTTP_LIBS)
|
|
AC_SUBST(GST_HTTPSRC_GET_TYPE)
|
|
])
|
|
|
|
dnl *** lame ***
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
|
|
GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
|
|
GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, HAVE_LAME="yes" LAME_LIBS="-lmp3lame")
|
|
])
|
|
AC_SUBST(LAME_LIBS)
|
|
|
|
|
|
dnl FIXME : check if these CPP flags can be dealt with otherwise
|
|
dnl libdvcheck_save_CPPFLAGS="$CPPFLAGS"
|
|
dnl CPPFLAGS="$CPPFLAGS $GST_CFLAGS"
|
|
dnl AC_CHECK_HEADER(libdv/dv.h, :, HAVE_LIBDV=no)
|
|
dnl CPPFLAGS="$libdvcheck_save_CPPFLAGS"
|
|
|
|
dnl *** jpeg ***
|
|
dnl FIXME: we could use header checks here as well IMO
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
|
|
GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
|
|
AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
|
|
JPEG_LIBS="-ljpeg"
|
|
AC_SUBST(JPEG_LIBS)
|
|
])
|
|
|
|
dnl *** mad ***
|
|
dnl FIXME: we could use header checks here as well IMO
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
|
|
GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
|
|
AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
|
|
])
|
|
AC_SUBST(MAD_LIBS)
|
|
|
|
dnl *** mikmod ***
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
|
|
GST_CHECK_FEATURE(MIKMOD, [mikmod plugin], mikmod, [
|
|
AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
|
|
AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
|
|
AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
|
|
])
|
|
|
|
dnl *** mjpegtools ***
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_MJPEGTOOLS, true)
|
|
GST_CHECK_FEATURE(MJPEGTOOLS, [mjpegtools], jpegmmxenc jpegmmxdec, [
|
|
PKG_CHECK_MODULES(MJPEGTOOLS, mjpegtools, HAVE_MJPEGTOOLS="yes", HAVE_MJPEGTOOLS="no")
|
|
AC_SUBST(MJPEGTOOLS_LIBS)
|
|
AC_SUBST(MJPEGTOOLS_CFLAGS)
|
|
])
|
|
|
|
dnl *** mpeg2dec ***
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
|
|
GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [ GST_CHECK_MPEG2DEC() ])
|
|
|
|
dnl *** openquicktime ***
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_OPENQUICKTIME, true)
|
|
GST_CHECK_FEATURE(OPENQUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
|
|
GST_CHECK_LIBHEADER(OPENQUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, OPENQUICKTIME_LIBS="-lopenquicktime")
|
|
AC_SUBST(OPENQUICKTIME_LIBS)
|
|
])
|
|
|
|
dnl *** raw1394 ***
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
|
|
GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
|
|
GST_CHECK_LIBHEADER(RAW1394, raw1394, raw1394_get_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-raw1394")
|
|
AC_SUBST(RAW1394_LIBS)
|
|
])
|
|
|
|
dnl *** rtp ***
|
|
dnl FIXME : adapt and make it work
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_RTP, true)
|
|
GST_CHECK_FEATURE(RTP, [RTP library], rtpenc rtpdec,[
|
|
AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_RTP=yes, HAVE_RTP=no, $GST_CFLAGS $GST_LIBS)
|
|
RTP_LIBS="-lrtp"
|
|
AC_SUBST(RTP_LIBS)
|
|
])
|
|
|
|
|
|
dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
|
|
dnl can use GST_* which should have GLIB_* info
|
|
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_SDL, true)
|
|
GST_CHECK_FEATURE(SDL, [SDL plugin], sdlvideosink, [
|
|
AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
|
|
])
|
|
|
|
dnl *** shout ***
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
|
|
GST_CHECK_FEATURE(SHOUT, [shout plugin], icecastsend, [
|
|
GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
|
|
AC_SUBST(SHOUT_LIBS)
|
|
])
|
|
|
|
dnl *** sidplay ***
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_SIDPLAY, true)
|
|
GST_CHECK_FEATURE(SIDPLAY, [sidplay plugin], sidplay, [
|
|
GST_PATH_SIDPLAY()
|
|
])
|
|
|
|
dnl *** smoothwave ***
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHWAVE, true)
|
|
GST_CHECK_FEATURE(SMOOTHWAVE, [smoothwave plugin], smoothwave, [
|
|
if test $HAVE_GTK = "yes"; then HAVE_SMOOTHWAVE=yes; fi;
|
|
])
|
|
|
|
dnl *** tarkin ***
|
|
dnl for now the sources are included in the plugin
|
|
dnl and should be moved to ext-libs/ perhaps
|
|
translit(dnm, m, l) AM_CONDITIONAL(USE_TARKIN, true)
|
|
GST_CHECK_FEATURE(TARKIN, [tarkinenc tarkindec], tarkin, [
|
|
HAVE_TARKIN="yes"
|
|
])
|
|
|
|
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_XMMS, true)
|
|
GST_CHECK_FEATURE(XMMS, [xmms plugin], xmms, [
|
|
AM_PATH_XMMS(0.1.0, HAVE_XMMS=yes, HAVE_XMMS=no)
|
|
])
|
|
|
|
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 ######################################################################
|
|
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(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
|
|
|
|
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 ################################################
|
|
dnl # Set defines according to variables set above #
|
|
dnl ################################################
|
|
|
|
|
|
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
|
|
|
|
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
|
|
|
|
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_LIBMIKMOD, test "x$HAVE_LIBMIKMOD" = "xyes")
|
|
AM_CONDITIONAL(HAVE_LIBSDL, test "x$HAVE_LIBSDL" = "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_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_LIBRTP, test "x$HAVE_LIBRTP" = "xyes")
|
|
AM_CONDITIONAL(HAVE_ARTS, test "x$HAVE_ARTS" = "xyes")
|
|
AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes")
|
|
AM_CONDITIONAL(HAVE_LIBDV, test "x$HAVE_LIBDV" = "xyes")
|
|
AM_CONDITIONAL(HAVE_GNOME_VFS, test "x$HAVE_GNOME_VFS" = "xyes")
|
|
AM_CONDITIONAL(HAVE_LIBGSM, test "x$HAVE_LIBGSM" = "xyes")
|
|
AM_CONDITIONAL(PLUGINS_USE_BUILDDIR, test "x$PLUGINS_USE_BUILDDIR" = "xyes")
|
|
|
|
|
|
GST_CFLAGS="$GST_CFLAGS -I\$(top_srcdir)/gst-libs -Wall"
|
|
AC_SUBST(GST_LIBS)
|
|
AC_SUBST(GST_CFLAGS)
|
|
|
|
dnl #########################
|
|
dnl # Make the output files #
|
|
dnl #########################
|
|
|
|
AC_OUTPUT(
|
|
Makefile
|
|
gstreamer-libs.pc
|
|
gstreamer-libs-uninstalled.pc
|
|
gst-plugins.spec
|
|
gst/Makefile
|
|
gst/ac3parse/Makefile
|
|
gst/adder/Makefile
|
|
gst/audioscale/Makefile
|
|
gst/auparse/Makefile
|
|
gst/avi/Makefile
|
|
gst/chart/Makefile
|
|
gst/cutter/Makefile
|
|
gst/deinterlace/Makefile
|
|
gst/flx/Makefile
|
|
gst/goom/Makefile
|
|
gst/intfloat/Makefile
|
|
gst/law/Makefile
|
|
gst/level/Makefile
|
|
gst/median/Makefile
|
|
gst/mpeg1enc/Makefile
|
|
gst/mpeg1sys/Makefile
|
|
gst/mpeg1videoparse/Makefile
|
|
gst/mpeg2enc/Makefile
|
|
gst/mpeg2sub/Makefile
|
|
gst/mpegaudio/Makefile
|
|
gst/mpegaudioparse/Makefile
|
|
gst/mpegstream/Makefile
|
|
gst/mpegtypes/Makefile
|
|
gst/passthrough/Makefile
|
|
gst/playondemand/Makefile
|
|
gst/rtjpeg/Makefile
|
|
gst/silence/Makefile
|
|
gst/sine/Makefile
|
|
gst/smooth/Makefile
|
|
gst/spectrum/Makefile
|
|
gst/speed/Makefile
|
|
gst/stereo/Makefile
|
|
gst/stereomono/Makefile
|
|
gst/synaesthesia/Makefile
|
|
gst/udp/Makefile
|
|
gst/videoscale/Makefile
|
|
gst/volenv/Makefile
|
|
gst/volume/Makefile
|
|
gst/vumeter/Makefile
|
|
gst/wavparse/Makefile
|
|
gst/y4m/Makefile
|
|
sys/Makefile
|
|
sys/oss/Makefile
|
|
sys/qcam/Makefile
|
|
sys/v4l/Makefile
|
|
sys/vcd/Makefile
|
|
sys/vga/Makefile
|
|
sys/xvideo/Makefile
|
|
ext/Makefile
|
|
ext/a52dec/Makefile
|
|
ext/aalib/Makefile
|
|
ext/alsa/Makefile
|
|
ext/arts/Makefile
|
|
ext/artsd/Makefile
|
|
ext/audiofile/Makefile
|
|
ext/avifile/Makefile
|
|
ext/cdparanoia/Makefile
|
|
ext/dv/Makefile
|
|
ext/dvdread/Makefile
|
|
ext/esd/Makefile
|
|
ext/festival/Makefile
|
|
ext/flac/Makefile
|
|
ext/gnomevfs/Makefile
|
|
ext/gsm/Makefile
|
|
ext/hermes/Makefile
|
|
ext/http/Makefile
|
|
ext/jpeg/Makefile
|
|
ext/ladspa/Makefile
|
|
ext/lame/Makefile
|
|
ext/mad/Makefile
|
|
ext/mikmod/Makefile
|
|
ext/mjpegtools/Makefile
|
|
ext/mpeg2dec/Makefile
|
|
ext/openquicktime/Makefile
|
|
ext/raw1394/Makefile
|
|
ext/rtp/Makefile
|
|
ext/sdl/Makefile
|
|
ext/shout/Makefile
|
|
ext/sidplay/Makefile
|
|
ext/smoothwave/Makefile
|
|
ext/vorbis/Makefile
|
|
ext/tarkin/Makefile
|
|
ext/xmms/Makefile
|
|
gst-libs/Makefile
|
|
gst-libs/gst/Makefile
|
|
gst-libs/gst/audio/Makefile
|
|
gst-libs/gst/idct/Makefile
|
|
gst-libs/gst/resample/Makefile
|
|
gst-libs/gst/riff/Makefile
|
|
examples/capsfilter/Makefile
|
|
examples/Makefile
|
|
tools/Makefile
|
|
)
|
|
|
|
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
|