blob: 630b9e06793d178b0ae025bc9ae276d17e542bca [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.
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",
]
}
# 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/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",
]
configs += [ "$zx/public/gn/config:visibility_hidden" ]
deps = [
":memfs-cpp",
"$zx/system/ulib/fbl",
"$zx/system/ulib/fdio",
"$zx/system/ulib/fs",
]
configs += [ "$zx/public/gn/config:static-libc++" ]
}