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.
4
5{
6  'targets': [
7    {
8      # GN version: //mojo/examples/echo:client
9      'target_name': 'mojo_echo_client',
10      'type': 'loadable_module',
11      'dependencies': [
12        'mojo_base.gyp:mojo_application_standalone',
13        'mojo_base.gyp:mojo_cpp_bindings',
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      ],
21    },
22    {
23      'target_name': 'package_mojo_echo_client',
24      'variables': {
25        'app_name': 'mojo_echo_client',
26      },
27      'includes': [ 'build/package_app.gypi' ],
28    },
29    {
30      # GN version: //mojo/examples/echo:bindings
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      # GN version: //mojo/examples/echo:service
46      'target_name': 'mojo_echo_service',
47      'type': 'loadable_module',
48      'dependencies': [
49        'mojo_base.gyp:mojo_application_standalone',
50        'mojo_base.gyp:mojo_cpp_bindings',
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      ],
58    },
59    {
60      'target_name': 'package_mojo_echo_service',
61      'variables': {
62        'app_name': 'mojo_echo_service',
63      },
64      'includes': [ 'build/package_app.gypi' ],
65    },
66    {
67      # GN version: //mojo/examples/sample_app
68      'target_name': 'mojo_sample_app',
69      'type': 'loadable_module',
70      'dependencies': [
71        'mojo_base.gyp:mojo_application_standalone',
72        'mojo_base.gyp:mojo_cpp_bindings',
73        'mojo_base.gyp:mojo_utility',
74        'mojo_geometry_bindings',
75        'mojo_gpu_bindings',
76        'mojo_native_viewport_bindings',
77        '<(mojo_system_for_loadable_module)',
78      ],
79      'includes': [
80        'mojo_public_gles2_for_loadable_module.gypi',
81      ],
82      'sources': [
83        'examples/sample_app/gles2_client_impl.cc',
84        'examples/sample_app/gles2_client_impl.h',
85        'examples/sample_app/sample_app.cc',
86        'examples/sample_app/spinning_cube.cc',
87        'examples/sample_app/spinning_cube.h',
88      ],
89    },
90    {
91      'target_name': 'package_mojo_sample_app',
92      'variables': {
93        'app_name': 'mojo_sample_app',
94      },
95      'includes': [ 'build/package_app.gypi' ],
96    },
97    {
98      # GN version: //mojo/examples/apptest:bindings
99      'target_name': 'mojo_example_service_bindings',
100      'type': 'static_library',
101      'sources': [
102        'examples/apptest/example_service.mojom',
103      ],
104      'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
105      'export_dependent_settings': [
106        'mojo_base.gyp:mojo_cpp_bindings',
107      ],
108      'dependencies': [
109        'mojo_base.gyp:mojo_cpp_bindings',
110      ],
111    },
112    {
113      # GN version: //mojo/examples/apptest:service
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_example_service_bindings',
120        'mojo_base.gyp:mojo_utility',                # For RunLoop.
121        '<(mojo_system_for_loadable_module)',
122      ],
123      'sources': [
124        'examples/apptest/example_service_application.cc',
125        'examples/apptest/example_service_application.h',
126        'examples/apptest/example_service_impl.cc',
127        'examples/apptest/example_service_impl.h',
128      ],
129    },
130    {
131      # GN version: //mojo/examples/apptest:apptests
132      'target_name': 'mojo_example_apptests',
133      'type': 'loadable_module',
134      'dependencies': [
135        '../testing/gtest.gyp:gtest',
136        'mojo_base.gyp:mojo_application_standalone', # For ApplicationDelegate.
137        'mojo_example_service',
138        'mojo_example_service_bindings',
139        'mojo_base.gyp:mojo_utility',                # For RunLoop.
140        '<(mojo_system_for_loadable_module)',
141      ],
142      'sources': [
143        'examples/apptest/example_apptest.cc',
144        'examples/apptest/example_client_application.cc',
145        'examples/apptest/example_client_application.h',
146        'examples/apptest/example_client_impl.cc',
147        'examples/apptest/example_client_impl.h',
148      ],
149    },
150    {
151      'target_name': 'package_mojo_example_apptests',
152      'variables': {
153        'app_name': 'mojo_example_apptests',
154      },
155      'includes': [ 'build/package_app.gypi' ],
156    },
157    {
158      # GN version: //mojo/examples/compositor_app
159      'target_name': 'mojo_compositor_app',
160      'type': 'loadable_module',
161      'dependencies': [
162        '../base/base.gyp:base',
163        '../cc/cc.gyp:cc',
164        '../ui/gfx/gfx.gyp:gfx',
165        '../ui/gfx/gfx.gyp:gfx_geometry',
166        'mojo_base.gyp:mojo_application_chromium',
167        'mojo_base.gyp:mojo_common_lib',
168        'mojo_cc_support',
169        'mojo_geometry_bindings',
170        'mojo_geometry_lib',
171        'mojo_gpu_bindings',
172        'mojo_native_viewport_bindings',
173        '<(mojo_system_for_loadable_module)',
174      ],
175      'includes': [
176        'mojo_public_gles2_for_loadable_module.gypi',
177      ],
178      'sources': [
179        'examples/compositor_app/compositor_app.cc',
180        'examples/compositor_app/compositor_host.cc',
181        'examples/compositor_app/compositor_host.h',
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      # GN version: //mojo/examples/wget
193      'target_name': 'mojo_wget',
194      'type': 'loadable_module',
195      'dependencies': [
196        'mojo_base.gyp:mojo_application_standalone',
197        'mojo_base.gyp:mojo_cpp_bindings',
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      ],
205    },
206    {
207      # GN version: //mojo/examples/content_handler_demo
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_utility',
214        'mojo_content_handler_bindings',
215        '<(mojo_system_for_loadable_module)',
216      ],
217      'sources': [
218        'examples/content_handler_demo/content_handler_demo.cc',
219      ],
220    },
221    {
222      'target_name': 'package_mojo_wget',
223      'variables': {
224        'app_name': 'mojo_wget',
225      },
226      'includes': [ 'build/package_app.gypi' ],
227    },
228    {
229      # GN version: //mojo/examples/media_viewer:bindings
230      'target_name': 'mojo_media_viewer_bindings',
231      'type': 'static_library',
232      'sources': [
233        'examples/media_viewer/media_viewer.mojom',
234      ],
235      'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
236      'export_dependent_settings': [
237        'mojo_base.gyp:mojo_cpp_bindings',
238      ],
239      'dependencies': [
240        'mojo_base.gyp:mojo_cpp_bindings',
241      ],
242    },
243    {
244      # GN version: //mojo/examples/png_viewer
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_utility',
253        'mojo_content_handler_bindings',
254        'mojo_media_viewer_bindings',
255        'mojo_network_bindings',
256        'mojo_view_manager_lib',
257        '<(mojo_system_for_loadable_module)',
258      ],
259      'sources': [
260        'examples/png_viewer/png_viewer.cc',
261      ],
262    },
263    {
264      # GN version: //mojo/examples/pepper_container_app
265      'target_name': 'mojo_pepper_container_app',
266      'type': 'loadable_module',
267      'dependencies': [
268        '../base/base.gyp:base',
269        '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
270        '../gpu/gpu.gyp:command_buffer_common',
271        '../ppapi/ppapi.gyp:ppapi_c',
272        '../ppapi/ppapi_internal.gyp:ppapi_example_gles2_spinning_cube',
273        '../ui/events/events.gyp:events_base',
274        'mojo_base.gyp:mojo_application_chromium',
275        'mojo_base.gyp:mojo_common_lib',
276        'mojo_geometry_bindings',
277        'mojo_gpu_bindings',
278        'mojo_native_viewport_bindings',
279        '<(mojo_system_for_loadable_module)',
280      ],
281      'includes': [
282        'mojo_public_gles2_for_loadable_module.gypi',
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',
341
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      ],
360    },
361    {
362      # GN version: //mojo/examples/surfaces_app:parent_app
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_geometry_bindings',
375        'mojo_geometry_lib',
376        'mojo_gpu_bindings',
377        'mojo_native_viewport_bindings',
378        'mojo_surfaces_bindings',
379        'mojo_surfaces_app_bindings',
380        'mojo_surfaces_lib',
381        '<(mojo_system_for_loadable_module)',
382      ],
383      'sources': [
384        'examples/surfaces_app/embedder.cc',
385        'examples/surfaces_app/embedder.h',
386        'examples/surfaces_app/surfaces_app.cc',
387        'examples/surfaces_app/surfaces_util.cc',
388        'examples/surfaces_app/surfaces_util.h',
389      ],
390    },
391    {
392      # GN version: //mojo/examples/surfaces_app:bindings
393      'target_name': 'mojo_surfaces_app_bindings',
394      'type': 'static_library',
395      'sources': [
396        'examples/surfaces_app/child.mojom',
397      ],
398      'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
399      'export_dependent_settings': [
400        'mojo_base.gyp:mojo_cpp_bindings',
401      ],
402      'dependencies': [
403        'mojo_base.gyp:mojo_cpp_bindings',
404        'mojo_geometry_bindings',
405        'mojo_surfaces_bindings',
406      ],
407    },
408    {
409      'target_name': 'package_mojo_surfaces_app',
410      'variables': {
411        'app_name': 'mojo_surfaces_app',
412      },
413      'includes': [ 'build/package_app.gypi' ],
414    },
415    {
416      # GN version: //mojo/examples/surfaces_app:child_app
417      'target_name': 'mojo_surfaces_child_app',
418      'type': 'loadable_module',
419      'dependencies': [
420        '../base/base.gyp:base',
421        '../cc/cc.gyp:cc',
422        '../cc/cc.gyp:cc_surfaces',
423        '../skia/skia.gyp:skia',
424        '../ui/gfx/gfx.gyp:gfx',
425        '../ui/gfx/gfx.gyp:gfx_geometry',
426        'mojo_base.gyp:mojo_application_chromium',
427        'mojo_base.gyp:mojo_common_lib',
428        'mojo_geometry_bindings',
429        'mojo_geometry_lib',
430        'mojo_surfaces_app_bindings',
431        'mojo_surfaces_bindings',
432        'mojo_surfaces_lib',
433        '<(mojo_system_for_loadable_module)',
434      ],
435      'sources': [
436        'examples/surfaces_app/child_app.cc',
437        'examples/surfaces_app/child_impl.cc',
438        'examples/surfaces_app/child_impl.h',
439        'examples/surfaces_app/surfaces_util.cc',
440        'examples/surfaces_app/surfaces_util.h',
441      ],
442    },
443    {
444      # GN version: //mojo/examples/surfaces_app:child_gl_app
445      'target_name': 'mojo_surfaces_child_gl_app',
446      'type': 'loadable_module',
447      'dependencies': [
448        '../base/base.gyp:base',
449        '../cc/cc.gyp:cc',
450        '../cc/cc.gyp:cc_surfaces',
451        '../skia/skia.gyp:skia',
452        '../ui/gfx/gfx.gyp:gfx',
453        '../ui/gfx/gfx.gyp:gfx_geometry',
454        'mojo_base.gyp:mojo_application_chromium',
455        'mojo_base.gyp:mojo_common_lib',
456        'mojo_geometry_bindings',
457        'mojo_geometry_lib',
458        'mojo_gpu_bindings',
459        'mojo_surfaces_app_bindings',
460        'mojo_surfaces_bindings',
461        'mojo_surfaces_lib',
462        '<(mojo_system_for_loadable_module)',
463      ],
464      'includes': [
465        'mojo_public_gles2_for_loadable_module.gypi',
466      ],
467      'sources': [
468        'examples/surfaces_app/child_gl_app.cc',
469        'examples/surfaces_app/child_gl_impl.cc',
470        'examples/surfaces_app/child_gl_impl.h',
471        'examples/surfaces_app/surfaces_util.cc',
472        'examples/surfaces_app/surfaces_util.h',
473        'examples/sample_app/spinning_cube.cc',
474        'examples/sample_app/spinning_cube.h',
475      ],
476    }
477  ],
478  'conditions': [
479    ['use_aura==1', {
480      'targets': [
481        {
482          # GN version: //mojo/examples/aura_demo:mojo_aura_demo
483          'target_name': 'mojo_aura_demo',
484          'type': 'loadable_module',
485          'dependencies': [
486            '../base/base.gyp:base',
487            '../cc/cc.gyp:cc',
488            '../ui/aura/aura.gyp:aura',
489            '../ui/base/ui_base.gyp:ui_base',
490            '../ui/compositor/compositor.gyp:compositor',
491            '../ui/gfx/gfx.gyp:gfx',
492            '../ui/gfx/gfx.gyp:gfx_geometry',
493            'mojo_base.gyp:mojo_application_chromium',
494            'mojo_base.gyp:mojo_common_lib',
495            'mojo_aura_support',
496            'mojo_geometry_bindings',
497            'mojo_geometry_lib',
498            'mojo_view_manager_lib',
499            '<(mojo_system_for_loadable_module)',
500          ],
501          'sources': [
502            'examples/aura_demo/aura_demo.cc',
503          ],
504        },
505        {
506          # GN version: //mojo/examples/aura_demo:init
507          'target_name': 'mojo_aura_demo_init',
508          'type': 'loadable_module',
509          'dependencies': [
510            '../base/base.gyp:base',
511            'mojo_base.gyp:mojo_application_chromium',
512            'mojo_view_manager_bindings',
513            'mojo_view_manager_lib',
514            '<(mojo_system_for_loadable_module)',
515          ],
516          'sources': [
517            'examples/aura_demo/view_manager_init.cc',
518          ],
519        },
520        {
521          # GN version: //mojo/examples/browser
522          'target_name': 'mojo_browser',
523          'type': 'loadable_module',
524          'dependencies': [
525            '../base/base.gyp:base',
526            '../cc/cc.gyp:cc',
527            '../third_party/icu/icu.gyp:icui18n',
528            '../third_party/icu/icu.gyp:icuuc',
529            '../ui/aura/aura.gyp:aura',
530            '../ui/base/ui_base.gyp:ui_base',
531            '../ui/compositor/compositor.gyp:compositor',
532            '../ui/gfx/gfx.gyp:gfx',
533            '../ui/gfx/gfx.gyp:gfx_geometry',
534            '../ui/resources/ui_resources.gyp:ui_resources',
535            '../ui/resources/ui_resources.gyp:ui_test_pak',
536            '../ui/views/views.gyp:views',
537            '../url/url.gyp:url_lib',
538            'mojo_base.gyp:mojo_application_chromium',
539            'mojo_base.gyp:mojo_common_lib',
540            'mojo_aura_support',
541            'mojo_geometry_bindings',
542            'mojo_geometry_lib',
543            'mojo_input_events_lib',
544            'mojo_navigation_bindings',
545            'mojo_views_support',
546            'mojo_view_manager_bindings',
547            'mojo_view_manager_lib',
548            'mojo_window_manager_bindings',
549            '<(mojo_system_for_loadable_module)',
550          ],
551          'sources': [
552            'examples/browser/browser.cc',
553          ],
554        },
555        {
556          'target_name': 'package_mojo_aura_demo',
557          'variables': {
558            'app_name': 'mojo_aura_demo',
559          },
560          'includes': [ 'build/package_app.gypi' ],
561        },
562        {
563          # GYP version: //mojo/examples/demo_launcher
564          'target_name': 'mojo_demo_launcher',
565          'type': 'loadable_module',
566          'dependencies': [
567            '../base/base.gyp:base',
568            '../skia/skia.gyp:skia',
569            '../ui/gfx/gfx.gyp:gfx',
570            '../ui/gfx/gfx.gyp:gfx_geometry',
571            'mojo_base.gyp:mojo_application_chromium',
572            'mojo_base.gyp:mojo_cpp_bindings',
573            'mojo_base.gyp:mojo_utility',
574            'mojo_geometry_bindings',
575            'mojo_view_manager_bindings',
576            'mojo_view_manager_lib',
577            '<(mojo_system_for_loadable_module)',
578          ],
579          'includes': [
580            'mojo_public_gles2_for_loadable_module.gypi',
581          ],
582          'sources': [
583            'examples/demo_launcher/demo_launcher.cc',
584          ],
585        },
586        {
587          # GYP version: //mojo/examples/keyboard
588          'target_name': 'mojo_keyboard',
589          'type': 'loadable_module',
590          'dependencies': [
591            '../base/base.gyp:base',
592            '../cc/cc.gyp:cc',
593            '../third_party/icu/icu.gyp:icui18n',
594            '../third_party/icu/icu.gyp:icuuc',
595            '../ui/aura/aura.gyp:aura',
596            '../ui/base/ui_base.gyp:ui_base',
597            '../ui/compositor/compositor.gyp:compositor',
598            '../ui/gfx/gfx.gyp:gfx',
599            '../ui/gfx/gfx.gyp:gfx_geometry',
600            '../ui/resources/ui_resources.gyp:ui_resources',
601            '../ui/resources/ui_resources.gyp:ui_test_pak',
602            '../ui/views/views.gyp:views',
603            '../url/url.gyp:url_lib',
604            'mojo_base.gyp:mojo_application_chromium',
605            'mojo_base.gyp:mojo_common_lib',
606            'mojo_aura_support',
607            'mojo_geometry_bindings',
608            'mojo_geometry_lib',
609            'mojo_input_events_lib',
610            'mojo_keyboard_bindings',
611            'mojo_navigation_bindings',
612            'mojo_views_support',
613            'mojo_view_manager_bindings',
614            'mojo_view_manager_lib',
615            '<(mojo_system_for_loadable_module)',
616          ],
617          'sources': [
618            'examples/keyboard/keyboard_delegate.h',
619            'examples/keyboard/keyboard_view.cc',
620            'examples/keyboard/keyboard_view.h',
621            'examples/keyboard/keyboard.cc',
622            'examples/keyboard/keys.cc',
623            'examples/keyboard/keys.h',
624          ],
625        },
626        {
627          # GYP version: //mojo/examples/keyboard:bindings
628          'target_name': 'mojo_keyboard_bindings',
629          'type': 'static_library',
630          'sources': [
631            'examples/keyboard/keyboard.mojom',
632          ],
633          'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
634          'export_dependent_settings': [
635            'mojo_base.gyp:mojo_cpp_bindings',
636          ],
637          'dependencies': [
638            'mojo_base.gyp:mojo_cpp_bindings',
639          ],
640        },
641        {
642          # GN version: //mojo/examples/window_manager:bindings
643          'target_name': 'mojo_window_manager_bindings',
644          'type': 'static_library',
645          'sources': [
646            'examples/window_manager/window_manager.mojom',
647          ],
648          'dependencies': [
649            'mojo_base.gyp:mojo_cpp_bindings',
650            'mojo_geometry_bindings',
651          ],
652          'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
653          'export_dependent_settings': [
654            'mojo_base.gyp:mojo_cpp_bindings',
655          ],
656        },
657        {
658          # GN version: //mojo/examples/window_manager
659          'target_name': 'mojo_window_manager',
660          'type': 'loadable_module',
661          'dependencies': [
662            '../base/base.gyp:base',
663            '../ui/aura/aura.gyp:aura',
664            '../ui/base/ui_base.gyp:ui_base',
665            '../ui/gfx/gfx.gyp:gfx',
666            '../ui/gfx/gfx.gyp:gfx_geometry',
667            '../ui/resources/ui_resources.gyp:ui_resources',
668            '../ui/resources/ui_resources.gyp:ui_test_pak',
669            '../ui/views/views.gyp:views',
670            'mojo_base.gyp:mojo_application_chromium',
671            'mojo_base.gyp:mojo_cpp_bindings',
672            'mojo_base.gyp:mojo_utility',
673            'mojo_aura_support',
674            'mojo_core_window_manager_lib',
675            'mojo_geometry_bindings',
676            'mojo_geometry_lib',
677            'mojo_input_events_lib',
678            'mojo_keyboard_bindings',
679            'mojo_navigation_bindings',
680            'mojo_view_manager_lib',
681            'mojo_views_support',
682            'mojo_window_manager_bindings',
683            '<(mojo_system_for_loadable_module)',
684          ],
685          'includes': [
686            'mojo_public_gles2_for_loadable_module.gypi',
687          ],
688          'sources': [
689            'examples/window_manager/debug_panel.h',
690            'examples/window_manager/debug_panel.cc',
691            'examples/window_manager/window_manager.cc',
692          ],
693        },
694        {
695          # GN version: //mojo/examples/embedded_app
696          'target_name': 'mojo_embedded_app',
697          'type': 'loadable_module',
698          'dependencies': [
699            '../base/base.gyp:base',
700            '../ui/gfx/gfx.gyp:gfx_geometry',
701            '../url/url.gyp:url_lib',
702            'mojo_base.gyp:mojo_application_chromium',
703            'mojo_base.gyp:mojo_cpp_bindings',
704            'mojo_base.gyp:mojo_utility',
705            'mojo_geometry_bindings',
706            'mojo_navigation_bindings',
707            'mojo_view_manager_lib',
708            'mojo_window_manager_bindings',
709            '<(mojo_system_for_loadable_module)',
710          ],
711          'includes': [
712            'mojo_public_gles2_for_loadable_module.gypi',
713          ],
714          'sources': [
715            'examples/embedded_app/embedded_app.cc',
716          ],
717        },
718        {
719          # GN version: //mojo/examples/nesting_app
720          'target_name': 'mojo_nesting_app',
721          'type': 'loadable_module',
722          'dependencies': [
723            '../base/base.gyp:base',
724            '../ui/gfx/gfx.gyp:gfx_geometry',
725            '../url/url.gyp:url_lib',
726            'mojo_base.gyp:mojo_application_chromium',
727            'mojo_base.gyp:mojo_cpp_bindings',
728            'mojo_base.gyp:mojo_utility',
729            'mojo_geometry_bindings',
730            'mojo_navigation_bindings',
731            'mojo_view_manager_lib',
732            'mojo_window_manager_bindings',
733            '<(mojo_system_for_loadable_module)',
734          ],
735          'includes': [
736            'mojo_public_gles2_for_loadable_module.gypi',
737          ],
738          'sources': [
739            'examples/nesting_app/nesting_app.cc',
740          ],
741        },
742        {
743          # GN version: //mojo/examples/media_viewer
744          'target_name': 'mojo_media_viewer',
745          'type': 'loadable_module',
746          'dependencies': [
747            '../base/base.gyp:base',
748            '../skia/skia.gyp:skia',
749            '../ui/gfx/gfx.gyp:gfx_geometry',
750            '../ui/views/views.gyp:views',
751            'mojo_base.gyp:mojo_application_chromium',
752            'mojo_input_events_lib',
753            'mojo_media_viewer_bindings',
754            'mojo_navigation_bindings',
755            'mojo_views_support',
756            'mojo_view_manager_bindings',
757            'mojo_view_manager_lib',
758            '<(mojo_system_for_loadable_module)',
759          ],
760          'sources': [
761            'examples/media_viewer/media_viewer.cc',
762          ],
763        },
764        {
765          # GN version: //mojo/examples/wm_flow
766          'target_name': 'mojo_wm_flow_wm',
767          'type': 'loadable_module',
768          'dependencies': [
769            '../base/base.gyp:base',
770            '../skia/skia.gyp:skia',
771            '../ui/views/views.gyp:views',
772            'mojo_base.gyp:mojo_application_chromium',
773            'mojo_core_window_manager_lib',
774            'mojo_view_manager_lib',
775            'mojo_views_support',
776            '<(mojo_system_for_loadable_module)',
777          ],
778          'sources': [
779            'examples/wm_flow/wm/frame_controller.cc',
780            'examples/wm_flow/wm/frame_controller.h',
781            'examples/wm_flow/wm/wm.cc',
782          ],
783        },
784        {
785          # GN version: //mojo/examples/wm_flow:init
786          'target_name': 'mojo_wm_flow_init',
787          'type': 'loadable_module',
788          'dependencies': [
789            '../base/base.gyp:base',
790            'mojo_base.gyp:mojo_application_chromium',
791            'mojo_view_manager_bindings',
792            'mojo_view_manager_lib',
793            '<(mojo_system_for_loadable_module)',
794          ],
795          'sources': [
796            'examples/wm_flow/init/init.cc',
797          ],
798        },
799        {
800          # GN version: //mojo/examples/wm_flow:embedder_bindings
801          'target_name': 'mojo_wm_flow_embedder_bindings',
802          'type': 'static_library',
803          'sources': [
804            'examples/wm_flow/app/embedder.mojom',
805          ],
806          'dependencies': [
807            'mojo_base.gyp:mojo_cpp_bindings',
808          ],
809          'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
810          'export_dependent_settings': [
811            'mojo_base.gyp:mojo_cpp_bindings',
812          ],
813        },
814        {
815          # GN version: //mojo/examples/wm_flow:embeddee_bindings
816          'target_name': 'mojo_wm_flow_embeddee_bindings',
817          'type': 'static_library',
818          'sources': [
819            'examples/wm_flow/embedded/embeddee.mojom',
820          ],
821          'dependencies': [
822            'mojo_base.gyp:mojo_cpp_bindings',
823          ],
824          'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
825          'export_dependent_settings': [
826            'mojo_base.gyp:mojo_cpp_bindings',
827          ],
828        },
829        {
830          # GN version: //mojo/examples/wm_flow:app
831          'target_name': 'mojo_wm_flow_app',
832          'type': 'loadable_module',
833          'dependencies': [
834            '../base/base.gyp:base',
835            'mojo_base.gyp:mojo_application_chromium',
836            'mojo_core_window_manager_bindings',
837            'mojo_view_manager_lib',
838            'mojo_wm_flow_embeddee_bindings',
839            'mojo_wm_flow_embedder_bindings',
840            '<(mojo_system_for_loadable_module)',
841          ],
842          'sources': [
843            'examples/wm_flow/app/app.cc',
844          ],
845        },
846        {
847          # GN version: //mojo/examples/wm_flow:embedded
848          'target_name': 'mojo_wm_flow_embedded',
849          'type': 'loadable_module',
850          'dependencies': [
851            '../base/base.gyp:base',
852            'mojo_base.gyp:mojo_application_chromium',
853            'mojo_core_window_manager_bindings',
854            'mojo_view_manager_lib',
855            'mojo_wm_flow_embeddee_bindings',
856            'mojo_wm_flow_embedder_bindings',
857            '<(mojo_system_for_loadable_module)',
858          ],
859          'sources': [
860            'examples/wm_flow/embedded/embedded.cc',
861          ],
862        },
863      ],
864    }],
865    ['OS=="linux"', {
866      'targets': [
867        {
868          # GN version: //mojo/examples/dbus_echo:dbus_echo_app
869          'target_name': 'mojo_dbus_echo',
870          'type': 'loadable_module',
871          'dependencies': [
872            '../base/base.gyp:base',
873            'mojo_base.gyp:mojo_application_standalone',
874            'mojo_base.gyp:mojo_cpp_bindings',
875            'mojo_base.gyp:mojo_utility',
876            'mojo_echo_service_bindings',
877            '<(mojo_system_for_loadable_module)',
878          ],
879          'sources': [
880            'examples/dbus_echo/dbus_echo_app.cc',
881          ],
882        },
883        {
884          # GN version: //mojo/examples/dbus_echo:dbus_echo_service
885          'target_name': 'mojo_dbus_echo_service',
886          'type': 'executable',
887          'dependencies': [
888            '../base/base.gyp:base',
889            '../build/linux/system.gyp:dbus',
890            '../dbus/dbus.gyp:dbus',
891            'mojo_base.gyp:mojo_common_lib',
892            'mojo_base.gyp:mojo_system_impl',
893            'mojo_base.gyp:mojo_application_chromium',
894            'mojo_dbus_service',
895            'mojo_echo_service_bindings',
896          ],
897          'sources': [
898            'examples/dbus_echo/dbus_echo_service.cc',
899          ],
900        },
901      ],
902
903    }],
904  ],
905}
906