blob: 5ddd61ff3c1e653cb0bc5ef0a89601c6ad4342f8 [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")
config("headers_config") {
include_dirs = [ "." ]
}
source_set("private_headers") {
visibility = [ "./*" ]
sources = [
"allocator/extent-reserver.h",
"allocator/node-reserver.h",
"compression/chunked.h",
"compression/compressor.h",
"compression/decompressor.h",
"compression/lz4.h",
"compression/seekable-decompressor.h",
"compression/zstd-plain.h",
"compression/zstd-seekable.h",
"inspector/parser.h",
"iterator/allocated-extent-iterator.h",
"iterator/block-iterator-provider.h",
"iterator/block-iterator.h",
"iterator/extent-iterator.h",
"iterator/vector-extent-iterator.h",
]
if (is_fuchsia) {
sources += [
"allocator/allocator.h",
"compression/blob-compressor.h",
"compression/zstd-compressed-block-collection.h",
"compression/zstd-seekable-blob-collection.h",
"compression/zstd-seekable-blob.h",
"iterator/node-populator.h",
"pager/page-watcher.h",
"pager/user-pager.h",
]
}
public_configs = [ ":headers_config" ]
}
zx_library("blobfs") {
host = true
sdk = "source"
sdk_headers = [
"blobfs/common.h",
"blobfs/host.h",
"blobfs/format.h",
"blobfs/mount.h",
"blobfs/host",
"blobfs/host/fsck.h",
"blobfs/node-finder.h",
"blobfs/fsck.h",
"blobfs/cache-policy.h",
"blobfs/mkfs.h",
"blobfs/blobfs_inspector.h",
]
sources = [
"allocator/extent-reserver.cc",
"allocator/node-reserver.cc",
"blobfs-checker.cc",
"common.cc",
"compression-algorithm.cc",
"compression/chunked.cc",
"compression/chunked.h",
"compression/compressor.h",
"compression/compressor.h",
"compression/decompressor.cc",
"compression/lz4.cc",
"compression/zstd-plain.cc",
"compression/zstd-seekable.cc",
"inspector/blobfs_inspector.cc",
"inspector/parser.cc",
"iterator/allocated-extent-iterator.cc",
"iterator/block-iterator.cc",
"iterator/vector-extent-iterator.cc",
]
public_deps = [
"//zircon/public/lib/bitmap",
"//zircon/public/lib/fs",
"//zircon/public/lib/range",
"//zircon/public/lib/zxc",
"//zircon/system/ulib/fs/journal",
"//zircon/system/ulib/fs/transaction",
"//zircon/system/ulib/storage/buffer",
# Seekable zstd include_dirs config required for all compilation units that incorporate it.
"//third_party/zstd:zstdseek",
# <blobfs/format.h> has #include <digest/digest.h>.
"//zircon/public/lib/digest",
]
deps = [
":private_headers",
"//src/lib/chunked-compression",
"//third_party/boringssl",
"//third_party/zstd",
"//third_party/zstd:zstdseek",
"//zircon/public/lib/bitmap",
"//zircon/public/lib/cksum",
"//zircon/public/lib/digest",
"//zircon/public/lib/fbl",
"//zircon/public/lib/fit",
"//zircon/public/lib/lz4",
"//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/journal",
"//zircon/system/ulib/fs/transaction",
"//zircon/system/ulib/fvm",
"//zircon/system/ulib/storage/buffer",
]
if (is_fuchsia) {
sources += [
"allocator/allocator.cc",
"blob-cache.cc",
"blob-loader.cc",
"blob-verifier.cc",
"blob.cc",
"blobfs.cc",
"cache-node.cc",
"compression/blob-compressor.cc",
"compression/blob-compressor.h",
"compression/zstd-compressed-block-collection.cc",
"compression/zstd-seekable-blob-collection.cc",
"compression/zstd-seekable-blob.cc",
"directory.cc",
"format.cc",
"fsck.cc",
"iterator/node-populator.cc",
"metrics.cc",
"mount.cc",
"pager/page-watcher.cc",
"pager/user-pager.cc",
"query.cc",
"runner.cc",
]
public_deps += [
"//sdk/fidl/fuchsia.blobfs:fuchsia.blobfs_llcpp",
"//zircon/system/ulib/block-client",
"//zircon/system/ulib/fs/metrics:metrics-cobalt",
"//zircon/system/ulib/fs/metrics:metrics-composite-latency-event",
"//zircon/system/ulib/fs/metrics:metrics-inspect",
]
deps += [
"//sdk/fidl/fuchsia.blobfs:fuchsia.blobfs_llcpp",
"//sdk/fidl/fuchsia.fs:fuchsia.fs_llcpp",
"//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-async-cpp",
"//zircon/public/lib/fzl",
"//zircon/public/lib/metrics",
"//zircon/public/lib/sync",
"//zircon/public/lib/trace",
"//zircon/public/lib/trace-engine",
"//zircon/public/lib/trace-provider-with-fdio",
"//zircon/public/lib/zx",
"//zircon/system/fidl/fuchsia-io:llcpp",
"//zircon/system/ulib/block-client",
"//zircon/system/ulib/fidl-utils",
"//zircon/system/ulib/id_allocator",
]
} else {
sources += [
"fsck-host.cc",
"host.cc",
]
deps += [ "//zircon/system/ulib/fs-host" ]
}
include_dirs = [ "." ]
}