# 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")

group("all") {
  deps = [ ":libcamera_ipc" ]
}

generate_mojom_bindings("libcamera_ipc_mojom") {
  sources = [
    "//camera/mojo/algorithm/camera_algorithm.mojom",
    "//camera/mojo/camera3.mojom",
    "//camera/mojo/camera_common.mojom",
    "//camera/mojo/camera_metadata.mojom",
    "//camera/mojo/camera_metadata_tags.mojom",
    "//camera/mojo/cros_camera_service.mojom",
    "//camera/mojo/gpu/dmabuf.mojom",
    "//camera/mojo/gpu/jpeg_encode_accelerator.mojom",
    "//camera/mojo/gpu/mjpeg_decode_accelerator.mojom",
    "//camera/mojo/unguessable_token.mojom",
  ]
  mojo_root = "//camera"
  use_pic = true
  standalone = true
}

shared_library("libcamera_ipc") {
  sources = [
    "//camera/common/camera_mojo_channel_manager_impl.cc",
    "//camera/common/ipc_util.cc",
  ]
  output_name = "libcamera_ipc"
  include_dirs = [
    "//camera",
    "//camera/include",
  ]
  configs += [ "//camera/build:cros_camera_common" ]
  pkg_deps = [
    "libcamera_common",
    "libcamera_metadata",
    "libchrome",
    "libmojo",
  ]
  deps = [ ":libcamera_ipc_mojom" ]
}
