Introduction to Glslang
        
        
          The Glslang package contains an
          frontend and validator for OpenGL, OpenGL ES, and Vulkan shaders.
        
        
          ![[Note]](../images/note.png) 
          
            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
        
        
        
          Glslang Dependencies
        
        
          Required
        
        
          CMake-4.1.2 and SPIRV-Tools-1.4.328.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.328.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 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
                   |