diff options
Diffstat (limited to 'source/l/spirv-llvm-translator')
-rwxr-xr-x | source/l/spirv-llvm-translator/fetch-SPIRV-LLVM-Translator.sh | 52 | ||||
-rwxr-xr-x | source/l/spirv-llvm-translator/spirv-llvm-translator.SlackBuild | 6 |
2 files changed, 58 insertions, 0 deletions
diff --git a/source/l/spirv-llvm-translator/fetch-SPIRV-LLVM-Translator.sh b/source/l/spirv-llvm-translator/fetch-SPIRV-LLVM-Translator.sh new file mode 100755 index 000000000..ee5f62e45 --- /dev/null +++ b/source/l/spirv-llvm-translator/fetch-SPIRV-LLVM-Translator.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# Copyright 2021 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=SPIRV-LLVM-Translator + +# Pull a stable branch + patches +BRANCH=${1:-llvm_release_130} + +# Clear download area: +rm -rf ${PKGNAM} + +# Clone repository: +git clone https://github.com/KhronosGroup/${PKGNAM} + +# checkout $BRANCH: +( cd ${PKGNAM} + git checkout $BRANCH || exit 1 +) + +HEADISAT="$( cd ${PKGNAM} && git log -1 --format=%h )" +DATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%Y%m%d )" +LONGDATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%c )" +# Cleanup. We're not packing up the whole git repo. +( cd ${PKGNAM} && find . -type d -name ".git*" -exec rm -rf {} \; 2> /dev/null ) +mv ${PKGNAM} ${PKGNAM}-${DATE}_${HEADISAT} +tar cf ${PKGNAM}-${DATE}_${HEADISAT}.tar ${PKGNAM}-${DATE}_${HEADISAT} +plzip -9 -f ${PKGNAM}-${DATE}_${HEADISAT}.tar +rm -rf ${PKGNAM}-${DATE}_${HEADISAT} +touch -d "$LONGDATE" ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz +echo +echo "${PKGNAM} branch $BRANCH with HEAD at $HEADISAT packaged as ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz" +echo diff --git a/source/l/spirv-llvm-translator/spirv-llvm-translator.SlackBuild b/source/l/spirv-llvm-translator/spirv-llvm-translator.SlackBuild index 78ca6cab2..aa32098ff 100755 --- a/source/l/spirv-llvm-translator/spirv-llvm-translator.SlackBuild +++ b/source/l/spirv-llvm-translator/spirv-llvm-translator.SlackBuild @@ -83,6 +83,11 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \+ +# This git pull needs a specific set of headers. These were obtained by letting +# the build download them, and then tarring them up and pointing to them with +# the -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR option below. +tar xf $CWD/SPIRV-Headers.tar.lz + # Build and install: mkdir -p build cd build @@ -97,6 +102,7 @@ cd build -DLIB_SUFFIX=${LIBDIRSUFFIX} \ -DBUILD_SHARED_LIBS=ON \ -DCMAKE_BUILD_TYPE=Release \ + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=$TMP/SPIRV-LLVM-Translator-$VERSION/SPIRV-Headers \ .. make $NUMJOBS || make || exit 1 make $NUMJOBS llvm-spirv || make llvm-spirv || exit 1 |