|
1 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- |
|
2 # vim: set filetype=python: |
|
3 # This Source Code Form is subject to the terms of the Mozilla Public |
|
4 # License, v. 2.0. If a copy of the MPL was not distributed with this |
|
5 # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
6 |
|
7 # libEGL depends on (links against!) libGLESv2! |
|
8 if CONFIG['MOZ_ANGLE_RENDERER']: |
|
9 DIRS += ['src/libGLESv2', 'src/libEGL'] |
|
10 |
|
11 EXPORTS.angle += [ |
|
12 'include/GLSLANG/ShaderLang.h', |
|
13 'include/KHR/khrplatform.h', |
|
14 ] |
|
15 |
|
16 # WARNING: CPP_SOURCES seems very dependent on ordering. Grouping all of these |
|
17 # CPP_SOURCES lines into one list may break webgl tests. |
|
18 |
|
19 # Target: 'preprocessor' |
|
20 # src/compiler/preprocessor: |
|
21 UNIFIED_SOURCES += ['src/compiler/preprocessor/' + src for src in [ |
|
22 'DiagnosticsBase.cpp', |
|
23 'DirectiveHandlerBase.cpp', |
|
24 'DirectiveParser.cpp', |
|
25 'ExpressionParser.cpp', |
|
26 'Input.cpp', |
|
27 'Lexer.cpp', |
|
28 'Macro.cpp', |
|
29 'MacroExpander.cpp', |
|
30 'Preprocessor.cpp', |
|
31 'Token.cpp', |
|
32 'Tokenizer.cpp', |
|
33 ]] |
|
34 |
|
35 # Target: 'translator_common' |
|
36 # Requires: 'preprocessor' |
|
37 # src/compiler: |
|
38 UNIFIED_SOURCES += ['src/compiler/' + src for src in [ |
|
39 'BuiltInFunctionEmulator.cpp', |
|
40 'Compiler.cpp', |
|
41 'compiler_debug.cpp', |
|
42 'CompilerUniform.cpp', |
|
43 'DetectCallDepth.cpp', |
|
44 'Diagnostics.cpp', |
|
45 'DirectiveHandler.cpp', |
|
46 'ForLoopUnroll.cpp', |
|
47 'InfoSink.cpp', |
|
48 'Initialize.cpp', |
|
49 'InitializeDll.cpp', |
|
50 'InitializeParseContext.cpp', |
|
51 'Intermediate.cpp', |
|
52 'intermOut.cpp', |
|
53 'IntermTraverse.cpp', |
|
54 'MapLongVariableNames.cpp', |
|
55 'parseConst.cpp', |
|
56 'ParseHelper.cpp', |
|
57 'PoolAlloc.cpp', |
|
58 'QualifierAlive.cpp', |
|
59 'RemoveTree.cpp', |
|
60 'SymbolTable.cpp', |
|
61 'util.cpp', |
|
62 'ValidateLimitations.cpp', |
|
63 'VariableInfo.cpp', |
|
64 'VariablePacker.cpp', |
|
65 ]] |
|
66 # The yacc source files need to be built separately. |
|
67 SOURCES += ['src/compiler/' + src for src in [ |
|
68 'glslang_lex.cpp', |
|
69 'glslang_tab.cpp', |
|
70 ]] |
|
71 |
|
72 # src/compiler/depgraph: |
|
73 UNIFIED_SOURCES += ['src/compiler/depgraph/' + src for src in [ |
|
74 'DependencyGraph.cpp', |
|
75 'DependencyGraphBuilder.cpp', |
|
76 'DependencyGraphOutput.cpp', |
|
77 'DependencyGraphTraverse.cpp', |
|
78 ]] |
|
79 |
|
80 # src/compiler/timing: |
|
81 UNIFIED_SOURCES += ['src/compiler/timing/' + src for src in [ |
|
82 'RestrictFragmentShaderTiming.cpp', |
|
83 'RestrictVertexShaderTiming.cpp', |
|
84 ]] |
|
85 |
|
86 # src/third_party/compiler: |
|
87 UNIFIED_SOURCES += ['src/third_party/compiler/' + src for src in [ |
|
88 'ArrayBoundsClamper.cpp', |
|
89 ]] |
|
90 |
|
91 # src/third_party/murmurhash: |
|
92 UNIFIED_SOURCES += ['src/third_party/murmurhash/' + src for src in [ |
|
93 'MurmurHash3.cpp', |
|
94 ]] |
|
95 |
|
96 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': |
|
97 UNIFIED_SOURCES += [ |
|
98 'src/compiler/ossource_win.cpp', |
|
99 ] |
|
100 else: |
|
101 UNIFIED_SOURCES += [ |
|
102 'src/compiler/ossource_posix.cpp', |
|
103 ] |
|
104 |
|
105 # Target: 'translator_glsl' |
|
106 # Requires: 'translator_common' |
|
107 # src/compiler: |
|
108 UNIFIED_SOURCES += ['src/compiler/' + src for src in [ |
|
109 'CodeGenGLSL.cpp', |
|
110 'OutputESSL.cpp', |
|
111 'OutputGLSL.cpp', |
|
112 'OutputGLSLBase.cpp', |
|
113 'ShaderLang.cpp', |
|
114 'TranslatorESSL.cpp', |
|
115 'TranslatorGLSL.cpp', |
|
116 'VersionGLSL.cpp', |
|
117 ]] |
|
118 MSVC_ENABLE_PGO = True |
|
119 |
|
120 LOCAL_INCLUDES += [ |
|
121 'include', |
|
122 'include/KHR', |
|
123 'src', |
|
124 ] |
|
125 |
|
126 if CONFIG['GKMEDIAS_SHARED_LIBRARY']: |
|
127 NO_VISIBILITY_FLAGS = True |
|
128 |
|
129 FINAL_LIBRARY = 'gkmedias' |
|
130 |
|
131 DEFINES['ANGLE_DISABLE_TRACE'] = True |
|
132 DEFINES['ANGLE_COMPILE_OPTIMIZATION_LEVEL'] = 'D3DCOMPILE_OPTIMIZATION_LEVEL1' |
|
133 DEFINES['COMPILER_IMPLEMENTATION'] = True |
|
134 |
|
135 # Suppress warnings in third-party code. |
|
136 if CONFIG['GNU_CXX']: |
|
137 CXXFLAGS += [ |
|
138 '-Wno-attributes', |
|
139 '-Wno-sign-compare', |
|
140 '-Wno-unknown-pragmas', |
|
141 ] |
|
142 if CONFIG['CLANG_CXX']: |
|
143 CXXFLAGS += ['-Wno-unused-private-field'] |