[libcamera-devel] [PATCH v4 2/2] android: Try build with a local libyuv first

Laurent Pinchart laurent.pinchart at ideasonboard.com
Thu Feb 4 04:01:06 CET 2021


Hi Hiro,

Thank you for the patch.

On Thu, Feb 04, 2021 at 01:27:31AM +0000, Hirokazu Honda wrote:
> There is an environment where the wrap-based download is
> prohibited by "--wrap-mode nodownload". The local libyuv
> library needs to be built with in such a build environment.

I'd say "In such cases, libyuv needs to be provided by the build
environments".

> For the environment, this changes the meson file to first
> try building a local libyuv, and if it fails, download libyuv

s/For the environment/To support this/
s/building/using/

> code and build with it as a fallback.
> 
> Signed-off-by: Hirokazu Honda <hiroh at chromium.org>
> Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

Could you please let me know if you're fine with the changes to the
commit message ? If so there's no need to resubmit, I'll apply the
patches with the above changes.

> ---
>  src/android/meson.build | 34 ++++++++++++++++++++--------------
>  1 file changed, 20 insertions(+), 14 deletions(-)
> 
> diff --git a/src/android/meson.build b/src/android/meson.build
> index 7619517a..95d0f420 100644
> --- a/src/android/meson.build
> +++ b/src/android/meson.build
> @@ -15,20 +15,26 @@ foreach dep : android_deps
>  endforeach
> 
>  if android_enabled
> -    cmake = import('cmake')
> -
> -    libyuv_vars = cmake.subproject_options()
> -    libyuv_vars.add_cmake_defines({'CMAKE_POSITION_INDEPENDENT_CODE': 'ON'})
> -    libyuv_vars.set_override_option('cpp_std', 'c++17')
> -    libyuv_vars.append_compile_args('cpp',
> -         '-Wno-sign-compare',
> -         '-Wno-unused-variable',
> -         '-Wno-unused-parameter')
> -    libyuv_vars.append_link_args('-ljpeg')
> -    libyuv = cmake.subproject('libyuv', options : libyuv_vars)
> -    libyuv_dep = libyuv.dependency('yuv')
> -
> -    android_deps += [ libyuv_dep, ]
> +    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()
> +        libyuv_vars.add_cmake_defines({'CMAKE_POSITION_INDEPENDENT_CODE': 'ON'})
> +        libyuv_vars.set_override_option('cpp_std', 'c++17')
> +        libyuv_vars.append_compile_args('cpp',
> +             '-Wno-sign-compare',
> +             '-Wno-unused-variable',
> +             '-Wno-unused-parameter')
> +        libyuv_vars.append_link_args('-ljpeg')
> +        libyuv = cmake.subproject('libyuv', options : libyuv_vars)
> +        libyuv_dep = libyuv.dependency('yuv')
> +   endif
> +
> +   android_deps += [ libyuv_dep, ]
>  endif
> 
>  android_hal_sources = files([

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list