SPIRV-LLVM-Translator is a tool and a library for bi-directional translation between SPIR-V and LLVM IR.
CMake-3.31.5, libxml2-2.13.6, LLVM-19.1.7 (with Clang), SPIRV-Headers-1.4.304.1, and SPIRV-Tools-1.4.304.1
This tarball is v19.1.4.tar.gz
.
v19.1.4.tar.gz
will extract to the
directory SPIRV-LLVM-Translator-19.1.4
.
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
Inspect CMakeLists.txt
and other
CMake related files for a full
list of options.
-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 SPIRV-Headers-1.4.304.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.