OLD | NEW |
1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 | 5 |
6 # Recipe module for Skia Swarming compile. | 6 # Recipe module for Skia Swarming compile. |
7 | 7 |
8 | 8 |
9 DEPS = [ | 9 DEPS = [ |
10 'core', | 10 'core', |
(...skipping 10 matching lines...) Expand all Loading... |
21 | 21 |
22 TEST_BUILDERS = { | 22 TEST_BUILDERS = { |
23 'client.skia.compile': { | 23 'client.skia.compile': { |
24 'skiabot-linux-swarm-000': [ | 24 'skiabot-linux-swarm-000': [ |
25 'Build-Mac-Clang-Arm7-Debug-Android', | 25 'Build-Mac-Clang-Arm7-Debug-Android', |
26 'Build-Mac-Clang-Arm7-Release-iOS', | 26 'Build-Mac-Clang-Arm7-Release-iOS', |
27 'Build-Mac-Clang-x86_64-Debug-CommandBuffer', | 27 'Build-Mac-Clang-x86_64-Debug-CommandBuffer', |
28 'Build-Mac-Clang-x86_64-Release-CMake', | 28 'Build-Mac-Clang-x86_64-Release-CMake', |
29 'Build-Ubuntu-Clang-x86_64-Debug-GN', | 29 'Build-Ubuntu-Clang-x86_64-Debug-GN', |
30 'Build-Ubuntu-GCC-Arm7-Debug-Android-Trybot', | 30 'Build-Ubuntu-GCC-Arm7-Debug-Android-Trybot', |
31 #'Build-Ubuntu-GCC-Arm7-Debug-Android_FrameworkDefs', | 31 'Build-Ubuntu-GCC-Arm7-Debug-Android_FrameworkDefs', |
32 #'Build-Ubuntu-GCC-Arm7-Debug-Android_NoNeon', | 32 'Build-Ubuntu-GCC-Arm7-Debug-Android_NoNeon', |
33 'Build-Ubuntu-GCC-Arm7-Release-Android', | 33 'Build-Ubuntu-GCC-Arm7-Release-Android', |
34 'Build-Ubuntu-GCC-Arm7-Release-Android_Vulkan', | 34 'Build-Ubuntu-GCC-Arm7-Release-Android_Vulkan', |
35 'Build-Ubuntu-GCC-x86-Debug', | 35 'Build-Ubuntu-GCC-x86-Debug', |
36 'Build-Ubuntu-GCC-x86_64-Debug-MSAN', | 36 'Build-Ubuntu-GCC-x86_64-Debug-MSAN', |
37 'Build-Ubuntu-GCC-x86_64-Debug-GN', | 37 'Build-Ubuntu-GCC-x86_64-Debug-GN', |
38 #'Build-Ubuntu-GCC-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE', | 38 'Build-Ubuntu-GCC-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE', |
39 #'Build-Ubuntu-GCC-x86_64-Release-ANGLE', | 39 'Build-Ubuntu-GCC-x86_64-Release-ANGLE', |
40 'Build-Ubuntu-GCC-x86_64-Release-CMake', | 40 'Build-Ubuntu-GCC-x86_64-Release-CMake', |
41 #'Build-Ubuntu-GCC-x86_64-Release-Fast', | 41 'Build-Ubuntu-GCC-x86_64-Release-Fast', |
42 #'Build-Ubuntu-GCC-x86_64-Release-Mesa', | 42 'Build-Ubuntu-GCC-x86_64-Release-Mesa', |
43 'Build-Ubuntu-GCC-x86_64-Release-PDFium', | 43 'Build-Ubuntu-GCC-x86_64-Release-PDFium', |
44 'Build-Ubuntu-GCC-x86_64-Release-Shared', | 44 'Build-Ubuntu-GCC-x86_64-Release-Shared', |
45 'Build-Ubuntu-GCC-x86_64-Release-Valgrind', | 45 'Build-Ubuntu-GCC-x86_64-Release-Valgrind', |
46 'Build-Win-MSVC-x86-Debug', | 46 'Build-Win-MSVC-x86-Debug', |
47 #'Build-Win-MSVC-x86-Debug-Exceptions', | 47 'Build-Win-MSVC-x86-Debug-Exceptions', |
48 #'Build-Win-MSVC-x86-Release-GDI', | 48 'Build-Win-MSVC-x86-Release-GDI', |
49 'Build-Win-MSVC-x86-Release-GN', | 49 'Build-Win-MSVC-x86-Release-GN', |
50 'Build-Win-MSVC-x86_64-Release-Vulkan', | 50 'Build-Win-MSVC-x86_64-Release-Vulkan', |
51 ], | 51 ], |
52 }, | 52 }, |
53 } | 53 } |
54 | 54 |
55 | 55 |
56 def build_targets_from_builder_dict(builder_dict): | 56 def build_targets_from_builder_dict(builder_dict): |
57 """Return a list of targets to build, depending on the builder type.""" | 57 """Return a list of targets to build, depending on the builder type.""" |
58 if builder_dict.get('extra_config') == 'iOS': | 58 if builder_dict.get('extra_config') == 'iOS': |
59 return ['iOSShell'] | 59 return ['iOSShell'] |
60 if 'SAN' in builder_dict.get('extra_config', ''): | 60 if 'SAN' in builder_dict.get('extra_config', ''): |
61 # 'most' does not compile under MSAN. | 61 # 'most' does not compile under MSAN. |
62 return ['dm', 'nanobench'] | 62 return ['dm', 'nanobench'] |
63 else: | 63 else: |
64 return ['most'] | 64 return ['most'] |
65 | 65 |
66 | 66 |
67 def get_extra_env_vars(builder_dict): | 67 def get_extra_env_vars(builder_dict): |
68 env = {} | 68 env = {} |
69 if builder_dict.get('compiler') == 'Clang': | 69 if builder_dict.get('compiler') == 'Clang': |
70 env['CC'] = '/usr/bin/clang' | 70 env['CC'] = '/usr/bin/clang' |
71 env['CXX'] = '/usr/bin/clang++' | 71 env['CXX'] = '/usr/bin/clang++' |
72 | 72 |
73 # SKNX_NO_SIMD, SK_USE_DISCARDABLE_SCALEDIMAGECACHE, etc. | 73 # SKNX_NO_SIMD, SK_USE_DISCARDABLE_SCALEDIMAGECACHE, etc. |
74 extra_config = builder_dict.get('extra_config', '') | 74 extra_config = builder_dict.get('extra_config', '') |
75 if extra_config.startswith('SK') and extra_config.isupper(): | 75 if extra_config.startswith('SK') and extra_config.isupper(): |
76 env['CPPFLAGS'] = '-D' + extra_config # pragma: no cover | 76 env['CPPFLAGS'] = '-D' + extra_config |
77 | 77 |
78 return env | 78 return env |
79 | 79 |
80 | 80 |
81 def get_gyp_defines(builder_dict): | 81 def get_gyp_defines(builder_dict): |
82 gyp_defs = {} | 82 gyp_defs = {} |
83 | 83 |
84 # skia_arch_type. | 84 # skia_arch_type. |
85 arch = builder_dict['target_arch'] | 85 arch = builder_dict['target_arch'] |
86 | 86 |
(...skipping 13 matching lines...) Expand all Loading... |
100 werr = False | 100 werr = False |
101 if 'Win' in builder_dict.get('os', ''): | 101 if 'Win' in builder_dict.get('os', ''): |
102 if not ('GDI' in builder_dict.get('extra_config', '') or | 102 if not ('GDI' in builder_dict.get('extra_config', '') or |
103 'Exceptions' in builder_dict.get('extra_config', '')): | 103 'Exceptions' in builder_dict.get('extra_config', '')): |
104 werr = True | 104 werr = True |
105 elif ('Mac' in builder_dict.get('os', '') and | 105 elif ('Mac' in builder_dict.get('os', '') and |
106 'Android' in builder_dict.get('extra_config', '')): | 106 'Android' in builder_dict.get('extra_config', '')): |
107 werr = False | 107 werr = False |
108 elif 'Fast' in builder_dict.get('extra_config', ''): | 108 elif 'Fast' in builder_dict.get('extra_config', ''): |
109 # See https://bugs.chromium.org/p/skia/issues/detail?id=5257 | 109 # See https://bugs.chromium.org/p/skia/issues/detail?id=5257 |
110 werr = False # pragma: no cover | 110 werr = False |
111 else: | 111 else: |
112 werr = True | 112 werr = True |
113 gyp_defs['skia_warnings_as_errors'] = str(int(werr)) # True/False -> '1'/'0' | 113 gyp_defs['skia_warnings_as_errors'] = str(int(werr)) # True/False -> '1'/'0' |
114 | 114 |
115 # Win debugger. | 115 # Win debugger. |
116 if 'Win' in builder_dict.get('os', ''): | 116 if 'Win' in builder_dict.get('os', ''): |
117 gyp_defs['skia_win_debuggers_path'] = 'c:/DbgHelp' | 117 gyp_defs['skia_win_debuggers_path'] = 'c:/DbgHelp' |
118 | 118 |
119 # Qt SDK (Win). | 119 # Qt SDK (Win). |
120 if 'Win' in builder_dict.get('os', ''): | 120 if 'Win' in builder_dict.get('os', ''): |
121 gyp_defs['qt_sdk'] = 'C:/Qt/4.8.5/' | 121 gyp_defs['qt_sdk'] = 'C:/Qt/4.8.5/' |
122 | 122 |
123 # ANGLE. | 123 # ANGLE. |
124 if builder_dict.get('extra_config') == 'ANGLE': # pragma: no cover | 124 if builder_dict.get('extra_config') == 'ANGLE': |
125 gyp_defs['skia_angle'] = '1' | 125 gyp_defs['skia_angle'] = '1' |
126 if builder_dict.get('os', '') in ('Ubuntu', 'Linux'): | 126 if builder_dict.get('os', '') in ('Ubuntu', 'Linux'): |
127 gyp_defs['use_x11'] = '1' | 127 gyp_defs['use_x11'] = '1' |
128 gyp_defs['chromeos'] = '0' | 128 gyp_defs['chromeos'] = '0' |
129 | 129 |
130 # GDI. | 130 # GDI. |
131 if builder_dict.get('extra_config') == 'GDI': | 131 if builder_dict.get('extra_config') == 'GDI': |
132 gyp_defs['skia_gdi'] = '1' # pragma: no cover | 132 gyp_defs['skia_gdi'] = '1' |
133 | 133 |
134 # Build with Exceptions on Windows. | 134 # Build with Exceptions on Windows. |
135 if ('Win' in builder_dict.get('os', '') and | 135 if ('Win' in builder_dict.get('os', '') and |
136 builder_dict.get('extra_config') == 'Exceptions'): | 136 builder_dict.get('extra_config') == 'Exceptions'): |
137 gyp_defs['skia_win_exceptions'] = '1' # pragma: no cover | 137 gyp_defs['skia_win_exceptions'] = '1' |
138 | 138 |
139 # iOS. | 139 # iOS. |
140 if (builder_dict.get('os') == 'iOS' or | 140 if (builder_dict.get('os') == 'iOS' or |
141 builder_dict.get('extra_config') == 'iOS'): | 141 builder_dict.get('extra_config') == 'iOS'): |
142 gyp_defs['skia_os'] = 'ios' | 142 gyp_defs['skia_os'] = 'ios' |
143 | 143 |
144 # Shared library build. | 144 # Shared library build. |
145 if builder_dict.get('extra_config') == 'Shared': | 145 if builder_dict.get('extra_config') == 'Shared': |
146 gyp_defs['skia_shared_lib'] = '1' | 146 gyp_defs['skia_shared_lib'] = '1' |
147 | 147 |
148 # Build fastest Skia possible. | 148 # Build fastest Skia possible. |
149 if builder_dict.get('extra_config') == 'Fast': | 149 if builder_dict.get('extra_config') == 'Fast': |
150 gyp_defs['skia_fast'] = '1' # pragma: no cover | 150 gyp_defs['skia_fast'] = '1' |
151 | |
152 # PDF viewer in GM. | |
153 if (builder_dict.get('os') == 'Mac10.8' and | |
154 builder_dict.get('arch') == 'x86_64' and | |
155 builder_dict.get('configuration') == 'Release'): # pragma: no cover | |
156 gyp_defs['skia_run_pdfviewer_in_gm'] = '1' | |
157 | 151 |
158 # Clang. | 152 # Clang. |
159 if builder_dict.get('compiler') == 'Clang': | 153 if builder_dict.get('compiler') == 'Clang': |
160 gyp_defs['skia_clang_build'] = '1' | 154 gyp_defs['skia_clang_build'] = '1' |
161 | 155 |
162 # Valgrind. | 156 # Valgrind. |
163 if 'Valgrind' in builder_dict.get('extra_config', ''): | 157 if 'Valgrind' in builder_dict.get('extra_config', ''): |
164 gyp_defs['skia_release_optimization_level'] = '1' | 158 gyp_defs['skia_release_optimization_level'] = '1' |
165 | 159 |
166 # Link-time code generation just wastes time on compile-only bots. | 160 # Link-time code generation just wastes time on compile-only bots. |
167 if builder_dict.get('compiler') == 'MSVC': | 161 if builder_dict.get('compiler') == 'MSVC': |
168 gyp_defs['skia_win_ltcg'] = '0' | 162 gyp_defs['skia_win_ltcg'] = '0' |
169 | 163 |
170 # Mesa. | 164 # Mesa. |
171 if (builder_dict.get('extra_config') == 'Mesa' or | 165 if (builder_dict.get('extra_config') == 'Mesa' or |
172 builder_dict.get('cpu_or_gpu_value') == 'Mesa'): | 166 builder_dict.get('cpu_or_gpu_value') == 'Mesa'): |
173 gyp_defs['skia_mesa'] = '1' # pragma: no cover | 167 gyp_defs['skia_mesa'] = '1' |
174 | 168 |
175 # skia_use_android_framework_defines. | 169 # skia_use_android_framework_defines. |
176 if builder_dict.get('extra_config') == 'Android_FrameworkDefs': | 170 if builder_dict.get('extra_config') == 'Android_FrameworkDefs': |
177 gyp_defs['skia_use_android_framework_defines'] = '1' # pragma: no cover | 171 gyp_defs['skia_use_android_framework_defines'] = '1' |
178 | 172 |
179 # CommandBuffer. | 173 # CommandBuffer. |
180 if builder_dict.get('extra_config') == 'CommandBuffer': | 174 if builder_dict.get('extra_config') == 'CommandBuffer': |
181 gyp_defs['skia_command_buffer'] = '1' | 175 gyp_defs['skia_command_buffer'] = '1' |
182 | 176 |
183 # Vulkan. | 177 # Vulkan. |
184 if builder_dict.get('extra_config') == 'Vulkan': | 178 if builder_dict.get('extra_config') == 'Vulkan': |
185 gyp_defs['skia_vulkan'] = '1' | 179 gyp_defs['skia_vulkan'] = '1' |
186 gyp_defs['skia_vulkan_debug_layers'] = '0' | 180 gyp_defs['skia_vulkan_debug_layers'] = '0' |
187 | 181 |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
308 path_config='kitchen', | 302 path_config='kitchen', |
309 swarm_out_dir='[SWARM_OUT_DIR]', | 303 swarm_out_dir='[SWARM_OUT_DIR]', |
310 rietveld='https://codereview.chromium.org', | 304 rietveld='https://codereview.chromium.org', |
311 patchset=1, | 305 patchset=1, |
312 issue=2147533002L) + | 306 issue=2147533002L) + |
313 api.path.exists( | 307 api.path.exists( |
314 api.path['slave_build'].join('tmp', 'uninteresting_hashes.txt') | 308 api.path['slave_build'].join('tmp', 'uninteresting_hashes.txt') |
315 ) + | 309 ) + |
316 api.platform('win', 64) | 310 api.platform('win', 64) |
317 ) | 311 ) |
OLD | NEW |