[Buildroot] [git commit] package/vulkan-loader: new package
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Sat Sep 2 09:49:36 UTC 2023
commit: https://git.buildroot.net/buildroot/commit/?id=6aa1bc31678ff9f8013084fda34b9f941cc63fc3
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
Use $(VULKAN_HEADERS_VERSION) for VULKAN_LOADER_VERSION as the vulkan packages
need to all be the same version.
Signed-off-by: Adam Duskett <aduskett at gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/vulkan-loader/Config.in | 14 ++++++++++
package/vulkan-loader/vulkan-loader.hash | 3 +++
package/vulkan-loader/vulkan-loader.mk | 45 ++++++++++++++++++++++++++++++++
5 files changed, 64 insertions(+)
diff --git a/DEVELOPERS b/DEVELOPERS
index db0ea49f90..413054ab84 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -28,6 +28,7 @@
N: Adam Duskett <aduskett at gmail.com>
F: package/firewalld/
+F: package/vulkan-loader/
N: Adam Heinrich <adam at adamh.cz>
F: package/jack1/
diff --git a/package/Config.in b/package/Config.in
index 5449884809..41ff89726c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -369,6 +369,7 @@ comment "Graphic libraries"
source "package/sdl2_ttf/Config.in"
source "package/tk/Config.in"
source "package/vulkan-headers/Config.in"
+ source "package/vulkan-loader/Config.in"
comment "Other GUIs"
source "package/qt5/Config.in"
diff --git a/package/vulkan-loader/Config.in b/package/vulkan-loader/Config.in
new file mode 100644
index 0000000000..9c215dc9ce
--- /dev/null
+++ b/package/vulkan-loader/Config.in
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_VULKAN_LOADER
+ bool "vulkan-loader"
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on !BR2_STATIC_LIBS # dlfcn.h
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ select BR2_PACKAGE_VULKAN_HEADERS
+ help
+ The Khronos official Vulkan ICD desktop loader.
+
+ https://github.com/KhronosGroup/Vulkan-Loader
+
+comment "vulkan-loader needs a toolchain w/ C++, dynamic library, threads"
+ depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \
+ !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/vulkan-loader/vulkan-loader.hash b/package/vulkan-loader/vulkan-loader.hash
new file mode 100644
index 0000000000..e09ecda8a9
--- /dev/null
+++ b/package/vulkan-loader/vulkan-loader.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 3bbaa5ee64058a89949eb777de66ce94bfe3141892514172cfc9451c756802d5 vulkan-loader-1.3.262.tar.gz
+sha256 43c0a37e6a0fa7ff3c843b3ec5a4fac84b712558ddac103fbd4c1649662a9ece LICENSE.txt
diff --git a/package/vulkan-loader/vulkan-loader.mk b/package/vulkan-loader/vulkan-loader.mk
new file mode 100644
index 0000000000..f6dd9d0ac3
--- /dev/null
+++ b/package/vulkan-loader/vulkan-loader.mk
@@ -0,0 +1,45 @@
+################################################################################
+#
+# vulkan-loader
+#
+################################################################################
+
+VULKAN_LOADER_VERSION = $(VULKAN_HEADERS_VERSION)
+VULKAN_LOADER_SITE = $(call github,KhronosGroup,Vulkan-Loader,v$(VULKAN_LOADER_VERSION))
+VULKAN_LOADER_LICENSE = Apache-2.0
+VULKAN_LOADER_LICENSE_FILES = LICENSE.txt
+VULKAN_LOADER_INSTALL_STAGING = YES
+
+VULKAN_LOADER_DEPENDENCIES = host-pkgconf vulkan-headers
+
+VULKAN_LOADER_CONF_OPTS += \
+ -DASSEMBLER_WORKS=FALSE \
+ -DBUILD_WSI_SCREEN_QNX_SUPPORT=OFF \
+ -DLOADER_CODEGEN=OFF
+
+ifeq ($(BR2_PACKAGE_DIRECTFB),y)
+VULKAN_LOADER_DEPENDENCIES += directfb
+VULKAN_LOADER_CONF_OPTS += -DBUILD_WSI_DIRECTFB_SUPPORT=ON
+else
+VULKAN_LOADER_CONF_OPTS += -DBUILD_WSI_DIRECTFB_SUPPORT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_LIBXCB),y)
+VULKAN_LOADER_DEPENDENCIES += libxcb
+VULKAN_LOADER_CONF_OPTS += \
+ -DBUILD_WSI_XCB_SUPPORT=ON \
+ -DBUILD_WSI_XLIB_SUPPORT=ON
+else
+VULKAN_LOADER_CONF_OPTS += \
+ -DBUILD_WSI_XCB_SUPPORT=OFF \
+ -DBUILD_WSI_XLIB_SUPPORT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_WAYLAND),y)
+VULKAN_LOADER_DEPENDENCIES += wayland
+VULKAN_LOADER_CONF_OPTS += -DBUILD_WSI_WAYLAND_SUPPORT=ON
+else
+VULKAN_LOADER_CONF_OPTS += -DBUILD_WSI_WAYLAND_SUPPORT=OFF
+endif
+
+$(eval $(cmake-package))
More information about the buildroot
mailing list