1// Copyright (C) 2023 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14// 15 16package { 17 default_applicable_licenses: ["Android-Apache-2.0"], 18} 19 20cc_library_headers { 21 name: "libberberis_runtime_headers", 22 defaults: ["berberis_all_hosts_defaults"], 23 host_supported: true, 24 export_include_dirs: ["include"], 25} 26 27filegroup { 28 name: "berberis_runtime_library_arm64_srcs", 29 srcs: [ 30 "runtime_library_arm64.cc", 31 ], 32} 33 34filegroup { 35 name: "berberis_runtime_library_x86_64_srcs", 36 srcs: [ 37 "runtime_library_x86_64.cc", 38 ], 39} 40 41filegroup { 42 name: "berberis_runtime_library_riscv64_srcs", 43 srcs: [ 44 "runtime_library_riscv64.cc", 45 ], 46} 47 48cc_defaults { 49 name: "berberis_runtime_library_defaults", 50 arch: { 51 arm64: { 52 srcs: [":berberis_runtime_library_arm64_srcs"], 53 }, 54 x86_64: { 55 srcs: [":berberis_runtime_library_x86_64_srcs"], 56 }, 57 riscv64: { 58 srcs: [":berberis_runtime_library_riscv64_srcs"], 59 }, 60 }, 61 header_libs: [ 62 "libberberis_base_headers", 63 "libberberis_runtime_primitives_headers", 64 ], 65 // Targets using these defaults must provide the following guest-specific fields: 66 // header_libs: ["libberberis_guest_state_<guest>_headers"], 67 // export_header_lib_headers: ["libberberis_guest_state_<guest>_headers"], 68} 69 70cc_library_static { 71 name: "libberberis_runtime", 72 defaults: ["berberis_all_hosts_defaults"], 73 host_supported: true, 74 header_libs: [ 75 "libberberis_base_headers", 76 "libberberis_guest_state_headers", 77 "libberberis_guest_os_primitives_headers", 78 "libberberis_runtime_headers", 79 "libberberis_runtime_primitives_headers", 80 ], 81 export_header_lib_headers: [ 82 "libberberis_runtime_headers", 83 ], 84 srcs: [ 85 "berberis.cc", 86 "execute_guest.cc", 87 "execute_guest_call.cc", 88 "runtime_library.cc", 89 "translator.cc", 90 ], 91} 92