# -*-makefile-*- # # Copyright (C) 2020 by Philipp Zabel # # For further information about the PTXdist project and license conditions # see the README file. # # # We provide this package # PACKAGES-$(PTXCONF_SHADERC) += shaderc # # Paths and names # SHADERC_VERSION := v2020.3 SHADERC_MD5 := 7415b7c5376dd36c610b9cc53c7dbe1b SHADERC := shaderc-$(SHADERC_VERSION) SHADERC_SUFFIX := tar.gz SHADERC_URL := \ https://github.com/google/shaderc/archive/$(SHADERC_VERSION).$(SHADERC_SUFFIX) SHADERC_SOURCE := $(SRCDIR)/$(SHADERC).$(SHADERC_SUFFIX) SHADERC_DIR := $(BUILDDIR)/$(SHADERC) SHADERC_LICENSE = \ Apache-2.0 AND ($(GLSLANG_LICENSE)) AND ($(SPIRV_TOOLS_LICENSE)) SHADERC_LICENSE_FILES = \ file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \ $(subst file://,file://third_party/glslang/,$(GLSLANG_LICENSE_FILES)) \ $(subst file://,file://third_party/spirv-tools/,$(SPIRV_TOOLS_LICENSE_FILES)) SHADERC_GLSLANG_MD5 = $(GLSLANG_MD5) SHADERC_GLSLANG_URL = $(GLSLANG_URL) SHADERC_GLSLANG_SOURCE = $(GLSLANG_SOURCE) SHADERC_GLSLANG_DIR = $(SHADERC_DIR)/third_party/glslang SHADERC_SPIRV_TOOLS_MD5 = $(SPIRV_TOOLS_MD5) SHADERC_SPIRV_TOOLS_URL = $(SPIRV_TOOLS_URL) SHADERC_SPIRV_TOOLS_SOURCE = $(SPIRV_TOOLS_SOURCE) SHADERC_SPIRV_TOOLS_DIR = $(SHADERC_DIR)/third_party/spirv-tools SHADERC_SPIRV_HEADERS_MD5 = $(SPIRV_HEADERS_MD5) SHADERC_SPIRV_HEADERS_URL = $(SPIRV_HEADERS_URL) SHADERC_SPIRV_HEADERS_SOURCE = $(SPIRV_HEADERS_SOURCE) SHADERC_SPIRV_HEADERS_DIR = $(SHADERC_DIR)/third_party/spirv-tools/external/spirv-headers SHADERC_SOURCES = \ $(SHADERC_SOURCE) \ $(SHADERC_GLSLANG_SOURCE) \ $(SHADERC_SPIRV_TOOLS_SOURCE) \ $(SHADERC_SPIRV_HEADERS_SOURCE) # ---------------------------------------------------------------------------- # Extract # ---------------------------------------------------------------------------- $(STATEDIR)/shaderc.extract: @$(call targetinfo) @$(call clean, $(SHADERC_DIR)) @$(call extract, SHADERC) @$(call extract, SHADERC_GLSLANG) @$(call extract, SHADERC_SPIRV_TOOLS) @$(call extract, SHADERC_SPIRV_HEADERS) @$(call patchin, SHADERC) @$(call touch) # ---------------------------------------------------------------------------- # Prepare # ---------------------------------------------------------------------------- SHADERC_CONF_TOOL := cmake SHADERC_CONF_OPT := \ $(CROSS_CMAKE_USR) \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_LIBDIR=/usr/lib \ -DSHADERC_ENABLE_SPVC=$(call ptx/onoff, PTXCONF_SHADERC_SPVC) \ -DSHADERC_SKIP_INSTALL=OFF \ -DSHADERC_SKIP_TESTS=ON \ -DSHADERC_SPVC_ENABLE_DIRECT_LOGGING=OFF \ -DSHADERC_SPVC_DISABLE_CONTEXT_LOGGING=OFF \ -DSHADERC_ENABLE_WERROR_COMPILE=ON # -DSHADERC_ENABLE_SHARED_CRT=OFF # ---------------------------------------------------------------------------- # Target-Install # ---------------------------------------------------------------------------- $(STATEDIR)/shaderc.targetinstall: @$(call targetinfo) @$(call install_init, shaderc) @$(call install_fixup, shaderc, PRIORITY, optional) @$(call install_fixup, shaderc, SECTION, base) @$(call install_fixup, shaderc, AUTHOR, "Philipp Zabel ") @$(call install_fixup, shaderc, DESCRIPTION, A collection of tools, libraries and tests for shader compilation) ifdef PTXCONF_SHADERC_GLSLC @$(call install_copy, shaderc, 0, 0, 0755, -, /usr/bin/glslc) endif ifdef PTXCONF_SHADERC_SPVC @$(call install_copy, shaderc, 0, 0, 0755, -, /usr/bin/spvc) endif ifdef PTXCONF_SHADERC_LIBSHADERC @$(call install_lib, shaderc, 0, 0, 0644, libshaderc_shared) endif ifdef PTXCONF_SHADERC_LIBSHADERC_SPVC @$(call install_lib, shaderc, 0, 0, 0644, libshaderc_spvc) endif @$(call install_finish, shaderc) @$(call touch) # vim: syntax=make