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 73osp_discovery_srcs = [ 74 "discovery/dnssd/impl/conversion_layer.cc", 75 "discovery/dnssd/impl/dns_data_graph.cc", 76 "discovery/dnssd/impl/instance_key.cc", 77 "discovery/dnssd/impl/network_interface_config.cc", 78 "discovery/dnssd/impl/publisher_impl.cc", 79 "discovery/dnssd/impl/querier_impl.cc", 80 "discovery/dnssd/impl/service_dispatcher.cc", 81 "discovery/dnssd/impl/service_instance.cc", 82 "discovery/dnssd/impl/service_key.cc", 83 "discovery/dnssd/public/dns_sd_instance.cc", 84 "discovery/dnssd/public/dns_sd_instance_endpoint.cc", 85 "discovery/dnssd/public/dns_sd_txt_record.cc", 86 "discovery/mdns/mdns_probe.cc", 87 "discovery/mdns/mdns_probe_manager.cc", 88 "discovery/mdns/mdns_publisher.cc", 89 "discovery/mdns/mdns_querier.cc", 90 "discovery/mdns/mdns_reader.cc", 91 "discovery/mdns/mdns_receiver.cc", 92 "discovery/mdns/mdns_records.cc", 93 "discovery/mdns/mdns_responder.cc", 94 "discovery/mdns/mdns_sender.cc", 95 "discovery/mdns/mdns_service_impl.cc", 96 "discovery/mdns/mdns_trackers.cc", 97 "discovery/mdns/mdns_writer.cc", 98 "discovery/mdns/public/mdns_service.cc", 99] 100 101osp_discovery_testing_srcs = [ 102 "discovery/dnssd/testing/fake_dns_record_factory.cc", 103 "discovery/mdns/testing/mdns_test_util.cc", 104] 105 106osp_discovery_unittest_srcs = [ 107 "discovery/dnssd/impl/conversion_layer_unittest.cc", 108 "discovery/dnssd/impl/dns_data_graph_unittest.cc", 109 "discovery/dnssd/impl/instance_key_unittest.cc", 110 "discovery/dnssd/impl/publisher_impl_unittest.cc", 111 "discovery/dnssd/impl/querier_impl_unittest.cc", 112 "discovery/dnssd/impl/service_key_unittest.cc", 113 "discovery/dnssd/public/dns_sd_instance_endpoint_unittest.cc", 114 "discovery/dnssd/public/dns_sd_instance_unittest.cc", 115 "discovery/dnssd/public/dns_sd_txt_record_unittest.cc", 116 "discovery/mdns/mdns_probe_manager_unittest.cc", 117 "discovery/mdns/mdns_probe_unittest.cc", 118 "discovery/mdns/mdns_publisher_unittest.cc", 119 "discovery/mdns/mdns_querier_unittest.cc", 120 "discovery/mdns/mdns_random_unittest.cc", 121 "discovery/mdns/mdns_reader_unittest.cc", 122 "discovery/mdns/mdns_receiver_unittest.cc", 123 "discovery/mdns/mdns_records_unittest.cc", 124 "discovery/mdns/mdns_responder_unittest.cc", 125 "discovery/mdns/mdns_sender_unittest.cc", 126 "discovery/mdns/mdns_trackers_unittest.cc", 127 "discovery/mdns/mdns_writer_unittest.cc", 128 "discovery/public/dns_sd_service_watcher_unittest.cc", 129] 130 131osp_platform_base_srcs = [ 132 "platform/base/error.cc", 133 "platform/base/interface_info.cc", 134 "platform/base/ip_address.cc", 135 "platform/base/udp_packet.cc", 136] 137 138osp_platform_api_srcs = [ 139 "platform/api/udp_socket.cc", 140] 141 142osp_util_srcs = [ 143 "util/alarm.cc", 144 "util/big_endian.cc", 145] 146 147//######################### 148 149// This library contains reference implementations for the platform api, and may not be 150// optimal for every embedder's needs. Only files added are for adb (the only embedder ATM). 151cc_library_host_static { 152 name: "libopenscreen-platform-impl", 153 defaults: ["openscreen_defaults"], 154 stl: "libc++_static", 155 156 srcs: [ 157 "platform/impl/time.cc", 158 "platform/impl/network_interface.cc", 159 ], 160 161 162 target: { 163 linux: { 164 srcs: [ 165 "platform/impl/network_interface_linux.cc", 166 ], 167 }, 168 darwin: { 169 srcs: [ 170 "platform/impl/network_interface_mac.cc", 171 ], 172 cflags: [ 173 // Required, to use the new IPv6 Sockets options introduced by RFC 3542. 174 "-D__APPLE_USE_RFC_3542", 175 ], 176 }, 177 windows: { 178 enabled: true, 179 srcs: [ 180 "platform/impl/network_interface_win.cc", 181 ], 182 }, 183 }, 184 185 export_include_dirs: ["."], 186} 187 188// TODO: enable the osp discovery unittests 189cc_library_host_static { 190 name: "libopenscreen-discovery", 191 defaults: ["openscreen_defaults"], 192 stl: "libc++_static", 193 194 srcs: osp_platform_api_srcs + 195 osp_platform_base_srcs + 196 osp_util_srcs + 197 osp_discovery_srcs, 198 199 whole_static_libs: [ 200 "libopenscreen_absl", 201 ], 202 203 target: { 204 windows: { 205 enabled: true, 206 }, 207 } 208} 209