# 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")

package("a11y_tests") {
  testonly = true

  deps = [
    "tests",
  ]

  tests = [
    {
      name = "a11y_manager_apptests"
    },
    {
      name = "talkback_apptests"
    },
  ]
}

package("a11y_manager") {
  deps = [
    "a11y_manager",
  ]

  binary = "a11y_manager"
}

package("a11y_toggler") {
  deps = [
    "a11y_toggler",
  ]

  binary = "a11y_toggler"
}

package("a11y_touch_dispatcher") {
  deps = [
    "a11y_touch_dispatcher",
  ]

  binary = "a11y_touch_dispatcher"
}

package("talkback") {
  deps = [
    "talkback",
  ]

  binary = "talkback"
}
