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", "SysTrace.cpp", "dexopt.cpp", "execv_helper.cpp", "globals.cpp", "restorable_file.cpp", "run_dex2oat.cpp", "unique_file.cpp", "utils.cpp", "utils_default.cpp", ":installd_aidl", ], shared_libs: [ "libbase", "libbinder", "libcrypto", "libcutils", "liblog", "liblogwrap", "libprocessgroup", "libselinux", "libutils", "libziparchive", "server_configurable_flags", ], static_libs: [ "libasync_safe", "libext2_uuid", ], export_shared_lib_headers: [ "libbinder", ], product_variables: { arc: { exclude_srcs: [ "QuotaUtils.cpp", ], static_libs: [ "libarcdiskquota", "arc_services_aidl", ], cflags: [ "-DUSE_ARC", ], }, }, tidy: true, tidy_checks: [ "-*", "clang-analyzer-security*", "cert-*", "-cert-err58-cpp", ], tidy_checks_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"], 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"], } // OTA chroot tool cc_binary { name: "otapreopt_chroot", defaults: ["libapexd-deps"], cflags: [ "-Wall", "-Werror", ], srcs: [ "otapreopt_chroot.cpp", "otapreopt_utils.cpp", ], shared_libs: [ "libbase", "liblog", "libutils", ], required: [ "apexd", ], } filegroup { name: "installd_aidl", srcs: [ "binder/**/*.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", "restorable_file.cpp", "run_dex2oat.cpp", "unique_file.cpp", "utils.cpp", "utils_default.cpp", ], static_libs: [ "libasync_safe", "libdiskusage", "libotapreoptparameters", "libext2_uuid", ], shared_libs: [ "libbase", "libcrypto", "libcutils", "liblog", "liblogwrap", "libprocessgroup", "libselinux", "libutils", "libziparchive", "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", src: "migrate_legacy_obb_data.sh", }