Files
video/libs/glslang/Makefile
T
Daniel Golle 44e43a791b glslang: update to 16.2.0 (= Vulkan SDK 1.4.341.0)
Bump from 15.4.0 to 16.2.0. Upstream glslang ships the same commit
under two equivalent tags:

 * 16.2.0                  (semver tag)
 * vulkan-sdk-1.4.341.0    (Vulkan SDK release tag)

Both tags resolve to commit f0bd0257c308b9a26562c1a30c4748a0219cc951.
We pick the semver tag here so package-manager version comparisons
stay monotonic relative to the previous 15.4.0 packaging; pinning
to vulkan-sdk-1.4.341.0 would otherwise look like a downgrade to
'1.4.341.0'.

This keeps glslang in lockstep with the rest of the Vulkan SDK
component group (vulkan-headers, vulkan-loader, spirv-headers,
spirv-tools all at vulkan-sdk-1.4.341.0).

Disable LTO via PKG_BUILD_FLAGS:=gc-sections no-lto - upstream
hits a 'inlining failed in call to always_inline vsnprintf:
function body can be overwritten at link time' error during
LTO with the OpenWrt fortify headers in 16.x.

Link: https://github.com/KhronosGroup/glslang/releases/tag/16.2.0
Link: https://github.com/KhronosGroup/glslang/releases/tag/vulkan-sdk-1.4.341.0
Link: https://vulkan.lunarg.com/sdk/home
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-05-09 13:05:12 +01:00

56 lines
1.5 KiB
Makefile

include $(TOPDIR)/rules.mk
PKG_NAME:=glslang
# 16.2.0 references the same commit as the Vulkan SDK 1.4.341.0 release tag
# (vulkan-sdk-1.4.341.0); use the semver tag here to keep package-manager
# version comparisons monotonic.
PKG_VERSION:=16.2.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/KhronosGroup/$(PKG_NAME)/tar.gz/$(PKG_VERSION)?
PKG_HASH:=01985335785c97906a91afe3cb5ee015997696181ec6c125bab5555602ba08e2
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE:=BSD-3-Clause BSD-2-Clause MIT Apache GPL-3.0-or-later
PKG_LICENSE_FILES:=LICENSE.txt
CMAKE_INSTALL:=1
PKG_BUILD_FLAGS:=gc-sections no-lto
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/cmake.mk
define Package/glslang
SECTION:=libs
CATEGORY:=Libraries
TITLE:=GLSL/ESSL, HLSL and SPIR-V generator
URL:=https://github.com/KhronosGroup/glslang
DEPENDS:=+libstdcpp
endef
define Package/glslang/description
Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.
endef
CMAKE_OPTIONS += \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TESTING=OFF \
-DENABLE_OPT=0
CMAKE_HOST_OPTIONS += \
-DBUILD_SHARED_LIBS=OFF \
-DBUILD_TESTING=OFF \
-DENABLE_OPT=0
TARGET_CXXFLAGS += -fno-rtti
define Package/glslang/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,glslang))
$(eval $(call HostBuild))