xref: /aosp_15_r20/external/vulkan-headers/Android.bp (revision 902771965e4c6d39c75c62130a6a330c08b024db)
1*90277196SAndroid Build Coastguard Worker// Copyright 2019 The Android Open Source Project
2*90277196SAndroid Build Coastguard Worker//
3*90277196SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*90277196SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*90277196SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*90277196SAndroid Build Coastguard Worker//
7*90277196SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*90277196SAndroid Build Coastguard Worker//
9*90277196SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*90277196SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*90277196SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*90277196SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*90277196SAndroid Build Coastguard Worker// limitations under the License.
14*90277196SAndroid Build Coastguard Worker
15*90277196SAndroid Build Coastguard Workerpackage {
16*90277196SAndroid Build Coastguard Worker    default_applicable_licenses: ["external_vulkan-headers_license"],
17*90277196SAndroid Build Coastguard Worker}
18*90277196SAndroid Build Coastguard Worker
19*90277196SAndroid Build Coastguard Workerlicense {
20*90277196SAndroid Build Coastguard Worker    name: "external_vulkan-headers_license",
21*90277196SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
22*90277196SAndroid Build Coastguard Worker    license_kinds: [
23*90277196SAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
24*90277196SAndroid Build Coastguard Worker    ],
25*90277196SAndroid Build Coastguard Worker    license_text: [
26*90277196SAndroid Build Coastguard Worker        "LICENSES/Apache-2.0.txt",
27*90277196SAndroid Build Coastguard Worker    ],
28*90277196SAndroid Build Coastguard Worker}
29*90277196SAndroid Build Coastguard Worker
30*90277196SAndroid Build Coastguard Workerlicense {
31*90277196SAndroid Build Coastguard Worker    name: "external_vulkan-headers_license.unused.MIT",
32*90277196SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
33*90277196SAndroid Build Coastguard Worker    license_kinds: [
34*90277196SAndroid Build Coastguard Worker        "SPDX-license-identifier-MIT",
35*90277196SAndroid Build Coastguard Worker    ],
36*90277196SAndroid Build Coastguard Worker    license_text: [
37*90277196SAndroid Build Coastguard Worker        "LICENSES/MIT.txt",
38*90277196SAndroid Build Coastguard Worker    ],
39*90277196SAndroid Build Coastguard Worker}
40*90277196SAndroid Build Coastguard Worker
41*90277196SAndroid Build Coastguard Workerfilegroup {
42*90277196SAndroid Build Coastguard Worker    name: "external_vulkan-headers_unused.MIT",
43*90277196SAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
44*90277196SAndroid Build Coastguard Worker    licenses: ["external_vulkan-headers_license.unused.MIT"],
45*90277196SAndroid Build Coastguard Worker    srcs: ["registry/parse_dependency.py"],
46*90277196SAndroid Build Coastguard Worker}
47*90277196SAndroid Build Coastguard Worker
48*90277196SAndroid Build Coastguard Worker// This module defines which headers are included in the NDK sysroot during
49*90277196SAndroid Build Coastguard Worker// the NDK build process.
50*90277196SAndroid Build Coastguard Workerndk_headers {
51*90277196SAndroid Build Coastguard Worker    name: "ndk_vulkan_headers",
52*90277196SAndroid Build Coastguard Worker    from: "include",
53*90277196SAndroid Build Coastguard Worker    to: "",
54*90277196SAndroid Build Coastguard Worker    srcs: [
55*90277196SAndroid Build Coastguard Worker        "include/**/*.h",
56*90277196SAndroid Build Coastguard Worker    ],
57*90277196SAndroid Build Coastguard Worker    license: "LICENSES/Apache-2.0.txt",
58*90277196SAndroid Build Coastguard Worker    // The Vulkan headers aren't self-contained. vulkan_fuchsia.h, at the very
59*90277196SAndroid Build Coastguard Worker    // least, requires other headers to be included first.
60*90277196SAndroid Build Coastguard Worker    //
61*90277196SAndroid Build Coastguard Worker    // Low risk to disable verification here since upstream also cares about
62*90277196SAndroid Build Coastguard Worker    // C-compatibility. Can remove if upstream ever decides they want to
63*90277196SAndroid Build Coastguard Worker    // guarantee self-contained headers as well.
64*90277196SAndroid Build Coastguard Worker    skip_verification: true,
65*90277196SAndroid Build Coastguard Worker}
66*90277196SAndroid Build Coastguard Worker
67*90277196SAndroid Build Coastguard Worker// This module makes Vulkan headers available to other modules without
68*90277196SAndroid Build Coastguard Worker// having to link against libvulkan.so, e.g. for the Vulkan loader and
69*90277196SAndroid Build Coastguard Worker// drivers, or things that dlopen libvulkan.so. It's available to system
70*90277196SAndroid Build Coastguard Worker// modules, as part of the VNDK, and to unbundled modules.
71*90277196SAndroid Build Coastguard Workercc_library_headers {
72*90277196SAndroid Build Coastguard Worker    name: "vulkan_headers",
73*90277196SAndroid Build Coastguard Worker    export_include_dirs: ["include"],
74*90277196SAndroid Build Coastguard Worker    native_bridge_supported: true, // Used for verification in Berberis.
75*90277196SAndroid Build Coastguard Worker    host_supported: true,
76*90277196SAndroid Build Coastguard Worker    vendor_available: true,
77*90277196SAndroid Build Coastguard Worker    sdk_version: "24",
78*90277196SAndroid Build Coastguard Worker    apex_available: [
79*90277196SAndroid Build Coastguard Worker        "//apex_available:platform",
80*90277196SAndroid Build Coastguard Worker        "com.android.virt",
81*90277196SAndroid Build Coastguard Worker    ],
82*90277196SAndroid Build Coastguard Worker    llndk: {
83*90277196SAndroid Build Coastguard Worker        llndk_headers: true,
84*90277196SAndroid Build Coastguard Worker    },
85*90277196SAndroid Build Coastguard Worker}
86*90277196SAndroid Build Coastguard Worker
87*90277196SAndroid Build Coastguard Worker// This module makes Vulkan XML file available to vendor code.
88*90277196SAndroid Build Coastguard Workerfilegroup {
89*90277196SAndroid Build Coastguard Worker    name: "vulkan_headers_registry",
90*90277196SAndroid Build Coastguard Worker    srcs: ["registry/vk.xml"],
91*90277196SAndroid Build Coastguard Worker}
92