diff options
author | monsta <[email protected]> | 2016-12-01 14:18:33 +0300 |
---|---|---|
committer | monsta <[email protected]> | 2016-12-01 14:18:33 +0300 |
commit | a4dcd9177a32626929783b3920d660782d89bf01 (patch) | |
tree | 14ff25db71978942a5e15d1ee60fbb75f493ccff | |
parent | 346618b16b111afcb8687d301e344e229ce7fa0c (diff) | |
download | pluma-a4dcd9177a32626929783b3920d660782d89bf01.tar.bz2 pluma-a4dcd9177a32626929783b3920d660782d89bf01.tar.xz |
build GObject introspection data
mostly adapted from eom and from this upstream commit:
https://git.gnome.org/browse/gedit/commit/?id=58921206b7dea94d0ec0359dc43de94745f2a19e
-rw-r--r-- | configure.ac | 11 | ||||
-rw-r--r-- | pluma/Makefile.am | 38 | ||||
-rw-r--r-- | pluma/pluma.c | 8 |
3 files changed, 50 insertions, 7 deletions
diff --git a/configure.ac b/configure.ac index 7024575a..6757c498 100644 --- a/configure.ac +++ b/configure.ac @@ -175,6 +175,16 @@ PKG_CHECK_MODULES(EGG_SMCLIENT, [sm >= 1.0.0]) AC_SUBST(EGG_SMCLIENT_CFLAGS) AC_SUBST(EGG_SMCLIENT_LIBS) +# Introspection +GOBJECT_INTROSPECTION_CHECK([0.9.3]) + +if test "$found_introspection" = "yes"; then + have_introspection=yes + AC_DEFINE([HAVE_INTROSPECTION], [1], [Define to enable GObject Introspection]) +else + have_introspection=no +fi + dnl ================================================================ dnl GSettings related settings dnl ================================================================ @@ -268,6 +278,7 @@ Configuration: Compiler: ${CC} Spell Plugin enabled: $enable_enchant Gvfs metadata enabled: $enable_gvfs_metadata + GObject Introspection: ${have_introspection} Tests enabled: $enable_tests " diff --git a/pluma/Makefile.am b/pluma/Makefile.am index 01914351..1173ca7a 100644 --- a/pluma/Makefile.am +++ b/pluma/Makefile.am @@ -11,6 +11,7 @@ AM_CPPFLAGS = \ -I$(srcdir)/smclient \ $(PLUMA_CFLAGS) \ $(WARN_CFLAGS) \ + $(INTROSPECTION_CFLAGS) \ $(DISABLE_DEPRECATED_CFLAGS) \ -DDATADIR=\""$(datadir)"\" \ -DLIBDIR=\""$(libdir)"\" @@ -18,7 +19,7 @@ AM_CPPFLAGS = \ pluma_SOURCES = \ pluma.c -pluma_LDADD = libpluma.la $(PLUMA_LIBS) $(EGG_SMCLIENT_LIBS) +pluma_LDADD = libpluma.la $(PLUMA_LIBS) $(EGG_SMCLIENT_LIBS) $(INTROSPECTION_LIBS) pluma_LDFLAGS = -export-dynamic -no-undefined -export-symbols-regex "^[[^_]].*" @@ -102,11 +103,7 @@ headerdir = $(prefix)/include/pluma header_DATA = \ $(INST_H_FILES) - -libpluma_la_SOURCES = \ - $(BUILT_SOURCES) \ - $(BACON_FILES) \ - $(POSIXIO_FILES) \ +libpluma_c_files = \ pluma-app.c \ pluma-close-button.c \ pluma-commands-documents.c \ @@ -160,7 +157,13 @@ libpluma_la_SOURCES = \ pluma-utils.c \ pluma-view.c \ pluma-window.c \ - plumatextregion.c \ + plumatextregion.c + +libpluma_la_SOURCES = \ + $(libpluma_c_files) \ + $(BUILT_SOURCES) \ + $(BACON_FILES) \ + $(POSIXIO_FILES) \ $(NOINST_H_FILES) \ $(INST_H_FILES) @@ -195,6 +198,27 @@ EXTRA_DIST = \ CLEANFILES = $(BUILT_SOURCES) +if HAVE_INTROSPECTION +-include $(INTROSPECTION_MAKEFILE) +INTROSPECTION_GIRS = Pluma-1.0.gir +INTROSPECTION_SCANNER_ARGS = -I$(top_srcdir) --warn-all + +Pluma-1.0.gir: pluma +Pluma_1_0_gir_INCLUDES = Gtk-3.0 GtkSource-3.0 +Pluma_1_0_gir_FILES = $(INST_H_FILES) $(libpluma_c_files) $(BUILT_SOURCES) +Pluma_1_0_gir_VERSION = 1.0 +Pluma_1_0_gir_PROGRAM = $(builddir)/pluma +Pluma_1_0_gir_NAMESPACE = Pluma + +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 + dist-hook: cd $(distdir); rm -f $(BUILT_SOURCES) diff --git a/pluma/pluma.c b/pluma/pluma.c index 4fb5a752..ef05db8c 100644 --- a/pluma/pluma.c +++ b/pluma/pluma.c @@ -42,6 +42,10 @@ #include <gtk/gtk.h> #include <gdk/gdkx.h> +#ifdef HAVE_INTROSPECTION +#include <girepository.h> +#endif + #include "pluma-app.h" #include "pluma-commands.h" #include "pluma-debug.h" @@ -522,6 +526,10 @@ main (int argc, char *argv[]) g_option_context_add_group (context, gtk_get_option_group (FALSE)); g_option_context_add_group (context, egg_sm_client_get_option_group ()); +#ifdef HAVE_INTROSPECTION + g_option_context_add_group (context, g_irepository_get_option_group ()); +#endif + gtk_init (&argc, &argv); if (!g_option_context_parse (context, &argc, &argv, &error)) |