| // |
| // Copyright (C) 2018 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| // |
| |
| package { |
| default_applicable_licenses: ["Android-Apache-2.0"], |
| } |
| |
| cc_defaults { |
| name: "libsnapshot_defaults", |
| defaults: ["fs_mgr_defaults"], |
| cflags: [ |
| "-D_FILE_OFFSET_BITS=64", |
| "-Wall", |
| "-Werror", |
| ], |
| shared_libs: [ |
| "libbase", |
| "libchrome", |
| "libcutils", |
| "liblog", |
| ], |
| static_libs: [ |
| "libbrotli", |
| "libdm", |
| "libfstab", |
| "update_metadata-protos", |
| ], |
| whole_static_libs: [ |
| "libbrotli", |
| "libcutils", |
| "libext2_uuid", |
| "libext4_utils", |
| "libfstab", |
| "libsnapuserd_client", |
| "libz", |
| ], |
| header_libs: [ |
| "libfiemap_headers", |
| "libstorage_literals_headers", |
| "libupdate_engine_headers", |
| ], |
| export_static_lib_headers: [ |
| "update_metadata-protos", |
| ], |
| export_header_lib_headers: [ |
| "libfiemap_headers", |
| ], |
| export_include_dirs: ["include"], |
| proto: { |
| type: "lite", |
| export_proto_headers: true, |
| canonical_path_from_root: false, |
| }, |
| } |
| |
| cc_defaults { |
| name: "libsnapshot_hal_deps", |
| cflags: [ |
| "-DLIBSNAPSHOT_USE_HAL", |
| ], |
| shared_libs: [ |
| "android.hardware.boot@1.0", |
| "android.hardware.boot@1.1", |
| "android.hardware.boot-V1-ndk", |
| "libboot_control_client", |
| ], |
| } |
| |
| filegroup { |
| name: "libsnapshot_sources", |
| srcs: [ |
| "android/snapshot/snapshot.proto", |
| "device_info.cpp", |
| "snapshot.cpp", |
| "snapshot_stats.cpp", |
| "snapshot_stub.cpp", |
| "snapshot_metadata_updater.cpp", |
| "partition_cow_creator.cpp", |
| "return.cpp", |
| "utility.cpp", |
| ], |
| } |
| |
| cc_library_headers { |
| name: "libsnapshot_headers", |
| recovery_available: true, |
| defaults: ["libsnapshot_defaults"], |
| } |
| |
| cc_library_static { |
| name: "libsnapshot_static", |
| defaults: [ |
| "libsnapshot_defaults", |
| "libsnapshot_hal_deps", |
| ], |
| srcs: [":libsnapshot_sources"], |
| static_libs: [ |
| "libfs_mgr_binder" |
| ], |
| } |
| |
| cc_library { |
| name: "libsnapshot", |
| defaults: [ |
| "libsnapshot_defaults", |
| "libsnapshot_cow_defaults", |
| "libsnapshot_hal_deps", |
| ], |
| srcs: [":libsnapshot_sources"], |
| shared_libs: [ |
| "libfs_mgr_binder", |
| "liblp", |
| "libprotobuf-cpp-lite", |
| ], |
| static_libs: [ |
| "libc++fs", |
| "libsnapshot_cow", |
| ] |
| } |
| |
| cc_library_static { |
| name: "libsnapshot_init", |
| native_coverage : true, |
| defaults: ["libsnapshot_defaults"], |
| srcs: [":libsnapshot_sources"], |
| ramdisk_available: true, |
| recovery_available: true, |
| cflags: [ |
| "-DLIBSNAPSHOT_NO_COW_WRITE", |
| ], |
| static_libs: [ |
| "libfs_mgr", |
| ], |
| } |
| |
| cc_library_static { |
| name: "libsnapshot_nobinder", |
| defaults: [ |
| "libsnapshot_defaults", |
| "libsnapshot_hal_deps", |
| ], |
| srcs: [":libsnapshot_sources"], |
| recovery_available: true, |
| cflags: [ |
| "-DLIBSNAPSHOT_NO_COW_WRITE", |
| ], |
| static_libs: [ |
| "libfs_mgr", |
| ], |
| } |
| |
| cc_defaults { |
| name: "libsnapshot_cow_defaults", |
| defaults: [ |
| "fs_mgr_defaults", |
| ], |
| cflags: [ |
| "-D_FILE_OFFSET_BITS=64", |
| "-Wall", |
| "-Werror", |
| ], |
| shared_libs: [ |
| "libbase", |
| "liblog", |
| ], |
| static_libs: [ |
| "libbrotli", |
| "libz", |
| "liblz4", |
| "libzstd", |
| ], |
| header_libs: [ |
| "libupdate_engine_headers", |
| ], |
| } |
| |
| cc_library_static { |
| name: "libsnapshot_cow", |
| defaults: [ |
| "libsnapshot_cow_defaults", |
| ], |
| srcs: [ |
| "libsnapshot_cow/cow_compress.cpp", |
| "libsnapshot_cow/cow_decompress.cpp", |
| "libsnapshot_cow/cow_format.cpp", |
| "libsnapshot_cow/cow_reader.cpp", |
| "libsnapshot_cow/parser_v2.cpp", |
| "libsnapshot_cow/parser_v3.cpp", |
| "libsnapshot_cow/snapshot_reader.cpp", |
| "libsnapshot_cow/writer_base.cpp", |
| "libsnapshot_cow/writer_v2.cpp", |
| "libsnapshot_cow/writer_v3.cpp", |
| ], |
| export_include_dirs: ["include"], |
| host_supported: true, |
| recovery_available: true, |
| ramdisk_available: true, |
| vendor_ramdisk_available: true, |
| } |
| |
| cc_library_static { |
| name: "libsnapshot_test_helpers", |
| defaults: ["libsnapshot_defaults"], |
| export_include_dirs: [ |
| "include_test", |
| ], |
| srcs: [ |
| "android/snapshot/snapshot.proto", |
| "test_helpers.cpp", |
| ], |
| shared_libs: [ |
| "android.hardware.boot@1.1", |
| "libcrypto", |
| ], |
| export_shared_lib_headers: [ |
| "android.hardware.boot@1.1", |
| ], |
| header_libs: [ |
| "libstorage_literals_headers", |
| ], |
| export_header_lib_headers: [ |
| "libstorage_literals_headers", |
| ], |
| static_libs: [ |
| "libfs_mgr", |
| "libgmock", |
| "libgtest", |
| ], |
| } |
| |
| cc_defaults { |
| name: "libsnapshot_test_defaults", |
| defaults: ["libsnapshot_defaults", "libsnapshot_cow_defaults"], |
| srcs: [ |
| "partition_cow_creator_test.cpp", |
| "snapshot_metadata_updater_test.cpp", |
| "snapshot_test.cpp", |
| ], |
| shared_libs: [ |
| "libbinder", |
| "libcrypto", |
| "libhidlbase", |
| "libprotobuf-cpp-lite", |
| "libutils", |
| "libz", |
| ], |
| static_libs: [ |
| "android.hardware.boot@1.0", |
| "android.hardware.boot@1.1", |
| "android.hardware.boot-V1-ndk", |
| "libbrotli", |
| "libc++fs", |
| "libfs_mgr_binder", |
| "libgflags", |
| "libgsi", |
| "libgmock", |
| "liblp", |
| "libsnapshot_static", |
| "libsnapshot_cow", |
| "libsnapshot_test_helpers", |
| "libsparse", |
| ], |
| header_libs: [ |
| "libstorage_literals_headers", |
| ], |
| auto_gen_config: true, |
| require_root: true, |
| compile_multilib: "first", |
| } |
| |
| cc_test { |
| name: "vts_libsnapshot_test", |
| defaults: ["libsnapshot_test_defaults", "libsnapshot_hal_deps"], |
| test_suites: [ |
| "vts", |
| "device-tests" |
| ], |
| test_options: { |
| min_shipping_api_level: 30, |
| }, |
| } |
| |
| cc_test { |
| name: "vab_legacy_tests", |
| defaults: ["libsnapshot_test_defaults", "libsnapshot_hal_deps"], |
| cppflags: [ |
| "-DLIBSNAPSHOT_TEST_VAB_LEGACY", |
| ], |
| test_suites: [ |
| "device-tests" |
| ], |
| test_options: { |
| // Legacy VAB launched in Android R. |
| min_shipping_api_level: 30, |
| }, |
| } |
| |
| cc_test { |
| name: "vabc_legacy_tests", |
| defaults: ["libsnapshot_test_defaults", "libsnapshot_hal_deps"], |
| cppflags: [ |
| "-DLIBSNAPSHOT_TEST_VABC_LEGACY", |
| ], |
| test_suites: [ |
| "device-tests" |
| ], |
| test_options: { |
| // Legacy VABC launched in Android S. |
| min_shipping_api_level: 31, |
| }, |
| } |
| |
| cc_test { |
| name: "vts_ota_config_test", |
| srcs: [ |
| "vts_ota_config_test.cpp", |
| ], |
| shared_libs: [ |
| "libbase", |
| ], |
| test_suites: [ |
| "vts", |
| ], |
| test_options: { |
| min_shipping_api_level: 33, |
| }, |
| auto_gen_config: true, |
| require_root: true, |
| } |
| |
| cc_binary { |
| name: "snapshotctl", |
| defaults: ["libsnapshot_cow_defaults", "libsnapshot_hal_deps"], |
| srcs: [ |
| "snapshotctl.cpp", |
| ], |
| static_libs: [ |
| "libbrotli", |
| "libc++fs", |
| "libfstab", |
| "libz", |
| "update_metadata-protos", |
| ], |
| shared_libs: [ |
| "libbase", |
| "libext2_uuid", |
| "libext4_utils", |
| "libfs_mgr_binder", |
| "libhidlbase", |
| "liblog", |
| "liblp", |
| "libprotobuf-cpp-lite", |
| "libsnapshot", |
| "libstatslog", |
| "libutils", |
| ], |
| header_libs: [ |
| "libstorage_literals_headers", |
| ], |
| product_variables: { |
| debuggable: { |
| cppflags: [ |
| "-DSNAPSHOTCTL_USERDEBUG_OR_ENG", |
| ], |
| shared_libs: [ |
| "android.hardware.boot@1.0", |
| "android.hardware.boot@1.1", |
| "android.hardware.boot-V1-ndk", |
| "libboot_control_client", |
| ], |
| }, |
| }, |
| } |
| |
| cc_test { |
| name: "cow_api_test", |
| defaults: [ |
| "fs_mgr_defaults", |
| "libsnapshot_cow_defaults", |
| ], |
| srcs: [ |
| "libsnapshot_cow/snapshot_reader_test.cpp", |
| "libsnapshot_cow/test_v2.cpp", |
| "libsnapshot_cow/test_v3.cpp", |
| ], |
| cflags: [ |
| "-D_FILE_OFFSET_BITS=64", |
| "-Wall", |
| "-Werror", |
| ], |
| shared_libs: [ |
| "libbase", |
| "libcrypto", |
| "liblog", |
| "libz", |
| ], |
| static_libs: [ |
| "libbrotli", |
| "libgtest", |
| "libsnapshot_cow", |
| ], |
| test_suites: [ |
| "device-tests" |
| ], |
| test_options: { |
| min_shipping_api_level: 30, |
| }, |
| data: [ |
| "tools/testdata/cow_v2", |
| "tools/testdata/incompressible_block", |
| ], |
| auto_gen_config: true, |
| require_root: false, |
| host_supported: true, |
| } |
| |
| cc_binary { |
| name: "inspect_cow", |
| host_supported: true, |
| device_supported: true, |
| defaults: ["libsnapshot_cow_defaults"], |
| cflags: [ |
| "-D_FILE_OFFSET_BITS=64", |
| "-Wall", |
| "-Werror", |
| ], |
| static_libs: [ |
| "libbase", |
| "libbrotli", |
| "libcrypto_static", |
| "liblog", |
| "libgflags", |
| "libsnapshot_cow", |
| "libz", |
| ], |
| shared_libs: [ |
| ], |
| srcs: [ |
| "libsnapshot_cow/inspect_cow.cpp", |
| ], |
| } |
| |
| cc_binary { |
| name: "create_snapshot", |
| host_supported: true, |
| device_supported: false, |
| |
| srcs: ["libsnapshot_cow/create_cow.cpp"], |
| |
| cflags: [ |
| "-Wall", |
| "-Werror", |
| ], |
| |
| static_libs: [ |
| "liblog", |
| "libbase", |
| "libext4_utils", |
| "libsnapshot_cow", |
| "libcrypto", |
| "libbrotli", |
| "libz", |
| "liblz4", |
| "libzstd", |
| "libgflags", |
| ], |
| shared_libs: [ |
| ], |
| |
| header_libs: [ |
| "libstorage_literals_headers", |
| ], |
| |
| dist: { |
| targets: [ |
| "sdk", |
| "sdk-repo-platform-tools", |
| "sdk_repo", |
| ], |
| }, |
| target: { |
| darwin: { |
| enabled: false, |
| }, |
| windows: { |
| enabled: false, |
| }, |
| }, |
| } |
| |
| python_library_host { |
| name: "snapshot_proto_python", |
| srcs: [ |
| "android/snapshot/snapshot.proto", |
| ], |
| proto: { |
| canonical_path_from_root: false, |
| }, |
| } |