blob: 19545b9b53aa5fc98f939b1d131414f1bbdb913b [file] [log] [blame]
cc_defaults {
name: "openscreen_defaults",
cflags: [
"-O2",
"-g",
"-fno-strict-aliasing",
"-W",
"-Wall",
"-Wextra",
"-Wno-address-of-packed-member",
"-Wno-array-bounds",
"-Wno-pointer-sign",
"-Wno-unused",
"-Wno-unused-but-set-variable",
"-Wno-unused-parameter",
"-Wno-missing-field-initializers",
"-Werror=implicit-function-declaration",
"-D_DEBUG",
"-DOPENSCREEN_TEST_DATA_DIR=\"$ANDROID_BUILD_TOP/external/openscreen/test/data/\"",
],
cppflags: [
"-fno-exceptions",
"-fno-unwind-tables",
"-fno-asynchronous-unwind-tables",
],
header_libs: [
"libopenscreen_absl_headers",
],
// cpp_std: "c++17",
}
osp_discovery_srcs = [
"discovery/dnssd/impl/conversion_layer.cc",
"discovery/dnssd/impl/dns_data_graph.cc",
"discovery/dnssd/impl/instance_key.cc",
"discovery/dnssd/impl/network_interface_config.cc",
"discovery/dnssd/impl/publisher_impl.cc",
"discovery/dnssd/impl/querier_impl.cc",
"discovery/dnssd/impl/service_dispatcher.cc",
"discovery/dnssd/impl/service_instance.cc",
"discovery/dnssd/impl/service_key.cc",
"discovery/dnssd/public/dns_sd_instance.cc",
"discovery/dnssd/public/dns_sd_instance_endpoint.cc",
"discovery/dnssd/public/dns_sd_txt_record.cc",
"discovery/mdns/mdns_probe.cc",
"discovery/mdns/mdns_probe_manager.cc",
"discovery/mdns/mdns_publisher.cc",
"discovery/mdns/mdns_querier.cc",
"discovery/mdns/mdns_reader.cc",
"discovery/mdns/mdns_receiver.cc",
"discovery/mdns/mdns_records.cc",
"discovery/mdns/mdns_responder.cc",
"discovery/mdns/mdns_sender.cc",
"discovery/mdns/mdns_service_impl.cc",
"discovery/mdns/mdns_trackers.cc",
"discovery/mdns/mdns_writer.cc",
"discovery/mdns/public/mdns_service.cc",
]
osp_discovery_testing_srcs = [
"discovery/dnssd/testing/fake_dns_record_factory.cc",
"discovery/mdns/testing/mdns_test_util.cc",
]
osp_discovery_unittest_srcs = [
"discovery/dnssd/impl/conversion_layer_unittest.cc",
"discovery/dnssd/impl/dns_data_graph_unittest.cc",
"discovery/dnssd/impl/instance_key_unittest.cc",
"discovery/dnssd/impl/publisher_impl_unittest.cc",
"discovery/dnssd/impl/querier_impl_unittest.cc",
"discovery/dnssd/impl/service_key_unittest.cc",
"discovery/dnssd/public/dns_sd_instance_endpoint_unittest.cc",
"discovery/dnssd/public/dns_sd_instance_unittest.cc",
"discovery/dnssd/public/dns_sd_txt_record_unittest.cc",
"discovery/mdns/mdns_probe_manager_unittest.cc",
"discovery/mdns/mdns_probe_unittest.cc",
"discovery/mdns/mdns_publisher_unittest.cc",
"discovery/mdns/mdns_querier_unittest.cc",
"discovery/mdns/mdns_random_unittest.cc",
"discovery/mdns/mdns_reader_unittest.cc",
"discovery/mdns/mdns_receiver_unittest.cc",
"discovery/mdns/mdns_records_unittest.cc",
"discovery/mdns/mdns_responder_unittest.cc",
"discovery/mdns/mdns_sender_unittest.cc",
"discovery/mdns/mdns_trackers_unittest.cc",
"discovery/mdns/mdns_writer_unittest.cc",
"discovery/public/dns_sd_service_watcher_unittest.cc",
]
osp_platform_base_srcs = [
"platform/base/error.cc",
"platform/base/interface_info.cc",
"platform/base/ip_address.cc",
"platform/base/udp_packet.cc",
]
osp_platform_api_srcs = [
"platform/api/udp_socket.cc",
]
osp_util_srcs = [
"util/alarm.cc",
"util/big_endian.cc",
]
//#########################
// This library contains reference implementations for the platform api, and may not be
// optimal for every embedder's needs. Only files added are for adb (the only embedder ATM).
cc_library_host_static {
name: "libopenscreen-platform-impl",
defaults: ["openscreen_defaults"],
stl: "libc++_static",
srcs: [
"platform/impl/time.cc",
"platform/impl/network_interface.cc",
],
target: {
linux: {
srcs: [
"platform/impl/network_interface_linux.cc",
],
},
darwin: {
srcs: [
"platform/impl/network_interface_mac.cc",
],
cflags: [
// Required, to use the new IPv6 Sockets options introduced by RFC 3542.
"-D__APPLE_USE_RFC_3542",
],
},
windows: {
enabled: true,
srcs: [
"platform/impl/network_interface_win.cc",
],
},
},
export_include_dirs: ["."],
}
// TODO: enable the osp discovery unittests
cc_library_host_static {
name: "libopenscreen-discovery",
defaults: ["openscreen_defaults"],
stl: "libc++_static",
srcs: osp_platform_api_srcs +
osp_platform_base_srcs +
osp_util_srcs +
osp_discovery_srcs,
whole_static_libs: [
"libopenscreen_absl",
],
target: {
windows: {
enabled: true,
},
}
}