# Copyright 2019 The Fuchsia 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("//build/cpp/sdk_source_set.gni")

group("tests") {
  testonly = true
  deps = [ "test:mock-mmio-reg-test" ]
}

config("headers.config") {
  include_dirs = [ "include" ]
}

config("zxtest-backend") {
  defines = [ "MOCK_MMIO_REG_USE_ZXTEST" ]
}

source_set("mock-mmio-reg-zxtest") {
  public = [ "include/mock-mmio-reg/mock-mmio-reg.h" ]
  deps = [
    "//src/devices/lib/mmio:test_helper",
    "//zircon/system/ulib/mmio-ptr:mmio-ptr-fake",
  ]
  public_configs = [
    ":headers.config",
    ":zxtest-backend",
  ]

  visibility = [
    "test:*",
    "//src/camera/drivers/hw_accel/gdc:*",
    "//src/camera/drivers/hw_accel/ge2d:*",
    "//src/devices/ml/drivers/aml-nna:*",
    "//src/devices/nand/drivers/aml-rawnand/tests:*",
    "//src/devices/power/drivers/aml-meson-power:*",
    "//src/devices/pwm/drivers/aml-pwm:*",
    "//src/devices/registers/drivers/registers:*",
    "//src/devices/suspend/drivers/aml-suspend/tests:*",
    "//src/devices/temperature/drivers/aml-trip/tests:*",
    "//src/devices/thermal/drivers/aml-thermal:*",
    "//src/devices/thermal/drivers/aml-thermal-s905d2g-legacy:*",
    "//src/media/audio/drivers/aml-g12-tdm/test:*",
    "//src/ui/backlight/drivers/ti-lp8556:*",
    "//vendor/*",
  ]
}

sdk_source_set("mock-mmio-reg") {
  category = "internal"
  sdk_name = "mock-mmio-reg"
  public = [ "include/mock-mmio-reg/mock-mmio-reg.h" ]
  include_base = "include"
  public_deps = [
    "//src/devices/lib/mmio:test_helper",
    "//zircon/system/ulib/fbl",
    "//zircon/system/ulib/mmio-ptr:mmio-ptr-fake",
  ]
  non_sdk_public_deps = [ "//third_party/googletest:gtest_no_testonly" ]
  public_configs = [ ":headers.config" ]
}
