From e14d364bb38716758e9dfeebd7f453d7be311743 Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Fri, 17 May 2013 16:14:50 +0100 Subject: Provide an optional Gtk2 version of libcolord-gtk --- Makefile.am | 1 + client/Makefile.am | 4 ++-- configure.ac | 14 +++++++++++- contrib/colord-gtk.spec.in | 5 +++++ libcolord-gtk/Makefile.am | 50 +++++++++++++++++++++++++++++++++++------ libcolord-gtk/colord-gtk2.pc.in | 11 +++++++++ 6 files changed, 75 insertions(+), 10 deletions(-) create mode 100644 libcolord-gtk/colord-gtk2.pc.in 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,10 +124,20 @@ 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 --------------------------------------------------------------------------- @@ -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 -- cgit v1.2.1