# 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/components.gni")
import("//build/config.gni")
import("//build/testing/environments.gni")

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

  sources = [ "activity_ctl.cc" ]

  deps = [
    "//sdk/fidl/fuchsia.ui.activity",
    "//sdk/fidl/fuchsia.ui.activity.control",
    "//sdk/lib/fit",
    "//sdk/lib/sys/cpp",
    "//src/lib/fxl",
    "//zircon/system/ulib/async:async-cpp",
    "//zircon/system/ulib/async-loop:async-loop-cpp",
    "//zircon/system/ulib/async-loop:async-loop-default",
    "//zircon/system/ulib/cmdline",
    "//zircon/system/ulib/zx",
  ]
}

fuchsia_component("activity-ctl-component") {
  component_name = "activity-ctl"
  manifest = "meta/activity-ctl.cmx"
  deps = [ ":bin" ]
}

fuchsia_package("activity-ctl") {
  deps = [ ":activity-ctl-component" ]
}
