* [meta-oe][PATCH v3 2/4] opencv: Add 'libv4l' PACKAGECONFIG
2015-07-22 19:47 [meta-oe][PATCH v3 1/4] opencv: Only enable 'libav' support if commercial license is whitelisted Otavio Salvador
@ 2015-07-22 19:47 ` Otavio Salvador
2015-07-23 11:23 ` Gary Thomas
2015-07-22 19:47 ` [meta-oe][PATCH v3 3/4] glmark2: Convert recipe to fetch from Git Otavio Salvador
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ messages in thread
From: Otavio Salvador @ 2015-07-22 19:47 UTC (permalink / raw)
To: Meta-OpenEmbedded Mailing listing; +Cc: Otavio Salvador
The i.MX SoCs need to allow the removal of libv4l support so a new
PACKAGECONFIG option has been included.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
meta-oe/recipes-support/opencv/opencv_2.4.bb | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meta-oe/recipes-support/opencv/opencv_2.4.bb b/meta-oe/recipes-support/opencv/opencv_2.4.bb
index f8946f4..75441fd 100644
--- a/meta-oe/recipes-support/opencv/opencv_2.4.bb
+++ b/meta-oe/recipes-support/opencv/opencv_2.4.bb
@@ -30,7 +30,7 @@ EXTRA_OECMAKE = "-DPYTHON_NUMPY_INCLUDE_DIR:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}
${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
"
-PACKAGECONFIG ??= "eigen jpeg png tiff v4l \
+PACKAGECONFIG ??= "eigen jpeg png tiff v4l libv4l \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \
${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}"
PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen,"
@@ -40,6 +40,7 @@ PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
+PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils,"
PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper,"
inherit distutils-base pkgconfig cmake
--
2.4.6
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [meta-oe][PATCH v3 2/4] opencv: Add 'libv4l' PACKAGECONFIG
2015-07-22 19:47 ` [meta-oe][PATCH v3 2/4] opencv: Add 'libv4l' PACKAGECONFIG Otavio Salvador
@ 2015-07-23 11:23 ` Gary Thomas
2015-07-23 12:42 ` Otavio Salvador
0 siblings, 1 reply; 8+ messages in thread
From: Gary Thomas @ 2015-07-23 11:23 UTC (permalink / raw)
To: openembedded-devel
On 2015-07-22 13:47, Otavio Salvador wrote:
> The i.MX SoCs need to allow the removal of libv4l support so a new
> PACKAGECONFIG option has been included.
>
> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Acked-by: Gary Thomas <gary@mlbassoc.com>
BTW, this change allows all my cameras on my i.MX6 (TVIN, OV5640_mipi, Webcam)
to work with OpenCV :-)
> ---
> meta-oe/recipes-support/opencv/opencv_2.4.bb | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/meta-oe/recipes-support/opencv/opencv_2.4.bb b/meta-oe/recipes-support/opencv/opencv_2.4.bb
> index f8946f4..75441fd 100644
> --- a/meta-oe/recipes-support/opencv/opencv_2.4.bb
> +++ b/meta-oe/recipes-support/opencv/opencv_2.4.bb
> @@ -30,7 +30,7 @@ EXTRA_OECMAKE = "-DPYTHON_NUMPY_INCLUDE_DIR:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}
> ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
> "
>
> -PACKAGECONFIG ??= "eigen jpeg png tiff v4l \
> +PACKAGECONFIG ??= "eigen jpeg png tiff v4l libv4l \
> ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \
> ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}"
> PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen,"
> @@ -40,6 +40,7 @@ PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
> PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
> PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
> PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
> +PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils,"
> PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper,"
>
> inherit distutils-base pkgconfig cmake
>
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
^ permalink raw reply [flat|nested] 8+ messages in thread
* [meta-oe][PATCH v3 3/4] glmark2: Convert recipe to fetch from Git
2015-07-22 19:47 [meta-oe][PATCH v3 1/4] opencv: Only enable 'libav' support if commercial license is whitelisted Otavio Salvador
2015-07-22 19:47 ` [meta-oe][PATCH v3 2/4] opencv: Add 'libv4l' PACKAGECONFIG Otavio Salvador
@ 2015-07-22 19:47 ` Otavio Salvador
2015-07-22 19:47 ` [meta-oe][PATCH v3 4/4] glmark2: Remove X11 exclusiveness Otavio Salvador
2015-07-22 19:52 ` [meta-oe][PATCH v3 1/4] opencv: Only enable 'libav' support if commercial license is whitelisted Andreas Müller
3 siblings, 0 replies; 8+ messages in thread
From: Otavio Salvador @ 2015-07-22 19:47 UTC (permalink / raw)
To: Meta-OpenEmbedded Mailing listing; +Cc: Otavio Salvador
The development has been moved for github thus it makes sense to use
this, instead of the tarball.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
.../glmark2/{glmark2_2014.03.bb => glmark2_git.bb} | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
rename meta-oe/recipes-benchmark/glmark2/{glmark2_2014.03.bb => glmark2_git.bb} (83%)
diff --git a/meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb b/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
similarity index 83%
rename from meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb
rename to meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
index 708b6d2..57acad5 100644
--- a/meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb
+++ b/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
@@ -13,10 +13,12 @@ DEPENDS = "libpng12 jpeg virtual/libx11"
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
-SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BP}.tar.gz"
+PV = "2014.03+${SRCPV}"
-SRC_URI[md5sum] = "739859cf57d4c8a23452c43e84f66e56"
-SRC_URI[sha256sum] = "bded41aaf918ce062d9b81e42cc5be943e6a80bc4ff9d046983b96102c3df6b5"
+SRC_URI = "git://github.com/glmark2/glmark2.git;protocol=https"
+SRCREV = "fa71af2dfab711fac87b9504b6fc9862f44bf72a"
+
+S = "${WORKDIR}/git"
inherit waf pkgconfig distro_features_check
--
2.4.6
^ permalink raw reply related [flat|nested] 8+ messages in thread* [meta-oe][PATCH v3 4/4] glmark2: Remove X11 exclusiveness
2015-07-22 19:47 [meta-oe][PATCH v3 1/4] opencv: Only enable 'libav' support if commercial license is whitelisted Otavio Salvador
2015-07-22 19:47 ` [meta-oe][PATCH v3 2/4] opencv: Add 'libv4l' PACKAGECONFIG Otavio Salvador
2015-07-22 19:47 ` [meta-oe][PATCH v3 3/4] glmark2: Convert recipe to fetch from Git Otavio Salvador
@ 2015-07-22 19:47 ` Otavio Salvador
2015-07-22 19:52 ` [meta-oe][PATCH v3 1/4] opencv: Only enable 'libav' support if commercial license is whitelisted Andreas Müller
3 siblings, 0 replies; 8+ messages in thread
From: Otavio Salvador @ 2015-07-22 19:47 UTC (permalink / raw)
To: Meta-OpenEmbedded Mailing listing; +Cc: Otavio Salvador
The tool has support for multiple backends: X11, drm and Wayland.
This demanded to a fix, which has been sent upstream, to make the
flavor configuration predictable and the recipe has been rework to
support them all, making the PACKAGECONFIG to respect the
DISTRO_FEATURES available by default.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
...-packages-to-be-used-by-the-enabled-flavo.patch | 43 ++++++++++++++++++++++
meta-oe/recipes-benchmark/glmark2/glmark2_git.bb | 34 +++++++++++------
2 files changed, 66 insertions(+), 11 deletions(-)
create mode 100644 meta-oe/recipes-benchmark/glmark2/files/build-Check-packages-to-be-used-by-the-enabled-flavo.patch
diff --git a/meta-oe/recipes-benchmark/glmark2/files/build-Check-packages-to-be-used-by-the-enabled-flavo.patch b/meta-oe/recipes-benchmark/glmark2/files/build-Check-packages-to-be-used-by-the-enabled-flavo.patch
new file mode 100644
index 0000000..ff13329
--- /dev/null
+++ b/meta-oe/recipes-benchmark/glmark2/files/build-Check-packages-to-be-used-by-the-enabled-flavo.patch
@@ -0,0 +1,43 @@
+From: Otavio Salvador <otavio@ossystems.com.br>
+Subject: [PATCH] build: Check packages to be used by the enabled flavors
+Organization: O.S. Systems Software LTDA.
+
+The packages shouldn't be dynamically detected otherwise the build
+predictability is lost. We now have all packages as mandatory but
+dependent of the flavors which use them.
+
+Upstream-Status: Submitted [https://github.com/glmark2/glmark2/pull/8]
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ wscript | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/wscript b/wscript
+index cab62a3..e7eaed0 100644
+--- a/wscript
++++ b/wscript
+@@ -121,13 +121,17 @@ def configure(ctx):
+ ('mirclient','mirclient', '0.13', list_contains(Options.options.flavors, 'mir')),
+ ('wayland-client','wayland-client', None, list_contains(Options.options.flavors, 'wayland')),
+ ('wayland-egl','wayland-egl', None, list_contains(Options.options.flavors, 'wayland'))]
+- for (pkg, uselib, atleast, mandatory) in opt_pkgs:
++ for (pkg, uselib, atleast, check) in opt_pkgs:
++ # Check packages required by the flavors
++ if not check:
++ continue
++
+ if atleast is None:
+ ctx.check_cfg(package = pkg, uselib_store = uselib,
+- args = '--cflags --libs', mandatory = mandatory)
++ args = '--cflags --libs', mandatory = True)
+ else:
+ ctx.check_cfg(package = pkg, uselib_store = uselib, atleast_version=atleast,
+- args = '--cflags --libs', mandatory = mandatory)
++ args = '--cflags --libs', mandatory = True)
+
+
+ # Prepend CXX flags so that they can be overriden by the
+--
+2.4.6
+
diff --git a/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb b/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
index 57acad5..98ce377 100644
--- a/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
+++ b/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
@@ -8,32 +8,44 @@ LICENSE = "GPLv3+ & SGIv1"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
file://COPYING.SGI;beginline=5;md5=269cdab4af6748677acce51d9aa13552"
-DEPENDS = "libpng12 jpeg virtual/libx11"
-
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
+DEPENDS = "libpng12 jpeg"
PV = "2014.03+${SRCPV}"
-SRC_URI = "git://github.com/glmark2/glmark2.git;protocol=https"
+SRC_URI = "git://github.com/glmark2/glmark2.git;protocol=https \
+ file://build-Check-packages-to-be-used-by-the-enabled-flavo.patch"
SRCREV = "fa71af2dfab711fac87b9504b6fc9862f44bf72a"
S = "${WORKDIR}/git"
-inherit waf pkgconfig distro_features_check
+inherit waf pkgconfig
-PACKAGECONFIG ?= "gl gles2"
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11-gl x11-gles2', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland opengl', 'wayland-gl wayland-gles2', '', d)} \
+ drm-gl drm-gles2"
-PACKAGECONFIG[gl] = ",,virtual/libgl"
-PACKAGECONFIG[gles2] = ",,virtual/libgles2"
+PACKAGECONFIG[x11-gl] = ",,virtual/libgl virtual/libx11"
+PACKAGECONFIG[x11-gles2] = ",,virtual/libgles2 virtual/libx11"
+PACKAGECONFIG[drm-gl] = ",,virtual/libgl libdrm"
+PACKAGECONFIG[drm-gles2] = ",,virtual/libgles2 libdrm"
+PACKAGECONFIG[wayland-gl] = ",,virtual/libgl wayland"
+PACKAGECONFIG[wayland-gles2] = ",,virtual/libgles2 wayland"
python __anonymous() {
packageconfig = (d.getVar("PACKAGECONFIG", True) or "").split()
flavors = []
- if "gles2" in packageconfig:
+ if "x11-gles2" in packageconfig:
flavors.append("x11-glesv2")
- if "gl" in packageconfig:
+ if "x11-gl" in packageconfig:
flavors.append("x11-gl")
+ if "wayland-gles2" in packageconfig:
+ flavors.append("wayland-glesv2")
+ if "wayland-gl" in packageconfig:
+ flavors.append("wayland-gl")
+ if "drm-gles2" in packageconfig:
+ flavors.append("drm-glesv2")
+ if "drm-gl" in packageconfig:
+ flavors.append("drm-gl")
if flavors:
d.appendVar("EXTRA_OECONF", " --with-flavors=%s" % ",".join(flavors))
}
--
2.4.6
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [meta-oe][PATCH v3 1/4] opencv: Only enable 'libav' support if commercial license is whitelisted
2015-07-22 19:47 [meta-oe][PATCH v3 1/4] opencv: Only enable 'libav' support if commercial license is whitelisted Otavio Salvador
` (2 preceding siblings ...)
2015-07-22 19:47 ` [meta-oe][PATCH v3 4/4] glmark2: Remove X11 exclusiveness Otavio Salvador
@ 2015-07-22 19:52 ` Andreas Müller
2015-07-22 20:09 ` Otavio Salvador
3 siblings, 1 reply; 8+ messages in thread
From: Andreas Müller @ 2015-07-22 19:52 UTC (permalink / raw)
To: openembedded-devel@lists.openembedded.org; +Cc: Otavio Salvador
On Wed, Jul 22, 2015 at 9:47 PM, Otavio Salvador
<otavio@ossystems.com.br> wrote:
> The libav support requires the commercial license to be
> whitelist. This makes opencv to work in non-commercial setups without
> needing to change the PACKAGECONFIG settings manually.
>
> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
> ---
> meta-oe/recipes-support/opencv/opencv_2.4.bb | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/meta-oe/recipes-support/opencv/opencv_2.4.bb b/meta-oe/recipes-support/opencv/opencv_2.4.bb
> index 2754616..f8946f4 100644
> --- a/meta-oe/recipes-support/opencv/opencv_2.4.bb
> +++ b/meta-oe/recipes-support/opencv/opencv_2.4.bb
> @@ -30,8 +30,9 @@ EXTRA_OECMAKE = "-DPYTHON_NUMPY_INCLUDE_DIR:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}
> ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
> "
>
> -PACKAGECONFIG ??= "eigen jpeg libav png tiff v4l \
> - ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)}"
> +PACKAGECONFIG ??= "eigen jpeg png tiff v4l \
> + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \
> + ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}"
> PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen,"
> PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+,"
> PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
> --
> 2.4.6
>
Same for all patches of this series: What changes were made v1/v2/v3?
Andreas
^ permalink raw reply [flat|nested] 8+ messages in thread