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