app: Add gobject-introspection support
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Sat, 5 Sep 2009 08:40:21 +0000 (10:40 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Sat, 5 Sep 2009 09:09:28 +0000 (11:09 +0200)
configure.ac
gst-libs/gst/app/Makefile.am

index 8de1db5..3fbd1d9 100644 (file)
@@ -134,6 +134,9 @@ AM_PROG_CC_C_O
 AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
 AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
 
+dnl check for gobject-introspection
+GOBJECT_INTROSPECTION_CHECK([0.6.3])
+
 dnl check for documentation tools
 GTK_DOC_CHECK([1.3])
 AS_PATH_PYTHON([2.1])
index 9a8ca61..dc3f1d2 100644 (file)
@@ -30,3 +30,40 @@ CLEANFILES = $(BUILT_SOURCES)
 
 EXTRA_DIST = gstapp-marshal.list
 
+if HAVE_INTROSPECTION
+BUILT_GIRSOURCES = GstApp-@GST_MAJORMINOR@.gir
+
+gir_headers=$(patsubst %,$(srcdir)/%, $(libgstapp_@GST_MAJORMINOR@include_HEADERS))
+gir_sources=$(patsubst %,$(srcdir)/%, $(libgstapp_@GST_MAJORMINOR@_la_SOURCES))
+gir_cincludes=$(patsubst %,--c-include='gst/app/%',$(libgstapp_@GST_MAJORMINOR@include_HEADERS))
+
+GstApp-@GST_MAJORMINOR@.gir: $(INTROSPECTION_SCANNER) libgstapp-@GST_MAJORMINOR@.la
+       $(INTROSPECTION_SCANNER) -v --namespace GstApp \
+               --nsversion=@GST_MAJORMINOR@ \
+               $(gir_cincludes) \
+               --add-include-path=`$(PKG_CONFIG) --variable=libdir gstreamer-0.10`/gst \
+               --add-include-path=`$(PKG_CONFIG) --variable=libdir gstreamer-base-0.10` \
+               --library=gstapp-0.10 \
+               --include=Gst-0.10 \
+               --include=GstBase-0.10 \
+               --libtool="$(top_builddir)/libtool" \
+               --pkg gstreamer-0.10 \
+               --pkg gstreamer-base-0.10 \
+               --output $@ \
+               $(gir_headers) \
+               $(gir_sources)
+
+# INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
+# install anything - we need to install inside our prefix.
+girdir = $(datadir)/gir-1.0
+gir_DATA = $(BUILT_GIRSOURCES)
+
+typelibsdir = $(libdir)/girepository-1.0/
+
+typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
+
+%.typelib: %.gir $(INTROSPECTION_COMPILER)
+       $(INTROSPECTION_COMPILER) --includedir=$(srcdir) --includedir=$(builddir) $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
+
+CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
+endif