1*38e8c45fSAndroid Build Coastguard Workerpackage { 2*38e8c45fSAndroid Build Coastguard Worker // See: http://go/android-license-faq 3*38e8c45fSAndroid Build Coastguard Worker // A large-scale-change added 'default_applicable_licenses' to import 4*38e8c45fSAndroid Build Coastguard Worker // all of the 'license_kinds' from "frameworks_native_license" 5*38e8c45fSAndroid Build Coastguard Worker // to get the below license kinds: 6*38e8c45fSAndroid Build Coastguard Worker // SPDX-license-identifier-Apache-2.0 7*38e8c45fSAndroid Build Coastguard Worker default_applicable_licenses: ["frameworks_native_license"], 8*38e8c45fSAndroid Build Coastguard Worker} 9*38e8c45fSAndroid Build Coastguard Worker 10*38e8c45fSAndroid Build Coastguard Workercc_defaults { 11*38e8c45fSAndroid Build Coastguard Worker name: "installd_defaults", 12*38e8c45fSAndroid Build Coastguard Worker 13*38e8c45fSAndroid Build Coastguard Worker cflags: [ 14*38e8c45fSAndroid Build Coastguard Worker "-Wall", 15*38e8c45fSAndroid Build Coastguard Worker "-Werror", 16*38e8c45fSAndroid Build Coastguard Worker "-Wextra", 17*38e8c45fSAndroid Build Coastguard Worker 18*38e8c45fSAndroid Build Coastguard Worker "-Wunreachable-code", 19*38e8c45fSAndroid Build Coastguard Worker "-Wunreachable-code-break", 20*38e8c45fSAndroid Build Coastguard Worker "-Wunreachable-code-return", 21*38e8c45fSAndroid Build Coastguard Worker ], 22*38e8c45fSAndroid Build Coastguard Worker srcs: [ 23*38e8c45fSAndroid Build Coastguard Worker "CacheItem.cpp", 24*38e8c45fSAndroid Build Coastguard Worker "CacheTracker.cpp", 25*38e8c45fSAndroid Build Coastguard Worker "CrateManager.cpp", 26*38e8c45fSAndroid Build Coastguard Worker "InstalldNativeService.cpp", 27*38e8c45fSAndroid Build Coastguard Worker "QuotaUtils.cpp", 28*38e8c45fSAndroid Build Coastguard Worker "SysTrace.cpp", 29*38e8c45fSAndroid Build Coastguard Worker "dexopt.cpp", 30*38e8c45fSAndroid Build Coastguard Worker "execv_helper.cpp", 31*38e8c45fSAndroid Build Coastguard Worker "globals.cpp", 32*38e8c45fSAndroid Build Coastguard Worker "restorable_file.cpp", 33*38e8c45fSAndroid Build Coastguard Worker "run_dex2oat.cpp", 34*38e8c45fSAndroid Build Coastguard Worker "unique_file.cpp", 35*38e8c45fSAndroid Build Coastguard Worker "utils.cpp", 36*38e8c45fSAndroid Build Coastguard Worker "utils_default.cpp", 37*38e8c45fSAndroid Build Coastguard Worker ":installd_aidl", 38*38e8c45fSAndroid Build Coastguard Worker ], 39*38e8c45fSAndroid Build Coastguard Worker shared_libs: [ 40*38e8c45fSAndroid Build Coastguard Worker "libbase", 41*38e8c45fSAndroid Build Coastguard Worker "libbinder", 42*38e8c45fSAndroid Build Coastguard Worker "libcrypto", 43*38e8c45fSAndroid Build Coastguard Worker "libcutils", 44*38e8c45fSAndroid Build Coastguard Worker "liblog", 45*38e8c45fSAndroid Build Coastguard Worker "liblogwrap", 46*38e8c45fSAndroid Build Coastguard Worker "libprocessgroup", 47*38e8c45fSAndroid Build Coastguard Worker "libselinux", 48*38e8c45fSAndroid Build Coastguard Worker "libutils", 49*38e8c45fSAndroid Build Coastguard Worker "libziparchive", 50*38e8c45fSAndroid Build Coastguard Worker "server_configurable_flags", 51*38e8c45fSAndroid Build Coastguard Worker ], 52*38e8c45fSAndroid Build Coastguard Worker static_libs: [ 53*38e8c45fSAndroid Build Coastguard Worker "libasync_safe", 54*38e8c45fSAndroid Build Coastguard Worker "libext2_uuid", 55*38e8c45fSAndroid Build Coastguard Worker ], 56*38e8c45fSAndroid Build Coastguard Worker export_shared_lib_headers: [ 57*38e8c45fSAndroid Build Coastguard Worker "libbinder", 58*38e8c45fSAndroid Build Coastguard Worker ], 59*38e8c45fSAndroid Build Coastguard Worker 60*38e8c45fSAndroid Build Coastguard Worker product_variables: { 61*38e8c45fSAndroid Build Coastguard Worker arc: { 62*38e8c45fSAndroid Build Coastguard Worker exclude_srcs: [ 63*38e8c45fSAndroid Build Coastguard Worker "QuotaUtils.cpp", 64*38e8c45fSAndroid Build Coastguard Worker ], 65*38e8c45fSAndroid Build Coastguard Worker static_libs: [ 66*38e8c45fSAndroid Build Coastguard Worker "libarcdiskquota", 67*38e8c45fSAndroid Build Coastguard Worker "arc_services_aidl", 68*38e8c45fSAndroid Build Coastguard Worker ], 69*38e8c45fSAndroid Build Coastguard Worker cflags: [ 70*38e8c45fSAndroid Build Coastguard Worker "-DUSE_ARC", 71*38e8c45fSAndroid Build Coastguard Worker ], 72*38e8c45fSAndroid Build Coastguard Worker }, 73*38e8c45fSAndroid Build Coastguard Worker }, 74*38e8c45fSAndroid Build Coastguard Worker 75*38e8c45fSAndroid Build Coastguard Worker tidy: true, 76*38e8c45fSAndroid Build Coastguard Worker tidy_checks: [ 77*38e8c45fSAndroid Build Coastguard Worker "-*", 78*38e8c45fSAndroid Build Coastguard Worker "clang-analyzer-security*", 79*38e8c45fSAndroid Build Coastguard Worker "cert-*", 80*38e8c45fSAndroid Build Coastguard Worker "-cert-err58-cpp", 81*38e8c45fSAndroid Build Coastguard Worker ], 82*38e8c45fSAndroid Build Coastguard Worker tidy_checks_as_errors: [ 83*38e8c45fSAndroid Build Coastguard Worker "clang-analyzer-security*", 84*38e8c45fSAndroid Build Coastguard Worker "cert-*", 85*38e8c45fSAndroid Build Coastguard Worker ], 86*38e8c45fSAndroid Build Coastguard Worker} 87*38e8c45fSAndroid Build Coastguard Worker 88*38e8c45fSAndroid Build Coastguard Worker// 89*38e8c45fSAndroid Build Coastguard Worker// Static library used in testing and executable 90*38e8c45fSAndroid Build Coastguard Worker// 91*38e8c45fSAndroid Build Coastguard Worker 92*38e8c45fSAndroid Build Coastguard Workercc_library_static { 93*38e8c45fSAndroid Build Coastguard Worker name: "libinstalld", 94*38e8c45fSAndroid Build Coastguard Worker defaults: ["installd_defaults"], 95*38e8c45fSAndroid Build Coastguard Worker 96*38e8c45fSAndroid Build Coastguard Worker export_include_dirs: ["."], 97*38e8c45fSAndroid Build Coastguard Worker aidl: { 98*38e8c45fSAndroid Build Coastguard Worker export_aidl_headers: true, 99*38e8c45fSAndroid Build Coastguard Worker }, 100*38e8c45fSAndroid Build Coastguard Worker 101*38e8c45fSAndroid Build Coastguard Worker product_variables: { 102*38e8c45fSAndroid Build Coastguard Worker arc: { 103*38e8c45fSAndroid Build Coastguard Worker exclude_srcs: [ 104*38e8c45fSAndroid Build Coastguard Worker "QuotaUtils.cpp", 105*38e8c45fSAndroid Build Coastguard Worker ], 106*38e8c45fSAndroid Build Coastguard Worker static_libs: [ 107*38e8c45fSAndroid Build Coastguard Worker "libarcdiskquota", 108*38e8c45fSAndroid Build Coastguard Worker "arc_services_aidl", 109*38e8c45fSAndroid Build Coastguard Worker ], 110*38e8c45fSAndroid Build Coastguard Worker cflags: [ 111*38e8c45fSAndroid Build Coastguard Worker "-DUSE_ARC", 112*38e8c45fSAndroid Build Coastguard Worker ], 113*38e8c45fSAndroid Build Coastguard Worker }, 114*38e8c45fSAndroid Build Coastguard Worker }, 115*38e8c45fSAndroid Build Coastguard Worker} 116*38e8c45fSAndroid Build Coastguard Worker 117*38e8c45fSAndroid Build Coastguard Workercc_library_headers { 118*38e8c45fSAndroid Build Coastguard Worker name: "libinstalld_headers", 119*38e8c45fSAndroid Build Coastguard Worker export_include_dirs: ["."], 120*38e8c45fSAndroid Build Coastguard Worker} 121*38e8c45fSAndroid Build Coastguard Worker 122*38e8c45fSAndroid Build Coastguard Worker// 123*38e8c45fSAndroid Build Coastguard Worker// Unit tests 124*38e8c45fSAndroid Build Coastguard Worker// 125*38e8c45fSAndroid Build Coastguard Worker 126*38e8c45fSAndroid Build Coastguard Workercc_test_host { 127*38e8c45fSAndroid Build Coastguard Worker name: "run_dex2oat_test", 128*38e8c45fSAndroid Build Coastguard Worker test_suites: ["general-tests"], 129*38e8c45fSAndroid Build Coastguard Worker srcs: [ 130*38e8c45fSAndroid Build Coastguard Worker "run_dex2oat_test.cpp", 131*38e8c45fSAndroid Build Coastguard Worker "run_dex2oat.cpp", 132*38e8c45fSAndroid Build Coastguard Worker "unique_file.cpp", 133*38e8c45fSAndroid Build Coastguard Worker "execv_helper.cpp", 134*38e8c45fSAndroid Build Coastguard Worker ], 135*38e8c45fSAndroid Build Coastguard Worker cflags: [ 136*38e8c45fSAndroid Build Coastguard Worker "-Wall", 137*38e8c45fSAndroid Build Coastguard Worker "-Werror", 138*38e8c45fSAndroid Build Coastguard Worker ], 139*38e8c45fSAndroid Build Coastguard Worker shared_libs: [ 140*38e8c45fSAndroid Build Coastguard Worker "libbase", 141*38e8c45fSAndroid Build Coastguard Worker "server_configurable_flags", 142*38e8c45fSAndroid Build Coastguard Worker ], 143*38e8c45fSAndroid Build Coastguard Worker test_config: "run_dex2oat_test.xml", 144*38e8c45fSAndroid Build Coastguard Worker} 145*38e8c45fSAndroid Build Coastguard Worker 146*38e8c45fSAndroid Build Coastguard Worker// 147*38e8c45fSAndroid Build Coastguard Worker// Executable 148*38e8c45fSAndroid Build Coastguard Worker// 149*38e8c45fSAndroid Build Coastguard Worker 150*38e8c45fSAndroid Build Coastguard Workercc_binary { 151*38e8c45fSAndroid Build Coastguard Worker name: "installd", 152*38e8c45fSAndroid Build Coastguard Worker defaults: ["installd_defaults"], 153*38e8c45fSAndroid Build Coastguard Worker srcs: ["installd.cpp"], 154*38e8c45fSAndroid Build Coastguard Worker 155*38e8c45fSAndroid Build Coastguard Worker static_libs: ["libdiskusage"], 156*38e8c45fSAndroid Build Coastguard Worker 157*38e8c45fSAndroid Build Coastguard Worker init_rc: ["installd.rc"], 158*38e8c45fSAndroid Build Coastguard Worker 159*38e8c45fSAndroid Build Coastguard Worker product_variables: { 160*38e8c45fSAndroid Build Coastguard Worker arc: { 161*38e8c45fSAndroid Build Coastguard Worker exclude_srcs: [ 162*38e8c45fSAndroid Build Coastguard Worker "QuotaUtils.cpp", 163*38e8c45fSAndroid Build Coastguard Worker ], 164*38e8c45fSAndroid Build Coastguard Worker static_libs: [ 165*38e8c45fSAndroid Build Coastguard Worker "libarcdiskquota", 166*38e8c45fSAndroid Build Coastguard Worker "arc_services_aidl", 167*38e8c45fSAndroid Build Coastguard Worker ], 168*38e8c45fSAndroid Build Coastguard Worker cflags: [ 169*38e8c45fSAndroid Build Coastguard Worker "-DUSE_ARC", 170*38e8c45fSAndroid Build Coastguard Worker ], 171*38e8c45fSAndroid Build Coastguard Worker }, 172*38e8c45fSAndroid Build Coastguard Worker }, 173*38e8c45fSAndroid Build Coastguard Worker 174*38e8c45fSAndroid Build Coastguard Worker // Needs to be wherever installd is as it's execed by 175*38e8c45fSAndroid Build Coastguard Worker // installd. 176*38e8c45fSAndroid Build Coastguard Worker required: ["migrate_legacy_obb_data"], 177*38e8c45fSAndroid Build Coastguard Worker} 178*38e8c45fSAndroid Build Coastguard Worker 179*38e8c45fSAndroid Build Coastguard Worker// OTA chroot tool 180*38e8c45fSAndroid Build Coastguard Worker 181*38e8c45fSAndroid Build Coastguard Workercc_binary { 182*38e8c45fSAndroid Build Coastguard Worker name: "otapreopt_chroot", 183*38e8c45fSAndroid Build Coastguard Worker defaults: ["libapexd-deps"], 184*38e8c45fSAndroid Build Coastguard Worker cflags: [ 185*38e8c45fSAndroid Build Coastguard Worker "-Wall", 186*38e8c45fSAndroid Build Coastguard Worker "-Werror", 187*38e8c45fSAndroid Build Coastguard Worker ], 188*38e8c45fSAndroid Build Coastguard Worker 189*38e8c45fSAndroid Build Coastguard Worker srcs: [ 190*38e8c45fSAndroid Build Coastguard Worker "otapreopt_chroot.cpp", 191*38e8c45fSAndroid Build Coastguard Worker "otapreopt_utils.cpp", 192*38e8c45fSAndroid Build Coastguard Worker ], 193*38e8c45fSAndroid Build Coastguard Worker shared_libs: [ 194*38e8c45fSAndroid Build Coastguard Worker "libbase", 195*38e8c45fSAndroid Build Coastguard Worker "liblog", 196*38e8c45fSAndroid Build Coastguard Worker "libutils", 197*38e8c45fSAndroid Build Coastguard Worker ], 198*38e8c45fSAndroid Build Coastguard Worker required: [ 199*38e8c45fSAndroid Build Coastguard Worker "apexd", 200*38e8c45fSAndroid Build Coastguard Worker ], 201*38e8c45fSAndroid Build Coastguard Worker} 202*38e8c45fSAndroid Build Coastguard Worker 203*38e8c45fSAndroid Build Coastguard Workerfilegroup { 204*38e8c45fSAndroid Build Coastguard Worker name: "installd_aidl", 205*38e8c45fSAndroid Build Coastguard Worker srcs: [ 206*38e8c45fSAndroid Build Coastguard Worker "binder/**/*.aidl", 207*38e8c45fSAndroid Build Coastguard Worker ], 208*38e8c45fSAndroid Build Coastguard Worker path: "binder", 209*38e8c45fSAndroid Build Coastguard Worker} 210*38e8c45fSAndroid Build Coastguard Worker 211*38e8c45fSAndroid Build Coastguard Worker// 212*38e8c45fSAndroid Build Coastguard Worker// Static library for otapreopt used in testing 213*38e8c45fSAndroid Build Coastguard Worker// 214*38e8c45fSAndroid Build Coastguard Workercc_library_static { 215*38e8c45fSAndroid Build Coastguard Worker name: "libotapreoptparameters", 216*38e8c45fSAndroid Build Coastguard Worker cflags: [ 217*38e8c45fSAndroid Build Coastguard Worker "-Wall", 218*38e8c45fSAndroid Build Coastguard Worker "-Werror", 219*38e8c45fSAndroid Build Coastguard Worker ], 220*38e8c45fSAndroid Build Coastguard Worker 221*38e8c45fSAndroid Build Coastguard Worker srcs: ["otapreopt_parameters.cpp"], 222*38e8c45fSAndroid Build Coastguard Worker 223*38e8c45fSAndroid Build Coastguard Worker export_include_dirs: ["."], 224*38e8c45fSAndroid Build Coastguard Worker 225*38e8c45fSAndroid Build Coastguard Worker shared_libs: [ 226*38e8c45fSAndroid Build Coastguard Worker "libbase", 227*38e8c45fSAndroid Build Coastguard Worker "libcutils", 228*38e8c45fSAndroid Build Coastguard Worker "liblog", 229*38e8c45fSAndroid Build Coastguard Worker "libprocessgroup", 230*38e8c45fSAndroid Build Coastguard Worker "libutils", 231*38e8c45fSAndroid Build Coastguard Worker ], 232*38e8c45fSAndroid Build Coastguard Worker} 233*38e8c45fSAndroid Build Coastguard Worker 234*38e8c45fSAndroid Build Coastguard Worker// 235*38e8c45fSAndroid Build Coastguard Worker// OTA Executable 236*38e8c45fSAndroid Build Coastguard Worker// 237*38e8c45fSAndroid Build Coastguard Worker 238*38e8c45fSAndroid Build Coastguard Workercc_binary { 239*38e8c45fSAndroid Build Coastguard Worker name: "otapreopt", 240*38e8c45fSAndroid Build Coastguard Worker cflags: [ 241*38e8c45fSAndroid Build Coastguard Worker "-Wall", 242*38e8c45fSAndroid Build Coastguard Worker "-Werror", 243*38e8c45fSAndroid Build Coastguard Worker ], 244*38e8c45fSAndroid Build Coastguard Worker 245*38e8c45fSAndroid Build Coastguard Worker srcs: [ 246*38e8c45fSAndroid Build Coastguard Worker "dexopt.cpp", 247*38e8c45fSAndroid Build Coastguard Worker "execv_helper.cpp", 248*38e8c45fSAndroid Build Coastguard Worker "globals.cpp", 249*38e8c45fSAndroid Build Coastguard Worker "otapreopt.cpp", 250*38e8c45fSAndroid Build Coastguard Worker "otapreopt_utils.cpp", 251*38e8c45fSAndroid Build Coastguard Worker "restorable_file.cpp", 252*38e8c45fSAndroid Build Coastguard Worker "run_dex2oat.cpp", 253*38e8c45fSAndroid Build Coastguard Worker "unique_file.cpp", 254*38e8c45fSAndroid Build Coastguard Worker "utils.cpp", 255*38e8c45fSAndroid Build Coastguard Worker "utils_default.cpp", 256*38e8c45fSAndroid Build Coastguard Worker ], 257*38e8c45fSAndroid Build Coastguard Worker 258*38e8c45fSAndroid Build Coastguard Worker static_libs: [ 259*38e8c45fSAndroid Build Coastguard Worker "libasync_safe", 260*38e8c45fSAndroid Build Coastguard Worker "libdiskusage", 261*38e8c45fSAndroid Build Coastguard Worker "libotapreoptparameters", 262*38e8c45fSAndroid Build Coastguard Worker "libext2_uuid", 263*38e8c45fSAndroid Build Coastguard Worker ], 264*38e8c45fSAndroid Build Coastguard Worker 265*38e8c45fSAndroid Build Coastguard Worker shared_libs: [ 266*38e8c45fSAndroid Build Coastguard Worker "libbase", 267*38e8c45fSAndroid Build Coastguard Worker "libcrypto", 268*38e8c45fSAndroid Build Coastguard Worker "libcutils", 269*38e8c45fSAndroid Build Coastguard Worker "liblog", 270*38e8c45fSAndroid Build Coastguard Worker "liblogwrap", 271*38e8c45fSAndroid Build Coastguard Worker "libprocessgroup", 272*38e8c45fSAndroid Build Coastguard Worker "libselinux", 273*38e8c45fSAndroid Build Coastguard Worker "libutils", 274*38e8c45fSAndroid Build Coastguard Worker "libziparchive", 275*38e8c45fSAndroid Build Coastguard Worker "server_configurable_flags", 276*38e8c45fSAndroid Build Coastguard Worker ], 277*38e8c45fSAndroid Build Coastguard Worker} 278*38e8c45fSAndroid Build Coastguard Worker 279*38e8c45fSAndroid Build Coastguard Worker// OTA slot script 280*38e8c45fSAndroid Build Coastguard Workersh_binary { 281*38e8c45fSAndroid Build Coastguard Worker name: "otapreopt_slot", 282*38e8c45fSAndroid Build Coastguard Worker src: "otapreopt_slot.sh", 283*38e8c45fSAndroid Build Coastguard Worker init_rc: ["otapreopt.rc"], 284*38e8c45fSAndroid Build Coastguard Worker} 285*38e8c45fSAndroid Build Coastguard Worker 286*38e8c45fSAndroid Build Coastguard Worker// OTA postinstall script 287*38e8c45fSAndroid Build Coastguard Workersh_binary { 288*38e8c45fSAndroid Build Coastguard Worker name: "otapreopt_script", 289*38e8c45fSAndroid Build Coastguard Worker src: "otapreopt_script.sh", 290*38e8c45fSAndroid Build Coastguard Worker // Let this depend on otapreopt, the chroot tool and the slot script, 291*38e8c45fSAndroid Build Coastguard Worker // so we just have to mention one in a configuration. 292*38e8c45fSAndroid Build Coastguard Worker required: [ 293*38e8c45fSAndroid Build Coastguard Worker "otapreopt", 294*38e8c45fSAndroid Build Coastguard Worker "otapreopt_chroot", 295*38e8c45fSAndroid Build Coastguard Worker "otapreopt_slot", 296*38e8c45fSAndroid Build Coastguard Worker ], 297*38e8c45fSAndroid Build Coastguard Worker} 298*38e8c45fSAndroid Build Coastguard Worker 299*38e8c45fSAndroid Build Coastguard Worker// Script to migrate legacy obb data. 300*38e8c45fSAndroid Build Coastguard Workersh_binary { 301*38e8c45fSAndroid Build Coastguard Worker name: "migrate_legacy_obb_data", 302*38e8c45fSAndroid Build Coastguard Worker src: "migrate_legacy_obb_data.sh", 303*38e8c45fSAndroid Build Coastguard Worker} 304