From aeedf7abe0f78833f83f70789a28338a06f61e5a Mon Sep 17 00:00:00 2001 From: Eric Koegel Date: Sat, 22 Aug 2015 08:41:39 +0300 Subject: [PATCH] Add GObject Introspection support GObject introspection allows other language bindings to read this metadata that's now generated and automatically provide bindings to call into the libxfce4util at runtime. For more info see: https://wiki.gnome.org/Projects/GObjectIntrospection/ --- configure.ac.in | 5 +++++ docs/tmpl/xfce-miscutils.sgml | 4 ++-- libxfce4util/Makefile.am | 31 ++++++++++++++++++++++++++++++- 3 files changed, 37 insertions(+), 3 deletions(-) diff --git a/configure.ac.in b/configure.ac.in index 552d11c..8147436 100644 --- a/configure.ac.in +++ b/configure.ac.in @@ -117,6 +117,11 @@ dnl *** Check for GLib installed *** dnl ******************************** XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.24.0]) +dnl ******************************** +dnl *** Check for Introspection *** +dnl ******************************** +GOBJECT_INTROSPECTION_CHECK([1.38.0]) + dnl ************************* dnl *** Check for gtk-doc *** dnl ************************* diff --git a/docs/tmpl/xfce-miscutils.sgml b/docs/tmpl/xfce-miscutils.sgml index d68b134..ab43d90 100644 --- a/docs/tmpl/xfce-miscutils.sgml +++ b/docs/tmpl/xfce-miscutils.sgml @@ -52,7 +52,7 @@ path of the current user's home directory. @buffer: @length: @format: -@Varargs: +@...: @Returns: @@ -87,7 +87,7 @@ formed by a NULL terminated list of path components. @buffer: @length: @format: -@Varargs: +@...: @Returns: diff --git a/libxfce4util/Makefile.am b/libxfce4util/Makefile.am index 9ea0f9b..87c881a 100644 --- a/libxfce4util/Makefile.am +++ b/libxfce4util/Makefile.am @@ -1,5 +1,7 @@ # $Id$ +CLEANFILES = + AM_CPPFLAGS = \ -I$(top_srcdir) \ -DDEFAULT_XDG_CACHE_HOME=\"~/.cache\" \ @@ -77,6 +79,33 @@ libxfce4util_la_LIBADD = \ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libxfce4util-1.0.pc +-include $(INTROSPECTION_MAKEFILE) +INTROSPECTION_GIRS = libxfce4util_1_0_gir +INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir) --warn-all +INTROSPECTION_COMPILER_ARGS = + +if HAVE_INTROSPECTION +introspection_sources = $(libxfce4util_la_SOURCES) + +libxfce4util-1.0.gir: libxfce4util.la +libxfce4util_1_0_gir_INCLUDES = GObject-2.0 +libxfce4util_1_0_gir_CFLAGS = $(AM_CPPFLAGS) +libxfce4util_1_0_gir_PACKAGES = +libxfce4util_1_0_gir_LIBS = libxfce4util.la +libxfce4util_1_0_gir_FILES = $(introspection_sources) +libxfce4util_1_0_gir_NAMESPACE = libxfce4util +INTROSPECTION_GIRS += libxfce4util-1.0.gir + +girdir = $(datadir)/gir-1.0 +gir_DATA = $(INTROSPECTION_GIRS) + +typelibdir = $(libdir)/girepository-1.0 +typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib) + +CLEANFILES += \ + $(gir_DATA) \ + $(typelib_DATA) +endif ## ## Rules to auto-generate built sources @@ -88,7 +117,7 @@ pkgconfig_DATA = libxfce4util-1.0.pc ## files as part of the dist tarball. ## if MAINTAINER_MODE -CLEANFILES = \ +CLEANFILES += \ actual-abi \ expected-abi -- 2.5.0