Home | History | Annotate | Download | only in mdnsresponder
      1 LOCAL_PATH := $(call my-dir)
      2 
      3 commonSources := \
      4     mDNSShared/dnssd_clientlib.c  \
      5     mDNSShared/dnssd_clientstub.c \
      6     mDNSShared/dnssd_ipc.c
      7 
      8 commonLibs := libcutils liblog
      9 
     10 commonFlags := \
     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 
     30 daemonSources := 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 
     43 daemonIncludes := external/mdnsresponder/mDNSCore  \
     44                   external/mdnsresponder/mDNSShared \
     45                   external/mdnsresponder/mDNSPosix
     46 
     47 #########################
     48 
     49 include $(CLEAR_VARS)
     50 LOCAL_SRC_FILES :=  $(daemonSources)
     51 LOCAL_MODULE := mdnsd
     52 LOCAL_MODULE_TAGS := optional
     53 
     54 LOCAL_C_INCLUDES := $(daemonIncludes)
     55 
     56 LOCAL_CFLAGS := \
     57   $(commonFlags) \
     58   -DTARGET_OS_LINUX \
     59   -DMDNS_VERSIONSTR_NODTS=1 \
     60   -DHAVE_LINUX \
     61   -DUSES_NETLINK \
     62 
     63 LOCAL_STATIC_LIBRARIES := $(commonLibs) libc
     64 LOCAL_FORCE_STATIC_EXECUTABLE := true
     65 LOCAL_INIT_RC := mdnsd.rc
     66 include $(BUILD_EXECUTABLE)
     67 
     68 include $(CLEAR_VARS)
     69 LOCAL_SRC_FILES :=  $(daemonSources)
     70 LOCAL_MODULE := mdnsd
     71 LOCAL_MODULE_TAGS := optional
     72 
     73 LOCAL_C_INCLUDES := $(daemonIncludes)
     74 
     75 LOCAL_CFLAGS := \
     76   $(commonFlags) \
     77   -DMDNS_VERSIONSTR_NODTS=1 \
     78 
     79 LOCAL_CFLAGS_linux := -DTARGET_OS_LINUX -DHAVE_LINUX -DUSES_NETLINK
     80 LOCAL_CFLAGS_darwin := -DTARGET_OS_MAC
     81 
     82 LOCAL_STATIC_LIBRARIES := $(commonLibs)
     83 include $(BUILD_HOST_EXECUTABLE)
     84 
     85 include $(CLEAR_VARS)
     86 LOCAL_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 
    102 LOCAL_MODULE := mdnsd
    103 LOCAL_MODULE_TAGS := optional
    104 LOCAL_MODULE_CLASS := EXECUTABLES
    105 
    106 mdnsd_generated_sources := $(call local-generated-sources-dir)
    107 event_log_h := $(mdnsd_generated_sources)/EventLog.h
    108 event_log_o := $(mdnsd_generated_sources)/EventLog.o
    109 event_log_rc := $(mdnsd_generated_sources)/EventLog.rc
    110 
    111 event_log_mc := external/mdnsresponder/mDNSWindows/SystemService/EventLog.mc
    112 mingw_bin := prebuilts/gcc/$(HOST_PREBUILT_TAG)/host/x86_64-w64-mingw32-4.8/bin
    113 windmc := $(mingw_bin)/x86_64-w64-mingw32-windmc
    114 windres := $(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 
    122 LOCAL_GENERATED_SOURCES := \
    123   $(mdnsd_generated_sources)/EventLog.h \
    124   $(mdnsd_generated_sources)/EventLog.o
    125 
    126 LOCAL_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 
    134 LOCAL_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 
    160 LOCAL_LDFLAGS := -lws2_32 -liphlpapi -lpowrprof -lnetapi32 -municode
    161 
    162 
    163 LOCAL_MODULE_HOST_OS := windows
    164 
    165 LOCAL_STATIC_LIBRARIES := $(commonLibs)
    166 include $(BUILD_HOST_EXECUTABLE)
    167 ##########################
    168 
    169 include $(CLEAR_VARS)
    170 LOCAL_SRC_FILES := $(commonSources)
    171 LOCAL_MODULE := libmdnssd
    172 LOCAL_MODULE_TAGS := optional
    173 LOCAL_CFLAGS := $(commonFlags) -DTARGET_OS_LINUX -DHAVE_LINUX -DUSES_NETLINK
    174 LOCAL_SYSTEM_SHARED_LIBRARIES := libc
    175 LOCAL_SHARED_LIBRARIES := $(commonLibs)
    176 LOCAL_EXPORT_C_INCLUDE_DIRS := external/mdnsresponder/mDNSShared
    177 include $(BUILD_SHARED_LIBRARY)
    178 
    179 include $(CLEAR_VARS)
    180 LOCAL_SRC_FILES := $(commonSources)
    181 LOCAL_MODULE := libmdnssd
    182 LOCAL_MODULE_TAGS := optional
    183 LOCAL_CFLAGS := $(commonFlags) -DTARGET_OS_LINUX -DHAVE_LINUX -DUSES_NETLINK
    184 LOCAL_STATIC_LIBRARIES := $(commonLibs)
    185 LOCAL_EXPORT_C_INCLUDE_DIRS := external/mdnsresponder/mDNSShared
    186 include $(BUILD_STATIC_LIBRARY)
    187 
    188 include $(CLEAR_VARS)
    189 LOCAL_SRC_FILES := $(commonSources)
    190 LOCAL_SRC_FILES_windows := mDNSWindows/DLL/dllmain.c
    191 LOCAL_MODULE := libmdnssd
    192 LOCAL_MODULE_TAGS := optional
    193 LOCAL_CFLAGS := $(commonFlags)
    194 LOCAL_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 
    219 LOCAL_CFLAGS_linux := -DTARGET_OS_LINUX -DHAVE_LINUX -DUSES_NETLINK
    220 LOCAL_CFLAGS_darwin := -DTARGET_OS_MAC
    221 LOCAL_STATIC_LIBRARIES := $(commonLibs)
    222 LOCAL_EXPORT_C_INCLUDE_DIRS := external/mdnsresponder/mDNSShared
    223 LOCAL_C_INCLUDES_windows := external/mdnsresponder/mDNSShared external/mdnsresponder/mDNSWindows
    224 LOCAL_C_INCLUDES_windows += external/mdnsresponder/android/caseMapping
    225 LOCAL_MODULE_HOST_OS := darwin linux windows
    226 include $(BUILD_HOST_STATIC_LIBRARY)
    227 
    228 ############################
    229 
    230 include $(CLEAR_VARS)
    231 LOCAL_SRC_FILES := Clients/dns-sd.c Clients/ClientCommon.c
    232 LOCAL_MODULE := dnssd
    233 LOCAL_MODULE_TAGS := optional
    234 LOCAL_CFLAGS := $(commonFlags) -DTARGET_OS_LINUX -DHAVE_LINUX -DUSES_NETLINK
    235 LOCAL_SYSTEM_SHARED_LIBRARIES := libc
    236 LOCAL_SHARED_LIBRARIES := libmdnssd libcutils liblog
    237 include $(BUILD_EXECUTABLE)
    238 
    239 ############################
    240 # This builds an mDns that is embeddable within GmsCore for the nearby connections API
    241 
    242 ### STATIC LIB ###
    243 include $(CLEAR_VARS)
    244 
    245 LOCAL_SDK_VERSION := 8
    246 LOCAL_MODULE    := libmdns_jni_static
    247 LOCAL_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 
    260 LOCAL_C_INCLUDES := external/mdnsresponder/mDNSPosix \
    261                     external/mdnsresponder/mDNSCore  \
    262                     external/mdnsresponder/mDNSShared
    263 
    264 LOCAL_CFLAGS += -Os -fvisibility=hidden
    265 LOCAL_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 
    274 ifeq ($(TARGET_BUILD_TYPE),debug)
    275   LOCAL_CFLAGS += -O0 -UNDEBUG -fno-omit-frame-pointer
    276 endif
    277 
    278 include $(BUILD_STATIC_LIBRARY)
    279