blob: 6a28e942a8890b311f67a33333b7e85b37389226 [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.
##########################################
# Though under //zircon, this build file #
# is meant to be used in the Fuchsia GN #
# build. #
# See fxb/36548. #
##########################################
assert(!defined(zx) || zx != "/",
"This file can only be used in the Fuchsia GN build.")
import("//build/unification/zx_library.gni")
zx_library("minfs") {
sdk = "source"
sdk_headers = [
"minfs/fsck.h",
"minfs/bcache.h",
"minfs/superblock.h",
"minfs/inspector.h",
"minfs/writeback.h",
"minfs/transaction_limits.h",
"minfs/allocator_reservation.h",
"minfs/format.h",
"minfs/mutex.h",
"minfs/minfs.h",
"minfs/host.h",
"minfs/metrics.h",
"minfs/pending_work.h",
"minfs/command_handler.h",
"minfs/minfs_inspector.h",
]
host = true
static = true
sources = [
"allocator/allocator_common.cc",
"allocator/allocator_reservation.cc",
"allocator/metadata.cc",
"allocator/storage_common.cc",
"buffer_view.cc",
"directory.cc",
"file.cc",
"fsck.cc",
"lazy_buffer.cc",
"lazy_reader.cc",
"metrics.cc",
"minfs.cc",
"resizeable_array_buffer.cc",
"transaction_limits.cc",
"vnode.cc",
"vnode_mapper.cc",
"writeback.cc",
]
if (is_fuchsia) {
sources += [ "resizeable_vmo_buffer.cc" ]
} else {
sources += [
"allocator/allocator_host.cc",
"allocator/inode_manager_host.cc",
"allocator/storage_host.cc",
"bcache_host.cc",
"host.cc",
"superblock_host.cc",
]
}
public_deps = [
"//zircon/public/lib/bitmap",
#"//zircon/system/ulib/disk_inspector",
"//zircon/public/lib/fbl",
"//zircon/public/lib/fs",
"//zircon/system/ulib/fs/journal",
"//zircon/system/ulib/fs/transaction",
# <minfs/bcache.h> has #include <fvm/client.h>.
"//zircon/public/lib/operation",
"//zircon/system/ulib/fvm",
]
deps = [
"//zircon/public/lib/bitmap",
"//zircon/public/lib/cksum",
"//zircon/public/lib/fbl",
"//zircon/public/lib/fit",
"//zircon/public/lib/fs",
"//zircon/public/lib/operation",
"//zircon/public/lib/range",
"//zircon/public/lib/safemath",
"//zircon/public/lib/zircon-internal",
"//zircon/public/lib/zxc",
"//zircon/system/ulib/disk_inspector",
"//zircon/system/ulib/fs/transaction",
"//zircon/system/ulib/storage/buffer",
]
if (is_fuchsia) {
public_deps += [
"//sdk/fidl/fuchsia.hardware.block.volume:fuchsia.hardware.block.volume_c",
"//zircon/public/lib/fzl",
"//zircon/public/lib/zx",
"//zircon/system/fidl/fuchsia-hardware-block:c",
"//zircon/system/fidl/fuchsia-minfs:llcpp",
"//zircon/system/ulib/block-client",
"//zircon/system/ulib/storage-metrics",
]
deps += [
"//zircon/public/lib/async",
"//zircon/public/lib/async-cpp",
"//zircon/public/lib/async-default",
"//zircon/public/lib/async-loop",
"//zircon/public/lib/async-loop-cpp",
"//zircon/public/lib/async-loop-default",
"//zircon/public/lib/fdio",
"//zircon/public/lib/fidl",
"//zircon/public/lib/fzl",
"//zircon/public/lib/operation",
"//zircon/public/lib/sync",
"//zircon/public/lib/trace",
"//zircon/public/lib/trace-engine",
"//zircon/public/lib/zx",
"//zircon/system/fidl/fuchsia-device:c",
"//zircon/system/fidl/fuchsia-device:llcpp",
"//zircon/system/fidl/fuchsia-io:llcpp",
"//zircon/system/fidl/fuchsia-minfs:llcpp",
"//zircon/system/ulib/fdio-caller",
"//zircon/system/ulib/fidl-utils",
"//zircon/system/ulib/fs/journal",
"//zircon/system/ulib/fvm",
"//zircon/system/ulib/storage-metrics",
]
sources += [
"allocator/allocator.cc",
"allocator/inode_manager.cc",
"allocator/storage.cc",
"bcache.cc",
"inspector.cc",
"inspector/command_handler.cc",
"inspector/disk_struct.cc",
"inspector/loader.cc",
"inspector/minfs_inspector.cc",
"inspector/parser.cc",
"inspector_inode.cc",
"inspector_inode_table.cc",
"inspector_superblock.cc",
"superblock.cc",
"vmo_indirect.cc",
"vnode_allocation.cc",
]
} else {
public_deps += [ "//zircon/public/lib/zircon-headers" ]
}
include_dirs = [ "." ]
}