| 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*", |
| ], |
| tidy_flags: [ |
| "-warnings-as-errors=clang-analyzer-security*,cert-*", |
| ], |
| } |
| |
| cc_defaults { |
| name: "vold_default_libs", |
| |
| static_libs: [ |
| "libavb", |
| "libbootloader_message", |
| "libfec", |
| "libfec_rs", |
| "libfs_mgr", |
| "libscrypt_static", |
| "libsquashfs_utils", |
| "libvold_binder", |
| ], |
| shared_libs: [ |
| "android.hardware.keymaster@3.0", |
| "android.hardware.keymaster@4.0", |
| "android.hardware.boot@1.0", |
| "libbase", |
| "libbinder", |
| "libcrypto", |
| "libcrypto_utils", |
| "libcutils", |
| "libdiskconfig", |
| "libext4_utils", |
| "libf2fs_sparseblock", |
| "libfscrypt", |
| "libhardware", |
| "libhardware_legacy", |
| "libhidlbase", |
| "libhwbinder", |
| "libkeymaster4support", |
| "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"], |
| export_aidl_headers: true, |
| }, |
| } |
| |
| cc_library_headers { |
| name: "libvold_headers", |
| export_include_dirs: ["."], |
| } |
| |
| // Static library factored out to support testing |
| cc_library_static { |
| name: "libvold", |
| defaults: [ |
| "vold_default_flags", |
| "vold_default_libs", |
| ], |
| |
| srcs: [ |
| "Benchmark.cpp", |
| "CheckEncryption.cpp", |
| "Checkpoint.cpp", |
| "Devmapper.cpp", |
| "EncryptInplace.cpp", |
| "FileDeviceUtils.cpp", |
| "FsCrypt.cpp", |
| "IdleMaint.cpp", |
| "KeyBuffer.cpp", |
| "KeyStorage.cpp", |
| "KeyUtil.cpp", |
| "Keymaster.cpp", |
| "Loop.cpp", |
| "MetadataCrypt.cpp", |
| "MoveStorage.cpp", |
| "NetlinkHandler.cpp", |
| "NetlinkManager.cpp", |
| "Process.cpp", |
| "ScryptParameters.cpp", |
| "Utils.cpp", |
| "VoldNativeService.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/VolumeBase.cpp", |
| "model/StubVolume.cpp", |
| "secontext.cpp", |
| ], |
| product_variables: { |
| arc: { |
| exclude_srcs: [ |
| "model/ObbVolume.cpp", |
| ], |
| static_libs: [ |
| "arc_services_aidl", |
| "libarcobbvolume", |
| ], |
| }, |
| debuggable: { |
| cppflags: ["-D__ANDROID_DEBUGGABLE__"], |
| }, |
| device_support_hwfde: { |
| cflags: ["-DCONFIG_HW_DISK_ENCRYPTION"], |
| header_libs: ["libcryptfs_hw_headers"], |
| shared_libs: ["libcryptfs_hw"], |
| }, |
| device_support_hwfde_perf: { |
| cflags: ["-DCONFIG_HW_DISK_ENCRYPT_PERF"], |
| }, |
| }, |
| shared_libs: [ |
| "android.hardware.health.storage@1.0", |
| ], |
| } |
| |
| cc_binary { |
| name: "vold", |
| defaults: [ |
| "vold_default_flags", |
| "vold_default_libs", |
| ], |
| |
| srcs: ["main.cpp"], |
| static_libs: ["libvold"], |
| product_variables: { |
| arc: { |
| static_libs: [ |
| "arc_services_aidl", |
| "libarcobbvolume", |
| ], |
| }, |
| device_support_hwfde: { |
| shared_libs: ["libcryptfs_hw"], |
| }, |
| }, |
| init_rc: [ |
| "vold.rc", |
| "wait_for_keymaster.rc", |
| ], |
| |
| required: [ |
| "mke2fs", |
| "vold_prepare_subdirs", |
| "wait_for_keymaster", |
| ], |
| |
| shared_libs: [ |
| "android.hardware.health.storage@1.0", |
| "libhidltransport", |
| ], |
| } |
| |
| 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", |
| "Keymaster.cpp", |
| ], |
| shared_libs: [ |
| "libbase", |
| "libbinder", |
| |
| "android.hardware.keymaster@3.0", |
| "android.hardware.keymaster@4.0", |
| "libhardware", |
| "libhardware_legacy", |
| "libhidlbase", |
| "libhwbinder", |
| "libkeymaster4support", |
| ], |
| } |
| |
| 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/IVoldTaskListener.aidl", |
| ], |
| } |
| |
| subdirs = ["tests"] |