threads / patch / 43366

patch, 3 partsRe: [PATCH 2/3] Include -lz when linking git-daemon.

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

## tl;dr

3 messages between Nov 5, 2006 and Nov 5, 2006. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Shawn O. Pearce· Nov 5, 2006, 05:36 UTC · lore

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

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(-)
Show changes to Makefile +1 −0
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· Nov 5, 2006, 07:14 UTC · re: Shawn O. Pearce · lore
"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· Nov 5, 2006, 07:28 UTC · re: Junio C Hamano · lore

[PATCH 2/2] Remove SIMPLE_PROGRAMS and make git-daemon a normal program.

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(-)
Show changes to Makefile +2 −12
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

← back to recent threads