[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:31:44 CET 2021


Hi Hiro,

On Thu, Feb 04, 2021 at 12:03:04PM +0900, Hirokazu Honda wrote:
> On Thu, Feb 4, 2021 at 12:01 PM Laurent Pinchart wrote:
> > 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.
> 
> The changes look ok.
> I appreciate if you submit with applying them.

Pushed to the master branch :-) Thank you for your work.

> > > ---
> > >  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