1package { 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 42cc_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} 211