Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--configure.ac36
-rw-r--r--libdocument/Makefile.am43
-rw-r--r--libview/Makefile.am47
4 files changed, 134 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index f6a1829..05cdf41 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2009-02-08 Christian Persch <chpe@gnome.org>
+ * configure.ac:
+ * libdocument/Makefile.am:
+ * libview/Makefile.am: Add experimental introspection support.
+ Disabled by default; use --enable-introspection to enable it.
+ Bug #569083.
+
+2009-02-08 Christian Persch <chpe@gnome.org>
+
* libview/Makefile.am: Link libevdocument.la to libevview.la.
2009-02-05 Christian Persch <chpe@gnome.org>
diff --git a/configure.ac b/configure.ac
index e66b125..435e0c0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -267,6 +267,41 @@ if test "x$GCONFTOOL" = "xno"; then
AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
fi
+# ***
+# GIR
+# ***
+
+AC_MSG_CHECKING([whether GObject introspection is requested])
+AC_ARG_ENABLE([introspection],
+ AS_HELP_STRING([--enable-introspection],[Enable GObject introspection]),
+ [],[enable_introspection=no])
+AC_MSG_RESULT([$enable_introspection])
+
+G_IR_SCANNER=
+G_IR_COMPILER=
+G_IR_GENERATE=
+GIRDIR=
+GIRTYPELIBDIR=
+
+if test "$enable_introspection" = "yes"; then
+ GOBJECT_INTROSPECTION_REQUIRED=0.6
+ PKG_CHECK_MODULES([GOBJECT_INTROSPECTION],[gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_REQUIRED])
+
+ G_IR_SCANNER="$($PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0)"
+ G_IR_COMPILER="$($PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0)"
+ G_IR_GENERATE="$($PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0)"
+ GIRDIR="$($PKG_CONFIG --variable=girdir gobject-introspection-1.0)"
+ GIRTYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
+fi
+
+AC_SUBST([G_IR_SCANNER])
+AC_SUBST([G_IR_COMPILER])
+AC_SUBST([G_IR_GENERATE])
+AC_SUBST([GIRDIR])
+AC_SUBST([GIRTYPELIBDIR])
+
+AM_CONDITIONAL([ENABLE_INTROSPECTION],[test "$enable_introspection" = "yes"])
+
dnl ================== portability checks ===========================================
dnl for backtrace()
@@ -574,6 +609,7 @@ Configure summary:
Thumbnailer........: $ENABLE_THUMBNAILER
Gtk-Doc Support....: $enable_gtk_doc
Debug mode.........: $enable_debug
+ GObj. Introspection: $enable_introspection
PDF Backend........: $enable_pdf
PostScript Backend.: $enable_ps
diff --git a/libdocument/Makefile.am b/libdocument/Makefile.am
index 6eab585..ffbe19d 100644
--- a/libdocument/Makefile.am
+++ b/libdocument/Makefile.am
@@ -119,3 +119,46 @@ ev-document-type-builtins.c: ev-document-type-builtins.c.template $(INST_H_FILES
EXTRA_DIST = \
ev-document-type-builtins.c.template \
ev-document-type-builtins.h.template
+
+# GObject Introspection
+
+if ENABLE_INTROSPECTION
+
+EvDocument-$(EV_API_VERSION).gir: libevdocument.la Makefile $(INST_H_FILES)
+ PKG_CONFIG_PATH=$(top_builddir):$$PKG_CONFIG_PATH \
+ $(G_IR_SCANNER) -v --namespace EvDocument \
+ --add-include-path=$(srcdir) \
+ --add-include-path=. \
+ --strip-prefix=Ev \
+ --nsversion=$(EV_API_VERSION) \
+ --include=Gio-2.0 \
+ --include=Gtk-2.0 \
+ --library=evdocument \
+ --libtool="$(LIBTOOL)" \
+ --output $@ \
+ --pkg gobject-2.0 \
+ --pkg gio-2.0 \
+ --pkg gtk+-2.0 \
+ --pkg evince-document-$(EV_API_VERSION) \
+ -I$(top_srcdir) \
+ -I$(top_builddir) \
+ -DEVINCE_COMPILATION \
+ $(INST_H_FILES)
+
+girdir = $(GIRDIR)
+gir_DATA = EvDocument-$(EV_API_VERSION).gir
+
+typelibsdir = $(GIRTYPELIBDIR)
+typelibs_DATA = EvDocument-$(EV_API_VERSION).typelib
+
+EXTRA_DIST += $(gir_DATA)
+CLEANFILES += $(gir_DATA) $(typelibs_DATA)
+
+%.typelib: %.gir
+ LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}. $(G_IR_COMPILER) \
+ --includedir=$(srcdir) \
+ --includedir=. \
+ $(G_IR_COMPILER_OPTS) \
+ $< -o $@
+
+endif # ENABLE_INTROSPECTION
diff --git a/libview/Makefile.am b/libview/Makefile.am
index d11818f..9da4927 100644
--- a/libview/Makefile.am
+++ b/libview/Makefile.am
@@ -89,3 +89,50 @@ EXTRA_DIST = \
ev-view-type-builtins.c.template \
ev-view-type-builtins.h.template \
ev-view-marshal.list
+
+# GObject Introspection
+
+if ENABLE_INTROSPECTION
+
+EvView-$(EV_API_VERSION).gir: libevview.la Makefile $(INST_H_FILES)
+ PKG_CONFIG_PATH=$(top_builddir):$$PKG_CONFIG_PATH \
+ $(G_IR_SCANNER) -v --namespace EvView \
+ --add-include-path=$(srcdir) \
+ --add-include-path=. \
+ --add-include-path=$(top_srcdir) \
+ --add-include-path=$(top_builddir) \
+ --add-include-path=$(top_builddir)/libdocument \
+ --strip-prefix=Ev \
+ --nsversion=$(EV_API_VERSION) \
+ --include=Gio-2.0 \
+ --include=Gtk-2.0 \
+ --include=EvDocument-$(EV_API_VERSION) \
+ --library=evview \
+ --libtool="$(LIBTOOL)" \
+ --output $@ \
+ --pkg gobject-2.0 \
+ --pkg gio-2.0 \
+ --pkg gtk+-2.0 \
+ --pkg evince-view-$(EV_API_VERSION) \
+ -I$(top_srcdir) \
+ -I$(top_builddir) \
+ -DEVINCE_COMPILATION \
+ $(INST_H_FILES)
+
+girdir = $(GIRDIR)
+gir_DATA = EvView-$(EV_API_VERSION).gir
+
+typelibsdir = $(GIRTYPELIBDIR)
+typelibs_DATA = EvView-$(EV_API_VERSION).typelib
+
+EXTRA_DIST += $(gir_DATA)
+CLEANFILES += $(gir_DATA) $(typelibs_DATA)
+
+%.typelib: %.gir
+ LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}. $(G_IR_COMPILER) \
+ --includedir=$(srcdir) \
+ --includedir=$(top_builddir)/libdocument \
+ $(G_IR_COMPILER_OPTS) \
+ $< -o $@
+
+endif # ENABLE_INTROSPECTION