SPIRV-LLVM-Translator-20.1.4

Introduction to SPIRV-LLVM-Translator

SPIRV-LLVM-Translator is a tool and a library for bi-directional translation between SPIR-V and LLVM IR.

SPIRV-LLVM-Translator Dependencies

Required

CMake-4.0.3, libxml2-2.14.4, LLVM-20.1.7 (with Clang), SPIRV-Headers-1.4.313.0, and SPIRV-Tools-1.4.313.0

Installation of SPIRV-LLVM-Translator

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

lib32 Installation of SPIRV-LLVM-Translator

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

Command Explanations

[Notat]

Notat

For en fullstendig liste over alternativer og verdier, sørg for at du er i en byggemappe, og kjør deretter cmake -LAH ...

-D CMAKE_SKIP_INSTALL_RPATH=ON: Denne bryteren gjør at cmake fjern hardkodede biblioteksøk stier (rpath) når du installerer en binær kjørbar fil eller et delt bibliotek. Denne pakken trenger ikke rpath når den er installert på standard plassering, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

-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.313.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.

Contents

Installed Programs: llvm-spirv
Installed Libraries: libLLVMSPIRVLib
Installed Directories: /usr/include/libLLVMSPIRVLib

Short Descriptions

llvm-spirv

translates LLVM bitcode and SPIR-V binaries

libLLVMSPIRVLib

contains functions for translating between SPIR-V and LLVM IR