android: Try build with a local libyuv first

There are build environments where the wrap-based download is prohibited
by "--wrap-mode nodownload". In such cases, libyuv needs to be provided
by the build environment. To support this, this changes the meson file
to first try using a local libyuv, and if it fails, download libyuv code
and build with it as a fallback.

Signed-off-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Hirokazu Honda 2021-02-04 01:27:31 +00:00 committed by Laurent Pinchart
parent 9109bcf22c
commit 336de7afd2

View file

@ -15,6 +15,11 @@ foreach dep : android_deps
endforeach
if android_enabled
libyuv_dep = dependency('libyuv', required : false)
# Fallback to a subproject if libyuv isn't found, as it's typically not
# provided by distributions.
if not libyuv_dep.found()
cmake = import('cmake')
libyuv_vars = cmake.subproject_options()
@ -27,6 +32,7 @@ if android_enabled
libyuv_vars.append_link_args('-ljpeg')
libyuv = cmake.subproject('libyuv', options : libyuv_vars)
libyuv_dep = libyuv.dependency('yuv')
endif
android_deps += [ libyuv_dep, ]
endif