Turn mojo_native_viewport_service from component into a static_library.
[chromium-blink-merge.git] / mojo / mojo_services.gypi
blob5bd127e32144a28303c0fff158c4354d2a9a6cf6
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_geometry_bindings',
485         'mojo_geometry_lib',
486         'mojo_view_manager_bindings',
487         'mojo_view_manager_common',
488       ],
489       'sources': [
490         'services/public/cpp/view_manager/lib/view.cc',
491         'services/public/cpp/view_manager/lib/view_manager_client_factory.cc',
492         'services/public/cpp/view_manager/lib/view_manager_client_impl.cc',
493         'services/public/cpp/view_manager/lib/view_manager_client_impl.h',
494         'services/public/cpp/view_manager/lib/view_observer.cc',
495         'services/public/cpp/view_manager/lib/view_private.cc',
496         'services/public/cpp/view_manager/lib/view_private.h',
497         'services/public/cpp/view_manager/view.h',
498         'services/public/cpp/view_manager/view_manager.h',
499         'services/public/cpp/view_manager/view_manager_client_factory.h',
500         'services/public/cpp/view_manager/view_manager_delegate.h',
501         'services/public/cpp/view_manager/view_observer.h',
502         'services/public/cpp/view_manager/window_manager_delegate.h',
503       ],
504       'export_dependent_settings': [
505         'mojo_view_manager_bindings',
506       ],
507     },
508     {
509       'target_name': 'mojo_view_manager_lib_unittests',
510       'type': 'executable',
511       'dependencies': [
512         '../base/base.gyp:base',
513         '../base/base.gyp:test_support_base',
514         '../testing/gtest.gyp:gtest',
515         '../ui/gfx/gfx.gyp:gfx',
516         '../ui/gfx/gfx.gyp:gfx_test_support',
517         'mojo_base.gyp:mojo_environment_chromium',
518         'mojo_geometry_bindings',
519         'mojo_geometry_lib',
520         'mojo_shell_test_support',
521         'mojo_view_manager_bindings',
522         'mojo_view_manager_lib',
523       ],
524       'sources': [
525         'services/public/cpp/view_manager/tests/view_unittest.cc',
526         'services/public/cpp/view_manager/tests/view_manager_unittest.cc',
527       ],
528       'conditions': [
529         ['use_aura==1', {
530           'dependencies': [
531             'mojo_view_manager_run_unittests'
532           ],
533         }, {  # use_aura==0
534           'dependencies': [
535             'mojo_base.gyp:mojo_run_all_unittests',
536           ],
537         }],
538       ],
539     },
540     {
541       # GN version: //mojo/services/public/interfaces/surfaces
542       'target_name': 'mojo_surfaces_bindings',
543       'type': 'static_library',
544       'sources': [
545         'services/public/interfaces/surfaces/surfaces.mojom',
546         'services/public/interfaces/surfaces/surface_id.mojom',
547         'services/public/interfaces/surfaces/quads.mojom',
548       ],
549       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
550       'export_dependent_settings': [
551         'mojo_base.gyp:mojo_cpp_bindings',
552       ],
553       'dependencies': [
554         'mojo_base.gyp:mojo_cpp_bindings',
555         'mojo_geometry_bindings',
556         'mojo_native_viewport_bindings',
557       ],
558     },
559     {
560       # GN version: //mojo/services/test_service:bindings
561       'target_name': 'mojo_test_service_bindings',
562       'type': 'static_library',
563       'sources': [
564          # TODO(tim): Move to services/public/interfaces?
565         'services/test_service/test_request_tracker.mojom',
566         'services/test_service/test_service.mojom',
567       ],
568       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
569       'export_dependent_settings': [
570         'mojo_base.gyp:mojo_cpp_bindings',
571       ],
572       'dependencies': [
573         'mojo_base.gyp:mojo_cpp_bindings',
574       ],
575     },
576     {
577       # GN version: //mojo/services/test_service
578       'target_name': 'mojo_test_app',
579       'type': 'loadable_module',
580       'dependencies': [
581         '../base/base.gyp:base',
582         'mojo_base.gyp:mojo_environment_standalone',
583         'mojo_base.gyp:mojo_utility',
584         'mojo_base.gyp:mojo_application_standalone',
585         'mojo_test_service_bindings',
586         '<(mojo_system_for_loadable_module)',
587       ],
588       'sources': [
589         'public/cpp/application/lib/mojo_main_standalone.cc',
590         'services/test_service/test_request_tracker_client_impl.cc',
591         'services/test_service/test_request_tracker_client_impl.h',
592         'services/test_service/test_service_application.cc',
593         'services/test_service/test_service_application.h',
594         'services/test_service/test_service_impl.cc',
595         'services/test_service/test_service_impl.h',
596         'services/test_service/test_time_service_impl.cc',
597         'services/test_service/test_time_service_impl.h',
598       ],
599     },
600     {
601       # GN version: //mojo/services/test_service:request_tracker
602       'target_name': 'mojo_test_request_tracker_app',
603       'type': 'loadable_module',
604       'dependencies': [
605         '../base/base.gyp:base',
606         'mojo_base.gyp:mojo_environment_standalone',
607         'mojo_base.gyp:mojo_utility',
608         'mojo_base.gyp:mojo_application_standalone',
609         'mojo_test_service_bindings',
610         '<(mojo_system_for_loadable_module)',
611       ],
612       'sources': [
613         'public/cpp/application/lib/mojo_main_standalone.cc',
614         'services/test_service/test_request_tracker_client_impl.cc',
615         'services/test_service/test_request_tracker_client_impl.h',
616         'services/test_service/test_request_tracker_application.cc',
617         'services/test_service/test_request_tracker_application.h',
618         'services/test_service/test_time_service_impl.cc',
619         'services/test_service/test_time_service_impl.h',
620         'services/test_service/test_request_tracker_impl.cc',
621         'services/test_service/test_request_tracker_impl.h',
622       ],
623     },
624     {
625       # GN version: //mojo/services/public/interfaces/window_manager
626       'target_name': 'mojo_core_window_manager_bindings',
627       'type': 'static_library',
628       'sources': [
629         'services/public/interfaces/window_manager/window_manager.mojom',
630       ],
631       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
632       'export_dependent_settings': [
633         'mojo_base.gyp:mojo_cpp_bindings',
634       ],
635       'dependencies': [
636         'mojo_base.gyp:mojo_cpp_bindings',
637       ],
638     },
639   ],
640   'conditions': [
641     ['use_aura==1', {
642       'targets': [
643         {
644           # GN version: //mojo/services/view_manager
645           'target_name': 'mojo_view_manager',
646           'type': '<(component)',
647           'dependencies': [
648             '../base/base.gyp:base',
649             '../cc/cc.gyp:cc',
650             '../skia/skia.gyp:skia',
651             '../ui/aura/aura.gyp:aura',
652             '../ui/base/ui_base.gyp:ui_base',
653             '../ui/compositor/compositor.gyp:compositor',
654             '../ui/events/events.gyp:events',
655             '../ui/events/events.gyp:events_base',
656             '../ui/gfx/gfx.gyp:gfx',
657             '../ui/gfx/gfx.gyp:gfx_geometry',
658             '../ui/gl/gl.gyp:gl',
659             '../webkit/common/gpu/webkit_gpu.gyp:webkit_gpu',
660             'mojo_base.gyp:mojo_common_lib',
661             'mojo_base.gyp:mojo_environment_chromium',
662             'mojo_base.gyp:mojo_application_chromium',
663             'mojo_cc_support',
664             'mojo_geometry_bindings',
665             'mojo_geometry_lib',
666             'mojo_input_events_bindings',
667             'mojo_input_events_lib',
668             'mojo_native_viewport_bindings',
669             'mojo_view_manager_bindings',
670             'mojo_view_manager_common',
671             '<(mojo_gles2_for_component)',
672             '<(mojo_system_for_component)',
673           ],
674           'sources': [
675             'public/cpp/application/lib/mojo_main_chromium.cc',
676             'services/view_manager/access_policy.h',
677             'services/view_manager/access_policy_delegate.h',
678             'services/view_manager/default_access_policy.cc',
679             'services/view_manager/default_access_policy.h',
680             'services/view_manager/window_manager_access_policy.cc',
681             'services/view_manager/window_manager_access_policy.h',
682             'services/view_manager/ids.h',
683             'services/view_manager/main.cc',
684             'services/view_manager/node.cc',
685             'services/view_manager/node.h',
686             'services/view_manager/node_delegate.h',
687             'services/view_manager/root_node_manager.cc',
688             'services/view_manager/root_node_manager.h',
689             'services/view_manager/root_view_manager.cc',
690             'services/view_manager/root_view_manager.h',
691             'services/view_manager/root_view_manager_delegate.h',
692             'services/view_manager/screen_impl.cc',
693             'services/view_manager/screen_impl.h',
694             'services/view_manager/view_manager_export.h',
695             'services/view_manager/view_manager_init_service_context.cc',
696             'services/view_manager/view_manager_init_service_context.h',
697             'services/view_manager/view_manager_init_service_impl.cc',
698             'services/view_manager/view_manager_init_service_impl.h',
699             'services/view_manager/view_manager_service_impl.cc',
700             'services/view_manager/view_manager_service_impl.h',
701             'services/view_manager/context_factory_impl.cc',
702             'services/view_manager/context_factory_impl.h',
703             'services/view_manager/window_tree_host_impl.cc',
704             'services/view_manager/window_tree_host_impl.h',
705           ],
706           'defines': [
707             'MOJO_VIEW_MANAGER_IMPLEMENTATION',
708           ],
709         },
710         {
711           'target_name': 'mojo_view_manager_run_unittests',
712           'type': 'static_library',
713           'dependencies': [
714             '../base/base.gyp:base',
715             '../base/base.gyp:test_support_base',
716             '../ui/gl/gl.gyp:gl',
717           ],
718           'sources': [
719             'services/public/cpp/view_manager/lib/view_manager_test_suite.cc',
720             'services/public/cpp/view_manager/lib/view_manager_test_suite.h',
721             'services/public/cpp/view_manager/lib/view_manager_unittests.cc',
722           ],
723           'conditions': [
724             ['OS=="linux"', {
725               'dependencies': [
726                 '../third_party/mesa/mesa.gyp:osmesa',
727                 'mojo_native_viewport_service_lib',
728               ],
729             }],
730             ['use_x11==1', {
731               'dependencies': [
732                 '../ui/gfx/x/gfx_x11.gyp:gfx_x11',
733               ],
734             }],
735           ],
736         },
737         {
738           'target_name': 'mojo_view_manager_unittests',
739           'type': 'executable',
740           'dependencies': [
741             '../base/base.gyp:base',
742             '../base/base.gyp:test_support_base',
743             '../skia/skia.gyp:skia',
744             '../testing/gtest.gyp:gtest',
745             '../ui/aura/aura.gyp:aura',
746             '../ui/gfx/gfx.gyp:gfx_geometry',
747             '../ui/gl/gl.gyp:gl',
748             'mojo_application_manager',
749             'mojo_base.gyp:mojo_system_impl',
750             'mojo_base.gyp:mojo_environment_chromium',
751             'mojo_base.gyp:mojo_application_chromium',
752             'mojo_geometry_bindings',
753             'mojo_geometry_lib',
754             'mojo_input_events_bindings',
755             'mojo_input_events_lib',
756             'mojo_shell_test_support',
757             'mojo_view_manager_bindings',
758             'mojo_view_manager_common',
759             'mojo_view_manager_run_unittests',
760           ],
761           'sources': [
762             'services/view_manager/test_change_tracker.cc',
763             'services/view_manager/test_change_tracker.h',
764             'services/view_manager/view_manager_unittest.cc',
765           ],
766         },
767         {
768           'target_name': 'package_mojo_view_manager',
769           'variables': {
770             'app_name': 'mojo_view_manager',
771           },
772           'includes': [ 'build/package_app.gypi' ],
773         },
774         {
775           'target_name': 'mojo_core_window_manager_lib',
776           'type': 'static_library',
777           'dependencies': [
778             '../base/base.gyp:base',
779             '../ui/base/ui_base.gyp:ui_base',
780             '../ui/gfx/gfx.gyp:gfx',
781             '../ui/gfx/gfx.gyp:gfx_geometry',
782             '../ui/wm/wm.gyp:wm',
783             'mojo_base.gyp:mojo_common_lib',
784             'mojo_base.gyp:mojo_environment_chromium',
785             'mojo_base.gyp:mojo_application_chromium',
786             'mojo_aura_support',
787             'mojo_core_window_manager_bindings',
788             'mojo_view_manager_lib',
789           ],
790           'sources': [
791             'services/window_manager/window_manager_app.cc',
792             'services/window_manager/window_manager_app.h',
793             'services/window_manager/window_manager_service_impl.cc',
794             'services/window_manager/window_manager_service_impl.h',
795           ],
796         },
797         {
798           'target_name': 'mojo_core_window_manager',
799           'type': 'loadable_module',
800           'dependencies': [
801             'mojo_core_window_manager_lib',
802             '<(mojo_system_for_loadable_module)',
803           ],
804           'sources': [
805             'public/cpp/application/lib/mojo_main_chromium.cc',
806             'services/window_manager/main.cc',
807           ],
808         },
809         {
810           'target_name': 'mojo_core_window_manager_unittests',
811           'type': 'executable',
812           'dependencies': [
813             '../base/base.gyp:test_support_base',
814             '../testing/gtest.gyp:gtest',
815             '../ui/gl/gl.gyp:gl',
816             'mojo_application_manager',
817             'mojo_base.gyp:mojo_system_impl',
818             'mojo_base.gyp:mojo_environment_chromium',
819             'mojo_core_window_manager_bindings',
820             'mojo_shell_test_support',
821             'mojo_view_manager_bindings',
822             'mojo_view_manager_lib',
823           ],
824           'sources': [
825             'services/window_manager/window_manager_api_unittest.cc',
826             'services/window_manager/window_manager_unittests.cc',
827           ],
828           'conditions': [
829             ['OS=="linux"', {
830               'dependencies': [
831                 '../third_party/mesa/mesa.gyp:osmesa',
832                 'mojo_native_viewport_service_lib',
833               ],
834             }],
835             ['use_x11==1', {
836               'dependencies': [
837                 '../ui/gfx/x/gfx_x11.gyp:gfx_x11',
838               ],
839             }],
840           ],
841         },
842       ],
843     }],
844     ['OS=="linux"', {
845       'targets': [
846         {
847           'target_name': 'mojo_dbus_echo_service',
848           'type': 'executable',
849           'dependencies': [
850             '../base/base.gyp:base',
851             '../build/linux/system.gyp:dbus',
852             '../dbus/dbus.gyp:dbus',
853             'mojo_base.gyp:mojo_common_lib',
854             'mojo_base.gyp:mojo_environment_chromium',
855             'mojo_base.gyp:mojo_system_impl',
856             'mojo_base.gyp:mojo_application_chromium',
857             'mojo_dbus_service',
858             'mojo_echo_bindings',
859           ],
860           'sources': [
861             'services/dbus_echo/dbus_echo_service.cc',
862           ],
863         },
864       ],
865     }],
866   ],