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

library("bootfs") {
  sdk = "source"
  sdk_headers = [ "lib/bootfs/parser.h" ]

  sources = [
    "parser.cpp",
  ]
  configs += [ "$zx/public/gn/config:visibility_hidden" ]
  deps = [
    "$zx/system/ulib/fbl",
    "$zx/system/ulib/zircon",
    "$zx/system/ulib/zx",
  ]
}

test("bootfs-test") {
  sources = [
    "parser-test.cpp",
  ]
  deps = [
    "$zx/system/ulib/bootfs",
    "$zx/system/ulib/fbl",
    "$zx/system/ulib/fdio",
    "$zx/system/ulib/unittest",
    "$zx/system/ulib/zircon",
    "$zx/system/ulib/zx",
  ]
}
