blob: ceba44884ff7d29e596f17580591a149aa95de0b [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.
static_library("minfs") {
friend = [
"test:*",
"allocator/test:*",
"//src/storage/conformance/conformance_harness/minfs:bin",
]
visibility = [
"//src/devices/block/bin/disk-inspect",
"//src/storage/*",
]
public = [
"bcache.h",
"format.h",
"fsck.h",
"minfs.h",
"mount.h",
"transaction_limits.h",
]
sources = [
"allocator/allocator.h",
"allocator/allocator_common.cc",
"allocator/allocator_reservation.cc",
"allocator/allocator_reservation.h",
"allocator/inode_manager.h",
"allocator/metadata.cc",
"allocator/metadata.h",
"allocator/storage.h",
"allocator/storage_common.cc",
"block_utils.h",
"buffer_view.cc",
"buffer_view.h",
"directory.cc",
"directory.h",
"file.cc",
"file.h",
"fsck.cc",
"lazy_buffer.cc",
"lazy_buffer.h",
"lazy_reader.cc",
"lazy_reader.h",
"minfs.cc",
"minfs_private.h",
"pending_work.h",
"resizeable_array_buffer.cc",
"resizeable_array_buffer.h",
"resizeable_buffer.h",
"runner.cc",
"runner.h",
"superblock.h",
"trace.h",
"transaction_limits.cc",
"unowned_vmo_buffer.h",
"vnode.cc",
"vnode.h",
"vnode_allocation.h",
"vnode_mapper.cc",
"vnode_mapper.h",
"writeback.cc",
"writeback.h",
]
public_deps = [
"//src/storage/lib/vfs/cpp/inspect",
"//src/storage/lib/vfs/cpp/transaction",
"//zircon/system/ulib/fbl",
"//zircon/system/ulib/storage/buffer",
"//zircon/system/ulib/zircon-internal",
"//zircon/system/ulib/zx",
]
deps = [
"//sdk/lib/fit",
"//sdk/lib/syslog/cpp",
"//src/storage/fvm",
"//src/storage/lib/disk_inspector",
"//src/storage/lib/vfs/cpp",
"//zircon/system/ulib/async:async-cpp",
"//zircon/system/ulib/bitmap",
"//zircon/system/ulib/range",
"//zircon/system/ulib/storage/operation",
"//zircon/third_party/ulib/cksum",
"//zircon/third_party/ulib/safemath",
]
# TODO(https://fxbug.dev/42085293): delete the below and fix compiler warnings
configs += [ "//build/config:Wno-vla-cxx-extension" ]
if (is_fuchsia) {
public += [
"inspector/command_handler.h",
"inspector/minfs_inspector.h",
]
sources += [
"allocator/allocator.cc",
"allocator/inode_manager.cc",
"allocator/storage.cc",
"bcache.cc",
"component_runner.cc",
"component_runner.h",
"file_target.cc",
"inspector/command_handler.cc",
"inspector/disk_struct.cc",
"inspector/disk_struct.h",
"inspector/inspector.cc",
"inspector/inspector.h",
"inspector/inspector_inode.cc",
"inspector/inspector_inode.h",
"inspector/inspector_inode_table.cc",
"inspector/inspector_inode_table.h",
"inspector/inspector_private.h",
"inspector/inspector_superblock.cc",
"inspector/inspector_superblock.h",
"inspector/loader.cc",
"inspector/loader.h",
"inspector/minfs_inspector.cc",
"inspector/parser.cc",
"inspector/parser.h",
"minfs_inspect_tree.cc",
"minfs_target.cc",
"mount.cc",
"service/admin.cc",
"service/admin.h",
"service/lifecycle.cc",
"service/lifecycle.h",
"service/startup.cc",
"service/startup.h",
"superblock.cc",
"vnode_allocation.cc",
]
public_deps += [
# fsck.h includes block-client/cpp/block-device.h
"//src/storage/lib/block_client/cpp",
# inspector/minfs_inspector.h includes journal/format.h
"//src/storage/lib/vfs/cpp/journal",
# Used by the MinfsInspectTree class
"//sdk/lib/inspect/component/cpp:cpp",
"//zircon/system/ulib/zx",
# runner.h includes lib/async-loop/cpp/loop.h
"//zircon/system/ulib/async-loop:async-loop-cpp",
# mount.h includes fidl/fuchsia.process.lifecycle/cpp/wire.h
"//sdk/fidl/fuchsia.process.lifecycle:fuchsia.process.lifecycle_cpp",
]
deps += [
"//sdk/fidl/fuchsia.device:fuchsia.device_cpp",
"//sdk/fidl/fuchsia.io:fuchsia.io_cpp",
"//sdk/lib/fidl",
"//sdk/lib/sys/cpp:cpp",
"//sdk/lib/syslog/cpp",
"//src/storage/fidl/fuchsia.fs.startup:fuchsia.fs.startup_cpp",
"//src/storage/fvm",
"//src/storage/lib/storage-metrics",
"//zircon/system/ulib/async",
"//zircon/system/ulib/async-default",
"//zircon/system/ulib/async-loop",
"//zircon/system/ulib/async-loop:async-loop-default",
"//zircon/system/ulib/fdio-caller",
"//zircon/system/ulib/fzl",
"//zircon/system/ulib/inspect",
"//zircon/system/ulib/sync",
"//zircon/system/ulib/trace",
"//zircon/system/ulib/trace-engine",
"//zircon/system/ulib/trace-provider",
]
} else {
public += [ "host.h" ]
sources += [
"allocator/allocator_host.cc",
"allocator/inode_manager_host.cc",
"allocator/storage_host.cc",
"bcache_host.cc",
"file_host.cc",
"host.cc",
"minfs_host.cc",
"superblock_host.cc",
]
deps += [
"//src/storage/lib/vfs/cpp/journal",
"//src/zircon/lib/zircon:zircon-headers",
]
}
}
group("tests") {
testonly = true
deps = [
"allocator/test:minfs-allocator-tests",
"bin:tests",
"test:minfs-fs-tests",
"test:minfs-fuzzers",
"test:minfs-slow-fs-tests",
"test/host:minfs_host($host_toolchain)",
]
}