gstbase: Add gobject-introspection support
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Sat, 5 Sep 2009 07:23:19 +0000 (09:23 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Sat, 5 Sep 2009 08:28:46 +0000 (10:28 +0200)
.gitignore
gst/.gitignore
libs/gst/base/Makefile.am

index a8185755818802a13ce3cc51d89a8b95261e8bcb..ed52bf1fa72f106fab557dd506810657cd90a2c4 100644 (file)
@@ -41,3 +41,5 @@ gst-element-check.m4
 .libs
 *~
 _stdint.h
+*.gir
+*.typelib
index 25cd4c86fc8ae912039aa0575c9f5fe981087b03..606da2b3be788b9d3c805e75e91b3db97bcdb6d8 100644 (file)
@@ -18,5 +18,3 @@ gstconfig.h
 *.gcno
 *.gcov
 *.gcov.out
-*.gir
-*.typelib
index be657a89c12d5acf4d70ba78beb67a7fd8e3beb4..9ac56aba83af788c948b49f334b4b6ebfd81bd39 100644 (file)
@@ -39,3 +39,39 @@ CLEANFILES = *.gcno *.gcda *.gcov
        $(GCOV) -b -f -o $^ > $@.out
 
 gcov: $(libgstbase_@GST_MAJORMINOR@_la_SOURCES:=.gcov)
+
+if HAVE_INTROSPECTION
+BUILT_GIRSOURCES = GstBase-@GST_MAJORMINOR@.gir
+
+gir_headers=$(patsubst %,$(srcdir)/%, $(libgstbase_@GST_MAJORMINOR@include_HEADERS))
+gir_sources=$(patsubst %,$(srcdir)/%, $(libgstbase_@GST_MAJORMINOR@_la_SOURCES))
+gir_cincludes=$(patsubst %,--c-include='gst/base/%',$(libgstbase_@GST_MAJORMINOR@include_HEADERS))
+
+GstBase-@GST_MAJORMINOR@.gir: $(INTROSPECTION_SCANNER) libgstbase-@GST_MAJORMINOR@.la
+       $(INTROSPECTION_SCANNER) -v --namespace GstBase \
+               --nsversion=@GST_MAJORMINOR@ \
+               -I$(top_srcdir) \
+               $(gir_cincludes) \
+               --add-include-path=$(top_srcdir)/gst \
+               --library=gstbase-0.10 \
+               --include=Gst-0.10 \
+               --libtool="$(top_builddir)/libtool" \
+               --pkg gstreamer-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