| package { |
| default_applicable_licenses: ["Android-Apache-2.0"], |
| } |
| |
| cc_defaults { |
| name: "vold_default_flags", |
| |
| cflags: [ |
| "-Wall", |
| "-Werror", |
| "-Wextra", |
| "-Wno-missing-field-initializers", |
| "-Wno-unused-parameter", |
| "-Wno-unused-variable", |
| ], |
| |
| clang: true, |
| |
| tidy: true, |
| tidy_checks: [ |
| "-*", |
| "cert-*", |
| "clang-analyzer-security*", |
| "android-*", |
| ], |
| tidy_flags: [ |
| "-warnings-as-errors=clang-analyzer-security*,cert-*", |
| ], |
| } |
| |
| cc_defaults { |
| name: "vold_default_libs", |
| |
| static_libs: [ |
| "libasync_safe", |
| "libavb", |
| "libbootloader_message", |
| "libdm", |
| "libext2_uuid", |
| "libfec", |
| "libfec_rs", |
| "libfs_avb", |
| "libfs_mgr", |
| "libscrypt_static", |
| "libsquashfs_utils", |
| "libvold_binder", |
| ], |
| shared_libs: [ |
| "android.hardware.boot@1.0", |
| "libbase", |
| "libbinder", |
| "libcrypto", |
| "libcrypto_utils", |
| "libcutils", |
| "libdiskconfig", |
| "libext4_utils", |
| "libf2fs_sparseblock", |
| "libgsi", |
| "libhardware", |
| "libhardware_legacy", |
| "libincfs", |
| "libhidlbase", |
| "libkeyutils", |
| "liblog", |
| "liblogwrap", |
| "libselinux", |
| "libsysutils", |
| "libutils", |
| ], |
| } |
| |
| cc_library_static { |
| name: "libvold_binder", |
| defaults: ["vold_default_flags"], |
| |
| srcs: [ |
| ":vold_aidl", |
| ], |
| shared_libs: [ |
| "libbinder", |
| "libutils", |
| ], |
| aidl: { |
| local_include_dirs: ["binder"], |
| include_dirs: [ |
| "frameworks/native/aidl/binder", |
| "frameworks/base/core/java", |
| ], |
| export_aidl_headers: true, |
| }, |
| whole_static_libs: [ |
| "libincremental_aidl-cpp", |
| ], |
| export_shared_lib_headers: [ |
| "libbinder", |
| ], |
| } |
| |
| cc_library_headers { |
| name: "libvold_headers", |
| recovery_available: true, |
| export_include_dirs: ["."], |
| } |
| |
| // Static library factored out to support testing |
| cc_library_static { |
| name: "libvold", |
| defaults: [ |
| "vold_default_flags", |
| "vold_default_libs", |
| ], |
| |
| srcs: [ |
| "AppFuseUtil.cpp", |
| "Benchmark.cpp", |
| "Checkpoint.cpp", |
| "CryptoType.cpp", |
| "Devmapper.cpp", |
| "EncryptInplace.cpp", |
| "FileDeviceUtils.cpp", |
| "FsCrypt.cpp", |
| "IdleMaint.cpp", |
| "KeyBuffer.cpp", |
| "KeyStorage.cpp", |
| "KeyUtil.cpp", |
| "Keystore.cpp", |
| "Loop.cpp", |
| "MetadataCrypt.cpp", |
| "MoveStorage.cpp", |
| "NetlinkHandler.cpp", |
| "NetlinkManager.cpp", |
| "Process.cpp", |
| "ScryptParameters.cpp", |
| "Utils.cpp", |
| "VoldNativeService.cpp", |
| "VoldNativeServiceValidation.cpp", |
| "VoldUtil.cpp", |
| "VolumeManager.cpp", |
| "cryptfs.cpp", |
| "fs/Exfat.cpp", |
| "fs/Ext4.cpp", |
| "fs/F2fs.cpp", |
| "fs/Vfat.cpp", |
| "model/Disk.cpp", |
| "model/EmulatedVolume.cpp", |
| "model/ObbVolume.cpp", |
| "model/PrivateVolume.cpp", |
| "model/PublicVolume.cpp", |
| "model/StubVolume.cpp", |
| "model/VolumeBase.cpp", |
| "model/VolumeEncryption.cpp", |
| ], |
| product_variables: { |
| arc: { |
| exclude_srcs: [ |
| "model/StubVolume.cpp", |
| ], |
| static_libs: [ |
| "libarcvolume", |
| ], |
| }, |
| debuggable: { |
| cppflags: ["-D__ANDROID_DEBUGGABLE__"], |
| }, |
| }, |
| shared_libs: [ |
| "android.hardware.health.storage@1.0", |
| "android.hardware.health.storage-V1-ndk_platform", |
| "android.system.keystore2-V1-ndk_platform", |
| "android.security.maintenance-ndk_platform", |
| "libbinder_ndk", |
| "libkeymint_support", |
| ], |
| whole_static_libs: [ |
| "com.android.sysprop.apex", |
| "libc++fs" |
| ], |
| } |
| |
| cc_binary { |
| name: "vold", |
| defaults: [ |
| "vold_default_flags", |
| "vold_default_libs", |
| ], |
| |
| srcs: ["main.cpp"], |
| static_libs: ["libvold"], |
| init_rc: [ |
| "vold.rc", |
| "wait_for_keymaster.rc", |
| ], |
| |
| required: [ |
| "mke2fs", |
| "vold_prepare_subdirs", |
| "wait_for_keymaster", |
| ], |
| |
| shared_libs: [ |
| "android.hardware.health.storage@1.0", |
| "android.hardware.health.storage-V1-ndk_platform", |
| "android.system.keystore2-V1-ndk_platform", |
| "android.security.maintenance-ndk_platform", |
| "libbinder_ndk", |
| "libkeymint_support", |
| ], |
| |
| product_variables: { |
| arc: { |
| exclude_srcs: [ |
| "model/StubVolume.cpp", |
| ], |
| static_libs: [ |
| "libarcvolume", |
| ], |
| }, |
| }, |
| } |
| |
| cc_binary { |
| name: "vdc", |
| defaults: ["vold_default_flags"], |
| |
| srcs: ["vdc.cpp"], |
| shared_libs: [ |
| "libbase", |
| "libbinder", |
| "libcutils", |
| "libutils", |
| ], |
| static_libs: [ |
| "libvold_binder", |
| ], |
| init_rc: ["vdc.rc"], |
| } |
| |
| cc_binary { |
| name: "wait_for_keymaster", |
| defaults: ["vold_default_flags"], |
| |
| srcs: [ |
| "wait_for_keymaster.cpp", |
| "Keystore.cpp", |
| ], |
| shared_libs: [ |
| "libbase", |
| "libbinder", |
| "libbinder_ndk", |
| |
| "android.system.keystore2-V1-ndk_platform", |
| "android.security.maintenance-ndk_platform", |
| "libhardware", |
| "libhardware_legacy", |
| "libhidlbase", |
| "libkeymint_support", |
| "libutils", |
| ], |
| } |
| |
| cc_binary { |
| name: "secdiscard", |
| defaults: ["vold_default_flags"], |
| |
| srcs: [ |
| "FileDeviceUtils.cpp", |
| "secdiscard.cpp", |
| ], |
| shared_libs: ["libbase"], |
| } |
| |
| cc_binary { |
| name: "vold_prepare_subdirs", |
| defaults: ["vold_default_flags"], |
| |
| srcs: ["vold_prepare_subdirs.cpp", "Utils.cpp"], |
| shared_libs: [ |
| "libbase", |
| "libcutils", |
| "liblogwrap", |
| "libselinux", |
| "libutils", |
| ], |
| static_libs: [ |
| "libvold_binder", |
| ], |
| } |
| |
| filegroup { |
| name: "vold_aidl", |
| srcs: [ |
| "binder/android/os/IVold.aidl", |
| "binder/android/os/IVoldListener.aidl", |
| "binder/android/os/IVoldMountCallback.aidl", |
| "binder/android/os/IVoldTaskListener.aidl", |
| ], |
| path: "binder", |
| } |