1*f40fafd4SAndroid Build Coastguard Workerpackage { 2*f40fafd4SAndroid Build Coastguard Worker default_applicable_licenses: ["Android-Apache-2.0"], 3*f40fafd4SAndroid Build Coastguard Worker} 4*f40fafd4SAndroid Build Coastguard Worker 5*f40fafd4SAndroid Build Coastguard Workercc_defaults { 6*f40fafd4SAndroid Build Coastguard Worker name: "vold_default_flags", 7*f40fafd4SAndroid Build Coastguard Worker 8*f40fafd4SAndroid Build Coastguard Worker cflags: [ 9*f40fafd4SAndroid Build Coastguard Worker "-Wall", 10*f40fafd4SAndroid Build Coastguard Worker "-Werror", 11*f40fafd4SAndroid Build Coastguard Worker "-Wextra", 12*f40fafd4SAndroid Build Coastguard Worker "-Wno-unused-parameter", 13*f40fafd4SAndroid Build Coastguard Worker ], 14*f40fafd4SAndroid Build Coastguard Worker 15*f40fafd4SAndroid Build Coastguard Worker tidy: true, 16*f40fafd4SAndroid Build Coastguard Worker tidy_checks: [ 17*f40fafd4SAndroid Build Coastguard Worker "-*", 18*f40fafd4SAndroid Build Coastguard Worker "cert-*", 19*f40fafd4SAndroid Build Coastguard Worker "clang-analyzer-security*", 20*f40fafd4SAndroid Build Coastguard Worker "android-*", 21*f40fafd4SAndroid Build Coastguard Worker ], 22*f40fafd4SAndroid Build Coastguard Worker tidy_checks_as_errors: [ 23*f40fafd4SAndroid Build Coastguard Worker "clang-analyzer-security*", 24*f40fafd4SAndroid Build Coastguard Worker "cert-*", 25*f40fafd4SAndroid Build Coastguard Worker ], 26*f40fafd4SAndroid Build Coastguard Worker} 27*f40fafd4SAndroid Build Coastguard Worker 28*f40fafd4SAndroid Build Coastguard Workercc_defaults { 29*f40fafd4SAndroid Build Coastguard Worker name: "vold_default_libs", 30*f40fafd4SAndroid Build Coastguard Worker 31*f40fafd4SAndroid Build Coastguard Worker static_libs: [ 32*f40fafd4SAndroid Build Coastguard Worker "[email protected]", 33*f40fafd4SAndroid Build Coastguard Worker "android.hardware.health.storage-V1-ndk", 34*f40fafd4SAndroid Build Coastguard Worker "android.security.maintenance-ndk", 35*f40fafd4SAndroid Build Coastguard Worker "libasync_safe", 36*f40fafd4SAndroid Build Coastguard Worker "libavb", 37*f40fafd4SAndroid Build Coastguard Worker "libbootloader_message", 38*f40fafd4SAndroid Build Coastguard Worker "libdm", 39*f40fafd4SAndroid Build Coastguard Worker "libext2_uuid", 40*f40fafd4SAndroid Build Coastguard Worker "libfec", 41*f40fafd4SAndroid Build Coastguard Worker "libfec_rs", 42*f40fafd4SAndroid Build Coastguard Worker "libfs_avb", 43*f40fafd4SAndroid Build Coastguard Worker "libfs_mgr", 44*f40fafd4SAndroid Build Coastguard Worker "libsquashfs_utils", 45*f40fafd4SAndroid Build Coastguard Worker "libvold_binder", 46*f40fafd4SAndroid Build Coastguard Worker ], 47*f40fafd4SAndroid Build Coastguard Worker shared_libs: [ 48*f40fafd4SAndroid Build Coastguard Worker "[email protected]", 49*f40fafd4SAndroid Build Coastguard Worker "android.hardware.boot-V1-ndk", 50*f40fafd4SAndroid Build Coastguard Worker "libboot_control_client", 51*f40fafd4SAndroid Build Coastguard Worker "libbase", 52*f40fafd4SAndroid Build Coastguard Worker "libbinder", 53*f40fafd4SAndroid Build Coastguard Worker "libbinder_ndk", 54*f40fafd4SAndroid Build Coastguard Worker "libcrypto", 55*f40fafd4SAndroid Build Coastguard Worker "libcrypto_utils", 56*f40fafd4SAndroid Build Coastguard Worker "libcutils", 57*f40fafd4SAndroid Build Coastguard Worker "libext4_utils", 58*f40fafd4SAndroid Build Coastguard Worker "libf2fs_sparseblock", 59*f40fafd4SAndroid Build Coastguard Worker "libgsi", 60*f40fafd4SAndroid Build Coastguard Worker "libhardware", 61*f40fafd4SAndroid Build Coastguard Worker "libhardware_legacy", 62*f40fafd4SAndroid Build Coastguard Worker "libincfs", 63*f40fafd4SAndroid Build Coastguard Worker "libhidlbase", 64*f40fafd4SAndroid Build Coastguard Worker "libkeymint_support", 65*f40fafd4SAndroid Build Coastguard Worker "liblog", 66*f40fafd4SAndroid Build Coastguard Worker "liblogwrap", 67*f40fafd4SAndroid Build Coastguard Worker "libselinux", 68*f40fafd4SAndroid Build Coastguard Worker "libsysutils", 69*f40fafd4SAndroid Build Coastguard Worker "libutils", 70*f40fafd4SAndroid Build Coastguard Worker ], 71*f40fafd4SAndroid Build Coastguard Worker} 72*f40fafd4SAndroid Build Coastguard Worker 73*f40fafd4SAndroid Build Coastguard Workercc_library_static { 74*f40fafd4SAndroid Build Coastguard Worker name: "libvold_binder", 75*f40fafd4SAndroid Build Coastguard Worker defaults: ["vold_default_flags"], 76*f40fafd4SAndroid Build Coastguard Worker 77*f40fafd4SAndroid Build Coastguard Worker srcs: [ 78*f40fafd4SAndroid Build Coastguard Worker ":vold_aidl", 79*f40fafd4SAndroid Build Coastguard Worker ], 80*f40fafd4SAndroid Build Coastguard Worker shared_libs: [ 81*f40fafd4SAndroid Build Coastguard Worker "libbinder", 82*f40fafd4SAndroid Build Coastguard Worker "libutils", 83*f40fafd4SAndroid Build Coastguard Worker ], 84*f40fafd4SAndroid Build Coastguard Worker aidl: { 85*f40fafd4SAndroid Build Coastguard Worker local_include_dirs: ["binder"], 86*f40fafd4SAndroid Build Coastguard Worker include_dirs: [ 87*f40fafd4SAndroid Build Coastguard Worker "frameworks/native/aidl/binder", 88*f40fafd4SAndroid Build Coastguard Worker "frameworks/base/core/java", 89*f40fafd4SAndroid Build Coastguard Worker ], 90*f40fafd4SAndroid Build Coastguard Worker export_aidl_headers: true, 91*f40fafd4SAndroid Build Coastguard Worker }, 92*f40fafd4SAndroid Build Coastguard Worker whole_static_libs: [ 93*f40fafd4SAndroid Build Coastguard Worker "libincremental_aidl-cpp", 94*f40fafd4SAndroid Build Coastguard Worker ], 95*f40fafd4SAndroid Build Coastguard Worker export_shared_lib_headers: [ 96*f40fafd4SAndroid Build Coastguard Worker "libbinder", 97*f40fafd4SAndroid Build Coastguard Worker ], 98*f40fafd4SAndroid Build Coastguard Worker} 99*f40fafd4SAndroid Build Coastguard Worker 100*f40fafd4SAndroid Build Coastguard Workercc_library_headers { 101*f40fafd4SAndroid Build Coastguard Worker name: "libvold_headers", 102*f40fafd4SAndroid Build Coastguard Worker recovery_available: true, 103*f40fafd4SAndroid Build Coastguard Worker export_include_dirs: ["."], 104*f40fafd4SAndroid Build Coastguard Worker} 105*f40fafd4SAndroid Build Coastguard Worker 106*f40fafd4SAndroid Build Coastguard Worker// Static library factored out to support testing 107*f40fafd4SAndroid Build Coastguard Workercc_library_static { 108*f40fafd4SAndroid Build Coastguard Worker name: "libvold", 109*f40fafd4SAndroid Build Coastguard Worker defaults: [ 110*f40fafd4SAndroid Build Coastguard Worker "vold_default_flags", 111*f40fafd4SAndroid Build Coastguard Worker "vold_default_libs", 112*f40fafd4SAndroid Build Coastguard Worker "keystore2_use_latest_aidl_ndk_shared", 113*f40fafd4SAndroid Build Coastguard Worker ], 114*f40fafd4SAndroid Build Coastguard Worker 115*f40fafd4SAndroid Build Coastguard Worker srcs: [ 116*f40fafd4SAndroid Build Coastguard Worker "AppFuseUtil.cpp", 117*f40fafd4SAndroid Build Coastguard Worker "Benchmark.cpp", 118*f40fafd4SAndroid Build Coastguard Worker "Checkpoint.cpp", 119*f40fafd4SAndroid Build Coastguard Worker "CryptoType.cpp", 120*f40fafd4SAndroid Build Coastguard Worker "EncryptInplace.cpp", 121*f40fafd4SAndroid Build Coastguard Worker "FileDeviceUtils.cpp", 122*f40fafd4SAndroid Build Coastguard Worker "FsCrypt.cpp", 123*f40fafd4SAndroid Build Coastguard Worker "IdleMaint.cpp", 124*f40fafd4SAndroid Build Coastguard Worker "KeyBuffer.cpp", 125*f40fafd4SAndroid Build Coastguard Worker "KeyStorage.cpp", 126*f40fafd4SAndroid Build Coastguard Worker "KeyUtil.cpp", 127*f40fafd4SAndroid Build Coastguard Worker "Keystore.cpp", 128*f40fafd4SAndroid Build Coastguard Worker "Loop.cpp", 129*f40fafd4SAndroid Build Coastguard Worker "MetadataCrypt.cpp", 130*f40fafd4SAndroid Build Coastguard Worker "MoveStorage.cpp", 131*f40fafd4SAndroid Build Coastguard Worker "NetlinkHandler.cpp", 132*f40fafd4SAndroid Build Coastguard Worker "NetlinkManager.cpp", 133*f40fafd4SAndroid Build Coastguard Worker "Process.cpp", 134*f40fafd4SAndroid Build Coastguard Worker "Utils.cpp", 135*f40fafd4SAndroid Build Coastguard Worker "VoldNativeService.cpp", 136*f40fafd4SAndroid Build Coastguard Worker "VoldNativeServiceValidation.cpp", 137*f40fafd4SAndroid Build Coastguard Worker "VoldUtil.cpp", 138*f40fafd4SAndroid Build Coastguard Worker "VolumeManager.cpp", 139*f40fafd4SAndroid Build Coastguard Worker "cryptfs.cpp", 140*f40fafd4SAndroid Build Coastguard Worker "fs/Exfat.cpp", 141*f40fafd4SAndroid Build Coastguard Worker "fs/Ext4.cpp", 142*f40fafd4SAndroid Build Coastguard Worker "fs/F2fs.cpp", 143*f40fafd4SAndroid Build Coastguard Worker "fs/Vfat.cpp", 144*f40fafd4SAndroid Build Coastguard Worker "model/Disk.cpp", 145*f40fafd4SAndroid Build Coastguard Worker "model/EmulatedVolume.cpp", 146*f40fafd4SAndroid Build Coastguard Worker "model/ObbVolume.cpp", 147*f40fafd4SAndroid Build Coastguard Worker "model/PrivateVolume.cpp", 148*f40fafd4SAndroid Build Coastguard Worker "model/PublicVolume.cpp", 149*f40fafd4SAndroid Build Coastguard Worker "model/StubVolume.cpp", 150*f40fafd4SAndroid Build Coastguard Worker "model/VolumeBase.cpp", 151*f40fafd4SAndroid Build Coastguard Worker "model/VolumeEncryption.cpp", 152*f40fafd4SAndroid Build Coastguard Worker ], 153*f40fafd4SAndroid Build Coastguard Worker product_variables: { 154*f40fafd4SAndroid Build Coastguard Worker arc: { 155*f40fafd4SAndroid Build Coastguard Worker exclude_srcs: [ 156*f40fafd4SAndroid Build Coastguard Worker "model/StubVolume.cpp", 157*f40fafd4SAndroid Build Coastguard Worker ], 158*f40fafd4SAndroid Build Coastguard Worker static_libs: [ 159*f40fafd4SAndroid Build Coastguard Worker "libarcvolume", 160*f40fafd4SAndroid Build Coastguard Worker ], 161*f40fafd4SAndroid Build Coastguard Worker }, 162*f40fafd4SAndroid Build Coastguard Worker debuggable: { 163*f40fafd4SAndroid Build Coastguard Worker cppflags: ["-D__ANDROID_DEBUGGABLE__"], 164*f40fafd4SAndroid Build Coastguard Worker }, 165*f40fafd4SAndroid Build Coastguard Worker }, 166*f40fafd4SAndroid Build Coastguard Worker} 167*f40fafd4SAndroid Build Coastguard Worker 168*f40fafd4SAndroid Build Coastguard Workercc_binary { 169*f40fafd4SAndroid Build Coastguard Worker name: "vold", 170*f40fafd4SAndroid Build Coastguard Worker defaults: [ 171*f40fafd4SAndroid Build Coastguard Worker "vold_default_flags", 172*f40fafd4SAndroid Build Coastguard Worker "vold_default_libs", 173*f40fafd4SAndroid Build Coastguard Worker "keystore2_use_latest_aidl_ndk_shared", 174*f40fafd4SAndroid Build Coastguard Worker ], 175*f40fafd4SAndroid Build Coastguard Worker 176*f40fafd4SAndroid Build Coastguard Worker srcs: ["main.cpp"], 177*f40fafd4SAndroid Build Coastguard Worker static_libs: [ 178*f40fafd4SAndroid Build Coastguard Worker "libvold", 179*f40fafd4SAndroid Build Coastguard Worker ], 180*f40fafd4SAndroid Build Coastguard Worker 181*f40fafd4SAndroid Build Coastguard Worker init_rc: [ 182*f40fafd4SAndroid Build Coastguard Worker "vold.rc", 183*f40fafd4SAndroid Build Coastguard Worker ], 184*f40fafd4SAndroid Build Coastguard Worker 185*f40fafd4SAndroid Build Coastguard Worker required: [ 186*f40fafd4SAndroid Build Coastguard Worker "mke2fs", 187*f40fafd4SAndroid Build Coastguard Worker "vold_prepare_subdirs", 188*f40fafd4SAndroid Build Coastguard Worker "fuseMedia.o", 189*f40fafd4SAndroid Build Coastguard Worker ], 190*f40fafd4SAndroid Build Coastguard Worker 191*f40fafd4SAndroid Build Coastguard Worker product_variables: { 192*f40fafd4SAndroid Build Coastguard Worker arc: { 193*f40fafd4SAndroid Build Coastguard Worker exclude_srcs: [ 194*f40fafd4SAndroid Build Coastguard Worker "model/StubVolume.cpp", 195*f40fafd4SAndroid Build Coastguard Worker ], 196*f40fafd4SAndroid Build Coastguard Worker static_libs: [ 197*f40fafd4SAndroid Build Coastguard Worker "libarcvolume", 198*f40fafd4SAndroid Build Coastguard Worker ], 199*f40fafd4SAndroid Build Coastguard Worker }, 200*f40fafd4SAndroid Build Coastguard Worker }, 201*f40fafd4SAndroid Build Coastguard Worker} 202*f40fafd4SAndroid Build Coastguard Worker 203*f40fafd4SAndroid Build Coastguard Workercc_binary { 204*f40fafd4SAndroid Build Coastguard Worker name: "vdc", 205*f40fafd4SAndroid Build Coastguard Worker defaults: ["vold_default_flags"], 206*f40fafd4SAndroid Build Coastguard Worker 207*f40fafd4SAndroid Build Coastguard Worker srcs: [ 208*f40fafd4SAndroid Build Coastguard Worker "vdc.cpp", 209*f40fafd4SAndroid Build Coastguard Worker "Utils.cpp", 210*f40fafd4SAndroid Build Coastguard Worker ], 211*f40fafd4SAndroid Build Coastguard Worker shared_libs: [ 212*f40fafd4SAndroid Build Coastguard Worker "libbase", 213*f40fafd4SAndroid Build Coastguard Worker "libbinder", 214*f40fafd4SAndroid Build Coastguard Worker "libcutils", 215*f40fafd4SAndroid Build Coastguard Worker "liblogwrap", 216*f40fafd4SAndroid Build Coastguard Worker "libselinux", 217*f40fafd4SAndroid Build Coastguard Worker "libutils", 218*f40fafd4SAndroid Build Coastguard Worker ], 219*f40fafd4SAndroid Build Coastguard Worker static_libs: [ 220*f40fafd4SAndroid Build Coastguard Worker "libvold_binder", 221*f40fafd4SAndroid Build Coastguard Worker ], 222*f40fafd4SAndroid Build Coastguard Worker} 223*f40fafd4SAndroid Build Coastguard Worker 224*f40fafd4SAndroid Build Coastguard Workercc_binary { 225*f40fafd4SAndroid Build Coastguard Worker name: "secdiscard", 226*f40fafd4SAndroid Build Coastguard Worker defaults: ["vold_default_flags"], 227*f40fafd4SAndroid Build Coastguard Worker 228*f40fafd4SAndroid Build Coastguard Worker srcs: [ 229*f40fafd4SAndroid Build Coastguard Worker "FileDeviceUtils.cpp", 230*f40fafd4SAndroid Build Coastguard Worker "secdiscard.cpp", 231*f40fafd4SAndroid Build Coastguard Worker ], 232*f40fafd4SAndroid Build Coastguard Worker shared_libs: ["libbase"], 233*f40fafd4SAndroid Build Coastguard Worker} 234*f40fafd4SAndroid Build Coastguard Worker 235*f40fafd4SAndroid Build Coastguard Workercc_binary { 236*f40fafd4SAndroid Build Coastguard Worker name: "vold_prepare_subdirs", 237*f40fafd4SAndroid Build Coastguard Worker defaults: ["vold_default_flags"], 238*f40fafd4SAndroid Build Coastguard Worker 239*f40fafd4SAndroid Build Coastguard Worker srcs: [ 240*f40fafd4SAndroid Build Coastguard Worker "vold_prepare_subdirs.cpp", 241*f40fafd4SAndroid Build Coastguard Worker "Utils.cpp", 242*f40fafd4SAndroid Build Coastguard Worker ], 243*f40fafd4SAndroid Build Coastguard Worker shared_libs: [ 244*f40fafd4SAndroid Build Coastguard Worker "libbase", 245*f40fafd4SAndroid Build Coastguard Worker "libcutils", 246*f40fafd4SAndroid Build Coastguard Worker "liblogwrap", 247*f40fafd4SAndroid Build Coastguard Worker "libselinux", 248*f40fafd4SAndroid Build Coastguard Worker "libutils", 249*f40fafd4SAndroid Build Coastguard Worker ], 250*f40fafd4SAndroid Build Coastguard Worker static_libs: [ 251*f40fafd4SAndroid Build Coastguard Worker "libvold_binder", 252*f40fafd4SAndroid Build Coastguard Worker ], 253*f40fafd4SAndroid Build Coastguard Worker} 254*f40fafd4SAndroid Build Coastguard Worker 255*f40fafd4SAndroid Build Coastguard Workerfilegroup { 256*f40fafd4SAndroid Build Coastguard Worker name: "vold_aidl", 257*f40fafd4SAndroid Build Coastguard Worker srcs: [ 258*f40fafd4SAndroid Build Coastguard Worker "binder/android/os/IVold.aidl", 259*f40fafd4SAndroid Build Coastguard Worker "binder/android/os/IVoldListener.aidl", 260*f40fafd4SAndroid Build Coastguard Worker "binder/android/os/IVoldMountCallback.aidl", 261*f40fafd4SAndroid Build Coastguard Worker "binder/android/os/IVoldTaskListener.aidl", 262*f40fafd4SAndroid Build Coastguard Worker ], 263*f40fafd4SAndroid Build Coastguard Worker path: "binder", 264*f40fafd4SAndroid Build Coastguard Worker} 265