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

# libmemfs-cpp.a: The C++ client library.
#
# Used to implement the C++ components of Memfs, which
# can be plugged into ulib/fs.
zx_library("memfs-cpp") {
  sdk = "source"
  sdk_headers = [ "lib/memfs/cpp/vnode.h" ]
  sources = [
    "directory.cc",
    "dnode.cc",
    "file.cc",
    "memfs.cc",
    "vmo.cc",
  ]
  deps = [
    "$zx/system/fidl/fuchsia-io:llcpp",
    "$zx/system/ulib/async",
    "$zx/system/ulib/async:async-cpp",
    "$zx/system/ulib/fbl",
    "$zx/system/ulib/fdio",
    "$zx/system/ulib/fs",
    "$zx/system/ulib/sync",
    "$zx/system/ulib/zircon",
    "$zx/system/ulib/zx",
  ]
}

# libmemfs.so: The C ABI client library.
#
# Used to create local temporary filesystems.
zx_library("memfs") {
  sdk = "shared"
  sdk_publishable = true
  sdk_headers = [ "lib/memfs/memfs.h" ]
  shared = true
  sources = [ "memfs-local.cc" ]
  public_deps = [
    # <lib/memfs/memfs.h> has #include <lib/async/dispatcher.h>.
    "$zx/system/ulib/async:headers",
    "$zx/system/ulib/fit:headers",

    # <lib/memfs/memfs.h> has #include <lib/sync/completion.h>.
    "$zx/system/ulib/sync:headers",
  ]
  deps = [
    ":memfs-cpp",
    "$zx/system/ulib/fbl",
    "$zx/system/ulib/fdio",
    "$zx/system/ulib/fs",
  ]
  configs += [ "$zx_build/public/gn/config:static-libc++" ]
}
