| # 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 = [ "." ] |
| } |