• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1LOCAL_PATH := $(call my-dir)
2
3commonSources := \
4    mDNSShared/dnssd_clientlib.c  \
5    mDNSShared/dnssd_clientstub.c \
6    mDNSShared/dnssd_ipc.c
7
8commonLibs := libcutils liblog
9
10commonFlags := \
11    -O2 -g \
12    -fno-strict-aliasing \
13    -D_GNU_SOURCE \
14    -DHAVE_IPV6 \
15    -DNOT_HAVE_SA_LEN \
16    -DPLATFORM_NO_RLIMIT \
17    -DMDNS_DEBUGMSGS=0 \
18    -DMDNS_UDS_SERVERPATH=\"/dev/socket/mdnsd\" \
19    -DMDNS_USERNAME=\"mdnsr\" \
20    -W \
21    -Wall \
22    -Wextra \
23    -Wno-array-bounds \
24    -Wno-pointer-sign \
25    -Wno-unused \
26    -Wno-unused-but-set-variable \
27    -Wno-unused-parameter \
28    -Werror=implicit-function-declaration \
29
30daemonSources := mDNSCore/mDNS.c            \
31                 mDNSCore/DNSDigest.c       \
32                 mDNSCore/uDNS.c            \
33                 mDNSCore/DNSCommon.c       \
34                 mDNSShared/uds_daemon.c    \
35                 mDNSShared/mDNSDebug.c     \
36                 mDNSShared/dnssd_ipc.c     \
37                 mDNSShared/GenLinkedList.c \
38                 mDNSShared/PlatformCommon.c \
39                 mDNSPosix/PosixDaemon.c    \
40                 mDNSPosix/mDNSPosix.c      \
41                 mDNSPosix/mDNSUNP.c
42
43daemonIncludes := external/mdnsresponder/mDNSCore  \
44                  external/mdnsresponder/mDNSShared \
45                  external/mdnsresponder/mDNSPosix
46
47#########################
48
49include $(CLEAR_VARS)
50LOCAL_SRC_FILES :=  $(daemonSources)
51LOCAL_MODULE := mdnsd
52LOCAL_MODULE_TAGS := optional
53
54LOCAL_C_INCLUDES := $(daemonIncludes)
55
56LOCAL_CFLAGS := \
57  $(commonFlags) \
58  -DTARGET_OS_LINUX \
59  -DMDNS_VERSIONSTR_NODTS=1 \
60  -DHAVE_LINUX \
61  -DUSES_NETLINK \
62
63LOCAL_STATIC_LIBRARIES := $(commonLibs) libc
64LOCAL_FORCE_STATIC_EXECUTABLE := true
65LOCAL_INIT_RC := mdnsd.rc
66include $(BUILD_EXECUTABLE)
67
68include $(CLEAR_VARS)
69LOCAL_SRC_FILES :=  $(daemonSources)
70LOCAL_MODULE := mdnsd
71LOCAL_MODULE_TAGS := optional
72
73LOCAL_C_INCLUDES := $(daemonIncludes)
74
75LOCAL_CFLAGS := \
76  $(commonFlags) \
77  -DMDNS_VERSIONSTR_NODTS=1 \
78
79LOCAL_CFLAGS_linux := -DTARGET_OS_LINUX -DHAVE_LINUX -DUSES_NETLINK
80LOCAL_CFLAGS_darwin := -DTARGET_OS_MAC
81
82LOCAL_STATIC_LIBRARIES := $(commonLibs)
83include $(BUILD_HOST_EXECUTABLE)
84
85include $(CLEAR_VARS)
86LOCAL_SRC_FILES := \
87  mDNSWindows/SystemService/main.c    \
88  mDNSWindows/SystemService/Service.c \
89  mDNSWindows/Secret.c                \
90  mDNSWindows/mDNSWin32.c             \
91  mDNSShared/dnssd_ipc.c              \
92  mDNSShared/uds_daemon.c             \
93  mDNSShared/mDNSDebug.c              \
94  mDNSShared/GenLinkedList.c          \
95  mDNSShared/DebugServices.c          \
96  mDNSCore/DNSDigest.c                \
97  mDNSCore/DNSCommon.c                \
98  mDNSCore/uDNS.c                     \
99  mDNSCore/mDNS.c                     \
100  android/windows_firewall_dummy.c
101
102LOCAL_MODULE := mdnsd
103LOCAL_MODULE_TAGS := optional
104LOCAL_MODULE_CLASS := EXECUTABLES
105
106mdnsd_generated_sources := $(call local-generated-sources-dir)
107event_log_h := $(mdnsd_generated_sources)/EventLog.h
108event_log_o := $(mdnsd_generated_sources)/EventLog.o
109event_log_rc := $(mdnsd_generated_sources)/EventLog.rc
110
111event_log_mc := external/mdnsresponder/mDNSWindows/SystemService/EventLog.mc
112mingw_bin := prebuilts/gcc/$(HOST_PREBUILT_TAG)/host/x86_64-w64-mingw32-4.8/bin
113windmc := $(mingw_bin)/x86_64-w64-mingw32-windmc
114windres := $(mingw_bin)/x86_64-w64-mingw32-windres
115
116$(event_log_h) $(event_log_o): $(event_log_mc)
117	@echo "Generating EventLog messages"
118	@mkdir -p $(mdnsd_generated_sources)
119	@$(windmc) -r$(mdnsd_generated_sources) -h$(mdnsd_generated_sources) $<
120	@$(windres) -F pe-i386 -I$(mdnsd_generated_sources) $(event_log_rc) $(event_log_o)
121
122LOCAL_GENERATED_SOURCES := \
123  $(mdnsd_generated_sources)/EventLog.h \
124  $(mdnsd_generated_sources)/EventLog.o
125
126LOCAL_C_INCLUDES := \
127  external/mdnsresponder/mDNSShared \
128  external/mdnsresponder/mDNSCore \
129  external/mdnsresponder/mDNSWindows/SystemService \
130  external/mdnsresponder/mDNSWindows \
131  external/mdnsresponder/android/caseMapping \
132  $(mdnsd_generated_sources)
133
134LOCAL_CFLAGS := $(commonFlags) \
135  -DMDNS_VERSIONSTR_NODTS=1 \
136  -DTARGET_OS_WINDOWS \
137  -DTARGET_OS_WIN32 \
138  -DWIN32 \
139  -DNDEBUG \
140  -D_CONSOLE \
141  -D_WIN32_LEAN_AND_MEAN \
142  -DUSE_TCP_LOOPBACK \
143  -DPLATFORM_NO_STRSEP \
144  -DPLATFORM_NO_EPIPE \
145  -DPLATFORM_NO_RLIMIT \
146  -DPID_FILE='""' \
147  -DUNICODE \
148  -D_UNICODE \
149  -D_CRT_SECURE_NO_DEPRECATE \
150  -D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1 \
151  -D_LEGACY_NAT_TRAVERSAL \
152  -include stdint.h \
153  -include winsock2.h \
154  -include ws2ipdef.h \
155  -include wincrypt.h \
156  -include netioapi.h \
157  -Wno-sign-compare \
158  -Wno-empty-body
159
160LOCAL_LDFLAGS := -lws2_32 -liphlpapi -lpowrprof -lnetapi32 -municode
161
162
163LOCAL_MODULE_HOST_OS := windows
164
165LOCAL_STATIC_LIBRARIES := $(commonLibs)
166include $(BUILD_HOST_EXECUTABLE)
167##########################
168
169include $(CLEAR_VARS)
170LOCAL_SRC_FILES := $(commonSources)
171LOCAL_MODULE := libmdnssd
172LOCAL_MODULE_TAGS := optional
173LOCAL_CFLAGS := $(commonFlags) -DTARGET_OS_LINUX -DHAVE_LINUX -DUSES_NETLINK
174LOCAL_SYSTEM_SHARED_LIBRARIES := libc
175LOCAL_SHARED_LIBRARIES := $(commonLibs)
176LOCAL_EXPORT_C_INCLUDE_DIRS := external/mdnsresponder/mDNSShared
177include $(BUILD_SHARED_LIBRARY)
178
179include $(CLEAR_VARS)
180LOCAL_SRC_FILES := $(commonSources)
181LOCAL_MODULE := libmdnssd
182LOCAL_MODULE_TAGS := optional
183LOCAL_CFLAGS := $(commonFlags) -DTARGET_OS_LINUX -DHAVE_LINUX -DUSES_NETLINK
184LOCAL_STATIC_LIBRARIES := $(commonLibs)
185LOCAL_EXPORT_C_INCLUDE_DIRS := external/mdnsresponder/mDNSShared
186include $(BUILD_STATIC_LIBRARY)
187
188include $(CLEAR_VARS)
189LOCAL_SRC_FILES := $(commonSources)
190LOCAL_SRC_FILES_windows := mDNSWindows/DLL/dllmain.c
191LOCAL_MODULE := libmdnssd
192LOCAL_MODULE_TAGS := optional
193LOCAL_CFLAGS := $(commonFlags)
194LOCAL_CFLAGS_windows := \
195  -DTARGET_OS_WINDOWS \
196  -DWIN32 \
197  -DNDEBUG \
198  -D_WINDOWS \
199  -D_USERDLL \
200  -D_MDNS_DEBUGMSGS=0 \
201  -D_WIN32_LEAN_AND_MEAN \
202  -D_SSIZE_T \
203  -DUSE_TCP_LOOPBACK \
204  -D_CRT_SECURE_NO_DEPRECATE \
205  -D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1 \
206  -DNOT_HAVE_SA_LENGTH \
207  -Wno-unknown-pragmas \
208  -Wno-sign-compare \
209  -Wno-overflow \
210  -include stdint.h \
211  -include winsock2.h \
212  -include ws2ipdef.h \
213  -include wincrypt.h \
214  -include iphlpapi.h \
215  -include netioapi.h \
216  -include stdlib.h \
217  -include stdio.h
218
219LOCAL_CFLAGS_linux := -DTARGET_OS_LINUX -DHAVE_LINUX -DUSES_NETLINK
220LOCAL_CFLAGS_darwin := -DTARGET_OS_MAC
221LOCAL_STATIC_LIBRARIES := $(commonLibs)
222LOCAL_EXPORT_C_INCLUDE_DIRS := external/mdnsresponder/mDNSShared
223LOCAL_C_INCLUDES_windows := external/mdnsresponder/mDNSShared external/mdnsresponder/mDNSWindows
224LOCAL_C_INCLUDES_windows += external/mdnsresponder/android/caseMapping
225LOCAL_MODULE_HOST_OS := darwin linux windows
226include $(BUILD_HOST_STATIC_LIBRARY)
227
228############################
229
230include $(CLEAR_VARS)
231LOCAL_SRC_FILES := Clients/dns-sd.c Clients/ClientCommon.c
232LOCAL_MODULE := dnssd
233LOCAL_MODULE_TAGS := optional
234LOCAL_CFLAGS := $(commonFlags) -DTARGET_OS_LINUX -DHAVE_LINUX -DUSES_NETLINK
235LOCAL_SYSTEM_SHARED_LIBRARIES := libc
236LOCAL_SHARED_LIBRARIES := libmdnssd libcutils liblog
237include $(BUILD_EXECUTABLE)
238
239############################
240# This builds an mDns that is embeddable within GmsCore for the nearby connections API
241
242### STATIC LIB ###
243include $(CLEAR_VARS)
244
245LOCAL_SDK_VERSION := 8
246LOCAL_MODULE    := libmdns_jni_static
247LOCAL_SRC_FILES :=  /mDNSCore/mDNS.c \
248                    /mDNSCore/DNSDigest.c \
249                    /mDNSCore/uDNS.c \
250                    /mDNSCore/DNSCommon.c \
251                    /mDNSPosix/mDNSPosix.c \
252                    /mDNSPosix/mDNSUNP.c \
253                    /mDNSShared/mDNSDebug.c \
254                    /mDNSShared/dnssd_clientlib.c \
255                    /mDNSShared/dnssd_clientshim.c \
256                    /mDNSShared/dnssd_ipc.c \
257                    /mDNSShared/GenLinkedList.c \
258                    /mDNSShared/PlatformCommon.c
259
260LOCAL_C_INCLUDES := external/mdnsresponder/mDNSPosix \
261                    external/mdnsresponder/mDNSCore  \
262                    external/mdnsresponder/mDNSShared
263
264LOCAL_CFLAGS += -Os -fvisibility=hidden
265LOCAL_CFLAGS += $(commonFlags) \
266                -UMDNS_DEBUGMSGS \
267                -DMDNS_DEBUGMSGS=0 \
268                -DSO_REUSEADDR \
269                -DUNICAST_DISABLED \
270                -DTARGET_OS_LINUX \
271                -DHAVE_LINUX \
272                -DUSES_NETLINK
273
274ifeq ($(TARGET_BUILD_TYPE),debug)
275  LOCAL_CFLAGS += -O0 -UNDEBUG -fno-omit-frame-pointer
276endif
277
278include $(BUILD_STATIC_LIBRARY)
279