blob: 3022bbdaf8f56a17e3102d48c0294b6dfd4b5c80 [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 = [
":bio_crypto_init",
":bio_fw_updater",
":bio_wash",
":biod",
":biod_client_tool",
":libbiod",
]
if (use.test) {
deps += [ ":biod_test_runner" ]
}
if (use.fuzzer) {
deps += [
":biod_crypto_validation_value_fuzzer",
":biod_storage_fuzzer",
]
}
}
pkg_config("target_defaults") {
# TODO(crbug.com/993557): Remove |fp_on_power_button| USE flag when nocturne
# is EOL.
if (use.fp_on_power_button) {
defines = [ "FP_ON_POWER_BUTTON" ]
}
# NOSORT
pkg_deps = [
"libbrillo",
"libchrome",
"libcros_config",
"libmetrics",
"libpower_manager-client",
"fmap",
"openssl",
# system_api depends on protobuf (or protobuf-lite). It must appear
# before protobuf here or the linker flags won't be in the right
# order.
"system_api",
]
if (use.fuzzer) {
pkg_deps += [ "protobuf" ]
} else {
pkg_deps += [ "protobuf-lite" ]
}
}
static_library("libbiod") {
sources = [
"biod_config.cc",
"biod_crypto.cc",
"biod_metrics.cc",
"biod_storage.cc",
"biod_system.cc",
"biometrics_daemon.cc",
"cros_fp_biometrics_manager.cc",
"cros_fp_device.cc",
"cros_fp_firmware.cc",
"crypto_init/bio_crypto_init.cc",
"ec_command_factory.cc",
"fp_context_command.cc",
"fp_context_command_factory.cc",
"fp_flashprotect_command.cc",
"fp_frame_command.cc",
"fp_info_command.cc",
"fp_mode.cc",
"fp_seed_command.cc",
"power_button_filter.cc",
"power_manager_client.cc",
"uinput_device.cc",
"updater/cros_fp_updater.cc",
"updater/update_utils.cc",
"versions_command.cc",
]
configs += [ ":target_defaults" ]
pkg_deps = [ "vboot_host" ]
}
static_library("fake_libbiod") {
sources = [ "fake_power_manager_client.cc" ]
configs += [ ":target_defaults" ]
}
executable("biod") {
sources = [ "main.cc" ]
configs += [ ":target_defaults" ]
deps = [ ":libbiod" ]
}
executable("bio_crypto_init") {
sources = [
"crypto_init/bio_crypto_init.cc",
"tools/bio_crypto_init_main.cc",
]
configs += [ ":target_defaults" ]
deps = [ ":libbiod" ]
}
executable("bio_wash") {
sources = [ "tools/bio_wash.cc" ]
configs += [ ":target_defaults" ]
deps = [ ":libbiod" ]
}
executable("biod_client_tool") {
sources = [ "tools/biod_client_tool.cc" ]
configs += [ ":target_defaults" ]
libs = [ "biod_proxy" ]
}
executable("bio_fw_updater") {
sources = [ "tools/bio_fw_updater.cc" ]
configs += [ ":target_defaults" ]
deps = [ ":libbiod" ]
}
if (use.test) {
pkg_config("libchrome_test_config") {
pkg_deps = [ "libchrome-test" ]
}
executable("biod_test_runner") {
sources = [
"biod_crypto_test.cc",
"biod_metrics_test.cc",
"biod_storage_test.cc",
"biod_system_test.cc",
"cros_fp_biometrics_manager_test.cc",
"cros_fp_device_test.cc",
"cros_fp_firmware_test.cc",
"crypto_init/bio_crypto_init_test.cc",
"ec_command_async_test.cc",
"ec_command_test.cc",
"fp_context_command_factory_test.cc",
"fp_context_command_test.cc",
"fp_flashprotect_command_test.cc",
"fp_frame_command_test.cc",
"fp_info_command_test.cc",
"fp_mode_test.cc",
"fp_seed_command_test.cc",
"power_button_filter_test.cc",
"power_manager_client_test.cc",
"updater/cros_fp_updater_test.cc",
"updater/update_utils_test.cc",
"versions_command_test.cc",
]
configs += [
"//common-mk:test",
":libchrome_test_config",
":target_defaults",
]
deps = [
":fake_libbiod",
":libbiod",
"//common-mk/testrunner",
]
}
}
if (use.fuzzer) {
pkg_config("libchrome_test_config") {
pkg_deps = [ "libchrome-test" ]
}
executable("biod_storage_fuzzer") {
sources = [ "biod_storage_fuzzer.cc" ]
configs += [
"//common-mk/common_fuzzer",
":libchrome_test_config",
":target_defaults",
]
deps = [ ":libbiod" ]
}
executable("biod_crypto_validation_value_fuzzer") {
sources = [ "biod_crypto_validation_value_fuzzer.cc" ]
configs += [
"//common-mk/common_fuzzer",
":libchrome_test_config",
":target_defaults",
]
deps = [ ":libbiod" ]
}
}