commonLibs = [ "libcutils", "liblog", ] cc_defaults { name: "mdnsresponder_default_cflags", cflags: [ "-O2", "-g", "-fno-strict-aliasing", "-fwrapv", "-D_GNU_SOURCE", "-DHAVE_IPV6", "-DNOT_HAVE_SA_LEN", "-DPLATFORM_NO_RLIMIT", "-DMDNS_DEBUGMSGS=0", "-DMDNS_UDS_SERVERPATH=\"/dev/socket/mdnsd\"", "-DMDNS_USERNAME=\"mdnsr\"", "-W", "-Wall", "-Wextra", "-Wno-address-of-packed-member", "-Wno-array-bounds", "-Wno-pointer-sign", "-Wno-unused", "-Wno-unused-but-set-variable", "-Wno-unused-parameter", "-Werror=implicit-function-declaration", ], target: { linux: { cflags: [ "-DTARGET_OS_LINUX", "-DHAVE_LINUX", "-DUSES_NETLINK", "-Werror", ], }, darwin: { cflags: [ "-DTARGET_OS_MAC", "-Wno-error", ], }, windows: { enabled: true, cflags: [ "-DTARGET_OS_WINDOWS", "-DWIN32", "-DNDEBUG", "-D_WIN32_LEAN_AND_MEAN", "-DUSE_TCP_LOOPBACK", "-D_CRT_SECURE_NO_DEPRECATE", "-D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1", "-Wno-error", "-Wno-sign-compare", "-include stdint.h", "-include winsock2.h", "-include ws2ipdef.h", "-include wincrypt.h", "-include netioapi.h", ], local_include_dirs: [ "mDNSWindows", "android/caseMapping", ], }, }, } cc_binary { name: "mdnsd", defaults: ["mdnsresponder_default_cflags"], host_supported: true, srcs: [ "mDNSCore/mDNS.c", "mDNSCore/DNSDigest.c", "mDNSCore/uDNS.c", "mDNSCore/DNSCommon.c", "mDNSShared/uds_daemon.c", "mDNSShared/mDNSDebug.c", "mDNSShared/dnssd_ipc.c", "mDNSShared/GenLinkedList.c", ], local_include_dirs: [ "mDNSCore", "mDNSShared", ], init_rc: ["mdnsd.rc"], cflags: ["-DMDNS_VERSIONSTR_NODTS=1"], target: { android: { static_executable: true, local_include_dirs: ["mDNSPosix"], srcs: [ "mDNSShared/PlatformCommon.c", "mDNSPosix/PosixDaemon.c", "mDNSPosix/mDNSPosix.c", "mDNSPosix/mDNSUNP.c", ], }, not_windows: { local_include_dirs: ["mDNSPosix"], srcs: [ "mDNSShared/PlatformCommon.c", "mDNSPosix/PosixDaemon.c", "mDNSPosix/mDNSPosix.c", "mDNSPosix/mDNSUNP.c", ], }, windows: { cflags: [ "-DTARGET_OS_WIN32", "-D_CONSOLE", "-DPLATFORM_NO_STRSEP", "-DPLATFORM_NO_EPIPE", "-DPLATFORM_NO_RLIMIT", "-DPID_FILE=\"\"", "-DUNICODE", "-D_UNICODE", "-D_LEGACY_NAT_TRAVERSAL", "-Wno-empty-body", ], ldflags: ["-municode"], host_ldlibs: [ "-lws2_32", "-liphlpapi", "-lpowrprof", "-lnetapi32", ], srcs: [ "mDNSWindows/SystemService/main.c", "mDNSWindows/SystemService/Service.c", "mDNSWindows/SystemService/EventLog.mc", "mDNSWindows/Secret.c", "mDNSWindows/mDNSWin32.c", "mDNSShared/DebugServices.c", "android/windows_firewall_dummy.c", ], local_include_dirs: [ "mDNSWindows/SystemService", ], }, }, static_libs: commonLibs, } //######################### cc_library { name: "libmdnssd", defaults: ["mdnsresponder_default_cflags"], host_supported: true, srcs: [ "mDNSShared/dnssd_clientlib.c", "mDNSShared/dnssd_clientstub.c", "mDNSShared/dnssd_ipc.c", ], target: { host: { shared: { enabled: false, }, }, windows: { srcs: ["mDNSWindows/DLL/dllmain.c"], cflags: [ "-D_WINDOWS", "-D_USERDLL", "-D_MDNS_DEBUGMSGS=0", "-D_SSIZE_T", "-DNOT_HAVE_SA_LENGTH", "-Wno-unknown-pragmas", "-Wno-overflow", "-include iphlpapi.h", "-include stdlib.h", "-include stdio.h", ], }, }, export_include_dirs: ["mDNSShared"], static_libs: commonLibs, } //########################### cc_binary { name: "dnssd", defaults: ["mdnsresponder_default_cflags"], srcs: [ "Clients/dns-sd.c", "Clients/ClientCommon.c", ], system_shared_libs: ["libc", "libdl"], shared_libs: [ "libmdnssd", "libcutils", "liblog", ], }