OLD | NEW |
| (Empty) |
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 | |
3 # found in the LICENSE file. | |
4 | |
5 { | |
6 'variables': { | |
7 'chromium_code': 1, | |
8 }, | |
9 | |
10 'targets': [ | |
11 { | |
12 'target_name': 'gl', | |
13 'type': '<(component)', | |
14 'product_name': 'gl_wrapper', # Avoid colliding with OS X's libGL.dylib | |
15 'dependencies': [ | |
16 '<(DEPTH)/base/base.gyp:base', | |
17 '<(DEPTH)/base/third_party/dynamic_annotations/dynamic_annotations.gyp:d
ynamic_annotations', | |
18 '<(DEPTH)/gpu/command_buffer/command_buffer.gyp:gles2_utils', | |
19 '<(DEPTH)/skia/skia.gyp:skia', | |
20 '<(DEPTH)/ui/ui.gyp:ui', | |
21 ], | |
22 'variables': { | |
23 'gl_binding_output_dir': '<(SHARED_INTERMEDIATE_DIR)/ui/gfx/gl', | |
24 }, | |
25 'defines': [ | |
26 'GL_IMPLEMENTATION', | |
27 ], | |
28 'include_dirs': [ | |
29 '<(DEPTH)/third_party/swiftshader/include', | |
30 '<(DEPTH)/third_party/mesa/MesaLib/include', | |
31 '<(gl_binding_output_dir)', | |
32 ], | |
33 'direct_dependent_settings': { | |
34 'include_dirs': [ | |
35 '<(DEPTH)/third_party/mesa/MesaLib/include', | |
36 '<(gl_binding_output_dir)', | |
37 ], | |
38 }, | |
39 'sources': [ | |
40 'gl_bindings.h', | |
41 'gl_bindings_skia_in_process.cc', | |
42 'gl_bindings_skia_in_process.h', | |
43 'gl_context.cc', | |
44 'gl_context.h', | |
45 'gl_context_android.cc', | |
46 'gl_context_linux.cc', | |
47 'gl_context_mac.mm', | |
48 'gl_context_osmesa.cc', | |
49 'gl_context_osmesa.h', | |
50 'gl_context_stub.cc', | |
51 'gl_context_stub.h', | |
52 'gl_context_win.cc', | |
53 'gl_export.h', | |
54 'gl_fence.cc', | |
55 'gl_fence.h', | |
56 'gl_implementation.cc', | |
57 'gl_implementation.h', | |
58 'gl_implementation_android.cc', | |
59 'gl_implementation_linux.cc', | |
60 'gl_implementation_mac.cc', | |
61 'gl_implementation_win.cc', | |
62 'gl_interface.cc', | |
63 'gl_interface.h', | |
64 'gl_share_group.cc', | |
65 'gl_share_group.h', | |
66 'gl_surface.cc', | |
67 'gl_surface.h', | |
68 'gl_surface_android.cc', | |
69 'gl_surface_android.h', | |
70 'gl_surface_linux.cc', | |
71 'gl_surface_mac.cc', | |
72 'gl_surface_stub.cc', | |
73 'gl_surface_stub.h', | |
74 'gl_surface_win.cc', | |
75 'gl_surface_osmesa.cc', | |
76 'gl_surface_osmesa.h', | |
77 'gl_switches.cc', | |
78 'gl_switches.h', | |
79 'scoped_make_current.cc', | |
80 'scoped_make_current.h', | |
81 '<(gl_binding_output_dir)/gl_bindings_autogen_gl.cc', | |
82 '<(gl_binding_output_dir)/gl_bindings_autogen_gl.h', | |
83 '<(gl_binding_output_dir)/gl_bindings_autogen_mock.cc', | |
84 '<(gl_binding_output_dir)/gl_bindings_autogen_osmesa.cc', | |
85 '<(gl_binding_output_dir)/gl_bindings_autogen_osmesa.h', | |
86 ], | |
87 # hard_dependency is necessary for this target because it has actions | |
88 # that generate header files included by dependent targets. The header | |
89 # files must be generated before the dependents are compiled. The usual | |
90 # semantics are to allow the two targets to build concurrently. | |
91 'hard_dependency': 1, | |
92 'actions': [ | |
93 { | |
94 'action_name': 'generate_gl_bindings', | |
95 'inputs': [ | |
96 'generate_bindings.py', | |
97 '<(DEPTH)/third_party/khronos/GLES2/gl2ext.h', | |
98 '<(DEPTH)/third_party/khronos/EGL/eglext.h', | |
99 '<(DEPTH)/third_party/mesa/MesaLib/include/GL/glext.h', | |
100 '<(DEPTH)/third_party/mesa/MesaLib/include/GL/glxext.h', | |
101 '<(DEPTH)/third_party/mesa/MesaLib/include/GL/wglext.h', | |
102 ], | |
103 'outputs': [ | |
104 '<(gl_binding_output_dir)/gl_bindings_autogen_egl.cc', | |
105 '<(gl_binding_output_dir)/gl_bindings_autogen_egl.h', | |
106 '<(gl_binding_output_dir)/gl_bindings_autogen_gl.cc', | |
107 '<(gl_binding_output_dir)/gl_bindings_autogen_gl.h', | |
108 '<(gl_binding_output_dir)/gl_bindings_autogen_glx.cc', | |
109 '<(gl_binding_output_dir)/gl_bindings_autogen_glx.h', | |
110 '<(gl_binding_output_dir)/gl_bindings_autogen_mock.cc', | |
111 '<(gl_binding_output_dir)/gl_bindings_autogen_osmesa.cc', | |
112 '<(gl_binding_output_dir)/gl_bindings_autogen_osmesa.h', | |
113 '<(gl_binding_output_dir)/gl_bindings_autogen_wgl.cc', | |
114 '<(gl_binding_output_dir)/gl_bindings_autogen_wgl.h', | |
115 ], | |
116 'action': [ | |
117 'python', | |
118 'generate_bindings.py', | |
119 '<(gl_binding_output_dir)', | |
120 ], | |
121 }, | |
122 ], | |
123 'conditions': [ | |
124 ['OS != "mac"', { | |
125 'sources': [ | |
126 'egl_util.cc', | |
127 'egl_util.h', | |
128 'gl_context_egl.cc', | |
129 'gl_context_egl.h', | |
130 'gl_surface_egl.cc', | |
131 'gl_surface_egl.h', | |
132 '<(gl_binding_output_dir)/gl_bindings_autogen_egl.cc', | |
133 '<(gl_binding_output_dir)/gl_bindings_autogen_egl.h', | |
134 ], | |
135 'include_dirs': [ | |
136 '<(DEPTH)/third_party/angle/include', | |
137 ], | |
138 }], | |
139 ['use_x11 == 1', { | |
140 'sources': [ | |
141 'gl_context_glx.cc', | |
142 'gl_context_glx.h', | |
143 'gl_surface_glx.cc', | |
144 'gl_surface_glx.h', | |
145 '<(gl_binding_output_dir)/gl_bindings_autogen_glx.cc', | |
146 '<(gl_binding_output_dir)/gl_bindings_autogen_glx.h', | |
147 ], | |
148 'all_dependent_settings': { | |
149 'defines': [ | |
150 'GL_GLEXT_PROTOTYPES', | |
151 ], | |
152 }, | |
153 }], | |
154 ['OS=="win"', { | |
155 'sources': [ | |
156 'gl_context_wgl.cc', | |
157 'gl_context_wgl.h', | |
158 'gl_surface_wgl.cc', | |
159 'gl_surface_wgl.h', | |
160 '<(gl_binding_output_dir)/gl_bindings_autogen_wgl.cc', | |
161 '<(gl_binding_output_dir)/gl_bindings_autogen_wgl.h', | |
162 ], | |
163 'include_dirs': [ | |
164 '$(DXSDK_DIR)/include', | |
165 ], | |
166 }], | |
167 ['OS=="mac"', { | |
168 'sources': [ | |
169 'gl_context_cgl.cc', | |
170 'gl_context_cgl.h', | |
171 'gl_surface_cgl.cc', | |
172 'gl_surface_cgl.h', | |
173 ], | |
174 'link_settings': { | |
175 'libraries': [ | |
176 '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework', | |
177 ], | |
178 }, | |
179 }], | |
180 ['OS=="mac" and use_aura == 1', { | |
181 'sources': [ | |
182 'gl_context_nsview.mm', | |
183 'gl_context_nsview.h', | |
184 'gl_surface_nsview.mm', | |
185 'gl_surface_nsview.h', | |
186 ], | |
187 }], | |
188 ['OS=="android"', { | |
189 'sources': [ | |
190 'android_native_window.cc', | |
191 'android_native_window.h', | |
192 ], | |
193 'sources!': [ | |
194 '<(gl_binding_output_dir)/gl_bindings_autogen_osmesa.cc', | |
195 '<(gl_binding_output_dir)/gl_bindings_autogen_osmesa.h', | |
196 'system_monitor_posix.cc', | |
197 ], | |
198 'defines': [ | |
199 'GL_GLEXT_PROTOTYPES', | |
200 'EGL_EGLEXT_PROTOTYPES', | |
201 ], | |
202 }], | |
203 ], | |
204 }, | |
205 ], | |
206 } | |
OLD | NEW |