# Copyright 2018 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/package.gni")

executable("bin") {
  output_name = "display_manager"

  sources = [
    "display.cc",
    "display.h",
    "display_manager_impl.cc",
    "display_manager_impl.h",
    "main.cc",
  ]

  deps = [
    "//garnet/public/fidl/fuchsia.device.display",
    "//garnet/public/lib/component/cpp",
    "//garnet/public/lib/fsl",
    "//garnet/public/lib/fxl",
    "//zircon/public/fidl/zircon-backlight:zircon-backlight_c_client",
    "//zircon/public/lib/async-loop-cpp",
  ]
}

package("display_manager") {
  deps = [
    ":bin",
  ]
  binary = "display_manager"

  meta = [
    {
      path = rebase_path("meta/display_manager.cmx")
      dest = "display_manager.cmx"
    },
  ]
}
