[libcamera-devel] [PATCH 02/16] android: cros: Simplify integration
Kieran Bingham
kieran.bingham at ideasonboard.com
Fri Jun 25 10:53:34 CEST 2021
Hi Laurent,
On 25/06/2021 04:20, Laurent Pinchart wrote:
> On Fri, Jun 25, 2021 at 06:18:31AM +0300, Laurent Pinchart wrote:
>> Hi Kieran,
>>
>> Thank you for the patch.
>>
>> On Fri, Jun 25, 2021 at 02:35:25AM +0100, Kieran Bingham wrote:
>>> The ChromeOS specific Android HAL support was overly-complex to support
>>> linking an additional library, and then passing the built object into
>>> the libcamera.so build.
>>>
>>> Now that it has its own distinct libcamera-hal.so, simplify the CrOS
>>> integration to build directly into that library.
>>>
>>> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
>>
>> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
>>
>>> ---
>>> src/android/cros/meson.build | 11 +++--------
>>> src/android/meson.build | 13 +++----------
>>> 2 files changed, 6 insertions(+), 18 deletions(-)
>>>
>>> diff --git a/src/android/cros/meson.build b/src/android/cros/meson.build
>>> index c2bda70838e2..35995dd814a2 100644
>>> --- a/src/android/cros/meson.build
>>> +++ b/src/android/cros/meson.build
>>> @@ -4,15 +4,10 @@ if get_option('android_platform') != 'cros'
>>> subdir_done()
>>> endif
>>>
>>> -cros_hal_info_sources = files([
>>> +android_hal_sources += files([
>>> 'camera3_hal.cpp',
>>> ])
>>>
>>> -cros_hal_info = static_library('cros_hal_info',
>>> - cros_hal_info_sources,
>>> - dependencies : dependency('libcros_camera'),
>>> - c_args : '-Wno-shadow',
>
> BTW, we're losing -Wno-shadow. I suppose that's fine as there's no .c
> file, but have you compiled this on CrOS to ensure there's no breakage ?
Yes, Sorry I should have added that to the commit message, that's
intentional.
I'll add:
> The removal of the -Wno-shadow here is intentional, as it is not
> required for compilation of the camera3_hal.o object.
I believe the -Wno-shadow is cargo-culted from a copy paste of the
android_camera_metadata = static_library() definition (where I expect it
/is/ required)
The camea3_hal.cpp does not require -Wno-shadow to compile.
>
>>> - include_directories : [android_includes,
>>> - libcamera_includes])
>>> +android_deps += dependency('libcros_camera')
>>>
>>> -android_objects += cros_hal_info.extract_objects('camera3_hal.cpp')
>>> +android_cpp_args += ['-DOS_CHROMEOS']
>>> diff --git a/src/android/meson.build b/src/android/meson.build
>>> index feda3e0998bd..bd58ef964c2a 100644
>>> --- a/src/android/meson.build
>>> +++ b/src/android/meson.build
>>> @@ -37,15 +37,6 @@ endif
>>>
>>> android_deps += [libyuv_dep]
>>>
>>> -android_cpp_args = []
>>> -android_objects = []
>>> -
>>> -if get_option('android_platform') == 'cros'
>>> - android_cpp_args += ['-DOS_CHROMEOS']
>>> -endif
>>> -
>>> -subdir('cros')
>>> -
>>> android_hal_sources = files([
>>> 'camera3_hal.cpp',
>>> 'camera_capabilities.cpp',
>>> @@ -63,6 +54,9 @@ android_hal_sources = files([
>>> 'yuv/post_processor_yuv.cpp'
>>> ])
>>>
>>> +android_cpp_args = []
>>> +
>>> +subdir('cros')
>>> subdir('mm')
>>>
>>> android_camera_metadata_sources = files([
>>> @@ -80,6 +74,5 @@ libcamera_hal = shared_library('libcamera-hal',
>>> link_with : android_camera_metadata,
>>> install : true,
>>> cpp_args : android_cpp_args,
>>> - objects : android_objects,
>>> include_directories : android_includes,
>>> dependencies : android_deps)
>
More information about the libcamera-devel
mailing list