diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-09-16 16:04:03 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-09-16 18:15:28 +0300 |
commit | d5ce2679c67877295ce0096afd3d24d28ad34d16 (patch) | |
tree | 460048faef4fd8b869edfaf60845b554a42cf588 | |
parent | de20029a582a71a87d99388a62fb63c86e85028a (diff) |
libcamera: Turn the android option into a feature
Allow disabling compilation of the Android HAL adaptation layer
automatically when a dependency is missing by turning the android option
into a feature. The default value is set to 'disabled' to match the
current behaviour.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
-rw-r--r-- | meson_options.txt | 4 | ||||
-rw-r--r-- | src/android/meson.build | 19 | ||||
-rw-r--r-- | src/libcamera/meson.build | 2 | ||||
-rw-r--r-- | src/meson.build | 4 |
4 files changed, 18 insertions, 11 deletions
diff --git a/meson_options.txt b/meson_options.txt index e9e815fd..d2e07ef1 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,8 +1,8 @@ # SPDX-License-Identifier: CC0-1.0 option('android', - type : 'boolean', - value : false, + type : 'feature', + value : 'disabled', description : 'Compile libcamera with Android Camera3 HAL interface') option('documentation', diff --git a/src/android/meson.build b/src/android/meson.build index ecb92f6e..0293c203 100644 --- a/src/android/meson.build +++ b/src/android/meson.build @@ -1,5 +1,19 @@ # SPDX-License-Identifier: CC0-1.0 +android_deps = [ + dependency('libexif', required : get_option('android')), + dependency('libjpeg', required : get_option('android')), +] + +android_enabled = true + +foreach dep : android_deps + if not dep.found() + android_enabled = false + subdir_done() + endif +endforeach + android_hal_sources = files([ 'camera3_hal.cpp', 'camera_hal_manager.cpp', @@ -14,11 +28,6 @@ android_camera_metadata_sources = files([ 'metadata/camera_metadata.c', ]) -android_deps = [ - dependency('libexif'), - dependency('libjpeg'), -] - android_camera_metadata = static_library('camera_metadata', android_camera_metadata_sources, include_directories : android_includes) diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build index af2f3d95..0e6ecf50 100644 --- a/src/libcamera/meson.build +++ b/src/libcamera/meson.build @@ -121,7 +121,7 @@ libcamera_deps = [ libcamera_link_with = [] -if get_option('android') +if android_enabled libcamera_sources += android_hal_sources includes += android_includes libcamera_link_with += android_camera_metadata diff --git a/src/meson.build b/src/meson.build index d69b4c1e..0c5b64d6 100644 --- a/src/meson.build +++ b/src/meson.build @@ -1,8 +1,6 @@ # SPDX-License-Identifier: CC0-1.0 -if get_option('android') - subdir('android') -endif +subdir('android') openssl = find_program('openssl', required : true) if openssl.found() |