| package { | |
| default_applicable_licenses: ["Android-Apache-2.0"], | |
| } | |
| cc_defaults { | |
| name: "vold_default_flags", | |
| cflags: [ | |
| "-Wall", | |
| "-Werror", | |
| "-Wextra", | |
| "-Wno-unused-parameter", | |
| ], | |
| tidy: true, | |
| tidy_checks: [ | |
| "-*", | |
| "cert-*", | |
| "clang-analyzer-security*", | |
| "android-*", | |
| ], | |
| tidy_checks_as_errors: [ | |
| "clang-analyzer-security*", | |
| "cert-*", | |
| ], | |
| } | |
| cc_defaults { | |
| name: "vold_default_libs", | |
| static_libs: [ | |
| "[email protected]", | |
| "android.hardware.health.storage-V1-ndk", | |
| "android.security.maintenance-ndk", | |
| "libasync_safe", | |
| "libavb", | |
| "libbootloader_message", | |
| "libdm", | |
| "libext2_uuid", | |
| "libfec", | |
| "libfec_rs", | |
| "libfs_avb", | |
| "libfs_mgr", | |
| "libsquashfs_utils", | |
| "libvold_binder", | |
| "android.system.vold-V1-cpp", | |
| ], | |
| shared_libs: [ | |
| "[email protected]", | |
| "android.hardware.boot-V1-ndk", | |
| "libboot_control_client", | |
| "libbase", | |
| "libbinder", | |
| "libbinder_ndk", | |
| "libcrypto", | |
| "libcrypto_utils", | |
| "libcutils", | |
| "libext4_utils", | |
| "libf2fs_sparseblock", | |
| "libgsi", | |
| "libhardware", | |
| "libhardware_legacy", | |
| "libincfs", | |
| "libhidlbase", | |
| "libkeymint_support", | |
| "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: ["."], | |
| } | |
| vintf_fragment { | |
| name: "android.system.vold-service.xml", | |
| src: "android.system.vold-service.xml", | |
| } | |
| // Static library factored out to support testing | |
| cc_library_static { | |
| name: "libvold", | |
| defaults: [ | |
| "vold_default_flags", | |
| "vold_default_libs", | |
| "keystore2_use_latest_aidl_ndk_shared", | |
| ], | |
| srcs: [ | |
| "AppFuseUtil.cpp", | |
| "Benchmark.cpp", | |
| "Checkpoint.cpp", | |
| "CryptoType.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", | |
| "Utils.cpp", | |
| "VendorVoldNativeService.cpp", | |
| "VoldNativeService.cpp", | |
| "VoldNativeServiceValidation.cpp", | |
| "VoldUtil.cpp", | |
| "VolumeManager.cpp", | |
| "WriteBooster.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__"], | |
| }, | |
| }, | |
| } | |
| cc_binary { | |
| name: "vold", | |
| defaults: [ | |
| "vold_default_flags", | |
| "vold_default_libs", | |
| "keystore2_use_latest_aidl_ndk_shared", | |
| ], | |
| srcs: ["main.cpp"], | |
| static_libs: [ | |
| "libvold", | |
| ], | |
| init_rc: [ | |
| "vold.rc", | |
| ], | |
| required: [ | |
| "mke2fs", | |
| "vold_prepare_subdirs", | |
| "fuseMedia.o", | |
| ], | |
| product_variables: { | |
| arc: { | |
| exclude_srcs: [ | |
| "model/StubVolume.cpp", | |
| ], | |
| static_libs: [ | |
| "libarcvolume", | |
| ], | |
| }, | |
| }, | |
| vintf_fragment_modules: ["android.system.vold-service.xml"], | |
| } | |
| cc_binary { | |
| name: "vdc", | |
| defaults: ["vold_default_flags"], | |
| srcs: [ | |
| "vdc.cpp", | |
| "Utils.cpp", | |
| ], | |
| shared_libs: [ | |
| "libbase", | |
| "libbinder", | |
| "libcutils", | |
| "liblogwrap", | |
| "libselinux", | |
| "libutils", | |
| ], | |
| static_libs: [ | |
| "libvold_binder", | |
| ], | |
| } | |
| 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", | |
| } |