blob: 3d95845209d470f7bb1707940f9312c95f0f9bd8 [file] [log] [blame]
# Copyright 2019 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//common-mk/mojom_bindings_generator.gni")
import("//common-mk/pkg_config.gni")
group("all") {
deps = [ ":libcamera_hal" ]
if (use.test) {
deps += [ ":image_processor_test" ]
}
}
pkg_config("target_defaults") {
pkg_deps = [
"cros-camera-android-headers",
"libcamera_client",
"libcamera_common",
"libcamera_exif",
"libcamera_metadata",
"libcamera_timezone",
"libcbm",
"libcros_config",
"libjda",
"libsync",
"libyuv",
"re2",
]
configs = [ "//camera/build:cros_camera_common" ]
if (use.usb_camera_monocle) {
pkg_deps += [ "librealtek-sdk" ]
defines = [ "MONOCLE_QUIRKS=1" ]
}
}
generate_mojom_bindings("libcamera_hal_mojom") {
sources = [ "//camera/mojo/cros_camera_enum.mojom" ]
mojo_root = "//camera"
}
shared_library("libcamera_hal") {
sources = [
"//camera/common/utils/camera_config_impl.cc",
"//camera/common/vendor_tag_manager.cc",
"cached_frame.cc",
"camera_characteristics.cc",
"camera_client.cc",
"camera_hal.cc",
"camera_hal_device_ops.cc",
"camera_privacy_switch_monitor.cc",
"capture_request.cc",
"cros_device_config.cc",
"frame_buffer.cc",
"image_processor.cc",
"metadata_handler.cc",
"quirks.cc",
"sensor_handler.cc",
"stream_format.cc",
"test_pattern.cc",
"v4l2_camera_device.cc",
"vendor_tag.cc",
]
if (use.usb_camera_monocle) {
sources += [ "sensor_handler_monocle.cc" ]
}
configs += [ ":target_defaults" ]
deps = [
":libcamera_hal_mojom",
"//camera/common:libcamera_jpeg",
"//camera/common:libcamera_metrics",
]
}
if (use.test) {
executable("image_processor_test") {
configs += [
"//common-mk:test",
":target_defaults",
]
sources = [
"frame_buffer.cc",
"image_processor.cc",
"unittest/image_processor_test.cc",
]
}
}