aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-01-16 16:21:09 -0600
committerTed Gould <ted@canonical.com>2009-01-16 16:21:09 -0600
commitac140d5000a6f6698f5b7d690ba48c877472c054 (patch)
tree464ee8f3babdc7793e4e4f3339d677165b8e5f84
parente83283e29941c9f6e4a0b20cc179c846edf7dc47 (diff)
downloadlibayatana-indicator-ac140d5000a6f6698f5b7d690ba48c877472c054.tar.gz
libayatana-indicator-ac140d5000a6f6698f5b7d690ba48c877472c054.tar.bz2
libayatana-indicator-ac140d5000a6f6698f5b7d690ba48c877472c054.zip
Bringing GObject Introspection into the build and making it so that
it gets installed with the library.
-rw-r--r--configure.ac16
-rw-r--r--debian/control6
-rw-r--r--debian/libindicate.install4
-rw-r--r--libindicate/Makefile.am35
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
+