diff options
Diffstat (limited to 'src/android/meson.build')
-rw-r--r-- | src/android/meson.build | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/src/android/meson.build b/src/android/meson.build index 0293c203..7d1e7e85 100644 --- a/src/android/meson.build +++ b/src/android/meson.build @@ -3,6 +3,8 @@ android_deps = [ dependency('libexif', required : get_option('android')), dependency('libjpeg', required : get_option('android')), + dependency('yaml-0.1', required : get_option('android')), + libcamera_private, ] android_enabled = true @@ -14,20 +16,63 @@ foreach dep : android_deps endif endforeach +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] + android_hal_sources = files([ 'camera3_hal.cpp', - 'camera_hal_manager.cpp', + 'camera_capabilities.cpp', 'camera_device.cpp', + 'camera_hal_config.cpp', + 'camera_hal_manager.cpp', 'camera_metadata.cpp', 'camera_ops.cpp', + 'camera_stream.cpp', + 'camera_worker.cpp', 'jpeg/encoder_libjpeg.cpp', 'jpeg/exif.cpp', + 'jpeg/post_processor_jpeg.cpp', + 'jpeg/thumbnailer.cpp', + 'yuv/post_processor_yuv.cpp' ]) +android_cpp_args = [] + +subdir('cros') +subdir('mm') + android_camera_metadata_sources = files([ 'metadata/camera_metadata.c', ]) android_camera_metadata = static_library('camera_metadata', android_camera_metadata_sources, + c_args : '-Wno-shadow', include_directories : android_includes) + +libcamera_hal = shared_library('libcamera-hal', + android_hal_sources, + name_prefix : '', + link_with : android_camera_metadata, + install : true, + cpp_args : android_cpp_args, + include_directories : android_includes, + dependencies : android_deps) |