summaryrefslogtreecommitdiff
path: root/subprojects
diff options
context:
space:
mode:
authorMattijs Korpershoek <mkorpershoek@baylibre.com>2023-02-28 16:17:13 +0100
committerMattijs Korpershoek <mkorpershoek@baylibre.com>2023-10-13 16:31:13 +0200
commit5de271fe6c0f909006141ea26a7b94c1102be31d (patch)
tree5f91f6622075b1744ecd75eaa0cb294fe585e186 /subprojects
parentabe2fea38b2431edd9a18d59914aea281230f89c (diff)
android: mm: generic: Use GraphicBufferAllocator instead of gralloc.h
gralloc.h is a very old API that has been deprecated at least since Android P (9). Switch over to a higher level abstraction of gralloc from libui, which is compatible with Android 11 and up. Libui: * is provided in the VNDK (so it's available to vendors). * is also used in the camera vts test named VtsAidlHalCameraProvider_TargetTest. Notes: * GraphicsBufferAllocator being a Singleton, buffer lifecycle management is easier. * The imported headers from Android generate the -Wextra-semi warning. To avoid patching the files, a pragma has been added before inclusion. * libdl was used for dlclosing() the legacy hal, so the dep has been dropped Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Diffstat (limited to 'subprojects')
-rw-r--r--subprojects/packagefiles/vndk/meson.build21
-rw-r--r--subprojects/vndk.wrap2
2 files changed, 22 insertions, 1 deletions
diff --git a/subprojects/packagefiles/vndk/meson.build b/subprojects/packagefiles/vndk/meson.build
index b5999f16..dbc7eda6 100644
--- a/subprojects/packagefiles/vndk/meson.build
+++ b/subprojects/packagefiles/vndk/meson.build
@@ -21,3 +21,24 @@ libhardware_dep = declare_dependency(
dependencies : cxx.find_library('hardware', dirs : prebuild_libraries),
include_directories : include_directories(include_base / 'hardware/libhardware/'))
meson.override_dependency('libhardware', libhardware_dep)
+
+liblog_dep = declare_dependency(
+ dependencies : cxx.find_library('log', dirs : prebuild_libraries),
+ include_directories : include_directories(include_base / 'system/logging/liblog/include_vndk'))
+meson.override_dependency('liblog', liblog_dep)
+
+libutils_dep = declare_dependency(
+ dependencies : [
+ cxx.find_library('utils', dirs : prebuild_libraries),
+ liblog_dep,
+ ],
+ include_directories : include_directories(include_base / 'system/core/libutils/include'))
+meson.override_dependency('libutils', libutils_dep)
+
+libui_dep = declare_dependency(
+ dependencies : [
+ cxx.find_library('ui', dirs : prebuild_libraries),
+ libutils_dep,
+ ],
+ include_directories : include_directories(include_base / 'frameworks/native/libs/ui/include_vndk'))
+meson.override_dependency('libui', libui_dep)
diff --git a/subprojects/vndk.wrap b/subprojects/vndk.wrap
index 70002ddc..b7a0d3f0 100644
--- a/subprojects/vndk.wrap
+++ b/subprojects/vndk.wrap
@@ -9,4 +9,4 @@ depth = 1
patch_directory = vndk
[provide]
-dependency_names = libhardware
+dependency_names = libhardware, libui