[libcamera-devel] [PATCH] subprojects: Add libyuv and built if -Dandroid=enabled
Hirokazu Honda
hiroh at chromium.org
Wed Jan 20 05:34:25 CET 2021
Android HAL adaptation layer may need image processing, for
example, scaling and format conversion. Libyuv is a general image
processing. This adds libyuv to subprojects, so that it is folked
locally and can be used with Android HAL implementation code.
---
meson.build | 2 +-
src/android/meson.build | 14 ++++++++++++++
subprojects/.gitignore | 1 +
subprojects/libyuv.wrap | 7 +++++++
4 files changed, 23 insertions(+), 1 deletion(-)
create mode 100644 subprojects/.gitignore
create mode 100644 subprojects/libyuv.wrap
diff --git a/meson.build b/meson.build
index c47eb420..d9b63278 100644
--- a/meson.build
+++ b/meson.build
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: CC0-1.0
project('libcamera', 'c', 'cpp',
- meson_version : '>= 0.51',
+ meson_version : '>= 0.55',
version : '0.0.0',
default_options : [
'werror=true',
diff --git a/src/android/meson.build b/src/android/meson.build
index 3d4d3be4..0b55ff63 100644
--- a/src/android/meson.build
+++ b/src/android/meson.build
@@ -5,6 +5,20 @@ android_deps = [
dependency('libjpeg', required : get_option('android')),
]
+if get_option('android').enabled()
+ cmake = import('cmake')
+ libyuv_vars = cmake.subproject_options()
+ 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_shared')
+ android_deps += [ libyuv_dep, ]
+endif
+
android_enabled = true
foreach dep : android_deps
diff --git a/subprojects/.gitignore b/subprojects/.gitignore
new file mode 100644
index 00000000..410b8bd6
--- /dev/null
+++ b/subprojects/.gitignore
@@ -0,0 +1 @@
+/libyuv
\ No newline at end of file
diff --git a/subprojects/libyuv.wrap b/subprojects/libyuv.wrap
new file mode 100644
index 00000000..4262bf05
--- /dev/null
+++ b/subprojects/libyuv.wrap
@@ -0,0 +1,7 @@
+[wrap-git]
+directory = libyuv
+url = https://chromium.googlesource.com/libyuv/libyuv.git
+revision = 1d3f901aa016d42b5bc0148be2ef6c0fd56f3b81
+
+[provide]
+libyuv = libyuv_dep
--
2.30.0.296.g2bfb1c46d8-goog
More information about the libcamera-devel
mailing list