Extract Builder and subclasses to separate module.
[chromium-blink-merge.git] / mojo / mojo_services.gypi
blob2ec0a1eb528735765c988ce857cb0815f60bc2db
1 # Copyright (c) 2014 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       # GN version: //mojo/services/dbus_echo:bindings
9       'target_name': 'mojo_echo_bindings',
10       'type': 'static_library',
11       'sources': [
12         'services/dbus_echo/echo.mojom',
13       ],
14       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
15       'export_dependent_settings': [
16         'mojo_base.gyp:mojo_cpp_bindings',
17       ],
18       'dependencies': [
19         'mojo_base.gyp:mojo_cpp_bindings',
20       ],
21     },
22     {
23       'target_name': 'mojo_html_viewer',
24       'type': 'loadable_module',
25       'dependencies': [
26         '../net/net.gyp:net',
27         '../skia/skia.gyp:skia',
28         '../third_party/WebKit/public/blink.gyp:blink',
29         '../ui/native_theme/native_theme.gyp:native_theme',
30         '../url/url.gyp:url_lib',
31         'mojo_base.gyp:mojo_common_lib',
32         'mojo_base.gyp:mojo_cpp_bindings',
33         'mojo_base.gyp:mojo_environment_chromium',
34         'mojo_base.gyp:mojo_utility',
35         'mojo_base.gyp:mojo_application_chromium',
36         'mojo_navigation_bindings',
37         'mojo_network_bindings',
38         'mojo_launcher_bindings',
39         'mojo_view_manager_lib',
40         '<(mojo_system_for_loadable_module)',
41       ],
42       'include_dirs': [
43         'third_party/WebKit'
44       ],
45       'sources': [
46         'public/cpp/application/lib/mojo_main_chromium.cc',
47         'services/html_viewer/blink_input_events_type_converters.cc',
48         'services/html_viewer/blink_input_events_type_converters.h',
49         'services/html_viewer/blink_platform_impl.cc',
50         'services/html_viewer/blink_platform_impl.h',
51         'services/html_viewer/blink_url_request_type_converters.cc',
52         'services/html_viewer/blink_url_request_type_converters.h',
53         'services/html_viewer/html_viewer.cc',
54         'services/html_viewer/html_document_view.cc',
55         'services/html_viewer/html_document_view.h',
56         'services/html_viewer/webcookiejar_impl.cc',
57         'services/html_viewer/webcookiejar_impl.h',
58         'services/html_viewer/webmimeregistry_impl.cc',
59         'services/html_viewer/webmimeregistry_impl.h',
60         'services/html_viewer/webstoragenamespace_impl.cc',
61         'services/html_viewer/webstoragenamespace_impl.h',
62         'services/html_viewer/webthemeengine_impl.cc',
63         'services/html_viewer/webthemeengine_impl.h',
64         'services/html_viewer/webthread_impl.cc',
65         'services/html_viewer/webthread_impl.h',
66         'services/html_viewer/weburlloader_impl.cc',
67         'services/html_viewer/weburlloader_impl.h',
68       ],
69     },
70     {
71       # GN version: //mojo/services/public/cpp/input_events
72       'target_name': 'mojo_input_events_lib',
73       'type': '<(component)',
74       'defines': [
75         'MOJO_INPUT_EVENTS_IMPLEMENTATION',
76       ],
77       'dependencies': [
78         '../base/base.gyp:base',
79         '../ui/events/events.gyp:events',
80         '../ui/gfx/gfx.gyp:gfx_geometry',
81         'mojo_base.gyp:mojo_environment_chromium',
82         'mojo_input_events_bindings',
83         'mojo_geometry_bindings',
84         'mojo_geometry_lib',
85         '<(mojo_system_for_component)',
86       ],
87       'sources': [
88         'services/public/cpp/input_events/lib/input_events_type_converters.cc',
89         'services/public/cpp/input_events/input_events_type_converters.h',
90         'services/public/cpp/input_events/mojo_input_events_export.h',
91       ],
92     },
93     {
94       # GN version: //mojo/services/public/interfaces/input_events
95       'target_name': 'mojo_input_events_bindings',
96       'type': 'static_library',
97       'sources': [
98         'services/public/interfaces/input_events/input_events.mojom',
99       ],
100       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
101       'export_dependent_settings': [
102         'mojo_base.gyp:mojo_cpp_bindings',
103       ],
104       'dependencies': [
105         'mojo_base.gyp:mojo_cpp_bindings',
106         'mojo_geometry_bindings',
107       ],
108     },
109     {
110       # GN version: //mojo/services/public/interfaces/geometry
111       'target_name': 'mojo_geometry_bindings',
112       'type': 'static_library',
113       'sources': [
114         'services/public/interfaces/geometry/geometry.mojom',
115       ],
116       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
117       'dependencies': [
118         'mojo_base.gyp:mojo_cpp_bindings',
119       ],
120       'export_dependent_settings': [
121         'mojo_base.gyp:mojo_cpp_bindings',
122       ],
123     },
124     {
125       # GN version: //mojo/services/public/cpp/geometry
126       'target_name': 'mojo_geometry_lib',
127       'type': '<(component)',
128       'defines': [
129         'MOJO_GEOMETRY_IMPLEMENTATION',
130       ],
131       'dependencies': [
132         '../skia/skia.gyp:skia',
133         '../ui/gfx/gfx.gyp:gfx',
134         '../ui/gfx/gfx.gyp:gfx_geometry',
135         'mojo_base.gyp:mojo_environment_chromium',
136         'mojo_geometry_bindings',
137         '<(mojo_system_for_component)',
138       ],
139       'export_dependent_settings': [
140         '../ui/gfx/gfx.gyp:gfx',
141       ],
142       'sources': [
143         'services/public/cpp/geometry/lib/geometry_type_converters.cc',
144         'services/public/cpp/geometry/geometry_type_converters.h',
145         'services/public/cpp/geometry/mojo_geometry_export.h',
146       ],
147     },
148     {
149       'target_name': 'mojo_surfaces_lib',
150       'type': '<(component)',
151       'defines': [
152         'MOJO_SURFACES_IMPLEMENTATION',
153       ],
154       'dependencies': [
155         '../base/base.gyp:base',
156         '../cc/cc.gyp:cc',
157         '../cc/cc.gyp:cc_surfaces',
158         '../gpu/gpu.gyp:gpu',
159         '../ui/gfx/gfx.gyp:gfx',
160         '../ui/gfx/gfx.gyp:gfx_geometry',
161         'mojo_base.gyp:mojo_environment_chromium',
162         'mojo_geometry_lib',
163         'mojo_surfaces_bindings',
164         '<(mojo_system_for_component)',
165       ],
166       'export_dependent_settings': [
167         'mojo_geometry_lib',
168       ],
169       'sources': [
170         'services/public/cpp/surfaces/lib/surfaces_type_converters.cc',
171         'services/public/cpp/surfaces/surfaces_type_converters.h',
172         'services/public/cpp/surfaces/mojo_surfaces_export.h',
173       ],
174     },
175     {
176       'target_name': 'mojo_surfaces_lib_unittests',
177       'type': 'executable',
178       'dependencies': [
179         '../base/base.gyp:base',
180         '../base/base.gyp:test_support_base',
181         '../cc/cc.gyp:cc',
182         '../cc/cc.gyp:cc_surfaces',
183         '../gpu/gpu.gyp:gpu',
184         '../skia/skia.gyp:skia',
185         '../testing/gtest.gyp:gtest',
186         '../ui/gfx/gfx.gyp:gfx',
187         '../ui/gfx/gfx.gyp:gfx_geometry',
188         '../ui/gfx/gfx.gyp:gfx_test_support',
189         'mojo_base.gyp:mojo_environment_chromium',
190         'mojo_base.gyp:mojo_run_all_unittests',
191         'mojo_geometry_lib',
192         'mojo_surfaces_bindings',
193         'mojo_surfaces_lib',
194       ],
195       'sources': [
196         'services/public/cpp/surfaces/tests/surface_unittest.cc',
197       ],
198     },
199     {
200       # GN version: //mojo/services/gles2
201       'target_name': 'mojo_gles2_service',
202       'type': 'static_library',
203       'dependencies': [
204         '../base/base.gyp:base',
205         '../gpu/gpu.gyp:command_buffer_service',
206         '../ui/gfx/gfx.gyp:gfx',
207         '../ui/gfx/gfx.gyp:gfx_geometry',
208         '../ui/gl/gl.gyp:gl',
209         'mojo_base.gyp:mojo_gles2_bindings',
210       ],
211       'export_dependent_settings': [
212         'mojo_base.gyp:mojo_gles2_bindings',
213       ],
214       'sources': [
215         'services/gles2/command_buffer_impl.cc',
216         'services/gles2/command_buffer_impl.h',
217       ],
218     },
219     {
220       # GN version: //mojo/services/public/interfaces/native_viewport
221       'target_name': 'mojo_native_viewport_bindings',
222       'type': 'static_library',
223       'sources': [
224         'services/public/interfaces/native_viewport/native_viewport.mojom',
225       ],
226       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
227       'export_dependent_settings': [
228         'mojo_base.gyp:mojo_cpp_bindings',
229       ],
230       'dependencies': [
231         'mojo_base.gyp:mojo_cpp_bindings',
232         'mojo_base.gyp:mojo_gles2_bindings',
233         'mojo_geometry_bindings',
234         'mojo_input_events_bindings',
235       ],
236     },
237     {
238       # GN version: //mojo/services/native_viewport
239       'target_name': 'mojo_native_viewport_service_lib',
240       # This is linked directly into the embedder, so we make it a static_library.
241       # TODO(davemoore): Make this a true service.
242       'type': 'static_library',
243       'dependencies': [
244         '../base/base.gyp:base',
245         '../ui/events/events.gyp:events',
246         '../ui/gfx/gfx.gyp:gfx',
247         '../ui/gfx/gfx.gyp:gfx_geometry',
248         'mojo_base.gyp:mojo_common_lib',
249         'mojo_base.gyp:mojo_environment_chromium',
250         'mojo_base.gyp:mojo_application_chromium',
251         'mojo_geometry_bindings',
252         'mojo_geometry_lib',
253         'mojo_gles2_service',
254         'mojo_input_events_lib',
255         'mojo_native_viewport_bindings',
256       ],
257       'sources': [
258         'services/native_viewport/native_viewport_impl.cc',
259         'services/native_viewport/native_viewport_impl.h',
260         'services/native_viewport/platform_viewport.h',
261         'services/native_viewport/platform_viewport_android.cc',
262         'services/native_viewport/platform_viewport_mac.mm',
263         'services/native_viewport/platform_viewport_ozone.cc',
264         'services/native_viewport/platform_viewport_stub.cc',
265         'services/native_viewport/platform_viewport_win.cc',
266         'services/native_viewport/platform_viewport_x11.cc',
267       ],
268       'conditions': [
269         ['OS=="win" or OS=="android" or OS=="linux" or OS=="mac"', {
270           'sources!': [
271             'services/native_viewport/platform_viewport_stub.cc',
272           ],
273         }],
274         ['OS=="android"', {
275           'dependencies': [
276             'mojo_base.gyp:mojo_jni_headers',
277           ],
278         }],
279         ['OS=="win"', {
280           'dependencies': [
281             '../ui/platform_window/win/win_window.gyp:win_window',
282           ],
283         }],
284         ['use_x11==1', {
285           'dependencies': [
286             '../ui/platform_window/x11/x11_window.gyp:x11_window',
287             '../ui/events/platform/x11/x11_events_platform.gyp:x11_events_platform',
288           ],
289         }],
290       ],
291     },
292     {
293       # GN version: //mojo/services/public/interfaces/navigation
294       'target_name': 'mojo_navigation_bindings',
295       'type': 'static_library',
296       'sources': [
297         'services/public/interfaces/navigation/navigation.mojom',
298       ],
299       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
300       'export_dependent_settings': [
301         'mojo_base.gyp:mojo_cpp_bindings',
302       ],
303       'dependencies': [
304         'mojo_base.gyp:mojo_cpp_bindings',
305         'mojo_network_bindings',
306       ],
307     },
308     {
309       # GN version: //mojo/services/public/interfaces/content_handler
310       'target_name': 'mojo_content_handler_bindings',
311       'type': 'static_library',
312       'sources': [
313         'services/public/interfaces/content_handler/content_handler.mojom',
314       ],
315       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
316       'export_dependent_settings': [
317         'mojo_base.gyp:mojo_cpp_bindings',
318       ],
319       'dependencies': [
320         'mojo_base.gyp:mojo_application_bindings',
321         'mojo_base.gyp:mojo_cpp_bindings',
322         'mojo_network_bindings',
323       ],
324     },
325     {
326       # GN version: //mojo/services/public/interfaces/network
327       'target_name': 'mojo_network_bindings',
328       'type': 'static_library',
329       'sources': [
330         'services/public/interfaces/network/cookie_store.mojom',
331         'services/public/interfaces/network/network_error.mojom',
332         'services/public/interfaces/network/network_service.mojom',
333         'services/public/interfaces/network/url_loader.mojom',
334       ],
335       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
336       'export_dependent_settings': [
337         'mojo_base.gyp:mojo_cpp_bindings',
338       ],
339       'dependencies': [
340         'mojo_base.gyp:mojo_cpp_bindings',
341       ],
342     },
343     {
344       # GN version: //mojo/services/network
345       'target_name': 'mojo_network_service_lib',
346       'type': 'static_library',
347       'dependencies': [
348         '../base/base.gyp:base',
349         '../net/net.gyp:net',
350         '../url/url.gyp:url_lib',
351         'mojo_base.gyp:mojo_common_lib',
352         'mojo_base.gyp:mojo_environment_chromium',
353         'mojo_base.gyp:mojo_application_chromium',
354         'mojo_network_bindings',
355       ],
356       'export_dependent_settings': [
357         'mojo_network_bindings',
358       ],
359       'sources': [
360         'services/network/cookie_store_impl.cc',
361         'services/network/cookie_store_impl.h',
362         'services/network/network_context.cc',
363         'services/network/network_context.h',
364         'services/network/network_service_impl.cc',
365         'services/network/network_service_impl.h',
366         'services/network/url_loader_impl.cc',
367         'services/network/url_loader_impl.h',
368       ],
369     },
370     {
371       'target_name': 'mojo_network_service',
372       'type': 'loadable_module',
373       'dependencies': [
374         'mojo_network_bindings',
375         'mojo_network_service_lib',
376         '<(mojo_system_for_loadable_module)',
377       ],
378       'export_dependent_settings': [
379         'mojo_network_bindings',
380       ],
381       'sources': [
382         'services/network/main.cc',
383       ],
384     },
385     {
386       'target_name': 'mojo_surfaces_service',
387       'type': 'loadable_module',
388       'dependencies': [
389         '../base/base.gyp:base',
390         '../cc/cc.gyp:cc',
391         '../cc/cc.gyp:cc_surfaces',
392         '../ui/gfx/gfx.gyp:gfx_geometry',
393         'mojo_base.gyp:mojo_environment_chromium',
394         'mojo_base.gyp:mojo_application_chromium',
395         'mojo_cc_support',
396         'mojo_geometry_bindings',
397         'mojo_geometry_lib',
398         'mojo_surfaces_bindings',
399         'mojo_surfaces_lib',
400         '<(mojo_gles2_for_loadable_module)',
401         '<(mojo_system_for_loadable_module)',
402       ],
403       'sources': [
404         'services/surfaces/surfaces_impl.cc',
405         'services/surfaces/surfaces_impl.h',
406         'services/surfaces/surfaces_service_application.cc',
407         'services/surfaces/surfaces_service_application.h',
408         'public/cpp/application/lib/mojo_main_chromium.cc',
409       ],
410     },
411     {
412       # GN version: //mojo/services/public/cpp/view_manager:common
413       'target_name': 'mojo_view_manager_common',
414       'type': 'static_library',
415       'sources': [
416         'services/public/cpp/view_manager/types.h',
417       ],
418     },
419     {
420       # GN version: //mojo/services/public/interfaces/launcher
421       'target_name': 'mojo_launcher_bindings',
422       'type': 'static_library',
423       'sources': [
424         'services/public/interfaces/launcher/launcher.mojom',
425       ],
426       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
427       'export_dependent_settings': [
428         'mojo_base.gyp:mojo_cpp_bindings',
429       ],
430       'dependencies': [
431         'mojo_base.gyp:mojo_cpp_bindings',
432         'mojo_navigation_bindings',
433       ],
434     },
435     {
436       'target_name': 'mojo_launcher',
437       'type': 'loadable_module',
438       'dependencies': [
439         '../base/base.gyp:base',
440         '../url/url.gyp:url_lib',
441         'mojo_base.gyp:mojo_cpp_bindings',
442         'mojo_base.gyp:mojo_environment_chromium',
443         'mojo_base.gyp:mojo_application_chromium',
444         'mojo_launcher_bindings',
445         'mojo_network_bindings',
446         '<(mojo_system_for_loadable_module)',
447       ],
448       'sources': [
449         'services/launcher/launcher.cc',
450         'public/cpp/application/lib/mojo_main_chromium.cc',
451       ],
452     },
453     {
454       # GN version: //mojo/services/public/interfaces/view_manager
455       'target_name': 'mojo_view_manager_bindings',
456       'type': 'static_library',
457       'sources': [
458         'services/public/interfaces/view_manager/view_manager.mojom',
459         'services/public/interfaces/view_manager/view_manager_constants.mojom',
460       ],
461       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
462       'export_dependent_settings': [
463         'mojo_base.gyp:mojo_cpp_bindings',
464       ],
465       'dependencies': [
466         'mojo_base.gyp:mojo_application_bindings',
467         'mojo_base.gyp:mojo_cpp_bindings',
468         'mojo_geometry_bindings',
469         'mojo_input_events_bindings',
470       ],
471     },
472     {
473       # GN version: //mojo/services/public/cpp/view_manager
474       'target_name': 'mojo_view_manager_lib',
475       'type': 'static_library',
476       'dependencies': [
477         '../base/base.gyp:base',
478         '../skia/skia.gyp:skia',
479         '../ui/events/events.gyp:events',
480         '../ui/gfx/gfx.gyp:gfx',
481         '../ui/gfx/gfx.gyp:gfx_geometry',
482         'mojo_base.gyp:mojo_application_chromium',
483         'mojo_base.gyp:mojo_application_bindings',
484         'mojo_core_window_manager_bindings',
485         'mojo_geometry_bindings',
486         'mojo_geometry_lib',
487         'mojo_view_manager_bindings',
488         'mojo_view_manager_common',
489       ],
490       'sources': [
491         'services/public/cpp/view_manager/lib/view.cc',
492         'services/public/cpp/view_manager/lib/view_manager_client_factory.cc',
493         'services/public/cpp/view_manager/lib/view_manager_client_impl.cc',
494         'services/public/cpp/view_manager/lib/view_manager_client_impl.h',
495         'services/public/cpp/view_manager/lib/view_observer.cc',
496         'services/public/cpp/view_manager/lib/view_private.cc',
497         'services/public/cpp/view_manager/lib/view_private.h',
498         'services/public/cpp/view_manager/view.h',
499         'services/public/cpp/view_manager/view_manager.h',
500         'services/public/cpp/view_manager/view_manager_client_factory.h',
501         'services/public/cpp/view_manager/view_manager_delegate.h',
502         'services/public/cpp/view_manager/view_observer.h',
503         'services/public/cpp/view_manager/window_manager_delegate.h',
504       ],
505       'export_dependent_settings': [
506         'mojo_view_manager_bindings',
507       ],
508     },
509     {
510       'target_name': 'mojo_view_manager_lib_unittests',
511       'type': 'executable',
512       'dependencies': [
513         '../base/base.gyp:base',
514         '../base/base.gyp:test_support_base',
515         '../testing/gtest.gyp:gtest',
516         '../ui/gfx/gfx.gyp:gfx',
517         '../ui/gfx/gfx.gyp:gfx_test_support',
518         'mojo_base.gyp:mojo_environment_chromium',
519         'mojo_geometry_bindings',
520         'mojo_geometry_lib',
521         'mojo_shell_test_support',
522         'mojo_view_manager_bindings',
523         'mojo_view_manager_lib',
524       ],
525       'sources': [
526         'services/public/cpp/view_manager/tests/view_unittest.cc',
527         'services/public/cpp/view_manager/tests/view_manager_unittest.cc',
528       ],
529       'conditions': [
530         ['use_aura==1', {
531           'dependencies': [
532             'mojo_view_manager_run_unittests'
533           ],
534         }, {  # use_aura==0
535           'dependencies': [
536             'mojo_base.gyp:mojo_run_all_unittests',
537           ],
538         }],
539       ],
540     },
541     {
542       # GN version: //mojo/services/public/interfaces/surfaces
543       'target_name': 'mojo_surfaces_bindings',
544       'type': 'static_library',
545       'sources': [
546         'services/public/interfaces/surfaces/surfaces.mojom',
547         'services/public/interfaces/surfaces/surface_id.mojom',
548         'services/public/interfaces/surfaces/quads.mojom',
549       ],
550       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
551       'export_dependent_settings': [
552         'mojo_base.gyp:mojo_cpp_bindings',
553       ],
554       'dependencies': [
555         'mojo_base.gyp:mojo_cpp_bindings',
556         'mojo_geometry_bindings',
557         'mojo_native_viewport_bindings',
558       ],
559     },
560     {
561       # GN version: //mojo/services/test_service:bindings
562       'target_name': 'mojo_test_service_bindings',
563       'type': 'static_library',
564       'sources': [
565          # TODO(tim): Move to services/public/interfaces?
566         'services/test_service/test_request_tracker.mojom',
567         'services/test_service/test_service.mojom',
568       ],
569       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
570       'export_dependent_settings': [
571         'mojo_base.gyp:mojo_cpp_bindings',
572       ],
573       'dependencies': [
574         'mojo_base.gyp:mojo_cpp_bindings',
575       ],
576     },
577     {
578       # GN version: //mojo/services/test_service
579       'target_name': 'mojo_test_app',
580       'type': 'loadable_module',
581       'dependencies': [
582         '../base/base.gyp:base',
583         'mojo_base.gyp:mojo_environment_standalone',
584         'mojo_base.gyp:mojo_utility',
585         'mojo_base.gyp:mojo_application_standalone',
586         'mojo_test_service_bindings',
587         '<(mojo_system_for_loadable_module)',
588       ],
589       'sources': [
590         'public/cpp/application/lib/mojo_main_standalone.cc',
591         'services/test_service/test_request_tracker_client_impl.cc',
592         'services/test_service/test_request_tracker_client_impl.h',
593         'services/test_service/test_service_application.cc',
594         'services/test_service/test_service_application.h',
595         'services/test_service/test_service_impl.cc',
596         'services/test_service/test_service_impl.h',
597         'services/test_service/test_time_service_impl.cc',
598         'services/test_service/test_time_service_impl.h',
599       ],
600     },
601     {
602       # GN version: //mojo/services/test_service:request_tracker
603       'target_name': 'mojo_test_request_tracker_app',
604       'type': 'loadable_module',
605       'dependencies': [
606         '../base/base.gyp:base',
607         'mojo_base.gyp:mojo_environment_standalone',
608         'mojo_base.gyp:mojo_utility',
609         'mojo_base.gyp:mojo_application_standalone',
610         'mojo_test_service_bindings',
611         '<(mojo_system_for_loadable_module)',
612       ],
613       'sources': [
614         'public/cpp/application/lib/mojo_main_standalone.cc',
615         'services/test_service/test_request_tracker_client_impl.cc',
616         'services/test_service/test_request_tracker_client_impl.h',
617         'services/test_service/test_request_tracker_application.cc',
618         'services/test_service/test_request_tracker_application.h',
619         'services/test_service/test_time_service_impl.cc',
620         'services/test_service/test_time_service_impl.h',
621         'services/test_service/test_request_tracker_impl.cc',
622         'services/test_service/test_request_tracker_impl.h',
623       ],
624     },
625     {
626       # GN version: //mojo/services/public/interfaces/window_manager
627       'target_name': 'mojo_core_window_manager_bindings',
628       'type': 'static_library',
629       'sources': [
630         'services/public/interfaces/window_manager/window_manager.mojom',
631       ],
632       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
633       'export_dependent_settings': [
634         'mojo_base.gyp:mojo_cpp_bindings',
635       ],
636       'dependencies': [
637         'mojo_base.gyp:mojo_cpp_bindings',
638       ],
639     },
640   ],
641   'conditions': [
642     ['use_aura==1', {
643       'targets': [
644         {
645           # GN version: //mojo/services/view_manager
646           'target_name': 'mojo_view_manager',
647           'type': '<(component)',
648           'dependencies': [
649             '../base/base.gyp:base',
650             '../cc/cc.gyp:cc',
651             '../skia/skia.gyp:skia',
652             '../ui/aura/aura.gyp:aura',
653             '../ui/base/ui_base.gyp:ui_base',
654             '../ui/compositor/compositor.gyp:compositor',
655             '../ui/events/events.gyp:events',
656             '../ui/events/events.gyp:events_base',
657             '../ui/gfx/gfx.gyp:gfx',
658             '../ui/gfx/gfx.gyp:gfx_geometry',
659             '../ui/gl/gl.gyp:gl',
660             '../webkit/common/gpu/webkit_gpu.gyp:webkit_gpu',
661             'mojo_base.gyp:mojo_common_lib',
662             'mojo_base.gyp:mojo_environment_chromium',
663             'mojo_base.gyp:mojo_application_chromium',
664             'mojo_cc_support',
665             'mojo_geometry_bindings',
666             'mojo_geometry_lib',
667             'mojo_input_events_bindings',
668             'mojo_input_events_lib',
669             'mojo_native_viewport_bindings',
670             'mojo_view_manager_bindings',
671             'mojo_view_manager_common',
672             '<(mojo_gles2_for_component)',
673             '<(mojo_system_for_component)',
674           ],
675           'sources': [
676             'public/cpp/application/lib/mojo_main_chromium.cc',
677             'services/view_manager/access_policy.h',
678             'services/view_manager/access_policy_delegate.h',
679             'services/view_manager/default_access_policy.cc',
680             'services/view_manager/default_access_policy.h',
681             'services/view_manager/window_manager_access_policy.cc',
682             'services/view_manager/window_manager_access_policy.h',
683             'services/view_manager/ids.h',
684             'services/view_manager/main.cc',
685             'services/view_manager/node.cc',
686             'services/view_manager/node.h',
687             'services/view_manager/node_delegate.h',
688             'services/view_manager/root_node_manager.cc',
689             'services/view_manager/root_node_manager.h',
690             'services/view_manager/root_view_manager.cc',
691             'services/view_manager/root_view_manager.h',
692             'services/view_manager/root_view_manager_delegate.h',
693             'services/view_manager/screen_impl.cc',
694             'services/view_manager/screen_impl.h',
695             'services/view_manager/view_manager_export.h',
696             'services/view_manager/view_manager_init_service_context.cc',
697             'services/view_manager/view_manager_init_service_context.h',
698             'services/view_manager/view_manager_init_service_impl.cc',
699             'services/view_manager/view_manager_init_service_impl.h',
700             'services/view_manager/view_manager_service_impl.cc',
701             'services/view_manager/view_manager_service_impl.h',
702             'services/view_manager/context_factory_impl.cc',
703             'services/view_manager/context_factory_impl.h',
704             'services/view_manager/window_tree_host_impl.cc',
705             'services/view_manager/window_tree_host_impl.h',
706           ],
707           'defines': [
708             'MOJO_VIEW_MANAGER_IMPLEMENTATION',
709           ],
710         },
711         {
712           'target_name': 'mojo_view_manager_run_unittests',
713           'type': 'static_library',
714           'dependencies': [
715             '../base/base.gyp:base',
716             '../base/base.gyp:test_support_base',
717             '../ui/gl/gl.gyp:gl',
718           ],
719           'sources': [
720             'services/public/cpp/view_manager/lib/view_manager_test_suite.cc',
721             'services/public/cpp/view_manager/lib/view_manager_test_suite.h',
722             'services/public/cpp/view_manager/lib/view_manager_unittests.cc',
723           ],
724           'conditions': [
725             ['OS=="linux"', {
726               'dependencies': [
727                 '../third_party/mesa/mesa.gyp:osmesa',
728                 'mojo_native_viewport_service_lib',
729               ],
730             }],
731             ['use_x11==1', {
732               'dependencies': [
733                 '../ui/gfx/x/gfx_x11.gyp:gfx_x11',
734               ],
735             }],
736           ],
737         },
738         {
739           'target_name': 'mojo_view_manager_unittests',
740           'type': 'executable',
741           'dependencies': [
742             '../base/base.gyp:base',
743             '../base/base.gyp:test_support_base',
744             '../skia/skia.gyp:skia',
745             '../testing/gtest.gyp:gtest',
746             '../ui/aura/aura.gyp:aura',
747             '../ui/gfx/gfx.gyp:gfx_geometry',
748             '../ui/gl/gl.gyp:gl',
749             'mojo_application_manager',
750             'mojo_base.gyp:mojo_system_impl',
751             'mojo_base.gyp:mojo_environment_chromium',
752             'mojo_base.gyp:mojo_application_chromium',
753             'mojo_geometry_bindings',
754             'mojo_geometry_lib',
755             'mojo_input_events_bindings',
756             'mojo_input_events_lib',
757             'mojo_shell_test_support',
758             'mojo_view_manager_bindings',
759             'mojo_view_manager_common',
760             'mojo_view_manager_run_unittests',
761           ],
762           'sources': [
763             'services/view_manager/test_change_tracker.cc',
764             'services/view_manager/test_change_tracker.h',
765             'services/view_manager/view_manager_unittest.cc',
766           ],
767         },
768         {
769           'target_name': 'package_mojo_view_manager',
770           'variables': {
771             'app_name': 'mojo_view_manager',
772           },
773           'includes': [ 'build/package_app.gypi' ],
774         },
775         {
776           'target_name': 'mojo_core_window_manager_lib',
777           'type': 'static_library',
778           'dependencies': [
779             '../base/base.gyp:base',
780             '../ui/base/ui_base.gyp:ui_base',
781             '../ui/gfx/gfx.gyp:gfx',
782             '../ui/gfx/gfx.gyp:gfx_geometry',
783             '../ui/wm/wm.gyp:wm',
784             'mojo_base.gyp:mojo_common_lib',
785             'mojo_base.gyp:mojo_environment_chromium',
786             'mojo_base.gyp:mojo_application_chromium',
787             'mojo_aura_support',
788             'mojo_core_window_manager_bindings',
789             'mojo_input_events_lib',
790             'mojo_view_manager_lib',
791           ],
792           'sources': [
793             'services/window_manager/window_manager_app.cc',
794             'services/window_manager/window_manager_app.h',
795             'services/window_manager/window_manager_service_impl.cc',
796             'services/window_manager/window_manager_service_impl.h',
797           ],
798         },
799         {
800           'target_name': 'mojo_core_window_manager',
801           'type': 'loadable_module',
802           'dependencies': [
803             'mojo_core_window_manager_lib',
804             '<(mojo_system_for_loadable_module)',
805           ],
806           'sources': [
807             'public/cpp/application/lib/mojo_main_chromium.cc',
808             'services/window_manager/main.cc',
809           ],
810         },
811         {
812           'target_name': 'mojo_core_window_manager_unittests',
813           'type': 'executable',
814           'dependencies': [
815             '../base/base.gyp:test_support_base',
816             '../testing/gtest.gyp:gtest',
817             '../ui/gl/gl.gyp:gl',
818             'mojo_application_manager',
819             'mojo_base.gyp:mojo_system_impl',
820             'mojo_base.gyp:mojo_environment_chromium',
821             'mojo_core_window_manager_bindings',
822             'mojo_shell_test_support',
823             'mojo_view_manager_bindings',
824             'mojo_view_manager_lib',
825           ],
826           'sources': [
827             'services/window_manager/window_manager_api_unittest.cc',
828             'services/window_manager/window_manager_unittests.cc',
829           ],
830           'conditions': [
831             ['OS=="linux"', {
832               'dependencies': [
833                 '../third_party/mesa/mesa.gyp:osmesa',
834                 'mojo_native_viewport_service_lib',
835               ],
836             }],
837             ['use_x11==1', {
838               'dependencies': [
839                 '../ui/gfx/x/gfx_x11.gyp:gfx_x11',
840               ],
841             }],
842           ],
843         },
844       ],
845     }],
846     ['OS=="linux"', {
847       'targets': [
848         {
849           'target_name': 'mojo_dbus_echo_service',
850           'type': 'executable',
851           'dependencies': [
852             '../base/base.gyp:base',
853             '../build/linux/system.gyp:dbus',
854             '../dbus/dbus.gyp:dbus',
855             'mojo_base.gyp:mojo_common_lib',
856             'mojo_base.gyp:mojo_environment_chromium',
857             'mojo_base.gyp:mojo_system_impl',
858             'mojo_base.gyp:mojo_application_chromium',
859             'mojo_dbus_service',
860             'mojo_echo_bindings',
861           ],
862           'sources': [
863             'services/dbus_echo/dbus_echo_service.cc',
864           ],
865         },
866       ],
867     }],
868   ],