blob: 9e8d7170c6a253eb0c59866569dcfabe410e89ba [file] [log] [blame]
# 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++" ]
}