SPIRV-LLVM-Translator is a tool and a library for bi-directional translation between SPIR-V and LLVM IR.
Install SPIRV-LLVM-Translator by running the following commands:
mkdir build &&
cd build &&
cmake -D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_SKIP_INSTALL_RPATH=ON \
-D BUILD_SHARED_LIBS=ON \
-D LLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr \
-G Ninja .. &&
ninja
Now, as the root user:
ninja install
Install lib32-SPIRV-LLVM-Translator by running the following commands:
rm -rf * &&
CC="gcc -m32" CXX="g++ -m32" \
PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
cmake -D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_INSTALL_LIBDIR=lib32 \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_SKIP_INSTALL_RPATH=ON \
-D BUILD_SHARED_LIBS=ON \
-D LLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr \
-G Ninja .. &&
ninja
Now, as the root user:
DESTDIR=$PWD/DESTDIR ninja install && cp -vr DESTDIR/usr/lib32/* /usr/lib32 && rm -rf DESTDIR && ldconfig
For a full list of options and values, make sure you are in a build directory, then run cmake -LAH ...
-D
CMAKE_SKIP_INSTALL_RPATH=ON: This switch makes
cmake remove
hardcoded library search paths (rpath) when installing a binary
executable file or a shared library. This package does not need
rpath once it's installed into the standard location, and rpath may
sometimes cause unwanted effects or even security issues.
-D BUILD_SHARED_LIBS=ON:
This switch forces the build system to install shared libraries
instead of static libraries.
-D
LLVM_EXTERNAL_SPIRV_HEADERS_*: These switches tells the
build system that Vulkan-SDK-1.4.328.1 is installed in
/usr. This is needed since the build system tries to download and
use the downloaded headers not on the system if the switch isn't
invoked.