# Copyright 2020 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.

# DO NOT MANUALLY EDIT!
# Generated by //scripts/sdk/gn/generate.py.


import("../../build/fidl_library.gni")

fidl_library("fuchsia.auth") {
  library_name = "auth"
  namespace = "fuchsia"
  public_deps = [
    "../fuchsia.ui.views",
  ]
  sources = [
    "attestation_signer.fidl",
    "auth_provider.fidl",
    "common.fidl",
    "token_manager.fidl",
  ]
}

group("all"){
  deps = [
    ":fuchsia.auth",
  ]
}
