e5f4ae5118973723efd0c50da9b184f81a059155
[packages.git] / net / mdnsresponder / patches / 001-cross_compile.patch
1 --- a/Clients/Makefile
2 +++ b/Clients/Makefile
3 @@ -23,6 +23,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 @@ -42,10 +44,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) $(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) $(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,10 +54,11 @@ COREDIR = ../mDNSCore
28  SHAREDDIR ?= ../mDNSShared
29  JDK = /usr/jdk
30  
31 -CC = @cc
32 +CC = @gcc
33  BISON = @bison
34  FLEX = @flex
35 -LD = ld -shared
36 +LD = @ld
37 +SOOPTS = -shared
38  CP = cp
39  RM = rm
40  LN = ln -s -f
41 @@ -82,7 +83,7 @@ else
42  CFLAGS_DEBUG = -Os -DMDNS_DEBUGMSGS=0 
43  OBJDIR ?= objects/prod
44  BUILDDIR ?= build/prod
45 -STRIP = strip -S 
46 +STRIP = @strip -S
47  endif
48  
49  # Configure per-OS peculiarities
50 @@ -91,7 +92,7 @@ CFLAGS_DEBUG = -O0 -DMDNS_DEBUGMSGS=0
51  CFLAGS_OS = -DNOT_HAVE_DAEMON -DNOT_HAVE_SA_LEN -DNOT_HAVE_SOCKLEN_T -DNOT_HAVE_IF_NAMETOINDEX \
52          -DLOG_PERROR=0 -D_XPG4_2 -D__EXTENSIONS__ -DHAVE_BROKEN_RECVIF_NAME -DTARGET_OS_SOLARIS
53  CC = gcc
54 -LD = gcc -shared
55 +LD = gcc
56  LINKOPTS = -lsocket -lnsl -lresolv
57  JAVACFLAGS_OS += -I$(JDK)/include/solaris
58  ifneq ($(DEBUG),1)
59 @@ -147,7 +148,8 @@ CFLAGS_OS = -DHAVE_IPV6 -no-cpp-precomp
60         -D__MAC_OS_X_VERSION_MIN_REQUIRED=__MAC_OS_X_VERSION_10_4 \
61         -D__APPLE_USE_RFC_2292 #-Wunreachable-code
62  CC = gcc
63 -LD = $(CC) -dynamiclib
64 +LD = $(CC)
65 +SOOPTS= -dynamiclib
66  LINKOPTS = -lSystem
67  LDSUFFIX = dylib
68  JDK = /System/Library/Frameworks/JavaVM.framework/Home
69 @@ -169,8 +171,9 @@ NSSLIBFILE  := $(NSSLIBNAME)-$(NSSVERSIO
70  NSSLINKNAME := $(NSSLIBNAME).so.2
71  NSSINSTPATH := /lib
72  
73 -# If not otherwise defined, we install into /usr/lib and /usr/include
74 +# If not otherwise defined, we install into /usr/lib, /usr/include and /etc
75  # and our startup script is called mdns (e.g. /etc/init.d/mdns)
76 +ETCBASE?=/etc
77  INSTBASE?=/usr
78  STARTUPSCRIPTNAME?=mdns
79  
80 @@ -256,7 +259,7 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$
81  CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o
82  
83  $(BUILDDIR)/libdns_sd.$(LDSUFFIX): $(CLIENTLIBOBJS)
84 -       @$(LD) $(LINKOPTS) -o $@ $+
85 +       @$(LD) $(SOOPTS) $(LINKOPTS) -o $@ $+
86         @$(STRIP) $@
87  
88  Clients: setup libdns_sd ../Clients/build/dns-sd
89 @@ -291,7 +294,7 @@ InstalledManPages: $(MANPATH)/man8/mdnsd
90  InstalledClients: $(INSTBASE)/bin/dns-sd
91         @echo $+ " installed"
92  
93 -InstalledNSS: $(NSSINSTPATH)/$(NSSLINKNAME) /etc/nss_mdns.conf $(MANPATH)/man5/nss_mdns.conf.5 $(MANPATH)/man8/libnss_mdns.8
94 +InstalledNSS: $(NSSINSTPATH)/$(NSSLINKNAME) $(ETCBASE)/nss_mdns.conf $(MANPATH)/man5/nss_mdns.conf.5 $(MANPATH)/man8/libnss_mdns.8
95         @echo $+ " installed"
96  
97  # Note: If daemon already installed, we make sure it's stopped before overwriting it
98 @@ -346,19 +349,21 @@ $(INSTBASE)/bin/dns-sd: ../Clients/build
99  
100  $(NSSINSTPATH)/$(NSSLINKNAME): $(NSSINSTPATH)/$(NSSLIBFILE)
101         $(LN) $< $@
102 -       ldconfig
103 +ifdef LDCONFIG
104 +       $(LDCONFIG)
105 +endif
106  
107  $(NSSINSTPATH)/$(NSSLIBFILE): $(BUILDDIR)/$(NSSLIBFILE)
108         $(CP) $< $@
109         chmod 444 $@
110  
111 -/etc/nss_mdns.conf: nss_mdns.conf
112 +$(ETCBASE)/nss_mdns.conf: nss_mdns.conf
113         $(CP) $< $@
114         chmod 444 $@
115         # Check the nsswitch.conf file.
116         # If 'mdns' does not already appear on the "hosts:" line, then add it right before 'dns'
117 -       cp -f /etc/nsswitch.conf /etc/nsswitch.conf.pre-mdns
118 -       sed -e '/mdns/!s/^\(hosts:.*\)dns\(.*\)/\1mdns dns\2/' /etc/nsswitch.conf.pre-mdns > /etc/nsswitch.conf
119 +       -[ -f $(ETCBASE)/nsswitch.conf ] && cp -f $(ETCBASE)/nsswitch.conf $(ETCBASE)/nsswitch.conf.pre-mdns
120 +       -[ -f $(ETCBASE)/nsswitch.conf ] && sed -e '/mdns/!s/^\(hosts:.*\)dns\(.*\)/\1mdns dns\2/' $(ETCBASE)/nsswitch.conf.pre-mdns > $(ETCBASE)/nsswitch.conf
121  
122  #############################################################################
123