summaryrefslogtreecommitdiffstats
path: root/mojo/system/BUILD.gn
blob: c45c4c8486e1182819274cbf44f31967038ebc93 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

config("system_config") {
  defines = [
    # Ensures that dependent projects import the core functions on Windows.
    "MOJO_USE_SYSTEM_IMPL",
  ]
}

component("system") {
  output_name = "mojo_system_impl"

  sources = [
    # Should there be a separate "embedder" target?
    "../embedder/channel_init.cc",
    "../embedder/channel_init.h",
    "../embedder/embedder.cc",
    "../embedder/embedder.h",
    "../embedder/platform_channel_pair.cc",
    "../embedder/platform_channel_pair.h",
    "../embedder/platform_channel_pair_posix.cc",
    "../embedder/platform_channel_pair_win.cc",
    "../embedder/platform_channel_utils_posix.cc",
    "../embedder/platform_channel_utils_posix.h",
    "../embedder/platform_handle.cc",
    "../embedder/platform_handle.h",
    "../embedder/platform_handle_utils.h",
    "../embedder/platform_handle_utils_posix.cc",
    "../embedder/platform_handle_utils_win.cc",
    "../embedder/platform_handle_vector.h",
    "../embedder/platform_shared_buffer.h",
    "../embedder/platform_support.h",
    "../embedder/scoped_platform_handle.h",
    "../embedder/simple_platform_shared_buffer.cc",
    "../embedder/simple_platform_shared_buffer.h",
    "../embedder/simple_platform_shared_buffer_posix.cc",
    "../embedder/simple_platform_shared_buffer_win.cc",
    "../embedder/simple_platform_support.cc",
    "../embedder/simple_platform_support.h",
    "channel.cc",
    "channel.h",
    "constants.h",
    "core.cc",
    "core.h",
    "data_pipe.cc",
    "data_pipe.h",
    "data_pipe_consumer_dispatcher.cc",
    "data_pipe_consumer_dispatcher.h",
    "data_pipe_producer_dispatcher.cc",
    "data_pipe_producer_dispatcher.h",
    "dispatcher.cc",
    "dispatcher.h",
    "entrypoints.cc",
    "handle_signals_state.h",
    "handle_table.cc",
    "handle_table.h",
    "local_data_pipe.cc",
    "local_data_pipe.h",
    "local_message_pipe_endpoint.cc",
    "local_message_pipe_endpoint.h",
    "mapping_table.cc",
    "mapping_table.h",
    "memory.cc",
    "memory.h",
    "message_in_transit.cc",
    "message_in_transit.h",
    "message_in_transit_queue.cc",
    "message_in_transit_queue.h",
    "message_pipe.cc",
    "message_pipe.h",
    "message_pipe_dispatcher.cc",
    "message_pipe_dispatcher.h",
    "message_pipe_endpoint.cc",
    "message_pipe_endpoint.h",
    "options_validation.h",
    "platform_handle_dispatcher.cc",
    "platform_handle_dispatcher.h",
    "proxy_message_pipe_endpoint.cc",
    "proxy_message_pipe_endpoint.h",
    "raw_channel.cc",
    "raw_channel.h",
    "raw_channel_posix.cc",
    "raw_channel_win.cc",
    "shared_buffer_dispatcher.cc",
    "shared_buffer_dispatcher.h",
    "simple_dispatcher.cc",
    "simple_dispatcher.h",
    "transport_data.cc",
    "transport_data.h",
    "waiter.cc",
    "waiter.h",
    "waiter_list.cc",
    "waiter_list.h",
    # Test-only code:
    # TODO(vtl): It's a little unfortunate that these end up in the same
    # component as non-test-only code. In the static build, this code should
    # hopefully be dead-stripped.
    "../embedder/test_embedder.cc",
    "../embedder/test_embedder.h",
  ]

  defines = [
    "MOJO_SYSTEM_IMPL_IMPLEMENTATION",
    "MOJO_SYSTEM_IMPLEMENTATION",
  ]

  all_dependent_configs = [ ":system_config" ]

  deps = [
    "//base",
    "//base/third_party/dynamic_annotations",
  ]
}