AC_PREREQ(2.52) AC_INIT(totem, 1.1.5, http://bugzilla.gnome.org/enter_bug.cgi?product=totem) AC_CONFIG_SRCDIR(src/totem.c) AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE([1.8 dist-bzip2 no-dist-gzip check-news]) AC_DEFINE(PACKAGE, AC_PACKAGE_NAME, [package name]) AC_DEFINE(VERSION, AC_PACKAGE_VERSION, [package version]) AC_DEFINE(GETTEXT_PACKAGE, "AC_PACKAGE_NAME", [foo]) GETTEXT_PACKAGE=AC_PACKAGE_NAME AC_SUBST(GETTEXT_PACKAGE) AC_SUBST(VERSION) AC_PROG_CXX AC_PROG_LIBTOOL() AC_PROG_INTLTOOL([0.20]) PKG_PROG_PKG_CONFIG # Requirements GLIB_REQS=2.6.3 GTK_REQS=2.5.6 GNOMEVFS_REQS=2.9.92 GNOMEUI_REQS=2.3.3 GNOMEICON_REQS=2.9.3 # Before making a release, the PLPARSER_LT_VERSION string should be modified. # The string is of the form C:R:A. # - If interfaces have been changed or added, but binary compatibility has # been preserved, change to C+1:0:A+1 # - If binary compatibility has been broken (eg removed or changed interfaces) # change to C+1:0:0 # - If the interface is the same as the previous version, change to C:R+1:A PLPARSER_LT_VERSION=1:0:1 AC_SUBST(PLPARSER_LT_VERSION) AC_ARG_ENABLE(nvtv, AC_HELP_STRING([--enable-nvtv],[Enable support for TV-output with nvtv]), enable_nvtv="$enableval", enable_nvtv=yes) if test x$enable_nvtv = xyes; then PKG_CHECK_MODULES(NVTV, nvtvsimple >= 0.4.5, found_nvtv=1,found_nvtv=0) AC_SUBST(NVTV_CFLAGS) AC_SUBST(NVTV_LIBS) if test $found_nvtv -eq 1 ; then AC_DEFINE(HAVE_NVTV,1,[Define to 1 if nvtv is available and used.]) fi fi dnl xine or gst ? dnl the two versions here implicate the gstreamer core and gst-plugins dnl release versions. We want core newer than 0.8.6 (either cvs or a next dnl prerelease; 0.8.7 is preferred) and gst-plugins newer than 0.8.4 dnl (either CVS or a prerelease; 0.8.5 is preferred). GST_REQS=0.8.6.1 GSTPLUG_REQS=0.8.4.1 XINE_REQS=1.0.1 AC_ARG_ENABLE(gstreamer, AC_HELP_STRING([--enable-gstreamer],[use GStreamer instead of xine for the backend]), [case "${enableval}" in yes) ENABLE_GST=yes ;; no) ENABLE_GST=no ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-gstreamer) ;; esac], [ENABLE_GST=no]) dnl Default value HAVE_XINE=no AC_MSG_CHECKING(for backend libraries) if test x$ENABLE_GST = xno; then MM="libxine >= $XINE_REQS gconf-2.0" PKG_CHECK_MODULES(XINE, $MM, HAVE_XINE=yes, HAVE_XINE=no) if test x$HAVE_XINE = xyes; then AC_MSG_RESULT(xine-lib) fi fi if test x$HAVE_XINE = xno; then GST_MAJORMINOR=0.8 PKG_CHECK_MODULES(GST, \ gstreamer-$GST_MAJORMINOR >= $GST_REQS \ gstreamer-gconf-$GST_MAJORMINOR >= $GSTPLUG_REQS \ gstreamer-interfaces-$GST_MAJORMINOR >= $GSTPLUG_REQS, HAVE_GSTREAMER=yes, HAVE_GSTREAMER=no) MM="gstreamer-$GST_MAJORMINOR >= $GST_REQS gstreamer-gconf-$GST_MAJORMINOR >= $GSTPLUG_REQS gstreamer-interfaces-$GST_MAJORMINOR >= $GSTPLUG_REQS" dnl Give error and exit if we don't have gstreamer if test "x$HAVE_GSTREAMER" = "xno"; then AC_MSG_ERROR(you need the GStreamer or the xine-lib development packages installed) fi AC_MSG_RESULT(GStreamer) fi AM_CONDITIONAL(TOTEM_GST, test x$HAVE_GSTREAMER = "xyes") AC_ARG_ENABLE(vanity, AC_HELP_STRING([--enable-vanity],[do not compile and install vanity]), [case "${enableval}" in yes) ENABLE_VANITY=yes ;; no) ENABLE_VANITY=no ;; *) AC_MSG_ERROR(bad value ${enableval} for --disable-vanity) ;; esac], [ENABLE_VANITY=no]) dnl Default value AC_MSG_CHECKING(for Linux) case `uname` in *Linux*) AC_MSG_RESULT(yes) IS_LINUX="yes" ;; *) AC_MSG_RESULT(no) IS_LINUX="no" ;; esac if test x$ENABLE_VANITY = "xyes" -a x$IS_LINUX = "xyes"; then COMPILE_VANITY=yes else COMPILE_VANITY=no fi AM_CONDITIONAL(TOTEM_VANITY, test x$COMPILE_VANITY = "xyes") AC_MSG_CHECKING(whether to compile vanity) AC_MSG_RESULT($COMPILE_VANITY); dnl Check for GTK+ only build AC_ARG_ENABLE(gtk, AC_HELP_STRING([--enable-gtk],[compile a gtk+ only version]), [case "${enableval}" in yes) ENABLE_GTK=yes ;; no) ENABLE_GTK=no ;; *) AC_MSG_ERROR(bad value ${enableval} for --disable-gtk) ;; esac], [ENABLE_GTK=no]) dnl Default value dnl Seems that the order matters because libtool blows dnl Also check if we're going to be using GTK+ only if test x$ENABLE_GTK = "xno" ; then PKG_CHECK_MODULES(EXTRA_GNOME, glib-2.0 >= $GLIB_REQS gtk+-2.0 >= $GTK_REQS libgnomeui-2.0 >= $GNOMEUI_REQS libglade-2.0 gnome-vfs-2.0 >= $GNOMEVFS_REQS gnome-vfs-module-2.0 >= $GNOMEVFS_REQS gnome-desktop-2.0 >= 2.1.5 gnome-icon-theme >= $GNOMEICON_REQS iso-codes libmusicbrainz $MM) HAVE_GNOME=yes else PKG_CHECK_MODULES(EXTRA_GNOME, glib-2.0 >= $GLIB_REQS gtk+-2.0 >= $GTK_REQS libglade-2.0 gnome-vfs-2.0 >= $GNOMEVFS_REQS gnome-vfs-module-2.0 >= $GNOMEVFS_REQS gnome-icon-theme >= $GNOMEICON_REQS iso-codes libmusicbrainz $MM) AC_DEFINE(USE_STABLE_LIBGNOMEUI, 1, [defined if we don't have GNOME]) AC_DEFINE(HAVE_GTK_ONLY, 1, [defined if GNOME isn't used]) HAVE_GNOME=no fi AC_MSG_CHECKING([whether iso-codes has iso-639 domain]) if $PKG_CONFIG --variable=domains iso-codes | grep -q 639 ; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AC_DEFINE_UNQUOTED([ISO_CODES_PREFIX],["`$PKG_CONFIG --variable=prefix iso-codes`"],[ISO codes prefix]) AM_CONDITIONAL(HAVE_GNOME, test x$HAVE_GNOME = "xyes") EXTRA_GNOME_CFLAGS="$EXTRA_GNOME_CFLAGS" EXTRA_GNOME_LIBS="$EXTRA_GNOME_LIBS" AC_SUBST(EXTRA_GNOME_CFLAGS) AC_SUBST(EXTRA_GNOME_LIBS) PKG_CHECK_MODULES(GTK, gtk+-x11-2.0 $MM gthread-2.0) AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) dnl ******* dnl Mozilla dnl ******* dnl Check for Mozilla plugin build AC_MSG_CHECKING([whether to compile the mozilla plugin]) AC_ARG_ENABLE([mozilla], AS_HELP_STRING([--enable-mozilla],[compile the mozilla plugin]), [ENABLE_MOZILLA=$enableval], [ENABLE_MOZILLA=autodetect]) AC_MSG_RESULT([$ENABLE_MOZILLA]) dnl Check which mozilla to use if test "x$ENABLE_MOZILLA" != "xno" ; then AC_MSG_CHECKING([which gecko to use]) AC_ARG_WITH([mozilla], AS_HELP_STRING([--with-mozilla],[Which gecko engine to use (default: autodetect)])) GECKOS="firefox mozilla-firefox seamonkey mozilla" gecko=$with_mozilla if test "x$gecko" = "x"; then dnl Autodetect gecko for g in $GECKOS; do if $PKG_CONFIG --exists $g-xpcom; then gecko=$g break; fi done elif ! $PKG_CONFIG --exists $gecko-xpcom; then AC_MSG_ERROR([Gecko "$gecko" not found]) fi if test "x$gecko" = "x" -a "x$ENABLE_MOZILLA" = "xautodetect"; then dnl No gecko found, disable plugin AC_MSG_WARN([No gecko found, disabling plugin]) ENABLE_MOZILLA=no elif test "x$gecko" = "x"; then AC_MSG_ERROR([No gecko found]) elif ! ( echo "$GECKOS" | egrep "(^| )$gecko(\$| )" > /dev/null); then AC_MSG_ERROR([Unknown gecko "$gecko" specified]) else ENABLE_MOZILLA=yes fi AC_MSG_RESULT([$gecko]) case "$gecko" in mozilla) MOZILLA_VERSION_MIN=1.7 ;; seamonkey) MOZILLA_VERSION_MIN=1.0 ;; *firefox) MOZILLA_VERSION_MIN=1.0 ;; esac MOZILLA=$gecko AC_SUBST([MOZILLA]) fi dnl Check for mozilla CFLAGS/LDFLAGS if test "x$ENABLE_MOZILLA" = "xyes" ; then PKG_CHECK_MODULES([MOZILLA], [gtk+-x11-2.0 \ $MM \ gthread-2.0 \ $MOZILLA-xpcom >= $MOZILLA_VERSION_MIN \ $MOZILLA-plugin \ gnome-vfs-2.0],, [ENABLE_MOZILLA=no]) AC_SUBST([MOZILLA_CFLAGS]) AC_SUBST([MOZILLA_LIBS]) fi if test "x$ENABLE_MOZILLA" = "xyes" ; then PKG_CHECK_MODULES([DBUS], [dbus-glib-1 >= 0.35],,[ENABLE_MOZILLA=no]) DBUSLIBDIR="`$PKG_CONFIG dbus-glib-1 --variable=libdir`" DBUSBINDIR="`echo $DBUSLIBDIR | sed -e s/lib/bin/`" AC_PATH_PROG([DBUS_BIND], [dbus-binding-tool], [no], [$DBUSBINDIR:$PATH]) if test "x$DBUS_BIND" = "xno"; then AC_MSG_WARN([dbus-binding-tool not found]) ENABLE_MOZILLA=no fi fi dnl Sets some variables, and check for xpidl if test "x$ENABLE_MOZILLA" = "xyes" ; then MOZILLA_PREFIX="`$PKG_CONFIG $MOZILLA-xpcom --variable=prefix`" MOZILLA_LIBDIR="`$PKG_CONFIG $MOZILLA-xpcom --variable=libdir`" MOZILLA_INCLUDE_ROOT="`$PKG_CONFIG --variable=includedir $MOZILLA-xpcom`" MOZILLA_XPCOM_CFLAGS="-I`$PKG_CONFIG --variable=includedir $MOZILLA-xpcom`" MOZILLA_PLUGINDIR="${MOZILLA_PLUGINDIR:-$MOZILLA_LIBDIR}" AC_PATH_PROG([MOZILLA_XPIDL], [xpidl], [no], [$MOZILLA_LIBDIR:$PATH]) if test "x$MOZILLA_XPIDL" = "xno"; then ENABLE_MOZILLA=no AC_MSG_WARN([xpidl compiler not found]) fi AC_SUBST([MOZILLA_PREFIX]) AC_SUBST([MOZILLA_LIBDIR]) AC_SUBST([MOZILLA_XPCOM_CFLAGS]) AC_ARG_VAR([MOZILLA_PLUGINDIR],[Where to install the plugin to]) fi dnl Search for the idl include directory if test "x$ENABLE_MOZILLA" = "xyes" ; then dnl This only works on gecko 1.8 MOZILLA_IDLDIR="`$PKG_CONFIG --variable=idldir $MOZILLA-xpcom`" dnl Fallback for older versions if test "x$MOZILLA_IDLDIR" = "x"; then MOZILLA_IDLDIR="`echo $MOZILLA_LIBDIR | sed -e s!lib!share/idl!`" fi dnl Some distributions (Gentoo) have it in unusual places if test "x$MOZILLA_IDLDIR" = "x"; then MOZILLA_IDLDIR="$MOZILLA_INCLUDE_ROOT/idl" fi AC_SUBST([MOZILLA_IDLDIR]) fi if test "x$ENABLE_MOZILLA" = "xyes" ; then AC_DEFINE([HAVE_MOZILLA],[1],[Define if you build the mozilla plugin]) fi AM_CONDITIONAL([HAVE_MOZILLA], [test "x$ENABLE_MOZILLA" = "xyes"]) dnl ******** dnl Nautilus dnl ******** dnl Check for Nautilus property page build AC_ARG_ENABLE(nautilus, AC_HELP_STRING([--enable-nautilus],[compile the nautilus plugin]), [case "${enableval}" in yes) ENABLE_NAUTILUS=yes ;; no) ENABLE_NAUTILUS=no ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-nautilus) ;; esac], [ENABLE_NAUTILUS=yes]) dnl Default value if test x$ENABLE_NAUTILUS = "xyes" ; then PKG_CHECK_MODULES(NAUTILUS, gtk+-x11-2.0 $MM gthread-2.0 libnautilus-extension, [HAVE_NAUTILUS=yes], [HAVE_NAUTILUS=no]) fi AC_SUBST(NAUTILUS_CFLAGS) AC_SUBST(NAUTILUS_LIBS) if test x$HAVE_NAUTILUS = "xyes"; then AC_DEFINE(HAVE_NAUTILUS, 1, [defined if you build the nautilus plugin]) fi AM_CONDITIONAL(HAVE_NAUTILUS, test x$HAVE_NAUTILUS = "xyes") dnl LIRC AC_ARG_ENABLE(lirc, AC_HELP_STRING([--enable-lirc],[enable lirc support]), [case "${enableval}" in yes) ENABLE_LIRC=yes ;; no) ENABLE_LIRC=no ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-lirc) ;; esac], [ENABLE_LIRC=yes]) dnl Default value if test x$ENABLE_LIRC = xyes ; then AC_CHECK_HEADER(irman.h,,) REMOTE_LIBS="" AC_CHECK_LIB(lirc_client, lirc_init, [ AC_CHECK_HEADER(lirc/lirc_client.h, [ REMOTE_LIBS="-llirc_client" AC_DEFINE(HAVE_REMOTE, 1, [defined if you have lirc library]) ]) ]) fi AC_SUBST(REMOTE_LIBS) AC_PATH_X if test x"$x_includes" != x"NONE" && test -n "$x_includes" ; then X_INCLUDES=-I`echo $x_includes | sed -e "s/:/ -I/g"` fi if test x"$x_libraries" != x"NONE" && test -n "$x_libraries" ; then X_LIBRARIES=-L`echo $x_libraries | sed -e "s/:/ -L/g"` fi CFLAGS="$X_INCLUDES $CFLAGS" LIBS="$X_LIBRARIES $LIBS" XTEST_LIBS="" AC_CHECK_LIB(Xtst, XTestFakeKeyEvent, XTEST_LIBS="-lX11 -lXtst $X_LIBRARIES" AC_DEFINE(HAVE_XTEST, 1, [defined if you have XTest library]), , $X_LIBRARIES) AC_SUBST(XTEST_LIBS) have_xvidmode=no AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension, XVIDMODE_LIBS="-lXxf86vm" have_xvidmode=yes,, $X_LIBRARIES -lXext) have_randr=no AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration, [AC_CHECK_HEADER(X11/extensions/Xrandr.h, have_randr=yes RANDR_LIBS="-lX11 -lXrandr -lXrender", :, [#include ])], : , $X_LIBRARIES -lXrandr -lXrender) XVIDMODE_LIBS="$XVIDMODE_LIBS $RANDR_LIBS" AC_SUBST(XVIDMODE_LIBS) AM_CONDITIONAL(HAVE_XVIDMODE, [test $have_randr = yes -a $have_xvidmode = yes]) if test $have_randr = yes -a $have_xvidmode = yes; then AC_DEFINE(HAVE_XVIDMODE,, [Define this if you have the XVidMode and XRandR extension installed]) fi dnl Explicitely link against libX11 to avoid problems with crappy linkers X_LIBS="$X_LIBRARIES -lX11" AC_SUBST(X_LIBS) dnl Multimedia keys have_xfree=no AC_COMPILE_IFELSE([ #include int main(int argc,char **argv) { return 0; } ], have_xfree=yes ) AC_MSG_CHECKING(for X11 XFree86 headers) AC_MSG_RESULT($have_xfree) if test x"$have_xfree" = "xyes" ; then AC_DEFINE(HAVE_XFREE, 1, [defined if you have X11/XF86keysym.h]) fi AC_MSG_CHECKING(for broken old architecture) if test "`uname -m`x" = "i686x" ; then AC_MSG_RESULT(h0rk3d) else AC_MSG_RESULT(n334) fi AC_MSG_CHECKING(for broken user) if test "`whoami`x" = "hadessx" ; then AC_MSG_RESULT(h0rk3d) else AC_MSG_RESULT(n334) fi AC_MSG_CHECKING(for bad taste in TV series) if test "`whoami`x" = "mickex" ; then AC_MSG_RESULT(oh my god yes) else AC_MSG_RESULT(pheew nope) fi _system_is_x86="no" AC_CHECK_HEADER( asm/vm86.h, _system_is_x86="yes" ) if `test "x$_system_is_x86" = "xyes" && test "x$CURL_CONFIG" != "xno"` ; then HAVE_X86=1 AC_DEFINE(HAVE_X86, 1, [defined on x86 machines]) else HAVE_X86=0 fi AM_CONDITIONAL(HAVE_X86, `test "x$_system_is_x86" = "xyes" && test "x$CURL_CONFIG" != "xno"`) AC_PATH_PROG(GCONFTOOL, gconftool-2) AM_GCONF_SOURCE_2 dnl Check for packages for building libtotem-plparser.la PKG_CHECK_MODULES(TOTEM_PLPARSER, [gtk+-2.0 libxml-2.0 gnome-vfs-2.0 gnome-vfs-module-2.0]) dnl debug AC_ARG_ENABLE(debug, AC_HELP_STRING([--disable-debug],[disables compilation of debugging messages]), [case "${enableval}" in yes) ENABLE_DEBUG=yes ;; no) ENABLE_DEBUG=no ;; *) AC_MSG_ERROR(bad value ${enableval} for --disable-debug) ;; esac], [ENABLE_DEBUG=no]) dnl Default value if test x$ENABLE_DEBUG = xyes; then AC_DEFINE(TOTEM_DEBUG, 1, [Define if DEBUG statements should be compiled in]) fi if test "$GCC" = "yes" ; then CFLAGS="\ -Wall \ -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \ -Wnested-externs -Wpointer-arith \ -Wcast-align -Wsign-compare \ -fno-strict-aliasing \ $CFLAGS" fi dnl Add the languages which your application supports here. ALL_LINGUAS="am ar az be bg bn ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu id is it ja ko lt lv mk ml ms nb ne nl no pa pl pt pt_BR ro ru rw sk sq sr sr@Latn sv te th tr ug uk vi wa xh zh_CN zh_TW" AM_GLIB_GNU_GETTEXT AC_OUTPUT([ Makefile totem.spec totem-plparser.pc src/Makefile src/backend/Makefile src/plparse/Makefile data/Makefile data/totem.desktop.in.in data/vanity.desktop.in po/Makefile.in help/Makefile help/C/Makefile help/de/Makefile help/es/Makefile help/ru/Makefile ]) echo if test x$HAVE_XINE = xno ; then echo "Using the GStreamer backend" else echo "Using the xine backend" fi echo