Update mojo sdk to rev 59145288bae55b0fce4276b017df6a1117bcf00f
[chromium-blink-merge.git] / media / mojo / services / BUILD.gn
blobc9e7a262c99e572b324a1709d30e0931185f9583
1 # Copyright 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.
5 import("//mojo/public/mojo_application.gni")
7 # Target naming conventions:
8 # - converters: C++/Mojo type converters.
9 # - proxy: C++ implementations supported by mojo services.
10 # - service: Mojo interface implementations.
11 # - unittests: Unit tests for a particular class/file.
12 # - test: Tests for a particular app, e.g. media.
14 source_set("converters") {
15   sources = [
16     "media_type_converters.cc",
17     "media_type_converters.h",
18   ]
20   deps = [
21     "//base",
22     "//media",
23     "//media/mojo/interfaces",
24     "//mojo/common",
25     "//mojo/converters/geometry",
26     "//mojo/environment:chromium",
27     "//mojo/public/c/system:for_component",
28     "//mojo/services/geometry/public/interfaces",
29     "//skia",
30   ]
33 # media::Renderer implementation using mojo::MediaRenderer.
34 source_set("renderer_proxy") {
35   sources = [
36     "mojo_demuxer_stream_impl.cc",
37     "mojo_demuxer_stream_impl.h",
38     "mojo_renderer_factory.cc",
39     "mojo_renderer_factory.h",
40     "mojo_renderer_impl.cc",
41     "mojo_renderer_impl.h",
42   ]
44   deps = [
45     ":converters",
46     "//base",
47     "//media",
48     "//media/mojo/interfaces",
49     "//mojo/common",
50     "//mojo/environment:chromium",
51     "//mojo/public/c/system:for_component",
52     "//mojo/public/cpp/application",
53     "//mojo/public/interfaces/application",
54   ]
57 # MediaRenderer service.
58 source_set("renderer_service") {
59   sources = [
60     "demuxer_stream_provider_shim.cc",
61     "demuxer_stream_provider_shim.h",
62     "mojo_demuxer_stream_adapter.cc",
63     "mojo_demuxer_stream_adapter.h",
64     "mojo_renderer_service.cc",
65     "mojo_renderer_service.h",
66     "renderer_config.cc",
67     "renderer_config.h",
68     "renderer_config_default.cc",
69   ]
71   deps = [
72     ":converters",
73     "//base",
74     "//media",
75     "//media/mojo/interfaces",
76     "//media:shared_memory_support",
77     "//mojo/common",
78   ]
81 test("media_mojo_unittests") {
82   sources = [
83     "media_type_converters_unittest.cc",
84   ]
86   deps = [
87     ":converters",
88     "//base",
89     "//base/test:test_support",
90     "//media",
91     "//media/mojo/interfaces",
92     "//mojo/edk/system",
93     "//mojo/edk/test:run_all_unittests",
94     "//mojo/environment:chromium",
95     "//testing/gtest",
96   ]
99 if (!is_component_build) {
100   mojo_native_application("media") {
101     sources = [
102       "mojo_media_application.cc",
103     ]
105     deps = [
106       ":renderer_service",
107       "//mojo/application",
108       "//mojo/public/c/system:for_shared_library",
109     ]
110   }
112   # Not a 'test' because this is loaded via mojo_shell as an app.
113   # To run the test:
114   #   out/Debug/mojo_shell mojo:media_test
115   # You can get "mojo_shell" using mojo/public/tools/download_shell_binary.py
116   mojo_native_application("media_test") {
117     testonly = true
118     sources = [
119       "media_renderer_apptest.cc",
120     ]
122     deps = [
123       ":media",
124       ":renderer_proxy",
125       "//base",
126       "//media",
127       "//media/mojo/interfaces",
128       "//media:shared_memory_support",
129       "//mojo/application",
130       "//mojo/application:test_support",
131       "//mojo/common",
132       "//mojo/environment:chromium",
133       "//mojo/public/c/system:for_shared_library",
134     ]
135   }
138 group("services") {
139   deps = [
140     ":renderer_proxy",
141   ]
143   if (!is_component_build) {
144     deps += [ ":media" ]
145   }
148 group("tests") {
149   testonly = true
150   deps = [
151     ":media_mojo_unittests",
152   ]
154   if (!is_component_build) {
155     deps += [ ":media_test" ]
156   }