From d5a7f213ab94d986133760122105adda76676823 Mon Sep 17 00:00:00 2001 From: Adam Duskett Date: Wed, 30 Aug 2023 13:54:42 -0600 Subject: [PATCH] package/vulkan-tools: new package Use $(VULKAN_HEADERS_VERSION) for VULKAN_TOOLS_VERSION as the vulkan packages need to all be the same version. Signed-off-by: Adam Duskett Signed-off-by: Thomas Petazzoni --- DEVELOPERS | 1 + package/Config.in | 1 + package/vulkan-tools/Config.in | 17 ++++++++++ package/vulkan-tools/vulkan-tools.hash | 3 ++ package/vulkan-tools/vulkan-tools.mk | 47 ++++++++++++++++++++++++++ 5 files changed, 69 insertions(+) create mode 100644 package/vulkan-tools/Config.in create mode 100644 package/vulkan-tools/vulkan-tools.hash create mode 100644 package/vulkan-tools/vulkan-tools.mk diff --git a/DEVELOPERS b/DEVELOPERS index 413054ab84..eba7c4aa34 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -29,6 +29,7 @@ N: Adam Duskett F: package/firewalld/ F: package/vulkan-loader/ +F: package/vulkan-tools/ N: Adam Heinrich F: package/jack1/ diff --git a/package/Config.in b/package/Config.in index 41ff89726c..b21a2f8c65 100644 --- a/package/Config.in +++ b/package/Config.in @@ -370,6 +370,7 @@ comment "Graphic libraries" source "package/tk/Config.in" source "package/vulkan-headers/Config.in" source "package/vulkan-loader/Config.in" + source "package/vulkan-tools/Config.in" comment "Other GUIs" source "package/qt5/Config.in" diff --git a/package/vulkan-tools/Config.in b/package/vulkan-tools/Config.in new file mode 100644 index 0000000000..54fa539dab --- /dev/null +++ b/package/vulkan-tools/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_VULKAN_TOOLS + bool "vulkan-tools" + depends on BR2_INSTALL_LIBSTDCPP # vulkan-loader + depends on !BR2_STATIC_LIBS # vullan-loader + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 + depends on BR2_TOOLCHAIN_HAS_THREADS # vulkan-loader + select BR2_PACKAGE_VULKAN_HEADERS + select BR2_PACKAGE_VULKAN_LOADER + + help + The Khronos official Vulkan Tools and Utilities. + + https://github.com/KhronosGroup/Vulkan-Tools + +comment "vulkan-tools needs a toolchain w/ C++, dynamic library, threads, gcc >= 4.9" + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/vulkan-tools/vulkan-tools.hash b/package/vulkan-tools/vulkan-tools.hash new file mode 100644 index 0000000000..24c0697784 --- /dev/null +++ b/package/vulkan-tools/vulkan-tools.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 8c77d02694d0516ae2ba3f3718745647e87e788ef93faabb2e3674ff32608010 vulkan-tools-1.3.262.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/package/vulkan-tools/vulkan-tools.mk b/package/vulkan-tools/vulkan-tools.mk new file mode 100644 index 0000000000..68f7c1c04d --- /dev/null +++ b/package/vulkan-tools/vulkan-tools.mk @@ -0,0 +1,47 @@ +################################################################################ +# +# vulkan-tools +# +################################################################################ + +VULKAN_TOOLS_VERSION = $(VULKAN_HEADERS_VERSION) +VULKAN_TOOLS_SITE = $(call github,KhronosGroup,Vulkan-Tools,v$(VULKAN_TOOLS_VERSION)) +VULKAN_TOOLS_LICENSE = Apache-2.0 +VULKAN_TOOLS_LICENSE_FILES = LICENSE.txt + +VULKAN_TOOLS_DEPENDENCIES = \ + vulkan-headers \ + vulkan-loader + +VULKAN_TOOLS_CONF_OPTS += \ + -DBUILD_CUBE=OFF \ + -DBUILD_ICD=OFF \ + -DBUILD_VULKANINFO=ON \ + -DINSTALL_ICD=OFF + +ifeq ($(BR2_PACKAGE_DIRECTFB),y) +VULKAN_TOOLS_DEPENDENCIES += directfb +VULKAN_TOOLS_CONF_OPTS += -DBUILD_WSI_DIRECTFB_SUPPORT=ON +else +VULKAN_TOOLS_CONF_OPTS += -DBUILD_WSI_DIRECTFB_SUPPORT=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBXCB),y) +VULKAN_TOOLS_DEPENDENCIES += libxcb +VULKAN_TOOLS_CONF_OPTS += \ + -DBUILD_WSI_XCB_SUPPORT=ON \ + -DBUILD_WSI_XLIB_SUPPORT=ON +else +VULKAN_TOOLS_CONF_OPTS += \ + -DBUILD_WSI_XCB_SUPPORT=OFF \ + -DBUILD_WSI_XLIB_SUPPORT=OFF +endif + +ifeq ($(BR2_PACKAGE_WAYLAND),y) +VULKAN_TOOLS_DEPENDENCIES += wayland +VULKAN_TOOLS_CONF_OPTS += -DBUILD_WSI_WAYLAND_SUPPORT=ON +else +VULKAN_TOOLS_CONF_OPTS += -DBUILD_WSI_WAYLAND_SUPPORT=OFF +endif + +$(eval $(cmake-package))