#### Beyond Linux® From Scratch (System V Edition) - Version 12.3

### Chapter 25. Graphical Environment Libraries

- Prev

  GLEW-2.2.0

- Next

  GLU-9.0.3

- Up
- Home

# Glslang-15.1.0

## Introduction to Glslang

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

This package is known to build and work properly using an LFS 12.3 platform.

### Package Information

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

- Download MD5 sum: 2bf049666f223732fc18d6c8b16b98cf

- Download size: 3.7 MB

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

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

### Glslang Dependencies

#### Required

CMake-3.31.5 and SPIRV-Tools-1.4.304.1

## 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.304.1, 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, glslang-validator (symlink to glslang), and spirv-remap
Installed Libraries: libglslang.so, libglslang-default-resource-limits.so, libSPIRV.so, and libSPVRemapper.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
`libSPVRemapper.so` | provides a remapper for SPIR-V binaries

- Prev

  GLEW-2.2.0

- Next

  GLU-9.0.3

- Up
- Home