# 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.

config("libcamera_metrics_config") {
  libs = [ "metrics" ]
}

static_library("libcamera_metrics") {
  sources = [ "camera_metrics_impl.cc" ]
  configs += [
    "//camera/build:cros_camera_common",
    "//common-mk:pic",
    "//common-mk:nouse_thin_archive",
  ]
  configs -= [
    "//common-mk:pie",
    "//common-mk:use_thin_archive",
  ]
  public_configs = [ ":libcamera_metrics_config" ]
  all_dependent_pkg_deps = [ "libmetrics" ]
  pkg_deps = [
    "cros-camera-android-headers",
    "libcamera_metadata",
    "libchrome",
  ]
}

config("libcamera_jpeg_config") {
  libs = [ "jpeg" ]
}

static_library("libcamera_jpeg") {
  sources = [ "jpeg_compressor_impl.cc" ]
  public_configs = [ ":libcamera_jpeg_config" ]
  configs += [
    "//camera/build:cros_camera_common",
    "//common-mk:nouse_thin_archive",
    "//common-mk:pic",
  ]
  configs -= [
    "//common-mk:pie",
    "//common-mk:use_thin_archive",
  ]
  pkg_deps = [
    "cros-camera-android-headers",
    "libyuv",
  ]
  all_dependent_pkg_deps = [ "libcbm" ]
  deps = [
    "//camera/common:libcamera_metrics",
    "//camera/common/jpeg:libjea",
  ]
}
