# Description: OpenGL and OpenGL ES shader front end and validator
# URL: https://www.khronos.org/opengles/sdk/tools/Reference-Compiler
# Maintainer: CRUX System Team, core-ports at crux dot nu
# Depends on: spirv-tools

name=glslang
version=14.2.0
release=1
source=(https://github.com/KhronosGroup/glslang/archive/$version/$name-sdk-$version.tar.gz)

build() {
	local config="
		-G Ninja
		-S $name-$version
		-D CMAKE_INSTALL_PREFIX=/usr
		-D CMAKE_INSTALL_LIBDIR=lib
		-D CMAKE_BUILD_TYPE=Release
		-D CMAKE_SKIP_RPATH=yes
		-D ENABLE_PCH=OFF
		-D BUILD_EXTERNAL=OFF
		-D ENABLE_PCH=OFF
		-D ALLOW_EXTERNAL_SPIRV_TOOLS=ON
		-Wno-dev"

	cmake -B build-static $config $PKGMK_GLSLANG \
		-D BUILD_SHARED_LIBS=OFF \
		-D CMAKE_CXX_FLAGS_RELEASE="${CXXFLAGS} -ffat-lto-objects"
	cmake --build build-static -j ${JOBS:-1}

	cmake -B build-shared $config $PKGMK_GLSLANG \
		-D BUILD_SHARED_LIBS=ON \
		-D CMAKE_CXX_FLAGS_RELEASE="${CXXFLAGS} -ffat-lto-objects" \
		-D CMAKE_SHARED_LINKER_FLAGS='-Wl,--no-undefined'
	cmake --build build-shared -j ${JOBS:-1}

	DESTDIR=$PKG cmake --build build-static --target install
	DESTDIR=$PKG cmake --build build-shared --target install
}