1package(default_visibility = ["//visibility:public"]) 2 3licenses(["notice"]) 4 5exports_files(["LICENSE"]) 6 7VULKAN_HDRS = [ 8 "include/vulkan/vk_platform.h", 9 "include/vulkan/vk_sdk_platform.h", 10 "include/vulkan/vulkan.h", 11 "include/vulkan/vulkan_core.h", 12] 13 14VULKAN_TEXTUAL_HDRS = [ 15 "include/vulkan/vulkan_android.h", 16 "include/vulkan/vulkan_fuchsia.h", 17 "include/vulkan/vulkan_ggp.h", 18 "include/vulkan/vulkan_ios.h", 19 "include/vulkan/vulkan_macos.h", 20 "include/vulkan/vulkan_metal.h", 21 "include/vulkan/vulkan_vi.h", 22 "include/vulkan/vulkan_wayland.h", 23 "include/vulkan/vulkan_win32.h", 24 "include/vulkan/vulkan_xcb.h", 25 "include/vulkan/vulkan_xlib.h", 26 "include/vulkan/vulkan_xlib_xrandr.h", 27] 28 29# The main vulkan public headers for applications. This excludes headers 30# designed for ICDs and layers. 31cc_library( 32 name = "vulkan_headers", 33 hdrs = VULKAN_HDRS, 34 includes = ["include"], 35 textual_hdrs = VULKAN_TEXTUAL_HDRS, 36) 37 38# Like :vulkan_headers but defining VK_NO_PROTOTYPES to disable the 39# inclusion of C function prototypes. Useful if dynamically loading 40# all symbols via dlopen/etc. 41cc_library( 42 name = "vulkan_headers_no_prototypes", 43 hdrs = VULKAN_HDRS, 44 defines = ["VK_NO_PROTOTYPES"], 45 includes = ["include"], 46 textual_hdrs = VULKAN_TEXTUAL_HDRS, 47) 48 49# Provides a C++-ish interface to Vulkan. 50cc_library( 51 name = "vulkan_hpp", 52 hdrs = ["include/vulkan/vulkan.hpp"], 53 defines = ["VULKAN_HPP_NO_EXCEPTIONS"], 54 includes = ["include"], 55 deps = [":vulkan_headers"], 56) 57