[cheese] Add introspection support to build system



commit 54bf60feb4416e979548ad7c264669a92c300f78
Author: Luciana Fujii Pontello <luciana fujii eti br>
Date:   Tue Feb 22 18:55:33 2011 -0300

    Add introspection support to build system

 Makefile.am           |    5 +++--
 configure.ac          |    4 +++-
 libcheese/Makefile.am |   34 ++++++++++++++++++++++++++++++++++
 3 files changed, 40 insertions(+), 3 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index a029c14..0b3c27d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -5,12 +5,13 @@ SUBDIRS = libcheese src tests po data help docs
 EXTRA_DIST =			\
 	$(cheesedoc_DATA)	\
 	gnome-doc-utils.make\
-	ChangeLog.pre-git
+	ChangeLog.pre-git \
+	m4/introspection.m4
 
 DISTCLEANFILES =		\
 	gnome-doc-utils.make
 
-DISTCHECK_CONFIGURE_FLAGS = --disable-schemas-install --disable-scrollkeeper --enable-gtk-doc
+DISTCHECK_CONFIGURE_FLAGS = --disable-schemas-install --disable-scrollkeeper --enable-gtk-doc --enable-introspection
 
 CHANGELOG_START = 2.26.0
 
diff --git a/configure.ac b/configure.ac
index 1430df2..e64599b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10,7 +10,7 @@ AC_CONFIG_HEADERS([cheese-config.h])
 AC_CONFIG_SRCDIR([configure.ac])
 AC_CONFIG_MACRO_DIR([m4])
 
-AM_INIT_AUTOMAKE([1.11 -Wall])
+AM_INIT_AUTOMAKE([1.11 -Wall -Wno-portability])
 AM_MAINTAINER_MODE([enable])
 
 # Check for programs
@@ -171,6 +171,8 @@ GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
 AC_SUBST(GLIB_GENMARSHAL)
 AC_SUBST(GLIB_MKENUMS)
 
+GOBJECT_INTROSPECTION_CHECK([0.6.7])
+
 # API documentation
 GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
 
diff --git a/libcheese/Makefile.am b/libcheese/Makefile.am
index d96b2d7..675f296 100644
--- a/libcheese/Makefile.am
+++ b/libcheese/Makefile.am
@@ -77,3 +77,37 @@ libcheese_gtk_la_LDFLAGS = \
 	-export-symbols $(srcdir)/cheese-gtk.symbols	\
 	-no-undefined					\
 	$(AM_LDFLAGS)
+
+-include $(INTROSPECTION_MAKEFILE)
+INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir) \
+	--warn-all
+INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
+introspection_sources = $(libcheese_la_SOURCES) \
+	cheese-marshal.h \
+	cheese-enum-types.h
+
+if HAVE_INTROSPECTION
+INTROSPECTION_GIRS = Cheese-1.0.gir
+
+Cheese-1.0.gir: libcheese.la
+Cheese_1_0_gir_INCLUDES = GObject-2.0 \
+	GLib-2.0 \
+	Gst-0.10 \
+	GstBase-0.10 \
+	cairo-1.0 \
+	Clutter-1.0 \
+	GdkPixbuf-2.0
+Cheese_1_0_gir_CFLAGS = $(INCLUDES) \
+	$(CHEESE_CFLAGS)
+Cheese_1_0_gir_LIBS = libcheese.la
+Cheese_1_0_gir_FILES = $(introspection_sources)
+Cheese_1_0_gir_SCANNERFLAGS = --verbose --warn-all --pkg-export cheese-1.0
+
+girdir = $(datadir)/gir-1.0
+gir_DATA = $(INTROSPECTION_GIRS)
+
+typelibdir = $(libdir)/girepository-1.0
+typelib_DATA = Cheese-1.0.typelib
+
+CLEANFILES += $(gir_DATA) $(typelib_DATA)
+endif



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]