c45c4c8486e1182819274cbf44f31967038ebc93
[platform/framework/web/crosswalk.git] / src / mojo / system / BUILD.gn
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.
4
5 config("system_config") {
6   defines = [
7     # Ensures that dependent projects import the core functions on Windows.
8     "MOJO_USE_SYSTEM_IMPL",
9   ]
10 }
11
12 component("system") {
13   output_name = "mojo_system_impl"
14
15   sources = [
16     # Should there be a separate "embedder" target?
17     "../embedder/channel_init.cc",
18     "../embedder/channel_init.h",
19     "../embedder/embedder.cc",
20     "../embedder/embedder.h",
21     "../embedder/platform_channel_pair.cc",
22     "../embedder/platform_channel_pair.h",
23     "../embedder/platform_channel_pair_posix.cc",
24     "../embedder/platform_channel_pair_win.cc",
25     "../embedder/platform_channel_utils_posix.cc",
26     "../embedder/platform_channel_utils_posix.h",
27     "../embedder/platform_handle.cc",
28     "../embedder/platform_handle.h",
29     "../embedder/platform_handle_utils.h",
30     "../embedder/platform_handle_utils_posix.cc",
31     "../embedder/platform_handle_utils_win.cc",
32     "../embedder/platform_handle_vector.h",
33     "../embedder/platform_shared_buffer.h",
34     "../embedder/platform_support.h",
35     "../embedder/scoped_platform_handle.h",
36     "../embedder/simple_platform_shared_buffer.cc",
37     "../embedder/simple_platform_shared_buffer.h",
38     "../embedder/simple_platform_shared_buffer_posix.cc",
39     "../embedder/simple_platform_shared_buffer_win.cc",
40     "../embedder/simple_platform_support.cc",
41     "../embedder/simple_platform_support.h",
42     "channel.cc",
43     "channel.h",
44     "constants.h",
45     "core.cc",
46     "core.h",
47     "data_pipe.cc",
48     "data_pipe.h",
49     "data_pipe_consumer_dispatcher.cc",
50     "data_pipe_consumer_dispatcher.h",
51     "data_pipe_producer_dispatcher.cc",
52     "data_pipe_producer_dispatcher.h",
53     "dispatcher.cc",
54     "dispatcher.h",
55     "entrypoints.cc",
56     "handle_signals_state.h",
57     "handle_table.cc",
58     "handle_table.h",
59     "local_data_pipe.cc",
60     "local_data_pipe.h",
61     "local_message_pipe_endpoint.cc",
62     "local_message_pipe_endpoint.h",
63     "mapping_table.cc",
64     "mapping_table.h",
65     "memory.cc",
66     "memory.h",
67     "message_in_transit.cc",
68     "message_in_transit.h",
69     "message_in_transit_queue.cc",
70     "message_in_transit_queue.h",
71     "message_pipe.cc",
72     "message_pipe.h",
73     "message_pipe_dispatcher.cc",
74     "message_pipe_dispatcher.h",
75     "message_pipe_endpoint.cc",
76     "message_pipe_endpoint.h",
77     "options_validation.h",
78     "platform_handle_dispatcher.cc",
79     "platform_handle_dispatcher.h",
80     "proxy_message_pipe_endpoint.cc",
81     "proxy_message_pipe_endpoint.h",
82     "raw_channel.cc",
83     "raw_channel.h",
84     "raw_channel_posix.cc",
85     "raw_channel_win.cc",
86     "shared_buffer_dispatcher.cc",
87     "shared_buffer_dispatcher.h",
88     "simple_dispatcher.cc",
89     "simple_dispatcher.h",
90     "transport_data.cc",
91     "transport_data.h",
92     "waiter.cc",
93     "waiter.h",
94     "waiter_list.cc",
95     "waiter_list.h",
96     # Test-only code:
97     # TODO(vtl): It's a little unfortunate that these end up in the same
98     # component as non-test-only code. In the static build, this code should
99     # hopefully be dead-stripped.
100     "../embedder/test_embedder.cc",
101     "../embedder/test_embedder.h",
102   ]
103
104   defines = [
105     "MOJO_SYSTEM_IMPL_IMPLEMENTATION",
106     "MOJO_SYSTEM_IMPLEMENTATION",
107   ]
108
109   all_dependent_configs = [ ":system_config" ]
110
111   deps = [
112     "//base",
113     "//base/third_party/dynamic_annotations",
114   ]
115 }