| package { |
| // See: http://go/android-license-faq |
| // A large-scale-change added 'default_applicable_licenses' to import |
| // all of the 'license_kinds' from "frameworks_native_license" |
| // to get the below license kinds: |
| // SPDX-license-identifier-Apache-2.0 |
| default_applicable_licenses: ["frameworks_native_license"], |
| } |
| |
| cc_defaults { |
| name: "installd_defaults", |
| |
| cflags: [ |
| "-Wall", |
| "-Werror", |
| "-Wextra", |
| |
| "-Wunreachable-code", |
| "-Wunreachable-code-break", |
| "-Wunreachable-code-return", |
| ], |
| srcs: [ |
| "CacheItem.cpp", |
| "CacheTracker.cpp", |
| "CrateManager.cpp", |
| "InstalldNativeService.cpp", |
| "QuotaUtils.cpp", |
| "dexopt.cpp", |
| "execv_helper.cpp", |
| "globals.cpp", |
| "run_dex2oat.cpp", |
| "unique_file.cpp", |
| "utils.cpp", |
| "utils_default.cpp", |
| "view_compiler.cpp", |
| ":installd_aidl", |
| ], |
| shared_libs: [ |
| "libbase", |
| "libbinder", |
| "libcrypto", |
| "libcutils", |
| "liblog", |
| "liblogwrap", |
| "libprocessgroup", |
| "libselinux", |
| "libutils", |
| "server_configurable_flags", |
| ], |
| static_libs: [ |
| "libasync_safe", |
| ], |
| export_shared_lib_headers: [ |
| "libbinder", |
| ], |
| |
| product_variables: { |
| arc: { |
| exclude_srcs: [ |
| "QuotaUtils.cpp", |
| ], |
| static_libs: [ |
| "libarcdiskquota", |
| "arc_services_aidl", |
| ], |
| cflags: [ |
| "-DUSE_ARC", |
| ], |
| }, |
| }, |
| |
| clang: true, |
| |
| tidy: true, |
| tidy_checks: [ |
| "-*", |
| "clang-analyzer-security*", |
| "cert-*", |
| "-cert-err58-cpp", |
| ], |
| tidy_flags: [ |
| "-warnings-as-errors=clang-analyzer-security*,cert-*" |
| ], |
| } |
| |
| // |
| // Static library used in testing and executable |
| // |
| |
| cc_library_static { |
| name: "libinstalld", |
| defaults: ["installd_defaults"], |
| |
| export_include_dirs: ["."], |
| aidl: { |
| export_aidl_headers: true, |
| }, |
| |
| product_variables: { |
| arc: { |
| exclude_srcs: [ |
| "QuotaUtils.cpp", |
| ], |
| static_libs: [ |
| "libarcdiskquota", |
| "arc_services_aidl", |
| ], |
| cflags: [ |
| "-DUSE_ARC", |
| ], |
| }, |
| }, |
| } |
| |
| cc_library_headers { |
| name: "libinstalld_headers", |
| export_include_dirs: ["."], |
| } |
| |
| // |
| // Unit tests |
| // |
| |
| cc_test_host { |
| name: "run_dex2oat_test", |
| test_suites: ["general-tests"], |
| clang: true, |
| srcs: [ |
| "run_dex2oat_test.cpp", |
| "run_dex2oat.cpp", |
| "unique_file.cpp", |
| "execv_helper.cpp", |
| ], |
| cflags: ["-Wall", "-Werror"], |
| shared_libs: [ |
| "libbase", |
| "server_configurable_flags", |
| ], |
| test_config: "run_dex2oat_test.xml", |
| } |
| |
| // |
| // Executable |
| // |
| |
| cc_binary { |
| name: "installd", |
| defaults: ["installd_defaults"], |
| srcs: ["installd.cpp"], |
| |
| static_libs: ["libdiskusage"], |
| |
| init_rc: ["installd.rc"], |
| |
| product_variables: { |
| arc: { |
| exclude_srcs: [ |
| "QuotaUtils.cpp", |
| ], |
| static_libs: [ |
| "libarcdiskquota", |
| "arc_services_aidl", |
| ], |
| cflags: [ |
| "-DUSE_ARC", |
| ], |
| }, |
| }, |
| |
| // Needs to be wherever installd is as it's execed by |
| // installd. |
| required: [ "migrate_legacy_obb_data.sh" ], |
| } |
| |
| // OTA chroot tool |
| |
| cc_binary { |
| name: "otapreopt_chroot", |
| defaults: ["libapexd-deps"], |
| cflags: [ |
| "-Wall", |
| "-Werror", |
| ], |
| clang: true, |
| |
| srcs: [ |
| "otapreopt_chroot.cpp", |
| "otapreopt_utils.cpp", |
| ], |
| shared_libs: [ |
| "libbase", |
| "liblog", |
| "libutils", |
| ], |
| required: [ |
| "apexd" |
| ], |
| } |
| |
| filegroup { |
| name: "installd_aidl", |
| srcs: [ |
| "binder/android/os/IInstalld.aidl", |
| "binder/android/os/storage/CrateMetadata.aidl", |
| ], |
| path: "binder", |
| } |
| |
| // |
| // Static library for otapreopt used in testing |
| // |
| cc_library_static { |
| name: "libotapreoptparameters", |
| cflags: [ |
| "-Wall", |
| "-Werror" |
| ], |
| |
| srcs: ["otapreopt_parameters.cpp"], |
| |
| export_include_dirs: ["."], |
| |
| shared_libs: [ |
| "libbase", |
| "libcutils", |
| "liblog", |
| "libprocessgroup", |
| "libutils", |
| ], |
| } |
| |
| // |
| // OTA Executable |
| // |
| |
| cc_binary { |
| name: "otapreopt", |
| cflags: [ |
| "-Wall", |
| "-Werror" |
| ], |
| |
| srcs: [ |
| "dexopt.cpp", |
| "execv_helper.cpp", |
| "globals.cpp", |
| "otapreopt.cpp", |
| "otapreopt_utils.cpp", |
| "run_dex2oat.cpp", |
| "unique_file.cpp", |
| "utils.cpp", |
| "utils_default.cpp", |
| "view_compiler.cpp", |
| ], |
| |
| static_libs: [ |
| "libasync_safe", |
| "libdiskusage", |
| "libotapreoptparameters", |
| ], |
| |
| shared_libs: [ |
| "libbase", |
| "libcrypto", |
| "libcutils", |
| "liblog", |
| "liblogwrap", |
| "libprocessgroup", |
| "libselinux", |
| "libutils", |
| "server_configurable_flags", |
| ], |
| } |
| |
| // OTA slot script |
| sh_binary { |
| name: "otapreopt_slot", |
| src: "otapreopt_slot.sh", |
| init_rc: ["otapreopt.rc"], |
| } |
| |
| // OTA postinstall script |
| sh_binary { |
| name: "otapreopt_script", |
| src: "otapreopt_script.sh", |
| // Let this depend on otapreopt, the chroot tool and the slot script, |
| // so we just have to mention one in a configuration. |
| required: [ |
| "otapreopt", |
| "otapreopt_chroot", |
| "otapreopt_slot", |
| ], |
| } |
| |
| // Script to migrate legacy obb data. |
| sh_binary { |
| name: "migrate_legacy_obb_data.sh", |
| src: "migrate_legacy_obb_data.sh" |
| } |