$NetBSD: patch-aa,v 1.15 2018/02/13 13:49:45 ryoon Exp $

Find libpthread.so when not on the default rpath.
Allow custom CC and CFLAGS.
Disable -Werror on OSX.
Fix build failure under OpenBSD, __guard_local issue.
Fix -install_name on OSX.

--- mDNSPosix/Makefile.orig	2009-08-11 01:13:47.000000000 +0000
+++ mDNSPosix/Makefile
@@ -54,17 +54,16 @@ COREDIR = ../mDNSCore
 SHAREDDIR ?= ../mDNSShared
 JDK = /usr/jdk
 
-CC = @cc
 BISON = @bison
 FLEX = @flex
-LD = ld -shared
+LD = cc -shared
 CP = cp
 RM = rm
 LN = ln -s -f
 CFLAGS_COMMON = -I$(COREDIR) -I$(SHAREDDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\"
 CFLAGS_PTHREAD =
-LINKOPTS =
-LINKOPTS_PTHREAD = -lpthread
+LINKOPTS = ${LDFLAGS}
+LINKOPTS_PTHREAD = $(LIBFLAGS) ${COMPILER_RPATH_FLAG}${PTHREADBASE}/lib ${PTHREAD_LDFLAGS} ${PTHREAD_LIBS} ${EXTRA_LIBS}
 LDSUFFIX = so
 JAVACFLAGS_OS = -fPIC -shared -ldns_sd
 
@@ -100,7 +99,7 @@ endif
 else
 
 ifeq ($(os),linux)
-CFLAGS_OS = -DNOT_HAVE_SA_LEN -DUSES_NETLINK -DHAVE_LINUX -DTARGET_OS_LINUX
+CFLAGS_OS = -DNOT_HAVE_SA_LEN -DUSES_NETLINK -DHAVE_LINUX -DTARGET_OS_LINUX -D_GNU_SOURCE
 FLEXFLAGS_OS = -l
 JAVACFLAGS_OS += -I$(JDK)/include/linux
 OPTIONALTARG = nss_mdns
@@ -126,7 +125,7 @@ CFLAGS_OS =
 #     -pthread
 #       Link a user-threaded process against libc_r instead of libc.
 CFLAGS_PTHREAD   = -pthread -D_THREAD_SAFE
-LINKOPTS_PTHREAD = -pthread
+LINKOPTS_PTHREAD = $(LIBFLAGS) ${COMPILER_RPATH_FLAG}${PTHREADBASE}/lib ${PTHREAD_LDFLAGS} ${PTHREAD_LIBS} ${EXTRA_LIBS}
 JAVACFLAGS_OS += -I$(JDK)/include/freebsd
 LDCONFIG = ldconfig
 else
@@ -134,17 +133,18 @@ else
 ifeq ($(os),openbsd)
 CFLAGS_OS = -DHAVE_BROKEN_RECVDSTADDR
 LDCONFIG = ldconfig
+LD = cc -shared
 else
 
 ifeq ($(os),x)
 # We have to define __MAC_OS_X_VERSION_MIN_REQUIRED=__MAC_OS_X_VERSION_10_4 or on Leopard
 # we get build failures: ‘daemon’ is deprecated (declared at /usr/include/stdlib.h:283)
-CFLAGS_OS = -DHAVE_IPV6 -no-cpp-precomp -Werror -Wdeclaration-after-statement \
+CFLAGS_OS = -DHAVE_IPV6 -no-cpp-precomp -Wdeclaration-after-statement \
 	-D__MAC_OS_X_VERSION_MIN_REQUIRED=__MAC_OS_X_VERSION_10_4 #-Wunreachable-code
-CC = @gcc-4.0
 LD = $(CC) -dynamiclib
 LINKOPTS = -lSystem
 LDSUFFIX = dylib
+INSTALL_NAME = -install_name $(PREFIX)/lib/libdns_sd.$(LDSUFFIX)
 JDK = /System/Library/Frameworks/JavaVM.framework/Home
 JAVACFLAGS_OS = -dynamiclib -I/System/Library/Frameworks/JavaVM.framework/Headers -framework JavaVM 
 else
@@ -205,7 +205,7 @@ endif
 endif
 endif
 
-CFLAGS = $(CFLAGS_COMMON) $(CFLAGS_OS) $(CFLAGS_DEBUG)
+CFLAGS += $(CFLAGS_COMMON) $(CFLAGS_OS) -DMDNS_DEBUGMSGS=0
 
 #############################################################################
 
@@ -249,7 +249,7 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$
 CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o
 
 $(BUILDDIR)/libdns_sd.$(LDSUFFIX): $(CLIENTLIBOBJS)
-	@$(LD) $(LINKOPTS) -o $@ $+
+	@$(LD) $(LINKOPTS) $(INSTALL_NAME) -o $@ $+
 	@$(STRIP) $@
 
 Clients: setup libdns_sd ../Clients/build/dns-sd
