git: statically link

This commit is contained in:
Dylan Araps 2020-09-30 09:03:12 +03:00
parent 121c9dbf4b
commit 873153e405
No known key found for this signature in database
GPG Key ID: 46D62DD9F1DE636E
6 changed files with 7 additions and 120 deletions

View File

@ -1,8 +1,6 @@
#!/bin/sh -e
export CFLAGS="$CFLAGS -fPIC"
patch -p1 < git-tiny.patch
export CFLAGS="$CFLAGS -fPIC -static"
cat > config.mak <<EOF
NO_GETTEXT=YesPlease

View File

@ -1,3 +1,2 @@
dfa5d1a253aa451465478fe45c6a40ab8605b340fdb4c4e80b16d7f87708439d git-2.28.0.tar.xz
665a7fa41f9a39248e48422dcf533e1a0133a4a6eddfc25ee55e28e42fc07cb7 git-manpages-2.28.0.tar.xz
31ce399971c407e461f1d4b9cada684b48113ad2b296a2860bf2393314e862a4 git-tiny.patch
dfa5d1a253aa451465478fe45c6a40ab8605b340fdb4c4e80b16d7f87708439d
665a7fa41f9a39248e48422dcf533e1a0133a4a6eddfc25ee55e28e42fc07cb7

View File

@ -1,3 +1,3 @@
curl
libressl
zlib
curl make
libressl make
zlib make

View File

@ -1,109 +0,0 @@
diff --git a/Makefile b/Makefile
index 90aa329..c49f1aa 100644
--- a/Makefile
+++ b/Makefile
@@ -804,9 +804,7 @@ export PYTHON_PATH
TEST_SHELL_PATH = $(SHELL_PATH)
-LIB_FILE = libgit.a
-XDIFF_LIB = xdiff/lib.a
-VCSSVN_LIB = vcs-svn/lib.a
+LIB_FILE = libgit.so
GENERATED_H += config-list.h
GENERATED_H += command-list.h
@@ -1162,7 +1160,7 @@ THIRD_PARTY_SOURCES += compat/regex/%
THIRD_PARTY_SOURCES += sha1collisiondetection/%
THIRD_PARTY_SOURCES += sha1dc/%
-GITLIBS = common-main.o $(LIB_FILE) $(XDIFF_LIB)
+GITLIBS = common-main.o $(LIB_FILE)
EXTLIBS =
GIT_USER_AGENT = git/$(GIT_VERSION)
@@ -1203,7 +1201,7 @@ include config.mak.dev
endif
ALL_CFLAGS = $(DEVELOPER_CFLAGS) $(CPPFLAGS) $(CFLAGS)
-ALL_LDFLAGS = $(LDFLAGS)
+ALL_LDFLAGS = $(LDFLAGS) -Wl,-rpath,$(gitexecdir_SQ)
comma := ,
empty :=
@@ -1882,7 +1880,7 @@ ifneq ($(findstring s,$(MAKEFLAGS)),s)
ifndef V
QUIET_CC = @echo ' ' CC $@;
QUIET_AR = @echo ' ' AR $@;
- QUIET_LINK = @echo ' ' LINK $@;
+ QUIET_LINK = @echo ' ' CCLD $@;
QUIET_BUILT_IN = @echo ' ' BUILTIN $@;
QUIET_GEN = @echo ' ' GEN $@;
QUIET_LNCP = @echo ' ' LN/CP $@;
@@ -2125,7 +2123,7 @@ git.sp git.s git.o: EXTRA_CPPFLAGS = \
'-DGIT_MAN_PATH="$(mandir_relative_SQ)"' \
'-DGIT_INFO_PATH="$(infodir_relative_SQ)"'
-git$X: git.o GIT-LDFLAGS $(BUILTIN_OBJS) $(GITLIBS)
+git$X: GIT-LDFLAGS $(GITLIBS)
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) \
$(filter %.o,$^) $(LIBS)
@@ -2464,9 +2462,8 @@ git-http-push$X: http.o http-push.o GIT-LDFLAGS $(GITLIBS)
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
$(CURL_LIBCURL) $(EXPAT_LIBEXPAT) $(LIBS)
-git-remote-testsvn$X: remote-testsvn.o GIT-LDFLAGS $(GITLIBS) $(VCSSVN_LIB)
- $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS) \
- $(VCSSVN_LIB)
+git-remote-testsvn$X: remote-testsvn.o GIT-LDFLAGS $(GITLIBS)
+ $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS)
$(REMOTE_CURL_ALIASES): $(REMOTE_CURL_PRIMARY)
$(QUIET_LNCP)$(RM) $@ && \
@@ -2478,14 +2475,8 @@ $(REMOTE_CURL_PRIMARY): remote-curl.o http.o http-walker.o GIT-LDFLAGS $(GITLIBS
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
$(CURL_LIBCURL) $(EXPAT_LIBEXPAT) $(LIBS)
-$(LIB_FILE): $(LIB_OBJS)
- $(QUIET_AR)$(RM) $@ && $(AR) $(ARFLAGS) $@ $^
-
-$(XDIFF_LIB): $(XDIFF_OBJS)
- $(QUIET_AR)$(RM) $@ && $(AR) $(ARFLAGS) $@ $^
-
-$(VCSSVN_LIB): $(VCSSVN_OBJS)
- $(QUIET_AR)$(RM) $@ && $(AR) $(ARFLAGS) $@ $^
+$(LIB_FILE): $(LIB_OBJS) $(BUILTIN_OBJS) $(XDIFF_OBJS) $(VCSSVN_OBJS) git.o
+ $(QUIET_LINK)$(RM) $@ && $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) -lz -lpthread -shared -o $@ $^
export DEFAULT_EDITOR DEFAULT_PAGER
@@ -2761,9 +2752,9 @@ perf: all
.PHONY: test perf
-t/helper/test-line-buffer$X: $(VCSSVN_LIB)
+t/helper/test-line-buffer$X: $(LIB_FILE)
-t/helper/test-svn-fe$X: $(VCSSVN_LIB)
+t/helper/test-svn-fe$X: $(LIB_FILE)
.PRECIOUS: $(TEST_OBJS)
@@ -2882,6 +2873,7 @@ install: all
$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(bindir_SQ)'
$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
$(INSTALL) $(ALL_PROGRAMS) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+ $(INSTALL) $(LIB_FILE) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
$(INSTALL) -m 644 $(SCRIPT_LIB) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
$(INSTALL) $(install_bindir_programs) '$(DESTDIR_SQ)$(bindir_SQ)'
ifdef MSVC
@@ -3102,7 +3094,7 @@ cocciclean:
clean: profile-clean coverage-clean cocciclean
$(RM) *.res
$(RM) $(OBJECTS)
- $(RM) $(LIB_FILE) $(XDIFF_LIB) $(VCSSVN_LIB)
+ $(RM) $(LIB_FILE)
$(RM) $(ALL_PROGRAMS) $(SCRIPT_LIB) $(BUILT_INS) git$X
$(RM) $(TEST_PROGRAMS)
$(RM) $(FUZZ_PROGRAMS)

View File

@ -1,3 +1,2 @@
https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.28.0.tar.xz
https://mirrors.edge.kernel.org/pub/software/scm/git/git-manpages-2.28.0.tar.xz man
patches/git-tiny.patch

View File

@ -1 +1 @@
2.28.0 1
2.28.0 2