SPIRV-LLVM-Translator is a tool and a library for bi-directional translation between SPIR-V and LLVM IR.
CMake-3.31.0, libxml2-2.13.5, 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.