001-cross_compile.patch (4294B)
1 --- a/Clients/Makefile 2 +++ b/Clients/Makefile 3 @@ -27,6 +27,8 @@ 4 5 ############################################################################# 6 7 +CC = @cc 8 + 9 # On OS X the dns_sd library functions are included in libSystem, which is implicitly linked with every executable 10 # If /usr/lib/libSystem.dylib exists, then we're on OS X, so we don't need also to link the "dns_sd" shared library 11 ifneq "$(wildcard /usr/lib/libSystem.dylib)" "" 12 @@ -46,10 +48,10 @@ build: 13 mkdir build 14 15 build/dns-sd: build dns-sd.c ClientCommon.c 16 - $(CC) $(filter %.c %.o, $+) $(LIBS) -I../mDNSShared -Wall -o $@ 17 + $(CC) $(CFLAGS) $(filter %.c %.o, $+) $(LIBS) -I../mDNSShared -Wall -o $@ 18 19 build/dns-sd64: build dns-sd.c ClientCommon.c 20 - $(CC) $(filter %.c %.o, $+) $(LIBS) -I../mDNSShared -Wall -o $@ -m64 21 + $(CC) $(CFLAGS) $(filter %.c %.o, $+) $(LIBS) -I../mDNSShared -Wall -o $@ -m64 22 23 # Note, we can make a 'fat' version of dns-sd using 'lipo', as shown below, but we 24 # don't, because we don't want or need a 'fat' version of dns-sd, because it will 25 --- a/mDNSPosix/Makefile 26 +++ b/mDNSPosix/Makefile 27 @@ -54,11 +54,12 @@ COREDIR = ../mDNSCore 28 SHAREDDIR ?= ../mDNSShared 29 JDK = /usr/jdk 30 31 -CC = @cc 32 +CC = @gcc 33 BISON = @bison 34 FLEX = @flex 35 ST = @strip 36 -LD = ld -shared 37 +LD = @ld 38 +SOOPTS = -shared 39 CP = cp 40 RM = rm 41 LN = ln -s -f 42 @@ -92,7 +93,7 @@ CFLAGS_DEBUG = -O0 -DMDNS_DEBUGMSGS=0 43 CFLAGS_OS = -DNOT_HAVE_DAEMON -DNOT_HAVE_SA_LEN -DNOT_HAVE_SOCKLEN_T -DNOT_HAVE_IF_NAMETOINDEX \ 44 -DLOG_PERROR=0 -D_XPG4_2 -D__EXTENSIONS__ -DHAVE_BROKEN_RECVIF_NAME -DTARGET_OS_SOLARIS 45 CC = gcc 46 -LD = gcc -shared 47 +LD = gcc 48 LINKOPTS = -lsocket -lnsl -lresolv 49 JAVACFLAGS_OS += -I$(JDK)/include/solaris 50 ifneq ($(DEBUG),1) 51 @@ -148,7 +149,8 @@ CFLAGS_OS = -DHAVE_IPV6 -no-cpp-precomp 52 -D__MAC_OS_X_VERSION_MIN_REQUIRED=__MAC_OS_X_VERSION_10_4 \ 53 -D__APPLE_USE_RFC_2292 #-Wunreachable-code 54 CC = gcc 55 -LD = $(CC) -dynamiclib 56 +LD = $(CC) 57 +SOOPTS= -dynamiclib 58 LINKOPTS = -lSystem 59 LDSUFFIX = dylib 60 JDK = /System/Library/Frameworks/JavaVM.framework/Home 61 @@ -170,8 +172,9 @@ NSSLIBFILE := $(NSSLIBNAME)-$(NSSVERSIO 62 NSSLINKNAME := $(NSSLIBNAME).so.2 63 NSSINSTPATH := /lib 64 65 -# If not otherwise defined, we install into /usr/lib and /usr/include 66 +# If not otherwise defined, we install into /usr/lib, /usr/include and /etc 67 # and our startup script is called mdns (e.g. /etc/init.d/mdns) 68 +ETCBASE?=/etc 69 INSTBASE?=/usr 70 STARTUPSCRIPTNAME?=mdns 71 72 @@ -257,7 +260,7 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$ 73 CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o 74 75 $(BUILDDIR)/libdns_sd.$(LDSUFFIX): $(CLIENTLIBOBJS) 76 - @$(LD) $(LINKOPTS) -o $@ $+ 77 + @$(LD) $(SOOPTS) $(LINKOPTS) -o $@ $+ 78 @$(STRIP) $@ 79 80 Clients: setup libdns_sd ../Clients/build/dns-sd 81 @@ -292,7 +295,7 @@ InstalledManPages: $(MANPATH)/man8/mdnsd 82 InstalledClients: $(INSTBASE)/bin/dns-sd 83 @echo $+ " installed" 84 85 -InstalledNSS: $(NSSINSTPATH)/$(NSSLINKNAME) /etc/nss_mdns.conf $(MANPATH)/man5/nss_mdns.conf.5 $(MANPATH)/man8/libnss_mdns.8 86 +InstalledNSS: $(NSSINSTPATH)/$(NSSLINKNAME) $(ETCBASE)/nss_mdns.conf $(MANPATH)/man5/nss_mdns.conf.5 $(MANPATH)/man8/libnss_mdns.8 87 @echo $+ " installed" 88 89 # Note: If daemon already installed, we make sure it's stopped before overwriting it 90 @@ -347,19 +350,21 @@ $(INSTBASE)/bin/dns-sd: ../Clients/build 91 92 $(NSSINSTPATH)/$(NSSLINKNAME): $(NSSINSTPATH)/$(NSSLIBFILE) 93 $(LN) $< $@ 94 - ldconfig 95 +ifdef LDCONFIG 96 + $(LDCONFIG) 97 +endif 98 99 $(NSSINSTPATH)/$(NSSLIBFILE): $(BUILDDIR)/$(NSSLIBFILE) 100 $(CP) $< $@ 101 chmod 444 $@ 102 103 -/etc/nss_mdns.conf: nss_mdns.conf 104 +$(ETCBASE)/nss_mdns.conf: nss_mdns.conf 105 $(CP) $< $@ 106 chmod 444 $@ 107 # Check the nsswitch.conf file. 108 # If 'mdns' does not already appear on the "hosts:" line, then add it right before 'dns' 109 - cp -f /etc/nsswitch.conf /etc/nsswitch.conf.pre-mdns 110 - sed -e '/mdns/!s/^\(hosts:.*\)dns\(.*\)/\1mdns dns\2/' /etc/nsswitch.conf.pre-mdns > /etc/nsswitch.conf 111 + -[ -f $(ETCBASE)/nsswitch.conf ] && cp -f $(ETCBASE)/nsswitch.conf $(ETCBASE)/nsswitch.conf.pre-mdns 112 + -[ -f $(ETCBASE)/nsswitch.conf ] && sed -e '/mdns/!s/^\(hosts:.*\)dns\(.*\)/\1mdns dns\2/' $(ETCBASE)/nsswitch.conf.pre-mdns > $(ETCBASE)/nsswitch.conf 113 114 ############################################################################# 115