// Copyright (C) 2018 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
cc_defaults {
name: "recovery_defaults",
cflags: [
"-D_FILE_OFFSET_BITS=64",
// Must be the same as RECOVERY_API_VERSION.
"-DRECOVERY_API_VERSION=3",
"-Wall",
"-Werror",
],
cpp_std: "c++17",
}
cc_library {
name: "librecovery_ui",
recovery_available: true,
defaults: [
"recovery_defaults",
],
srcs: [
"device.cpp",
"screen_ui.cpp",
"ui.cpp",
"vr_ui.cpp",
"wear_ui.cpp"
],
static_libs: [
"libminui",
"libotautil",
],
shared_libs: [
"libbase",
"libpng",
"libz",
],
}
// Generic device that uses ScreenRecoveryUI.
cc_library_static {
name: "librecovery_ui_default",
recovery_available: true,
defaults: [
"recovery_defaults",
],
srcs: [
"default_device.cpp",
],
}
// The default wear device that uses WearRecoveryUI.
cc_library_static {
name: "librecovery_ui_wear",
recovery_available: true,
defaults: [
"recovery_defaults",
],
srcs: [
"wear_device.cpp",
],
}
// The default VR device that uses VrRecoveryUI.
cc_library_static {
name: "librecovery_ui_vr",
recovery_available: true,
defaults: [
"recovery_defaults",
],
srcs: [
"vr_device.cpp",
],
}
cc_library_static {
name: "librecovery_fastboot",
recovery_available: true,
defaults: [
"recovery_defaults",
],
srcs: [
"fastboot/fastboot.cpp",
],
shared_libs: [
"libbase",
"libbootloader_message",
"libcutils",
"liblog",
],
static_libs: [
"librecovery_ui_default",
],
}
cc_defaults {
name: "librecovery_defaults",
defaults: [
"recovery_defaults",
],
shared_libs: [
"android.hardware.health@2.0",
"libbase",
"libbootloader_message",
"libcrypto",
"libcutils",
"libext4_utils",
"libfs_mgr",
"libfusesideload",
"libhidl-gen-utils",
"libhidlbase",
"libhidltransport",
"liblog",
"libpng",
"libselinux",
"libtinyxml2",
"libutils",
"libz",
"libziparchive",
],
static_libs: [
"librecovery_fastboot",
"libminui",
"libverifier",
"libotautil",
// external dependencies
"libhealthhalutils",
"libvintf_recovery",
"libvintf",
],
}
cc_library_static {
name: "librecovery",
recovery_available: true,
defaults: [
"librecovery_defaults",
],
srcs: [
"adb_install.cpp",
"fsck_unshare_blocks.cpp",
"fuse_sdcard_provider.cpp",
"install.cpp",
"recovery.cpp",
"roots.cpp",
],
include_dirs: [
"system/vold",
],
}
cc_library_static {
name: "libverifier",
recovery_available: true,
defaults: [
"recovery_defaults",
],
srcs: [
"asn1_decoder.cpp",
"verifier.cpp",
],
shared_libs: [
"libbase",
"libcrypto",
"libcrypto_utils",
],
static_libs: [
"libotautil",
],
}
cc_binary {
name: "recovery",
recovery: true,
defaults: [
"librecovery_defaults",
],
srcs: [
"logging.cpp",
"recovery_main.cpp",
],
shared_libs: [
"libminadbd_services",
"librecovery_ui",
],
static_libs: [
"librecovery",
"librecovery_ui_default",
],
required: [
"e2fsdroid.recovery",
"librecovery_ui_ext",
"mke2fs.conf.recovery",
"mke2fs.recovery",
"recovery_deps",
],
}
// The dynamic executable that runs after /data mounts.
cc_binary {
name: "recovery-persist",
defaults: [
"recovery_defaults",
],
srcs: [
"logging.cpp",
"recovery-persist.cpp",
],
shared_libs: [
"libbase",
"liblog",
"libmetricslogger",
],
static_libs: [
"libotautil",
],
init_rc: [
"recovery-persist.rc",
],
}
// The dynamic executable that runs at init.
cc_binary {
name: "recovery-refresh",
defaults: [
"recovery_defaults",
],
srcs: [
"logging.cpp",
"recovery-refresh.cpp",
],
shared_libs: [
"libbase",
"liblog",
],
static_libs: [
"libotautil",
],
init_rc: [
"recovery-refresh.rc",
],
}
filegroup {
name: "res-testdata",
srcs: [
"res-*/images/*_text.png",
],
}