aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Terry <mike@mterry.name>2010-10-06 10:58:49 -0400
committerMichael Terry <mike@mterry.name>2010-10-06 10:58:49 -0400
commitecc6acd2a576fcc11d51ded532f570fb29ab475e (patch)
tree8e754c760d81b0717b36a47942373762e1843ad5
parent923a1d5b25bbc33513984d413acdad9a5d446ab9 (diff)
downloadlibayatana-indicator-ecc6acd2a576fcc11d51ded532f570fb29ab475e.tar.gz
libayatana-indicator-ecc6acd2a576fcc11d51ded532f570fb29ab475e.tar.bz2
libayatana-indicator-ecc6acd2a576fcc11d51ded532f570fb29ab475e.zip
instead of always building gtk2 and gtk3, add a --with-gtk= flag to configure to specify which to build with
-rw-r--r--configure.ac38
-rw-r--r--libindicator/Makefile.am40
-rw-r--r--tests/Makefile.am18
-rw-r--r--tools/Makefile.am7
4 files changed, 63 insertions, 40 deletions
diff --git a/configure.ac b/configure.ac
index 7c706e9..5f4d3c9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -29,23 +29,32 @@ m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
##############################
GTK_REQUIRED_VERSION=2.18
-GTK3_REQUIRED_VERSION=2.90
+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)
-
-PKG_CHECK_MODULES(LIBINDICATOR3, gtk+-3.0 >= $GTK3_REQUIRED_VERSION
- gio-unix-2.0 >= $GIO_UNIX_REQUIRED_VERSION
- dbus-glib-1 >= $DBUS_REQUIRED_VERSION)
-
-AC_SUBST(LIBINDICATOR3_CFLAGS)
-AC_SUBST(LIBINDICATOR3_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
@@ -114,4 +123,5 @@ AC_MSG_NOTICE([
Libindicator Configuration:
Prefix: $prefix
+ GTK+ Version: $with_gtk
])
diff --git a/libindicator/Makefile.am b/libindicator/Makefile.am
index 172e2b2..4932f07 100644
--- a/libindicator/Makefile.am
+++ b/libindicator/Makefile.am
@@ -1,14 +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 \
- indicator3.pc.in
+ indicator$(VER).pc.in
include $(top_srcdir)/Makefile.am.marshal
-libindicatorincludedir=$(includedir)/libindicator-0.3/libindicator
-libindicator3includedir=$(includedir)/libindicator3-0.3/libindicator
+libindicatorincludedir=$(includedir)/libindicator$(VER)-0.3/libindicator
indicator_headers = \
indicator.h \
@@ -18,15 +24,8 @@ indicator_headers = \
indicator-service.h \
indicator-service-manager.h
-
libindicatorinclude_HEADERS = \
$(indicator_headers)
-libindicator3include_HEADERS = \
- $(indicator_headers)
-
-lib_LTLIBRARIES = \
- libindicator.la \
- libindicator3.la
libindicator_la_SOURCES = \
$(indicator_headers) \
@@ -39,23 +38,26 @@ libindicator_la_SOURCES = \
indicator-object-marshal.c \
indicator-service.c \
indicator-service-manager.c
-libindicator3_la_SOURCES = $(libindicator_la_SOURCES)
libindicator_la_CFLAGS = \
$(LIBINDICATOR_CFLAGS) \
-DG_LOG_DOMAIN=\"libindicator\" \
-Wall -Werror
-libindicator3_la_CFLAGS = \
- $(LIBINDICATOR3_CFLAGS) \
- -DG_LOG_DOMAIN=\"libindicator\" \
- -Wall -Werror
libindicator_la_LIBADD = \
$(LIBINDICATOR_LIBS)
-libindicator3_la_LIBADD = \
- $(LIBINDICATOR3_LIBS)
-pkgconfig_DATA = indicator.pc indicator3.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)
+
+pkgconfig_DATA = indicator$(VER).pc
pkgconfigdir = $(libdir)/pkgconfig
glib_marshal_list = indicator-object-marshal.list
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 13fef2d..d6a1048 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 5e5ef8d..d2964f9 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,5 +22,5 @@ indicator_loader_CFLAGS = \
indicator_loader_LDADD = \
$(LIBINDICATOR_LIBS) \
-L$(top_builddir)/libindicator/.libs \
- -lindicator
+ $(INDICATOR_LIB)