| 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: [ | |
| "[email protected]", | |
| "[email protected]", | |
| "libbase", | |
| "libbinder", | |
| "libcrypto", | |
| "libcrypto_utils", | |
| "libcutils", | |
| "libdiskconfig", | |
| "libext4_utils", | |
| "libf2fs_sparseblock", | |
| "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", | |
| "Devmapper.cpp", | |
| "EncryptInplace.cpp", | |
| "Ext4Crypt.cpp", | |
| "FileDeviceUtils.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", | |
| "secontext.cpp", | |
| ], | |
| product_variables: { | |
| arc: { | |
| exclude_srcs: [ | |
| "model/ObbVolume.cpp", | |
| ], | |
| static_libs: [ | |
| "arc_services_aidl", | |
| "libarcobbvolume", | |
| ], | |
| }, | |
| }, | |
| } | |
| 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", | |
| ], | |
| }, | |
| }, | |
| init_rc: [ | |
| "vold.rc", | |
| "wait_for_keymaster.rc", | |
| ], | |
| required: [ | |
| "mke2fs", | |
| "vold_prepare_subdirs", | |
| "wait_for_keymaster", | |
| ], | |
| } | |
| 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", | |
| "[email protected]", | |
| "[email protected]", | |
| "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"] |