summaryrefslogtreecommitdiffstats
path: root/rules/vulkan-loader.make
diff options
context:
space:
mode:
authorPhilipp Zabel <p.zabel@pengutronix.de>2020-01-17 11:00:49 +0100
committerMichael Olbrich <m.olbrich@pengutronix.de>2020-02-04 09:56:14 +0100
commit6cf38fcece0449acf4e9f2e61020f55da75cf988 (patch)
tree8cbd90caeafe879fd4ef12751ff3ecf1bdea037b /rules/vulkan-loader.make
parentea59ddea07ec0b45544d8e7f934e8e6f486b6093 (diff)
downloadptxdist-6cf38fcece0449acf4e9f2e61020f55da75cf988.tar.gz
ptxdist-6cf38fcece0449acf4e9f2e61020f55da75cf988.tar.xz
vulkan-loader: new package
Add the Vulkan loader dispatch library and Vulkan headers in known-good combination. There is a file scripts/know_good.json in the vulkan-loader source tree that contains the vulkan-header commit to be used for the SDK release. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Diffstat (limited to 'rules/vulkan-loader.make')
-rw-r--r--rules/vulkan-loader.make97
1 files changed, 97 insertions, 0 deletions
diff --git a/rules/vulkan-loader.make b/rules/vulkan-loader.make
new file mode 100644
index 000000000..20569d737
--- /dev/null
+++ b/rules/vulkan-loader.make
@@ -0,0 +1,97 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2020 by Philipp Zabel <p.zabel@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_VULKAN_LOADER) += vulkan-loader
+
+#
+# Paths and names
+#
+VULKAN_LOADER_VERSION := 1.2.131
+VULKAN_LOADER_MD5 := 421c0efd446e58b8cbc65ffade8bf502
+VULKAN_LOADER := vulkan-loader-$(VULKAN_LOADER_VERSION)
+VULKAN_LOADER_SUFFIX := tar.gz
+VULKAN_LOADER_URL := https://github.com/KhronosGroup/Vulkan-Loader/archive/sdk-$(VULKAN_LOADER_VERSION).0.$(VULKAN_LOADER_SUFFIX)
+VULKAN_LOADER_SOURCE := $(SRCDIR)/$(VULKAN_LOADER).$(VULKAN_LOADER_SUFFIX)
+VULKAN_LOADER_DIR := $(BUILDDIR)/$(VULKAN_LOADER)
+VULKAN_LOADER_LICENSE := Apache-2.0
+VULKAN_LOADER_LICENSE_FILES := file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac
+
+VULKAN_HEADERS_VERSION := 1.2.131
+VULKAN_HEADERS_MD5 := fd53bc693849a584ce5a6733c8390817
+VULKAN_HEADERS_SUFFIX := tar.gz
+VULKAN_HEADERS_URL := https://github.com/KhronosGroup/Vulkan-Headers/archive/v$(VULKAN_HEADERS_VERSION).$(VULKAN_HEADERS_SUFFIX)
+VULKAN_HEADERS_SOURCE := $(SRCDIR)/vulkan-headers-$(VULKAN_HEADERS_VERSION).$(VULKAN_HEADERS_SUFFIX)
+$(VULKAN_HEADERS_SOURCE) := VULKAN_HEADERS
+VULKAN_HEADERS_DIR := $(VULKAN_LOADER_DIR)/vulkan-headers
+
+VULKAN_LOADER_SOURCES := $(VULKAN_LOADER_SOURCE) $(VULKAN_HEADERS_SOURCE)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/vulkan-loader.extract:
+ @$(call targetinfo)
+ @$(call clean, $(VULKAN_LOADER_DIR))
+ @$(call extract, VULKAN_LOADER)
+ @$(call extract, VULKAN_HEADERS)
+ @$(call patchin, VULKAN_LOADER)
+ @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+VULKAN_LOADER_CONF_TOOL := cmake
+VULKAN_LOADER_CONF_OPT := \
+ $(CROSS_CMAKE_USR) \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_CROSSCOMPILING_EMULATOR=$(PTXDIST_SYSROOT_CROSS)/bin/qemu-cross \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib \
+ -DBUILD_WSI_XCB_SUPPORT=$(call ptx/onoff, PTXCONF_VULKAN_LOADER_XCB) \
+ -DBUILD_WSI_XLIB_SUPPORT=OFF \
+ -DBUILD_WSI_WAYLAND_SUPPORT=$(call ptx/onoff, PTXCONF_VULKAN_LOADER_WAYLAND) \
+ -DBUILD_LOADER=ON \
+ -DBUILD_TESTS=OFF \
+ -DVulkanHeaders_INCLUDE_DIR=$(VULKAN_HEADERS_DIR)/include \
+ -DVulkanRegistry_DIR=$(VULKAN_HEADERS_DIR)/registry
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/vulkan-loader.install:
+ @$(call targetinfo)
+ @$(call world/install, VULKAN_LOADER)
+ @cp -rp $(VULKAN_HEADERS_DIR)/include $(VULKAN_LOADER_PKGDIR)/usr
+ @cp -rp $(VULKAN_HEADERS_DIR)/registry $(VULKAN_LOADER_PKGDIR)/usr/share/vulkan
+ @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/vulkan-loader.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, vulkan-loader)
+ @$(call install_fixup, vulkan-loader, PRIORITY, optional)
+ @$(call install_fixup, vulkan-loader, SECTION, base)
+ @$(call install_fixup, vulkan-loader, AUTHOR, "Philipp Zabel <p.zabel@pengutronix.de>")
+ @$(call install_fixup, vulkan-loader, DESCRIPTION, Vulkan ICD Loader)
+
+ @$(call install_lib, vulkan-loader, 0, 0, 0644, libvulkan)
+
+ @$(call install_finish, vulkan-loader)
+
+ @$(call touch)
+
+# vim: syntax=make