diff options
author | Christian Persch <chpe@src.gnome.org> | 2009-02-08 13:11:18 (GMT) |
---|---|---|
committer | Christian Persch <chpe@src.gnome.org> | 2009-02-08 13:11:18 (GMT) |
commit | dbedc68c9c3390f4f8c749daa85f685923f20e17 (patch) | |
tree | ea0148a686a68a4a0ce7ed8a97399c61e76eef85 | |
parent | b16d94919e61b0228950073ade43ace80fb1e1b0 (diff) |
Add experimental introspection support. Disabled by default; use
* configure.ac:
* libdocument/Makefile.am:
* libview/Makefile.am: Add experimental introspection support.
Disabled by default; use --enable-introspection to enable it.
Bug #569083.
svn path=/trunk/; revision=3422
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | configure.ac | 36 | ||||
-rw-r--r-- | libdocument/Makefile.am | 43 | ||||
-rw-r--r-- | libview/Makefile.am | 47 |
4 files changed, 134 insertions, 0 deletions
@@ -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 |