From 72405143f9d16514e70b88bc4843c9634b88036a Mon Sep 17 00:00:00 2001 From: Brendan Le Foll Date: Tue, 3 Mar 2015 11:42:57 +0000 Subject: [PATCH 2/2] mdns: cross compilation fixes for bitbake Fixes several build errors when incorrect compiler or compiler flags are used. Upstream-Status: Inappropriate [OE-specific] Signed-off-by: Paul Eggleton Signed-off-by: Mikko Rapeli --- mDNSPosix/Makefile | 44 ++++++++++++++++++++------------------------ 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/mDNSPosix/Makefile b/mDNSPosix/Makefile index 78222e0..18a3af5 100755 --- a/mDNSPosix/Makefile +++ b/mDNSPosix/Makefile @@ -50,6 +50,7 @@ LIBVERS = 1 +POSIXDIR = ../mDNSPosix COREDIR = ../mDNSCore SHAREDDIR ?= ../mDNSShared DSODIR ?= ../DSO @@ -62,16 +63,16 @@ else ifeq ($(SYSTEM), Linux) os=linux endif -CC = cc -BISON = bison -FLEX = flex -ST = strip -LD = ld +CC ?= cc +BISON ?= bison +FLEX ?= flex +ST ?= strip +LD ?= ld SOOPTS = -shared CP = cp RM = rm LN = ln -s -f -CFLAGS_COMMON = -I$(COREDIR) -I$(SHAREDDIR) -I$(DSODIR) -I$(PROXYDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\" +CFLAGS_COMMON = -I$(POSIXDIR) -I$(COREDIR) -I$(SHAREDDIR) -I$(DSODIR) -I$(PROXYDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\" CFLAGS_PTHREAD = LINKOPTS = LINKOPTS_PTHREAD = -lpthread @@ -85,6 +86,7 @@ CFLAGS_OPEN_SOURCE= endif # Set up diverging paths for debug vs. prod builds +DEBUG ?= 1 ifeq "$(DEBUG)" "1" CFLAGS_DEBUGGING = -g -DMDNS_DEBUGMSGS=2 OBJDIR = objects/debug @@ -101,8 +103,8 @@ else # 1. We want to make small binaries, suitable for putting into hardware devices # 2. Some of the code analysis warnings only work when some form of optimization is enabled CFLAGS_DEBUGGING = -g -DMDNS_DEBUGMSGS=0 -OBJDIR ?= objects/prod -BUILDDIR ?= build/prod +OBJDIR = objects/prod +BUILDDIR = build/prod STRIP = $(ST) -S endif endif @@ -125,7 +127,7 @@ else # any target that contains the string "linux" ifeq ($(findstring linux,$(os)),linux) CFLAGS_OS = -D_GNU_SOURCE -DHAVE_IPV6 -DNOT_HAVE_SA_LEN -DUSES_NETLINK -DHAVE_LINUX -DTARGET_OS_LINUX -ftabstop=4 -LD = $(CC) +LD ?= $(CC) SOOPTS = -shared FLEXFLAGS_OS = -l JAVACFLAGS_OS += -I$(JDK)/include/linux @@ -276,8 +278,7 @@ Daemon: setup $(BUILDDIR)/mdnsd @echo "Responder daemon done" $(BUILDDIR)/mdnsd: $(DAEMONOBJS) - $(CC) -o $@ $+ $(LINKOPTS) - $(STRIP) $@ + $(LD) -o $@ $+ # libdns_sd target builds the client library libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX) @@ -286,13 +287,9 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX) 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) $(SOOPTS) $(LINKOPTS) -o $@ $+ - $(STRIP) $@ - -Clients: setup libdns_sd ../Clients/build/dns-sd - @echo "Clients done" + $(LD) -shared $(LINKOPTS) -Wl,-soname,libdns_sd.$(LDSUFFIX).1 -o $@ $+ -../Clients/build/dns-sd: ../Clients/dns-sd.c +Clients: setup libdns_sd $(MAKE) -C ../Clients DEBUG=$(DEBUG) SUPMAKE_CFLAGS="$(MDNSCFLAGS)" # nss_mdns target builds the Name Service Switch module @@ -300,8 +297,7 @@ nss_mdns: setup $(BUILDDIR)/$(NSSLIBFILE) @echo "Name Service Switch module done" $(BUILDDIR)/$(NSSLIBFILE): $(CLIENTLIBOBJS) $(OBJDIR)/nss_mdns.c.so.o - $(LD) $(SOOPTS) $(LINKOPTS) -o $@ $+ - $(STRIP) $@ + $(LD) -shared $(LINKOPTS) -o $@ $+ ############################################################################# @@ -494,21 +490,21 @@ dnsextd: setup $(BUILDDIR)/dnsextd @echo "dnsextd done" $(BUILDDIR)/mDNSClientPosix: $(APPOBJ) $(OBJDIR)/Client.c.o - $(CC) $+ -o $@ $(LINKOPTS) + $(CC) $+ -o $@ $(BUILDDIR)/mDNSResponderPosix: $(COMMONOBJ) $(OBJDIR)/Responder.c.o - $(CC) $+ -o $@ $(LINKOPTS) + $(CC) $+ -o $@ $(BUILDDIR)/mDNSProxyResponderPosix: $(COMMONOBJ) $(OBJDIR)/ProxyResponder.c.o - $(CC) $+ -o $@ $(LINKOPTS) + $(CC) $+ -o $@ $(BUILDDIR)/mDNSNetMonitor: $(SPECIALOBJ) $(OBJDIR)/NetMonitor.c.o - $(CC) $+ -o $@ $(LINKOPTS) + $(CC) $+ -o $@ $(OBJDIR)/NetMonitor.c.o: $(COREDIR)/mDNS.c # Note: NetMonitor.c textually imports mDNS.c $(BUILDDIR)/dnsextd: $(DNSEXTDOBJ) $(OBJDIR)/dnsextd.c.threadsafe.o - $(CC) $+ -o $@ $(LINKOPTS) $(LINKOPTS_PTHREAD) + $(CC) $+ -o $@ $(LINKOPTS_PTHREAD) ############################################################################# -- 2.20.1