blob: 7d4af1c5dd9bac15716028843aa18450a22188c8 [file] [log] [blame]
Bob Badour11164af2021-02-12 18:24:06 -08001package {
2 default_applicable_licenses: ["external_openscreen_license"],
3}
4
5// Added automatically by a large-scale-change that took the approach of
6// 'apply every license found to every target'. While this makes sure we respect
7// every license restriction, it may not be entirely correct.
8//
9// e.g. GPL in an MIT project might only apply to the contrib/ directory.
10//
11// Please consider splitting the single license below into multiple licenses,
12// taking care not to lose any license_kind information, and overriding the
13// default license using the 'licenses: [...]' property on targets as needed.
14//
15// For unused files, consider creating a 'fileGroup' with "//visibility:private"
16// to attach the license to, and including a comment whether the files may be
17// used in the current project.
18//
19// large-scale-change filtered out the below license kinds as false-positives:
20// SPDX-license-identifier-GPL-2.0
21// SPDX-license-identifier-LGPL-2.1
22// SPDX-license-identifier-MPL
23// See: http://go/android-license-faq
24license {
25 name: "external_openscreen_license",
26 visibility: [":__subpackages__"],
27 license_kinds: [
28 "SPDX-license-identifier-Apache-2.0",
29 "SPDX-license-identifier-BSD",
30 "SPDX-license-identifier-ISC",
31 "SPDX-license-identifier-MIT",
32 "SPDX-license-identifier-NCSA",
33 "SPDX-license-identifier-OpenSSL",
34 "SPDX-license-identifier-Zlib",
35 "legacy_unencumbered",
36 ],
37 license_text: [
38 "LICENSE",
39 ],
40}
41
Joshua Duongc342b452021-01-11 11:48:30 -080042cc_defaults {
43 name: "openscreen_defaults",
44
45 cflags: [
46 "-O2",
47 "-g",
48 "-fno-strict-aliasing",
49 "-W",
50 "-Wall",
51 "-Wextra",
52 "-Wno-address-of-packed-member",
53 "-Wno-array-bounds",
54 "-Wno-pointer-sign",
55 "-Wno-unused",
56 "-Wno-unused-but-set-variable",
57 "-Wno-unused-parameter",
58 "-Wno-missing-field-initializers",
59 "-Werror=implicit-function-declaration",
60 "-D_DEBUG",
61 "-DOPENSCREEN_TEST_DATA_DIR=\"$ANDROID_BUILD_TOP/external/openscreen/test/data/\"",
62 ],
63 cppflags: [
64 "-fno-exceptions",
65 "-fno-unwind-tables",
66 "-fno-asynchronous-unwind-tables",
67 ],
68 header_libs: [
69 "libopenscreen_absl_headers",
70 ],
71
72// cpp_std: "c++17",
73}
74
75osp_discovery_srcs = [
76 "discovery/dnssd/impl/conversion_layer.cc",
77 "discovery/dnssd/impl/dns_data_graph.cc",
78 "discovery/dnssd/impl/instance_key.cc",
79 "discovery/dnssd/impl/network_interface_config.cc",
80 "discovery/dnssd/impl/publisher_impl.cc",
81 "discovery/dnssd/impl/querier_impl.cc",
82 "discovery/dnssd/impl/service_dispatcher.cc",
83 "discovery/dnssd/impl/service_instance.cc",
84 "discovery/dnssd/impl/service_key.cc",
85 "discovery/dnssd/public/dns_sd_instance.cc",
86 "discovery/dnssd/public/dns_sd_instance_endpoint.cc",
87 "discovery/dnssd/public/dns_sd_txt_record.cc",
88 "discovery/mdns/mdns_probe.cc",
89 "discovery/mdns/mdns_probe_manager.cc",
90 "discovery/mdns/mdns_publisher.cc",
91 "discovery/mdns/mdns_querier.cc",
92 "discovery/mdns/mdns_reader.cc",
93 "discovery/mdns/mdns_receiver.cc",
94 "discovery/mdns/mdns_records.cc",
95 "discovery/mdns/mdns_responder.cc",
96 "discovery/mdns/mdns_sender.cc",
97 "discovery/mdns/mdns_service_impl.cc",
98 "discovery/mdns/mdns_trackers.cc",
99 "discovery/mdns/mdns_writer.cc",
100 "discovery/mdns/public/mdns_service.cc",
101]
102
103osp_discovery_testing_srcs = [
104 "discovery/dnssd/testing/fake_dns_record_factory.cc",
105 "discovery/mdns/testing/mdns_test_util.cc",
106]
107
108osp_discovery_unittest_srcs = [
109 "discovery/dnssd/impl/conversion_layer_unittest.cc",
110 "discovery/dnssd/impl/dns_data_graph_unittest.cc",
111 "discovery/dnssd/impl/instance_key_unittest.cc",
112 "discovery/dnssd/impl/publisher_impl_unittest.cc",
113 "discovery/dnssd/impl/querier_impl_unittest.cc",
114 "discovery/dnssd/impl/service_key_unittest.cc",
115 "discovery/dnssd/public/dns_sd_instance_endpoint_unittest.cc",
116 "discovery/dnssd/public/dns_sd_instance_unittest.cc",
117 "discovery/dnssd/public/dns_sd_txt_record_unittest.cc",
118 "discovery/mdns/mdns_probe_manager_unittest.cc",
119 "discovery/mdns/mdns_probe_unittest.cc",
120 "discovery/mdns/mdns_publisher_unittest.cc",
121 "discovery/mdns/mdns_querier_unittest.cc",
122 "discovery/mdns/mdns_random_unittest.cc",
123 "discovery/mdns/mdns_reader_unittest.cc",
124 "discovery/mdns/mdns_receiver_unittest.cc",
125 "discovery/mdns/mdns_records_unittest.cc",
126 "discovery/mdns/mdns_responder_unittest.cc",
127 "discovery/mdns/mdns_sender_unittest.cc",
128 "discovery/mdns/mdns_trackers_unittest.cc",
129 "discovery/mdns/mdns_writer_unittest.cc",
130 "discovery/public/dns_sd_service_watcher_unittest.cc",
131]
132
133osp_platform_base_srcs = [
134 "platform/base/error.cc",
135 "platform/base/interface_info.cc",
136 "platform/base/ip_address.cc",
137 "platform/base/udp_packet.cc",
138]
139
140osp_platform_api_srcs = [
141 "platform/api/udp_socket.cc",
142]
143
144osp_util_srcs = [
145 "util/alarm.cc",
146 "util/big_endian.cc",
147]
148
149//#########################
150
151// This library contains reference implementations for the platform api, and may not be
152// optimal for every embedder's needs. Only files added are for adb (the only embedder ATM).
153cc_library_host_static {
154 name: "libopenscreen-platform-impl",
155 defaults: ["openscreen_defaults"],
156 stl: "libc++_static",
157
158 srcs: [
159 "platform/impl/time.cc",
160 "platform/impl/network_interface.cc",
161 ],
162
163
164 target: {
165 linux: {
166 srcs: [
167 "platform/impl/network_interface_linux.cc",
168 ],
169 },
170 darwin: {
171 srcs: [
172 "platform/impl/network_interface_mac.cc",
173 ],
174 cflags: [
175 // Required, to use the new IPv6 Sockets options introduced by RFC 3542.
176 "-D__APPLE_USE_RFC_3542",
177 ],
178 },
179 windows: {
180 enabled: true,
181 srcs: [
182 "platform/impl/network_interface_win.cc",
183 ],
184 },
185 },
186
187 export_include_dirs: ["."],
188}
189
190// TODO: enable the osp discovery unittests
191cc_library_host_static {
192 name: "libopenscreen-discovery",
193 defaults: ["openscreen_defaults"],
194 stl: "libc++_static",
195
196 srcs: osp_platform_api_srcs +
197 osp_platform_base_srcs +
198 osp_util_srcs +
199 osp_discovery_srcs,
200
201 whole_static_libs: [
202 "libopenscreen_absl",
203 ],
204
205 target: {
206 windows: {
207 enabled: true,
208 },
209 }
210}