mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-18 15:51:11 +00:00
5c41fb2317
Original commit message from CVS: 2005-09-15 Andy Wingo <wingo@pobox.com> * configure.ac (plugindir): Remove the EOL matcher from the regexp, as it causes me problems. Libtool? Make? Who knows?
833 lines
25 KiB
Text
833 lines
25 KiB
Text
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 <sys/types.h>
|
|
#define _LINUX_TIME_H
|
|
#define __user
|
|
#include <linux/videodev.h>
|
|
])
|
|
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/codec.h>
|
|
],[
|
|
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
|