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     -DHAVE_LINUX \
     16     -DNOT_HAVE_SA_LEN \
     17     -DPLATFORM_NO_RLIMIT \
     18     -DTARGET_OS_LINUX \
     19     -DUSES_NETLINK \
     20     -DMDNS_DEBUGMSGS=0 \
     21     -DMDNS_UDS_SERVERPATH=\"/dev/socket/mdnsd\" \
     22     -DMDNS_USERNAME=\"mdnsr\" \
     23     -W \
     24     -Wall \
     25     -Wextra \
     26     -Wno-array-bounds \
     27     -Wno-pointer-sign \
     28     -Wno-unused \
     29     -Wno-unused-but-set-variable \
     30     -Wno-unused-parameter \
     31     -Werror=implicit-function-declaration \
     32 
     33 #########################
     34 
     35 include $(CLEAR_VARS)
     36 
     37 # uds_daemon.c explicitly dereferences a non-volatile null pointer. Clang rather
     38 # unhelpfully says "I know what you're trying to do, but I'm going to optimize
     39 # it away anyway". There's no way to disable this behavior, so just stick with
     40 # gcc.
     41 LOCAL_CLANG := false
     42 
     43 LOCAL_SRC_FILES :=  mDNSPosix/PosixDaemon.c    \
     44                     mDNSPosix/mDNSPosix.c      \
     45                     mDNSPosix/mDNSUNP.c        \
     46                     mDNSCore/mDNS.c            \
     47                     mDNSCore/DNSDigest.c       \
     48                     mDNSCore/uDNS.c            \
     49                     mDNSCore/DNSCommon.c       \
     50                     mDNSShared/uds_daemon.c    \
     51                     mDNSShared/mDNSDebug.c     \
     52                     mDNSShared/dnssd_ipc.c     \
     53                     mDNSShared/GenLinkedList.c \
     54                     mDNSShared/PlatformCommon.c
     55 
     56 LOCAL_MODULE := mdnsd
     57 LOCAL_MODULE_TAGS := optional
     58 
     59 LOCAL_C_INCLUDES := external/mdnsresponder/mDNSPosix \
     60                     external/mdnsresponder/mDNSCore  \
     61                     external/mdnsresponder/mDNSShared
     62 
     63 LOCAL_CFLAGS := $(commonFlags) -DMDNS_VERSIONSTR_NODTS=1
     64 
     65 LOCAL_STATIC_LIBRARIES := $(commonLibs) libc
     66 LOCAL_FORCE_STATIC_EXECUTABLE := true
     67 LOCAL_INIT_RC := mdnsd.rc
     68 include $(BUILD_EXECUTABLE)
     69 
     70 ##########################
     71 
     72 include $(CLEAR_VARS)
     73 LOCAL_SRC_FILES := $(commonSources)
     74 LOCAL_MODULE := libmdnssd
     75 LOCAL_MODULE_TAGS := optional
     76 LOCAL_CFLAGS := $(commonFlags)
     77 LOCAL_SYSTEM_SHARED_LIBRARIES := libc
     78 LOCAL_SHARED_LIBRARIES := $(commonLibs)
     79 LOCAL_EXPORT_C_INCLUDE_DIRS := external/mdnsresponder/mDNSShared
     80 include $(BUILD_SHARED_LIBRARY)
     81 
     82 include $(CLEAR_VARS)
     83 LOCAL_SRC_FILES := $(commonSources)
     84 LOCAL_MODULE := libmdnssd
     85 LOCAL_MODULE_TAGS := optional
     86 LOCAL_CFLAGS := $(commonFlags)
     87 LOCAL_STATIC_LIBRARIES := $(commonLibs)
     88 LOCAL_EXPORT_C_INCLUDE_DIRS := external/mdnsresponder/mDNSShared
     89 include $(BUILD_STATIC_LIBRARY)
     90 
     91 ############################
     92 
     93 include $(CLEAR_VARS)
     94 LOCAL_SRC_FILES := Clients/dns-sd.c Clients/ClientCommon.c
     95 LOCAL_MODULE := dnssd
     96 LOCAL_MODULE_TAGS := optional
     97 LOCAL_CFLAGS := $(commonFlags)
     98 LOCAL_SYSTEM_SHARED_LIBRARIES := libc
     99 LOCAL_SHARED_LIBRARIES := libmdnssd libcutils liblog
    100 include $(BUILD_EXECUTABLE)
    101 
    102 ############################
    103 # This builds an mDns that is embeddable within GmsCore for the nearby connections API
    104 
    105 ### STATIC LIB ###
    106 include $(CLEAR_VARS)
    107 
    108 LOCAL_SDK_VERSION := 8
    109 LOCAL_MODULE    := libmdns_jni_static
    110 LOCAL_SRC_FILES :=  /mDNSCore/mDNS.c \
    111                     /mDNSCore/DNSDigest.c \
    112                     /mDNSCore/uDNS.c \
    113                     /mDNSCore/DNSCommon.c \
    114                     /mDNSPosix/mDNSPosix.c \
    115                     /mDNSPosix/mDNSUNP.c \
    116                     /mDNSShared/mDNSDebug.c \
    117                     /mDNSShared/dnssd_clientlib.c \
    118                     /mDNSShared/dnssd_clientshim.c \
    119                     /mDNSShared/dnssd_ipc.c \
    120                     /mDNSShared/GenLinkedList.c \
    121                     /mDNSShared/PlatformCommon.c
    122 
    123 LOCAL_C_INCLUDES := external/mdnsresponder/mDNSPosix \
    124                     external/mdnsresponder/mDNSCore  \
    125                     external/mdnsresponder/mDNSShared
    126 
    127 LOCAL_CFLAGS += -Os -fvisibility=hidden
    128 LOCAL_CFLAGS += $(commonFlags) \
    129                 -UMDNS_DEBUGMSGS \
    130                 -DMDNS_DEBUGMSGS=0 \
    131                 -DSO_REUSEADDR \
    132                 -DUNICAST_DISABLED
    133 
    134 ifeq ($(TARGET_BUILD_TYPE),debug)
    135   LOCAL_CFLAGS += -O0 -UNDEBUG -fno-omit-frame-pointer
    136 endif
    137 
    138 include $(BUILD_STATIC_LIBRARY)
    139