| // Copyright (C) 2023 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_library_headers { | |
| name: "libberberis_base_headers", | |
| defaults: ["berberis_all_hosts_defaults"], | |
| native_bridge_supported: true, | |
| host_supported: true, | |
| export_include_dirs: ["include"], | |
| header_libs: ["libbase_headers"], | |
| export_header_lib_headers: ["libbase_headers"], | |
| arch: { | |
| arm: { | |
| enabled: true, | |
| }, | |
| arm64: { | |
| enabled: true, | |
| }, | |
| riscv64: { | |
| enabled: true, | |
| }, | |
| x86: { | |
| enabled: true, | |
| }, | |
| x86_64: { | |
| enabled: true, | |
| }, | |
| }, | |
| } | |
| cc_library_static { | |
| name: "libberberis_base", | |
| defaults: ["berberis_all_hosts_defaults"], | |
| host_supported: true, | |
| srcs: [ | |
| "config_globals.cc", | |
| "config_globals_custom.cc", | |
| "exec_region.cc", | |
| "exec_region_anonymous.cc", | |
| "format_buffer.cc", | |
| "large_mmap.cc", | |
| "maps_snapshot.cc", | |
| "mapped_file_fragment.cc", | |
| "memfd_backed_mmap.cc", | |
| "mmap_posix.cc", | |
| "prctl_helpers.cc", | |
| "tracing.cc", | |
| ], | |
| arch: { | |
| arm64: { | |
| srcs: ["raw_syscall_arm64.S"], | |
| }, | |
| x86: { | |
| srcs: ["raw_syscall_x86_32.S"], | |
| }, | |
| x86_64: { | |
| srcs: ["raw_syscall_x86_64.S"], | |
| }, | |
| riscv64: { | |
| srcs: ["raw_syscall_riscv64.S"], | |
| }, | |
| }, | |
| header_libs: ["libberberis_base_headers"], | |
| export_header_lib_headers: ["libberberis_base_headers"], | |
| } | |
| cc_library_static { | |
| name: "libberberis_base_elf_backed_exec_region", | |
| defaults: ["berberis_all_hosts_defaults"], | |
| host_supported: true, | |
| target: { | |
| bionic: { | |
| srcs: ["exec_region_elf_backed.cc"], | |
| }, | |
| }, | |
| header_libs: ["libberberis_base_headers"], | |
| export_header_lib_headers: ["libberberis_base_headers"], | |
| } | |
| // ATTENTION: do not use it outside of static tests! | |
| cc_library_static { | |
| name: "libberberis_base_elf_backed_exec_region_for_static_tests", | |
| defaults: ["berberis_all_hosts_defaults"], | |
| host_supported: true, | |
| target: { | |
| bionic: { | |
| srcs: ["exec_region_elf_backed_for_static_tests.cc"], | |
| }, | |
| }, | |
| header_libs: ["libberberis_base_headers"], | |
| export_header_lib_headers: ["libberberis_base_headers"], | |
| } | |
| cc_test_library { | |
| name: "libberberis_base_unit_tests", | |
| defaults: ["berberis_test_library_defaults"], | |
| srcs: [ | |
| "arena_test.cc", | |
| "arena_zeroed_array_test.cc", | |
| "bit_util_test.cc", | |
| "exec_region_anonymous.cc", | |
| "exec_region_anonymous_test.cc", | |
| "forever_alloc_test.cc", | |
| "forever_pool_test.cc", | |
| "format_buffer_test.cc", | |
| "lock_free_stack_test.cc", | |
| "large_mmap_test.cc", | |
| "maps_snapshot_test.cc", | |
| "memfd_backed_mmap_test.cc", | |
| "mmap_pool_test.cc", | |
| "mmap_test.cc", | |
| "pointer_and_counter_test.cc", | |
| ], | |
| header_libs: ["libberberis_base_headers"], | |
| } | |
| cc_test_library { | |
| name: "libberberis_base_elf_backed_exec_region_unit_tests", | |
| defaults: ["berberis_test_library_defaults"], | |
| target: { | |
| bionic: { | |
| srcs: ["exec_region_elf_backed_test.cc"], | |
| }, | |
| }, | |
| header_libs: ["libberberis_base_headers"], | |
| } |