blob: e33b2a82abf0d3a8fb4c584ec928c8ba718880f5 [file] [log] [blame]
cc_defaults {
name: "installd_defaults",
cflags: [
"-Wall",
"-Werror",
"-Wextra",
"-Wunreachable-code",
"-Wunreachable-code-break",
"-Wunreachable-code-return",
],
srcs: [
"CacheItem.cpp",
"CacheTracker.cpp",
"InstalldNativeService.cpp",
"QuotaUtils.cpp",
"dexopt.cpp",
"globals.cpp",
"utils.cpp",
"utils_default.cpp",
"view_compiler.cpp",
":installd_aidl",
],
header_libs: [
"dex2oat_headers",
],
shared_libs: [
"libbase",
"libbinder",
"libcrypto",
"libcutils",
"liblog",
"liblogwrap",
"libprocessgroup",
"libselinux",
"libutils",
],
product_variables: {
arc: {
exclude_srcs: [
"QuotaUtils.cpp",
],
static_libs: [
"libarcdiskquota",
"arc_services_aidl",
],
cflags: [
"-DUSE_ARC",
],
},
},
clang: true,
tidy: true,
tidy_checks: [
"-*",
"clang-analyzer-security*",
"cert-*",
"-cert-err58-cpp",
],
tidy_flags: [
"-warnings-as-errors=clang-analyzer-security*,cert-*"
],
}
//
// Static library used in testing and executable
//
cc_library_static {
name: "libinstalld",
defaults: ["installd_defaults"],
export_include_dirs: ["."],
aidl: {
export_aidl_headers: true,
},
product_variables: {
arc: {
exclude_srcs: [
"QuotaUtils.cpp",
],
static_libs: [
"libarcdiskquota",
"arc_services_aidl",
],
cflags: [
"-DUSE_ARC",
],
},
},
}
cc_library_headers {
name: "libinstalld_headers",
export_include_dirs: ["."],
}
//
// Executable
//
cc_binary {
name: "installd",
defaults: ["installd_defaults"],
srcs: ["installd.cpp"],
static_libs: ["libdiskusage"],
init_rc: ["installd.rc"],
product_variables: {
arc: {
exclude_srcs: [
"QuotaUtils.cpp",
],
static_libs: [
"libarcdiskquota",
"arc_services_aidl",
],
cflags: [
"-DUSE_ARC",
],
},
},
}
// OTA chroot tool
cc_binary {
name: "otapreopt_chroot",
cflags: [
"-Wall",
"-Werror",
],
clang: true,
srcs: [
"otapreopt_chroot.cpp",
"otapreopt_utils.cpp",
],
shared_libs: [
"libbase",
"liblog",
"libprotobuf-cpp-full",
"libselinux",
"libziparchive",
],
static_libs: [
"libapex",
"libapexd",
"lib_apex_manifest_proto",
"libavb",
"libdm",
],
}
filegroup {
name: "installd_aidl",
srcs: [
"binder/android/os/IInstalld.aidl",
],
}
//
// Static library for otapreopt used in testing
//
cc_library_static {
name: "libotapreoptparameters",
cflags: [
"-Wall",
"-Werror"
],
srcs: ["otapreopt_parameters.cpp"],
export_include_dirs: ["."],
shared_libs: [
"libbase",
"libcutils",
"liblog",
"libprocessgroup",
"libutils",
],
}
//
// OTA Executable
//
cc_binary {
name: "otapreopt",
cflags: [
"-Wall",
"-Werror"
],
srcs: [
"dexopt.cpp",
"globals.cpp",
"otapreopt.cpp",
"otapreopt_utils.cpp",
"utils.cpp",
"utils_default.cpp",
"view_compiler.cpp",
],
header_libs: ["dex2oat_headers"],
static_libs: [
"libartimagevalues",
"libdiskusage",
"libotapreoptparameters",
],
shared_libs: [
"libbase",
"libcrypto",
"libcutils",
"liblog",
"liblogwrap",
"libprocessgroup",
"libselinux",
"libutils",
],
}
// OTA slot script
sh_binary {
name: "otapreopt_slot",
src: "otapreopt_slot.sh",
init_rc: ["otapreopt.rc"],
}
// OTA postinstall script
sh_binary {
name: "otapreopt_script",
src: "otapreopt_script.sh",
// Let this depend on otapreopt, the chroot tool and the slot script,
// so we just have to mention one in a configuration.
required: [
"otapreopt",
"otapreopt_chroot",
"otapreopt_slot",
],
}