blob: dc8a80552673911dc1a4f96f10efd670bec66665 [file] [log] [blame]
# Copyright 2017 The Fuchsia Authors
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
static_library("glslang") {
cflags_cc = [
"-Wno-reorder",
"-Wno-inconsistent-missing-override",
"-Wno-missing-field-initializers",
"-Wno-ignored-qualifiers",
]
sources = [
"glslang/GenericCodeGen/CodeGen.cpp",
"glslang/GenericCodeGen/Link.cpp",
"glslang/MachineIndependent/Constant.cpp",
"glslang/MachineIndependent/InfoSink.cpp",
"glslang/MachineIndependent/Initialize.cpp",
"glslang/MachineIndependent/IntermTraverse.cpp",
"glslang/MachineIndependent/Intermediate.cpp",
"glslang/MachineIndependent/ParseContextBase.cpp",
"glslang/MachineIndependent/ParseHelper.cpp",
"glslang/MachineIndependent/PoolAlloc.cpp",
"glslang/MachineIndependent/RemoveTree.cpp",
"glslang/MachineIndependent/Scan.cpp",
"glslang/MachineIndependent/ShaderLang.cpp",
"glslang/MachineIndependent/SymbolTable.cpp",
"glslang/MachineIndependent/Versions.cpp",
"glslang/MachineIndependent/glslang_tab.cpp",
"glslang/MachineIndependent/intermOut.cpp",
"glslang/MachineIndependent/iomapper.cpp",
"glslang/MachineIndependent/limits.cpp",
"glslang/MachineIndependent/linkValidate.cpp",
"glslang/MachineIndependent/parseConst.cpp",
"glslang/MachineIndependent/preprocessor/Pp.cpp",
"glslang/MachineIndependent/preprocessor/PpAtom.cpp",
"glslang/MachineIndependent/preprocessor/PpContext.cpp",
"glslang/MachineIndependent/preprocessor/PpMemory.cpp",
"glslang/MachineIndependent/preprocessor/PpScanner.cpp",
"glslang/MachineIndependent/preprocessor/PpSymbols.cpp",
"glslang/MachineIndependent/preprocessor/PpTokens.cpp",
"glslang/MachineIndependent/propagateNoContraction.cpp",
"glslang/MachineIndependent/reflection.cpp",
]
deps = [
":HLSL",
":OGLCompiler",
":OSDependent",
]
}
static_library("OSDependent") {
sources = [
"glslang/OSDependent/Unix/ossource.cpp",
]
}
static_library("OGLCompiler") {
sources = [
"OGLCompilersDLL/InitializeDll.cpp",
]
}
static_library("HLSL") {
cflags_cc = [
"-Wno-reorder",
"-Wno-inconsistent-missing-override",
]
sources = [
"hlsl/hlslAttributes.cpp",
"hlsl/hlslGrammar.cpp",
"hlsl/hlslOpMap.cpp",
"hlsl/hlslParseHelper.cpp",
"hlsl/hlslParseables.cpp",
"hlsl/hlslScanContext.cpp",
"hlsl/hlslTokenStream.cpp",
]
}
static_library("SPIRV") {
cflags_cc = [ "-Wno-reorder" ]
sources = [
"SPIRV/GlslangToSpv.cpp",
"SPIRV/InReadableOrder.cpp",
"SPIRV/Logger.cpp",
"SPIRV/SpvBuilder.cpp",
"SPIRV/disassemble.cpp",
"SPIRV/doc.cpp",
]
}
static_library("SPVRemapper") {
sources = [
"SPIRV/SPVRemapper.cpp",
]
}
executable("spirv-remap") {
sources = [
"StandAlone/spirv-remap.cpp",
]
deps = [
":SPVRemapper",
":SPIRV",
":glslang"
]
}
static_library("glslang-default-resource-limits") {
include_dirs = [ "." ]
sources = [
"StandAlone/ResourceLimits.cpp",
]
}
executable("glslangValidator") {
include_dirs = [ "." ]
sources = [
"StandAlone/StandAlone.cpp",
]
deps = [
":SPIRV",
":SPVRemapper",
":glslang",
":glslang-default-resource-limits",
]
}