diff options
Diffstat (limited to 'source/l/spirv-llvm-translator')
-rw-r--r-- | source/l/spirv-llvm-translator/1889.patch | 73 | ||||
-rwxr-xr-x | source/l/spirv-llvm-translator/spirv-llvm-translator.SlackBuild | 7 |
2 files changed, 78 insertions, 2 deletions
diff --git a/source/l/spirv-llvm-translator/1889.patch b/source/l/spirv-llvm-translator/1889.patch new file mode 100644 index 000000000..cd6f21e52 --- /dev/null +++ b/source/l/spirv-llvm-translator/1889.patch @@ -0,0 +1,73 @@ +From 98fadafeae0204defedd89f015f7fb88f2888b2f Mon Sep 17 00:00:00 2001 +From: Tulio Magno Quites Machado Filho <tuliom@redhat.com> +Date: Fri, 17 Mar 2023 14:27:10 -0300 +Subject: [PATCH] Fix standalone builds with LLVM_LINK_LLVM_DYLIB=ON + +Move the LLVM components to LINK_COMPONENTS because the DEPENDS list has +the same semantics as add_dependencies(). In this +case it doesn't include the LLVM components when calling the linker. +--- + lib/SPIRV/CMakeLists.txt | 47 ++++++++++++---------------------------- + 1 file changed, 14 insertions(+), 33 deletions(-) + +diff --git a/lib/SPIRV/CMakeLists.txt b/lib/SPIRV/CMakeLists.txt +index bbef00528..2810c6b2c 100644 +--- a/lib/SPIRV/CMakeLists.txt ++++ b/lib/SPIRV/CMakeLists.txt +@@ -38,42 +38,23 @@ set(SRC_LIST + libSPIRV/SPIRVType.cpp + libSPIRV/SPIRVValue.cpp + ) +-if(LLVM_LINK_LLVM_DYLIB) +- add_llvm_library(LLVMSPIRVLib STATIC DISABLE_LLVM_LINK_LLVM_DYLIB +- ${SRC_LIST} +- DEPENDS +- intrinsics_gen +- LLVMAnalysis +- LLVMBitWriter +- LLVMCodeGen +- LLVMCore +- LLVMDemangle +- LLVMIRReader +- LLVMLinker +- LLVMPasses +- LLVMSupport +- LLVMTargetParser +- LLVMTransformUtils +- ) +-else() +- add_llvm_library(LLVMSPIRVLib +- ${SRC_LIST} +- LINK_COMPONENTS +- Analysis +- BitWriter +- CodeGen +- Core +- Demangle +- IRReader +- Linker +- Passes +- Support +- TargetParser +- TransformUtils ++add_llvm_library(LLVMSPIRVLib STATIC DISABLE_LLVM_LINK_LLVM_DYLIB ++ ${SRC_LIST} ++ LINK_COMPONENTS ++ Analysis ++ BitWriter ++ CodeGen ++ Core ++ Demangle ++ IRReader ++ Linker ++ Passes ++ Support ++ TargetParser ++ TransformUtils + DEPENDS + intrinsics_gen + ) +-endif() + + target_include_directories(LLVMSPIRVLib + PRIVATE diff --git a/source/l/spirv-llvm-translator/spirv-llvm-translator.SlackBuild b/source/l/spirv-llvm-translator/spirv-llvm-translator.SlackBuild index 7caf33fa7..0abb464a2 100755 --- a/source/l/spirv-llvm-translator/spirv-llvm-translator.SlackBuild +++ b/source/l/spirv-llvm-translator/spirv-llvm-translator.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=spirv-llvm-translator VERSION=${VERSION:-$(echo SPIRV-LLVM-Translator-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} @@ -88,6 +88,9 @@ find . \ # the -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR option below. tar xf $CWD/SPIRV-Headers.tar.lz +# Fix -DBUILD_SHARED_LIBS=ON +zcat $CWD/1889.patch.gz | patch -p1 --verbose || exit 1 + # Build and install: mkdir -p build cd build @@ -100,9 +103,9 @@ cd build -DSYSCONF_INSTALL_DIR=/etc \ -DINCLUDE_INSTALL_DIR=/usr/include \ -DLIB_SUFFIX=${LIBDIRSUFFIX} \ - -DBUILD_SHARED_LIBS=ON \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=$TMP/SPIRV-LLVM-Translator-$VERSION/SPIRV-Headers \ + -DBUILD_SHARED_LIBS=ON \ .. make $NUMJOBS || make || exit 1 make $NUMJOBS llvm-spirv || make llvm-spirv || exit 1 |