| # Copyright 2020 Google LLC. |
| # |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build_overrides/glslang.gni") |
| import("../third_party.gni") |
| |
| glslang_root = "../externals/glslang" |
| |
| spirv_tools_dir = glslang_spirv_tools_dir |
| |
| third_party("glslang_sources") { |
| public_include_dirs = [ "$glslang_root" ] |
| public_defines = [ "ENABLE_HLSL=1" ] |
| |
| sources = |
| rebase_path([ |
| "OGLCompilersDLL/InitializeDll.cpp", |
| "OGLCompilersDLL/InitializeDll.h", |
| "SPIRV/GLSL.ext.AMD.h", |
| "SPIRV/GLSL.ext.EXT.h", |
| "SPIRV/GLSL.ext.KHR.h", |
| "SPIRV/GLSL.ext.NV.h", |
| "SPIRV/GLSL.std.450.h", |
| "SPIRV/GlslangToSpv.cpp", |
| "SPIRV/GlslangToSpv.h", |
| "SPIRV/InReadableOrder.cpp", |
| "SPIRV/Logger.cpp", |
| "SPIRV/Logger.h", |
| "SPIRV/NonSemanticDebugPrintf.h", |
| "SPIRV/SPVRemapper.cpp", |
| "SPIRV/SPVRemapper.h", |
| "SPIRV/SpvBuilder.cpp", |
| "SPIRV/SpvBuilder.h", |
| "SPIRV/SpvPostProcess.cpp", |
| "SPIRV/SpvTools.cpp", |
| "SPIRV/SpvTools.h", |
| "SPIRV/bitutils.h", |
| "SPIRV/disassemble.cpp", |
| "SPIRV/disassemble.h", |
| "SPIRV/doc.cpp", |
| "SPIRV/doc.h", |
| "SPIRV/hex_float.h", |
| "SPIRV/spirv.hpp", |
| "SPIRV/spvIR.h", |
| "glslang/GenericCodeGen/CodeGen.cpp", |
| "glslang/GenericCodeGen/Link.cpp", |
| "glslang/HLSL/hlslAttributes.cpp", |
| "glslang/HLSL/hlslAttributes.h", |
| "glslang/HLSL/hlslGrammar.cpp", |
| "glslang/HLSL/hlslGrammar.h", |
| "glslang/HLSL/hlslOpMap.cpp", |
| "glslang/HLSL/hlslOpMap.h", |
| "glslang/HLSL/hlslParseHelper.cpp", |
| "glslang/HLSL/hlslParseHelper.h", |
| "glslang/HLSL/hlslParseables.cpp", |
| "glslang/HLSL/hlslParseables.h", |
| "glslang/HLSL/hlslScanContext.cpp", |
| "glslang/HLSL/hlslScanContext.h", |
| "glslang/HLSL/hlslTokenStream.cpp", |
| "glslang/HLSL/hlslTokenStream.h", |
| "glslang/HLSL/hlslTokens.h", |
| "glslang/Include/BaseTypes.h", |
| "glslang/Include/Common.h", |
| "glslang/Include/ConstantUnion.h", |
| "glslang/Include/InfoSink.h", |
| "glslang/Include/InitializeGlobals.h", |
| "glslang/Include/PoolAlloc.h", |
| "glslang/Include/ResourceLimits.h", |
| "glslang/Include/ShHandle.h", |
| "glslang/Include/Types.h", |
| "glslang/Include/arrays.h", |
| "glslang/Include/intermediate.h", |
| "glslang/Include/revision.h", |
| "glslang/MachineIndependent/Constant.cpp", |
| "glslang/MachineIndependent/InfoSink.cpp", |
| "glslang/MachineIndependent/Initialize.cpp", |
| "glslang/MachineIndependent/Initialize.h", |
| "glslang/MachineIndependent/IntermTraverse.cpp", |
| "glslang/MachineIndependent/Intermediate.cpp", |
| "glslang/MachineIndependent/LiveTraverser.h", |
| "glslang/MachineIndependent/ParseContextBase.cpp", |
| "glslang/MachineIndependent/ParseHelper.cpp", |
| "glslang/MachineIndependent/ParseHelper.h", |
| "glslang/MachineIndependent/PoolAlloc.cpp", |
| "glslang/MachineIndependent/RemoveTree.cpp", |
| "glslang/MachineIndependent/RemoveTree.h", |
| "glslang/MachineIndependent/Scan.cpp", |
| "glslang/MachineIndependent/Scan.h", |
| "glslang/MachineIndependent/ScanContext.h", |
| "glslang/MachineIndependent/ShaderLang.cpp", |
| "glslang/MachineIndependent/SymbolTable.cpp", |
| "glslang/MachineIndependent/SymbolTable.h", |
| "glslang/MachineIndependent/Versions.cpp", |
| "glslang/MachineIndependent/Versions.h", |
| "glslang/MachineIndependent/attribute.cpp", |
| "glslang/MachineIndependent/attribute.h", |
| "glslang/MachineIndependent/gl_types.h", |
| "glslang/MachineIndependent/glslang_tab.cpp", |
| "glslang/MachineIndependent/glslang_tab.cpp.h", |
| "glslang/MachineIndependent/intermOut.cpp", |
| "glslang/MachineIndependent/iomapper.cpp", |
| "glslang/MachineIndependent/iomapper.h", |
| "glslang/MachineIndependent/limits.cpp", |
| "glslang/MachineIndependent/linkValidate.cpp", |
| "glslang/MachineIndependent/localintermediate.h", |
| "glslang/MachineIndependent/parseConst.cpp", |
| "glslang/MachineIndependent/parseVersions.h", |
| "glslang/MachineIndependent/preprocessor/Pp.cpp", |
| "glslang/MachineIndependent/preprocessor/PpAtom.cpp", |
| "glslang/MachineIndependent/preprocessor/PpContext.cpp", |
| "glslang/MachineIndependent/preprocessor/PpContext.h", |
| "glslang/MachineIndependent/preprocessor/PpScanner.cpp", |
| "glslang/MachineIndependent/preprocessor/PpTokens.cpp", |
| "glslang/MachineIndependent/preprocessor/PpTokens.h", |
| "glslang/MachineIndependent/propagateNoContraction.cpp", |
| "glslang/MachineIndependent/propagateNoContraction.h", |
| "glslang/MachineIndependent/reflection.cpp", |
| "glslang/MachineIndependent/reflection.h", |
| "glslang/OSDependent/osinclude.h", |
| "glslang/Public/ShaderLang.h", |
| ], |
| ".", |
| "$glslang_root") |
| |
| defines = [ "ENABLE_OPT=1" ] |
| |
| if (is_win) { |
| sources += [ "${glslang_root}/glslang/OSDependent/Windows/ossource.cpp" ] |
| defines += [ "GLSLANG_OSINCLUDE_WIN32" ] |
| } else { |
| sources += [ "${glslang_root}/glslang/OSDependent/Unix/ossource.cpp" ] |
| defines += [ "GLSLANG_OSINCLUDE_UNIX" ] |
| } |
| |
| deps = [ "${spirv_tools_dir}:spvtools_val" ] |
| } |