| package(default_visibility = ["//visibility:public"]) |
| |
| licenses(["notice"]) |
| |
| exports_files(["LICENSE"]) |
| |
| VULKAN_HDRS = [ |
| "include/vulkan/vk_platform.h", |
| "include/vulkan/vk_sdk_platform.h", |
| "include/vulkan/vulkan.h", |
| "include/vulkan/vulkan_core.h", |
| ] |
| |
| VULKAN_TEXTUAL_HDRS = [ |
| "include/vulkan/vulkan_android.h", |
| "include/vulkan/vulkan_fuchsia.h", |
| "include/vulkan/vulkan_ggp.h", |
| "include/vulkan/vulkan_ios.h", |
| "include/vulkan/vulkan_macos.h", |
| "include/vulkan/vulkan_metal.h", |
| "include/vulkan/vulkan_vi.h", |
| "include/vulkan/vulkan_wayland.h", |
| "include/vulkan/vulkan_win32.h", |
| "include/vulkan/vulkan_xcb.h", |
| "include/vulkan/vulkan_xlib.h", |
| "include/vulkan/vulkan_xlib_xrandr.h", |
| ] |
| |
| # The main vulkan public headers for applications. This excludes headers |
| # designed for ICDs and layers. |
| cc_library( |
| name = "vulkan_headers", |
| hdrs = VULKAN_HDRS, |
| includes = ["include"], |
| textual_hdrs = VULKAN_TEXTUAL_HDRS, |
| ) |
| |
| # Like :vulkan_headers but defining VK_NO_PROTOTYPES to disable the |
| # inclusion of C function prototypes. Useful if dynamically loading |
| # all symbols via dlopen/etc. |
| cc_library( |
| name = "vulkan_headers_no_prototypes", |
| hdrs = VULKAN_HDRS, |
| defines = ["VK_NO_PROTOTYPES"], |
| includes = ["include"], |
| textual_hdrs = VULKAN_TEXTUAL_HDRS, |
| ) |
| |
| # Provides a C++-ish interface to Vulkan. |
| cc_library( |
| name = "vulkan_hpp", |
| hdrs = ["include/vulkan/vulkan.hpp"], |
| defines = ["VULKAN_HPP_NO_EXCEPTIONS"], |
| includes = ["include"], |
| deps = [":vulkan_headers"], |
| ) |