// // Copyright (C) 2011 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 { // See: http://go/android-license-faq // A large-scale-change added 'default_applicable_licenses' to import // all of the 'license_kinds' from "art_license" // to get the below license kinds: // SPDX-license-identifier-Apache-2.0 default_applicable_licenses: ["art_license"], } cc_defaults { name: "libartbase_defaults", defaults: ["art_defaults"], host_supported: true, srcs: [ "arch/instruction_set.cc", "base/allocator.cc", "base/arena_allocator.cc", "base/arena_bit_vector.cc", "base/bit_vector.cc", "base/compiler_filter.cc", "base/enums.cc", "base/file_magic.cc", "base/file_utils.cc", "base/flags.cc", "base/hex_dump.cc", "base/hiddenapi_flags.cc", "base/logging.cc", "base/malloc_arena_pool.cc", "base/membarrier.cc", "base/memfd.cc", "base/memory_region.cc", "base/mem_map.cc", // "base/mem_map_fuchsia.cc", put in target when fuchsia supported by soong "base/metrics/metrics_common.cc", "base/os_linux.cc", "base/runtime_debug.cc", "base/safe_copy.cc", "base/scoped_arena_allocator.cc", "base/scoped_flock.cc", "base/socket_peer_is_trusted.cc", "base/time_utils.cc", "base/unix_file/fd_file.cc", "base/unix_file/random_access_file_utils.cc", "base/utils.cc", "base/zip_archive.cc", ], target: { android: { srcs: [ "base/globals_unix.cc", "base/mem_map_unix.cc", ], static_libs: [ // ZipArchive support, the order matters here to get all symbols. "libziparchive", ], shared_libs: [ "libz", "liblog", // For ashmem. "libartpalette", // For common macros. "libbase", ], export_shared_lib_headers: ["libbase"], // ART's macros.h depends on libbase's macros.h. }, not_windows: { srcs: [ "base/globals_unix.cc", "base/mem_map_unix.cc", ], static: { cflags: ["-DART_STATIC_LIBARTBASE"], }, shared_libs: [ "libziparchive", "libz", "liblog", // For ashmem. "libartpalette", // For common macros. "libbase", ], export_shared_lib_headers: ["libbase"], // ART's macros.h depends on libbase's macros.h. }, windows: { srcs: [ "base/mem_map_windows.cc", ], static_libs: [ "libziparchive", "libz", "liblog", // For ashmem. "libartpalette", // For common macros. "libbase", ], export_static_lib_headers: ["libbase"], // ART's macros.h depends on libbase's macros.h. cflags: ["-Wno-thread-safety"], }, darwin: { enabled: true, // for libdexfile. }, }, generated_sources: ["art_libartbase_operator_srcs"], export_include_dirs: ["."], } cc_defaults { name: "libartbase_static_base_defaults", whole_static_libs: [ "libbase", "libartpalette", "liblog", "libz", "libziparchive", ], } cc_defaults { name: "libartbase_static_defaults", defaults: ["libartbase_static_base_defaults"], whole_static_libs: ["libartbase"], } cc_defaults { name: "libartbased_static_defaults", defaults: ["libartbase_static_base_defaults"], whole_static_libs: ["libartbased"], } gensrcs { name: "art_libartbase_operator_srcs", cmd: "$(location generate_operator_out) art/libartbase $(in) > $(out)", tools: ["generate_operator_out"], srcs: [ "arch/instruction_set.h", "base/allocator.h", "base/unix_file/fd_file.h", ], output_extension: "operator_out.cc", } art_cc_library { name: "libartbase", defaults: [ "libartbase_defaults", "libart_nativeunwind_defaults", "art_pgo_defaults", ], visibility: [ // TODO(b/183483755): Please visibility checks when the prebuilt // libartbase is present but not preferred, and the prebuilt libdexfile // hence depends on the source instead. // TODO(b/172480617): Alternatively, clean up when we no longer need to // support both prebuilts and sources present simultaneously. "//prebuilts/module_sdk/art/current/host-exports", // TODO(b/133140750): Clean this up. "//packages/modules/NetworkStack/tests:__subpackages__", ], apex_available: [ "com.android.art", "com.android.art.debug", ], shared_libs: [ "libbase", "libziparchive", ], export_shared_lib_headers: ["libbase"], target: { windows: { enabled: true, shared: { enabled: false, }, }, }, } art_cc_library { name: "libartbased", defaults: [ "art_debug_defaults", "libartbase_defaults", ], apex_available: [ "com.android.art.debug", ], shared_libs: [ "libbase", "libziparchive", ], export_shared_lib_headers: ["libbase"], target: { windows: { enabled: true, shared: { enabled: false, }, }, }, } art_cc_defaults { name: "libartbase-art-gtest-defaults", srcs: [ "base/common_art_test.cc", ], shared_libs: [ "libbase", "libbacktrace", ], header_libs: [ "libnativehelper_header_only", ], static: { whole_static_libs: ["libc++fs"], }, shared: { static_libs: ["libc++fs"], }, } art_cc_library { name: "libartbase-art-gtest", defaults: [ "libart-gtest-defaults", "libartbase-art-gtest-defaults", ], shared_libs: [ "libartbase", "libdexfile", ], } art_cc_library { name: "libartbased-art-gtest", defaults: [ "libartd-gtest-defaults", "libartbase-art-gtest-defaults", ], shared_libs: [ "libartbased", "libdexfiled", ], } art_cc_defaults { name: "art_libartbase_tests_defaults", srcs: [ "arch/instruction_set_test.cc", "base/arena_allocator_test.cc", "base/bit_field_test.cc", "base/bit_memory_region_test.cc", "base/bit_string_test.cc", "base/bit_struct_test.cc", "base/bit_table_test.cc", "base/bit_utils_test.cc", "base/bit_vector_test.cc", "base/compiler_filter_test.cc", "base/file_utils_test.cc", "base/flags_test.cc", "base/hash_map_test.cc", "base/hash_set_test.cc", "base/hex_dump_test.cc", "base/histogram_test.cc", "base/indenter_test.cc", "base/intrusive_forward_list_test.cc", "base/leb128_test.cc", "base/logging_test.cc", "base/memfd_test.cc", "base/membarrier_test.cc", "base/memory_region_test.cc", "base/mem_map_test.cc", "base/metrics/metrics_test.cc", "base/safe_copy_test.cc", "base/scoped_flock_test.cc", "base/time_utils_test.cc", "base/transform_array_ref_test.cc", "base/transform_iterator_test.cc", "base/unix_file/fd_file_test.cc", "base/utils_test.cc", "base/variant_map_test.cc", "base/zip_archive_test.cc", ], shared_libs: [ "libbase", ], static_libs: [ "libgmock", ], } // Version of ART gtest `art_libartbase_tests` bundled with the ART APEX on target. // TODO(b/192274705): Remove this module when the migration to standalone ART gtests is complete. art_cc_test { name: "art_libartbase_tests", defaults: [ "art_gtest_defaults", "art_libartbase_tests_defaults", ], } // Standalone version of ART gtest `art_libartbase_tests`, not bundled with the ART APEX on target. art_cc_test { name: "art_standalone_libartbase_tests", defaults: [ "art_standalone_gtest_defaults", "art_libartbase_tests_defaults", ], } cc_library_headers { name: "art_libartbase_headers", host_supported: true, export_include_dirs: ["."], shared_libs: ["libbase"], export_shared_lib_headers: ["libbase"], apex_available: [ "com.android.art", "com.android.art.debug", ], min_sdk_version: "S", }