gstreamer/configure.ac

1158 lines
32 KiB
Text
Raw Normal View History

AC_INIT
AC_CONFIG_SRCDIR([gst/gstobject.h])
AC_CANONICAL_TARGET([])
AM_CONFIG_HEADER(config.h)
GST_VERSION_MAJOR=0
GST_VERSION_MINOR=2
GST_VERSION_MICRO=0-pre0
GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_MICRO
PACKAGE=gstreamer
VERSION=$GST_VERSION
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
dnl libtool
GST_CURRENT=0
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
AC_PROG_CXX
AC_PROG_CXXCPP
AC_ISC_POSIX
AC_HEADER_STDC([])
AC_ARG_PROGRAM
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
CFLAGS=""
dnl This is used for the -config script...
builddir=`pwd`
AC_SUBST(builddir)
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)
HAVE_NASM="yes"
fi
dnl check for gtkdoc
AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, true, false)
AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-scanobj, :, false)
AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-scan, :, false)
AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mktmpl, :, false)
AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, :, false)
AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkhtml, :, false)
AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-fixxref, :, false)
dnl check for docbook tools
AC_CHECK_PROG(HAVE_DB2HTML, db2html, true, false)
AC_CHECK_PROG(HAVE_DB2PS, db2ps, true, false)
AC_CHECK_PROG(HAVE_PS2PDF, ps2pdf, true, false)
dnl check for image conversion tool
AC_CHECK_PROG(HAVE_FIG2DEV, fig2dev, true, false)
dnl The following is a hack: if fig2dev doesn't display an error message
dnl for the desired type, we assume it supports it.
HAVE_FIG2DEV_PNG=false
if test "x$HAVE_FIG2DEV" = "xtrue" ; then
fig2dev_quiet=`fig2dev -L png </dev/null 2>&1 >/dev/null`
if test "x$fig2dev_quiet" = "x" ; then
HAVE_FIG2DEV_PNG=true
fi
fi
HAVE_FIG2DEV_EPS=false
if test "x$HAVE_FIG2DEV" = "xtrue" ; then
fig2dev_quiet=`fig2dev -L eps </dev/null 2>&1 >/dev/null`
if test "x$fig2dev_quiet" = "x" ; then
HAVE_FIG2DEV_EPS=true
fi
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)
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) ;;
xalpha) HAVE_CPU_ALPHA=yes
AC_DEFINE(HAVE_CPU_ALPHA) ;;
xarm*) HAVE_CPU_ARM=yes
AC_DEFINE(HAVE_CPU_ARM) ;;
xsparc*) HAVE_CPU_SPARC=yes
AC_DEFINE(HAVE_CPU_SPARC) ;;
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 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
CORE_LIBS="$GLIB_LIBS"
CORE_CFLAGS="$GLIB_CFLAGS"
dnl Check for gtk
AM_PATH_GTK(1.2.0,,
AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
dnl Put the gtk flags into $LIBS and $CFLAGS since we always use them
CORE_LIBS="$CORE_LIBS $GTK_LIBS"
CORE_CFLAGS="$CORE_CFLAGS $GTK_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_CHECK_LIB(xml, xmlDocGetRootElement, ,
[ AC_MSG_ERROR(Need version 1.8.1 or better of libxml) ],
$XML_LIBS)
AC_SUBST(XML_LIBS)
AC_SUBST(XML_CFLAGS)
CORE_LIBS="$CORE_LIBS $XML_LIBS"
CORE_CFLAGS="$CORE_CFLAGS $XML_CFLAGS"
dnl Next, check for the optional libraries:
dnl =======================================
dnl Check for libesd
esd_save_LIBS=$LIBS
esd_save_CFLAGS=$CFLAGS
AM_PATH_ESD(0.2.12, HAVE_LIBESD=yes, HAVE_LIBESD=no)
LIBS=$esd_save_LIBS
CFLAGS=$esd_save_CFLAGS
AC_ARG_ENABLE(esdsink,
[ --enable-esdsink enable the building of the esdsink],
[case "${enableval}" in
yes) : ;;
no) HAVE_LIBESD=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-esdsink) ;;
esac],
[HAVE_LIBESD=$HAVE_LIBESD])
dnl Check for artsc
AC_PATH_PROG(ARTSC_CONFIG, artsc-config, no)
if test x$ARTSC_CONFIG = xno; then
AC_MSG_WARN(Couldn't find artsc-config)
ARTSC_LIBS=
ARTSC_CFLAGS=
HAVE_ARTSC=no
else
ARTSC_LIBS=`artsc-config --libs`
ARTSC_CFLAGS=`artsc-config --cflags`
dnl AC_CHECK_HEADER uses CPPFLAGS, but not CFLAGS.
dnl Assume only suitable flags result from artsc-config --cflags
artsc_save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $ARTSC_CFLAGS"
AC_CHECK_HEADER(artsc.h,
HAVE_ARTSC=yes,
HAVE_ARTSC=no
)
CPPFLAGS=$artsc_save_CPPFLAGS
fi
AC_SUBST(ARTSC_LIBS)
AC_SUBST(ARTSC_CFLAGS)
AC_ARG_ENABLE(artsd,
[ --enable-artsd enable the building of artsd plugins],
[case "${enableval}" in
yes) : ;;
no) HAVE_ARTSC=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-artsd) ;;
esac],
[:])
dnl AM_PATH_XMMS(0.1.0, HAVE_LIBXMMS=yes, HAVE_LIBXMMS=no)
dnl Check for libasound
alsa_save_LIBS=$LIBS
alsa_save_CFLAGS=$CFLAGS
AM_PATH_ALSA(0.5.0, HAVE_LIBASOUND=yes,
HAVE_LIBASOUND=no
AC_MSG_WARN(
***** NOTE: These plugins won't be built: gstalsa
))
if test x$HAVE_LIBASOUND = xyes;then
AC_MSG_CHECKING(alsa libs == 0.5.x, not 0.9.x)
AC_TRY_COMPILE([
#include <sys/asoundlib.h>
], [
#if !defined(SND_LIB_MINOR) && defined(SOUNDLIB_VERSION_MINOR)
#define SND_LIB_MINOR SOUNDLIB_VERSION_MINOR
#endif
void main(void) {
// succeed only if it's 0.5.x
#if (SND_LIB_MINOR == 5)
exit(0);
#else
#error not 0.5.x
#endif
exit(1);
}
],AC_MSG_RESULT(0.5.x),
AC_MSG_RESULT(no)
AC_MSG_WARN(
***** NOTE: These plugins won't be built: gstalsa
)
HAVE_LIBASOUND=no)
fi
LIBS=$alsa_save_LIBS
CFLAGS=$alsa_save_CFLAGS
AC_ARG_ENABLE(alsasink,
[ --enable-alsasink enable the building of the alsasink],
[case "${enableval}" in
yes) HAVE_LIBASOUND=$HAVE_LIBASOUND ;;
no) HAVE_LIBASOUND=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-alsasink) ;;
esac],
[HAVE_LIBASOUND=$HAVE_LIBASOUND])
dnl Check for libaudiofile
AC_PATH_PROG(AUDIOFILE_CONFIG, audiofile-config, no)
if test x$AUDIOFILE_CONFIG = xno; then
AC_MSG_WARN(Couldn't find audiofile-config: can't build afsink)
AUDIOFILE_LIBS=
HAVE_LIBAUDIOFILE=no
else
AUDIOFILE_LIBS=`audiofile-config --libs`
HAVE_LIBAUDIOFILE=yes
fi
AC_SUBST(AUDIOFILE_LIBS)
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 libgnome
AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
if test x$GNOME_CONFIG = xno; then
AC_MSG_WARN(Couldn't find gnome-config: can't build editor or gstplay)
GNOME_LIBS=
GNOME_CFLAGS=
HAVE_GNOME=no
else
GNOME_LIBS=`gnome-config --libs gnome gnomeui`
GNOME_CFLAGS=`gnome-config --cflags gnome gnomeui`
GHTTP_LIBS=`gnome-config --libs gnome gnomeui`
GHTTP_CFLAGS=`gnome-config --cflags gnome gnomeui`
HAVE_GNOME=yes
fi
AC_SUBST(GNOME_LIBS)
AC_SUBST(GNOME_CFLAGS)
AC_SUBST(GHTTP_LIBS)
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(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)
LIBGLADE_GNOME_LIBS=
LIBGLADE_GNOME_CFLAGS=
else
LIBGLADE_GNOME_LIBS=`libglade-config --libs gnome`
LIBGLADE_GNOME_CFLAGS=`libglade-config --cflags gnome`
libglade_save_CFLAGS="$CFLAGS"
libglade_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $LIBGLADE_GNOME_CFLAGS $GTK_CFLAGS"
LIBS="$LIBS $LIBGLADE_GNOME_LIBS $GTK_LIBS"
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])
)
CFLAGS="$libglade_save_CFLAGS"
LIBS="$libglade_save_LIBS"
fi
AC_SUBST(LIBGLADE_GNOME_LIBS)
AC_SUBST(LIBGLADE_GNOME_CFLAGS)
dnl Check for Gnome VFS
HAVE_GNOME_VFS="no"
AC_MSG_CHECKING(for Gnome VFS)
if gnome-config --libs vfs > /dev/null 2>&1; then
HAVE_GNOME_VFS="yes"
AC_MSG_RESULT(found)
else
AC_MSG_WARN(Did not find Gnome-VFS installed)
fi
VFS_LIBS="`gnome-config --libs vfs`"
VFS_CFLAGS="`gnome-config --cflags vfs`"
AC_SUBST(VFS_LIBS)
AC_SUBST(VFS_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 OSS audio
AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS=yes, HAVE_OSS=no)
dnl Check for xaudio
AC_CHECK_HEADER(xaudio/decoder.h,
AC_DEFINE(HAVE_XAUDIO)
HAVE_XAUDIO="yes",
AC_MSG_WARN(
***** NOTE: These plugins won't be built: gstxa
)
HAVE_XAUDIO="no",
)
dnl Check for libmad
AC_MSG_CHECKING(MAD library)
AC_CHECK_LIB(mad, mad_decoder_finish,
HAVE_LIBMAD=yes
AC_DEFINE(HAVE_LIBMAD),
AC_MSG_WARN(
***** NOTE: These plugins won't be built: mad
)
HAVE_LIBMAD=no,
)
dnl Check for libvorbis
AC_MSG_CHECKING(Vorbis library)
AC_CHECK_LIB(vorbis, ogg_sync_init,
HAVE_VORBIS=yes
AC_DEFINE(HAVE_VORBIS),
AC_MSG_WARN(
***** NOTE: These plugins won't be built: vorbisdec vorbisenc
)
HAVE_VORBIS=no,
)
dnl Check for libjpeg
AC_MSG_CHECKING(libjpeg library)
AC_CHECK_LIB(jpeg, jpeg_set_defaults,
HAVE_LIBJPEG=yes
AC_DEFINE(HAVE_LIBJPEG),
AC_MSG_WARN(
***** NOTE: These plugins won't be built: jpegdec jpegenc
)
HAVE_LIBJPEG=no,
)
dnl Check for libHermes
AC_MSG_CHECKING(Hermes library)
AC_CHECK_LIB(Hermes, Hermes_ConverterInstance,
HAVE_LIBHERMES=yes
AC_DEFINE(HAVE_LIBHERMES),
AC_MSG_WARN(
***** NOTE: These plugins won't be built: colorspace
)
HAVE_LIBHERMES=no,
)
AC_CHECK_HEADER(Hermes/Hermes.h, :, HAVE_LIBHERMES=no)
dnl Check for libgsm
AC_MSG_CHECKING(GSM library)
AC_CHECK_LIB(gsm, gsm_create,
HAVE_LIBGSM=yes
AC_DEFINE(HAVE_LIBGSM),
AC_MSG_WARN(
***** NOTE: These plugins won't be built: gsmdec, gsmenc
)
HAVE_LIBGSM=no,
)
dnl Check for cdparanoia
AC_MSG_CHECKING(CDparanoia library)
HAVE_CDPARANOIA=yes
AC_CHECK_LIB(cdda_interface, cdda_open, : , HAVE_CDPARANOIA=no, )
AC_CHECK_HEADER(cdda_interface.h, :, HAVE_CDPARANOIA=no)
AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
dnl Check for liblame
AC_MSG_CHECKING(LAME library)
AC_CHECK_LIB(mp3lame, lame_init, HAVE_LIBLAME=yes, HAVE_LIBLAME=no, )
AC_CHECK_HEADER(lame/lame.h, :, HAVE_LIBLAME=no)
dnl Check for libshout
AC_MSG_CHECKING(Shout library)
AC_CHECK_LIB(shout, shout_init_connection, HAVE_LIBSHOUT=yes, HAVE_LIBSHOUT=no, )
AC_CHECK_HEADER(shout/shout.h, :, HAVE_LIBSHOUT=no)
dnl Check for mpeg2dec
AC_MSG_CHECKING(mpeg2dec library)
AC_CHECK_LIB(mpeg2, mpeg2_init, HAVE_MPEG2DEC=yes, HAVE_MPEG2DEC=no, )
AC_CHECK_HEADER(mpeg2dec/mpeg2.h, :, HAVE_MPEG2DEC=no)
dnl Check for librtp
AC_MSG_CHECKING(rtp library)
AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_LIBRTP=yes, HAVE_LIBRTP=no, $GLIB_LIBS $GLIB_CFLAGS)
AC_CHECK_HEADER(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
AC_CHECK_HEADER(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
AC_CHECK_HEADER(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
dnl Check for arts
AC_DIAGNOSE([obsolete],[instead of using `AC_LANG', `AC_DIAGNOSE([obsolete],[instead of using `AC_LANG', `AC_LANG_SAVE',
and `AC_LANG_RESTORE', you should use `AC_LANG_PUSH' and `AC_LANG_POP'.])
',
and `AC_LANG_POP([])', you should use `AC_LANG_PUSH' and `AC_LANG_POP'.])
AC_LANG_PUSH(C++)
AC_MSG_CHECKING(arts library)
dnl AC_CHECK_LIB(artsflow, convert_stereo_ifloat_2float, HAVE_ARTS=yes, HAVE_ARTS=no, -lmcop -lartsflow_idl)
AC_CHECK_HEADER(arts/artsflow.h, HAVE_ARTS=yes, HAVE_ARTS=no)
AC_LANG_POP(C++)
dnl Check for libraw1394
AC_MSG_CHECKING(raw1394 library)
AC_CHECK_LIB(raw1394, raw1394_get_handle, HAVE_RAW1394=yes, HAVE_RAW1394=no, )
AC_CHECK_HEADER(libraw1394/raw1394.h, :, HAVE_RAW1394=no)
dnl Check for libdv
AC_MSG_CHECKING(libdv)
AC_CHECK_LIB(dv, dv_init, HAVE_LIBDV=yes, HAVE_LIBDV=no, -lm $GLIB_LIBS $GLIB_CFLAGS)
AC_CHECK_HEADER(libdv/dv.h, :, HAVE_LIBDV=no)
dnl Check for aalib
AC_MSG_CHECKING(aalib)
AC_CHECK_LIB(aa, aa_init, HAVE_LIBAA=yes, HAVE_LIBAA=no, )
AC_CHECK_HEADER(aalib.h, :, HAVE_LIBAA=no)
dnl Check for quicktime
AC_MSG_CHECKING(openquicktime)
AC_CHECK_LIB(openquicktime, quicktime_init, HAVE_LIBOPENQUICKTIME=yes, HAVE_LIBOPENQUICKTIME=no, )
AC_CHECK_HEADER(openquicktime/openquicktime.h, :, HAVE_LIBOPENQUICKTIME=no)
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"
else
AC_MSG_RESULT(no)
HAVE_CSSAUTH="no"
fi
dnl Check for SDLlib
AC_MSG_CHECKING(SDLlib)
AC_CHECK_LIB(SDL, SDL_Init, HAVE_LIBSDL=yes, HAVE_LIBSDL=no, -L/usr/lib -L/usr/local/lib -lpthread)
AC_CHECK_HEADER(SDL/SDL.h, :, HAVE_LIBSDL=no)
dnl Check for SDL
HAVE_LIBSDL="no"
AC_MSG_CHECKING(for SDL)
if sdl-config --libs > /dev/null 2>&1; then
HAVE_LIBSDL="yes"
AC_MSG_RESULT(found)
else
AC_MSG_RESULT(not found)
fi
SDL_LIBS="`sdl-config --libs`"
SDL_CFLAGS="`sdl-config --cflags`"
AC_SUBST(SDL_LIBS)
AC_SUBST(SDL_CFLAGS)
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(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=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-verbose,
[ --enable-debug-verbose spews lots of useless debugging info at runtime],
[case "${enableval}" in
yes) USE_DEBUG_VERBOSE=yes ;;
no) USE_DEBUG_VERBOSE=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-verbose) ;;
esac],
[USE_DEBUG_VERBOSE=no]) dnl Default value
AC_ARG_ENABLE(info,
[ --enable-info spews lots of info at runtime for plugin writers],
[case "${enableval}" in
yes) USE_DEBUG_INFO_VERBOSE=yes ;;
no) USE_DEBUG_INFO_VERBOSE=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-info) ;;
esac],
[USE_DEBUG_INFO_VERBOSE=no]) dnl Default value
AC_ARG_ENABLE(info-system,
[ --disable-info-system disables the info debugging system],
[case "${enableval}" in
yes) DISABLE_DEBUG_INFO=no ;;
no) DISABLE_DEBUG_INFO=yes ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-info) ;;
esac],
[DISABLE_DEBUG_INFO=no]) dnl Default value
AC_ARG_ENABLE(debug-color,
[ --disable-debug-color disables color output of DEBUG and INFO output],
[case "${enableval}" in
yes) DISABLE_DEBUG_COLOR=no ;;
no) DISABLE_DEBUG_COLOR=yes ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-info) ;;
esac],
[DISABLE_DEBUG_COLOR=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 Default value
GST_CONFIG_DIR="/etc/gstreamer"
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,
[ --disable-docs-build disable all building of documentation],
[case "${enableval}" in
yes) BUILD_DOCS=yes ;;
no) BUILD_DOCS=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;;
esac],
[BUILD_DOCS=yes]) 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
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
CFLAGS="$CFLAGS -g"
fi
if test "x$USE_DEBUG_VERBOSE" = xyes; then
AC_DEFINE(GST_DEBUG_ENABLED)
fi
if test "x$USE_DEBUG_INFO_VERBOSE" = xyes; then
AC_DEFINE(GST_INFO_ENABLED_VERBOSE)
AC_DEFINE(GST_INFO_ENABLED)
else
AC_DEFINE(GST_INFO_ENABLED)
fi
if test "x$DISABLE_DEBUG_INFO" = xyes; then
AC_DEFINE(GST_INFO_FORCE_DISABLE)
fi
if test "x$DISABLE_DEBUG_COLOR" = xno; then
AC_DEFINE(GST_DEBUG_COLOR)
fi
if test "x$USE_PROFILING" = xyes; then
CFLAGS="$CFLAGS -pg"
FOMIT_FRAME_POINTER=""
else
FOMIT_FRAME_POINTER="-fomit-frame-pointer"
fi
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_VORBIS" = xyes; then
AC_DEFINE(HAVE_VORBIS)
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_CSSAUTH" = xyes; then
AC_DEFINE(HAVE_CSSAUTH)
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_LIBAUDIOFILE" = xyes; then
AC_DEFINE(HAVE_LIBAUDIOFILE)
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_GDK_PIXBUF, test "x$USE_GDK_PIXBUF" = "xyes")
AM_CONDITIONAL(HAVE_LIBGHTTP, test "x$USE_LIBGHTTP" = "xyes")
AM_CONDITIONAL(HAVE_LIBAUDIOFILE, test "x$HAVE_LIBAUDIOFILE" = "xyes")
AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "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_LINUX_CDROM, test "x$HAVE_LINUX_CDROM" = "xyes")
AM_CONDITIONAL(HAVE_LINUX_VIDEODEV, test "x$HAVE_LINUX_VIDEODEV" = "xyes")
AM_CONDITIONAL(HAVE_CSSAUTH, test "x$HAVE_CSSAUTH" = "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_DOC, $HAVE_GTK_DOC)
AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes")
AM_CONDITIONAL(HAVE_DB2HTML, $HAVE_DB2HTML)
AM_CONDITIONAL(HAVE_DB2PS, $HAVE_DB2PS)
AM_CONDITIONAL(HAVE_PS2PDF, $HAVE_PS2PDF)
AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG)
AM_CONDITIONAL(HAVE_FIG2DEV_EPS, $HAVE_FIG2DEV_EPS)
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_LIBESD, test "x$HAVE_LIBESD" = "xyes")
AM_CONDITIONAL(HAVE_ARTSC, test "x$HAVE_ARTSC" = "xyes")
AM_CONDITIONAL(HAVE_LIBASOUND, test "x$HAVE_LIBASOUND" = "xyes")
AM_CONDITIONAL(HAVE_MPEG2DEC, test "x$HAVE_MPEG2DEC" = "xyes")
AM_CONDITIONAL(HAVE_LIBXMMS, test "x$HAVE_LIBXMMS" = "xyes")
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_LIBAA, test "x$HAVE_LIBAA" = "xyes")
AM_CONDITIONAL(HAVE_GNOME_VFS, test "x$HAVE_GNOME_VFS" = "xyes")
AM_CONDITIONAL(HAVE_LIBOPENQUICKTIME, test "x$HAVE_LIBOPENQUICKTIME" = "xyes")
AM_CONDITIONAL(HAVE_LIBGSM, test "x$HAVE_LIBGSM" = "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_SRCDIR=`pwd`/$srcdir
AC_DEFINE_UNQUOTED(PLUGINS_SRCDIR,"$PLUGINS_SRCDIR")
AC_SUBST(PLUGINS_SRCDIR)
dnl ##############################
dnl # Set up the defaults cflags #
dnl ##############################
dnl CC="kgcc"
CFLAGS="$CORE_CFLAGS $CFLAGS -O6 -Wall"
LIBS="$CORE_LIBS $LIBS"
AC_SUBST(CORE_LIBS)
AC_SUBST(CORE_CFLAGS)
dnl FIXME: having to AC_SUBST these is messy. Not sure if CPPFLAGS and LDFLAGS
dnl need it, either.
dnl Private vars for libgst only
LIBGST_LIBS="$LIBS"
LIBGST_CFLAGS="$CFLAGS"
AC_SUBST(LIBGST_LIBS)
AC_SUBST(LIBGST_CFLAGS)
dnl Vars for everyone else
GST_LIBS="\$(top_builddir)/gst/libgst.la"
GST_CFLAGS="-I\$(top_srcdir) -I\$(top_srcdir)/include"
AC_SUBST(GST_LIBS)
AC_SUBST(GST_CFLAGS)
dnl CFLAGS for everyone else
CFLAGS="$CFLAGS $GST_CFLAGS"
AC_SUBST(LIBS)
AC_SUBST(CFLAGS)
dnl AC_SUBST(CPPFLAGS)
dnl AC_SUBST(LDFLAGS)
dnl #############################
dnl # Configure the subpackages #
dnl #############################
dnl AC_CONFIG_SUBDIRS(gist)
dnl AC_CONFIG_SUBDIRS(plugins/mp3decode/xing/libxing)
dnl #########################
dnl # Make the output files #
dnl #########################
AC_OUTPUT(
Makefile
include/Makefile
include/wine/Makefile
gst/Makefile
gst/gstversion.h
gst/types/Makefile
gst/elements/Makefile
gst/autoplug/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/aasink/Makefile
plugins/alsa/Makefile
plugins/au/Makefile
plugins/audiofile/Makefile
plugins/audioscale/Makefile
plugins/avi/Makefile
plugins/avi/wincodec/Makefile
plugins/flx/Makefile
plugins/jpeg/Makefile
plugins/mp3decode/Makefile
plugins/mp3decode/types/Makefile
plugins/mp3decode/xa/Makefile
plugins/mp3decode/mpg123/Makefile
plugins/mp3decode/mad/Makefile
plugins/mp3decode/parse/Makefile
plugins/mp3encode/Makefile
plugins/mp3encode/lame/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/oss/Makefile
plugins/rtp/Makefile
plugins/rtp/rtpsend/Makefile
plugins/mulaw/Makefile
plugins/alaw/Makefile
plugins/filters/Makefile
plugins/filters/smooth/Makefile
plugins/filters/median/Makefile
plugins/filters/ladspa/Makefile
plugins/filters/stereo2mono/Makefile
plugins/filters/mono2stereo/Makefile
plugins/filters/intfloatconvert/Makefile
plugins/filters/passthrough/Makefile
plugins/filters/adder/Makefile
plugins/filters/colorspace/Makefile
plugins/filters/volenv/Makefile
plugins/filters/level/Makefile
plugins/gnomevfs/Makefile
plugins/icecast/Makefile
plugins/icecast/icecastsend/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/videoscale/Makefile
plugins/xvideosink/Makefile
plugins/wav/Makefile
plugins/dvdsrc/Makefile
plugins/vcdsrc/Makefile
plugins/rtjpeg/Makefile
plugins/vorbis/Makefile
plugins/capture/Makefile
plugins/capture/v4l/Makefile
plugins/cdparanoia/Makefile
plugins/esd/Makefile
plugins/esd/esdsink/Makefile
plugins/artsd/Makefile
plugins/quicktime/Makefile
plugins/xmms/Makefile
plugins/arts/Makefile
plugins/gsm/Makefile
plugins/1394/Makefile
plugins/sdlsink/Makefile
plugins/dv/Makefile
gstplay/Makefile
dnl components/bonobo-gstmediaplay/Makefile
test/Makefile
test/xml/Makefile
test/bindings/Makefile
tests/Makefile
tests/sched/Makefile
tests/eos/Makefile
testsuite/Makefile
testsuite/capsnego/Makefile
testsuite/refcounting/Makefile
tests/nego/Makefile
examples/Makefile
examples/autoplug/Makefile
examples/helloworld/Makefile
examples/helloworld2/Makefile
examples/launch/Makefile
examples/queue/Makefile
examples/queue2/Makefile
examples/queue3/Makefile
examples/queue4/Makefile
examples/thread/Makefile
examples/mixer/Makefile
examples/launch/Makefile
examples/xml/Makefile
examples/plugins/Makefile
examples/typefind/Makefile
examples/mixer/Makefile
editor/Makefile
editor/pixmaps/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/fwg/Makefile
debian/Makefile
stamp.h
gstreamer-config
gstreamer.pc
gstreamer-uninstalled.pc
gstreamer.spec,
chmod +x gstreamer-config
)