From: Philipp Zabel <p.zabel@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: [ptxdist] [PATCH v2 6/7] spirv-tools: new package
Date: Fri, 17 Jan 2020 11:00:54 +0100 [thread overview]
Message-ID: <20200117100055.9110-6-p.zabel@pengutronix.de> (raw)
In-Reply-To: <20200117100055.9110-1-p.zabel@pengutronix.de>
Add SPIR-V tools, required to build Vulkan validation layers.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
New in v2.
---
rules/spirv-tools.in | 18 ++++++++
rules/spirv-tools.make | 101 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 119 insertions(+)
create mode 100644 rules/spirv-tools.in
create mode 100644 rules/spirv-tools.make
diff --git a/rules/spirv-tools.in b/rules/spirv-tools.in
new file mode 100644
index 000000000000..e14eeecb1321
--- /dev/null
+++ b/rules/spirv-tools.in
@@ -0,0 +1,18 @@
+## SECTION=multimedia_libs
+
+menuconfig SPIRV_TOOLS
+ tristate
+ prompt "spirv-tools"
+ select HOST_CMAKE
+ help
+ SPIR-V Tools
+
+if SPIRV_TOOLS
+
+config SPIRV_TOOLS_LIB
+ bool
+ prompt "install shared library"
+ help
+ Install libSPIRV-Tools-shared library
+
+endif
diff --git a/rules/spirv-tools.make b/rules/spirv-tools.make
new file mode 100644
index 000000000000..9267152a2d00
--- /dev/null
+++ b/rules/spirv-tools.make
@@ -0,0 +1,101 @@
+# -*-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_SPIRV_TOOLS) += spirv-tools
+
+#
+# Paths and names
+#
+SPIRV_TOOLS_VERSION := 2019.5
+SPIRV_TOOLS_MD5 := b502db437d874d3cd1a4046f21fce61c
+SPIRV_TOOLS := spirv-tools-$(SPIRV_TOOLS_VERSION)
+SPIRV_TOOLS_SUFFIX := tar.gz
+SPIRV_TOOLS_URL := https://github.com/KhronosGroup/SPIRV-Tools/archive/v$(SPIRV_TOOLS_VERSION).$(SPIRV_TOOLS_SUFFIX)
+SPIRV_TOOLS_SOURCE := $(SRCDIR)/$(SPIRV_TOOLS).$(SPIRV_TOOLS_SUFFIX)
+SPIRV_TOOLS_DIR := $(BUILDDIR)/$(SPIRV_TOOLS)
+SPIRV_TOOLS_LICENSE := Apache-2.0
+SPIRV_TOOLS_LICENSE_FILES := file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57
+
+SPIRV_HEADERS_VERSION := 1.5.1.corrected
+SPIRV_HEADERS_MD5 := c8af73a139d18a40706f800b1e35cb9d
+SPIRV_HEADERS_SUFFIX := tar.gz
+SPIRV_HEADERS_URL := https://github.com/KhronosGroup/SPIRV-Headers/archive/$(SPIRV_HEADERS_VERSION).$(SPIRV_HEADERS_SUFFIX)
+SPIRV_HEADERS_SOURCE := $(SRCDIR)/spirv-headers-$(SPIRV_HEADERS_VERSION).$(SPIRV_HEADERS_SUFFIX)
+$(SPIRV_HEADERS_SOURCE) := SPIRV_HEADERS
+SPIRV_HEADERS_DIR := $(SPIRV_TOOLS_DIR)/external/spirv-headers
+
+SPIRV_TOOLS_SOURCES := $(SPIRV_TOOLS_SOURCE) $(SPIRV_HEADERS_SOURCE)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/spirv-tools.extract:
+ @$(call targetinfo)
+ @$(call clean, $(SPIRV_TOOLS_DIR))
+ @$(call extract, SPIRV_TOOLS)
+ @$(call extract, SPIRV_HEADERS)
+ @$(call patchin, SPIRV_TOOLS)
+ @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+SPIRV_TOOLS_CONF_TOOL := cmake
+SPIRV_TOOLS_CONF_OPT := \
+ $(CROSS_CMAKE_USR) \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib \
+ -DSPIRV_ALLOW_TIMERS=ON \
+ -DSKIP_SPIRV_TOOLS_INSTALL=OFF \
+ -DSPIRV_WERROR=OFF \
+ -DSPIRV_WARN_EVERYTHING=OFF \
+ -DSPIRV_COLOR_TERMINAL=ON \
+ -DSPIRV_LOG_DEBUG=OFF \
+ -DSPIRV_SKIP_EXECUTABLES=ON \
+ -DSPIRV_SKIP_TESTS=ON
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/spirv-tools.install:
+ @$(call targetinfo)
+ @install -vD -m 644 $(SPIRV_TOOLS_DIR)-build/source/libSPIRV-Tools.a $(SPIRV_TOOLS_PKGDIR)/usr/lib/libSPIRV-Tools.a
+ @install -vD -m 644 $(SPIRV_TOOLS_DIR)-build/source/opt/libSPIRV-Tools-opt.a $(SPIRV_TOOLS_PKGDIR)/usr/lib/libSPIRV-Tools-opt.a
+ @install -vD -m 644 $(SPIRV_TOOLS_DIR)-build/source/libSPIRV-Tools-shared.so $(SPIRV_TOOLS_PKGDIR)/usr/lib/libSPIRV-Tools-shared.so
+ @mkdir -p $(SPIRV_TOOLS_PKGDIR)/usr/include
+ @cp -r $(SPIRV_TOOLS_DIR)/include/spirv-tools $(SPIRV_TOOLS_PKGDIR)/usr/include
+ $(call touch)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/spirv-tools.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, spirv-tools)
+ @$(call install_fixup, spirv-tools, PRIORITY, optional)
+ @$(call install_fixup, spirv-tools, SECTION, base)
+ @$(call install_fixup, spirv-tools, AUTHOR, "Philipp Zabel <p.zabel@pengutronix.de>")
+ @$(call install_fixup, spirv-tools, DESCRIPTION, SPIR-V Tools)
+
+ifdef PTXCONF_SPIRV_TOOLS_LIB
+ @$(call install_lib, spirv-tools, 0, 0, 0644, libSPIRV-Tools-shared)
+endif
+
+ @$(call install_finish, spirv-tools)
+
+ @$(call touch)
+
+# vim: syntax=make
--
2.20.1
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
next prev parent reply other threads:[~2020-01-17 10:00 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-17 10:00 [ptxdist] [PATCH v2 1/7] vulkan-loader: " Philipp Zabel
2020-01-17 10:00 ` [ptxdist] [PATCH v2 2/7] mesalib: enable zink gallium driver Philipp Zabel
2020-01-17 10:00 ` [ptxdist] [PATCH v2 3/7] mesalib: enable vulkan drivers Philipp Zabel
2020-01-17 10:00 ` [ptxdist] [PATCH v2 4/7] gst-plugins-bad1: enable vulkan plugin Philipp Zabel
2020-01-17 10:00 ` [ptxdist] [PATCH v2 5/7] glslang: new package Philipp Zabel
2020-02-02 14:46 ` Michael Olbrich
2020-01-17 10:00 ` Philipp Zabel [this message]
2020-01-17 10:00 ` [ptxdist] [PATCH v2 7/7] vulkan-validationlayers: " Philipp Zabel
2020-02-02 14:09 ` Michael Olbrich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200117100055.9110-6-p.zabel@pengutronix.de \
--to=p.zabel@pengutronix.de \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox