SPIRV-LLVM-Translator is a tool and a library for bi-directional translation between SPIR-V and LLVM IR.
CMake-3.30.5, libxml2-2.13.4, LLVM-19.1.0 (with Clang), SPIRV-Headers-1.3.296.0, and SPIRV-Tools-1.3.296.0
This tarball is v19.1.0.tar.gz.
v19.1.0.tar.gz will extract to the
directory SPIRV-LLVM-Translator-19.1.0.
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
To test the results, issue: ninja test.
Now, as the root user:
ninja install
First clean the build directory:
rm -rf *
Install lib32-SPIRV-LLVM-Translator by running the following commands:
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
-DCMAKE_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 SPIRV-Headers-1.3.296.0 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.