/* * 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"], } python_binary_host { name: "berberis_gen_jni_trampolines", main: "gen_jni_trampolines.py", srcs: ["gen_jni_trampolines.py"], } genrule { name: "libberberis_jni_gen_headers", out: ["jni_trampolines-inl.h"], srcs: ["api.json"], tools: ["berberis_gen_jni_trampolines"], cmd: "$(location berberis_gen_jni_trampolines) $(out) $(in)", } cc_library_headers { name: "libberberis_jni_headers", defaults: ["berberis_defaults"], host_supported: true, export_include_dirs: ["include"], } // filegroups ensure valid file paths for modules depending on // libberberis_jni_defaults. filegroup { name: "_libberberis_jni_srcs", srcs: [ "guest_jni_trampolines.cc", "jni_trampolines.cc", ], } // Shared source files for compiling guest-specific static libs. // See libberberis_jni_riscv64 below. cc_defaults { name: "libberberis_jni_defaults", host_supported: false, srcs: [":_libberberis_jni_srcs"], generated_headers: ["libberberis_jni_gen_headers"], header_libs: [ "jni_headers", "libberberis_base_headers", "libberberis_guest_abi_headers", "libberberis_guest_loader_headers", "libberberis_jni_headers", "libberberis_native_bridge_headers", "libberberis_guest_state_headers", "libberberis_runtime_primitives_headers", ], export_header_lib_headers: [ "libberberis_guest_abi_headers", "libberberis_guest_state_headers", "libberberis_jni_headers", "libberberis_runtime_primitives_headers", ], } cc_library_static { name: "libberberis_jni_riscv64", defaults: [ "berberis_defaults_64", "libberberis_jni_defaults", ], header_libs: [ "libberberis_guest_abi_riscv64_headers", ], export_header_lib_headers: [ "libberberis_guest_abi_riscv64_headers", ], }