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