From ac140d5000a6f6698f5b7d690ba48c877472c054 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Fri, 16 Jan 2009 16:21:09 -0600 Subject: Bringing GObject Introspection into the build and making it so that it gets installed with the library. --- configure.ac | 16 ++++++++++++++++ debian/control | 6 +++++- debian/libindicate.install | 4 +++- libindicate/Makefile.am | 35 +++++++++++++++++++++++++++++++---- 4 files changed, 55 insertions(+), 6 deletions(-) diff --git a/configure.ac b/configure.ac index dc408e3..3ec1ed7 100644 --- a/configure.ac +++ b/configure.ac @@ -53,6 +53,22 @@ PKG_CHECK_MODULES(LIBINDICATE, glib-2.0 >= $GLIB_REQUIRED_VERSION AC_SUBST(LIBINDICATE_CFLAGS) AC_SUBST(LIBINDICATE_LIBS) +# GObject Introspection + +PKG_CHECK_MODULES(GOBJECT_INTROSPECTION, [gobject-introspection-1.0 >= 0.6]) + +G_IR_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` +AC_SUBST(G_IR_SCANNER) +G_IR_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` +AC_SUBST(G_IR_COMPILER) +G_IR_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` +AC_SUBST(G_IR_GENERATE) + +GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` +AC_SUBST(GIRDIR) +TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" +AC_SUBST(TYPELIBDIR) + ########################### # Internationalization ########################### diff --git a/debian/control b/debian/control index c7a7645..bdc2172 100644 --- a/debian/control +++ b/debian/control @@ -10,7 +10,11 @@ Build-Depends: debhelper (>= 5.0), gnome-doc-utils, scrollkeeper, libtool, - intltool + intltool, + gobject-introspection (>= 0.6), + gobject-introspection-glib-2.0 (>= 0.6), + gobject-introspection-repository (>= 0.6), + libgirepository-dev (>= 0.6) Standards-Version: 3.8.0 Package: indicator-applet diff --git a/debian/libindicate.install b/debian/libindicate.install index c31fb18..a83aa8a 100644 --- a/debian/libindicate.install +++ b/debian/libindicate.install @@ -1 +1,3 @@ -debian/tmp/usr/lib/libindicate.so.* usr/lib +debian/tmp/usr/lib/libindicate.so.* +debian/tmp/usr/share/gir/ +debian/tmp/usr/lib/girepository/ diff --git a/libindicate/Makefile.am b/libindicate/Makefile.am index d2a0811..53cb273 100644 --- a/libindicate/Makefile.am +++ b/libindicate/Makefile.am @@ -46,28 +46,55 @@ libindicate_la_LIBADD = \ $(LIBINDICATE_LIBS) dbus-indicate-server.h: indicate-interface.xml - libtool --mode=execute dbus-binding-tool \ + dbus-binding-tool \ --prefix=indicate_server \ --mode=glib-server \ --output=dbus-indicate-server.h \ $(srcdir)/indicate-interface.xml dbus-indicate-client.h: indicate-interface.xml - libtool --mode=execute dbus-binding-tool \ + dbus-binding-tool \ --prefix=indicate_client \ --mode=glib-client \ --output=dbus-indicate-client.h \ $(srcdir)/indicate-interface.xml listener-marshal.h: listener-marshal.list - libtool --mode=execute glib-genmarshal --header \ + glib-genmarshal --header \ --prefix=indicate_listener_marshal $(srcdir)/listener-marshal.list \ > listener-marshal.h listener-marshal.c: listener-marshal.list - libtool --mode=execute glib-genmarshal --body \ + glib-genmarshal --body \ --prefix=indicate_listener_marshal $(srcdir)/listener-marshal.list \ > listener-marshal.c pkgconfig_DATA = indicate.pc pkgconfigdir = $(libdir)/pkgconfig + +gobjectintrospection_gir_DATA = \ + Indicate-0.1.gir +gobjectintrospection_girdir = $(datadir)/gir + +gobjectintrospection_type_DATA = \ + Indicate-0.1.typelib +gobjectintrospection_typedir = $(libdir)/girepository + +irscanner_headers = $(patsubst %,$(srcdir)/%,$(indicate_headers)) +Indicate-0.1.gir: $(irscanner_headers) + $(G_IR_SCANNER) \ + -v --namespace Indicate \ + --nsversion=0.1 \ + --add-include-path=$(srcdir) \ + --include=GObject-2.0 \ + --include=GLib-2.0 \ + --include=DBus-1.0 \ + --include=DBusGLib-1.0 \ + --library=indicate --pkg indicate \ + --output Indicate-0.1.gir $(irscanner_headers) + +Indicate-0.1.typelib: Indicate-0.1.gir + $(G_IR_COMPILER) \ + --includedir=$(srcdir) Indicate-0.1.gir \ + -o Indicate-0.1.typelib + -- cgit v1.2.3