Tue, 06 Jan 2015 21:39:09 +0100
Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
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/.
7 # libEGL depends on (links against!) libGLESv2!
8 if CONFIG['MOZ_ANGLE_RENDERER']:
9 DIRS += ['src/libGLESv2', 'src/libEGL']
11 EXPORTS.angle += [
12 'include/GLSLANG/ShaderLang.h',
13 'include/KHR/khrplatform.h',
14 ]
16 # WARNING: CPP_SOURCES seems very dependent on ordering. Grouping all of these
17 # CPP_SOURCES lines into one list may break webgl tests.
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 ]]
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 ]]
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 ]]
80 # src/compiler/timing:
81 UNIFIED_SOURCES += ['src/compiler/timing/' + src for src in [
82 'RestrictFragmentShaderTiming.cpp',
83 'RestrictVertexShaderTiming.cpp',
84 ]]
86 # src/third_party/compiler:
87 UNIFIED_SOURCES += ['src/third_party/compiler/' + src for src in [
88 'ArrayBoundsClamper.cpp',
89 ]]
91 # src/third_party/murmurhash:
92 UNIFIED_SOURCES += ['src/third_party/murmurhash/' + src for src in [
93 'MurmurHash3.cpp',
94 ]]
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 ]
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
120 LOCAL_INCLUDES += [
121 'include',
122 'include/KHR',
123 'src',
124 ]
126 if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
127 NO_VISIBILITY_FLAGS = True
129 FINAL_LIBRARY = 'gkmedias'
131 DEFINES['ANGLE_DISABLE_TRACE'] = True
132 DEFINES['ANGLE_COMPILE_OPTIMIZATION_LEVEL'] = 'D3DCOMPILE_OPTIMIZATION_LEVEL1'
133 DEFINES['COMPILER_IMPLEMENTATION'] = True
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']