Re: [PATCH/RFC v3 02/16] Integrate remote-svn into svn-fe/Makefile.
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 14, 2012, 20:14 UTC
- Message-ID
- <7vd32t9qp7.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <1344971598-8213-3-git-send-email-florian.achleitner.2.6.31@gmail.com>
Florian Achleitner <florian.achleitner.2.6.31@gmail.com> writes:
Show 27 quoted lines
> Requires some sha.h to be used and the libraries > to be linked, this is currently hardcoded. > > Signed-off-by: Florian Achleitner <florian.achleitner.2.6.31@gmail.com> > --- > contrib/svn-fe/Makefile | 16 ++++++++++------ > 1 file changed, 10 insertions(+), 6 deletions(-) > > diff --git a/contrib/svn-fe/Makefile b/contrib/svn-fe/Makefile > index 360d8da..8f0eec2 100644 > --- a/contrib/svn-fe/Makefile > +++ b/contrib/svn-fe/Makefile > @@ -1,14 +1,14 @@ > -all:: svn-fe$X > +all:: svn-fe$X remote-svn$X > > CC = gcc > RM = rm -f > MV = mv > > -CFLAGS = -g -O2 -Wall > +CFLAGS = -g -O2 -Wall -DSHA1_HEADER='<openssl/sha.h>' -Wdeclaration-after-statement > LDFLAGS = > ALL_CFLAGS = $(CFLAGS) > ALL_LDFLAGS = $(LDFLAGS) > -EXTLIBS = > +EXTLIBS = -lssl -lcrypto -lpthread ../../xdiff/lib.a
I haven't looked carefully, but didn't we have to do a bit more elaborate when linking with ssl/crypto in our main Makefile to be portable across various vintages of OpenSSL libraries?
Does contrib/svn-fe/ already depend on OpenSSL by the way? It needs to be documented somewhere in the same directory.
If one builds the main Git binary with NO_OPENSSL, can this still be built and linked?
What does this use xdiff/lib.a for?
The above are just mental notes; I didn't read the later patches in the series that may already address these issues.
Show 25 quoted lines
> GIT_LIB = ../../libgit.a > VCSSVN_LIB = ../../vcs-svn/lib.a > @@ -37,8 +37,12 @@ svn-fe$X: svn-fe.o $(VCSSVN_LIB) $(GIT_LIB) > $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ svn-fe.o \ > $(ALL_LDFLAGS) $(LIBS) > > -svn-fe.o: svn-fe.c ../../vcs-svn/svndump.h > - $(QUIET_CC)$(CC) -I../../vcs-svn -o $*.o -c $(ALL_CFLAGS) $< > +remote-svn$X: remote-svn.o $(VCSSVN_LIB) $(GIT_LIB) > + $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ remote-svn.o \ > + $(ALL_LDFLAGS) $(LIBS) > + > +%.o: %.c ../../vcs-svn/svndump.h > + $(QUIET_CC)$(CC) -I../../vcs-svn -I../../ -o $*.o -c $(ALL_CFLAGS) $< > > svn-fe.html: svn-fe.txt > $(QUIET_SUBDIR0)../../Documentation $(QUIET_SUBDIR1) \ > @@ -58,6 +62,6 @@ svn-fe.1: svn-fe.txt > $(QUIET_SUBDIR0)../.. $(QUIET_SUBDIR1) libgit.a > > clean: > - $(RM) svn-fe$X svn-fe.o svn-fe.html svn-fe.xml svn-fe.1 > + $(RM) svn-fe$X svn-fe.o svn-fe.html svn-fe.xml svn-fe.1 remote-svn.o > > .PHONY: all clean FORCE