aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2012-02-23 08:42:27 -0600
committerTed Gould <ted@gould.cx>2012-02-23 08:42:27 -0600
commit8125b675b131f6599b0c9a8ed0c041f24533f76d (patch)
tree09fbb7903aaa06514ef04e11b0fc04648e086128
parent7609f062397a3f33fa6587972e200edefa5e7222 (diff)
parent68cf3cfad3861048d620b2486abf47d5a3ce2886 (diff)
downloadayatana-indicator-session-8125b675b131f6599b0c9a8ed0c041f24533f76d.tar.gz
ayatana-indicator-session-8125b675b131f6599b0c9a8ed0c041f24533f76d.tar.bz2
ayatana-indicator-session-8125b675b131f6599b0c9a8ed0c041f24533f76d.zip
Make GUDev optional for arch's that can't support it
-rw-r--r--configure.ac12
-rw-r--r--src/Makefile.am26
-rw-r--r--src/device-menu-mgr.c6
3 files changed, 36 insertions, 8 deletions
diff --git a/configure.ac b/configure.ac
index 8d02d69..0c2a9f8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -61,7 +61,6 @@ AS_IF([test "x$with_gtk" = x3],
[PKG_CHECK_MODULES(SESSIONSERVICE, dbusmenu-glib-0.4 >= $DBUSMENUGLIB_REQUIRED_VERSION
dbusmenu-gtk3-0.4 >= $DBUSMENUGTK_REQUIRED_VERSION
dbus-glib-1
- gudev-1.0
gio-unix-2.0
indicator3-0.4 >= $INDICATOR_REQUIRED_VERSION
packagekit-glib2)
@@ -69,7 +68,6 @@ AS_IF([test "x$with_gtk" = x3],
[test "x$with_gtk" = x2],
[PKG_CHECK_MODULES(SESSIONSERVICE, dbusmenu-glib-0.4 >= $DBUSMENUGLIB_REQUIRED_VERSION
dbusmenu-gtk-0.4 >= $DBUSMENUGTK_REQUIRED_VERSION
- gudev-1.0
dbus-glib-1
gio-unix-2.0
indicator-0.4 >= $INDICATOR_REQUIRED_VERSION
@@ -80,6 +78,10 @@ AS_IF([test "x$with_gtk" = x3],
AC_SUBST(SESSIONERVICE_CFLAGS)
AC_SUBST(SESSIONERVICE_LIBS)
+PKG_CHECK_MODULES(GUDEV, gudev-1.0, has_gudev=true, has_gudev=false)
+AC_SUBST(GUDEV_CFLAGS)
+AC_SUBST(GUDEV_LIBS)
+
AM_CONDITIONAL([USE_GTK3], [test "x$with_gtk" = "x3"])
AS_IF([test "x$with_gtk" = x3], [
AC_DEFINE(HAVE_GTK3, 1, [whether gtk3 is available])
@@ -199,7 +201,9 @@ AM_GLIB_GNU_GETTEXT
# Files
###########################
-AC_OUTPUT([
+AM_CONDITIONAL([HAS_GUDEV], [test "x$has_gudev" = "xtrue"])
+
+AC_CONFIG_FILES([
Makefile
src/Makefile
data/Makefile
@@ -223,6 +227,8 @@ data/extra-sessions/Makefile
po/Makefile.in
])
+AC_OUTPUT
+
###########################
# Results
###########################
diff --git a/src/Makefile.am b/src/Makefile.am
index 67a1cb6..a1e443e 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,4 +1,6 @@
+EXTRA_DIST =
+
libexec_PROGRAMS = \
indicator-session-service
@@ -107,14 +109,26 @@ indicator_session_service_SOURCES = \
user-menu-mgr.c \
device-menu-mgr.h \
device-menu-mgr.c \
- udev-mgr.h \
- udev-mgr.c \
sane-rules.h
if BUILD_APT
indicator_session_service_SOURCES += \
apt-watcher.h \
apt-watcher.c
+else
+EXTRA_DIST += \
+ apt-watcher.h \
+ apt-watcher.c
+endif
+
+if HAS_GUDEV
+indicator_session_service_SOURCES += \
+ udev-mgr.h \
+ udev-mgr.c
+else
+EXTRA_DIST += \
+ udev-mgr.h \
+ udev-mgr.c
endif
indicator_session_service_CFLAGS = \
@@ -122,10 +136,12 @@ indicator_session_service_CFLAGS = \
$(GCONF_CFLAGS) \
-DLIBEXECDIR=\"$(libexecdir)\" \
-Wall -Werror \
- -DG_LOG_DOMAIN=\"Indicator-Session\"
+ -DG_LOG_DOMAIN=\"Indicator-Session\" \
+ $(GUDEV_CFLAGS)
indicator_session_service_LDADD = \
$(SESSIONSERVICE_LIBS) \
- $(GCONF_LIBS)
+ $(GCONF_LIBS) \
+ $(GUDEV_LIBS)
#################
# GTK Logout Stuff
@@ -168,7 +184,7 @@ BUILT_SOURCES = \
accounts-service-client.h \
accounts-service-user-client.h
-EXTRA_DIST = \
+EXTRA_DIST += \
org.freedesktop.ConsoleKit.Manager.xml \
org.freedesktop.ConsoleKit.Seat.xml \
org.freedesktop.ConsoleKit.Session.xml \
diff --git a/src/device-menu-mgr.c b/src/device-menu-mgr.c
index f8f0696..cfdb55d 100644
--- a/src/device-menu-mgr.c
+++ b/src/device-menu-mgr.c
@@ -31,7 +31,9 @@ with this program. If not, see <http://www.gnu.org/licenses/>.
#include "apt-watcher.h"
#endif /* HAVE_APT */
+#ifdef HAS_GUDEV
#include "udev-mgr.h"
+#endif /* HAS_GUDEV */
#define UP_ADDRESS "org.freedesktop.UPower"
#define UP_OBJECT "/org/freedesktop/UPower"
@@ -47,7 +49,9 @@ struct _DeviceMenuMgr
#ifdef HAVE_APT
AptWatcher* apt_watcher;
#endif /* HAVE_APT */
+#ifdef HAS_GUDEV
UdevMgr* udev_mgr;
+#endif /* HAS_GUDEV */
};
static GSettings *lockdown_settings = NULL;
@@ -733,8 +737,10 @@ device_menu_mgr_build_static_items (DeviceMenuMgr* self, gboolean greeter_mode)
restart_shutdown_logout_mi->shutdown_mi = shutdown_mi;
update_menu_entries(restart_shutdown_logout_mi);
+#ifdef HAS_GUDEV
// Time to create the udev mgr and hand it the static relevant items.
self->udev_mgr = udev_mgr_new (scanners_menuitem, webcam_menuitem);
+#endif
}
static void