OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 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 'variables': { | 6 'variables': { |
7 'chromium_code': 1, | 7 'chromium_code': 1, |
8 }, | 8 }, |
9 | 9 |
10 'targets': [ | 10 'targets': [ |
11 { | 11 { |
12 'target_name': 'gl', | 12 'target_name': 'gl', |
13 'type': '<(component)', | 13 'type': '<(component)', |
14 'product_name': 'gl_wrapper', # Avoid colliding with OS X's libGL.dylib | 14 'product_name': 'gl_wrapper', # Avoid colliding with OS X's libGL.dylib |
15 'dependencies': [ | 15 'dependencies': [ |
16 '<(DEPTH)/base/base.gyp:base', | 16 '<(DEPTH)/base/base.gyp:base', |
17 '<(DEPTH)/base/third_party/dynamic_annotations/dynamic_annotations.gyp:d
ynamic_annotations', | 17 '<(DEPTH)/base/third_party/dynamic_annotations/dynamic_annotations.gyp:d
ynamic_annotations', |
18 '<(DEPTH)/gpu/command_buffer/command_buffer.gyp:gles2_utils', | 18 '<(DEPTH)/gpu/command_buffer/command_buffer.gyp:gles2_utils', |
19 '<(DEPTH)/skia/skia.gyp:skia', | 19 '<(DEPTH)/skia/skia.gyp:skia', |
20 '<(DEPTH)/third_party/mesa/mesa.gyp:mesa_headers', | 20 '<(DEPTH)/third_party/mesa/mesa.gyp:mesa_headers', |
21 '<(DEPTH)/ui/gfx/gfx.gyp:gfx', | 21 '<(DEPTH)/ui/gfx/gfx.gyp:gfx', |
22 '<(DEPTH)/ui/gfx/gfx.gyp:gfx_geometry', | 22 '<(DEPTH)/ui/gfx/gfx.gyp:gfx_geometry', |
23 ], | 23 ], |
24 'variables': { | |
25 'gl_binding_output_dir': '<(SHARED_INTERMEDIATE_DIR)/ui/gl', | |
26 }, | |
27 'defines': [ | 24 'defines': [ |
28 'GL_IMPLEMENTATION', | 25 'GL_IMPLEMENTATION', |
29 ], | 26 ], |
30 'include_dirs': [ | 27 'include_dirs': [ |
31 '<(DEPTH)/third_party/swiftshader/include', | 28 '<(DEPTH)/third_party/swiftshader/include', |
32 '<(DEPTH)/third_party/khronos', | 29 '<(DEPTH)/third_party/khronos', |
33 '<(gl_binding_output_dir)', | |
34 ], | 30 ], |
35 'direct_dependent_settings': { | |
36 'include_dirs': [ | |
37 '<(gl_binding_output_dir)', | |
38 ], | |
39 }, | |
40 'export_dependent_settings': [ | 31 'export_dependent_settings': [ |
41 '<(DEPTH)/third_party/mesa/mesa.gyp:mesa_headers', | 32 '<(DEPTH)/third_party/mesa/mesa.gyp:mesa_headers', |
42 ], | 33 ], |
43 'sources': [ | 34 'sources': [ |
44 'android/gl_jni_registrar.cc', | 35 'android/gl_jni_registrar.cc', |
45 'android/gl_jni_registrar.h', | 36 'android/gl_jni_registrar.h', |
46 'android/scoped_java_surface.cc', | 37 'android/scoped_java_surface.cc', |
47 'android/scoped_java_surface.h', | 38 'android/scoped_java_surface.h', |
48 'android/surface_texture.cc', | 39 'android/surface_texture.cc', |
49 'android/surface_texture.h', | 40 'android/surface_texture.h', |
50 'android/surface_texture_listener.cc', | 41 'android/surface_texture_listener.cc', |
51 'android/surface_texture_listener.h', | 42 'android/surface_texture_listener.h', |
52 'gl_bindings.h', | 43 'gl_bindings.h', |
| 44 'gl_bindings_autogen_gl.cc', |
| 45 'gl_bindings_autogen_gl.h', |
| 46 'gl_bindings_autogen_osmesa.cc', |
| 47 'gl_bindings_autogen_osmesa.h', |
53 'gl_bindings_skia_in_process.cc', | 48 'gl_bindings_skia_in_process.cc', |
54 'gl_bindings_skia_in_process.h', | 49 'gl_bindings_skia_in_process.h', |
55 'gl_context.cc', | 50 'gl_context.cc', |
56 'gl_context.h', | 51 'gl_context.h', |
57 'gl_context_android.cc', | 52 'gl_context_android.cc', |
58 'gl_context_mac.mm', | 53 'gl_context_mac.mm', |
| 54 'gl_context_ozone.cc', |
59 'gl_context_osmesa.cc', | 55 'gl_context_osmesa.cc', |
60 'gl_context_osmesa.h', | 56 'gl_context_osmesa.h', |
61 'gl_context_stub.cc', | 57 'gl_context_stub.cc', |
62 'gl_context_stub.h', | 58 'gl_context_stub.h', |
63 'gl_context_stub_with_extensions.cc', | 59 'gl_context_stub_with_extensions.cc', |
64 'gl_context_stub_with_extensions.h', | 60 'gl_context_stub_with_extensions.h', |
65 'gl_context_win.cc', | 61 'gl_context_win.cc', |
66 'gl_context_x11.cc', | 62 'gl_context_x11.cc', |
| 63 'gl_enums.cc', |
| 64 'gl_enums.h', |
| 65 'gl_enums_implementation_autogen.h', |
67 'gl_export.h', | 66 'gl_export.h', |
68 'gl_fence.cc', | 67 'gl_fence.cc', |
69 'gl_fence.h', | 68 'gl_fence.h', |
70 'gl_fence_arb.cc', | 69 'gl_fence_arb.cc', |
71 'gl_fence_arb.h', | 70 'gl_fence_arb.h', |
72 'gl_fence_nv.cc', | 71 'gl_fence_nv.cc', |
73 'gl_fence_nv.h', | 72 'gl_fence_nv.h', |
74 'gl_gl_api_implementation.cc', | 73 'gl_gl_api_implementation.cc', |
75 'gl_gl_api_implementation.h', | 74 'gl_gl_api_implementation.h', |
76 'gl_image.h', | 75 'gl_image.h', |
77 'gl_image_memory.cc', | 76 'gl_image_memory.cc', |
78 'gl_image_memory.h', | 77 'gl_image_memory.h', |
79 'gl_image_ref_counted_memory.cc', | 78 'gl_image_ref_counted_memory.cc', |
80 'gl_image_ref_counted_memory.h', | 79 'gl_image_ref_counted_memory.h', |
81 'gl_image_shared_memory.cc', | 80 'gl_image_shared_memory.cc', |
82 'gl_image_shared_memory.h', | 81 'gl_image_shared_memory.h', |
83 'gl_image_stub.cc', | 82 'gl_image_stub.cc', |
84 'gl_image_stub.h', | 83 'gl_image_stub.h', |
85 'gl_implementation.cc', | 84 'gl_implementation.cc', |
86 'gl_implementation.h', | 85 'gl_implementation.h', |
87 'gl_implementation_android.cc', | 86 'gl_implementation_android.cc', |
| 87 'gl_implementation_ozone.cc', |
88 'gl_implementation_mac.cc', | 88 'gl_implementation_mac.cc', |
89 'gl_implementation_win.cc', | 89 'gl_implementation_win.cc', |
90 'gl_implementation_x11.cc', | 90 'gl_implementation_x11.cc', |
91 'gl_osmesa_api_implementation.cc', | 91 'gl_osmesa_api_implementation.cc', |
92 'gl_osmesa_api_implementation.h', | 92 'gl_osmesa_api_implementation.h', |
93 'gl_share_group.cc', | 93 'gl_share_group.cc', |
94 'gl_share_group.h', | 94 'gl_share_group.h', |
95 'gl_state_restorer.cc', | 95 'gl_state_restorer.cc', |
96 'gl_state_restorer.h', | 96 'gl_state_restorer.h', |
97 'gl_surface.cc', | 97 'gl_surface.cc', |
98 'gl_surface.h', | 98 'gl_surface.h', |
99 'gl_surface_android.cc', | 99 'gl_surface_android.cc', |
100 'gl_surface_mac.cc', | 100 'gl_surface_mac.cc', |
101 'gl_surface_stub.cc', | 101 'gl_surface_stub.cc', |
102 'gl_surface_stub.h', | 102 'gl_surface_stub.h', |
103 'gl_surface_win.cc', | 103 'gl_surface_win.cc', |
104 'gl_surface_x11.cc', | 104 'gl_surface_x11.cc', |
105 'gl_surface_osmesa.cc', | 105 'gl_surface_osmesa.cc', |
106 'gl_surface_osmesa.h', | 106 'gl_surface_osmesa.h', |
| 107 'gl_surface_ozone.cc', |
107 'gl_switches.cc', | 108 'gl_switches.cc', |
108 'gl_switches.h', | 109 'gl_switches.h', |
109 'gl_version_info.cc', | 110 'gl_version_info.cc', |
110 'gl_version_info.h', | 111 'gl_version_info.h', |
111 'gpu_switching_manager.cc', | 112 'gpu_switching_manager.cc', |
112 'gpu_switching_manager.h', | 113 'gpu_switching_manager.h', |
113 'gpu_switching_observer.h', | 114 'gpu_switching_observer.h', |
114 'scoped_binders.cc', | 115 'scoped_binders.cc', |
115 'scoped_binders.h', | 116 'scoped_binders.h', |
116 'scoped_make_current.cc', | 117 'scoped_make_current.cc', |
117 'scoped_make_current.h', | 118 'scoped_make_current.h', |
118 'sync_control_vsync_provider.cc', | 119 'sync_control_vsync_provider.cc', |
119 'sync_control_vsync_provider.h', | 120 'sync_control_vsync_provider.h', |
120 '<(gl_binding_output_dir)/gl_bindings_autogen_gl.cc', | |
121 '<(gl_binding_output_dir)/gl_bindings_autogen_gl.h', | |
122 '<(gl_binding_output_dir)/gl_bindings_autogen_osmesa.cc', | |
123 '<(gl_binding_output_dir)/gl_bindings_autogen_osmesa.h', | |
124 ], | |
125 # hard_dependency is necessary for this target because it has actions | |
126 # that generate header files included by dependent targets. The header | |
127 # files must be generated before the dependents are compiled. The usual | |
128 # semantics are to allow the two targets to build concurrently. | |
129 'hard_dependency': 1, | |
130 'actions': [ | |
131 { | |
132 'action_name': 'generate_gl_bindings', | |
133 'variables': { | |
134 'generator_path': 'generate_bindings.py', | |
135 # Prefer khronos EGL/GLES headers by listing that path first. | |
136 'header_paths': '../../third_party/khronos:../../third_party/mesa/sr
c/include:.:../../gpu', | |
137 }, | |
138 'inputs': [ | |
139 '<(generator_path)', | |
140 '<!@(python <(generator_path) --header-paths=<(header_paths) --input
s)', | |
141 ], | |
142 'outputs': [ | |
143 '<(gl_binding_output_dir)/gl_bindings_autogen_egl.cc', | |
144 '<(gl_binding_output_dir)/gl_bindings_autogen_egl.h', | |
145 '<(gl_binding_output_dir)/gl_bindings_api_autogen_egl.h', | |
146 '<(gl_binding_output_dir)/gl_bindings_autogen_gl.cc', | |
147 '<(gl_binding_output_dir)/gl_bindings_autogen_gl.h', | |
148 '<(gl_binding_output_dir)/gl_bindings_api_autogen_gl.h', | |
149 '<(gl_binding_output_dir)/gl_bindings_autogen_glx.cc', | |
150 '<(gl_binding_output_dir)/gl_bindings_autogen_glx.h', | |
151 '<(gl_binding_output_dir)/gl_bindings_api_autogen_glx.h', | |
152 '<(gl_binding_output_dir)/gl_bindings_autogen_mock.cc', | |
153 '<(gl_binding_output_dir)/gl_bindings_autogen_mock.h', | |
154 '<(gl_binding_output_dir)/gl_bindings_autogen_osmesa.cc', | |
155 '<(gl_binding_output_dir)/gl_bindings_autogen_osmesa.h', | |
156 '<(gl_binding_output_dir)/gl_bindings_api_autogen_osmesa.h', | |
157 '<(gl_binding_output_dir)/gl_bindings_autogen_wgl.cc', | |
158 '<(gl_binding_output_dir)/gl_bindings_autogen_wgl.h', | |
159 '<(gl_binding_output_dir)/gl_bindings_api_autogen_wgl.h', | |
160 '<(gl_binding_output_dir)/gl_mock_autogen_gl.h', | |
161 ], | |
162 'action': [ | |
163 'python', | |
164 '<(generator_path)', | |
165 '--header-paths=<(header_paths)', | |
166 '<(gl_binding_output_dir)', | |
167 ], | |
168 }, | |
169 ], | 121 ], |
170 'conditions': [ | 122 'conditions': [ |
171 ['OS in ("win", "android", "linux")', { | 123 ['OS in ("win", "android", "linux")', { |
172 'sources': [ | 124 'sources': [ |
173 'egl_util.cc', | 125 'egl_util.cc', |
174 'egl_util.h', | 126 'egl_util.h', |
| 127 'gl_bindings_autogen_egl.cc', |
| 128 'gl_bindings_autogen_egl.h', |
175 'gl_context_egl.cc', | 129 'gl_context_egl.cc', |
176 'gl_context_egl.h', | 130 'gl_context_egl.h', |
177 'gl_fence_egl.cc', | 131 'gl_fence_egl.cc', |
178 'gl_fence_egl.h', | 132 'gl_fence_egl.h', |
179 'gl_image_egl.cc', | 133 'gl_image_egl.cc', |
180 'gl_image_egl.h', | 134 'gl_image_egl.h', |
181 'gl_surface_egl.cc', | 135 'gl_surface_egl.cc', |
182 'gl_surface_egl.h', | 136 'gl_surface_egl.h', |
183 'gl_egl_api_implementation.cc', | 137 'gl_egl_api_implementation.cc', |
184 'gl_egl_api_implementation.h', | 138 'gl_egl_api_implementation.h', |
185 '<(gl_binding_output_dir)/gl_bindings_autogen_egl.cc', | |
186 '<(gl_binding_output_dir)/gl_bindings_autogen_egl.h', | |
187 ], | 139 ], |
188 'include_dirs': [ | 140 'include_dirs': [ |
189 '<(DEPTH)/third_party/khronos', | 141 '<(DEPTH)/third_party/khronos', |
190 ], | 142 ], |
191 }], | 143 }], |
192 ['OS in ("android", "linux")', { | 144 ['OS in ("android", "linux")', { |
193 'sources': [ | 145 'sources': [ |
194 'gl_implementation_osmesa.cc', | 146 'gl_implementation_osmesa.cc', |
195 'gl_implementation_osmesa.h', | 147 'gl_implementation_osmesa.h', |
196 ], | 148 ], |
197 }], | 149 }], |
198 ['OS=="linux"', { | 150 ['OS=="linux"', { |
199 'sources': [ | 151 'sources': [ |
200 'gl_image_linux_dma_buffer.cc', | 152 'gl_image_linux_dma_buffer.cc', |
201 'gl_image_linux_dma_buffer.h', | 153 'gl_image_linux_dma_buffer.h', |
202 ], | 154 ], |
203 }], | 155 }], |
204 ['use_x11 == 1', { | 156 ['use_x11 == 1', { |
205 'sources': [ | 157 'sources': [ |
| 158 'gl_bindings_autogen_glx.cc', |
| 159 'gl_bindings_autogen_glx.h', |
206 'gl_context_glx.cc', | 160 'gl_context_glx.cc', |
207 'gl_context_glx.h', | 161 'gl_context_glx.h', |
208 'gl_glx_api_implementation.cc', | 162 'gl_glx_api_implementation.cc', |
209 'gl_glx_api_implementation.h', | 163 'gl_glx_api_implementation.h', |
210 'gl_image_glx.cc', | 164 'gl_image_glx.cc', |
211 'gl_image_glx.h', | 165 'gl_image_glx.h', |
212 'gl_surface_glx.cc', | 166 'gl_surface_glx.cc', |
213 'gl_surface_glx.h', | 167 'gl_surface_glx.h', |
214 'gl_egl_api_implementation.cc', | 168 'gl_egl_api_implementation.cc', |
215 'gl_egl_api_implementation.h', | 169 'gl_egl_api_implementation.h', |
216 '<(gl_binding_output_dir)/gl_bindings_autogen_glx.cc', | |
217 '<(gl_binding_output_dir)/gl_bindings_autogen_glx.h', | |
218 ], | 170 ], |
219 'all_dependent_settings': { | 171 'all_dependent_settings': { |
220 'defines': [ | 172 'defines': [ |
221 'GL_GLEXT_PROTOTYPES', | 173 'GL_GLEXT_PROTOTYPES', |
222 ], | 174 ], |
223 }, | 175 }, |
224 'dependencies': [ | 176 'dependencies': [ |
225 '<(DEPTH)/build/linux/system.gyp:x11', | 177 '<(DEPTH)/build/linux/system.gyp:x11', |
226 '<(DEPTH)/build/linux/system.gyp:xcomposite', | 178 '<(DEPTH)/build/linux/system.gyp:xcomposite', |
227 '<(DEPTH)/build/linux/system.gyp:xext', | 179 '<(DEPTH)/build/linux/system.gyp:xext', |
228 '<(DEPTH)/ui/events/platform/events_platform.gyp:events_platform', | 180 '<(DEPTH)/ui/events/platform/events_platform.gyp:events_platform', |
229 '<(DEPTH)/ui/gfx/x/gfx_x11.gyp:gfx_x11', | 181 '<(DEPTH)/ui/gfx/x/gfx_x11.gyp:gfx_x11', |
230 ], | 182 ], |
231 }], | 183 }], |
232 ['OS=="win"', { | 184 ['OS=="win"', { |
233 'sources': [ | 185 'sources': [ |
| 186 'gl_bindings_autogen_wgl.cc', |
| 187 'gl_bindings_autogen_wgl.h', |
234 'gl_context_wgl.cc', | 188 'gl_context_wgl.cc', |
235 'gl_context_wgl.h', | 189 'gl_context_wgl.h', |
236 'gl_egl_api_implementation.cc', | 190 'gl_egl_api_implementation.cc', |
237 'gl_egl_api_implementation.h', | 191 'gl_egl_api_implementation.h', |
238 'gl_surface_wgl.cc', | 192 'gl_surface_wgl.cc', |
239 'gl_surface_wgl.h', | 193 'gl_surface_wgl.h', |
240 'gl_wgl_api_implementation.cc', | 194 'gl_wgl_api_implementation.cc', |
241 'gl_wgl_api_implementation.h', | 195 'gl_wgl_api_implementation.h', |
242 '<(gl_binding_output_dir)/gl_bindings_autogen_wgl.cc', | |
243 '<(gl_binding_output_dir)/gl_bindings_autogen_wgl.h', | |
244 ], | 196 ], |
245 'msvs_settings': { | 197 'msvs_settings': { |
246 'VCLinkerTool': { | 198 'VCLinkerTool': { |
247 'DelayLoadDLLs': [ | 199 'DelayLoadDLLs': [ |
248 'dwmapi.dll', | 200 'dwmapi.dll', |
249 ], | 201 ], |
250 'AdditionalDependencies': [ | 202 'AdditionalDependencies': [ |
251 'dwmapi.lib', | 203 'dwmapi.lib', |
252 ], | 204 ], |
253 }, | 205 }, |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
293 'system_monitor_posix.cc', | 245 'system_monitor_posix.cc', |
294 ], | 246 ], |
295 'defines': [ | 247 'defines': [ |
296 'GL_GLEXT_PROTOTYPES', | 248 'GL_GLEXT_PROTOTYPES', |
297 'EGL_EGLEXT_PROTOTYPES', | 249 'EGL_EGLEXT_PROTOTYPES', |
298 ], | 250 ], |
299 }], | 251 }], |
300 ['OS!="android"', { | 252 ['OS!="android"', { |
301 'sources/': [ ['exclude', '^android/'] ], | 253 'sources/': [ ['exclude', '^android/'] ], |
302 }], | 254 }], |
| 255 ['use_ozone==1', { |
| 256 'dependencies': [ |
| 257 '../ozone/ozone.gyp:ozone', |
| 258 '../ozone/ozone.gyp:ozone_base', |
| 259 ], |
| 260 }], |
303 ['OS=="android" and android_webview_build==0', { | 261 ['OS=="android" and android_webview_build==0', { |
304 'dependencies': [ | 262 'dependencies': [ |
305 '../android/ui_android.gyp:ui_java', | 263 '../android/ui_android.gyp:ui_java', |
306 ], | 264 ], |
307 }], | 265 }], |
308 ], | 266 ], |
309 }, | 267 }, |
310 { | 268 { |
311 'target_name': 'gl_unittest_utils', | 269 'target_name': 'gl_unittest_utils', |
312 'type': 'static_library', | 270 'type': 'static_library', |
313 'variables': { | |
314 'gl_binding_output_dir': '<(SHARED_INTERMEDIATE_DIR)/ui/gl', | |
315 }, | |
316 'dependencies': [ | 271 'dependencies': [ |
317 '../../testing/gmock.gyp:gmock', | 272 '../../testing/gmock.gyp:gmock', |
318 '../../third_party/khronos/khronos.gyp:khronos_headers', | 273 '../../third_party/khronos/khronos.gyp:khronos_headers', |
319 'gl', | 274 'gl', |
320 ], | 275 ], |
321 'include_dirs': [ | 276 'include_dirs': [ |
322 '<(gl_binding_output_dir)', | |
323 '../..', | 277 '../..', |
324 ], | 278 ], |
325 'direct_dependent_settings': { | |
326 'include_dirs': [ | |
327 '<(gl_binding_output_dir)', | |
328 ], | |
329 }, | |
330 'sources': [ | 279 'sources': [ |
| 280 'gl_bindings_autogen_mock.cc', |
| 281 'gl_bindings_autogen_mock.h', |
| 282 'gl_mock_autogen_gl.h', |
331 'gl_mock.h', | 283 'gl_mock.h', |
332 'gl_mock.cc', | 284 'gl_mock.cc', |
333 '<(gl_binding_output_dir)/gl_bindings_autogen_mock.cc', | |
334 '<(gl_binding_output_dir)/gl_bindings_autogen_mock.h', | |
335 '<(gl_binding_output_dir)/gl_mock_autogen_gl.h', | |
336 ], | 285 ], |
337 }, | 286 }, |
338 ], | 287 ], |
339 'conditions': [ | 288 'conditions': [ |
340 ['OS=="android"' , { | 289 ['OS=="android"' , { |
341 'targets': [ | 290 'targets': [ |
342 { | 291 { |
343 'target_name': 'surface_jni_headers', | 292 'target_name': 'surface_jni_headers', |
344 'type': 'none', | 293 'type': 'none', |
345 'variables': { | 294 'variables': { |
(...skipping 14 matching lines...) Expand all Loading... |
360 ], | 309 ], |
361 'variables': { | 310 'variables': { |
362 'jni_gen_package': 'ui/gl', | 311 'jni_gen_package': 'ui/gl', |
363 }, | 312 }, |
364 'includes': [ '../../build/jni_generator.gypi' ], | 313 'includes': [ '../../build/jni_generator.gypi' ], |
365 }, | 314 }, |
366 ], | 315 ], |
367 }], | 316 }], |
368 ], | 317 ], |
369 } | 318 } |
OLD | NEW |