Flush after LTHI::ReclaimResources when hidden.
[chromium-blink-merge.git] / mojo / mojo_examples.gypi
blob15b4f6196fa962f107e544c530d8185ee1049877
1 # Copyright 2013 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.
6   'targets': [
7     {
8       'target_name': 'mojo_sample_app',
9       'type': 'shared_library',
10       'dependencies': [
11         # TODO(darin): we should not be linking against these libraries!
12         '../ui/gfx/gfx.gyp:gfx',
13         '../ui/gfx/gfx.gyp:gfx_geometry',
14         '../ui/gl/gl.gyp:gl',
15         'mojo_bindings',
16         'mojo_environment_standalone',
17         'mojo_gles2',
18         'mojo_native_viewport_bindings',
19         'mojo_shell_client',
20         'mojo_system',
21         'mojo_utility',
22       ],
23       'sources': [
24         'examples/sample_app/gles2_client_impl.cc',
25         'examples/sample_app/gles2_client_impl.cc',
26         'examples/sample_app/sample_app.cc',
27         'examples/sample_app/spinning_cube.cc',
28         'examples/sample_app/spinning_cube.h',
29       ],
30     },
31     {
32       'target_name': 'package_mojo_sample_app',
33       'variables': {
34         'app_name': 'mojo_sample_app',
35       },
36       'includes': [ 'build/package_app.gypi' ],
37     },
38     {
39       'target_name': 'mojo_compositor_support',
40       'type': 'static_library',
41       'dependencies': [
42         '../base/base.gyp:base',
43         '../cc/cc.gyp:cc',
44         '../skia/skia.gyp:skia',
45         '../gpu/gpu.gyp:gles2_implementation',
46         'mojo_gles2',
47         'mojo_system',
48       ],
49       'sources': [
50         'examples/compositor_app/mojo_context_provider.cc',
51         'examples/compositor_app/mojo_context_provider.h',
52       ],
53     },
54     {
55       'target_name': 'mojo_compositor_app',
56       'type': 'shared_library',
57       'dependencies': [
58         '../base/base.gyp:base',
59         '../cc/cc.gyp:cc',
60         '../ui/gfx/gfx.gyp:gfx',
61         '../ui/gfx/gfx.gyp:gfx_geometry',
62         'mojo_common_lib',
63         'mojo_compositor_support',
64         'mojo_environment_chromium',
65         'mojo_gles2',
66         'mojo_native_viewport_bindings',
67         'mojo_shell_client',
68         'mojo_system',
69       ],
70       'sources': [
71         'examples/compositor_app/compositor_app.cc',
72         'examples/compositor_app/compositor_host.cc',
73         'examples/compositor_app/compositor_host.h',
74       ],
75     },
76     {
77       'target_name': 'package_mojo_compositor_app',
78       'variables': {
79         'app_name': 'mojo_compositor_app',
80       },
81       'includes': [ 'build/package_app.gypi' ],
82     },
83     {
84       'target_name': 'mojo_pepper_container_app',
85       'type': 'shared_library',
86       'dependencies': [
87         '../base/base.gyp:base',
88         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
89         '../gpu/gpu.gyp:command_buffer_common',
90         '../ppapi/ppapi.gyp:ppapi_c',
91         '../ppapi/ppapi_internal.gyp:ppapi_example_gles2_spinning_cube',
92         'mojo_common_lib',
93         'mojo_environment_chromium',
94         'mojo_gles2',
95         'mojo_native_viewport_bindings',
96         'mojo_shell_client',
97         'mojo_system',
98       ],
99       'defines': [
100         # We don't really want to export. We could change how
101         # ppapi_{shared,thunk}_export.h are defined to avoid this.
102         'PPAPI_SHARED_IMPLEMENTATION',
103         'PPAPI_THUNK_IMPLEMENTATION',
104       ],
105       'sources': [
106         # Source files from ppapi/.
107         # An alternative is to depend on
108         # '../ppapi/ppapi_internal.gyp:ppapi_shared', but that target includes
109         # a lot of things that we don't need.
110         # TODO(yzshen): Consider extracting these files into a separate target
111         # which mojo_pepper_container_app and ppapi_shared both depend on.
112         '../ppapi/shared_impl/api_id.h',
113         '../ppapi/shared_impl/callback_tracker.cc',
114         '../ppapi/shared_impl/callback_tracker.h',
115         '../ppapi/shared_impl/host_resource.cc',
116         '../ppapi/shared_impl/host_resource.h',
117         '../ppapi/shared_impl/id_assignment.cc',
118         '../ppapi/shared_impl/id_assignment.h',
119         '../ppapi/shared_impl/ppapi_globals.cc',
120         '../ppapi/shared_impl/ppapi_globals.h',
121         '../ppapi/shared_impl/ppapi_shared_export.h',
122         '../ppapi/shared_impl/ppb_message_loop_shared.cc',
123         '../ppapi/shared_impl/ppb_message_loop_shared.h',
124         '../ppapi/shared_impl/ppb_view_shared.cc',
125         '../ppapi/shared_impl/ppb_view_shared.h',
126         '../ppapi/shared_impl/proxy_lock.cc',
127         '../ppapi/shared_impl/proxy_lock.h',
128         '../ppapi/shared_impl/resource.cc',
129         '../ppapi/shared_impl/resource.h',
130         '../ppapi/shared_impl/resource_tracker.cc',
131         '../ppapi/shared_impl/resource_tracker.h',
132         '../ppapi/shared_impl/scoped_pp_resource.cc',
133         '../ppapi/shared_impl/scoped_pp_resource.h',
134         '../ppapi/shared_impl/singleton_resource_id.h',
135         '../ppapi/shared_impl/tracked_callback.cc',
136         '../ppapi/shared_impl/tracked_callback.h',
137         '../ppapi/thunk/enter.cc',
138         '../ppapi/thunk/enter.h',
139         '../ppapi/thunk/interfaces_ppb_private.h',
140         '../ppapi/thunk/interfaces_ppb_private_flash.h',
141         '../ppapi/thunk/interfaces_ppb_private_no_permissions.h',
142         '../ppapi/thunk/interfaces_ppb_public_dev.h',
143         '../ppapi/thunk/interfaces_ppb_public_dev_channel.h',
144         '../ppapi/thunk/interfaces_ppb_public_stable.h',
145         '../ppapi/thunk/interfaces_preamble.h',
146         '../ppapi/thunk/ppapi_thunk_export.h',
147         '../ppapi/thunk/ppb_graphics_3d_api.h',
148         '../ppapi/thunk/ppb_graphics_3d_thunk.cc',
149         '../ppapi/thunk/ppb_instance_api.h',
150         '../ppapi/thunk/ppb_instance_thunk.cc',
151         '../ppapi/thunk/ppb_message_loop_api.h',
152         '../ppapi/thunk/ppb_view_api.h',
153         '../ppapi/thunk/ppb_view_thunk.cc',
154         '../ppapi/thunk/resource_creation_api.h',
155         '../ppapi/thunk/thunk.h',
157         'examples/pepper_container_app/graphics_3d_resource.cc',
158         'examples/pepper_container_app/graphics_3d_resource.h',
159         'examples/pepper_container_app/interface_list.cc',
160         'examples/pepper_container_app/interface_list.h',
161         'examples/pepper_container_app/mojo_ppapi_globals.cc',
162         'examples/pepper_container_app/mojo_ppapi_globals.h',
163         'examples/pepper_container_app/pepper_container_app.cc',
164         'examples/pepper_container_app/plugin_instance.cc',
165         'examples/pepper_container_app/plugin_instance.h',
166         'examples/pepper_container_app/plugin_module.cc',
167         'examples/pepper_container_app/plugin_module.h',
168         'examples/pepper_container_app/ppb_core_thunk.cc',
169         'examples/pepper_container_app/ppb_opengles2_thunk.cc',
170         'examples/pepper_container_app/resource_creation_impl.cc',
171         'examples/pepper_container_app/resource_creation_impl.h',
172         'examples/pepper_container_app/thunk.h',
173         'examples/pepper_container_app/type_converters.h',
174       ],
175     },
176   ],
177   'conditions': [
178     ['use_aura==1', {
179       'targets': [
180         {
181           'target_name': 'mojo_aura_demo_support',
182           'type': 'static_library',
183           'dependencies': [
184             '../cc/cc.gyp:cc',
185             '../ui/aura/aura.gyp:aura',
186             '../ui/events/events.gyp:events',
187             '../ui/events/events.gyp:events_base',
188             '../ui/compositor/compositor.gyp:compositor',
189             '../ui/gl/gl.gyp:gl',
190             '../webkit/common/gpu/webkit_gpu.gyp:webkit_gpu',
191             'mojo_compositor_support',
192             'mojo_gles2',
193             'mojo_native_viewport_bindings',
194           ],
195           'sources': [
196             'examples/aura_demo/demo_context_factory.cc',
197             'examples/aura_demo/demo_context_factory.h',
198             'examples/aura_demo/demo_screen.cc',
199             'examples/aura_demo/demo_screen.h',
200             'examples/aura_demo/window_tree_host_mojo.cc',
201             'examples/aura_demo/window_tree_host_mojo.h',
202           ],
203         },
204         {
205           'target_name': 'mojo_aura_demo',
206           'type': 'shared_library',
207           'dependencies': [
208             '../base/base.gyp:base',
209             '../ui/aura/aura.gyp:aura',
210             '../ui/base/ui_base.gyp:ui_base',
211             '../ui/gfx/gfx.gyp:gfx',
212             '../ui/gfx/gfx.gyp:gfx_geometry',
213             'mojo_aura_demo_support',
214             'mojo_common_lib',
215             'mojo_environment_chromium',
216             'mojo_gles2',
217             'mojo_shell_client',
218             'mojo_system',
219           ],
220           'sources': [
221             'examples/aura_demo/aura_demo.cc',
222           ],
223         },
224         {
225           'target_name': 'package_mojo_aura_demo',
226           'variables': {
227             'app_name': 'mojo_aura_demo',
228           },
229           'includes': [ 'build/package_app.gypi' ],
230         },
231         {
232           'target_name': 'mojo_launcher_bindings',
233           'type': 'static_library',
234           'sources': [
235             'examples/launcher/launcher.mojom',
236           ],
237           'variables': {
238             'mojom_base_output_dir': 'mojo',
239           },
240           'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
241           'export_dependent_settings': [
242             'mojo_bindings',
243             'mojo_system',
244           ],
245           'dependencies': [
246             'mojo_bindings',
247             'mojo_system',
248           ],
249         },
250         {
251           'target_name': 'mojo_launcher',
252           'type': 'shared_library',
253           'dependencies': [
254             '../base/base.gyp:base',
255             '../base/base.gyp:base_i18n',
256             '../ui/aura/aura.gyp:aura',
257             '../ui/aura/aura.gyp:aura_test_support',
258             '../ui/base/ui_base.gyp:ui_base',
259             '../ui/gfx/gfx.gyp:gfx',
260             '../ui/gfx/gfx.gyp:gfx_geometry',
261             '../ui/views/views.gyp:views',
262             '../url/url.gyp:url_lib',
263             'mojo_aura_demo_support',
264             'mojo_common_lib',
265             'mojo_environment_chromium',
266             'mojo_gles2',
267             'mojo_launcher_bindings',
268             'mojo_shell_client',
269             'mojo_system',
270           ],
271           'sources': [
272             'examples/launcher/launcher.cc',
273           ],
274         },
275         {
276           'target_name': 'package_mojo_launcher',
277           'variables': {
278             'app_name': 'mojo_launcher',
279           },
280           'includes': [ 'build/package_app.gypi' ],
281         },
282         {
283           'target_name': 'mojo_view_manager_bindings',
284           'type': 'static_library',
285           'sources': [
286             'examples/view_manager/view_manager.mojom',
287           ],
288           'variables': {
289             'mojom_base_output_dir': 'mojo',
290           },
291           'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
292           'export_dependent_settings': [
293             'mojo_bindings',
294             'mojo_system',
295           ],
296           'dependencies': [
297             'mojo_bindings',
298             'mojo_system',
299           ],
300         },
301         {
302           'target_name': 'mojo_view_manager',
303           'type': 'shared_library',
304           'dependencies': [
305             '../base/base.gyp:base',
306             '../ui/gfx/gfx.gyp:gfx_geometry',
307             'mojo_common_lib',
308             'mojo_environment_chromium',
309             'mojo_launcher_bindings',
310             'mojo_native_viewport_bindings',
311             'mojo_shell_client',
312             'mojo_system',
313             'mojo_view_manager_bindings',
314           ],
315           'sources': [
316             'examples/view_manager/view_manager.cc',
317           ],
318         },
319         {
320           'target_name': 'package_mojo_view_manager',
321           'variables': {
322             'app_name': 'mojo_view_manager',
323           },
324           'includes': [ 'build/package_app.gypi' ],
325         },
326       ],
327     }],
328   ],