1//
2// Copyright (C) 2018 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8//      http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17package {
18    default_applicable_licenses: ["Android-Apache-2.0"],
19}
20
21cc_library {
22    defaults: ["native_bridge_stub_library_defaults"],
23    name: "libnative_bridge_guest_libvulkan",
24    overrides: ["libvulkan"],
25    stem: "libvulkan",
26    arch: {
27        arm: {
28            srcs: ["stubs_arm.cc"],
29        },
30        arm64: {
31            srcs: ["stubs_arm64.cc"],
32        },
33        riscv64: {
34            srcs: ["stubs_riscv64.cc"],
35        },
36    },
37    shared_libs: [
38        // libbinder.so — greylisted, not included.
39        "libcutils",
40        "liblog",
41        "libnative_bridge_guest_libnativewindow",
42        // libui.so — greylisted, not included.
43        "libutils",
44    ],
45}
46
47bootstrap_go_package {
48    name: "cpp_types",
49    pkgPath: "berberis/cpp_types",
50    srcs: [
51        "proxy/cpp_types.go",
52    ],
53    testSrcs: [
54        "proxy/cpp_types_test.go",
55    ],
56}
57
58bootstrap_go_package {
59    name: "vulkan_types",
60    pkgPath: "berberis/vulkan_types",
61    srcs: [
62        "proxy/vulkan_types.go",
63    ],
64    deps: ["cpp_types"],
65}
66
67bootstrap_go_package {
68    name: "vulkan_xml",
69    pkgPath: "berberis/vulkan_xml",
70    srcs: [
71        "proxy/vulkan_xml.go",
72    ],
73    deps: [
74        "cpp_types",
75        "vulkan_types",
76    ],
77    testSrcs: [
78        "proxy/vulkan_xml_test.go",
79    ],
80}
81
82blueprint_go_binary {
83    name: "gen_vulkan",
84    srcs: ["proxy/gen_vulkan.go"],
85    testSrcs: ["gen_vulkan_test.go"],
86    deps: ["vulkan_xml"],
87}
88
89filegroup {
90    name: "native_bridge_proxy_libvulkan_files",
91    srcs: [
92        "proxy/vulkan_trampolines.cc",
93    ],
94}
95