xref: /aosp_15_r20/external/vulkan-headers/Android.bp (revision 902771965e4c6d39c75c62130a6a330c08b024db)
1// Copyright 2019 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
15package {
16    default_applicable_licenses: ["external_vulkan-headers_license"],
17}
18
19license {
20    name: "external_vulkan-headers_license",
21    visibility: [":__subpackages__"],
22    license_kinds: [
23        "SPDX-license-identifier-Apache-2.0",
24    ],
25    license_text: [
26        "LICENSES/Apache-2.0.txt",
27    ],
28}
29
30license {
31    name: "external_vulkan-headers_license.unused.MIT",
32    visibility: [":__subpackages__"],
33    license_kinds: [
34        "SPDX-license-identifier-MIT",
35    ],
36    license_text: [
37        "LICENSES/MIT.txt",
38    ],
39}
40
41filegroup {
42    name: "external_vulkan-headers_unused.MIT",
43    visibility: ["//visibility:private"],
44    licenses: ["external_vulkan-headers_license.unused.MIT"],
45    srcs: ["registry/parse_dependency.py"],
46}
47
48// This module defines which headers are included in the NDK sysroot during
49// the NDK build process.
50ndk_headers {
51    name: "ndk_vulkan_headers",
52    from: "include",
53    to: "",
54    srcs: [
55        "include/**/*.h",
56    ],
57    license: "LICENSES/Apache-2.0.txt",
58    // The Vulkan headers aren't self-contained. vulkan_fuchsia.h, at the very
59    // least, requires other headers to be included first.
60    //
61    // Low risk to disable verification here since upstream also cares about
62    // C-compatibility. Can remove if upstream ever decides they want to
63    // guarantee self-contained headers as well.
64    skip_verification: true,
65}
66
67// This module makes Vulkan headers available to other modules without
68// having to link against libvulkan.so, e.g. for the Vulkan loader and
69// drivers, or things that dlopen libvulkan.so. It's available to system
70// modules, as part of the VNDK, and to unbundled modules.
71cc_library_headers {
72    name: "vulkan_headers",
73    export_include_dirs: ["include"],
74    native_bridge_supported: true, // Used for verification in Berberis.
75    host_supported: true,
76    vendor_available: true,
77    sdk_version: "24",
78    apex_available: [
79        "//apex_available:platform",
80        "com.android.virt",
81    ],
82    llndk: {
83        llndk_headers: true,
84    },
85}
86
87// This module makes Vulkan XML file available to vendor code.
88filegroup {
89    name: "vulkan_headers_registry",
90    srcs: ["registry/vk.xml"],
91}
92