mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-22 09:41:07 +00:00
92c447c536
Original commit message from CVS: Reworked AC3 decoder. No seeking yet but at least we do not need ac3parse anymore. Reworked dvdsrc to read scrambled data (DeCSS not included). I have modified DeCSS a bit to work in GStreamer. Can I release the code or is there some lawyer that's going to sue me? MPEG2 SSE motion compensation. Tried to add PTS to the MPEG decoder but failed.
490 lines
13 KiB
Text
490 lines
13 KiB
Text
AC_INIT(gst/gstobject.h)
|
|
|
|
AC_CANONICAL_SYSTEM
|
|
|
|
AM_CONFIG_HEADER(config.h)
|
|
|
|
STREAMER_MAJOR_VERSION=0
|
|
STREAMER_MINOR_VERSION=9
|
|
STREAMER_MICRO_VERSION=2
|
|
STREAMER_VERSION=$STREAMER_MAJOR_VERSION.$STREAMER_MINOR_VERSION.$STREAMER_MICRO_VERSION
|
|
|
|
dnl libtool
|
|
STREAMER_CURRENT=0
|
|
STREAMER_REVISION=0
|
|
STREAMER_AGE=0
|
|
|
|
AM_INIT_AUTOMAKE(gstreamer, $STREAMER_VERSION)
|
|
dnl Add parameters for aclocal
|
|
dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
|
|
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
|
|
|
|
AC_SUBST(STREAMER_MAJOR_VERSION)
|
|
AC_SUBST(STREAMER_MINOR_VERSION)
|
|
AC_SUBST(STREAMER_MICRO_VERSION)
|
|
AC_SUBST(STREAMER_VERSION)
|
|
|
|
AC_SUBST(STREAMER_CURRENT)
|
|
AC_SUBST(STREAMER_REVISION)
|
|
AC_SUBST(STREAMER_AGE)
|
|
|
|
|
|
AM_MAINTAINER_MODE
|
|
|
|
AC_ISC_POSIX
|
|
AC_PROG_CC
|
|
AC_STDC_HEADERS
|
|
AC_ARG_PROGRAM
|
|
|
|
AM_DISABLE_STATIC
|
|
AC_LIBTOOL_DLOPEN
|
|
AM_PROG_LIBTOOL
|
|
|
|
dnl ##############################
|
|
dnl # Do automated configuration #
|
|
dnl ##############################
|
|
|
|
dnl Set up conditionals for (target) architecture:
|
|
dnl ==============================================
|
|
|
|
dnl Determine CPU
|
|
case "x${target_cpu}" in
|
|
xi?86) HAVE_CPU_I386=yes ;
|
|
AC_DEFINE(HAVE_CPU_I386) ;;
|
|
xpowerpc) HAVE_CPU_PPC=yes ;
|
|
AC_DEFINE(HAVE_CPU_PPC) ;;
|
|
esac
|
|
|
|
dnl Determine endianness
|
|
AC_C_BIGENDIAN
|
|
|
|
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)
|
|
HAVE_NASM="yes"
|
|
fi
|
|
|
|
dnl Check for essential libraries first:
|
|
dnl ====================================
|
|
|
|
dnl Check for glib
|
|
AM_PATH_GLIB(1.2.0,,
|
|
AC_MSG_ERROR(Cannot find glib: Is glib-config in path?),
|
|
glib gmodule gthread)
|
|
dnl Put the glib flags into $LIBS and $CFLAGS since we always use them
|
|
LIBS="$LIBS $GLIB_LIBS"
|
|
CFLAGS="$FLAGS $GLIB_CFLAGS"
|
|
|
|
dnl Check for libxml
|
|
AC_PATH_PROG(XML_CONFIG, xml-config, no)
|
|
if test x$XML_CONFIG = xno; then
|
|
AC_MSG_ERROR(Couldn't find xml-config)
|
|
fi
|
|
XML_LIBS=`xml-config --libs`
|
|
XML_CFLAGS=`xml-config --cflags`
|
|
AC_SUBST(XML_LIBS)
|
|
AC_SUBST(XML_CFLAGS)
|
|
|
|
|
|
dnl Next, check for the optional libraries:
|
|
dnl =======================================
|
|
|
|
dnl Check for libgdk-pixbuf
|
|
AC_PATH_PROG(GDK_PIXBUF_CONFIG, gdk-pixbuf-config, no)
|
|
if test x$GDK_PIXBUF_CONFIG = xno; then
|
|
AC_MSG_WARN(Couldn't find gdk-pixbuf-config)
|
|
GDK_PIXBUF_LIBS=
|
|
GDK_PIXBUF_CFLAGS=
|
|
HAVE_GDK_PIXBUF=no
|
|
else
|
|
GDK_PIXBUF_LIBS=`gdk-pixbuf-config --libs`
|
|
GDK_PIXBUF_CFLAGS=`gdk-pixbuf-config --cflags`
|
|
HAVE_GDK_PIXBUF=yes
|
|
fi
|
|
AC_SUBST(GDK_PIXBUF_LIBS)
|
|
AC_SUBST(GDK_PIXBUF_CFLAGS)
|
|
|
|
|
|
dnl Check for gtk
|
|
AM_PATH_GTK(1.2.0)
|
|
|
|
dnl Check for libghttp
|
|
dnl FIXME: need to check for header
|
|
AC_CHECK_LIB(ghttp, ghttp_request_new,
|
|
[GHTTP_LIBS="-lghttp"
|
|
GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
|
|
HAVE_LIBGHTTP=yes
|
|
],
|
|
[AC_MSG_WARN(Cannot find libghttp: can't build gsthttpsrc)
|
|
GHTTP_LIBS=
|
|
GST_HTTPSRC_GET_TYPE=
|
|
HAVE_LIBGHTTP=no
|
|
],
|
|
$LIBS)
|
|
AC_SUBST(GHTTP_LIBS)
|
|
AC_SUBST(GST_HTTPSRC_GET_TYPE)
|
|
|
|
dnl Check for libglade
|
|
HAVE_LIBGLADE_GNOME="no"
|
|
AC_PATH_PROG(LIBGLADE_CONFIG_PATH, libglade-config, no)
|
|
if test x$LIBGLADE_CONFIG_PATH = xno; then
|
|
AC_MSG_WARN(Couldn't find libglade-config - Can't build gstplay)
|
|
else
|
|
libglade_save_CFLAGS=${CFLAGS}
|
|
CFLAGS="$CFLAGS `$LIBGLADE_CONFIG_PATH --libs gnome` `$LIBGLADE_CONFIG_PATH --cflags gnome`"
|
|
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 gstplay])
|
|
)
|
|
CFLAGS=${libglade_save_CFLAGS}
|
|
fi
|
|
|
|
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); 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 MMX capable compiler
|
|
AC_MSG_CHECKING(Checking MMX compilation)
|
|
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 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)
|
|
|
|
xvsave_LIBS=${LIBS}
|
|
AC_CHECK_LIB(Xv, XvQueryExtension,
|
|
HAVE_LIBXV=yes
|
|
AC_DEFINE(HAVE_LIBXV),
|
|
HAVE_LIBXV=no, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS)
|
|
LIBS=${xvsave_LIBS}
|
|
|
|
dnl Check for xaudio
|
|
AC_CHECK_HEADER(xaudio/decoder.h,[
|
|
AC_DEFINE(HAVE_XAUDIO)
|
|
HAVE_XAUDIO="yes", []
|
|
])
|
|
|
|
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_SRCDIR=`pwd`/$srcdir
|
|
AC_DEFINE_UNQUOTED(PLUGINS_SRCDIR,"$PLUGINS_SRCDIR")
|
|
AC_SUBST(PLUGINS_SRCDIR)
|
|
|
|
dnl check if css-auth.c exists (FIXME)
|
|
AC_MSG_CHECKING(DVD CSS code)
|
|
if test -f plugins/dvdsrc/css-auth.c
|
|
then
|
|
AC_MSG_RESULT(yes)
|
|
HAVE_CSSAUTH="yes"
|
|
AC_DEFINE(HAVE_CSSAUTH)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
HAVE_CSSAUTH="no"
|
|
fi
|
|
|
|
dnl check for libvorbis
|
|
AC_MSG_CHECKING(Vorbis library)
|
|
AC_CHECK_LIB(vorbis, ogg_sync_init,
|
|
HAVE_VORBIS=yes
|
|
AC_DEFINE(HAVE_VORBIS),
|
|
HAVE_VORBIS=no, )
|
|
|
|
dnl check for gtkdoc
|
|
AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, true, false)
|
|
|
|
dnl check for db2html
|
|
AC_CHECK_PROG(HAVE_DB2HTML, db2html, true, false)
|
|
AC_CHECK_PROG(HAVE_DB2PS, db2ps, true, false)
|
|
AC_CHECK_PROG(HAVE_DB2PDF, db2pdf, true, false)
|
|
|
|
|
|
dnl ######################################################################
|
|
dnl # Check command line parameters, and set shell variables accordingly #
|
|
dnl ######################################################################
|
|
|
|
AC_ARG_ENABLE(gdk-pixbuf,
|
|
[ --enable-gdk-pixbuf use gdk pixbuf, if available],
|
|
[case "${enableval}" in
|
|
yes) USE_GDK_PIXBUF=$HAVE_GDK_PIXBUF ;;
|
|
no) USE_GDK_PIXBUF=no ;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-gdk-pixbuf) ;;
|
|
esac],
|
|
[USE_GDK_PIXBUF=$HAVE_GDK_PIXBUF]) dnl Default value
|
|
|
|
AC_ARG_ENABLE(libghttp,
|
|
[ --enable-libghttp use the ghttp library, if available],
|
|
[case "${enableval}" in
|
|
yes) USE_LIBGHTTP=$HAVE_LIBGHTTP ;;
|
|
no) USE_LIBGHTTP=no ;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-libghttp) ;;
|
|
esac],
|
|
[USE_LIBGHTTP=$HAVE_LIBGHTTP]) dnl Default value
|
|
|
|
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-srcdir,
|
|
[ --enable-plugin-srcdir allow tests/demos to use non-installed plugins ],
|
|
[case "${enableval}" in
|
|
yes) PLUGINS_USE_SRCDIR=yes ;;
|
|
no) PLUGINS_USE_SRCDIR=no ;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-srcdir) ;;
|
|
esac],
|
|
[PLUGINS_USE_SRCDIR=yes]) dnl Default value
|
|
|
|
AC_ARG_ENABLE(debug,
|
|
[ --enable-debug spews lots of useless info at runtime],
|
|
[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(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 ################################################
|
|
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_GDK_PIXBUF" = xyes; then
|
|
AC_DEFINE(HAVE_GDK_PIXBUF)
|
|
fi
|
|
|
|
if test "x$USE_LIBGHTTP" = xyes; then
|
|
AC_DEFINE(HAVE_LIBGHTTP)
|
|
fi
|
|
|
|
if test "x$USE_LIBMMX" = xyes; then
|
|
AC_DEFINE(HAVE_LIBMMX)
|
|
fi
|
|
|
|
if test "x$USE_ATOMIC_H" = xyes; then
|
|
AC_DEFINE(HAVE_ATOMIC_H)
|
|
fi
|
|
|
|
if test "x$PLUGINS_USE_SRCDIR" = xyes; then
|
|
AC_DEFINE(PLUGINS_USE_SRCDIR)
|
|
fi
|
|
|
|
if test "x$USE_DEBUG" = xyes; then
|
|
AC_DEFINE(DEBUG_ENABLED)
|
|
fi
|
|
|
|
if test "x$USE_PROFILING" = xyes; then
|
|
CFLAGS="$CFLAGS -pg"
|
|
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_GDK_PIXBUF, test "x$USE_GDK_PIXBUF" = "xyes")
|
|
AM_CONDITIONAL(HAVE_LIBGHTTP, test "x$USE_LIBGHTTP" = "xyes")
|
|
AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
|
|
AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
|
|
AM_CONDITIONAL(HAVE_XAUDIO, test "x$HAVE_XAUDIO" = "xyes")
|
|
AM_CONDITIONAL(HAVE_CSSAUTH, test "x$HAVE_CSSAUTH" = "xyes")
|
|
AM_CONDITIONAL(HAVE_VORBIS, test "x$HAVE_VORBIS" = "xyes")
|
|
AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
|
|
AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes")
|
|
AM_CONDITIONAL(HAVE_LIBXV, test "x$HAVE_LIBXV" = "xyes")
|
|
AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
|
|
AM_CONDITIONAL(HAVE_DB2HTML, $HAVE_DB2HTML)
|
|
AM_CONDITIONAL(HAVE_DB2PDF, $HAVE_DB2PDF)
|
|
AM_CONDITIONAL(HAVE_DB2PS, $HAVE_DB2PS)
|
|
|
|
|
|
dnl FIXME: having to AC_SUBST these is messy. Not sure if CPPFLAGS and LDFLAGS
|
|
dnl need it, either.
|
|
AC_SUBST(CFLAGS)
|
|
AC_SUBST(CPPFLAGS)
|
|
AC_SUBST(LDFLAGS)
|
|
|
|
|
|
dnl #############################
|
|
dnl # Configure the subpackages #
|
|
dnl #############################
|
|
|
|
AC_CONFIG_SUBDIRS(gist)
|
|
AC_CONFIG_SUBDIRS(plugins/mp3decode/xing/libxing)
|
|
|
|
|
|
dnl #########################
|
|
dnl # Make the output files #
|
|
dnl #########################
|
|
|
|
AC_OUTPUT([Makefile
|
|
gst/Makefile
|
|
gst/types/Makefile
|
|
gst/meta/Makefile
|
|
gst/elements/Makefile
|
|
gst/xml/Makefile
|
|
libs/Makefile
|
|
libs/riff/Makefile
|
|
libs/colorspace/Makefile
|
|
libs/videoscale/Makefile
|
|
libs/getbits/Makefile
|
|
libs/putbits/Makefile
|
|
libs/winloader/Makefile
|
|
libs/idct/Makefile
|
|
plugins/Makefile
|
|
plugins/au/Makefile
|
|
plugins/wav/Makefile
|
|
plugins/avi/Makefile
|
|
plugins/avi/wincodec/Makefile
|
|
plugins/jpeg/Makefile
|
|
plugins/mp3decode/Makefile
|
|
plugins/mp3decode/types/Makefile
|
|
plugins/mp3decode/xa/Makefile
|
|
plugins/mp3decode/xing/Makefile
|
|
plugins/mp3decode/mpg123/Makefile
|
|
plugins/mp3decode/parse/Makefile
|
|
plugins/mpeg2/Makefile
|
|
plugins/mpeg2/parse/Makefile
|
|
plugins/mpeg2/ac3parse/Makefile
|
|
plugins/mpeg2/ac3dec/Makefile
|
|
plugins/mpeg2/video/Makefile
|
|
plugins/mpeg2/mpeg2enc/Makefile
|
|
plugins/mpeg2/mpeg2dec/Makefile
|
|
plugins/mpeg2/subtitles/Makefile
|
|
plugins/mpeg2/videoparse/Makefile
|
|
plugins/mpeg2/mpegtypes/Makefile
|
|
plugins/mpeg1/Makefile
|
|
plugins/mpeg1/mpegtypes/Makefile
|
|
plugins/mpeg1/mpeg_play/Makefile
|
|
plugins/mpeg1/mpegaudio/Makefile
|
|
plugins/mpeg1/parse/Makefile
|
|
plugins/mpeg1/system_encode/Makefile
|
|
plugins/mpeg1/mpeg1encoder/Makefile
|
|
plugins/mpeg1video/Makefile
|
|
plugins/mpeg1video/parse/Makefile
|
|
plugins/filters/Makefile
|
|
plugins/filters/smooth/Makefile
|
|
plugins/filters/median/Makefile
|
|
plugins/effects/Makefile
|
|
plugins/effects/stereo/Makefile
|
|
plugins/effects/volume/Makefile
|
|
plugins/visualization/Makefile
|
|
plugins/visualization/spectrum/Makefile
|
|
plugins/visualization/vumeter/Makefile
|
|
plugins/visualization/synaesthesia/Makefile
|
|
plugins/visualization/smoothwave/Makefile
|
|
plugins/videosink/Makefile
|
|
plugins/videoscale/Makefile
|
|
plugins/audioscale/Makefile
|
|
plugins/dvdsrc/Makefile
|
|
plugins/vcdsrc/Makefile
|
|
plugins/cobin/Makefile
|
|
plugins/rtjpeg/Makefile
|
|
plugins/vorbis/Makefile
|
|
plugins/capture/Makefile
|
|
plugins/capture/v4l/Makefile
|
|
gstplay/Makefile
|
|
components/bonobo-gstmediaplay/Makefile
|
|
test/Makefile
|
|
test/xml/Makefile
|
|
test/bindings/Makefile
|
|
test/cothreads/Makefile
|
|
tests/Makefile
|
|
editor/Makefile
|
|
tools/Makefile
|
|
docs/Makefile
|
|
docs/gst/Makefile
|
|
docs/gst/gstreamer.types
|
|
docs/libs/Makefile
|
|
docs/plugins/Makefile
|
|
docs/plugins/gstreamer-plugins.types
|
|
docs/manual/Makefile
|
|
docs/manual/images/Makefile
|
|
stamp.h
|
|
gstreamer-config
|
|
gstreamer.spec])
|
|
AC_OUTPUT_COMMANDS([chmod +x gstreamer-config])
|