blob: 23870cce312eb129dafa9e9bc6216a45454189f3 [file] [log] [blame]
# Copyright 2019 The Fuchsia Authors
#
# Use of this source code is governed by a MIT-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/MIT
# libmemfs-cpp.a: The C++ client library.
#
# Used to implement the C++ components of Memfs, which
# can be plugged into ulib/fs.
library("memfs-cpp") {
sdk = "source"
sdk_headers = [ "lib/memfs/cpp/vnode.h" ]
sources = [
"directory.cpp",
"dnode.cpp",
"file.cpp",
"memfs.cpp",
"vmo.cpp",
]
configs += [ "$zx/public/gn/config:visibility_hidden" ]
deps = [
"$zx/system/fidl/fuchsia-io:c",
"$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",
"$zx/system/ulib/zxcpp",
]
}
# libmemfs.so: The C ABI client library.
#
# Used to create local temporary filesystems.
library("memfs") {
sdk = "shared"
sdk_headers = [ "lib/memfs/memfs.h" ]
shared = true
sources = [
"memfs-local.cpp",
]
public_deps = [
# <lib/memfs/memfs.h> has #include <lib/sync/completion.h>.
"$zx/system/ulib/sync:headers",
]
configs += [ "$zx/public/gn/config:visibility_hidden" ]
deps = [
":memfs-cpp",
"$zx/system/ulib/fbl",
"$zx/system/ulib/fdio",
"$zx/system/ulib/fs",
]
}