android: mm: Stub libhardware for build tests
Commit 66c618f378aa ("android: mm: generic: use
GRALLOC_HARDWARE_MODULE_ID") made libhardware a required dependency for
the Android camera HAL on non-Chrome OS platforms. This isn't an issue
for real devices, as Android provides libhardware, but it prevents
compile-testing the camera HAL on traditional Linux systems.
To restore the compile-test coverage, stub the libhardware function used
by the camera HAL when libhardware isn't found.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Tested-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> # meson build test
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
/* SPDX-License-Identifier: Apache-2.0 */
|
||||
/*
|
||||
* Copyright (C) 2023, Ideas on Board
|
||||
*
|
||||
* libhardware_stub.c - Android libhardware stub for test compilation
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
#include <hardware/hardware.h>
|
||||
|
||||
int hw_get_module(const char *id __attribute__((__unused__)),
|
||||
const struct hw_module_t **module)
|
||||
{
|
||||
*module = NULL;
|
||||
return -ENOTSUP;
|
||||
}
|
||||
@@ -4,10 +4,14 @@ platform = get_option('android_platform')
|
||||
if platform == 'generic'
|
||||
android_hal_sources += files(['generic_camera_buffer.cpp',
|
||||
'generic_frame_buffer_allocator.cpp'])
|
||||
android_deps += [
|
||||
libdl,
|
||||
dependency('libhardware'),
|
||||
]
|
||||
android_deps += [libdl]
|
||||
|
||||
libhardware = dependency('libhardware', required : false)
|
||||
if libhardware.found()
|
||||
android_deps += [libhardware]
|
||||
else
|
||||
android_hal_sources += files(['libhardware_stub.c'])
|
||||
endif
|
||||
elif platform == 'cros'
|
||||
android_hal_sources += files(['cros_camera_buffer.cpp',
|
||||
'cros_frame_buffer_allocator.cpp'])
|
||||
|
||||
Reference in New Issue
Block a user