blob: 3ad7ee34816aacddeebcbbbf937dcc5105139250 [file] [log] [blame]
btolsch9d6900c2018-05-30 18:22:53 -07001# Copyright 2018 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
Yuri Wiitalab2d13232019-02-04 18:07:28 -08005import("//build_overrides/build.gni")
btolsch5292c942018-07-26 00:06:22 -07006
Yuri Wiitalab2d13232019-02-04 18:07:28 -08007source_set("platform") {
Yuri Wiitalab2d13232019-02-04 18:07:28 -08008 sources = [
Ryan Keaneefab2ed2019-07-22 12:36:53 -07009 "api/internal/trace_logging_internal.cc",
10 "api/internal/trace_logging_internal.h",
11 "api/internal/trace_logging_macros_internal.h",
Yuri Wiitalab2d13232019-02-04 18:07:28 -080012 "api/logging.h",
Jordan Baylesad2d2cd2019-05-22 14:49:40 -070013 "api/logging_util.cc",
Yuri Wiitalab2d13232019-02-04 18:07:28 -080014 "api/network_interface.cc",
15 "api/network_interface.h",
btolsch4051e722019-06-07 16:15:17 -070016 "api/network_runner.h",
Ryan Keanea973b512019-07-29 15:50:39 -070017 "api/network_runner_lifetime_manager.h",
Ryan Keane32c88d02019-07-02 18:46:14 -070018 "api/network_waiter.h",
Jordan Baylesf3cf17d2019-06-11 15:29:43 -070019 "api/scoped_wake_lock.cc",
20 "api/scoped_wake_lock.h",
btolsch4051e722019-06-07 16:15:17 -070021 "api/socket.h",
Jordan Baylesb0c191e2019-03-26 15:49:57 -070022 "api/task_runner.h",
Yuri Wiitalab2d13232019-02-04 18:07:28 -080023 "api/time.h",
Jordan Baylesa5ac5c82019-05-22 14:49:40 -070024 "api/tls_socket.h",
25 "api/tls_socket_creds.h",
Ryan Keaneefab2ed2019-07-22 12:36:53 -070026 "api/trace_logging.h",
27 "api/trace_logging_platform.cc",
28 "api/trace_logging_platform.h",
29 "api/trace_logging_types.h",
Max Yakimakha04362e22019-07-22 17:54:45 -070030 "api/udp_packet.h",
31 "api/udp_read_callback.h",
Ryan Keanedeb48b32019-06-28 16:24:40 -070032 "api/udp_socket.cc",
Jordan Baylesad2d2cd2019-05-22 14:49:40 -070033 "api/udp_socket.h",
Jordan Baylesa26582d2019-07-10 14:44:58 -070034 "base/error.cc",
35 "base/error.h",
36 "base/ip_address.cc",
37 "base/ip_address.h",
38 "base/location.cc",
39 "base/location.h",
Jordan Baylescc471802019-07-09 14:25:02 -070040 "impl/ssl_context.cc",
41 "impl/ssl_context.h",
Yuri Wiitalab2d13232019-02-04 18:07:28 -080042 ]
Jordan Bayles9eb09742019-01-15 14:04:52 -080043
44 public_deps = [
btolsch2f2e7fa2019-03-29 16:48:49 -070045 "../third_party/abseil",
Jordan Baylesb9262f42019-05-30 14:10:02 -070046 "../third_party/boringssl",
Jordan Baylesa26582d2019-07-10 14:44:58 -070047 "../util",
Jordan Bayles9eb09742019-01-15 14:04:52 -080048 ]
Jordan Bayles9ade4152019-05-08 17:03:24 -070049
Jordan Baylesa80724b2019-05-02 17:17:26 -070050 configs += [ "../build:allow_build_from_embedder" ]
Yuri Wiitalab2d13232019-02-04 18:07:28 -080051
Jordan Baylesa80724b2019-05-02 17:17:26 -070052 if (!build_with_chromium) {
btolschc92ba2f2019-04-10 11:46:01 -070053 sources += [
Jordan Baylescc471802019-07-09 14:25:02 -070054 "impl/network_reader.cc",
55 "impl/network_reader.h",
56 "impl/network_runner.cc",
57 "impl/network_runner.h",
Ryan Keanea973b512019-07-29 15:50:39 -070058 "impl/network_runner_lifetime_manager.cc",
59 "impl/network_runner_lifetime_manager.h",
Jordan Baylesa26582d2019-07-10 14:44:58 -070060 "impl/task_runner.cc",
61 "impl/task_runner.h",
Ryan Keaneefab2ed2019-07-22 12:36:53 -070062 "impl/text_trace_logging_platform.cc",
63 "impl/text_trace_logging_platform.h",
btolsch4397c292019-07-22 12:42:10 -070064 "impl/time.cc",
btolschc92ba2f2019-04-10 11:46:01 -070065 ]
Yuri Wiitalab2d13232019-02-04 18:07:28 -080066
67 if (is_linux) {
Jordan Baylescc471802019-07-09 14:25:02 -070068 sources += [ "impl/network_interface_linux.cc" ]
Yuri Wiitalab2d13232019-02-04 18:07:28 -080069 } else if (is_mac) {
Jordan Baylesa80724b2019-05-02 17:17:26 -070070 defines = [
Yuri Wiitalab2d13232019-02-04 18:07:28 -080071 # Required, to use the new IPv6 Sockets options introduced by RFC 3542.
72 "__APPLE_USE_RFC_3542",
73 ]
Jordan Bayles9ade4152019-05-08 17:03:24 -070074
Jordan Baylescc471802019-07-09 14:25:02 -070075 sources += [ "impl/network_interface_mac.cc" ]
Yuri Wiitalab2d13232019-02-04 18:07:28 -080076 }
77
78 if (is_posix) {
79 sources += [
Jordan Baylescc471802019-07-09 14:25:02 -070080 "impl/network_waiter_posix.cc",
81 "impl/network_waiter_posix.h",
Jordan Baylesa26582d2019-07-10 14:44:58 -070082 "impl/scoped_pipe.h",
Jordan Baylescc471802019-07-09 14:25:02 -070083 "impl/scoped_wake_lock_posix.cc",
84 "impl/scoped_wake_lock_posix.h",
85 "impl/udp_socket_posix.cc",
86 "impl/udp_socket_posix.h",
Yuri Wiitalab2d13232019-02-04 18:07:28 -080087 ]
88 }
Jordan Bayles9ade4152019-05-08 17:03:24 -070089
90 deps = [
Jordan Baylesad2d2cd2019-05-22 14:49:40 -070091 ":default_logger",
Jordan Bayles9ade4152019-05-08 17:03:24 -070092 ]
Yuri Wiitalab2d13232019-02-04 18:07:28 -080093 }
btolsch9d6900c2018-05-30 18:22:53 -070094}
Yuri Wiitalaeb8eee72019-03-26 15:52:43 -070095
Jordan Baylesaa021ce2019-05-29 13:57:44 -070096source_set("test") {
97 testonly = true
98 sources = [
99 "test/fake_clock.cc",
100 "test/fake_clock.h",
Ryan Keanea973b512019-07-29 15:50:39 -0700101 "test/fake_network_runner.cc",
102 "test/fake_network_runner.h",
Yuri Wiitalaec353612019-06-18 17:32:39 -0700103 "test/fake_task_runner.cc",
104 "test/fake_task_runner.h",
Ryan Keanedeb48b32019-06-28 16:24:40 -0700105 "test/mock_udp_socket.cc",
106 "test/mock_udp_socket.h",
Jordan Baylesaa021ce2019-05-29 13:57:44 -0700107 ]
108
Jordan Bayles7bc7f102019-05-30 12:38:43 -0700109 configs += [ "../build:allow_build_from_embedder" ]
110
Jordan Baylesaa021ce2019-05-29 13:57:44 -0700111 deps = [
112 ":platform",
Ryan Keanedeb48b32019-06-28 16:24:40 -0700113 "../third_party/googletest:gmock",
Jordan Baylesaa021ce2019-05-29 13:57:44 -0700114 ]
115}
116
Jordan Bayles9ade4152019-05-08 17:03:24 -0700117source_set("default_logger") {
118 sources = [
Jordan Baylescc471802019-07-09 14:25:02 -0700119 "impl/logging.cc",
Jordan Bayles9ade4152019-05-08 17:03:24 -0700120 ]
121
122 if (is_posix) {
Jordan Baylescc471802019-07-09 14:25:02 -0700123 sources += [ "impl/log_initializer_posix.cc" ]
Jordan Bayles9ade4152019-05-08 17:03:24 -0700124 }
125
126 configs += [ "../build:allow_build_from_embedder" ]
127
128 deps = [
Jordan Bayles9ade4152019-05-08 17:03:24 -0700129 "../third_party/abseil",
Jordan Baylesa26582d2019-07-10 14:44:58 -0700130 "../util",
Jordan Bayles9ade4152019-05-08 17:03:24 -0700131 ]
132}
133
Yuri Wiitalaeb8eee72019-03-26 15:52:43 -0700134source_set("platform_unittests") {
135 testonly = true
136
137 sources = [
Ryan Keaneefab2ed2019-07-22 12:36:53 -0700138 "api/internal/trace_logging_internal_unittest.cc",
Yuri Wiitalaeb8eee72019-03-26 15:52:43 -0700139 "api/time_unittest.cc",
Ryan Keaneefab2ed2019-07-22 12:36:53 -0700140 "api/trace_logging_unittest.cc",
Ryan Keanedeb48b32019-06-28 16:24:40 -0700141 "api/udp_socket_unittest.cc",
Jordan Baylesa26582d2019-07-10 14:44:58 -0700142 "base/error_unittest.cc",
143 "base/ip_address_unittest.cc",
144 "base/location_unittest.cc",
Jordan Baylescc471802019-07-09 14:25:02 -0700145 "impl/ssl_context_unittest.cc",
Yuri Wiitalaeb8eee72019-03-26 15:52:43 -0700146 ]
147
Jordan Baylescc471802019-07-09 14:25:02 -0700148 # The unit tests in impl/ assume the standalone implementation is being used.
Yuri Wiitalaeb8eee72019-03-26 15:52:43 -0700149 # Exclude them if an embedder is providing the implementation.
150 if (!build_with_chromium) {
btolschc92ba2f2019-04-10 11:46:01 -0700151 sources += [
Jordan Baylescc471802019-07-09 14:25:02 -0700152 "impl/network_reader_unittest.cc",
Jordan Baylesa26582d2019-07-10 14:44:58 -0700153 "impl/task_runner_unittest.cc",
Jordan Baylescc471802019-07-09 14:25:02 -0700154 "impl/time_unittest.cc",
btolschc92ba2f2019-04-10 11:46:01 -0700155 ]
Ryan Keane32c88d02019-07-02 18:46:14 -0700156 if (is_posix) {
Jordan Baylesa26582d2019-07-10 14:44:58 -0700157 sources += [
158 "impl/network_waiter_posix_unittest.cc",
159 "impl/scoped_pipe_unittest.cc",
160 ]
Ryan Keane32c88d02019-07-02 18:46:14 -0700161 }
Yuri Wiitalaeb8eee72019-03-26 15:52:43 -0700162 }
163
164 deps = [
165 ":platform",
Ryan Keanedeb48b32019-06-28 16:24:40 -0700166 "../third_party/googletest:gmock",
btolsch4666ed22019-04-25 15:58:07 -0700167 "../third_party/googletest:gtest",
Yuri Wiitalaeb8eee72019-03-26 15:52:43 -0700168 ]
Jordan Bayles9ade4152019-05-08 17:03:24 -0700169
170 configs += [ "../build:allow_build_from_embedder" ]
Yuri Wiitalaeb8eee72019-03-26 15:52:43 -0700171}