gstreamer/gst-libs/gst/app/Makefile.am
Tim-Philipp Müller b61b83376a introspection: set PKG_CONFIG_PATH so that our in-tree libs come first when calling scanner
When calling gobject-introspection scanner, make sure our own
freshly-built libs within the source tree (well, build dir) come
first in the PKG_CONFIG_PATH. May or may not help to make sure
that it doesn't pick up older external plugins-base libs (or
.gir files) from outside the source tree / build directory as
dependencies of the introspected lib instead of using the
stuff we just built in a sibling directory.

https://bugzilla.gnome.org/show_bug.cgi?id=623698
2010-08-14 19:11:48 +01:00

80 lines
2.8 KiB
Makefile

lib_LTLIBRARIES = libgstapp-@GST_MAJORMINOR@.la
glib_enum_define = GST_APP
glib_gen_prefix = __gst_app
glib_gen_basename = gstapp
include $(top_srcdir)/common/gst-glib-gen.mak
built_sources = gstapp-marshal.c
built_headers = gstapp-marshal.h
BUILT_SOURCES = $(built_sources) $(built_headers)
nodist_libgstapp_@GST_MAJORMINOR@_la_SOURCES = \
$(built_sources)
libgstapp_@GST_MAJORMINOR@_la_SOURCES = gstappsrc.c gstappbuffer.c gstappsink.c
libgstapp_@GST_MAJORMINOR@_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) \
$(GST_BASE_CFLAGS) $(GST_CFLAGS)
libgstapp_@GST_MAJORMINOR@_la_LIBADD = $(GST_BASE_LIBS)
libgstapp_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
libgstapp_@GST_MAJORMINOR@_la_LIBTOOLFLAGS = --tag=disable-static
libgstapp_@GST_MAJORMINOR@includedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/app
libgstapp_@GST_MAJORMINOR@include_HEADERS = \
gstappsrc.h \
gstappbuffer.h \
gstappsink.h
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_sources+=$(patsubst %,$(builddir)/%, $(nodist_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
$(AM_V_GEN)PKG_CONFIG_PATH="$(top_builddir)/pkgconfig:$(PKG_CONFIG_PATH)" \
$(INTROSPECTION_SCANNER) -v --namespace GstApp \
--nsversion=@GST_MAJORMINOR@ \
--strip-prefix=Gst \
$(gir_cincludes) \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
--add-include-path=`$(PKG_CONFIG) --variable=girdir gstreamer-0.10` \
--add-include-path=`$(PKG_CONFIG) --variable=girdir gstreamer-base-0.10` \
--library=libgstapp-0.10.la \
--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)
$(AM_V_GEN)$(INTROSPECTION_COMPILER) \
--includedir=$(srcdir) \
--includedir=$(builddir) \
--includedir=`$(PKG_CONFIG) --variable=girdir gstreamer-0.10` \
--includedir=`$(PKG_CONFIG) --variable=girdir gstreamer-base-0.10` \
$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
endif