Add PepperTryCatch and V8ObjectVar classes
[chromium-blink-merge.git] / mojo / mojo_examples.gypi
blob287901e522fb9dcdf360ac9195d26be99ab316d1
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_echo_client',
9       'type': 'loadable_module',
10       'dependencies': [
11         'mojo_base.gyp:mojo_application_standalone',
12         'mojo_base.gyp:mojo_cpp_bindings',
13         'mojo_base.gyp:mojo_environment_standalone',
14         'mojo_base.gyp:mojo_utility',
15         'mojo_echo_service_bindings',
16         '<(mojo_system_for_loadable_module)',
17       ],
18       'sources': [
19         'examples/echo/echo_client.cc',
20         'public/cpp/application/lib/mojo_main_standalone.cc',
21       ],
22     },
23     {
24       'target_name': 'package_mojo_echo_client',
25       'variables': {
26         'app_name': 'mojo_echo_client',
27       },
28       'includes': [ 'build/package_app.gypi' ],
29     },
30     {
31       'target_name': 'mojo_echo_service_bindings',
32       'type': 'static_library',
33       'sources': [
34         'examples/echo/echo_service.mojom',
35       ],
36       'dependencies': [
37         'mojo_base.gyp:mojo_cpp_bindings',
38       ],
39       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
40       'export_dependent_settings': [
41         'mojo_base.gyp:mojo_cpp_bindings',
42       ],
43     },
44     {
45       'target_name': 'mojo_echo_service',
46       'type': 'loadable_module',
47       'dependencies': [
48         'mojo_base.gyp:mojo_application_standalone',
49         'mojo_base.gyp:mojo_cpp_bindings',
50         'mojo_base.gyp:mojo_environment_standalone',
51         'mojo_base.gyp:mojo_utility',
52         'mojo_echo_service_bindings',
53         '<(mojo_system_for_loadable_module)',
54       ],
55       'sources': [
56         'examples/echo/echo_service.cc',
57         'public/cpp/application/lib/mojo_main_standalone.cc',
58       ],
59     },
60     {
61       'target_name': 'package_mojo_echo_service',
62       'variables': {
63         'app_name': 'mojo_echo_service',
64       },
65       'includes': [ 'build/package_app.gypi' ],
66     },
67     {
68       'target_name': 'mojo_sample_app',
69       'type': 'loadable_module',
70       'dependencies': [
71         # TODO(darin): we should not be linking against these libraries!
72         '../ui/events/events.gyp:events',
73         '../ui/gfx/gfx.gyp:gfx_geometry',
74         'mojo_base.gyp:mojo_application_standalone',
75         'mojo_base.gyp:mojo_cpp_bindings',
76         'mojo_base.gyp:mojo_environment_standalone',
77         'mojo_base.gyp:mojo_utility',
78         'mojo_geometry_bindings',
79         'mojo_gles2',
80         'mojo_native_viewport_bindings',
81         '<(mojo_system_for_loadable_module)',
82       ],
83       'sources': [
84         'examples/sample_app/gles2_client_impl.cc',
85         'examples/sample_app/gles2_client_impl.cc',
86         'examples/sample_app/sample_app.cc',
87         'examples/sample_app/spinning_cube.cc',
88         'examples/sample_app/spinning_cube.h',
89         'public/cpp/application/lib/mojo_main_standalone.cc',
90       ],
91     },
92     {
93       'target_name': 'package_mojo_sample_app',
94       'variables': {
95         'app_name': 'mojo_sample_app',
96       },
97       'includes': [ 'build/package_app.gypi' ],
98     },
99     {
100       'target_name': 'mojo_example_service_bindings',
101       'type': 'static_library',
102       'sources': [
103         'examples/apptest/example_service.mojom',
104       ],
105       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
106       'export_dependent_settings': [
107         'mojo_base.gyp:mojo_cpp_bindings',
108       ],
109       'dependencies': [
110         'mojo_base.gyp:mojo_cpp_bindings',
111       ],
112     },
113     {
114       'target_name': 'mojo_example_service',
115       'type': 'loadable_module',
116       'dependencies': [
117         'mojo_base.gyp:mojo_application_standalone', # For ApplicationDelegate.
118         'mojo_base.gyp:mojo_cpp_bindings',           # For *.mojom.h
119         'mojo_base.gyp:mojo_environment_standalone', # For Environment.
120         'mojo_example_service_bindings',
121         'mojo_base.gyp:mojo_utility',                # For RunLoop.
122         '<(mojo_system_for_loadable_module)',
123       ],
124       'sources': [
125         'examples/apptest/example_service_application.cc',
126         'examples/apptest/example_service_application.h',
127         'examples/apptest/example_service_impl.cc',
128         'examples/apptest/example_service_impl.h',
129         'public/cpp/application/lib/mojo_main_standalone.cc',
130       ],
131     },
132     {
133       'target_name': 'mojo_example_apptests',
134       'type': 'loadable_module',
135       'dependencies': [
136         '../testing/gtest.gyp:gtest',
137         'mojo_base.gyp:mojo_application_standalone', # For ApplicationDelegate.
138         'mojo_base.gyp:mojo_environment_standalone', # For Environment.
139         'mojo_example_service',
140         'mojo_example_service_bindings',
141         'mojo_base.gyp:mojo_utility',                # For RunLoop.
142         '<(mojo_system_for_loadable_module)',
143       ],
144       'sources': [
145         'examples/apptest/example_apptest.cc',
146         'examples/apptest/example_client_application.cc',
147         'examples/apptest/example_client_application.h',
148         'examples/apptest/example_client_impl.cc',
149         'examples/apptest/example_client_impl.h',
150       ],
151     },
152     {
153       'target_name': 'package_mojo_example_apptests',
154       'variables': {
155         'app_name': 'mojo_example_apptests',
156       },
157       'includes': [ 'build/package_app.gypi' ],
158     },
159     {
160       'target_name': 'mojo_compositor_app',
161       'type': 'loadable_module',
162       'dependencies': [
163         '../base/base.gyp:base',
164         '../cc/cc.gyp:cc',
165         '../ui/gfx/gfx.gyp:gfx',
166         '../ui/gfx/gfx.gyp:gfx_geometry',
167         'mojo_base.gyp:mojo_application_chromium',
168         'mojo_base.gyp:mojo_common_lib',
169         'mojo_base.gyp:mojo_environment_chromium',
170         'mojo_cc_support',
171         'mojo_geometry_bindings',
172         'mojo_geometry_lib',
173         'mojo_gles2',
174         'mojo_native_viewport_bindings',
175         '<(mojo_system_for_loadable_module)',
176       ],
177       'sources': [
178         'examples/compositor_app/compositor_app.cc',
179         'examples/compositor_app/compositor_host.cc',
180         'examples/compositor_app/compositor_host.h',
181         'public/cpp/application/lib/mojo_main_chromium.cc',
182       ],
183     },
184     {
185       'target_name': 'package_mojo_compositor_app',
186       'variables': {
187         'app_name': 'mojo_compositor_app',
188       },
189       'includes': [ 'build/package_app.gypi' ],
190     },
191     {
192       'target_name': 'mojo_wget',
193       'type': 'loadable_module',
194       'dependencies': [
195         'mojo_base.gyp:mojo_application_standalone',
196         'mojo_base.gyp:mojo_cpp_bindings',
197         'mojo_base.gyp:mojo_environment_standalone',
198         'mojo_base.gyp:mojo_utility',
199         'mojo_network_bindings',
200         '<(mojo_system_for_loadable_module)',
201       ],
202       'sources': [
203         'examples/wget/wget.cc',
204         'public/cpp/application/lib/mojo_main_standalone.cc',
205       ],
206     },
207     {
208       'target_name': 'mojo_content_handler_demo',
209       'type': 'loadable_module',
210       'dependencies': [
211         'mojo_base.gyp:mojo_application_standalone',
212         'mojo_base.gyp:mojo_cpp_bindings',
213         'mojo_base.gyp:mojo_environment_standalone',
214         'mojo_base.gyp:mojo_utility',
215         'mojo_content_handler_bindings',
216         '<(mojo_system_for_loadable_module)',
217       ],
218       'sources': [
219         'examples/content_handler_demo/content_handler_demo.cc',
220         'public/cpp/application/lib/mojo_main_standalone.cc',
221       ],
222     },
223     {
224       'target_name': 'package_mojo_wget',
225       'variables': {
226         'app_name': 'mojo_wget',
227       },
228       'includes': [ 'build/package_app.gypi' ],
229     },
230     {
231       'target_name': 'mojo_media_viewer_bindings',
232       'type': 'static_library',
233       'sources': [
234         'examples/media_viewer/media_viewer.mojom',
235       ],
236       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
237       'export_dependent_settings': [
238         'mojo_base.gyp:mojo_cpp_bindings',
239       ],
240       'dependencies': [
241         'mojo_base.gyp:mojo_cpp_bindings',
242       ],
243     },
244     {
245       'target_name': 'mojo_png_viewer',
246       'type': 'loadable_module',
247       'dependencies': [
248         '../skia/skia.gyp:skia',
249         '../ui/gfx/gfx.gyp:gfx',
250         'mojo_base.gyp:mojo_application_chromium',
251         'mojo_base.gyp:mojo_cpp_bindings',
252         'mojo_base.gyp:mojo_environment_chromium',
253         'mojo_base.gyp:mojo_utility',
254         'mojo_media_viewer_bindings',
255         'mojo_navigation_bindings',
256         'mojo_network_bindings',
257         'mojo_launcher_bindings',
258         'mojo_view_manager_lib',
259         '<(mojo_system_for_loadable_module)',
260       ],
261       'sources': [
262         'examples/png_viewer/png_viewer.cc',
263         'public/cpp/application/lib/mojo_main_chromium.cc',
264       ],
265     },
266     {
267       'target_name': 'mojo_pepper_container_app',
268       'type': 'loadable_module',
269       'dependencies': [
270         '../base/base.gyp:base',
271         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
272         '../gpu/gpu.gyp:command_buffer_common',
273         '../ppapi/ppapi.gyp:ppapi_c',
274         '../ppapi/ppapi_internal.gyp:ppapi_example_gles2_spinning_cube',
275         '../ui/events/events.gyp:events_base',
276         'mojo_base.gyp:mojo_application_chromium',
277         'mojo_base.gyp:mojo_common_lib',
278         'mojo_base.gyp:mojo_environment_chromium',
279         'mojo_geometry_bindings',
280         'mojo_gles2',
281         'mojo_native_viewport_bindings',
282         '<(mojo_system_for_loadable_module)',
283       ],
284       'defines': [
285         # We don't really want to export. We could change how
286         # ppapi_{shared,thunk}_export.h are defined to avoid this.
287         'PPAPI_SHARED_IMPLEMENTATION',
288         'PPAPI_THUNK_IMPLEMENTATION',
289       ],
290       'sources': [
291         # Source files from ppapi/.
292         # An alternative is to depend on
293         # '../ppapi/ppapi_internal.gyp:ppapi_shared', but that target includes
294         # a lot of things that we don't need.
295         # TODO(yzshen): Consider extracting these files into a separate target
296         # which mojo_pepper_container_app and ppapi_shared both depend on.
297         '../ppapi/shared_impl/api_id.h',
298         '../ppapi/shared_impl/callback_tracker.cc',
299         '../ppapi/shared_impl/callback_tracker.h',
300         '../ppapi/shared_impl/host_resource.cc',
301         '../ppapi/shared_impl/host_resource.h',
302         '../ppapi/shared_impl/id_assignment.cc',
303         '../ppapi/shared_impl/id_assignment.h',
304         '../ppapi/shared_impl/ppapi_globals.cc',
305         '../ppapi/shared_impl/ppapi_globals.h',
306         '../ppapi/shared_impl/ppapi_shared_export.h',
307         '../ppapi/shared_impl/ppb_message_loop_shared.cc',
308         '../ppapi/shared_impl/ppb_message_loop_shared.h',
309         '../ppapi/shared_impl/ppb_view_shared.cc',
310         '../ppapi/shared_impl/ppb_view_shared.h',
311         '../ppapi/shared_impl/proxy_lock.cc',
312         '../ppapi/shared_impl/proxy_lock.h',
313         '../ppapi/shared_impl/resource.cc',
314         '../ppapi/shared_impl/resource.h',
315         '../ppapi/shared_impl/resource_tracker.cc',
316         '../ppapi/shared_impl/resource_tracker.h',
317         '../ppapi/shared_impl/scoped_pp_resource.cc',
318         '../ppapi/shared_impl/scoped_pp_resource.h',
319         '../ppapi/shared_impl/singleton_resource_id.h',
320         '../ppapi/shared_impl/tracked_callback.cc',
321         '../ppapi/shared_impl/tracked_callback.h',
322         '../ppapi/thunk/enter.cc',
323         '../ppapi/thunk/enter.h',
324         '../ppapi/thunk/interfaces_ppb_private.h',
325         '../ppapi/thunk/interfaces_ppb_private_flash.h',
326         '../ppapi/thunk/interfaces_ppb_private_no_permissions.h',
327         '../ppapi/thunk/interfaces_ppb_public_dev.h',
328         '../ppapi/thunk/interfaces_ppb_public_dev_channel.h',
329         '../ppapi/thunk/interfaces_ppb_public_stable.h',
330         '../ppapi/thunk/interfaces_preamble.h',
331         '../ppapi/thunk/ppapi_thunk_export.h',
332         '../ppapi/thunk/ppb_graphics_3d_api.h',
333         '../ppapi/thunk/ppb_graphics_3d_thunk.cc',
334         '../ppapi/thunk/ppb_instance_api.h',
335         '../ppapi/thunk/ppb_instance_thunk.cc',
336         '../ppapi/thunk/ppb_message_loop_api.h',
337         '../ppapi/thunk/ppb_view_api.h',
338         '../ppapi/thunk/ppb_view_thunk.cc',
339         '../ppapi/thunk/resource_creation_api.h',
340         '../ppapi/thunk/thunk.h',
342         'examples/pepper_container_app/graphics_3d_resource.cc',
343         'examples/pepper_container_app/graphics_3d_resource.h',
344         'examples/pepper_container_app/interface_list.cc',
345         'examples/pepper_container_app/interface_list.h',
346         'examples/pepper_container_app/mojo_ppapi_globals.cc',
347         'examples/pepper_container_app/mojo_ppapi_globals.h',
348         'examples/pepper_container_app/pepper_container_app.cc',
349         'examples/pepper_container_app/plugin_instance.cc',
350         'examples/pepper_container_app/plugin_instance.h',
351         'examples/pepper_container_app/plugin_module.cc',
352         'examples/pepper_container_app/plugin_module.h',
353         'examples/pepper_container_app/ppb_core_thunk.cc',
354         'examples/pepper_container_app/ppb_opengles2_thunk.cc',
355         'examples/pepper_container_app/resource_creation_impl.cc',
356         'examples/pepper_container_app/resource_creation_impl.h',
357         'examples/pepper_container_app/thunk.h',
358         'examples/pepper_container_app/type_converters.h',
359         'public/cpp/application/lib/mojo_main_chromium.cc',
360       ],
361     },
362     {
363       'target_name': 'mojo_surfaces_app',
364       'type': 'loadable_module',
365       'dependencies': [
366         '../base/base.gyp:base',
367         '../cc/cc.gyp:cc',
368         '../cc/cc.gyp:cc_surfaces',
369         '../skia/skia.gyp:skia',
370         '../ui/gfx/gfx.gyp:gfx',
371         '../ui/gfx/gfx.gyp:gfx_geometry',
372         'mojo_base.gyp:mojo_application_chromium',
373         'mojo_base.gyp:mojo_common_lib',
374         'mojo_base.gyp:mojo_environment_chromium',
375         'mojo_base.gyp:mojo_system_impl',
376         'mojo_geometry_bindings',
377         'mojo_geometry_lib',
378         'mojo_gles2',
379         'mojo_native_viewport_bindings',
380         'mojo_surfaces_bindings',
381         'mojo_surfaces_app_bindings',
382         'mojo_surfaces_lib',
383         '<(mojo_system_for_loadable_module)',
384       ],
385       'sources': [
386         'examples/surfaces_app/embedder.cc',
387         'examples/surfaces_app/embedder.h',
388         'examples/surfaces_app/surfaces_app.cc',
389         'examples/surfaces_app/surfaces_util.cc',
390         'examples/surfaces_app/surfaces_util.h',
391         'public/cpp/application/lib/mojo_main_chromium.cc',
392       ],
393     },
394     {
395       'target_name': 'mojo_surfaces_app_bindings',
396       'type': 'static_library',
397       'sources': [
398         'examples/surfaces_app/child.mojom',
399       ],
400       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
401       'export_dependent_settings': [
402         'mojo_base.gyp:mojo_cpp_bindings',
403       ],
404       'dependencies': [
405         'mojo_base.gyp:mojo_cpp_bindings',
406         'mojo_geometry_bindings',
407         'mojo_surfaces_bindings',
408       ],
409     },
410     {
411       'target_name': 'package_mojo_surfaces_app',
412       'variables': {
413         'app_name': 'mojo_surfaces_app',
414       },
415       'includes': [ 'build/package_app.gypi' ],
416     },
417     {
418       'target_name': 'mojo_surfaces_child_app',
419       'type': 'loadable_module',
420       'dependencies': [
421         '../base/base.gyp:base',
422         '../cc/cc.gyp:cc',
423         '../cc/cc.gyp:cc_surfaces',
424         '../skia/skia.gyp:skia',
425         '../ui/gfx/gfx.gyp:gfx',
426         '../ui/gfx/gfx.gyp:gfx_geometry',
427         'mojo_base.gyp:mojo_application_chromium',
428         'mojo_base.gyp:mojo_common_lib',
429         'mojo_base.gyp:mojo_environment_chromium',
430         'mojo_base.gyp:mojo_system_impl',
431         'mojo_geometry_bindings',
432         'mojo_geometry_lib',
433         'mojo_surfaces_app_bindings',
434         'mojo_surfaces_bindings',
435         'mojo_surfaces_lib',
436         '<(mojo_system_for_loadable_module)',
437       ],
438       'sources': [
439         'examples/surfaces_app/child_app.cc',
440         'examples/surfaces_app/child_impl.cc',
441         'examples/surfaces_app/child_impl.h',
442         'examples/surfaces_app/surfaces_util.cc',
443         'examples/surfaces_app/surfaces_util.h',
444         'public/cpp/application/lib/mojo_main_chromium.cc',
445       ],
446     },
447   ],
448   'conditions': [
449     ['use_aura==1', {
450       'targets': [
451         {
452           'target_name': 'mojo_aura_demo',
453           'type': 'loadable_module',
454           'dependencies': [
455             '../base/base.gyp:base',
456             '../cc/cc.gyp:cc',
457             '../ui/aura/aura.gyp:aura',
458             '../ui/base/ui_base.gyp:ui_base',
459             '../ui/compositor/compositor.gyp:compositor',
460             '../ui/gfx/gfx.gyp:gfx',
461             '../ui/gfx/gfx.gyp:gfx_geometry',
462             'mojo_base.gyp:mojo_application_chromium',
463             'mojo_base.gyp:mojo_common_lib',
464             'mojo_base.gyp:mojo_environment_chromium',
465             'mojo_aura_support',
466             'mojo_geometry_bindings',
467             'mojo_geometry_lib',
468             'mojo_view_manager_lib',
469             '<(mojo_system_for_loadable_module)',
470           ],
471           'sources': [
472             'examples/aura_demo/aura_demo.cc',
473             'public/cpp/application/lib/mojo_main_chromium.cc',
474           ],
475         },
476         {
477           'target_name': 'mojo_aura_demo_init',
478           'type': 'loadable_module',
479           'dependencies': [
480             '../base/base.gyp:base',
481             'mojo_base.gyp:mojo_application_chromium',
482             'mojo_base.gyp:mojo_environment_chromium',
483             'mojo_view_manager_bindings',
484             '<(mojo_system_for_loadable_module)',
485           ],
486           'sources': [
487             'examples/aura_demo/view_manager_init.cc',
488             'public/cpp/application/lib/mojo_main_chromium.cc',
489           ],
490         },
491         {
492           'target_name': 'mojo_browser',
493           'type': 'loadable_module',
494           'dependencies': [
495             '../base/base.gyp:base',
496             '../cc/cc.gyp:cc',
497             '../third_party/icu/icu.gyp:icui18n',
498             '../third_party/icu/icu.gyp:icuuc',
499             '../ui/aura/aura.gyp:aura',
500             '../ui/base/ui_base.gyp:ui_base',
501             '../ui/compositor/compositor.gyp:compositor',
502             '../ui/gfx/gfx.gyp:gfx',
503             '../ui/gfx/gfx.gyp:gfx_geometry',
504             '../ui/resources/ui_resources.gyp:ui_resources',
505             '../ui/resources/ui_resources.gyp:ui_test_pak',
506             '../ui/views/views.gyp:views',
507             '../url/url.gyp:url_lib',
508             'mojo_base.gyp:mojo_application_chromium',
509             'mojo_base.gyp:mojo_common_lib',
510             'mojo_base.gyp:mojo_environment_chromium',
511             'mojo_aura_support',
512             'mojo_geometry_bindings',
513             'mojo_geometry_lib',
514             'mojo_input_events_lib',
515             'mojo_navigation_bindings',
516             'mojo_views_support',
517             'mojo_view_manager_bindings',
518             'mojo_view_manager_lib',
519             'mojo_window_manager_bindings',
520             '<(mojo_system_for_loadable_module)',
521           ],
522           'sources': [
523             'examples/browser/browser.cc',
524             'public/cpp/application/lib/mojo_main_chromium.cc',
525           ],
526         },
527         {
528           'target_name': 'package_mojo_aura_demo',
529           'variables': {
530             'app_name': 'mojo_aura_demo',
531           },
532           'includes': [ 'build/package_app.gypi' ],
533         },
534         {
535           'target_name': 'mojo_demo_launcher',
536           'type': 'loadable_module',
537           'dependencies': [
538             '../base/base.gyp:base',
539             '../skia/skia.gyp:skia',
540             '../ui/gfx/gfx.gyp:gfx',
541             '../ui/gfx/gfx.gyp:gfx_geometry',
542             '../ui/gl/gl.gyp:gl',
543             'mojo_base.gyp:mojo_application_chromium',
544             'mojo_base.gyp:mojo_cpp_bindings',
545             'mojo_base.gyp:mojo_environment_chromium',
546             'mojo_base.gyp:mojo_utility',
547             'mojo_geometry_bindings',
548             'mojo_gles2',
549             'mojo_view_manager_bindings',
550             '<(mojo_system_for_loadable_module)',
551           ],
552           'sources': [
553             'examples/demo_launcher/demo_launcher.cc',
554             'public/cpp/application/lib/mojo_main_chromium.cc',
555           ],
556         },
557         {
558           'target_name': 'mojo_keyboard',
559           'type': 'loadable_module',
560           'dependencies': [
561             '../base/base.gyp:base',
562             '../cc/cc.gyp:cc',
563             '../third_party/icu/icu.gyp:icui18n',
564             '../third_party/icu/icu.gyp:icuuc',
565             '../ui/aura/aura.gyp:aura',
566             '../ui/base/ui_base.gyp:ui_base',
567             '../ui/compositor/compositor.gyp:compositor',
568             '../ui/gfx/gfx.gyp:gfx',
569             '../ui/gfx/gfx.gyp:gfx_geometry',
570             '../ui/resources/ui_resources.gyp:ui_resources',
571             '../ui/resources/ui_resources.gyp:ui_test_pak',
572             '../ui/views/views.gyp:views',
573             '../url/url.gyp:url_lib',
574             'mojo_base.gyp:mojo_application_chromium',
575             'mojo_base.gyp:mojo_common_lib',
576             'mojo_base.gyp:mojo_environment_chromium',
577             'mojo_aura_support',
578             'mojo_geometry_bindings',
579             'mojo_geometry_lib',
580             'mojo_input_events_lib',
581             'mojo_keyboard_bindings',
582             'mojo_navigation_bindings',
583             'mojo_views_support',
584             'mojo_view_manager_bindings',
585             'mojo_view_manager_lib',
586             '<(mojo_system_for_loadable_module)',
587           ],
588           'sources': [
589             'examples/keyboard/keyboard_delegate.h',
590             'examples/keyboard/keyboard_view.cc',
591             'examples/keyboard/keyboard_view.h',
592             'examples/keyboard/keyboard.cc',
593             'examples/keyboard/keys.cc',
594             'examples/keyboard/keys.h',
595             'public/cpp/application/lib/mojo_main_chromium.cc',
596           ],
597         },
598         {
599           'target_name': 'mojo_keyboard_bindings',
600           'type': 'static_library',
601           'sources': [
602             'examples/keyboard/keyboard.mojom',
603           ],
604           'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
605           'export_dependent_settings': [
606             'mojo_base.gyp:mojo_cpp_bindings',
607           ],
608           'dependencies': [
609             'mojo_base.gyp:mojo_cpp_bindings',
610           ],
611         },
612         {
613           'target_name': 'mojo_window_manager_bindings',
614           'type': 'static_library',
615           'sources': [
616             'examples/window_manager/window_manager.mojom',
617           ],
618           'dependencies': [
619             'mojo_base.gyp:mojo_cpp_bindings',
620             'mojo_geometry_bindings',
621           ],
622           'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
623           'export_dependent_settings': [
624             'mojo_base.gyp:mojo_cpp_bindings',
625           ],
626         },
627         {
628           'target_name': 'mojo_window_manager',
629           'type': 'loadable_module',
630           'dependencies': [
631             '../base/base.gyp:base',
632             '../ui/aura/aura.gyp:aura',
633             '../ui/base/ui_base.gyp:ui_base',
634             '../ui/gfx/gfx.gyp:gfx',
635             '../ui/gfx/gfx.gyp:gfx_geometry',
636             '../ui/gl/gl.gyp:gl',
637             '../ui/resources/ui_resources.gyp:ui_resources',
638             '../ui/resources/ui_resources.gyp:ui_test_pak',
639             '../ui/views/views.gyp:views',
640             'mojo_base.gyp:mojo_application_chromium',
641             'mojo_base.gyp:mojo_cpp_bindings',
642             'mojo_base.gyp:mojo_utility',
643             'mojo_base.gyp:mojo_environment_chromium',
644             'mojo_aura_support',
645             'mojo_geometry_bindings',
646             'mojo_geometry_lib',
647             'mojo_gles2',
648             'mojo_input_events_lib',
649             'mojo_keyboard_bindings',
650             'mojo_launcher_bindings',
651             'mojo_navigation_bindings',
652             'mojo_view_manager_lib',
653             'mojo_views_support',
654             'mojo_window_manager_bindings',
655             '<(mojo_system_for_loadable_module)',
656           ],
657           'sources': [
658             'examples/window_manager/debug_panel.h',
659             'examples/window_manager/debug_panel.cc',
660             'examples/window_manager/window_manager.cc',
661             'public/cpp/application/lib/mojo_main_chromium.cc',
662           ],
663         },
664         {
665           'target_name': 'mojo_embedded_app',
666           'type': 'loadable_module',
667           'dependencies': [
668             '../base/base.gyp:base',
669             '../ui/gfx/gfx.gyp:gfx_geometry',
670             '../ui/gl/gl.gyp:gl',
671             '../url/url.gyp:url_lib',
672             'mojo_base.gyp:mojo_application_chromium',
673             'mojo_base.gyp:mojo_cpp_bindings',
674             'mojo_base.gyp:mojo_environment_chromium',
675             'mojo_base.gyp:mojo_utility',
676             'mojo_geometry_bindings',
677             'mojo_gles2',
678             'mojo_navigation_bindings',
679             'mojo_view_manager_lib',
680             'mojo_window_manager_bindings',
681             '<(mojo_system_for_loadable_module)',
682           ],
683           'sources': [
684             'examples/embedded_app/embedded_app.cc',
685             'public/cpp/application/lib/mojo_main_chromium.cc',
686           ],
687         },
688         {
689           'target_name': 'mojo_nesting_app',
690           'type': 'loadable_module',
691           'dependencies': [
692             '../base/base.gyp:base',
693             '../ui/gfx/gfx.gyp:gfx_geometry',
694             '../ui/gl/gl.gyp:gl',
695             '../url/url.gyp:url_lib',
696             'mojo_base.gyp:mojo_application_chromium',
697             'mojo_base.gyp:mojo_cpp_bindings',
698             'mojo_base.gyp:mojo_environment_chromium',
699             'mojo_base.gyp:mojo_utility',
700             'mojo_geometry_bindings',
701             'mojo_gles2',
702             'mojo_navigation_bindings',
703             'mojo_view_manager_lib',
704             'mojo_window_manager_bindings',
705             '<(mojo_system_for_loadable_module)',
706           ],
707           'sources': [
708             'examples/nesting_app/nesting_app.cc',
709             'public/cpp/application/lib/mojo_main_chromium.cc',
710           ],
711         },
712         {
713           'target_name': 'mojo_media_viewer',
714           'type': 'loadable_module',
715           'dependencies': [
716             '../base/base.gyp:base',
717             '../skia/skia.gyp:skia',
718             '../ui/gfx/gfx.gyp:gfx_geometry',
719             '../ui/views/views.gyp:views',
720             'mojo_base.gyp:mojo_application_chromium',
721             'mojo_base.gyp:mojo_environment_chromium',
722             'mojo_input_events_lib',
723             'mojo_media_viewer_bindings',
724             'mojo_navigation_bindings',
725             'mojo_views_support',
726             'mojo_view_manager_bindings',
727             'mojo_view_manager_lib',
728             '<(mojo_system_for_loadable_module)',
729           ],
730           'sources': [
731             'examples/media_viewer/media_viewer.cc',
732             'public/cpp/application/lib/mojo_main_chromium.cc',
733           ],
734         },
735         {
736           'target_name': 'mojo_wm_flow_wm',
737           'type': 'loadable_module',
738           'dependencies': [
739             '../base/base.gyp:base',
740             'mojo_base.gyp:mojo_application_chromium',
741             'mojo_base.gyp:mojo_environment_chromium',
742             'mojo_core_window_manager_lib',
743             'mojo_view_manager_lib',
744             '<(mojo_system_for_loadable_module)',
745           ],
746           'sources': [
747             'examples/wm_flow/wm/wm.cc',
748             'public/cpp/application/lib/mojo_main_chromium.cc',
749           ],
750         },
751         {
752           'target_name': 'mojo_wm_flow_init',
753           'type': 'loadable_module',
754           'dependencies': [
755             '../base/base.gyp:base',
756             'mojo_base.gyp:mojo_application_chromium',
757             'mojo_base.gyp:mojo_environment_chromium',
758             'mojo_view_manager_bindings',
759             '<(mojo_system_for_loadable_module)',
760           ],
761           'sources': [
762             'examples/wm_flow/init/init.cc',
763             'public/cpp/application/lib/mojo_main_chromium.cc',
764           ],
765         },
766         {
767           'target_name': 'mojo_wm_flow_embedder_bindings',
768           'type': 'static_library',
769           'sources': [
770             'examples/wm_flow/app/embedder.mojom',
771           ],
772           'dependencies': [
773             'mojo_base.gyp:mojo_cpp_bindings',
774           ],
775           'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
776           'export_dependent_settings': [
777             'mojo_base.gyp:mojo_cpp_bindings',
778           ],
779         },
780         {
781           'target_name': 'mojo_wm_flow_embeddee_bindings',
782           'type': 'static_library',
783           'sources': [
784             'examples/wm_flow/embedded/embeddee.mojom',
785           ],
786           'dependencies': [
787             'mojo_base.gyp:mojo_cpp_bindings',
788           ],
789           'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
790           'export_dependent_settings': [
791             'mojo_base.gyp:mojo_cpp_bindings',
792           ],
793         },
794         {
795           'target_name': 'mojo_wm_flow_app',
796           'type': 'loadable_module',
797           'dependencies': [
798             '../base/base.gyp:base',
799             'mojo_base.gyp:mojo_application_chromium',
800             'mojo_base.gyp:mojo_environment_chromium',
801             'mojo_core_window_manager_bindings',
802             'mojo_view_manager_lib',
803             'mojo_wm_flow_embeddee_bindings',
804             'mojo_wm_flow_embedder_bindings',
805             '<(mojo_system_for_loadable_module)',
806           ],
807           'sources': [
808             'examples/wm_flow/app/app.cc',
809             'public/cpp/application/lib/mojo_main_chromium.cc',
810           ],
811         },
812         {
813           'target_name': 'mojo_wm_flow_embedded',
814           'type': 'loadable_module',
815           'dependencies': [
816             '../base/base.gyp:base',
817             'mojo_base.gyp:mojo_application_chromium',
818             'mojo_base.gyp:mojo_environment_chromium',
819             'mojo_core_window_manager_bindings',
820             'mojo_view_manager_lib',
821             'mojo_wm_flow_embeddee_bindings',
822             'mojo_wm_flow_embedder_bindings',
823             '<(mojo_system_for_loadable_module)',
824           ],
825           'sources': [
826             'examples/wm_flow/embedded/embedded.cc',
827             'public/cpp/application/lib/mojo_main_chromium.cc',
828           ],
829         },
830       ],
831     }],
832     ['OS=="linux"', {
833       'targets': [
834         {
835           'target_name': 'mojo_dbus_echo',
836           'type': 'loadable_module',
837           'dependencies': [
838             '../base/base.gyp:base',
839             'mojo_base.gyp:mojo_application_standalone',
840             'mojo_base.gyp:mojo_cpp_bindings',
841             'mojo_base.gyp:mojo_environment_standalone',
842             'mojo_base.gyp:mojo_utility',
843             'mojo_echo_bindings',
844             '<(mojo_system_for_loadable_module)',
845           ],
846           'sources': [
847             'examples/dbus_echo/dbus_echo_app.cc',
848             'public/cpp/application/lib/mojo_main_standalone.cc',
849           ],
850         },
851       ],
852     }],
853   ],