AC_PREREQ(2.52) m4_define(totem_version_major, 3) m4_define(totem_version_minor, 0) m4_define(totem_version_micro, 1) # The version of the API exposed to plugins m4_define(totem_api_version_major, 1) m4_define(totem_api_version_minor, 0) AC_INIT([totem], [totem_version_major.totem_version_minor.totem_version_micro], [http://bugzilla.gnome.org/enter_bug.cgi?product=totem]) AM_MAINTAINER_MODE AC_CONFIG_SRCDIR([src/totem.c]) AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE([1.11 dist-bzip2 no-dist-gzip check-news subdir-objects]) # Enable silent build when available (Automake 1.11) m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) dnl Add the languages which your application supports to po/LINGUAS GETTEXT_PACKAGE=totem AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, ["$GETTEXT_PACKAGE"], [Define to the Gettext package name]) AC_SUBST(GETTEXT_PACKAGE) IT_PROG_INTLTOOL([0.40.0]) GNOME_DOC_INIT([0.20.3]) GOBJECT_INTROSPECTION_CHECK([0.6.7]) AC_PROG_CXX AM_PROG_CC_C_O AC_PROG_LIBTOOL m4_ifdef([LT_OUTPUT], [LT_OUTPUT]) PKG_PROG_PKG_CONFIG AC_PATH_PROG([GLIB_GENMARSHAL],[glib-genmarshal]) AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums]) # Requirements GLIB_REQS=2.27.92 GIO_REQS=2.27.92 GTK_REQS=2.99.3 TOTEM_PLPARSER_REQS=2.32.4 GNOMEICON_REQS=2.15.90 DBUS_REQS=0.82 VALA_REQS=0.11.1 PEAS_REQS=0.7.2 PYTHON_REQS=2.3 PYGOBJECT_REQS=2.27.0 AC_SUBST(GLIB_REQS) AC_SUBST(GTK_REQS) AC_SUBST(TOTEM_PLPARSER_REQS) TOTEM_VERSION_MAJOR=totem_version_major TOTEM_VERSION_MINOR=totem_version_minor TOTEM_VERSION_MICRO=totem_version_micro AC_SUBST(TOTEM_VERSION_MAJOR) AC_SUBST(TOTEM_VERSION_MINOR) AC_SUBST(TOTEM_VERSION_MICRO) TOTEM_API_VERSION=totem_api_version_major.totem_api_version_minor AC_SUBST(TOTEM_API_VERSION) AC_DEFINE_UNQUOTED(TOTEM_API_VERSION, ["$TOTEM_API_VERSION"], [Define to the Totem plugin API version]) # The full list of plugins allowed_plugins="bemused brasero-disc-recorder chapters coherence_upnp dbus-service im-status gromit iplayer jamendo lirc media-player-keys ontop opensubtitles properties publish pythonconsole save-file sample-python sample-vala screensaver screenshot sidebar-test skipto thumbnail tracker youtube zeitgeist-dp" PLUGINDIR='${libdir}/totem/plugins' AC_SUBST(PLUGINDIR) dnl the two versions here implicate the gstreamer core and gst-plugins dnl release versions. GST_MAJORMINOR=0.11 GST_REQS=0.11.0 GSTPLUG_REQS=0.11.0 HAVE_GSTREAMER=no dnl Check for the required GStreamer versions for missing plugins dnl installation, unless this has been disabled. AC_MSG_CHECKING([whether to enable easy codec installation support]) AC_ARG_ENABLE([easy-codec-installation], [ AS_HELP_STRING([--enable-easy-codec-installation], [Whether to enable easy codec installation support for GStreamer] ) ], [ case "${enableval}" in yes) enable_easy_codec_installation=yes ;; no) enable_easy_codec_installation=no ;; *) enable_easy_codec_installation=auto ;; esac ], [ dnl default value enable_easy_codec_installation=auto ] ) AC_MSG_RESULT([$enable_easy_codec_installation]) if test "x$enable_easy_codec_installation" != "xno"; then PKG_CHECK_MODULES(MISSING_PLUGINS, gstreamer-plugins-base-0.11, [ MISSING_PLUGINS_LIBS="$MISSING_PLUGINS_LIBS -lgstpbutils-0.11" AC_DEFINE([ENABLE_MISSING_PLUGIN_INSTALLATION], 1, [Whether we can and want to do installation of missing plugins]) ]) fi MM="gstreamer-0.11 >= $GST_REQS gstreamer-base-0.11 >= $GST_REQS gstreamer-plugins-base-0.11 >= $GSTPLUG_REQS gstreamer-tag-0.11 >= $GSTPLUG_REQS" PKG_CHECK_MODULES(GST, $MM) GST_LIBS="$GST_LIBS -lgstbase-$GST_MAJORMINOR -lgstinterfaces-$GST_MAJORMINOR -lgstvideo-$GST_MAJORMINOR -lgstaudio-$GST_MAJORMINOR -lgstpbutils-$GST_MAJORMINOR -lgsttag-$GST_MAJORMINOR" AC_SUBST(GST_LIBS) EXTRA_BACKEND_LIBS="-lgstinterfaces-$GST_MAJORMINOR -lgstvideo-$GST_MAJORMINOR -lgstaudio-$GST_MAJORMINOR -lgstpbutils-$GST_MAJORMINOR" dnl Check for required plugins gst011_toolsdir=`$PKG_CONFIG --variable=toolsdir gstreamer-0.11` gst011_inspect="$gst011_toolsdir/gst-inspect-0.11" dnl Give error and exit if we don't have the gst_inspect tool AC_MSG_CHECKING([GStreamer 0.11 inspection tool]) if test -r "$gst011_inspect"; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) AC_MSG_ERROR([ Cannot find required GStreamer-0.11 tool 'gst-inspect-0.11'. It should be part of gstreamer-0_11-utils. Please install it. ]) fi dnl Check for elements from gst-plugins-base for base_element in playbin videoconvert videoscale do AC_MSG_CHECKING([GStreamer 0.11 $base_element plugin]) if $gst011_inspect $base_element >/dev/null 2>/dev/null; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) AC_MSG_ERROR([ Cannot find required GStreamer-0.11 plugin '$base_element'. It should be part of gst-plugins-base. Please install it. ]) fi done dnl Check for elements from gst-plugins-good for good_element in goom do AC_MSG_CHECKING([GStreamer 0.11 $good_element plugin]) if $gst011_inspect $good_element >/dev/null 2>/dev/null; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) AC_MSG_ERROR([ Cannot find required GStreamer-0.11 plugin '$good_element'. It should be part of gst-plugins-good. Please install it. ]) fi done dnl Check the smclient backend GDK_TARGET="$($PKG_CONFIG --variable targets gdk-3.0)" SMCLIENT_PKGS= AC_MSG_CHECKING([which smclient backend to use]) AC_ARG_WITH([smclient], [AS_HELP_STRING([--with-smclient],[which smclient backend to use (xsmp/win32/quartz)])], [], [case "$GDK_TARGET" in x11) with_smclient=xsmp SMCLIENT_PKGS="sm ice" ;; win32|quartz) with_smclient=$GDK_TARGET ;; *) with_smclient=no ;; esac]) AC_MSG_RESULT([$with_smclient]) if test "$with_smclient" != "no"; then PKG_CHECK_MODULES([SMCLIENT],[$SMCLIENT_PKGS]) AC_DEFINE([WITH_SMCLIENT],[1],[Define if smclient is enabled]) fi AM_CONDITIONAL([WITH_SMCLIENT],[test "$with_smclient" != "no"]) AM_CONDITIONAL([WITH_SMCLIENT_XSMP],[test "$with_smclient" = "xsmp"]) AM_CONDITIONAL([WITH_SMCLIENT_WIN32],[test "$with_smclient" = "win32"]) AM_CONDITIONAL([WITH_SMCLIENT_QUARTZ],[test "$with_smclient" = "quartz"]) dnl Pkg-config checks PKG_CHECK_MODULES([DEPENDENCY],[ glib-2.0 >= $GLIB_REQS gio-2.0 >= $GIO_REQS gtk+-3.0 >= $GTK_REQS gdk-x11-3.0 >= $GTK_REQS gmodule-2.0 totem-plparser >= $TOTEM_PLPARSER_REQS gstreamer-tag-0.11 >= 0.11.0 cairo]) PKG_CHECK_MODULES(MM, $MM) PKG_CHECK_MODULES([GTK],[gtk+-3.0 gthread-2.0]) GTK_LIBS="$GTK_LIBS $EXTRA_BACKEND_LIBS" AC_SUBST(GTK_LIBS) AC_SUBST([EXTRA_BACKEND_LIBS]) PKG_CHECK_EXISTS([ $ISO_CODES gnome-icon-theme >= $GNOMEICON_REQS]) dnl ************************* dnl X11 related functionality dnl ************************* have_x11=no if test x$(pkg-config --variable=targets gtk+-3.0) = xx11; then AC_PATH_X have_x11=yes 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="" enable_xtest=no AC_CHECK_LIB(Xtst, XTestFakeKeyEvent, XTEST_LIBS="-lX11 -lXtst $X_LIBRARIES" enable_xtest=yes AC_DEFINE(HAVE_XTEST, 1, [defined if you have XTest library]), , $X_LIBRARIES) AC_SUBST(XTEST_LIBS) PKG_CHECK_MODULES(XVIDMODE, xrandr >= 1.1.1 xxf86vm >= 1.0.1, have_xvidmode=yes, have_xvidmode=no) if test x$have_xvidmode = xyes; then AC_DEFINE(HAVE_XVIDMODE,, [Define this if you have the XVidMode and XRandR extension installed]) fi X_LIBS="" 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 fi AM_CONDITIONAL(HAVE_XVIDMODE, [test x$have_xvidmode = xyes]) dnl ================================================================ dnl Plugins support dnl ================================================================ PKG_CHECK_MODULES(PEAS, libpeas-1.0 >= $PEAS_REQS) PKG_CHECK_MODULES(PEASGTK, libpeas-gtk-1.0 >= $PEAS_REQS) # ================================================================ # Python plugins # ================================================================ # We don't need any of this at compile time, but it is needed for the Python plugins at runtime, so we check anyway. AC_MSG_CHECKING([whether Python plugin support is requested]) AC_ARG_ENABLE([python], AS_HELP_STRING([--enable-python],[Enable python support]), [enable_python=$enableval], [enable_python=autodetect]) AC_MSG_RESULT([$enable_python]) have_python=no have_pygobject=no # Test for the Python run time and PyGObject if test "x$enable_python" != "xno"; then AM_PATH_PYTHON([$PYTHON_REQS],[have_python=yes],[have_python=no]) if test "x$PYTHON" = "x:"; then have_python=no fi PKG_CHECK_MODULES([PYGOBJECT],[pygobject-2.0 >= $PYGOBJECT_REQS],[have_pygobject=yes],[have_pygobject=no]) fi # Output the results of the Python checks if test "x$have_python" != "xyes" -o "x$have_pygobject" != "xyes"; then if test "x$enable_python" = "xyes"; then AC_MSG_ERROR([python >= $PYTHON_REQS or pygobject-2.0 >= $PYGOBJECT_REQS not found]) elif test "x$enable_python" = "xautodetect"; then enable_python=no AC_MSG_WARN([python >= $PYTHON_REQS or pygobject-2.0 >= $PYGOBJECT_REQS not found; disabling Python support]) fi elif test "x$enable_python" != "xno"; then enable_python=yes fi AM_CONDITIONAL([ENABLE_PYTHON],[test "x$enable_python" = "xyes"]) dnl ================================================================ dnl Vala plugins dnl ================================================================ AC_MSG_CHECKING([whether Vala plugin support is requested]) AC_ARG_ENABLE([vala], AS_HELP_STRING([--enable-vala],[Enable Vala plugin support]), [enable_vala=$enableval], [enable_vala=auto]) AC_MSG_RESULT([$enable_vala]) if test "x$enable_vala" != "xno"; then AM_PROG_VALAC([$VALA_REQS]) if test "x$VALAC" = "x"; then if test "x$enable_vala" = "xyes"; then AC_MSG_ERROR([Vala plugin support explicitly requested, but not found]) fi with_vala=no else with_vala=yes fi fi AM_CONDITIONAL(ENABLE_VALA, test "x$with_vala" = "xyes") # ******************** # Movie player plugins # ******************** plugin_error_or_ignore() { if test "${error_on_bad_plugin}" = "1" ; then AC_MSG_ERROR([$1]) else AC_MSG_WARN([$1 (disabling plugin)]) fi } AC_ARG_WITH([plugins], [AS_HELP_STRING([--with-plugins],[Which Totem plugins to compile (default: auto; "all", "none" and "autodetect" are valid)])], [], [with_plugins=autodetect]) used_plugins="" used_plugins2="" if test "x${with_plugins}" = "xautodetect" ; then # Default to all plugins and just ignore them if they won't compile with_plugins="all" error_on_bad_plugin="0" else # Clean up the plugin list and error if a plugin won't compile with_plugins=`echo ,"${with_plugins}", | sed -e 's/[[ ,]][[ ,]]*/ /g' -e 's/,$//'` error_on_bad_plugin="1" fi # Iterate through the wanted plugins and weed out bad ones (or error) for wanted_plugin in ${with_plugins}; do for allowed_plugin in ${allowed_plugins}; do case ${wanted_plugin} in all) # List all plugins as being used used_plugins=${allowed_plugins} ;; autodetect) # List all plugins as being used used_plugins=${allowed_plugins} ;; none) used_plugins="";; # List no plugins ${allowed_plugin}) used_plugins="${used_plugins} ${wanted_plugin}";; # List the plugin *) ;; esac done done # Check for plugin-specific requirements and error if necessary for plugin in ${used_plugins}; do add_plugin="1" case ${plugin} in coherence_upnp) # The Coherence framework still uses PyGTK, and thus conflicts with the new pygobject introspected bindings plugin_error_or_ignore "the coherence_upnp plugin uses PyGTK and conflicts with the new pygobject bindings" add_plugin="0" ;; gromit) if test "${have_x11}" != "yes" ; then plugin_error_or_ignore "the gromit plugin is not supported on non-X11 targets" add_plugin="0" fi ;; media-player-keys) PKG_CHECK_MODULES(MEDIA_PLAYER_KEYS, dbus-glib-1, [HAVE_MEDIA_PLAYER_KEYS=yes], [HAVE_MEDIA_PLAYER_KEYS=no]) if test "${HAVE_MEDIA_PLAYER_KEYS}" != "yes" ; then plugin_error_or_ignore "you need dbus-glib-1 installed for the media-player-keys plugin" add_plugin="0" fi ;; lirc) AC_CHECK_LIB(lirc_client, lirc_init, [AC_CHECK_HEADER(lirc/lirc_client.h, [LIRC_LIBS="-llirc_client" HAVE_LIRC=yes], [ LIRC_LIBS="" HAVE_LIRC=no])]) AC_SUBST(LIRC_LIBS) if test "${HAVE_LIRC}" != "yes" ; then plugin_error_or_ignore "you need lirc_client installed for the lirc plugin" add_plugin="0" fi ;; bemused) PKG_CHECK_MODULES(BEMUSED, bluez, [HAVE_BLUEZ=yes], [HAVE_BLUEZ=no]) if test "${HAVE_BLUEZ}" != "yes" ; then plugin_error_or_ignore "you need the bluez libraries installed for the Bemused plugin" add_plugin="0" fi ;; publish) # FIXME PKG_CHECK_MODULES(LIBEPC, libepc-ui-1.0 >= 0.3.0, [HAVE_LIBEPC=yes], [HAVE_LIBEPC=no]) if test "${HAVE_LIBEPC}" != "yes" ; then plugin_error_or_ignore "you need the easy-publish-and-consume library installed for the publish plugin" add_plugin="0" fi ;; tracker) PKG_CHECK_MODULES(TRACKER, tracker-sparql-0.10 >= 0.9.34, [HAVE_TRACKER=yes], [HAVE_TRACKER=no]) if test "${HAVE_TRACKER}" != "yes" ; then plugin_error_or_ignore "you need the tracker development headers installed for the tracker plugin" add_plugin="0" fi ;; sample-vala) if test "${with_vala}" != "yes" ; then plugin_error_or_ignore "you need vala installed to use the sample-vala plugin" add_plugin="0" fi ;; thumbnail) PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.15.0, [HAVE_GLIB_2_15=yes], [HAVE_GLIB_2_15=no]) if test "${HAVE_GLIB_2_15}" != "yes" ; then plugin_error_or_ignore "you need glib >= 2.15.0 to use the thumbnail plugin" add_plugin="0" fi ;; brasero-disc-recorder) dnl this is only needed to use brasero icons PKG_CHECK_MODULES(DISC_RECORDER, libxml-2.0 >= 2.6.0 gtk+-x11-3.0, [BUILD_RECORDER=yes], [BUILD_RECORDER=no]) if test "${BUILD_RECORDER}" != "yes" ; then plugin_error_or_ignore "you need libxml-2.0 >= 2.6.0 and gtk+-x11-3.0 to use the brasero-disc-recorder plugin" add_plugin="0" fi ;; save-file) dnl the nautilus check should be a run-time check dnl but it might not always be running PKG_CHECK_MODULES(SAVE_FILE_CHECK, gio-2.0 >= 2.26 libnautilus-extension >= 2.91.3, [BUILD_SAVE_FILE=yes], [BUILD_SAVE_FILE=no]) if test "${BUILD_SAVE_FILE}" != "yes" ; then plugin_error_or_ignore "you need gio-2.0 >=2.26 to use the save-file plugin" add_plugin="0" else PKG_CHECK_MODULES(SAVE_FILE, gio-2.0 >= 2.26) fi ;; youtube) PKG_CHECK_MODULES(LIBGDATA, libgdata >= 0.4.0 gdk-pixbuf-2.0 >= 2.23.0, [HAVE_LIBGDATA=yes], [HAVE_LIBGDATA=no]) if test "${HAVE_LIBGDATA}" != "yes" ; then plugin_error_or_ignore "you need libgdata >= 0.4.0 installed for the YouTube plugin" add_plugin="0" fi # For timeout support. Remove this once we depend on libgdata >= 0.7.0 PKG_CHECK_MODULES(LIBGDATA_0_7, libgdata >= 0.7.0, [HAVE_LIBGDATA_0_7=yes], [HAVE_LIBGDATA_0_7=no]) if test "${HAVE_LIBGDATA_0_7}" = "yes" ; then AC_DEFINE([HAVE_LIBGDATA_0_7],[1],[Define if libgdata >= 0.7.0 is available]) fi PKG_CHECK_MODULES(LIBSOUP, libsoup-2.4, [HAVE_LIBSOUP=yes], [HAVE_LIBSOUP=no]) if test "${HAVE_LIBSOUP}" != "yes" ; then plugin_error_or_ignore "you need libsoup-2.4 installed for the YouTube plugin" add_plugin="0" fi dnl We need the souphttpsrc element for the YouTube plugin AC_MSG_CHECKING([GStreamer 0.11 souphttpsrc plugin]) if $gst011_inspect souphttpsrc >/dev/null 2>/dev/null; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) plugin_error_or_ignore "you need souphttpsrc from gst-plugins-good installed for the YouTube plugin" add_plugin="0" fi ;; chapters) PKG_CHECK_MODULES(CHAPTERS, libxml-2.0 >= 2.6.0 gtk+-3.0 glib-2.0 >= 2.15.0, [BUILD_CHAPTERS=yes], [BUILD_CHAPTERS=no]) if test "${BUILD_CHAPTERS}" != "yes" ; then plugin_error_or_ignore "you need gtk+-3.0, glib-2.0 >= 2.15.0 and libxml-2.0 >= 2.6.0 to use the chapters plugin" add_plugin="0" fi ;; zeitgeist-dp) if test "${with_vala}" != "yes" ; then plugin_error_or_ignore "you need vala installed to use the zeitgeist-dp plugin" add_plugin="0" else PKG_CHECK_MODULES(LIBZEITGEIST, zeitgeist-1.0 >= 0.3.6, [HAS_LIBZEITGEIST=yes], [HAS_LIBZEITGEIST=no]) if test "${HAS_LIBZEITGEIST}" != "yes" ; then plugin_error_or_ignore "you need zeitgeist-1.0 >= 0.3.6 to use the zeitgeist-dp plugin" add_plugin="0" fi fi ;; esac # Add the specified plugin if test "${add_plugin}" = "1" ; then used_plugins2="${used_plugins2} ${plugin}" fi done ALL_PLUGINS=$allowed_plugins PLUGINS=$used_plugins2 AC_MSG_CHECKING([which plugins to compile]) AC_MSG_RESULT([$PLUGINS]) AC_SUBST([ALL_PLUGINS]) AC_SUBST([PLUGINS]) # *************** # Browser plugins # *************** AC_MSG_CHECKING([whether to compile the browser plugins]) AC_ARG_ENABLE([browser-plugins], [AS_HELP_STRING([--enable-browser-plugins],[compile the totem browser plugins])], [],[enable_browser_plugins=yes]) AC_MSG_RESULT([$enable_browser_plugins]) if test "$enable_browser_plugins" = "yes" ; then AC_DEFINE([ENABLE_BROWSER_PLUGINS],[1],[Define to build the browser plugin]) BROWSER_PLUGIN_DIR="${BROWSER_PLUGIN_DIR:-"\${libdir}/mozilla/plugins"}" AC_ARG_VAR([BROWSER_PLUGIN_DIR],[Where to install the plugin to]) PKG_CHECK_MODULES([BROWSER_PLUGIN], [glib-2.0 gio-2.0 x11 totem-plparser-mini >= $TOTEM_PLPARSER_REQS], [],[enable_browser_plugins=no]) AC_SUBST([BROWSER_PLUGIN_CFLAGS]) AC_SUBST([BROWSER_PLUGIN_LIBS]) # Earlier versions misdetect playlists PKG_CHECK_EXISTS([shared-mime-info >= 0.22], [], [AC_MSG_ERROR([ The Browser plugin requires shared-mime-info >= 0.22 to function.])]) PKG_CHECK_MODULES([DBUS], [dbus-glib-1 >= $DBUS_REQS],, [enable_browser_plugins=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_browser_plugins=no fi # check for -fno-rtti flag AC_LANG_PUSH([C++]) __SAVE_CXXFLAGS=$CXXFLAGS CXXFLAGS="-fno-rtti $CXXFLAGS" AC_MSG_CHECKING([for -fno-rtti compiler flag]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],[have_no_rtti_flag=yes],[have_no_rtti_flag=no]) AC_MSG_RESULT([$have_no_rtti_flag]) CXXFLAGS=$__SAVE_CXXFLAGS AC_LANG_POP([C++]) if test "$have_no_rtti_flag" = "yes"; then AM_CXXFLAGS="-fno-rtti $AM_CXXFLAGS" fi fi AM_CONDITIONAL([ENABLE_BROWSER_PLUGINS], [test "$enable_browser_plugins" = "yes"]) # check which plugins to enable if test "$enable_browser_plugins" = "yes"; then AC_MSG_CHECKING([whether to enable the GMP browser plugin]) AC_ARG_ENABLE([gmp-plugin], AS_HELP_STRING([--enable-gmp-plugin],[Whether to enable the GMP browser plugin]), [],[enable_gmp_plugin=yes]) AC_MSG_RESULT([$enable_gmp_plugin]) AC_MSG_CHECKING([whether to enable the NarrowSpace browser plugin]) AC_ARG_ENABLE([narrowspace-plugin], AS_HELP_STRING([--enable-narrowspace-plugin],[Whether to enable the NarrowSpace browser plugin]), [],[enable_narrowspace_plugin=yes]) AC_MSG_RESULT([$enable_narrowspace_plugin]) AC_MSG_CHECKING([whether to enable the MullY browser plugin]) AC_ARG_ENABLE([mully-plugin], AS_HELP_STRING([--enable-mully-plugin],[Whether to enable the MullY browser plugin]), [],[enable_mully_plugin=yes]) AC_MSG_RESULT([$enable_mully_plugin]) AC_MSG_CHECKING([whether to enable the Cone browser plugin]) AC_ARG_ENABLE([cone-plugin], AS_HELP_STRING([--enable-cone-plugin],[Whether to enable the Cone browser plugin]), [],[enable_cone_plugin=yes]) AC_MSG_RESULT([$enable_cone_plugin]) fi AM_CONDITIONAL([ENABLE_GMP_PLUGIN],[test "$enable_gmp_plugin" = "yes"]) AM_CONDITIONAL([ENABLE_NARROWSPACE_PLUGIN],[test "$enable_narrowspace_plugin" = "yes"]) AM_CONDITIONAL([ENABLE_MULLY_PLUGIN],[test "$enable_mully_plugin" = "yes"]) AM_CONDITIONAL([ENABLE_CONE_PLUGIN],[test "$enable_cone_plugin" = "yes"]) 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+-3.0 gthread-2.0 libnautilus-extension, [HAVE_NAUTILUS=yes], [HAVE_NAUTILUS=no]) fi AC_ARG_WITH(nautilusdir, AS_HELP_STRING([--with-nautilusdir=DIR],[Installation path for Nautilus extension @<:@auto@:>@]), [ac_with_nautilusdir=$withval], [ac_with_nautilusdir=""]) NAUTILUS_LIBS="$NAUTILUS_LIBS $EXTRA_BACKEND_LIBS" 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]) if test "${ac_with_nautilusdir}" = ""; then ac_with_nautilusdir=`pkg-config --variable=extensiondir libnautilus-extension` fi AC_SUBST(NAUTILUSDIR) AC_MSG_NOTICE([installing nautilus plugin in ${ac_with_nautilusdir}]) AC_SUBST([NAUTILUSDIR],[${ac_with_nautilusdir}]) fi AM_CONDITIONAL(HAVE_NAUTILUS, test x$HAVE_NAUTILUS = "xyes") dnl *************************** dnl D-Bus for gnome-screensaver dnl *************************** AC_ARG_WITH(dbus, AC_HELP_STRING([--with-dbus], [Enable D-BUS support]),, with_dbus=auto) if test "x$with_dbus" != "xno"; then PKG_CHECK_MODULES(DBUS, dbus-glib-1 >= $DBUS_REQS, enable_dbus=yes, enable_dbus=no) if test "x$with_dbus" = xyes && test "x$enable_dbus" = xno; then AC_MSG_ERROR([D-BUS explicitly requested but no support found]) fi if test "x$enable_dbus" = xyes; then AC_DEFINE(WITH_DBUS, 1, [Define if D-BUS is enabled]) AC_DEFINE(ENABLE_DBUS, 1, [Define if D-BUS is enabled]) fi fi AM_CONDITIONAL(WITH_DBUS, test "x$enable_dbus" = "xyes") GLIB_GSETTINGS GNOME_COMMON_INIT GNOME_DEBUG_CHECK GNOME_COMPILE_WARNINGS([maximum]) GNOME_CXX_WARNINGS GNOME_MAINTAINER_MODE_DEFINES GTK_DOC_CHECK([1.14],[--flavour no-tmpl]) # This macro expands DIR and assigns it to RET. # If DIR is NONE, then it's replaced by DEFAULT. # Based on AC_DEFINE_DIR AC_DEFUN([TOTEM_FULLPATH], [ test "x$prefix" = xNONE && prefix="$ac_default_prefix" test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' ac_expand=[$]$1 test "x$ac_expand" = xNONE && ac_expand="[$]$2" ac_expand=`eval echo [$]ac_expand` $3=`eval echo [$]ac_expand` ]) dnl FULL_LIBEXECDIR is used for X-GNOME-Bugzilla-ExtraInfoScript expansion dnl in data/totem.desktop.in.in.in TOTEM_FULLPATH(libexecdir, NONE, FULL_LIBEXECDIR) AC_SUBST(FULL_LIBEXECDIR) dnl run in source tree AC_ARG_ENABLE(run-in-source-tree, AC_HELP_STRING([--disable-run-in-source-tree],[disable search for UI files and plugins in local directory ]), [case "${enableval}" in yes) ENABLE_RUN_IN_SOURCE_TREE=yes ;; no) ENABLE_RUN_IN_SOURCE_TREE=no ;; *) AC_MSG_ERROR(bad value ${enableval} for --disable-run-in-source-tree) ;; esac], [ENABLE_RUN_IN_SOURCE_TREE=yes]) dnl Default value if test x$ENABLE_RUN_IN_SOURCE_TREE = xyes; then AC_DEFINE(TOTEM_RUN_IN_SOURCE_TREE, 1, [enable search for UI files and plugins in local directory]) 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 AC_SUBST([AM_CPPFLAGS]) AC_SUBST([AM_CFLAGS]) AC_SUBST([AM_CXXFLAGS]) AC_SUBST([AM_LDFLAGS]) AC_OUTPUT([ Makefile totem.spec lib/Makefile src/Makefile src/properties/Makefile src/plugins/Makefile src/plugins/bemused/Makefile src/plugins/coherence_upnp/Makefile src/plugins/dbus-service/Makefile src/plugins/screensaver/Makefile src/plugins/screenshot/Makefile src/plugins/ontop/Makefile src/plugins/im-status/Makefile src/plugins/gromit/Makefile src/plugins/iplayer/Makefile src/plugins/lirc/Makefile src/plugins/media-player-keys/Makefile src/plugins/opensubtitles/Makefile src/plugins/opensubtitles/org.gnome.totem.plugins.opensubtitles.gschema.xml.in src/plugins/properties/Makefile src/plugins/save-file/Makefile src/plugins/sidebar-test/Makefile src/plugins/skipto/Makefile src/plugins/sample-python/Makefile src/plugins/sample-vala/Makefile src/plugins/thumbnail/Makefile src/plugins/tracker/Makefile src/plugins/youtube/Makefile src/plugins/pythonconsole/Makefile src/plugins/pythonconsole/org.gnome.totem.plugins.pythonconsole.gschema.xml.in src/plugins/publish/Makefile src/plugins/publish/org.gnome.totem.plugins.publish.gschema.xml.in src/plugins/jamendo/Makefile src/plugins/jamendo/org.gnome.totem.plugins.jamendo.gschema.xml.in src/plugins/brasero-disc-recorder/Makefile src/plugins/chapters/Makefile src/plugins/zeitgeist-dp/Makefile src/backend/Makefile browser-plugin/Makefile data/Makefile data/org.gnome.totem.gschema.xml.in data/totem.desktop.in.in data/totem.pc data/icons/Makefile data/icons/16x16/Makefile data/icons/22x22/Makefile data/icons/24x24/Makefile data/icons/32x32/Makefile data/icons/48x48/Makefile data/icons/256x256/Makefile data/icons/scalable/Makefile po/Makefile.in help/Makefile docs/Makefile docs/reference/Makefile docs/reference/version.xml ]) AC_MSG_NOTICE([Totem was configured with the following options:]) AC_MSG_NOTICE([** Using the GStreamer-$GST_MAJORMINOR backend]) if test "x$MISSING_PLUGINS_LIBS" != "x"; then AC_MSG_NOTICE([** Easy codec installation support enabled]) else AC_MSG_NOTICE([ Easy codec installation support disabled]) fi if test x$enable_python = xyes ; then AC_MSG_NOTICE([** Python plugin support enabled]) else AC_MSG_NOTICE([ Python plugin support disabled]) fi if test x$with_vala = xyes ; then AC_MSG_NOTICE([** Vala plugin support enabled]) else AC_MSG_NOTICE([ Vala plugin support disabled]) fi if test "x${PLUGINS}" != "x" ; then for allowed_plugin in ${ALL_PLUGINS}; do for plugin in ${PLUGINS}; do case ${allowed_plugin} in ${plugin}) AC_MSG_NOTICE([** ${allowed_plugin} plugin enabled]) continue 2 ;; *);; esac done AC_MSG_NOTICE([ ${allowed_plugin} plugin disabled]) done else AC_MSG_NOTICE([ No Totem plugins enabled]) fi if test x$enable_browser_plugins = xyes ; then AC_MSG_NOTICE([** Browser plugin enabled]) if test x$enable_gmp_plugin = xyes ; then AC_MSG_NOTICE([** GMP (Windows Media) plugin enabled]) else AC_MSG_NOTICE([ GMP (Windows Media) plugin disabled]) fi if test x$enable_narrowspace_plugin = xyes ; then AC_MSG_NOTICE([** NarrowSpace (QuickTime) plugin enabled]) else AC_MSG_NOTICE([ NarrowSpace (QuickTime) plugin disabled]) fi if test x$enable_mully_plugin = xyes ; then AC_MSG_NOTICE([** MullY (DivX) plugin enabled]) else AC_MSG_NOTICE([ MullY (DivX) plugin disabled]) fi if test x$enable_cone_plugin = xyes ; then AC_MSG_NOTICE([** Cone (VLC) plugin enabled]) else AC_MSG_NOTICE([ Cone (VLC) plugin disabled]) fi else AC_MSG_NOTICE([ Browser plugin disabled]) fi if test x$ENABLE_NAUTILUS = xyes ; then AC_MSG_NOTICE([** Nautilus properties page enabled]) else AC_MSG_NOTICE([ Nautilus properties page disabled]) fi if test x$enable_xtest = xyes ; then AC_MSG_NOTICE([** XTest (legacy screensaver) support enabled]) else AC_MSG_NOTICE([ XTest (legacy screensaver) support disabled]) fi if test x$enable_dbus = xyes ; then AC_MSG_NOTICE([** D-Bus (gnome-screensaver) support enabled]) else AC_MSG_NOTICE([ D-Bus (gnome-screensaver) support disabled]) fi if test x$have_xvidmode = xyes ; then AC_MSG_NOTICE([** XVidmode support enabled]) else AC_MSG_NOTICE([ XVidmode support disabled]) fi if test x$have_xfree = xyes ; then AC_MSG_NOTICE([** XFree86 multimedia keys support enabled]) else AC_MSG_NOTICE([ XFree86 multimedia keys support disabled]) fi if test "$with_smclient" != "no" ; then AC_MSG_NOTICE([** SM client support enabled]) else AC_MSG_NOTICE([ SM client support disabled]) fi AC_MSG_NOTICE([End options])