# Contributor: Leo <thinkabit.ukim@gmail.com>
# Maintainer: Simon Zeni <simon@bl4ckb0ne.ca>
pkgname=spirv-tools
_pkgname=SPIRV-Tools
pkgver=1.4.313.0
pkgrel=0
pkgdesc="API and commands for processing SPIR-V modules"
url="https://github.com/KhronosGroup/SPIRV-Tools"
arch="all"
license="Apache-2.0"
depends_dev="spirv-headers $pkgname=$pkgver-r$pkgrel"
makedepends="$depends_dev cmake samurai python3"
subpackages="$pkgname-dev $pkgname-dbg"
source="$pkgname-$pkgver.tar.gz::https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/vulkan-sdk-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-vulkan-sdk-$pkgver"

build() {
	if [ "$CBUILD" != "$CHOST" ]; then
		cmake_crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
	fi

	# reduce size of debug syms, lto
	CXXFLAGS="$CXXFLAGS -g1 -flto=auto" \
	cmake -B build -G Ninja \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DCMAKE_BUILD_TYPE=MinSizeRel \
		-DBUILD_SHARED_LIBS=ON \
		-DSPIRV_WERROR=OFF \
		-DSPIRV-Headers_SOURCE_DIR=/usr \
		-DSPIRV_TOOLS_BUILD_STATIC=OFF \
		$cmake_crossopts
	cmake --build build
}

check() {
	# Not all test are enabled, because they rely on googletest source
	# folder. While it is easy to add, the (extra) tests then also need
	# effcee and re2 as well.
	ctest --test-dir build
}

package() {
	DESTDIR="$pkgdir" cmake --install build
}

sha512sums="
2e0cffc9550fa95da8622424012e1fa2decbc6b981e30114ac0b7a332d7a9abed9a2138dc83ff6eb0b6d3946c1f1b43679de0754ccb98380d4981e8130a5e248  spirv-tools-1.4.313.0.tar.gz
"
