Date: Friday, December 16, 2022 @ 23:15:54
Author: dvzrv
Revision: 464491
Add fix for include dirs and LTO.
Use -ffat-lto-objects to not break consumers during linking.
Add patch to remove nonexistent /usr/include/External from
INTERFACE_INCLUDE_DIRECTORIES to not break consumers during build.
Added:
glslang/trunk/glslang-11.13.0-cmake_include_dirs.patch
Modified:
glslang/trunk/PKGBUILD
------------------------------------------+
PKGBUILD | 13 +++++++++++--
glslang-11.13.0-cmake_include_dirs.patch | 24 ++++++++++++++++++++++++
2 files changed, 35 insertions(+), 2 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2022-12-16 21:53:50 UTC (rev 464490)
+++ PKGBUILD 2022-12-16 23:15:54 UTC (rev 464491)
@@ -14,10 +14,13 @@
# Get the commits from known_good.json for every release
source=(${pkgname}-${pkgver}.tar.gz::https://github.com/KhronosGroup/glslang/archive/${pkgver}.tar.gz
git+https://github.com/KhronosGroup/SPIRV-Tools.git#commit=40f5bf59c6acb4754a0bffd3c53a715732883a12
-
git+https://github.com/KhronosGroup/SPIRV-Headers.git#commit=1d31a100405cf8783ca7a31e31cdd727c9fc54c3)
+
git+https://github.com/KhronosGroup/SPIRV-Headers.git#commit=1d31a100405cf8783ca7a31e31cdd727c9fc54c3
+ $pkgname-11.13.0-cmake_include_dirs.patch
+)
sha256sums=('592c98aeb03b3e81597ddaf83633c4e63068d14b18a766fd11033bad73127162'
'SKIP'
- 'SKIP')
+ 'SKIP'
+ '70f08416e447e7c68730186c9fcd629e96896aa9bf780cdceffc2cf9b8efca21')
prepare() {
# Sadly, glslang requires super specific versions of SPIRV headers and
@@ -26,10 +29,16 @@
# libraries.
cp -r SPIRV-Tools ${pkgname}-${pkgver}/External/spirv-tools
cp -r SPIRV-Headers
${pkgname}-${pkgver}/External/spirv-tools/external/spirv-headers
+ # do not include non-existent /usr/include/External paths in
INTERFACE_INCLUDE_DIRECTORIES
+ # as that breaks consumers during build
+ patch -Np1 -d $pkgname-$pkgver -i
../$pkgname-11.13.0-cmake_include_dirs.patch
}
build() {
cd ${pkgname}-${pkgver}
+
+ # we need fat LTO objects to not break consumers during linking
+ CXXFLAGS+=" -ffat-lto-objects"
cmake \
-Bbuild-shared \
-GNinja \
Added: glslang-11.13.0-cmake_include_dirs.patch
===================================================================
--- glslang-11.13.0-cmake_include_dirs.patch (rev 0)
+++ glslang-11.13.0-cmake_include_dirs.patch 2022-12-16 23:15:54 UTC (rev
464491)
@@ -0,0 +1,24 @@
+diff -ruN a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt
+--- a/SPIRV/CMakeLists.txt 2022-12-06 23:34:33.000000000 +0100
++++ b/SPIRV/CMakeLists.txt 2022-12-16 12:15:03.231070779 +0100
+@@ -100,7 +100,7 @@
+ target_link_libraries(SPIRV PRIVATE MachineIndependent SPIRV-Tools-opt)
+ target_include_directories(SPIRV PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../External>
+- $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/External>)
++ )
+ else()
+ target_link_libraries(SPIRV PRIVATE MachineIndependent)
+ endif()
+diff -ruN a/StandAlone/CMakeLists.txt b/StandAlone/CMakeLists.txt
+--- a/StandAlone/CMakeLists.txt 2022-12-06 23:34:33.000000000 +0100
++++ b/StandAlone/CMakeLists.txt 2022-12-16 12:15:20.527812776 +0100
+@@ -83,7 +83,7 @@
+ target_link_libraries(glslangValidator ${LIBRARIES})
+ target_include_directories(glslangValidator PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../External>
+- $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/External>)
++)
+
+ if(ENABLE_OPT)
+ target_include_directories(glslangValidator