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

config("fs_config") {
  include_dirs = [ "include" ]
}

static_library("fs") {
  # Don't forget to update rules.mk as well for the Zircon build.
  sources = [
    "include/fs/async-dispatcher.h",
    "include/fs/block-txn.h",
    "include/fs/client.h",
    "include/fs/dispatcher.h",
    "include/fs/mapped-vmo.h",
    "include/fs/remote.h",
    "include/fs/trace.h",
    "include/fs/vfs.h",
    "include/fs/watcher.h",
    "async-dispatcher.cpp",
    "mapped-vmo.cpp",
    "mount.cpp",
    "rpc.cpp",
    "unmount.cpp",
    "watcher.cpp",
    "vfs.cpp",
  ]

  public_configs = [ ":fs_config" ]

  defines = [
    # TODO(abarth): Should we define this symbol in Fuchsia toolchain?
    "_ALL_SOURCE=1",
  ]

  include_dirs = [ "//zircon/system/private" ]

  deps = [
    "//zircon/system/ulib/async",
    "//zircon/system/ulib/async:default",
    "//zircon/system/ulib/async:loop",
    "//zircon/system/ulib/zx",
    "//zircon/system/ulib/zxcpp",
    "//zircon/system/ulib/fbl",
  ]

  libs = [
    "zircon",
    "fdio",
  ]
}
