validate: Add GObject Introspection support

This commit is contained in:
Thibault Saunier 2014-06-11 09:23:11 +02:00 committed by Thibault Saunier
parent 4fd1939b21
commit 45ffbdec07

View file

@ -18,12 +18,9 @@ libgstvalidate_@GST_API_VERSION@_la_SOURCES = \
validate.c
libgstvalidate_@GST_API_VERSION@include_HEADERS = \
validate.h \
gettext.h \
validate.h \
gst-validate-bin-monitor.h \
gst-validate-element-monitor.h \
gst-validate-i18n-lib.h \
gst-validate-internal.h \
gst-validate-monitor-factory.h \
gst-validate-monitor.h \
gst-validate-override.h \
@ -34,10 +31,15 @@ libgstvalidate_@GST_API_VERSION@include_HEADERS = \
gst-validate-runner.h \
gst-validate-scenario.h \
gst-validate-utils.h \
gst-validate-media-info.h
noinst_HEADERS = \
gettext.h \
gst-validate-i18n-lib.h \
media-descriptor.h \
media-descriptor-writer.h \
media-descriptor-parser.h \
gst-validate-media-info.h
gst-validate-internal.h \
media-descriptor-parser.h
lib_LTLIBRARIES = libgstvalidate-@GST_API_VERSION@.la
@ -52,3 +54,64 @@ libgstvalidate_@GST_API_VERSION@_la_LIBADD = \
libgstvalidate_@GST_API_VERSION@includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/validate
CLEANFILES =
if HAVE_INTROSPECTION
BUILT_GIRSOURCES = GstValidate-@GST_API_VERSION@.gir
gir_headers=$(patsubst %,$(srcdir)/%, $(libgstvalidate_@GST_API_VERSION@include_HEADERS))
gir_headers+=$(patsubst %,$(builddir)/%, $(built_header_make))
gir_sources=$(patsubst %,$(srcdir)/%, $(libgstvalidate_@GST_API_VERSION@_la_SOURCES))
gir_sources+=$(patsubst %,$(builddir)/%, $(built_source_make))
gir_cincludes=$(patsubst %,--c-include='gst/validate/%',$(libgstvalidate@GST_API_VERSION@include_HEADERS))
GstValidate-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvalidate-@GST_API_VERSION@.la
$(INTROSPECTION_SCANNER) -v --namespace GstValidate \
--nsversion=@GST_API_VERSION@ \
--warn-all \
$(gir_cincludes) \
-I$(top_srcdir) \
-I$(top_builddir) \
--library=libgstvalidate-@GST_API_VERSION@.la \
--include=GLib-2.0 \
--include=GstVideo-@GST_API_VERSION@ \
--include=GstPbutils-@GST_API_VERSION@ \
--include=GObject-2.0 \
--include=GModule-2.0 \
--include=GLib-2.0 \
--libtool="${LIBTOOL}" \
--pkg gstreamer-@GST_API_VERSION@ \
--pkg gstreamer-pbutils-@GST_API_VERSION@ \
--pkg gstreamer-controller-@GST_API_VERSION@ \
--pkg glib-2.0 \
--pkg gobject-2.0 \
--pkg-export gstvalidate-@GST_API_VERSION@ \
--add-init-section="gst_init(NULL, NULL);" \
--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)
$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
$(INTROSPECTION_COMPILER) \
--includedir=$(srcdir) \
--includedir=$(srcdir)/../video \
--includedir=$(builddir) \
--includedir=`$(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--includedir=`$(PKG_CONFIG) --variable=girdir gstreamer-pbutils-@GST_API_VERSION@` \
--includedir=`$(PKG_CONFIG) --variable=girdir gstreamer-video-@GST_API_VERSION@` \
--includedir=`$(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
--includedir=`$(PKG_CONFIG) --variable=girdir gstreamer-controller-@GST_API_VERSION@` \
--includedir=`$(PKG_CONFIG) --variable=girdir gio-2.0` \
$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
endif
CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)