aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac31
-rw-r--r--libindicator/Makefile.am28
-rw-r--r--libindicator/indicator3.pc.in17
-rw-r--r--tests/Makefile.am18
-rw-r--r--tools/Makefile.am7
5 files changed, 82 insertions, 19 deletions
diff --git a/configure.ac b/configure.ac
index d9a6240..86eec72 100644
--- a/configure.ac
+++ b/configure.ac
@@ -29,15 +29,32 @@ m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
##############################
GTK_REQUIRED_VERSION=2.18
+GTK3_REQUIRED_VERSION=2.91
DBUS_REQUIRED_VERSION=0.76
GIO_UNIX_REQUIRED_VERSION=2.22
-PKG_CHECK_MODULES(LIBINDICATOR, gtk+-2.0 >= $GTK_REQUIRED_VERSION
- gio-unix-2.0 >= $GIO_UNIX_REQUIRED_VERSION
- dbus-glib-1 >= $DBUS_REQUIRED_VERSION)
-
-AC_SUBST(LIBINDICATOR_CFLAGS)
-AC_SUBST(LIBINDICATOR_LIBS)
+AC_ARG_WITH([gtk],
+ [AS_HELP_STRING([--with-gtk],
+ [Which version of gtk to use @<:@default=2@:>@])],
+ [],
+ [with_gtk=2])
+AS_IF([test "x$with_gtk" = x3],
+ [PKG_CHECK_MODULES(LIBINDICATOR, gtk+-3.0 >= $GTK3_REQUIRED_VERSION
+ gio-unix-2.0 >= $GIO_UNIX_REQUIRED_VERSION
+ dbus-glib-1 >= $DBUS_REQUIRED_VERSION)
+ AC_SUBST(LIBINDICATOR_CFLAGS)
+ AC_SUBST(LIBINDICATOR_LIBS)
+ ],
+ [test "x$with_gtk" = x2],
+ [PKG_CHECK_MODULES(LIBINDICATOR, gtk+-2.0 >= $GTK_REQUIRED_VERSION
+ gio-unix-2.0 >= $GIO_UNIX_REQUIRED_VERSION
+ dbus-glib-1 >= $DBUS_REQUIRED_VERSION)
+ AC_SUBST(LIBINDICATOR_CFLAGS)
+ AC_SUBST(LIBINDICATOR_LIBS)
+ ],
+ [AC_MSG_FAILURE([Value for --with-gtk was neither 2 nor 3])]
+)
+AM_CONDITIONAL(USE_GTK3, [test "x$with_gtk" = x3])
##############################
# Custom Junk
@@ -106,6 +123,7 @@ AC_OUTPUT([
Makefile
libindicator/Makefile
libindicator/indicator.pc
+libindicator/indicator3.pc
tests/Makefile
tools/Makefile
])
@@ -119,6 +137,7 @@ AC_MSG_NOTICE([
Libindicator Configuration:
Prefix: $prefix
+ GTK+ Version: $with_gtk
Enable debugging: $enable_debug
])
diff --git a/libindicator/Makefile.am b/libindicator/Makefile.am
index f942f0d..94cf3e0 100644
--- a/libindicator/Makefile.am
+++ b/libindicator/Makefile.am
@@ -1,12 +1,20 @@
+if USE_GTK3
+VER=3
+lib_LTLIBRARIES = libindicator3.la
+else
+VER=
+lib_LTLIBRARIES = libindicator.la
+endif
+
BUILT_SOURCES = indicator-object-enum-types.h indicator-object-enum-types.c
CLEANFILES =
DISTCLEANFILES =
EXTRA_DIST = \
- indicator.pc.in
+ indicator$(VER).pc.in
include $(top_srcdir)/Makefile.am.marshal
-libindicatorincludedir=$(includedir)/libindicator-0.3/libindicator
+libindicatorincludedir=$(includedir)/libindicator$(VER)-0.3/libindicator
indicator_headers = \
indicator.h \
@@ -19,9 +27,6 @@ indicator_headers = \
libindicatorinclude_HEADERS = \
$(indicator_headers)
-lib_LTLIBRARIES = \
- libindicator.la
-
libindicator_la_SOURCES = \
$(indicator_headers) \
dbus-shared.h \
@@ -47,7 +52,18 @@ libindicator_la_LDFLAGS = \
-no-undefined \
-export-symbols-regex "^[^_].*"
-pkgconfig_DATA = indicator.pc
+# We duplicate these here because Automake won't let us use $(VER) on the left hand side.
+# Since we carefully use $(VER) in the right hand side above, we can assign the same values.
+# Only one version of the library is every compiled at the same time, so it is safe to reuse
+# the right hand sides like this.
+libindicator3includedir = $(libindicatorincludedir)
+libindicator3include_HEADERS = $(indicator_headers)
+libindicator3_la_SOURCES = $(libindicator_la_SOURCES)
+libindicator3_la_CFLAGS = $(libindicator_la_CFLAGS)
+libindicator3_la_LIBADD = $(libindicator_la_LIBADD)
+libindicator3_la_LDFLAGS = $(libindicator_la_LDFLAGS)
+
+pkgconfig_DATA = indicator$(VER).pc
pkgconfigdir = $(libdir)/pkgconfig
glib_marshal_list = indicator-object-marshal.list
diff --git a/libindicator/indicator3.pc.in b/libindicator/indicator3.pc.in
new file mode 100644
index 0000000..ba7098c
--- /dev/null
+++ b/libindicator/indicator3.pc.in
@@ -0,0 +1,17 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+bindir=@bindir@
+includedir=@includedir@
+
+indicatordir=${libdir}/indicators/3/
+iconsdir=@datarootdir@/@PACKAGE@/icons/
+
+Cflags: -I${includedir}/libindicator3-0.3
+Requires: gtk+-3.0
+Libs: -lindicator3
+
+Name: libindicator3
+Description: libindicator3.
+Version: @VERSION@
+
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 9d5e496..da33551 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,3 +1,9 @@
+if USE_GTK3
+INDICATOR_LIB = -lindicator3
+else
+INDICATOR_LIB = -lindicator
+endif
+
TESTS =
DISTCLEANFILES =
@@ -31,7 +37,7 @@ test_loader_CFLAGS = \
test_loader_LDADD = \
$(LIBINDICATOR_LIBS) \
-L$(top_builddir)/libindicator/.libs \
- -lindicator
+ $(INDICATOR_LIB)
#############################
# Test Desktop Shortcuts
@@ -51,7 +57,7 @@ test_desktop_shortcuts_CFLAGS = \
test_desktop_shortcuts_LDADD = \
$(LIBINDICATOR_LIBS) \
-L$(top_builddir)/libindicator/.libs \
- -lindicator
+ $(INDICATOR_LIB)
DS_XML_REPORT = desktop-shortcuts-check-results.xml
DS_HTML_REPORT = desktop-shortcuts-check-results.html
@@ -83,7 +89,7 @@ libdummy_indicator_blank_la_CFLAGS = \
libdummy_indicator_blank_la_LIBADD = \
$(LIBINDICATOR_LIBS) \
-L$(top_builddir)/libindicator/.libs \
- -lindicator
+ $(INDICATOR_LIB)
libdummy_indicator_blank_la_LDFLAGS = \
-module \
@@ -103,7 +109,7 @@ libdummy_indicator_null_la_CFLAGS = \
libdummy_indicator_null_la_LIBADD = \
$(LIBINDICATOR_LIBS) \
-L$(top_builddir)/libindicator/.libs \
- -lindicator
+ $(INDICATOR_LIB)
libdummy_indicator_null_la_LDFLAGS = \
-module \
@@ -123,7 +129,7 @@ libdummy_indicator_signaler_la_CFLAGS = \
libdummy_indicator_signaler_la_LIBADD = \
$(LIBINDICATOR_LIBS) \
-L$(top_builddir)/libindicator/.libs \
- -lindicator
+ $(INDICATOR_LIB)
libdummy_indicator_signaler_la_LDFLAGS = \
-module \
@@ -143,7 +149,7 @@ libdummy_indicator_simple_la_CFLAGS = \
libdummy_indicator_simple_la_LIBADD = \
$(LIBINDICATOR_LIBS) \
-L$(top_builddir)/libindicator/.libs \
- -lindicator
+ $(INDICATOR_LIB)
libdummy_indicator_simple_la_LDFLAGS = \
-module \
diff --git a/tools/Makefile.am b/tools/Makefile.am
index 168cea8..6c67491 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -1,3 +1,8 @@
+if USE_GTK3
+INDICATOR_LIB = -lindicator3
+else
+INDICATOR_LIB = -lindicator
+endif
libexec_PROGRAMS = \
indicator-loader
@@ -17,7 +22,7 @@ indicator_loader_CFLAGS = \
indicator_loader_LDADD = \
$(LIBINDICATOR_LIBS) \
-L$(top_builddir)/libindicator/.libs \
- -lindicator
+ $(INDICATOR_LIB)
xsessiondir = $(sysconfdir)/X11/Xsession.d