blob: c1eae212ecdb4a86ec23ef698ae01c6a19555aff [file] [log] [blame]
# Copyright 2018 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//common-mk/pkg_config.gni")
group("all") {
deps = [
":arc-obb-mounter",
":generate_squashfs",
":mount-obb",
]
if (use.test) {
deps += [ ":arc-obb-mounter_testrunner" ]
}
if (use.fuzzer) {
deps += [ ":mount-obb_fuzzer" ]
}
}
pkg_config("target_defaults_pkg_config") {
pkg_deps = [
"fuse",
"libbrillo",
"libcap",
"libchrome-${libbase_ver}",
]
}
config("target_defaults") {
configs = [ ":target_defaults_pkg_config" ]
defines = [ "FUSE_USE_VERSION=26" ]
}
static_library("libmount_obb") {
sources = [
"mount_obb_fuse_main.cc",
"util.cc",
"volume.cc",
]
configs += [ ":target_defaults" ]
}
executable("arc-obb-mounter") {
sources = [
"arc_obb_mounter.cc",
"mount.cc",
"service.cc",
]
configs += [ ":target_defaults" ]
}
executable("mount-obb") {
sources = [ "mount_obb.cc" ]
configs += [ ":target_defaults" ]
deps = [ ":libmount_obb" ]
}
action("mkdir_squashfs_source_dir") {
inputs = []
output_dir = "${root_gen_dir}/squashfs_source_dir"
outputs = [ "${output_dir}" ]
script = "//common-mk/file_generator_wrapper.py"
args = [
"mkdir",
"-p",
"${output_dir}",
]
}
action("generate_squashfs") {
inputs = [ "${root_gen_dir}/squashfs_source_dir" ]
outputs = [ "${root_out_dir}/rootfs.squashfs" ]
script = "//common-mk/file_generator_wrapper.py"
args = [
"mksquashfs",
"${root_gen_dir}/squashfs_source_dir",
"${root_out_dir}/rootfs.squashfs",
"-no-progress",
"-info",
"-all-root",
"-noappend",
"-comp",
"lzo",
"-b",
"4K",
"-p",
"/data d 700 0 0",
"-p",
"/dev d 700 0 0",
"-p",
"/dev/fuse c 666 root root 10 229",
"-p",
"/lib d 700 0 0",
"-p",
"/lib64 d 700 0 0",
"-p",
"/proc d 700 0 0",
"-p",
"/run d 700 0 0",
"-p",
"/run/dbus d 700 0 0",
"-p",
"/usr d 700 0 0",
"-p",
"/var d 700 0 0",
"-p",
"/var/run d 700 0 0",
"-p",
"/var/run/arc d 700 0 0",
"-p",
"/var/run/arc/obb d 700 0 0",
]
deps = [ ":mkdir_squashfs_source_dir" ]
}
if (use.test) {
executable("arc-obb-mounter_testrunner") {
sources = [ "util_test.cc" ]
configs += [
"//common-mk:test",
":target_defaults",
]
defines = [ "UNIT_TEST" ]
deps = [
":libmount_obb",
"//common-mk/testrunner:testrunner",
]
}
}
if (use.fuzzer) {
executable("mount-obb_fuzzer") {
configs += [
"//common-mk/common_fuzzer",
":target_defaults",
]
sources = [ "mount_obb_fuzzer.cc" ]
deps = [ ":libmount_obb" ]
}
}