diff options
| author | Carlos Rafael Giani <dv@pseudoterminal.org> | 2018-07-24 12:52:17 +0200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-07-26 13:16:41 +0100 |
| commit | e484aee1b9bd58e89e966be211e789de01735bcc (patch) | |
| tree | cf6edf242256fee9c77f48c47a6968eaee157316 | |
| parent | fe258fb84a15850546f60db474050288c24d95d8 (diff) | |
| download | poky-e484aee1b9bd58e89e966be211e789de01735bcc.tar.gz | |
gstreamer1.0-plugin-base: Update packageconfigs
* Add patches for gbm, libpng, libjpeg to conditionally enable/disable
them in the configure script
* Reorder the packageconfigs alphabetically
(From OE-Core rev: 6e915c47b9626e706e6d0e96399d46ea28f318c6)
Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 files changed, 194 insertions, 9 deletions
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0010-gl-Add-switch-for-explicitely-enabling-disabling-GBM.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0010-gl-Add-switch-for-explicitely-enabling-disabling-GBM.patch new file mode 100644 index 0000000000..45ba50750d --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0010-gl-Add-switch-for-explicitely-enabling-disabling-GBM.patch | |||
| @@ -0,0 +1,70 @@ | |||
| 1 | From a1b59ca6b1781442f37ffc1b697635db126b3a22 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Carlos Rafael Giani <dv@pseudoterminal.org> | ||
| 3 | Date: Thu, 19 Jul 2018 10:30:54 +0200 | ||
| 4 | Subject: [PATCH] gl: Add switch for explicitely enabling/disabling GBM support | ||
| 5 | |||
| 6 | Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=796833] | ||
| 7 | |||
| 8 | Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> | ||
| 9 | --- | ||
| 10 | m4/gst-gl.m4 | 30 ++++++++++++++++++++++++++++-- | ||
| 11 | 1 file changed, 28 insertions(+), 2 deletions(-) | ||
| 12 | |||
| 13 | diff --git a/m4/gst-gl.m4 b/m4/gst-gl.m4 | ||
| 14 | index 1e9724094..aca5295cc 100644 | ||
| 15 | --- a/m4/gst-gl.m4 | ||
| 16 | +++ b/m4/gst-gl.m4 | ||
| 17 | @@ -117,6 +117,15 @@ AC_ARG_ENABLE([dispmanx], | ||
| 18 | *) AC_MSG_ERROR([bad value ${enableval} for --enable-dispmanx]) ;; | ||
| 19 | esac],[NEED_DISPMANX=auto]) | ||
| 20 | |||
| 21 | +AC_ARG_ENABLE([gbm], | ||
| 22 | + [ --enable-gbm Enable Mesa3D GBM support (requires EGL) @<:@default=auto@:>@], | ||
| 23 | + [case "${enableval}" in | ||
| 24 | + yes) NEED_GBM=yes ;; | ||
| 25 | + no) NEED_GBM=no ;; | ||
| 26 | + auto) NEED_GBM=auto ;; | ||
| 27 | + *) AC_MSG_ERROR([bad value ${enableval} for --enable-gbm]) ;; | ||
| 28 | + esac],[NEED_GBM=auto]) | ||
| 29 | + | ||
| 30 | AG_GST_PKG_CHECK_MODULES(X11_XCB, x11-xcb) | ||
| 31 | save_CPPFLAGS="$CPPFLAGS" | ||
| 32 | save_LIBS="$LIBS" | ||
| 33 | @@ -172,15 +181,32 @@ case $host in | ||
| 34 | AC_CHECK_LIB([EGL], [fbGetDisplay], [HAVE_VIV_FB_EGL=yes]) | ||
| 35 | fi | ||
| 36 | |||
| 37 | - if test "x$HAVE_EGL" = "xyes"; then | ||
| 38 | + if test "x$NEED_GBM" != "xno"; then | ||
| 39 | + if test "x$HAVE_EGL" = "xyes"; then | ||
| 40 | PKG_CHECK_MODULES(DRM, libdrm >= 2.4.55, HAVE_DRM=yes, HAVE_DRM=no) | ||
| 41 | AC_SUBST(DRM_CFLAGS) | ||
| 42 | AC_SUBST(DRM_LIBS) | ||
| 43 | + if test "x$NEED_GBM" = "xyes"; then | ||
| 44 | + if test "x$HAVE_DRM" = "xno"; then | ||
| 45 | + AC_MSG_ERROR([GBM support requested but libdrm is not available]) | ||
| 46 | + fi | ||
| 47 | + if test "x$HAVE_GUDEV" = "xno"; then | ||
| 48 | + AC_MSG_ERROR([GBM support requested but gudev is not available]) | ||
| 49 | + fi | ||
| 50 | + fi | ||
| 51 | if test "x$HAVE_DRM" = "xyes" -a "x$HAVE_GUDEV" = "xyes"; then | ||
| 52 | PKG_CHECK_MODULES(GBM, gbm, HAVE_GBM_EGL=yes, HAVE_GBM_EGL=no) | ||
| 53 | + if test "x$HAVE_GBM_EGL" = "xno" -a "x$NEED_GBM" = "xyes"; then | ||
| 54 | + AC_MSG_ERROR([GBM support requested but gbm library is not available]) | ||
| 55 | + fi | ||
| 56 | AC_SUBST(GBM_CFLAGS) | ||
| 57 | AC_SUBST(GBM_LIBS) | ||
| 58 | - fi | ||
| 59 | + fi | ||
| 60 | + elif test "x$NEED_GBM" = "xyes"; then | ||
| 61 | + AC_MSG_ERROR([GBM support requested but EGL is not available]) | ||
| 62 | + else | ||
| 63 | + AC_MSG_NOTICE([GBM support requested but EGL is not available; not enabling GBM support]) | ||
| 64 | + fi | ||
| 65 | fi | ||
| 66 | |||
| 67 | dnl FIXME: Mali EGL depends on GLESv1 or GLESv2 | ||
| 68 | -- | ||
| 69 | 2.17.1 | ||
| 70 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0011-gl-Add-switches-for-explicitely-enabling-disabling-P.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0011-gl-Add-switches-for-explicitely-enabling-disabling-P.patch new file mode 100644 index 0000000000..65d191a396 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0011-gl-Add-switches-for-explicitely-enabling-disabling-P.patch | |||
| @@ -0,0 +1,109 @@ | |||
| 1 | From 092aadfc1df69c46d920b0cd39f98d363d6988b3 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Carlos Rafael Giani <dv@pseudoterminal.org> | ||
| 3 | Date: Thu, 19 Jul 2018 11:16:05 +0200 | ||
| 4 | Subject: [PATCH] gl: Add switches for explicitely enabling/disabling PNG and | ||
| 5 | JPEG support | ||
| 6 | |||
| 7 | Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=796833] | ||
| 8 | |||
| 9 | Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> | ||
| 10 | --- | ||
| 11 | m4/gst-gl.m4 | 66 ++++++++++++++++++++++++++++++++++++---------------- | ||
| 12 | 1 file changed, 46 insertions(+), 20 deletions(-) | ||
| 13 | |||
| 14 | diff --git a/m4/gst-gl.m4 b/m4/gst-gl.m4 | ||
| 15 | index 20b2233de..f8809981c 100644 | ||
| 16 | --- a/m4/gst-gl.m4 | ||
| 17 | +++ b/m4/gst-gl.m4 | ||
| 18 | @@ -126,6 +126,24 @@ AC_ARG_ENABLE([gbm], | ||
| 19 | *) AC_MSG_ERROR([bad value ${enableval} for --enable-gbm]) ;; | ||
| 20 | esac],[NEED_GBM=auto]) | ||
| 21 | |||
| 22 | +AC_ARG_ENABLE([png], | ||
| 23 | + [ --enable-png Enable libpng support @<:@default=auto@:>@], | ||
| 24 | + [case "${enableval}" in | ||
| 25 | + yes) NEED_PNG=yes ;; | ||
| 26 | + no) NEED_PNG=no ;; | ||
| 27 | + auto) NEED_PNG=auto ;; | ||
| 28 | + *) AC_MSG_ERROR([bad value ${enableval} for --enable-png]) ;; | ||
| 29 | + esac],[NEED_PNG=auto]) | ||
| 30 | + | ||
| 31 | +AC_ARG_ENABLE([jpeg], | ||
| 32 | + [ --enable-jpeg Enable libjpeg support @<:@default=auto@:>@], | ||
| 33 | + [case "${enableval}" in | ||
| 34 | + yes) NEED_JPEG=yes ;; | ||
| 35 | + no) NEED_JPEG=no ;; | ||
| 36 | + auto) NEED_JPEG=auto ;; | ||
| 37 | + *) AC_MSG_ERROR([bad value ${enableval} for --enable-jpeg]) ;; | ||
| 38 | + esac],[NEED_JPEG=auto]) | ||
| 39 | + | ||
| 40 | AG_GST_PKG_CHECK_MODULES(X11_XCB, x11-xcb) | ||
| 41 | save_CPPFLAGS="$CPPFLAGS" | ||
| 42 | save_LIBS="$LIBS" | ||
| 43 | @@ -1043,9 +1061,13 @@ dnl Needed by plugins that use g_module_*() API | ||
| 44 | PKG_CHECK_MODULES(GMODULE_NO_EXPORT, gmodule-no-export-2.0) | ||
| 45 | |||
| 46 | dnl libpng is optional | ||
| 47 | -PKG_CHECK_MODULES(LIBPNG, libpng >= 1.0, HAVE_PNG=yes, HAVE_PNG=no) | ||
| 48 | -if test "x$HAVE_PNG" = "xyes"; then | ||
| 49 | - AC_DEFINE(HAVE_PNG, [1] , [Use libpng]) | ||
| 50 | +if test "x$NEED_PNG" != "xno"; then | ||
| 51 | + PKG_CHECK_MODULES(LIBPNG, libpng >= 1.0, HAVE_PNG=yes, HAVE_PNG=no) | ||
| 52 | + if test "x$HAVE_PNG" = "xyes"; then | ||
| 53 | + AC_DEFINE(HAVE_PNG, [1] , [Use libpng]) | ||
| 54 | + elif test "x$NEED_PNG" = "xyes"; then | ||
| 55 | + AC_MSG_ERROR([libpng support requested but libpng is not available]) | ||
| 56 | + fi | ||
| 57 | fi | ||
| 58 | AC_SUBST(HAVE_PNG) | ||
| 59 | AC_SUBST(LIBPNG_LIBS) | ||
| 60 | @@ -1053,25 +1075,29 @@ AC_SUBST(LIBPNG_CFLAGS) | ||
| 61 | |||
| 62 | dnl libjpeg is optional | ||
| 63 | AC_ARG_WITH(jpeg-mmx, [ --with-jpeg-mmx, path to MMX'ified JPEG library]) | ||
| 64 | -OLD_LIBS="$LIBS" | ||
| 65 | -if test x$with_jpeg_mmx != x; then | ||
| 66 | - LIBS="$LIBS -L$with_jpeg_mmx" | ||
| 67 | -fi | ||
| 68 | -AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no") | ||
| 69 | -JPEG_LIBS="$LIBS -ljpeg-mmx" | ||
| 70 | -LIBS="$OLD_LIBS" | ||
| 71 | -if test x$HAVE_JPEG != xyes; then | ||
| 72 | - JPEG_LIBS="-ljpeg" | ||
| 73 | - AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no") | ||
| 74 | -fi | ||
| 75 | +if test "x$NEED_JPEG" != "xno"; then | ||
| 76 | + OLD_LIBS="$LIBS" | ||
| 77 | + if test x$with_jpeg_mmx != x; then | ||
| 78 | + LIBS="$LIBS -L$with_jpeg_mmx" | ||
| 79 | + fi | ||
| 80 | + AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no") | ||
| 81 | + JPEG_LIBS="$LIBS -ljpeg-mmx" | ||
| 82 | + LIBS="$OLD_LIBS" | ||
| 83 | + if test x$HAVE_JPEG != xyes; then | ||
| 84 | + JPEG_LIBS="-ljpeg" | ||
| 85 | + AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no") | ||
| 86 | + fi | ||
| 87 | |||
| 88 | -if test x$HAVE_JPEG = xyes; then | ||
| 89 | - AC_DEFINE(HAVE_JPEG, [1], [Use libjpeg]) | ||
| 90 | -else | ||
| 91 | - JPEG_LIBS= | ||
| 92 | + if test x$HAVE_JPEG = xyes; then | ||
| 93 | + AC_DEFINE(HAVE_JPEG, [1], [Use libjpeg]) | ||
| 94 | + elif test "x$NEED_JPEG" = "xyes"; then | ||
| 95 | + AC_MSG_ERROR([libjpeg support requested but libjpeg is not available]) | ||
| 96 | + else | ||
| 97 | + JPEG_LIBS= | ||
| 98 | + fi | ||
| 99 | + AC_SUBST(JPEG_LIBS) | ||
| 100 | + AC_SUBST(HAVE_JPEG) | ||
| 101 | fi | ||
| 102 | -AC_SUBST(JPEG_LIBS) | ||
| 103 | -AC_SUBST(HAVE_JPEG) | ||
| 104 | ]) | ||
| 105 | |||
| 106 | dnl -------------------------------------------------------------------------- | ||
| 107 | -- | ||
| 108 | 2.17.1 | ||
| 109 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.1.bb index 8d7d3c6192..17f234e1db 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.1.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.1.bb | |||
| @@ -17,6 +17,8 @@ SRC_URI = " \ | |||
| 17 | file://0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch \ | 17 | file://0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch \ |
| 18 | file://0009-glimagesink-Downrank-to-marginal.patch \ | 18 | file://0009-glimagesink-Downrank-to-marginal.patch \ |
| 19 | file://0001-gstreamer-gl.pc.in-don-t-append-GL_CFLAGS-to-CFLAGS.patch \ | 19 | file://0001-gstreamer-gl.pc.in-don-t-append-GL_CFLAGS-to-CFLAGS.patch \ |
| 20 | file://0010-gl-Add-switch-for-explicitely-enabling-disabling-GBM.patch \ | ||
| 21 | file://0011-gl-Add-switches-for-explicitely-enabling-disabling-P.patch \ | ||
| 20 | file://link-with-libvchostif.patch \ | 22 | file://link-with-libvchostif.patch \ |
| 21 | " | 23 | " |
| 22 | SRC_URI[md5sum] = "c42154ab6f85c59f0e449d8d7e290342" | 24 | SRC_URI[md5sum] = "c42154ab6f85c59f0e449d8d7e290342" |
| @@ -30,12 +32,15 @@ inherit gettext | |||
| 30 | 32 | ||
| 31 | PACKAGES_DYNAMIC =+ "^libgst.*" | 33 | PACKAGES_DYNAMIC =+ "^libgst.*" |
| 32 | 34 | ||
| 35 | # opengl packageconfig factored out to make it easy for distros | ||
| 36 | # and BSP layers to pick either (desktop) opengl, gles2, or no GL | ||
| 33 | PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}" | 37 | PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}" |
| 38 | |||
| 34 | PACKAGECONFIG ??= " \ | 39 | PACKAGECONFIG ??= " \ |
| 35 | ${GSTREAMER_ORC} \ | 40 | ${GSTREAMER_ORC} \ |
| 36 | ${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \ | ||
| 37 | gio-unix-2.0 ogg pango theora vorbis zlib jpeg \ | ||
| 38 | ${PACKAGECONFIG_GL} \ | 41 | ${PACKAGECONFIG_GL} \ |
| 42 | ${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \ | ||
| 43 | gio-unix-2.0 jpeg ogg pango png theora vorbis zlib \ | ||
| 39 | ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \ | 44 | ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \ |
| 40 | " | 45 | " |
| 41 | 46 | ||
| @@ -45,26 +50,27 @@ X11DISABLEOPTS = "--disable-x --disable-xvideo --disable-xshm" | |||
| 45 | 50 | ||
| 46 | PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib" | 51 | PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib" |
| 47 | PACKAGECONFIG[cdparanoia] = "--enable-cdparanoia,--disable-cdparanoia,cdparanoia" | 52 | PACKAGECONFIG[cdparanoia] = "--enable-cdparanoia,--disable-cdparanoia,cdparanoia" |
| 53 | PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl" | ||
| 54 | PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/libgbm libgudev libdrm" | ||
| 48 | PACKAGECONFIG[gio-unix-2.0] = "--enable-gio_unix_2_0,--disable-gio_unix_2_0,glib-2.0" | 55 | PACKAGECONFIG[gio-unix-2.0] = "--enable-gio_unix_2_0,--disable-gio_unix_2_0,glib-2.0" |
| 56 | PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2" | ||
| 49 | PACKAGECONFIG[ivorbis] = "--enable-ivorbis,--disable-ivorbis,tremor" | 57 | PACKAGECONFIG[ivorbis] = "--enable-ivorbis,--disable-ivorbis,tremor" |
| 58 | PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg" | ||
| 50 | PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libogg" | 59 | PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libogg" |
| 60 | PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,virtual/libgl libglu" | ||
| 51 | PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus" | 61 | PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus" |
| 52 | PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango" | 62 | PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango" |
| 63 | PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" | ||
| 53 | PACKAGECONFIG[theora] = "--enable-theora,--disable-theora,libtheora" | 64 | PACKAGECONFIG[theora] = "--enable-theora,--disable-theora,libtheora" |
| 54 | PACKAGECONFIG[visual] = "--enable-libvisual,--disable-libvisual,libvisual" | 65 | PACKAGECONFIG[visual] = "--enable-libvisual,--disable-libvisual,libvisual" |
| 55 | PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis" | 66 | PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis" |
| 56 | PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}" | 67 | PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}" |
| 57 | PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib" | ||
| 58 | PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,virtual/libgl libglu" | ||
| 59 | PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2" | ||
| 60 | PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl" | ||
| 61 | PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols libdrm" | 68 | PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols libdrm" |
| 62 | PACKAGECONFIG[jpeg] = ",,jpeg" | 69 | PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib" |
| 63 | 70 | ||
| 71 | FILES_${PN}-dev += "${libdir}/gstreamer-${LIBV}/include/gst/gl/gstglconfig.h" | ||
| 64 | FILES_${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict" | 72 | FILES_${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict" |
| 65 | 73 | ||
| 66 | do_compile_prepend() { | 74 | do_compile_prepend() { |
| 67 | export GIR_EXTRA_LIBS_PATH="${B}/gst-libs/gst/tag/.libs:${B}/gst-libs/gst/video/.libs:${B}/gst-libs/gst/audio/.libs:${B}/gst-libs/gst/rtp/.libs:${B}/gst-libs/gst/allocators/.libs" | 75 | export GIR_EXTRA_LIBS_PATH="${B}/gst-libs/gst/tag/.libs:${B}/gst-libs/gst/video/.libs:${B}/gst-libs/gst/audio/.libs:${B}/gst-libs/gst/rtp/.libs:${B}/gst-libs/gst/allocators/.libs" |
| 68 | } | 76 | } |
| 69 | |||
| 70 | FILES_${PN}-dev += "${libdir}/gstreamer-${LIBV}/include/gst/gl/gstglconfig.h" | ||
