#### Beyond Linux® From Scratch (systemd Edition) - Version r13.0-491

### Chapter 25. Graphical Environment Libraries

- Prev

  GLEW-2.3.1

- Next

  GLU-9.0.3

- Up
- Home

# glslang-16.3.0

## Introduction to Glslang

The Glslang package contains an frontend and validator for OpenGL, OpenGL ES, and Vulkan shaders.

### Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

### Package Information

- Download (HTTP): https://github.com/KhronosGroup/glslang/archive/16.3.0/glslang-16.3.0.tar.gz

- Download MD5 sum: 0349062b47bb09f153b748506740711b

- Download size: 4.2 MB

- Estimated disk space required: 186 MB (with tests)

- Estimated build time: 0.4 SBU (with parallelism=4; with tests)

### Glslang Dependencies

#### Required

CMake-4.3.2 and SPIRV-Tools-1.4.341.0

## Installation of Glslang

Install Glslang by running the following commands:

    mkdir build &&
    cd    build &&

    cmake -D CMAKE_INSTALL_PREFIX=/usr     \
          -D CMAKE_BUILD_TYPE=Release      \
          -D ALLOW_EXTERNAL_SPIRV_TOOLS=ON \
          -D BUILD_SHARED_LIBS=ON          \
          -D GLSLANG_TESTS=ON              \
          -G Ninja .. &&
    ninja

To test the results, issue: ninja test.

Now, as the `root` user:

    ninja install

## Command Explanations

`-D ALLOW_EXTERNAL_SPIRV_TOOLS=ON`: This switch allows the build system to use the system-installed copy of SPIRV-Tools-1.4.341.0, instead of downloading and installing it's own copy.

`-D BUILD_SHARED_LIBS=ON`: This switch builds shared versions of the libraries, and does not install static versions of them.

`-D GLSLANG_TESTS=ON`: This switch builds the tests for the package.

## Contents

Installed Programs: glslang and glslang-validator (symlink to glslang)
Installed Libraries: libglslang.so, libglslang-default-resource-limits.so, and libSPIRV.so
Installed Directories: /usr/include/glslang and /usr/lib/cmake/glslang

### Short Descriptions

glslang | provides a front end and validator for OpenGL, OpenGL ES, and Vulkan shaders
`libglslang.so` | contains functions that provide a front-end and validator for OpenGL, OpenGL ES, and Vulkan shaders to other programs
`libSPIRV.so` | provides a front-end and generator for SPIR-V binaries

- Prev

  GLEW-2.3.1

- Next

  GLU-9.0.3

- Up
- Home