# Re: [PATCH 2/3] Include -lz when linking git-daemon.

3 messages from 2006-11-05 to 2006-11-05. Participants: Junio C Hamano, Shawn O. Pearce.
Thread: https://gitlist.dev/t/43366

## Shawn O. Pearce, 2006-11-05 05:36

Subject: [PATCH 2/3] Include -lz when linking git-daemon.
Message-ID: <20061105053615.GB4193@spearce.org>
URL: https://gitlist.dev/e/20061105053615.GB4193%40spearce.org

```
Some platforms (Solaris in particular) appear to require -lz as
part of the link line for git-daemon, due to it linking against
sha1_file.o and that module requiring inflate/deflate support.

This wasn't made platform-specific in the Makefile as the existing
use of -lz in every other (non git-daemon) application is also
not platform-specific.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
---
 Makefile |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/Makefile b/Makefile
index 1cc9f58..9f10054 100644
--- a/Makefile
+++ b/Makefile
@@ -317,6 +317,7 @@ BUILTIN_OBJS = \
 
 GITLIBS = $(LIB_FILE) $(XDIFF_LIB)
 EXTLIBS = -lz
+SIMPLE_LIB = -lz
 
 #
 # Platform specific tweaks
-- 
1.4.3.3.g9621

```

## Junio C Hamano, 2006-11-05 07:14

Subject: Re: [PATCH 2/3] Include -lz when linking git-daemon.
Message-ID: <7vveluuzzi.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7vveluuzzi.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <20061105053615.GB4193@spearce.org>

```
"Shawn O. Pearce" <spearce@spearce.org> writes:

> Some platforms (Solaris in particular) appear to require -lz as
> part of the link line for git-daemon, due to it linking against
> sha1_file.o and that module requiring inflate/deflate support.

We once tried to stay away from linking sha1_file into daemon,
but it appears we were not successful.

Honestly speaking, I think SIMPLE_PROGRAMS outlived its
usefulness.  How about moving git-daemon to PROGRAMS list and
get rid of SIMPLE_ stuff from the Makefile?

```

## Shawn O. Pearce, 2006-11-05 07:28

Subject: [PATCH 2/2] Remove SIMPLE_PROGRAMS and make git-daemon a normal program.
Message-ID: <20061105072825.GB4579@spearce.org>
URL: https://gitlist.dev/e/20061105072825.GB4579%40spearce.org
In-Reply-To: <7vveluuzzi.fsf@assigned-by-dhcp.cox.net>

```
Some platforms (Solaris in particular) appear to require -lz as
part of the link line for git-daemon, due to it linking against
sha1_file.o and that module requiring inflate/deflate support.

So its time to retire SIMPLE_PROGRAMS and move its last remaining
member into the standard PROGRAMS list, allowing it to link against
all libraries used by the rest of Git.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
---
 My earlier git-daemon -lz fix, but rewritten to address
 Junio's suggestion of just removing SIMPLE_PROGRAMS...

 Makefile |   14 ++------------
 1 files changed, 2 insertions(+), 12 deletions(-)

diff --git a/Makefile b/Makefile
index 1cc9f58..7c3860a 100644
--- a/Makefile
+++ b/Makefile
@@ -187,15 +187,12 @@ SCRIPTS = $(patsubst %.sh,%,$(SCRIPT_SH)
 	  $(patsubst %.py,%,$(SCRIPT_PYTHON)) \
 	  git-cherry-pick git-status git-instaweb
 
-# The ones that do not have to link with lcrypto, lz nor xdiff.
-SIMPLE_PROGRAMS = \
-	git-daemon$X
-
 # ... and all the rest that could be moved out of bindir to gitexecdir
 PROGRAMS = \
 	git-convert-objects$X git-fetch-pack$X git-fsck-objects$X \
 	git-hash-object$X git-index-pack$X git-local-fetch$X \
 	git-merge-base$X \
+	git-daemon$X \
 	git-merge-index$X git-mktag$X git-mktree$X git-patch-id$X \
 	git-peek-remote$X git-receive-pack$X \
 	git-send-pack$X git-shell$X \
@@ -217,7 +214,7 @@ BUILT_INS = \
 	$(patsubst builtin-%.o,git-%$X,$(BUILTIN_OBJS))
 
 # what 'all' will build and 'install' will install, in gitexecdir
-ALL_PROGRAMS = $(PROGRAMS) $(SIMPLE_PROGRAMS) $(SCRIPTS) \
+ALL_PROGRAMS = $(PROGRAMS) $(SCRIPTS) \
 	git-merge-recur$X
 
 # Backward compatibility -- to be removed after 1.0
@@ -486,11 +483,9 @@ ifdef NEEDS_LIBICONV
 endif
 ifdef NEEDS_SOCKET
 	EXTLIBS += -lsocket
-	SIMPLE_LIB += -lsocket
 endif
 ifdef NEEDS_NSL
 	EXTLIBS += -lnsl
-	SIMPLE_LIB += -lnsl
 endif
 ifdef NO_D_TYPE_IN_DIRENT
 	BASIC_CFLAGS += -DNO_D_TYPE_IN_DIRENT
@@ -737,11 +732,6 @@ endif
 git-%$X: %.o $(GITLIBS)
 	$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS)
 
-$(SIMPLE_PROGRAMS) : $(LIB_FILE)
-$(SIMPLE_PROGRAMS) : git-%$X : %.o
-	$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
-		$(LIB_FILE) $(SIMPLE_LIB)
-
 ssh-pull.o: ssh-fetch.c
 ssh-push.o: ssh-upload.c
 git-local-fetch$X: fetch.o
-- 

```
