• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// This file is derived (manually) from the CMake targets.
2// deqp depends on:
3// - glslang
4//   - OGLCompiler
5//   - OSDependent
6//   - MachineIndependent
7//     - OGLCompiler
8//     - OSDependent
9//     - GenericCodeGen
10// - SPIRV
11//   - MachineIndependent
12//     - ...
13// - SPVRemapper
14
15package {
16    default_applicable_licenses: ["external_deqp-deps_glslang_license"],
17}
18
19// Added automatically by a large-scale-change that took the approach of
20// 'apply every license found to every target'. While this makes sure we respect
21// every license restriction, it may not be entirely correct.
22//
23// e.g. GPL in an MIT project might only apply to the contrib/ directory.
24//
25// Please consider splitting the single license below into multiple licenses,
26// taking care not to lose any license_kind information, and overriding the
27// default license using the 'licenses: [...]' property on targets as needed.
28//
29// For unused files, consider creating a 'fileGroup' with "//visibility:private"
30// to attach the license to, and including a comment whether the files may be
31// used in the current project.
32//
33// large-scale-change included anything that looked like it might be a license
34// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
35//
36// Please consider removing redundant or irrelevant files from 'license_text:'.
37//
38// large-scale-change filtered out the below license kinds as false-positives:
39//   SPDX-license-identifier-GPL
40//   SPDX-license-identifier-GPL-3.0
41// See: http://go/android-license-faq
42license {
43    name: "external_deqp-deps_glslang_license",
44    visibility: [":__subpackages__"],
45    license_kinds: [
46        "SPDX-license-identifier-Apache-2.0",
47        "SPDX-license-identifier-BSD",
48        "SPDX-license-identifier-MIT",
49    ],
50    license_text: [
51        "LICENSE",
52        "LICENSE.txt",
53    ],
54}
55
56genrule {
57    name: "deqp_glslang_gen_build_info_h",
58    srcs: ["CHANGES.md", "build_info.h.tmpl"],
59    out: ["glslang/build_info.h"],
60    cmd: "$(location) $$(dirname $(location CHANGES.md)) -i $(location build_info.h.tmpl) -o $(location glslang/build_info.h)",
61    tool_files: ["build_info.py"],
62}
63
64cc_defaults {
65    name: "deqp_glslang_defaults",
66    defaults: ["deqp_and_deps_defaults"],
67    cppflags: [
68        "-Wno-implicit-fallthrough",
69        "-Wno-missing-field-initializers",
70        "-Wno-unused-variable",
71        "-Wno-implicit-int-conversion",
72        "-Wno-sign-conversion",
73    ],
74    export_include_dirs: [
75        ".",
76    ],
77    generated_headers: [
78        "deqp_glslang_gen_build_info_h",
79    ],
80}
81
82cc_library_static {
83    name: "deqp_glslang_OSDependent",
84    defaults: [
85        "deqp_glslang_defaults",
86    ],
87    export_include_dirs: [
88        "glslang/OSDependent",
89    ],
90    srcs: [
91        "glslang/OSDependent/Unix/ossource.cpp",
92    ],
93}
94
95cc_library_static {
96    name: "deqp_glslang_OGLCompiler",
97    defaults: [
98        "deqp_glslang_defaults",
99    ],
100    export_include_dirs: [
101        "OGLCompilersDLL",
102    ],
103    srcs: [
104        "OGLCompilersDLL/InitializeDll.cpp",
105    ],
106}
107
108cc_library_static {
109    name: "deqp_glslang_MachineIndependent",
110    defaults: [
111        "deqp_glslang_defaults",
112    ],
113    export_include_dirs: [
114        "glslang/MachineIndependent",
115        "glslang/HLSL",
116    ],
117    srcs: [
118//        "glslang/MachineIndependent/glslang.m4",
119//        "glslang/MachineIndependent/glslang.y",
120        "glslang/MachineIndependent/glslang_tab.cpp",
121        "glslang/MachineIndependent/attribute.cpp",
122        "glslang/MachineIndependent/Constant.cpp",
123        "glslang/MachineIndependent/iomapper.cpp",
124        "glslang/MachineIndependent/InfoSink.cpp",
125        "glslang/MachineIndependent/Initialize.cpp",
126        "glslang/MachineIndependent/IntermTraverse.cpp",
127        "glslang/MachineIndependent/Intermediate.cpp",
128        "glslang/MachineIndependent/ParseContextBase.cpp",
129        "glslang/MachineIndependent/ParseHelper.cpp",
130        "glslang/MachineIndependent/PoolAlloc.cpp",
131        "glslang/MachineIndependent/RemoveTree.cpp",
132        "glslang/MachineIndependent/Scan.cpp",
133        "glslang/MachineIndependent/ShaderLang.cpp",
134        "glslang/MachineIndependent/SymbolTable.cpp",
135        "glslang/MachineIndependent/Versions.cpp",
136        "glslang/MachineIndependent/intermOut.cpp",
137        "glslang/MachineIndependent/limits.cpp",
138        "glslang/MachineIndependent/linkValidate.cpp",
139        "glslang/MachineIndependent/parseConst.cpp",
140        "glslang/MachineIndependent/reflection.cpp",
141        "glslang/MachineIndependent/preprocessor/Pp.cpp",
142        "glslang/MachineIndependent/preprocessor/PpAtom.cpp",
143        "glslang/MachineIndependent/preprocessor/PpContext.cpp",
144        "glslang/MachineIndependent/preprocessor/PpScanner.cpp",
145        "glslang/MachineIndependent/preprocessor/PpTokens.cpp",
146        "glslang/MachineIndependent/propagateNoContraction.cpp",
147
148        "glslang/HLSL/hlslAttributes.cpp",
149        "glslang/HLSL/hlslParseHelper.cpp",
150        "glslang/HLSL/hlslScanContext.cpp",
151        "glslang/HLSL/hlslOpMap.cpp",
152        "glslang/HLSL/hlslTokenStream.cpp",
153        "glslang/HLSL/hlslGrammar.cpp",
154        "glslang/HLSL/hlslParseables.cpp",
155    ],
156    static_libs: [
157        "deqp_glslang_OGLCompiler",
158        "deqp_glslang_OSDependent",
159        "deqp_glslang_GenericCodeGen",
160    ],
161}
162
163cc_library_static {
164    name: "deqp_glslang_glslang",
165    defaults: [
166        "deqp_glslang_defaults",
167    ],
168    export_include_dirs: [
169        "glslang",
170    ],
171    srcs: [
172        "glslang/CInterface/glslang_c_interface.cpp"
173    ],
174    static_libs: [
175        "deqp_glslang_OGLCompiler",
176        "deqp_glslang_OSDependent",
177        "deqp_glslang_MachineIndependent",
178    ],
179}
180
181cc_library_static {
182    name: "deqp_glslang_SPIRV",
183    defaults: [
184        "deqp_glslang_defaults",
185    ],
186    export_include_dirs: [
187        "SPIRV",
188    ],
189    srcs: [
190        "SPIRV/GlslangToSpv.cpp",
191        "SPIRV/InReadableOrder.cpp",
192        "SPIRV/Logger.cpp",
193        "SPIRV/SpvBuilder.cpp",
194        "SPIRV/SpvPostProcess.cpp",
195        "SPIRV/doc.cpp",
196        "SPIRV/SpvTools.cpp",
197        "SPIRV/disassemble.cpp",
198        "SPIRV/CInterface/spirv_c_interface.cpp",
199    ],
200    static_libs: [
201        "deqp_glslang_MachineIndependent",
202    ],
203}
204
205cc_library_static {
206    name: "deqp_glslang_SPVRemapper",
207    defaults: [
208        "deqp_glslang_defaults",
209    ],
210    export_include_dirs: [
211        "SPIRV",
212    ],
213    srcs: [
214        "SPIRV/SPVRemapper.cpp",
215        "SPIRV/doc.cpp",
216    ],
217}
218
219cc_library_static {
220    name: "deqp_glslang_GenericCodeGen",
221    defaults: [
222        "deqp_glslang_defaults",
223    ],
224    export_include_dirs: [
225        "glslang/GenericCodeGen",
226    ],
227    srcs: [
228        "glslang/GenericCodeGen/CodeGen.cpp",
229        "glslang/GenericCodeGen/Link.cpp",
230    ],
231}
232