You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
317 lines
12 KiB
317 lines
12 KiB
diff --git a/configure.ac b/configure.ac
|
|
index fcf02d6..c38061f 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -102,19 +102,173 @@ if test "x$enable_sendto" = "xyes"; then
|
|
GUPNP_REQUIRED=0.13
|
|
PKG_CHECK_MODULES(SENDTO,
|
|
glib-2.0 >= $GLIB_REQUIRED
|
|
- gio-2.0 >= $GLIB_REQUIRED
|
|
gthread-2.0 >= $GTHREAD_REQUIRED
|
|
gmodule-2.0 >= $GLIB_REQUIRED
|
|
gobject-2.0 >= $GLIB_REQUIRED
|
|
- gtk+-$GTK_API_VERSION >= $GTK_REQUIRED
|
|
- dbus-1 >= $DBUS_REQUIRED
|
|
- dbus-glib-1 >= $DBUS_GLIB_REQUIRED
|
|
- gupnp-1.0 >= $GUPNP_REQUIRED)
|
|
+ gtk+-$GTK_API_VERSION >= $GTK_REQUIRED)
|
|
AC_SUBST(SENDTO_CFLAGS)
|
|
AC_SUBST(SENDTO_LIBS)
|
|
- AC_DEFINE_UNQUOTED(GAJIM_SHARE_DIR, "$prefix/share/gajim", [path to gajim share dir])
|
|
-fi
|
|
|
|
+ # The full list of plugins
|
|
+ allowed_sendto_plugins="emailclient gajim caja-burn pidgin removable-devices upnp"
|
|
+
|
|
+ sendto_plugin_error_or_ignore()
|
|
+ {
|
|
+ if test "${error_on_bad_sendto_plugin}" = "1" ; then
|
|
+ AC_MSG_ERROR([$1])
|
|
+ else
|
|
+ AC_MSG_WARN([$1 (disabling sendto plugin)])
|
|
+ fi
|
|
+ }
|
|
+
|
|
+ AC_ARG_WITH([sendto-plugins],
|
|
+ [AS_HELP_STRING([--with-sendto-plugins],[Which caja-sendto plugins to compile (default: auto; "all", "autodetect" are valid)])],
|
|
+ [], [with_sendto_plugins=autodetect])
|
|
+
|
|
+ used_sendto_plugins=""
|
|
+ used_sendto_plugins2=""
|
|
+
|
|
+ if test "x${with_sendto_plugins}" = "xautodetect" ; then
|
|
+ # Default to all plugins and just ignore them if they won't compile
|
|
+ with_sendto_plugins="all"
|
|
+ error_on_bad_sendto_plugin="0"
|
|
+ else
|
|
+ # Clean up the plugin list and error if a plugin won't compile
|
|
+ with_sendto_plugins=`echo ,"${with_sendto_plugins}", | sed -e 's/[[ ,]][[ ,]]*/ /g' -e 's/,$//'`
|
|
+ error_on_bad_sendto_plugin="1"
|
|
+ fi
|
|
+
|
|
+ # Iterate through the wanted plugins and weed out bad ones (or error)
|
|
+ for wanted_sendto_plugin in ${with_sendto_plugins}; do
|
|
+ for allowed_sendto_plugin in ${allowed_sendto_plugins}; do
|
|
+ case ${wanted_sendto_plugin} in
|
|
+ all)
|
|
+ # List all plugins as being used
|
|
+ used_sendto_plugins=${allowed_sendto_plugins}
|
|
+ ;;
|
|
+ autodetect)
|
|
+ # List all plugins as being used
|
|
+ used_sendto_plugins=${allowed_sendto_plugins}
|
|
+ ;;
|
|
+ ${allowed_sendto_plugin}) used_sendto_plugins="${used_sendto_plugins} ${wanted_sendto_plugin}";; # List the plugin
|
|
+ *) ;;
|
|
+ esac
|
|
+ done
|
|
+ done
|
|
+
|
|
+ # Check for plugin-specific requirements and error if necessary
|
|
+ for sendto_plugin in ${used_sendto_plugins}; do
|
|
+ add_sendto_plugin="1"
|
|
+
|
|
+ case ${sendto_plugin} in
|
|
+ emailclient)
|
|
+ PKG_CHECK_MODULES(EMAILCLIENT, gio-2.0,
|
|
+ enable_emailclient=yes, enable_emailclient=no)
|
|
+ if test "${enable_emailclient}" != "yes" ; then
|
|
+ sendto_plugin_error_or_ignore "you need gio-2.0 to build the emailclient plugin"
|
|
+ add_sendto_plugin="0"
|
|
+ fi
|
|
+ ;;
|
|
+ gajim)
|
|
+ AC_ARG_WITH(sendto_gajim,
|
|
+ [AS_HELP_STRING(--with-sendto-gajim,[Path to Gajim install prefix])],
|
|
+ [GAJIM_PATH="$withval"],[GAJIM_PATH="$prefix"])
|
|
+
|
|
+ GAJIM_SHARE_DIR="$GAJIM_PATH"/share/gajim
|
|
+
|
|
+ PKG_CHECK_MODULES(DBUS, dbus-1 >= $DBUS_REQUIRED dbus-glib-1 >= $DBUS_GLIB_REQUIRED,
|
|
+ [AC_SUBST(DBUS_CFLAGS)
|
|
+ AC_SUBST(DBUS_LIBS)
|
|
+ enable_sendto_gajim=yes
|
|
+ AC_DEFINE_UNQUOTED(GAJIM_SHARE_DIR, "$GAJIM_SHARE_DIR", [path to gajim share dir])],
|
|
+ [enable_gajim=no])
|
|
+
|
|
+ if test "${enable_gajim}" != "yes" ; then
|
|
+ sendto_plugin_error_or_ignore "you need gajim and dbus-glib installed for the gajim plugin"
|
|
+ add_sendto_plugin="0"
|
|
+ fi
|
|
+ ;;
|
|
+ caja-burn)
|
|
+ PKG_CHECK_MODULES(GIO, gio-2.0,
|
|
+ enable_burn=yes, enable_burn=no)
|
|
+ if test "${enable_burn}" != "yes" ; then
|
|
+ sendto_plugin_error_or_ignore "you need gio installed for the caja-burn plugin"
|
|
+ add_sendto_plugin="0"
|
|
+ fi
|
|
+ ;;
|
|
+ pidgin)
|
|
+ PKG_CHECK_MODULES(PIDGIN, dbus-glib-1 >= $DBUS_GLIB_REQUIRED,
|
|
+ enable_pidgin=yes, enable_pidgin=no)
|
|
+ if test "${enable_pidgin}" != "yes" ; then
|
|
+ sendto_plugin_error_or_ignore "you need dbus-glib to build the pidgin plugin"
|
|
+ add_sendto_plugin="0"
|
|
+ fi
|
|
+ ;;
|
|
+ removable-devices)
|
|
+ PKG_CHECK_MODULES(GIO, gio-2.0,
|
|
+ enable_removable=yes, enable_removable=no)
|
|
+ if test "${enable_removable}" != "yes" ; then
|
|
+ sendto_plugin_error_or_ignore "you need gio-2.0 to build the removable-devices plugin"
|
|
+ add_sendto_plugin="0"
|
|
+ fi
|
|
+ ;;
|
|
+ upnp)
|
|
+ PKG_CHECK_MODULES(UPNP, gupnp-1.0 >= $GUPNP_REQUIRED,
|
|
+ enable_upnp=yes, enable_upnp=no)
|
|
+ if test "${enable_upnp}" != "yes" ; then
|
|
+ sendto_plugin_error_or_ignore "you need gupnp installed for the upnp plugin"
|
|
+ add_sendto_plugin="0"
|
|
+ fi
|
|
+ ;;
|
|
+ esac
|
|
+
|
|
+ # Add the specified plugin
|
|
+ if test "${add_sendto_plugin}" = "1" ; then
|
|
+ used_sendto_plugins2="${used_sendto_plugins2} ${sendto_plugin}"
|
|
+ fi
|
|
+ done
|
|
+
|
|
+ ALL_SENDTO_PLUGINS=$allowed_sendto_plugins
|
|
+ SENDTO_PLUGINS=$used_sendto_plugins2
|
|
+
|
|
+ dnl Error out if no plugins will be built
|
|
+ if test -z "${SENDTO_PLUGINS}" ; then
|
|
+ AC_MSG_ERROR([No sendto plugins will be built, and caja-sendto requires at least one])
|
|
+ fi
|
|
+
|
|
+ AC_MSG_CHECKING([which sendto plugins to compile])
|
|
+ AC_MSG_RESULT([$SENDTO_PLUGINS])
|
|
+
|
|
+ AC_SUBST([ALL_SENDTO_PLUGINS])
|
|
+ AC_SUBST([SENDTO_PLUGINS])
|
|
+
|
|
+ dnl For the pidgin sendto plugin
|
|
+ AM_CONDITIONAL(HAVE_SENDTO_PIDGIN, test "x$enable_pidgin" = "xyes")
|
|
+
|
|
+ dnl For the GIO based plugins
|
|
+ enable_nst_common=no
|
|
+ if test "x$enable_burn" = "xyes" -o "x$enable_removable" = "xyes"; then
|
|
+ enable_nst_common=yes
|
|
+ fi
|
|
+ AM_CONDITIONAL(HAVE_GIO, test "x$enable_nst_common" = "xyes")
|
|
+
|
|
+ if test "x${SENDTO_PLUGINS}" != "x" ; then
|
|
+ for allowed_sendto_plugin in ${ALL_SENDTO_PLUGINS}; do
|
|
+ for sendto_plugin in ${SENDTO_PLUGINS}; do
|
|
+ case ${allowed_sendto_plugin} in
|
|
+ ${sendto_plugin})
|
|
+ AC_MSG_NOTICE([** ${allowed_sendto_plugin} sendto plugin enabled])
|
|
+ continue 2
|
|
+ ;;
|
|
+ *);;
|
|
+ esac
|
|
+ done
|
|
+ AC_MSG_NOTICE([ ${allowed_sendto_plugin} sendto plugin disabled])
|
|
+ done
|
|
+ else
|
|
+ AC_MSG_NOTICE([ No caja-sendto plugins enabled])
|
|
+ fi
|
|
+fi
|
|
AM_CONDITIONAL(ENABLE_SENDTO, test x"$enable_sendto" = "xyes")
|
|
|
|
# share extension
|
|
diff --git a/sendto/plugins/Makefile.am b/sendto/plugins/Makefile.am
|
|
index 10097e8..6d17c98 100644
|
|
--- a/sendto/plugins/Makefile.am
|
|
+++ b/sendto/plugins/Makefile.am
|
|
@@ -1,16 +1,13 @@
|
|
-SUBDIRS = . \
|
|
- caja-burn \
|
|
- emailclient \
|
|
- gajim \
|
|
- pidgin \
|
|
- removable-devices \
|
|
- upnp
|
|
+SUBDIRS = . $(SENDTO_PLUGINS)
|
|
+DIST_SUBDIRS = $(ALL_SENDTO_PLUGINS)
|
|
|
|
NST_COMMON_SOURCES = nst-common.c nst-common.h
|
|
|
|
+if HAVE_GIO
|
|
noinst_LTLIBRARIES = libnstcommon.la
|
|
libnstcommon_la_SOURCES = $(NST_COMMON_SOURCES)
|
|
libnstcommon_la_CFLAGS = $(SENDTO_CFLAGS)
|
|
libnstcommon_la_LIBADD = $(SENDTO_LIBS)
|
|
+endif
|
|
|
|
EXTRA_DIST = $(NST_COMMON_SOURCES)
|
|
diff --git a/sendto/plugins/caja-burn/Makefile.am b/sendto/plugins/caja-burn/Makefile.am
|
|
index 50c309b..00f95c2 100644
|
|
--- a/sendto/plugins/caja-burn/Makefile.am
|
|
+++ b/sendto/plugins/caja-burn/Makefile.am
|
|
@@ -9,11 +9,12 @@ AM_CPPFLAGS = \
|
|
-I$(srcdir)/../ \
|
|
$(SENDTO_CFLAGS) \
|
|
$(WARN_CFLAGS) \
|
|
- $(DISABLE_DEPRECATED)
|
|
+ $(DISABLE_DEPRECATED) \
|
|
+ $(GIO_CFLAGS)
|
|
|
|
plugin_LTLIBRARIES = libnstburn.la
|
|
|
|
libnstburn_la_SOURCES = caja-burn.c
|
|
libnstburn_la_LDFLAGS = -module -avoid-version
|
|
-libnstburn_la_LIBADD = $(SENDTO_LIBS) $(builddir)/../libnstcommon.la
|
|
+libnstburn_la_LIBADD = $(GIO_LIBS) $(SENDTO_LIBS) $(builddir)/../libnstcommon.la
|
|
|
|
diff --git a/sendto/plugins/emailclient/Makefile.am b/sendto/plugins/emailclient/Makefile.am
|
|
index 31ba40e..c4af752 100644
|
|
--- a/sendto/plugins/emailclient/Makefile.am
|
|
+++ b/sendto/plugins/emailclient/Makefile.am
|
|
@@ -7,6 +7,7 @@ AM_CPPFLAGS = \
|
|
-I$(top_srcdir)/sendto \
|
|
-I$(top_builddir) \
|
|
$(SENDTO_CFLAGS) \
|
|
+ $(EMAILCLIENT_CFLAGS) \
|
|
$(DISABLE_DEPRECATED) \
|
|
$(WARN_CFLAGS)
|
|
|
|
@@ -14,4 +15,4 @@ plugin_LTLIBRARIES = libnstemailclient.la
|
|
|
|
libnstemailclient_la_SOURCES = emailclient.c
|
|
libnstemailclient_la_LDFLAGS = -module -avoid-version
|
|
-libnstemailclient_la_LIBADD = $(SENDTO_LIBS)
|
|
+libnstemailclient_la_LIBADD = $(SENDTO_LIBS) $(EMAILCLIENT_LIBS)
|
|
diff --git a/sendto/plugins/gajim/Makefile.am b/sendto/plugins/gajim/Makefile.am
|
|
index 5acd5b0..c39a3c0 100644
|
|
--- a/sendto/plugins/gajim/Makefile.am
|
|
+++ b/sendto/plugins/gajim/Makefile.am
|
|
@@ -7,6 +7,7 @@ AM_CPPFLAGS = \
|
|
-I$(top_srcdir)/sendto \
|
|
-I$(top_builddir) \
|
|
$(SENDTO_CFLAGS) \
|
|
+ $(DBUS_CFLAGS) \
|
|
$(DISABLE_DEPRECATED) \
|
|
$(WARN_CFLAGS)
|
|
|
|
@@ -14,5 +15,5 @@ plugin_LTLIBRARIES = libnstgajim.la
|
|
|
|
libnstgajim_la_SOURCES = gajim.c
|
|
libnstgajim_la_LDFLAGS = -module -avoid-version
|
|
-libnstgajim_la_LIBADD = $(SENDTO_LIBS)
|
|
+libnstgajim_la_LIBADD = $(DBUS_LIBS) $(SENDTO_LIBS)
|
|
|
|
diff --git a/sendto/plugins/pidgin/Makefile.am b/sendto/plugins/pidgin/Makefile.am
|
|
index b7f650a..bcfe1d3 100644
|
|
--- a/sendto/plugins/pidgin/Makefile.am
|
|
+++ b/sendto/plugins/pidgin/Makefile.am
|
|
@@ -7,6 +7,8 @@ AM_CPPFLAGS = \
|
|
-I$(top_srcdir)/sendto \
|
|
-I$(top_builddir) \
|
|
$(SENDTO_CFLAGS) \
|
|
+ $(NST_EBOOK_CFLAGS) \
|
|
+ $(PIDGIN_CFLAGS) \
|
|
$(DISABLE_DEPRECATED) \
|
|
$(WARN_CFLAGS)
|
|
|
|
@@ -14,5 +16,5 @@ plugin_LTLIBRARIES = libnstpidgin.la
|
|
|
|
libnstpidgin_la_SOURCES = pidgin.c
|
|
libnstpidgin_la_LDFLAGS = -module -avoid-version
|
|
-libnstpidgin_la_LIBADD = $(SENDTO_LIBS)
|
|
+libnstpidgin_la_LIBADD = $(PIDGIN_LIBS) $(SENDTO_LIBS)
|
|
|
|
diff --git a/sendto/plugins/removable-devices/Makefile.am b/sendto/plugins/removable-devices/Makefile.am
|
|
index 294ca90..797353b 100644
|
|
--- a/sendto/plugins/removable-devices/Makefile.am
|
|
+++ b/sendto/plugins/removable-devices/Makefile.am
|
|
@@ -15,5 +15,5 @@ plugin_LTLIBRARIES = libnstremovable_devices.la
|
|
|
|
libnstremovable_devices_la_SOURCES = removable-devices.c
|
|
libnstremovable_devices_la_LDFLAGS = -module -avoid-version
|
|
-libnstremovable_devices_la_LIBADD = $(SENDTO_LIBS) $(builddir)/../libnstcommon.la
|
|
+libnstremovable_devices_la_LIBADD = $(GIO_LIBS) $(SENDTO_LIBS) $(builddir)/../libnstcommon.la
|
|
|
|
diff --git a/sendto/plugins/upnp/Makefile.am b/sendto/plugins/upnp/Makefile.am
|
|
index 4127abd..31a8bd6 100644
|
|
--- a/sendto/plugins/upnp/Makefile.am
|
|
+++ b/sendto/plugins/upnp/Makefile.am
|
|
@@ -7,6 +7,7 @@ AM_CPPFLAGS = \
|
|
-I$(top_srcdir)/sendto \
|
|
-I$(top_builddir) \
|
|
$(SENDTO_CFLAGS) \
|
|
+ $(UPNP_CFLAGS) \
|
|
$(DISABLE_DEPRECATED) \
|
|
$(WARN_CFLAGS)
|
|
|
|
@@ -14,5 +15,5 @@ plugin_LTLIBRARIES = libnstupnp.la
|
|
|
|
libnstupnp_la_SOURCES = upnp.c
|
|
libnstupnp_la_LDFLAGS = -module -avoid-version
|
|
-libnstupnp_la_LIBADD = $(SENDTO_LIBS)
|
|
+libnstupnp_la_LIBADD = $(UPNP_LIBS) $(SENDTO_LIBS)
|
|
|