# 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/config/fuchsia/rules.gni")
import("//build/test.gni")
import("//build/unification/images/migrated_manifest.gni")

driver_module("msm8x53-clk") {
  defines = [ "_ALL_SOURCE" ]
  configs += [ "//build/config/fuchsia:enable_zircon_asserts" ]
  configs -= [ "//build/config/fuchsia:no_cpp_standard_library" ]
  configs += [ "//build/config/fuchsia:static_cpp_standard_library" ]
  configs += [ "//build/unification/config:zircon-migrated" ]
  sources = [ "msm8x53-clk.cc" ]
  deps = [
    "//sdk/banjo/ddk.protocol.clock",
    "//sdk/banjo/ddk.protocol.clockimpl",
    "//sdk/banjo/ddk.protocol.gpio",
    "//sdk/banjo/ddk.protocol.platform.bus",
    "//sdk/banjo/ddk.protocol.platform.device",
    "//sdk/fidl/fuchsia.hardware.clock:fuchsia.hardware.clock_c",
    "//src/devices/bus/lib/device-protocol-pdev",
    "//src/devices/lib/driver",
    "//src/devices/lib/msm8x53",
    "//zircon/public/lib/ddk",
    "//zircon/public/lib/ddktl",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/fidl",
    "//zircon/public/lib/hwreg",
    "//zircon/public/lib/mmio",
    "//zircon/public/lib/sync",
    "//zircon/public/lib/zircon-internal",
    "//zircon/public/lib/zx",
    "//zircon/system/banjo/ddk.protocol.i2c",
  ]
}

test("msm8x53-clk-test") {
  # Dependent manifests unfortunately cannot be marked as `testonly`.
  # Remove when converting this file to proper GN build idioms.
  testonly = false
  configs += [ "//build/unification/config:zircon-migrated" ]
  output_name = "msm8x53-clk-test"
  sources = [
    "msm8x53-clk-test.cc",
    "msm8x53-clk.cc",
  ]
  deps = [
    "//sdk/banjo/ddk.protocol.clock",
    "//sdk/banjo/ddk.protocol.clockimpl",
    "//sdk/banjo/ddk.protocol.gpio",
    "//sdk/banjo/ddk.protocol.platform.bus",
    "//sdk/banjo/ddk.protocol.platform.device",
    "//sdk/fidl/fuchsia.hardware.clock:fuchsia.hardware.clock_c",
    "//src/devices/bus/lib/device-protocol-pdev",
    "//src/devices/lib/msm8x53",
    "//src/devices/testing/fake_ddk",
    "//src/devices/testing/mock-mmio-reg",
    "//zircon/public/lib/ddk",
    "//zircon/public/lib/ddktl",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/fdio",
    "//zircon/public/lib/fidl",
    "//zircon/public/lib/hwreg",
    "//zircon/public/lib/mmio",
    "//zircon/public/lib/sync",
    "//zircon/public/lib/zircon-internal",
    "//zircon/public/lib/zx",
    "//zircon/public/lib/zxtest",
    "//zircon/system/banjo/ddk.protocol.i2c",
  ]
}

migrated_manifest("msm8x53-clk-manifest") {
  deps = [ ":msm8x53-clk" ]
}

migrated_manifest("msm8x53-clk-test-manifest") {
  deps = [ ":msm8x53-clk-test" ]
}
