From 628a849ff14e165b8c00c6649d042225f5a35732 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Thu, 11 Aug 2016 17:21:55 +0300 Subject: gstreamer1.0: enable gtk-doc support check support is no longer disabled by default because it is a requirement of gtk-doc support in gstreamer. Signed-off-by: Alexander Kanavin --- .../gstreamer/gstreamer1.0-libav.inc | 2 +- meta/recipes-multimedia/gstreamer/gstreamer1.0-omx.inc | 2 +- .../gstreamer/gstreamer1.0-plugins.inc | 16 ++++++++++++++-- .../gstreamer/gstreamer1.0-rtsp-server.inc | 14 ++++++++++++-- meta/recipes-multimedia/gstreamer/gstreamer1.0.inc | 18 ++++++++++++++---- 5 files changed, 42 insertions(+), 10 deletions(-) (limited to 'meta') diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav.inc index 363101e1a4..b24de6258e 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav.inc +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav.inc @@ -7,7 +7,7 @@ LICENSE_FLAGS = "commercial" DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base zlib bzip2 xz" -inherit autotools pkgconfig upstream-version-is-even +inherit autotools pkgconfig upstream-version-is-even gtk-doc # CAUTION: Using the system libav is not recommended. Since the libav API is changing all the time, # compilation errors (and other, more subtle bugs) can happen. It is usually better to rely on the diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx.inc index aa3e8200f2..644b2cd78b 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx.inc +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx.inc @@ -7,7 +7,7 @@ LICENSE_FLAGS = "commercial" DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" -inherit autotools pkgconfig gettext +inherit autotools pkgconfig gettext gtk-doc acpaths = "-I ${S}/common/m4 -I ${S}/m4" diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc index 2dcec509d9..5a61ca0ecc 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc @@ -5,7 +5,7 @@ SECTION = "multimedia" DEPENDS = "gstreamer1.0 glib-2.0-native" -inherit autotools pkgconfig upstream-version-is-even gobject-introspection +inherit autotools pkgconfig upstream-version-is-even gobject-introspection gtk-doc acpaths = "-I ${S}/common/m4 -I ${S}/m4" @@ -35,6 +35,18 @@ delete_pkg_m4_file() { rm "${S}/common/m4/pkg.m4" || true } -do_configure[prefuncs] += " delete_pkg_m4_file" +# gstreamer is not using system-wide makefiles (which we patch in gtkdoc recipe, +# but its own custom ones, which we have to patch here +patch_gtk_doc_makefiles() { + # Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient binaries + # instead of libtool wrapper or running them directly + # Also substitute a bogus plugin scanner, as trying to run the real one is causing issues during build on x86_64. + sed -i \ + -e "s|GTKDOC_RUN =.*|GTKDOC_RUN = \$(top_builddir)/gtkdoc-qemuwrapper|" \ + -e "s|\$(GTKDOC_EXTRA_ENVIRONMENT)|\$(GTKDOC_EXTRA_ENVIRONMENT) GST_PLUGIN_SCANNER_1_0=\$(top_builddir)/libs/gst/helpers/gst-plugin-scanner-dummy|" \ + ${S}/common/gtk-doc*mak +} + +do_configure[prefuncs] += " delete_pkg_m4_file patch_gtk_doc_makefiles" PACKAGES_DYNAMIC = "^${PN}-.*" diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server.inc index 8fc90f1d26..13ba40d3da 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server.inc +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server.inc @@ -13,7 +13,7 @@ SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz S = "${WORKDIR}/${PNREAL}-${PV}" -inherit autotools pkgconfig upstream-version-is-even gobject-introspection +inherit autotools pkgconfig upstream-version-is-even gobject-introspection gtk-doc # Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well LIBV = "1.0" @@ -24,5 +24,15 @@ delete_pkg_m4_file() { rm "${S}/common/m4/pkg.m4" || true } -do_configure[prefuncs] += " delete_pkg_m4_file" +# gstreamer is not using system-wide makefiles (which we patch in gtkdoc recipe, +# but its own custom ones, which we have to patch here +patch_gtk_doc_makefiles() { + # Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient binaries + # instead of libtool wrapper or running them directly + sed -i \ + -e "s|GTKDOC_RUN =.*|GTKDOC_RUN = \$(top_builddir)/gtkdoc-qemuwrapper|" \ + ${S}/common/gtk-doc*mak +} + +do_configure[prefuncs] += " delete_pkg_m4_file patch_gtk_doc_makefiles" diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0.inc index 86ac10c84e..e6bd2dd5b2 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0.inc +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0.inc @@ -8,7 +8,7 @@ LICENSE = "LGPLv2+" DEPENDS = "glib-2.0 glib-2.0-native libcap libxml2 bison-native flex-native" -inherit autotools pkgconfig gettext upstream-version-is-even gobject-introspection +inherit autotools pkgconfig gettext upstream-version-is-even gobject-introspection gtk-doc # This way common/m4/introspection.m4 will come first # (it has a custom INTROSPECTION_INIT macro, and so must be used instead of our common introspection.m4 file) @@ -20,7 +20,6 @@ SRC_URI_append = " \ PACKAGECONFIG ??= "" -PACKAGECONFIG[check] = "--enable-check,--disable-check" PACKAGECONFIG[debug] = "--enable-debug,--disable-debug" PACKAGECONFIG[tests] = "--enable-tests,--disable-tests" PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind," @@ -31,7 +30,6 @@ EXTRA_OECONF = " \ --disable-dependency-tracking \ --disable-docbook \ --disable-examples \ - --disable-gtk-doc \ " CACHED_CONFIGUREVARS += "ac_cv_header_valgrind_valgrind_h=no" @@ -53,7 +51,19 @@ delete_pkg_m4_file() { rm "${S}/common/m4/pkg.m4" || true } -do_configure[prefuncs] += " delete_pkg_m4_file" +# gstreamer is not using system-wide makefiles (which we patch in gtkdoc recipe, +# but its own custom ones, which we have to patch here +patch_gtk_doc_makefiles() { + # Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient binaries + # instead of libtool wrapper or running them directly + # Also substitute a bogus plugin scanner, as trying to run the real one is causing issues during build on x86_64. + sed -i \ + -e "s|GTKDOC_RUN =.*|GTKDOC_RUN = \$(top_builddir)/gtkdoc-qemuwrapper|" \ + -e "s|\$(GTKDOC_EXTRA_ENVIRONMENT)|\$(GTKDOC_EXTRA_ENVIRONMENT) GST_PLUGIN_SCANNER_1_0=\$(top_builddir)/libs/gst/helpers/gst-plugin-scanner-dummy|" \ + ${S}/common/gtk-doc*mak +} + +do_configure[prefuncs] += " delete_pkg_m4_file patch_gtk_doc_makefiles" do_compile_prepend() { export GIR_EXTRA_LIBS_PATH="${B}/gst/.libs:${B}/libs/gst/base/.libs" -- cgit v1.2.3