1*00c7fec1SAndroid Build Coastguard Worker// 2*00c7fec1SAndroid Build Coastguard Worker// Copyright (C) 2017 The Android Open Source Project 3*00c7fec1SAndroid Build Coastguard Worker// 4*00c7fec1SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 5*00c7fec1SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 6*00c7fec1SAndroid Build Coastguard Worker// You may obtain a copy of the License at 7*00c7fec1SAndroid Build Coastguard Worker// 8*00c7fec1SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 9*00c7fec1SAndroid Build Coastguard Worker// 10*00c7fec1SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 11*00c7fec1SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 12*00c7fec1SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*00c7fec1SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 14*00c7fec1SAndroid Build Coastguard Worker// limitations under the License. 15*00c7fec1SAndroid Build Coastguard Worker// 16*00c7fec1SAndroid Build Coastguard Worker 17*00c7fec1SAndroid Build Coastguard Workerpackage { 18*00c7fec1SAndroid Build Coastguard Worker default_applicable_licenses: ["system_core_init_license"], 19*00c7fec1SAndroid Build Coastguard Worker} 20*00c7fec1SAndroid Build Coastguard Worker 21*00c7fec1SAndroid Build Coastguard Worker// Added automatically by a large-scale-change 22*00c7fec1SAndroid Build Coastguard Worker// See: http://go/android-license-faq 23*00c7fec1SAndroid Build Coastguard Workerlicense { 24*00c7fec1SAndroid Build Coastguard Worker name: "system_core_init_license", 25*00c7fec1SAndroid Build Coastguard Worker visibility: [":__subpackages__"], 26*00c7fec1SAndroid Build Coastguard Worker license_kinds: [ 27*00c7fec1SAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 28*00c7fec1SAndroid Build Coastguard Worker ], 29*00c7fec1SAndroid Build Coastguard Worker license_text: [ 30*00c7fec1SAndroid Build Coastguard Worker "NOTICE", 31*00c7fec1SAndroid Build Coastguard Worker ], 32*00c7fec1SAndroid Build Coastguard Worker} 33*00c7fec1SAndroid Build Coastguard Worker 34*00c7fec1SAndroid Build Coastguard Workerinit_common_sources = [ 35*00c7fec1SAndroid Build Coastguard Worker "action.cpp", 36*00c7fec1SAndroid Build Coastguard Worker "action_manager.cpp", 37*00c7fec1SAndroid Build Coastguard Worker "action_parser.cpp", 38*00c7fec1SAndroid Build Coastguard Worker "capabilities.cpp", 39*00c7fec1SAndroid Build Coastguard Worker "epoll.cpp", 40*00c7fec1SAndroid Build Coastguard Worker "import_parser.cpp", 41*00c7fec1SAndroid Build Coastguard Worker "interprocess_fifo.cpp", 42*00c7fec1SAndroid Build Coastguard Worker "keychords.cpp", 43*00c7fec1SAndroid Build Coastguard Worker "parser.cpp", 44*00c7fec1SAndroid Build Coastguard Worker "property_type.cpp", 45*00c7fec1SAndroid Build Coastguard Worker "rlimit_parser.cpp", 46*00c7fec1SAndroid Build Coastguard Worker "service.cpp", 47*00c7fec1SAndroid Build Coastguard Worker "service_list.cpp", 48*00c7fec1SAndroid Build Coastguard Worker "service_parser.cpp", 49*00c7fec1SAndroid Build Coastguard Worker "service_utils.cpp", 50*00c7fec1SAndroid Build Coastguard Worker "subcontext.cpp", 51*00c7fec1SAndroid Build Coastguard Worker "subcontext.proto", 52*00c7fec1SAndroid Build Coastguard Worker "tokenizer.cpp", 53*00c7fec1SAndroid Build Coastguard Worker "util.cpp", 54*00c7fec1SAndroid Build Coastguard Worker] 55*00c7fec1SAndroid Build Coastguard Workerinit_device_sources = [ 56*00c7fec1SAndroid Build Coastguard Worker "apex_init_util.cpp", 57*00c7fec1SAndroid Build Coastguard Worker "block_dev_initializer.cpp", 58*00c7fec1SAndroid Build Coastguard Worker "bootchart.cpp", 59*00c7fec1SAndroid Build Coastguard Worker "builtins.cpp", 60*00c7fec1SAndroid Build Coastguard Worker "devices.cpp", 61*00c7fec1SAndroid Build Coastguard Worker "firmware_handler.cpp", 62*00c7fec1SAndroid Build Coastguard Worker "first_stage_console.cpp", 63*00c7fec1SAndroid Build Coastguard Worker "first_stage_init.cpp", 64*00c7fec1SAndroid Build Coastguard Worker "first_stage_mount.cpp", 65*00c7fec1SAndroid Build Coastguard Worker "fscrypt_init_extensions.cpp", 66*00c7fec1SAndroid Build Coastguard Worker "init.cpp", 67*00c7fec1SAndroid Build Coastguard Worker "lmkd_service.cpp", 68*00c7fec1SAndroid Build Coastguard Worker "modalias_handler.cpp", 69*00c7fec1SAndroid Build Coastguard Worker "mount_handler.cpp", 70*00c7fec1SAndroid Build Coastguard Worker "mount_namespace.cpp", 71*00c7fec1SAndroid Build Coastguard Worker "persistent_properties.cpp", 72*00c7fec1SAndroid Build Coastguard Worker "persistent_properties.proto", 73*00c7fec1SAndroid Build Coastguard Worker "property_service.cpp", 74*00c7fec1SAndroid Build Coastguard Worker "property_service.proto", 75*00c7fec1SAndroid Build Coastguard Worker "reboot.cpp", 76*00c7fec1SAndroid Build Coastguard Worker "reboot_utils.cpp", 77*00c7fec1SAndroid Build Coastguard Worker "security.cpp", 78*00c7fec1SAndroid Build Coastguard Worker "selabel.cpp", 79*00c7fec1SAndroid Build Coastguard Worker "selinux.cpp", 80*00c7fec1SAndroid Build Coastguard Worker "sigchld_handler.cpp", 81*00c7fec1SAndroid Build Coastguard Worker "snapuserd_transition.cpp", 82*00c7fec1SAndroid Build Coastguard Worker "switch_root.cpp", 83*00c7fec1SAndroid Build Coastguard Worker "uevent_listener.cpp", 84*00c7fec1SAndroid Build Coastguard Worker "ueventd.cpp", 85*00c7fec1SAndroid Build Coastguard Worker "ueventd_parser.cpp", 86*00c7fec1SAndroid Build Coastguard Worker] 87*00c7fec1SAndroid Build Coastguard Worker 88*00c7fec1SAndroid Build Coastguard Workersoong_config_module_type { 89*00c7fec1SAndroid Build Coastguard Worker name: "libinit_cc_defaults", 90*00c7fec1SAndroid Build Coastguard Worker module_type: "cc_defaults", 91*00c7fec1SAndroid Build Coastguard Worker config_namespace: "ANDROID", 92*00c7fec1SAndroid Build Coastguard Worker bool_variables: [ 93*00c7fec1SAndroid Build Coastguard Worker "PRODUCT_INSTALL_DEBUG_POLICY_TO_SYSTEM_EXT", 94*00c7fec1SAndroid Build Coastguard Worker "release_write_appcompat_override_system_properties", 95*00c7fec1SAndroid Build Coastguard Worker ], 96*00c7fec1SAndroid Build Coastguard Worker properties: [ 97*00c7fec1SAndroid Build Coastguard Worker "cflags", 98*00c7fec1SAndroid Build Coastguard Worker ], 99*00c7fec1SAndroid Build Coastguard Worker} 100*00c7fec1SAndroid Build Coastguard Worker 101*00c7fec1SAndroid Build Coastguard Workerlibinit_cc_defaults { 102*00c7fec1SAndroid Build Coastguard Worker name: "init_defaults", 103*00c7fec1SAndroid Build Coastguard Worker sanitize: { 104*00c7fec1SAndroid Build Coastguard Worker misc_undefined: ["signed-integer-overflow"], 105*00c7fec1SAndroid Build Coastguard Worker }, 106*00c7fec1SAndroid Build Coastguard Worker cflags: [ 107*00c7fec1SAndroid Build Coastguard Worker "-DALLOW_FIRST_STAGE_CONSOLE=0", 108*00c7fec1SAndroid Build Coastguard Worker "-DALLOW_LOCAL_PROP_OVERRIDE=0", 109*00c7fec1SAndroid Build Coastguard Worker "-DALLOW_PERMISSIVE_SELINUX=0", 110*00c7fec1SAndroid Build Coastguard Worker "-DANDROID_BASE_UNIQUE_FD_DISABLE_IMPLICIT_CONVERSION", 111*00c7fec1SAndroid Build Coastguard Worker "-DDUMP_ON_UMOUNT_FAILURE=0", 112*00c7fec1SAndroid Build Coastguard Worker "-DINIT_FULL_SOURCES", 113*00c7fec1SAndroid Build Coastguard Worker "-DINSTALL_DEBUG_POLICY_TO_SYSTEM_EXT=0", 114*00c7fec1SAndroid Build Coastguard Worker "-DLOG_UEVENTS=0", 115*00c7fec1SAndroid Build Coastguard Worker "-DREBOOT_BOOTLOADER_ON_PANIC=0", 116*00c7fec1SAndroid Build Coastguard Worker "-DSHUTDOWN_ZERO_TIMEOUT=0", 117*00c7fec1SAndroid Build Coastguard Worker "-DWORLD_WRITABLE_KMSG=0", 118*00c7fec1SAndroid Build Coastguard Worker "-Wall", 119*00c7fec1SAndroid Build Coastguard Worker "-Werror", 120*00c7fec1SAndroid Build Coastguard Worker "-Wextra", 121*00c7fec1SAndroid Build Coastguard Worker "-Wno-unused-parameter", 122*00c7fec1SAndroid Build Coastguard Worker "-Wthread-safety", 123*00c7fec1SAndroid Build Coastguard Worker ], 124*00c7fec1SAndroid Build Coastguard Worker product_variables: { 125*00c7fec1SAndroid Build Coastguard Worker debuggable: { 126*00c7fec1SAndroid Build Coastguard Worker cppflags: [ 127*00c7fec1SAndroid Build Coastguard Worker "-UALLOW_FIRST_STAGE_CONSOLE", 128*00c7fec1SAndroid Build Coastguard Worker "-DALLOW_FIRST_STAGE_CONSOLE=1", 129*00c7fec1SAndroid Build Coastguard Worker "-UALLOW_LOCAL_PROP_OVERRIDE", 130*00c7fec1SAndroid Build Coastguard Worker "-DALLOW_LOCAL_PROP_OVERRIDE=1", 131*00c7fec1SAndroid Build Coastguard Worker "-UALLOW_PERMISSIVE_SELINUX", 132*00c7fec1SAndroid Build Coastguard Worker "-DALLOW_PERMISSIVE_SELINUX=1", 133*00c7fec1SAndroid Build Coastguard Worker "-UREBOOT_BOOTLOADER_ON_PANIC", 134*00c7fec1SAndroid Build Coastguard Worker "-DREBOOT_BOOTLOADER_ON_PANIC=1", 135*00c7fec1SAndroid Build Coastguard Worker "-UWORLD_WRITABLE_KMSG", 136*00c7fec1SAndroid Build Coastguard Worker "-DWORLD_WRITABLE_KMSG=1", 137*00c7fec1SAndroid Build Coastguard Worker "-UDUMP_ON_UMOUNT_FAILURE", 138*00c7fec1SAndroid Build Coastguard Worker "-DDUMP_ON_UMOUNT_FAILURE=1", 139*00c7fec1SAndroid Build Coastguard Worker ], 140*00c7fec1SAndroid Build Coastguard Worker }, 141*00c7fec1SAndroid Build Coastguard Worker eng: { 142*00c7fec1SAndroid Build Coastguard Worker cppflags: [ 143*00c7fec1SAndroid Build Coastguard Worker "-USHUTDOWN_ZERO_TIMEOUT", 144*00c7fec1SAndroid Build Coastguard Worker "-DSHUTDOWN_ZERO_TIMEOUT=1", 145*00c7fec1SAndroid Build Coastguard Worker ], 146*00c7fec1SAndroid Build Coastguard Worker }, 147*00c7fec1SAndroid Build Coastguard Worker uml: { 148*00c7fec1SAndroid Build Coastguard Worker cppflags: ["-DUSER_MODE_LINUX"], 149*00c7fec1SAndroid Build Coastguard Worker }, 150*00c7fec1SAndroid Build Coastguard Worker }, 151*00c7fec1SAndroid Build Coastguard Worker soong_config_variables: { 152*00c7fec1SAndroid Build Coastguard Worker PRODUCT_INSTALL_DEBUG_POLICY_TO_SYSTEM_EXT: { 153*00c7fec1SAndroid Build Coastguard Worker cflags: [ 154*00c7fec1SAndroid Build Coastguard Worker "-UINSTALL_DEBUG_POLICY_TO_SYSTEM_EXT", 155*00c7fec1SAndroid Build Coastguard Worker "-DINSTALL_DEBUG_POLICY_TO_SYSTEM_EXT=1", 156*00c7fec1SAndroid Build Coastguard Worker ], 157*00c7fec1SAndroid Build Coastguard Worker }, 158*00c7fec1SAndroid Build Coastguard Worker release_write_appcompat_override_system_properties: { 159*00c7fec1SAndroid Build Coastguard Worker cflags: ["-DWRITE_APPCOMPAT_OVERRIDE_SYSTEM_PROPERTIES"], 160*00c7fec1SAndroid Build Coastguard Worker }, 161*00c7fec1SAndroid Build Coastguard Worker }, 162*00c7fec1SAndroid Build Coastguard Worker static_libs: [ 163*00c7fec1SAndroid Build Coastguard Worker "libavb", 164*00c7fec1SAndroid Build Coastguard Worker "libavf_cc_flags", 165*00c7fec1SAndroid Build Coastguard Worker "libbootloader_message", 166*00c7fec1SAndroid Build Coastguard Worker "liblmkd_utils", 167*00c7fec1SAndroid Build Coastguard Worker "liblz4", 168*00c7fec1SAndroid Build Coastguard Worker "libzstd", 169*00c7fec1SAndroid Build Coastguard Worker "libmodprobe", 170*00c7fec1SAndroid Build Coastguard Worker "libprocinfo", 171*00c7fec1SAndroid Build Coastguard Worker "libprotobuf-cpp-lite", 172*00c7fec1SAndroid Build Coastguard Worker "libpropertyinfoserializer", 173*00c7fec1SAndroid Build Coastguard Worker "libpropertyinfoparser", 174*00c7fec1SAndroid Build Coastguard Worker "libsnapshot_cow", 175*00c7fec1SAndroid Build Coastguard Worker "libsnapshot_init", 176*00c7fec1SAndroid Build Coastguard Worker "libxml2", 177*00c7fec1SAndroid Build Coastguard Worker "lib_apex_manifest_proto_lite", 178*00c7fec1SAndroid Build Coastguard Worker "update_metadata-protos", 179*00c7fec1SAndroid Build Coastguard Worker "libgenfslabelsversion.ffi", 180*00c7fec1SAndroid Build Coastguard Worker ], 181*00c7fec1SAndroid Build Coastguard Worker shared_libs: [ 182*00c7fec1SAndroid Build Coastguard Worker "libbase", 183*00c7fec1SAndroid Build Coastguard Worker "libcutils", 184*00c7fec1SAndroid Build Coastguard Worker "libdl", 185*00c7fec1SAndroid Build Coastguard Worker "libext4_utils", 186*00c7fec1SAndroid Build Coastguard Worker "libfs_mgr", 187*00c7fec1SAndroid Build Coastguard Worker "libgsi", 188*00c7fec1SAndroid Build Coastguard Worker "liblog", 189*00c7fec1SAndroid Build Coastguard Worker "liblogwrap", 190*00c7fec1SAndroid Build Coastguard Worker "liblp", 191*00c7fec1SAndroid Build Coastguard Worker "libprocessgroup", 192*00c7fec1SAndroid Build Coastguard Worker "libprocessgroup_setup", 193*00c7fec1SAndroid Build Coastguard Worker "libselinux", 194*00c7fec1SAndroid Build Coastguard Worker "libunwindstack", 195*00c7fec1SAndroid Build Coastguard Worker "libutils", 196*00c7fec1SAndroid Build Coastguard Worker "libvendorsupport", 197*00c7fec1SAndroid Build Coastguard Worker ], 198*00c7fec1SAndroid Build Coastguard Worker header_libs: ["bionic_libc_platform_headers"], 199*00c7fec1SAndroid Build Coastguard Worker bootstrap: true, 200*00c7fec1SAndroid Build Coastguard Worker visibility: [":__subpackages__"], 201*00c7fec1SAndroid Build Coastguard Worker} 202*00c7fec1SAndroid Build Coastguard Worker 203*00c7fec1SAndroid Build Coastguard Workercc_library_headers { 204*00c7fec1SAndroid Build Coastguard Worker name: "libinit_headers", 205*00c7fec1SAndroid Build Coastguard Worker export_include_dirs: ["."], 206*00c7fec1SAndroid Build Coastguard Worker visibility: [":__subpackages__"], 207*00c7fec1SAndroid Build Coastguard Worker} 208*00c7fec1SAndroid Build Coastguard Worker 209*00c7fec1SAndroid Build Coastguard Workercc_defaults { 210*00c7fec1SAndroid Build Coastguard Worker name: "libinit_defaults", 211*00c7fec1SAndroid Build Coastguard Worker recovery_available: true, 212*00c7fec1SAndroid Build Coastguard Worker defaults: [ 213*00c7fec1SAndroid Build Coastguard Worker "init_defaults", 214*00c7fec1SAndroid Build Coastguard Worker "selinux_policy_version", 215*00c7fec1SAndroid Build Coastguard Worker ], 216*00c7fec1SAndroid Build Coastguard Worker srcs: init_common_sources + init_device_sources, 217*00c7fec1SAndroid Build Coastguard Worker export_include_dirs: ["."], 218*00c7fec1SAndroid Build Coastguard Worker generated_sources: [ 219*00c7fec1SAndroid Build Coastguard Worker "apex-info-list", 220*00c7fec1SAndroid Build Coastguard Worker ], 221*00c7fec1SAndroid Build Coastguard Worker whole_static_libs: [ 222*00c7fec1SAndroid Build Coastguard Worker "libcap", 223*00c7fec1SAndroid Build Coastguard Worker ], 224*00c7fec1SAndroid Build Coastguard Worker header_libs: ["bootimg_headers"], 225*00c7fec1SAndroid Build Coastguard Worker proto: { 226*00c7fec1SAndroid Build Coastguard Worker type: "lite", 227*00c7fec1SAndroid Build Coastguard Worker export_proto_headers: true, 228*00c7fec1SAndroid Build Coastguard Worker }, 229*00c7fec1SAndroid Build Coastguard Worker 230*00c7fec1SAndroid Build Coastguard Worker target: { 231*00c7fec1SAndroid Build Coastguard Worker recovery: { 232*00c7fec1SAndroid Build Coastguard Worker cflags: ["-DRECOVERY"], 233*00c7fec1SAndroid Build Coastguard Worker exclude_static_libs: [ 234*00c7fec1SAndroid Build Coastguard Worker "libxml2", 235*00c7fec1SAndroid Build Coastguard Worker ], 236*00c7fec1SAndroid Build Coastguard Worker exclude_generated_sources: [ 237*00c7fec1SAndroid Build Coastguard Worker "apex-info-list", 238*00c7fec1SAndroid Build Coastguard Worker ], 239*00c7fec1SAndroid Build Coastguard Worker exclude_shared_libs: [ 240*00c7fec1SAndroid Build Coastguard Worker "libbinder", 241*00c7fec1SAndroid Build Coastguard Worker "libutils", 242*00c7fec1SAndroid Build Coastguard Worker ], 243*00c7fec1SAndroid Build Coastguard Worker }, 244*00c7fec1SAndroid Build Coastguard Worker }, 245*00c7fec1SAndroid Build Coastguard Worker} 246*00c7fec1SAndroid Build Coastguard Worker 247*00c7fec1SAndroid Build Coastguard Workercc_library_static { 248*00c7fec1SAndroid Build Coastguard Worker name: "libinit", 249*00c7fec1SAndroid Build Coastguard Worker defaults: ["libinit_defaults"], 250*00c7fec1SAndroid Build Coastguard Worker} 251*00c7fec1SAndroid Build Coastguard Worker 252*00c7fec1SAndroid Build Coastguard Workercc_library_static { 253*00c7fec1SAndroid Build Coastguard Worker name: "libinit.microdroid", 254*00c7fec1SAndroid Build Coastguard Worker defaults: [ 255*00c7fec1SAndroid Build Coastguard Worker "avf_build_flags_cc", 256*00c7fec1SAndroid Build Coastguard Worker "libinit_defaults", 257*00c7fec1SAndroid Build Coastguard Worker ], 258*00c7fec1SAndroid Build Coastguard Worker recovery_available: false, 259*00c7fec1SAndroid Build Coastguard Worker cflags: ["-DMICRODROID=1"], 260*00c7fec1SAndroid Build Coastguard Worker} 261*00c7fec1SAndroid Build Coastguard Worker 262*00c7fec1SAndroid Build Coastguard Workerphony { 263*00c7fec1SAndroid Build Coastguard Worker name: "init", 264*00c7fec1SAndroid Build Coastguard Worker required: [ 265*00c7fec1SAndroid Build Coastguard Worker "init_second_stage", 266*00c7fec1SAndroid Build Coastguard Worker ], 267*00c7fec1SAndroid Build Coastguard Worker} 268*00c7fec1SAndroid Build Coastguard Worker 269*00c7fec1SAndroid Build Coastguard Workercc_defaults { 270*00c7fec1SAndroid Build Coastguard Worker name: "init_second_stage_defaults", 271*00c7fec1SAndroid Build Coastguard Worker stem: "init", 272*00c7fec1SAndroid Build Coastguard Worker defaults: ["init_defaults"], 273*00c7fec1SAndroid Build Coastguard Worker srcs: ["main.cpp"], 274*00c7fec1SAndroid Build Coastguard Worker symlinks: ["ueventd"], 275*00c7fec1SAndroid Build Coastguard Worker} 276*00c7fec1SAndroid Build Coastguard Worker 277*00c7fec1SAndroid Build Coastguard Workercc_binary { 278*00c7fec1SAndroid Build Coastguard Worker name: "init_second_stage", 279*00c7fec1SAndroid Build Coastguard Worker defaults: ["init_second_stage_defaults"], 280*00c7fec1SAndroid Build Coastguard Worker static_libs: ["libinit"], 281*00c7fec1SAndroid Build Coastguard Worker visibility: ["//visibility:any_system_partition"], 282*00c7fec1SAndroid Build Coastguard Worker required: [ 283*00c7fec1SAndroid Build Coastguard Worker "init.rc", 284*00c7fec1SAndroid Build Coastguard Worker "ueventd.rc", 285*00c7fec1SAndroid Build Coastguard Worker "e2fsdroid", 286*00c7fec1SAndroid Build Coastguard Worker "extra_free_kbytes", 287*00c7fec1SAndroid Build Coastguard Worker "make_f2fs", 288*00c7fec1SAndroid Build Coastguard Worker "mke2fs", 289*00c7fec1SAndroid Build Coastguard Worker "sload_f2fs", 290*00c7fec1SAndroid Build Coastguard Worker ], 291*00c7fec1SAndroid Build Coastguard Worker} 292*00c7fec1SAndroid Build Coastguard Worker 293*00c7fec1SAndroid Build Coastguard Workercc_binary { 294*00c7fec1SAndroid Build Coastguard Worker name: "init_second_stage.recovery", 295*00c7fec1SAndroid Build Coastguard Worker defaults: ["init_second_stage_defaults"], 296*00c7fec1SAndroid Build Coastguard Worker static_libs: ["libinit"], 297*00c7fec1SAndroid Build Coastguard Worker recovery: true, 298*00c7fec1SAndroid Build Coastguard Worker cflags: ["-DRECOVERY"], 299*00c7fec1SAndroid Build Coastguard Worker exclude_static_libs: [ 300*00c7fec1SAndroid Build Coastguard Worker "libxml2", 301*00c7fec1SAndroid Build Coastguard Worker ], 302*00c7fec1SAndroid Build Coastguard Worker exclude_shared_libs: [ 303*00c7fec1SAndroid Build Coastguard Worker "libbinder", 304*00c7fec1SAndroid Build Coastguard Worker "libutils", 305*00c7fec1SAndroid Build Coastguard Worker ], 306*00c7fec1SAndroid Build Coastguard Worker required: [ 307*00c7fec1SAndroid Build Coastguard Worker "init_recovery.rc", 308*00c7fec1SAndroid Build Coastguard Worker "ueventd.rc.recovery", 309*00c7fec1SAndroid Build Coastguard Worker "e2fsdroid.recovery", 310*00c7fec1SAndroid Build Coastguard Worker "make_f2fs.recovery", 311*00c7fec1SAndroid Build Coastguard Worker "mke2fs.recovery", 312*00c7fec1SAndroid Build Coastguard Worker "sload_f2fs.recovery", 313*00c7fec1SAndroid Build Coastguard Worker ], 314*00c7fec1SAndroid Build Coastguard Worker} 315*00c7fec1SAndroid Build Coastguard Worker 316*00c7fec1SAndroid Build Coastguard Workercc_binary { 317*00c7fec1SAndroid Build Coastguard Worker name: "init_second_stage.microdroid", 318*00c7fec1SAndroid Build Coastguard Worker defaults: [ 319*00c7fec1SAndroid Build Coastguard Worker "avf_build_flags_cc", 320*00c7fec1SAndroid Build Coastguard Worker "init_second_stage_defaults", 321*00c7fec1SAndroid Build Coastguard Worker ], 322*00c7fec1SAndroid Build Coastguard Worker static_libs: ["libinit.microdroid"], 323*00c7fec1SAndroid Build Coastguard Worker cflags: ["-DMICRODROID=1"], 324*00c7fec1SAndroid Build Coastguard Worker no_full_install: true, 325*00c7fec1SAndroid Build Coastguard Worker visibility: ["//packages/modules/Virtualization/build/microdroid"], 326*00c7fec1SAndroid Build Coastguard Worker} 327*00c7fec1SAndroid Build Coastguard Worker 328*00c7fec1SAndroid Build Coastguard Workersoong_config_module_type { 329*00c7fec1SAndroid Build Coastguard Worker name: "init_first_stage_cc_defaults", 330*00c7fec1SAndroid Build Coastguard Worker module_type: "cc_defaults", 331*00c7fec1SAndroid Build Coastguard Worker config_namespace: "ANDROID", 332*00c7fec1SAndroid Build Coastguard Worker bool_variables: ["BOARD_USES_RECOVERY_AS_BOOT"], 333*00c7fec1SAndroid Build Coastguard Worker properties: ["no_full_install"], 334*00c7fec1SAndroid Build Coastguard Worker} 335*00c7fec1SAndroid Build Coastguard Worker 336*00c7fec1SAndroid Build Coastguard Worker// Do not install init_first_stage even with mma if we're system-as-root. 337*00c7fec1SAndroid Build Coastguard Worker// Otherwise, it will overwrite the symlink. 338*00c7fec1SAndroid Build Coastguard Workerinit_first_stage_cc_defaults { 339*00c7fec1SAndroid Build Coastguard Worker name: "init_first_stage_defaults", 340*00c7fec1SAndroid Build Coastguard Worker soong_config_variables: { 341*00c7fec1SAndroid Build Coastguard Worker BOARD_USES_RECOVERY_AS_BOOT: { 342*00c7fec1SAndroid Build Coastguard Worker no_full_install: true, 343*00c7fec1SAndroid Build Coastguard Worker }, 344*00c7fec1SAndroid Build Coastguard Worker }, 345*00c7fec1SAndroid Build Coastguard Worker 346*00c7fec1SAndroid Build Coastguard Worker stem: "init", 347*00c7fec1SAndroid Build Coastguard Worker 348*00c7fec1SAndroid Build Coastguard Worker srcs: [ 349*00c7fec1SAndroid Build Coastguard Worker "block_dev_initializer.cpp", 350*00c7fec1SAndroid Build Coastguard Worker "devices.cpp", 351*00c7fec1SAndroid Build Coastguard Worker "first_stage_console.cpp", 352*00c7fec1SAndroid Build Coastguard Worker "first_stage_init.cpp", 353*00c7fec1SAndroid Build Coastguard Worker "first_stage_main.cpp", 354*00c7fec1SAndroid Build Coastguard Worker "first_stage_mount.cpp", 355*00c7fec1SAndroid Build Coastguard Worker "reboot_utils.cpp", 356*00c7fec1SAndroid Build Coastguard Worker "selabel.cpp", 357*00c7fec1SAndroid Build Coastguard Worker "service_utils.cpp", 358*00c7fec1SAndroid Build Coastguard Worker "snapuserd_transition.cpp", 359*00c7fec1SAndroid Build Coastguard Worker "switch_root.cpp", 360*00c7fec1SAndroid Build Coastguard Worker "uevent_listener.cpp", 361*00c7fec1SAndroid Build Coastguard Worker "util.cpp", 362*00c7fec1SAndroid Build Coastguard Worker ], 363*00c7fec1SAndroid Build Coastguard Worker 364*00c7fec1SAndroid Build Coastguard Worker static_libs: [ 365*00c7fec1SAndroid Build Coastguard Worker "libfs_avb", 366*00c7fec1SAndroid Build Coastguard Worker "libavf_cc_flags", 367*00c7fec1SAndroid Build Coastguard Worker "libfs_mgr", 368*00c7fec1SAndroid Build Coastguard Worker "libfec", 369*00c7fec1SAndroid Build Coastguard Worker "libfec_rs", 370*00c7fec1SAndroid Build Coastguard Worker "libsquashfs_utils", 371*00c7fec1SAndroid Build Coastguard Worker "libcrypto_utils", 372*00c7fec1SAndroid Build Coastguard Worker "libavb", 373*00c7fec1SAndroid Build Coastguard Worker "liblp", 374*00c7fec1SAndroid Build Coastguard Worker "libcutils", 375*00c7fec1SAndroid Build Coastguard Worker "libbase", 376*00c7fec1SAndroid Build Coastguard Worker "liblog", 377*00c7fec1SAndroid Build Coastguard Worker "libcrypto_static", 378*00c7fec1SAndroid Build Coastguard Worker "libselinux", 379*00c7fec1SAndroid Build Coastguard Worker "libcap", 380*00c7fec1SAndroid Build Coastguard Worker "libgsi", 381*00c7fec1SAndroid Build Coastguard Worker "liblzma", 382*00c7fec1SAndroid Build Coastguard Worker "libunwindstack_no_dex", 383*00c7fec1SAndroid Build Coastguard Worker "libmodprobe", 384*00c7fec1SAndroid Build Coastguard Worker "libext2_uuid", 385*00c7fec1SAndroid Build Coastguard Worker "libprotobuf-cpp-lite", 386*00c7fec1SAndroid Build Coastguard Worker "libsnapshot_cow", 387*00c7fec1SAndroid Build Coastguard Worker "liblz4", 388*00c7fec1SAndroid Build Coastguard Worker "libzstd", 389*00c7fec1SAndroid Build Coastguard Worker "libsnapshot_init", 390*00c7fec1SAndroid Build Coastguard Worker "update_metadata-protos", 391*00c7fec1SAndroid Build Coastguard Worker "libprocinfo", 392*00c7fec1SAndroid Build Coastguard Worker "libbootloader_message", 393*00c7fec1SAndroid Build Coastguard Worker ], 394*00c7fec1SAndroid Build Coastguard Worker 395*00c7fec1SAndroid Build Coastguard Worker static_executable: true, 396*00c7fec1SAndroid Build Coastguard Worker system_shared_libs: [], 397*00c7fec1SAndroid Build Coastguard Worker 398*00c7fec1SAndroid Build Coastguard Worker cflags: [ 399*00c7fec1SAndroid Build Coastguard Worker "-Wall", 400*00c7fec1SAndroid Build Coastguard Worker "-Wextra", 401*00c7fec1SAndroid Build Coastguard Worker "-Wno-unused-parameter", 402*00c7fec1SAndroid Build Coastguard Worker "-Werror", 403*00c7fec1SAndroid Build Coastguard Worker "-DALLOW_FIRST_STAGE_CONSOLE=0", 404*00c7fec1SAndroid Build Coastguard Worker "-DALLOW_LOCAL_PROP_OVERRIDE=0", 405*00c7fec1SAndroid Build Coastguard Worker "-DALLOW_PERMISSIVE_SELINUX=0", 406*00c7fec1SAndroid Build Coastguard Worker "-DREBOOT_BOOTLOADER_ON_PANIC=0", 407*00c7fec1SAndroid Build Coastguard Worker "-DWORLD_WRITABLE_KMSG=0", 408*00c7fec1SAndroid Build Coastguard Worker "-DDUMP_ON_UMOUNT_FAILURE=0", 409*00c7fec1SAndroid Build Coastguard Worker "-DSHUTDOWN_ZERO_TIMEOUT=0", 410*00c7fec1SAndroid Build Coastguard Worker "-DLOG_UEVENTS=0", 411*00c7fec1SAndroid Build Coastguard Worker "-DSEPOLICY_VERSION=30", // TODO(jiyong): externalize the version number 412*00c7fec1SAndroid Build Coastguard Worker ], 413*00c7fec1SAndroid Build Coastguard Worker 414*00c7fec1SAndroid Build Coastguard Worker product_variables: { 415*00c7fec1SAndroid Build Coastguard Worker debuggable: { 416*00c7fec1SAndroid Build Coastguard Worker cflags: [ 417*00c7fec1SAndroid Build Coastguard Worker "-UALLOW_FIRST_STAGE_CONSOLE", 418*00c7fec1SAndroid Build Coastguard Worker "-DALLOW_FIRST_STAGE_CONSOLE=1", 419*00c7fec1SAndroid Build Coastguard Worker 420*00c7fec1SAndroid Build Coastguard Worker "-UALLOW_LOCAL_PROP_OVERRIDE", 421*00c7fec1SAndroid Build Coastguard Worker "-DALLOW_LOCAL_PROP_OVERRIDE=1", 422*00c7fec1SAndroid Build Coastguard Worker 423*00c7fec1SAndroid Build Coastguard Worker "-UALLOW_PERMISSIVE_SELINUX", 424*00c7fec1SAndroid Build Coastguard Worker "-DALLOW_PERMISSIVE_SELINUX=1", 425*00c7fec1SAndroid Build Coastguard Worker 426*00c7fec1SAndroid Build Coastguard Worker "-UREBOOT_BOOTLOADER_ON_PANIC", 427*00c7fec1SAndroid Build Coastguard Worker "-DREBOOT_BOOTLOADER_ON_PANIC=1", 428*00c7fec1SAndroid Build Coastguard Worker 429*00c7fec1SAndroid Build Coastguard Worker "-UWORLD_WRITABLE_KMSG", 430*00c7fec1SAndroid Build Coastguard Worker "-DWORLD_WRITABLE_KMSG=1", 431*00c7fec1SAndroid Build Coastguard Worker 432*00c7fec1SAndroid Build Coastguard Worker "-UDUMP_ON_UMOUNT_FAILURE", 433*00c7fec1SAndroid Build Coastguard Worker "-DDUMP_ON_UMOUNT_FAILURE=1", 434*00c7fec1SAndroid Build Coastguard Worker ], 435*00c7fec1SAndroid Build Coastguard Worker }, 436*00c7fec1SAndroid Build Coastguard Worker 437*00c7fec1SAndroid Build Coastguard Worker eng: { 438*00c7fec1SAndroid Build Coastguard Worker cflags: [ 439*00c7fec1SAndroid Build Coastguard Worker "-USHUTDOWN_ZERO_TIMEOUT", 440*00c7fec1SAndroid Build Coastguard Worker "-DSHUTDOWN_ZERO_TIMEOUT=1", 441*00c7fec1SAndroid Build Coastguard Worker ], 442*00c7fec1SAndroid Build Coastguard Worker }, 443*00c7fec1SAndroid Build Coastguard Worker }, 444*00c7fec1SAndroid Build Coastguard Worker 445*00c7fec1SAndroid Build Coastguard Worker sanitize: { 446*00c7fec1SAndroid Build Coastguard Worker misc_undefined: ["signed-integer-overflow"], 447*00c7fec1SAndroid Build Coastguard Worker 448*00c7fec1SAndroid Build Coastguard Worker // First stage init is weird: it may start without stdout/stderr, and no /proc. 449*00c7fec1SAndroid Build Coastguard Worker hwaddress: false, 450*00c7fec1SAndroid Build Coastguard Worker memtag_stack: false, 451*00c7fec1SAndroid Build Coastguard Worker }, 452*00c7fec1SAndroid Build Coastguard Worker 453*00c7fec1SAndroid Build Coastguard Worker // Install adb_debug.prop into debug ramdisk. 454*00c7fec1SAndroid Build Coastguard Worker // This allows adb root on a user build, when debug ramdisk is used. 455*00c7fec1SAndroid Build Coastguard Worker required: ["adb_debug.prop"], 456*00c7fec1SAndroid Build Coastguard Worker 457*00c7fec1SAndroid Build Coastguard Worker ramdisk: true, 458*00c7fec1SAndroid Build Coastguard Worker 459*00c7fec1SAndroid Build Coastguard Worker install_in_root: true, 460*00c7fec1SAndroid Build Coastguard Worker} 461*00c7fec1SAndroid Build Coastguard Worker 462*00c7fec1SAndroid Build Coastguard Workercc_binary { 463*00c7fec1SAndroid Build Coastguard Worker name: "init_first_stage", 464*00c7fec1SAndroid Build Coastguard Worker defaults: ["init_first_stage_defaults"], 465*00c7fec1SAndroid Build Coastguard Worker} 466*00c7fec1SAndroid Build Coastguard Worker 467*00c7fec1SAndroid Build Coastguard Workercc_binary { 468*00c7fec1SAndroid Build Coastguard Worker name: "init_first_stage.microdroid", 469*00c7fec1SAndroid Build Coastguard Worker defaults: [ 470*00c7fec1SAndroid Build Coastguard Worker "avf_build_flags_cc", 471*00c7fec1SAndroid Build Coastguard Worker "init_first_stage_defaults", 472*00c7fec1SAndroid Build Coastguard Worker ], 473*00c7fec1SAndroid Build Coastguard Worker cflags: ["-DMICRODROID=1"], 474*00c7fec1SAndroid Build Coastguard Worker no_full_install: true, 475*00c7fec1SAndroid Build Coastguard Worker} 476*00c7fec1SAndroid Build Coastguard Worker 477*00c7fec1SAndroid Build Coastguard Workerphony { 478*00c7fec1SAndroid Build Coastguard Worker name: "init_system", 479*00c7fec1SAndroid Build Coastguard Worker required: ["init_second_stage"], 480*00c7fec1SAndroid Build Coastguard Worker} 481*00c7fec1SAndroid Build Coastguard Worker 482*00c7fec1SAndroid Build Coastguard Worker// Tests 483*00c7fec1SAndroid Build Coastguard Worker// ------------------------------------------------------------------------------ 484*00c7fec1SAndroid Build Coastguard Worker 485*00c7fec1SAndroid Build Coastguard Workercc_test { 486*00c7fec1SAndroid Build Coastguard Worker // Note: This is NOT a CTS test. See b/320800872 487*00c7fec1SAndroid Build Coastguard Worker name: "CtsInitTestCases", 488*00c7fec1SAndroid Build Coastguard Worker defaults: ["init_defaults"], 489*00c7fec1SAndroid Build Coastguard Worker require_root: true, 490*00c7fec1SAndroid Build Coastguard Worker 491*00c7fec1SAndroid Build Coastguard Worker compile_multilib: "first", 492*00c7fec1SAndroid Build Coastguard Worker 493*00c7fec1SAndroid Build Coastguard Worker srcs: [ 494*00c7fec1SAndroid Build Coastguard Worker "devices_test.cpp", 495*00c7fec1SAndroid Build Coastguard Worker "epoll_test.cpp", 496*00c7fec1SAndroid Build Coastguard Worker "firmware_handler_test.cpp", 497*00c7fec1SAndroid Build Coastguard Worker "init_test.cpp", 498*00c7fec1SAndroid Build Coastguard Worker "interprocess_fifo_test.cpp", 499*00c7fec1SAndroid Build Coastguard Worker "keychords_test.cpp", 500*00c7fec1SAndroid Build Coastguard Worker "oneshot_on_test.cpp", 501*00c7fec1SAndroid Build Coastguard Worker "persistent_properties_test.cpp", 502*00c7fec1SAndroid Build Coastguard Worker "property_service_test.cpp", 503*00c7fec1SAndroid Build Coastguard Worker "property_type_test.cpp", 504*00c7fec1SAndroid Build Coastguard Worker "reboot_test.cpp", 505*00c7fec1SAndroid Build Coastguard Worker "rlimit_parser_test.cpp", 506*00c7fec1SAndroid Build Coastguard Worker "service_test.cpp", 507*00c7fec1SAndroid Build Coastguard Worker "subcontext_test.cpp", 508*00c7fec1SAndroid Build Coastguard Worker "tokenizer_test.cpp", 509*00c7fec1SAndroid Build Coastguard Worker "ueventd_parser_test.cpp", 510*00c7fec1SAndroid Build Coastguard Worker "ueventd_test.cpp", 511*00c7fec1SAndroid Build Coastguard Worker "util_test.cpp", 512*00c7fec1SAndroid Build Coastguard Worker ], 513*00c7fec1SAndroid Build Coastguard Worker static_libs: [ 514*00c7fec1SAndroid Build Coastguard Worker "libgmock", 515*00c7fec1SAndroid Build Coastguard Worker "libinit", 516*00c7fec1SAndroid Build Coastguard Worker ], 517*00c7fec1SAndroid Build Coastguard Worker 518*00c7fec1SAndroid Build Coastguard Worker test_suites: [ 519*00c7fec1SAndroid Build Coastguard Worker "device-tests", 520*00c7fec1SAndroid Build Coastguard Worker ], 521*00c7fec1SAndroid Build Coastguard Worker} 522*00c7fec1SAndroid Build Coastguard Worker 523*00c7fec1SAndroid Build Coastguard Workercc_benchmark { 524*00c7fec1SAndroid Build Coastguard Worker name: "init_benchmarks", 525*00c7fec1SAndroid Build Coastguard Worker defaults: ["init_defaults"], 526*00c7fec1SAndroid Build Coastguard Worker srcs: [ 527*00c7fec1SAndroid Build Coastguard Worker "subcontext_benchmark.cpp", 528*00c7fec1SAndroid Build Coastguard Worker ], 529*00c7fec1SAndroid Build Coastguard Worker static_libs: ["libinit"], 530*00c7fec1SAndroid Build Coastguard Worker} 531*00c7fec1SAndroid Build Coastguard Worker 532*00c7fec1SAndroid Build Coastguard Workercc_defaults { 533*00c7fec1SAndroid Build Coastguard Worker name: "libinit_test_utils_libraries_defaults", 534*00c7fec1SAndroid Build Coastguard Worker shared_libs: [ 535*00c7fec1SAndroid Build Coastguard Worker "libbase", 536*00c7fec1SAndroid Build Coastguard Worker "libcutils", 537*00c7fec1SAndroid Build Coastguard Worker "libselinux", 538*00c7fec1SAndroid Build Coastguard Worker "liblog", 539*00c7fec1SAndroid Build Coastguard Worker "libprocessgroup", 540*00c7fec1SAndroid Build Coastguard Worker "libprotobuf-cpp-lite", 541*00c7fec1SAndroid Build Coastguard Worker ], 542*00c7fec1SAndroid Build Coastguard Worker static_libs: [ 543*00c7fec1SAndroid Build Coastguard Worker "libfs_mgr", 544*00c7fec1SAndroid Build Coastguard Worker "libhidl-gen-utils", 545*00c7fec1SAndroid Build Coastguard Worker ], 546*00c7fec1SAndroid Build Coastguard Worker} 547*00c7fec1SAndroid Build Coastguard Worker 548*00c7fec1SAndroid Build Coastguard Workercc_library_static { 549*00c7fec1SAndroid Build Coastguard Worker name: "libinit_test_utils", 550*00c7fec1SAndroid Build Coastguard Worker defaults: ["libinit_test_utils_libraries_defaults"], 551*00c7fec1SAndroid Build Coastguard Worker cflags: [ 552*00c7fec1SAndroid Build Coastguard Worker "-Wall", 553*00c7fec1SAndroid Build Coastguard Worker "-Wextra", 554*00c7fec1SAndroid Build Coastguard Worker "-Wno-unused-parameter", 555*00c7fec1SAndroid Build Coastguard Worker "-Werror", 556*00c7fec1SAndroid Build Coastguard Worker ], 557*00c7fec1SAndroid Build Coastguard Worker srcs: init_common_sources + [ 558*00c7fec1SAndroid Build Coastguard Worker "test_utils/service_utils.cpp", 559*00c7fec1SAndroid Build Coastguard Worker ], 560*00c7fec1SAndroid Build Coastguard Worker whole_static_libs: [ 561*00c7fec1SAndroid Build Coastguard Worker "libcap", 562*00c7fec1SAndroid Build Coastguard Worker ], 563*00c7fec1SAndroid Build Coastguard Worker export_include_dirs: ["test_utils/include"], // for tests 564*00c7fec1SAndroid Build Coastguard Worker header_libs: ["bionic_libc_platform_headers"], 565*00c7fec1SAndroid Build Coastguard Worker product_variables: { 566*00c7fec1SAndroid Build Coastguard Worker shipping_api_level: { 567*00c7fec1SAndroid Build Coastguard Worker cflags: ["-DBUILD_SHIPPING_API_LEVEL=%s"], 568*00c7fec1SAndroid Build Coastguard Worker }, 569*00c7fec1SAndroid Build Coastguard Worker }, 570*00c7fec1SAndroid Build Coastguard Worker} 571*00c7fec1SAndroid Build Coastguard Worker 572*00c7fec1SAndroid Build Coastguard Worker// Host Verifier 573*00c7fec1SAndroid Build Coastguard Worker// ------------------------------------------------------------------------------ 574*00c7fec1SAndroid Build Coastguard Worker 575*00c7fec1SAndroid Build Coastguard Workergenrule { 576*00c7fec1SAndroid Build Coastguard Worker name: "generated_stub_builtin_function_map", 577*00c7fec1SAndroid Build Coastguard Worker tool_files: ["host_builtin_map.py"], 578*00c7fec1SAndroid Build Coastguard Worker out: ["generated_stub_builtin_function_map.h"], 579*00c7fec1SAndroid Build Coastguard Worker srcs: [ 580*00c7fec1SAndroid Build Coastguard Worker "builtins.cpp", 581*00c7fec1SAndroid Build Coastguard Worker "check_builtins.cpp", 582*00c7fec1SAndroid Build Coastguard Worker ], 583*00c7fec1SAndroid Build Coastguard Worker cmd: "$(location host_builtin_map.py) --builtins $(location builtins.cpp) --check_builtins $(location check_builtins.cpp) > $(out)", 584*00c7fec1SAndroid Build Coastguard Worker} 585*00c7fec1SAndroid Build Coastguard Worker 586*00c7fec1SAndroid Build Coastguard Workercc_defaults { 587*00c7fec1SAndroid Build Coastguard Worker name: "init_host_defaults", 588*00c7fec1SAndroid Build Coastguard Worker host_supported: true, 589*00c7fec1SAndroid Build Coastguard Worker cflags: [ 590*00c7fec1SAndroid Build Coastguard Worker "-Wall", 591*00c7fec1SAndroid Build Coastguard Worker "-Wextra", 592*00c7fec1SAndroid Build Coastguard Worker "-Wno-unused-parameter", 593*00c7fec1SAndroid Build Coastguard Worker "-Werror", 594*00c7fec1SAndroid Build Coastguard Worker ], 595*00c7fec1SAndroid Build Coastguard Worker static_libs: [ 596*00c7fec1SAndroid Build Coastguard Worker "libbase", 597*00c7fec1SAndroid Build Coastguard Worker "libselinux", 598*00c7fec1SAndroid Build Coastguard Worker "libpropertyinfoserializer", 599*00c7fec1SAndroid Build Coastguard Worker "libpropertyinfoparser", 600*00c7fec1SAndroid Build Coastguard Worker ], 601*00c7fec1SAndroid Build Coastguard Worker whole_static_libs: ["libcap"], 602*00c7fec1SAndroid Build Coastguard Worker shared_libs: [ 603*00c7fec1SAndroid Build Coastguard Worker "libcutils", 604*00c7fec1SAndroid Build Coastguard Worker "liblog", 605*00c7fec1SAndroid Build Coastguard Worker "libprocessgroup", 606*00c7fec1SAndroid Build Coastguard Worker "libprotobuf-cpp-lite", 607*00c7fec1SAndroid Build Coastguard Worker ], 608*00c7fec1SAndroid Build Coastguard Worker proto: { 609*00c7fec1SAndroid Build Coastguard Worker type: "lite", 610*00c7fec1SAndroid Build Coastguard Worker }, 611*00c7fec1SAndroid Build Coastguard Worker target: { 612*00c7fec1SAndroid Build Coastguard Worker android: { 613*00c7fec1SAndroid Build Coastguard Worker enabled: false, 614*00c7fec1SAndroid Build Coastguard Worker }, 615*00c7fec1SAndroid Build Coastguard Worker darwin: { 616*00c7fec1SAndroid Build Coastguard Worker enabled: false, 617*00c7fec1SAndroid Build Coastguard Worker }, 618*00c7fec1SAndroid Build Coastguard Worker }, 619*00c7fec1SAndroid Build Coastguard Worker product_variables: { 620*00c7fec1SAndroid Build Coastguard Worker shipping_api_level: { 621*00c7fec1SAndroid Build Coastguard Worker cflags: ["-DBUILD_SHIPPING_API_LEVEL=%s"], 622*00c7fec1SAndroid Build Coastguard Worker }, 623*00c7fec1SAndroid Build Coastguard Worker }, 624*00c7fec1SAndroid Build Coastguard Worker} 625*00c7fec1SAndroid Build Coastguard Worker 626*00c7fec1SAndroid Build Coastguard Workercc_binary { 627*00c7fec1SAndroid Build Coastguard Worker name: "host_init_verifier", 628*00c7fec1SAndroid Build Coastguard Worker defaults: ["init_host_defaults"], 629*00c7fec1SAndroid Build Coastguard Worker srcs: [ 630*00c7fec1SAndroid Build Coastguard Worker "check_builtins.cpp", 631*00c7fec1SAndroid Build Coastguard Worker "host_import_parser.cpp", 632*00c7fec1SAndroid Build Coastguard Worker "host_init_verifier.cpp", 633*00c7fec1SAndroid Build Coastguard Worker "interface_utils.cpp", 634*00c7fec1SAndroid Build Coastguard Worker ] + init_common_sources, 635*00c7fec1SAndroid Build Coastguard Worker generated_headers: [ 636*00c7fec1SAndroid Build Coastguard Worker "generated_android_ids", 637*00c7fec1SAndroid Build Coastguard Worker "generated_stub_builtin_function_map", 638*00c7fec1SAndroid Build Coastguard Worker ], 639*00c7fec1SAndroid Build Coastguard Worker shared_libs: [ 640*00c7fec1SAndroid Build Coastguard Worker "libhidl-gen-utils", 641*00c7fec1SAndroid Build Coastguard Worker "libhidlmetadata", 642*00c7fec1SAndroid Build Coastguard Worker ], 643*00c7fec1SAndroid Build Coastguard Worker} 644*00c7fec1SAndroid Build Coastguard Worker 645*00c7fec1SAndroid Build Coastguard Workergenrule { 646*00c7fec1SAndroid Build Coastguard Worker name: "noop_builtin_function_map", 647*00c7fec1SAndroid Build Coastguard Worker tool_files: ["host_builtin_map.py"], 648*00c7fec1SAndroid Build Coastguard Worker out: ["noop_builtin_function_map.h"], 649*00c7fec1SAndroid Build Coastguard Worker srcs: [ 650*00c7fec1SAndroid Build Coastguard Worker "builtins.cpp", 651*00c7fec1SAndroid Build Coastguard Worker "noop_builtins.cpp", 652*00c7fec1SAndroid Build Coastguard Worker ], 653*00c7fec1SAndroid Build Coastguard Worker cmd: "$(location host_builtin_map.py) --builtins $(location builtins.cpp) --check_builtins $(location noop_builtins.cpp) > $(out)", 654*00c7fec1SAndroid Build Coastguard Worker} 655*00c7fec1SAndroid Build Coastguard Worker 656*00c7fec1SAndroid Build Coastguard Workercc_library_host_static { 657*00c7fec1SAndroid Build Coastguard Worker name: "libinit_host", 658*00c7fec1SAndroid Build Coastguard Worker defaults: ["init_host_defaults"], 659*00c7fec1SAndroid Build Coastguard Worker srcs: [ 660*00c7fec1SAndroid Build Coastguard Worker "noop_builtins.cpp", 661*00c7fec1SAndroid Build Coastguard Worker ] + init_common_sources, 662*00c7fec1SAndroid Build Coastguard Worker export_include_dirs: ["."], 663*00c7fec1SAndroid Build Coastguard Worker generated_headers: [ 664*00c7fec1SAndroid Build Coastguard Worker "noop_builtin_function_map", 665*00c7fec1SAndroid Build Coastguard Worker ], 666*00c7fec1SAndroid Build Coastguard Worker proto: { 667*00c7fec1SAndroid Build Coastguard Worker export_proto_headers: true, 668*00c7fec1SAndroid Build Coastguard Worker }, 669*00c7fec1SAndroid Build Coastguard Worker visibility: [ 670*00c7fec1SAndroid Build Coastguard Worker // host_apex_verifier performs a subset of init.rc validation 671*00c7fec1SAndroid Build Coastguard Worker "//system/apex/tools", 672*00c7fec1SAndroid Build Coastguard Worker ], 673*00c7fec1SAndroid Build Coastguard Worker} 674*00c7fec1SAndroid Build Coastguard Worker 675*00c7fec1SAndroid Build Coastguard Workersh_binary { 676*00c7fec1SAndroid Build Coastguard Worker name: "extra_free_kbytes", 677*00c7fec1SAndroid Build Coastguard Worker src: "extra_free_kbytes.sh", 678*00c7fec1SAndroid Build Coastguard Worker filename_from_src: true, 679*00c7fec1SAndroid Build Coastguard Worker} 680*00c7fec1SAndroid Build Coastguard Worker 681*00c7fec1SAndroid Build Coastguard Workerphony { 682*00c7fec1SAndroid Build Coastguard Worker name: "init_vendor", 683*00c7fec1SAndroid Build Coastguard Worker required: select(soong_config_variable("ANDROID", "BOARD_USES_RECOVERY_AS_BOOT"), { 684*00c7fec1SAndroid Build Coastguard Worker true: [], 685*00c7fec1SAndroid Build Coastguard Worker default: ["init_first_stage"], 686*00c7fec1SAndroid Build Coastguard Worker }), 687*00c7fec1SAndroid Build Coastguard Worker} 688