diff --git a/configure-pre.in b/configure-pre.in index 9f0d2f29..e4f66a54 100644 --- a/configure-pre.in +++ b/configure-pre.in @@ -235,8 +235,19 @@ if test $enable_gui == "moblin"; then AC_DEFINE(USE_MOBLIN_UX, 1, [Use the MUX widget library]) fi + if test $enable_gui != "no"; then - PKG_CHECK_MODULES(GUI, glib-2.0 dbus-glib-1 >= 0.60 gtk+-2.0 libglade-2.0 gconf-2.0 gio-2.0 unique-1.0) + gui_modules="glib-2.0 dbus-glib-1 >= 0.60 gtk+-2.0 libglade-2.0 gconf-2.0 gio-2.0" + + PKG_CHECK_MODULES(UNIQUE, unique-1.0, + have_unique="yes", + have_unique="no") + if test $have_unique == "yes"; then + gui_modules="$gui_modules unique-1.0" + AC_DEFINE(ENABLE_UNIQUE, 1, [enable single-app-instance functionality]) + fi + PKG_CHECK_MODULES(GUI, $gui_modules) + AC_PATH_PROG([GTK_BUILDER_CONV], gtk-builder-convert) IT_PROG_INTLTOOL([0.37.1]) GETTEXT_PACKAGE=syncevolution diff --git a/src/gtk-ui/main.c b/src/gtk-ui/main.c index f94338b3..3d4166bf 100644 --- a/src/gtk-ui/main.c +++ b/src/gtk-ui/main.c @@ -19,11 +19,14 @@ #include #include -#include #include "config.h" #include "sync-ui.h" +#ifdef ENABLE_UNIQUE + +#include + enum { COMMAND_0, @@ -95,3 +98,21 @@ main (int argc, char *argv[]) g_object_unref (app); return 0; } + +#else + +int +main (int argc, char *argv[]) +{ + gtk_init (&argc, &argv); + bindtextdomain (GETTEXT_PACKAGE, SYNCEVOLUTION_LOCALEDIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + textdomain (GETTEXT_PACKAGE); + + sync_ui_create_main_window (); + gtk_main (); + return 0; +} + +#endif /* ENABLE_UNIQUE */ +