# 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++" ]
}
