summaryrefslogtreecommitdiff
path: root/src/android
diff options
context:
space:
mode:
authorHirokazu Honda <hiroh@chromium.org>2021-02-04 01:27:31 +0000
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-02-04 05:03:59 +0200
commit336de7afd2acc2b8c5e24be19d0d90271ebb5021 (patch)
treec6423281facb4e86b0c573fd2df10daaa0dc912f /src/android
parent9109bcf22c7f5f48afcf4234a4d4a596d6bd7bd2 (diff)
android: Try build with a local libyuv first
There are build environments where the wrap-based download is prohibited by "--wrap-mode nodownload". In such cases, libyuv needs to be provided by the build environment. To support this, this changes the meson file to first try using a local libyuv, and if it fails, download libyuv code and build with it as a fallback. Signed-off-by: Hirokazu Honda <hiroh@chromium.org> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/android')
-rw-r--r--src/android/meson.build34
1 files 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([