summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Hughes <richard@hughsie.com>2013-05-17 16:14:50 +0100
committerRichard Hughes <richard@hughsie.com>2013-05-17 16:14:50 +0100
commite14d364bb38716758e9dfeebd7f453d7be311743 (patch)
treecc09751e246c3f0067186ceac63df38dcb1535f6
parent54627d46d9e6498bb97d323afa5fbcc9161d6ee2 (diff)
downloadcolord-gtk-e14d364bb38716758e9dfeebd7f453d7be311743.tar.gz
Provide an optional Gtk2 version of libcolord-gtk
-rw-r--r--Makefile.am1
-rw-r--r--client/Makefile.am4
-rw-r--r--configure.ac14
-rw-r--r--contrib/colord-gtk.spec.in5
-rw-r--r--libcolord-gtk/Makefile.am50
-rw-r--r--libcolord-gtk/colord-gtk2.pc.in11
6 files changed, 75 insertions, 10 deletions
diff --git a/Makefile.am b/Makefile.am
index bb233fb..58b7c17 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -20,6 +20,7 @@ snapshot:
DISTCHECK_CONFIGURE_FLAGS = \
--enable-introspection \
--enable-vala \
+ --enable-gtk2 \
--enable-gtk-doc
EXTRA_DIST = \
diff --git a/client/Makefile.am b/client/Makefile.am
index 23e5af7..becddff 100644
--- a/client/Makefile.am
+++ b/client/Makefile.am
@@ -1,6 +1,6 @@
INCLUDES = \
$(GLIB_CFLAGS) \
- $(GTK_CFLAGS) \
+ $(GTK3_CFLAGS) \
$(COLORD_CFLAGS) \
-I$(top_srcdir) \
-I$(top_srcdir)/libcolord-gtk \
@@ -22,7 +22,7 @@ colord_convert_LDADD = \
$(LCMS_LIBS) \
$(COLORD_LIBS) \
$(COLORD_GTK_LIBS) \
- $(GTK_LIBS) \
+ $(GTK3_LIBS) \
$(GLIB_LIBS) \
-lm
diff --git a/configure.ac b/configure.ac
index adcbecc..af75edf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -124,11 +124,21 @@ dnl ---------------------------------------------------------------------------
dnl - Check library dependencies
dnl ---------------------------------------------------------------------------
PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.28.0 gobject-2.0 gthread-2.0 gio-2.0 >= 2.25.9 gio-unix-2.0 gmodule-2.0)
-PKG_CHECK_MODULES(GTK, gtk+-3.0)
+PKG_CHECK_MODULES(GTK3, gtk+-3.0)
PKG_CHECK_MODULES(COLORD, colord >= 0.1.27)
PKG_CHECK_MODULES(LCMS, lcms2 >= 2.2)
dnl ---------------------------------------------------------------------------
+dnl - Build Gtk+2 support
+dnl ---------------------------------------------------------------------------
+AC_ARG_ENABLE(gtk2, AS_HELP_STRING([--enable-gtk2],[build Gtk2 library]),
+ enable_gtk2=$enableval,enable_gtk2=no)
+if test x$enable_gtk2 != xno; then
+ PKG_CHECK_MODULES(GTK2, gtk+-2.0)
+fi
+AM_CONDITIONAL(HAVE_GTK2, [test "x$enable_gtk2" = "xyes"])
+
+dnl ---------------------------------------------------------------------------
dnl - Build VALA support
dnl ---------------------------------------------------------------------------
AC_ARG_ENABLE(vala, AS_HELP_STRING([--enable-vala],[build vala bindings]),
@@ -162,6 +172,7 @@ po/Makefile.in
client/Makefile
libcolord-gtk/cd-version.h
libcolord-gtk/colord-gtk.pc
+libcolord-gtk/colord-gtk2.pc
libcolord-gtk/Makefile
])
AC_OUTPUT
@@ -178,4 +189,5 @@ echo "
cppflags: ${CPPFLAGS}
gobject-introspection: ${found_introspection}
Vala API generator: ${has_vapigen}
+ Additional Gtk+2 support: ${enable_gtk2}
"
diff --git a/contrib/colord-gtk.spec.in b/contrib/colord-gtk.spec.in
index 0408449..8f1b5cb 100644
--- a/contrib/colord-gtk.spec.in
+++ b/contrib/colord-gtk.spec.in
@@ -17,6 +17,7 @@ BuildRequires: lcms2-devel >= 2.2
BuildRequires: gobject-introspection-devel
BuildRequires: vala-tools
BuildRequires: gtk3-devel
+BuildRequires: gtk2-devel
BuildRequires: gtk-doc
%description
@@ -37,6 +38,7 @@ Files for development with %{name}.
%configure \
--enable-gtk-doc \
--enable-vala \
+ --enable-gtk2 \
--disable-static \
--disable-rpath \
--disable-dependency-tracking
@@ -58,11 +60,14 @@ find %{buildroot} -name '*.a' -exec rm -f {} ';'
%files -f %{name}.lang
%doc README AUTHORS NEWS COPYING
%{_libdir}/libcolord-gtk.so.*
+%{_libdir}/libcolord-gtk2.so.*
%{_libdir}/girepository-1.0/ColordGtk-1.0.typelib
%files devel
%{_libdir}/libcolord-gtk.so
+%{_libdir}/libcolord-gtk2.so
%{_libdir}/pkgconfig/colord-gtk.pc
+%{_libdir}/pkgconfig/colord-gtk2.pc
%dir %{_includedir}/colord-1
%{_includedir}/colord-1/colord-gtk.h
%dir %{_includedir}/colord-1/colord-gtk
diff --git a/libcolord-gtk/Makefile.am b/libcolord-gtk/Makefile.am
index 4cfd1c2..59ba72a 100644
--- a/libcolord-gtk/Makefile.am
+++ b/libcolord-gtk/Makefile.am
@@ -8,10 +8,9 @@ INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) \
--includedir=$(top_builddir)/libcolord-gtk
endif
-INCLUDES = \
+AM_CPPFLAGS = \
$(GLIB_CFLAGS) \
$(COLORD_CFLAGS) \
- $(GTK_CFLAGS) \
-I$(top_srcdir) \
-I$(top_srcdir)/libcolord-gtk \
-DCD_COMPILATION \
@@ -42,9 +41,13 @@ libcolord_gtk_la_SOURCES = \
libcolord_gtk_la_LIBADD = \
$(COLORD_LIBS) \
- $(GTK_LIBS) \
+ $(GTK3_LIBS) \
$(GLIB_LIBS)
+libcolord_gtk_la_CPPFLAGS = \
+ $(AM_CPPFLAGS) \
+ $(GTK3_CFLAGS)
+
libcolord_gtk_la_LDFLAGS = \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
-export-dynamic \
@@ -57,24 +60,57 @@ libcolord_gtk_la_CFLAGS = \
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = colord-gtk.pc
+if HAVE_GTK2
+pkgconfig_DATA += colord-gtk2.pc
+lib_LTLIBRARIES += \
+ libcolord-gtk2.la
+
+libcolord_gtk2_la_SOURCES = \
+ cd-window.c \
+ cd-window-sync.c
+
+libcolord_gtk2_la_LIBADD = \
+ $(COLORD_LIBS) \
+ $(GTK2_LIBS) \
+ $(GLIB_LIBS)
+
+libcolord_gtk2_la_CPPFLAGS = \
+ $(AM_CPPFLAGS) \
+ $(GTK2_CFLAGS)
+
+libcolord_gtk2_la_LDFLAGS = \
+ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
+ -export-dynamic \
+ -no-undefined \
+ -export-symbols-regex '^cd_.*'
+
+libcolord_gtk2_la_CFLAGS = \
+ $(WARNINGFLAGS_C)
+endif
+
check_PROGRAMS = \
cd-self-test
cd_self_test_SOURCES = \
cd-self-test.c
+cd_self_test_CPPFLAGS = \
+ $(AM_CPPFLAGS) \
+ $(GTK3_CFLAGS)
+
cd_self_test_LDADD = \
$(COLORD_LIBS) \
$(GLIB_LIBS) \
- $(GTK_LIBS) \
- $(lib_LTLIBRARIES)
+ $(GTK3_LIBS) \
+ libcolord-gtk.la
cd_self_test_CFLAGS = $(WARNINGFLAGS_C)
TESTS = cd-self-test
EXTRA_DIST = \
- colord-gtk.pc.in
+ colord-gtk.pc.in \
+ colord-gtk2.pc.in
MAINTAINERCLEANFILES = \
$(noinst_LIBRARIES)
@@ -88,7 +124,7 @@ introspection_sources = \
ColordGtk-1.0.gir: libcolord-gtk.la
ColordGtk_1_0_gir_INCLUDES = GObject-2.0 Gio-2.0 Gtk-3.0 Colord-1.0
-ColordGtk_1_0_gir_CFLAGS = $(INCLUDES)
+ColordGtk_1_0_gir_CFLAGS = $(AM_CPPFLAGS)
ColordGtk_1_0_gir_SCANNERFLAGS = --identifier-prefix=Cd \
--symbol-prefix=cd \
--warn-all \
diff --git a/libcolord-gtk/colord-gtk2.pc.in b/libcolord-gtk/colord-gtk2.pc.in
new file mode 100644
index 0000000..9d0a0eb
--- /dev/null
+++ b/libcolord-gtk/colord-gtk2.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: colord-gtk2
+Description: colord-gtk is GTK2 integration for libcolord
+Version: @VERSION@
+Requires: colord, gtk+-2.0
+Libs: -L${libdir} -lcolord-gtk2
+Cflags: -I${includedir}/colord-1