From 229a7ed7ab3111b99fe6fb05c50c6687ae64c2b1 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Fri, 23 Sep 2005 10:41:40 -0700 Subject: [PATCH] Solaris: give a bit more built-in defaults. Taking the make command line Peter Eriksen uses, give defaults to SHELL_PATH, TAR, CURLDIR, NO_STRCASESTR, and INSTALL. Signed-off-by: Junio C Hamano --- Makefile | 43 ++++++++++++++++++++++++++----------------- git-clone.sh | 3 ++- templates/Makefile | 10 ++++++---- 3 files changed, 34 insertions(+), 22 deletions(-) diff --git a/Makefile b/Makefile index a0e779ea..513351d9 100644 --- a/Makefile +++ b/Makefile @@ -27,8 +27,6 @@ # Define NEEDS_SOCKET if linking with libc is not enough (SunOS, # Patrick Mauritz). # -# Define NO_GETDOMAINNAME if your library lack it (SunOS, Patrick Mauritz). -# # Define WITH_OWN_SUBPROCESS_PY if you want to use with python 2.3. # # Define COLLISION_CHECK below if you believe that SHA1's @@ -63,6 +61,7 @@ GIT_PYTHON_DIR = $(prefix)/share/git-core/python CC = gcc AR = ar +TAR = tar INSTALL = install RPMBUILD = rpmbuild @@ -133,17 +132,6 @@ ifdef WITH_SEND_EMAIL SCRIPT_PERL += git-send-email.perl endif -ifndef NO_CURL - ifdef CURLDIR - # This is still problematic -- gcc does not want -R. - CFLAGS += -I$(CURLDIR)/include - CURL_LIBCURL = -L$(CURLDIR)/lib -R$(CURLDIR)/lib -lcurl - else - CURL_LIBCURL = -lcurl - endif - PROGRAMS += git-http-fetch -endif - LIB_FILE=libgit.a LIB_H = \ @@ -166,6 +154,9 @@ LIB_OBJS = \ LIBS = $(LIB_FILE) LIBS += -lz +# +# Platform specific tweaks +# ifeq ($(shell uname -s),Darwin) NEEDS_SSL_WITH_CRYPTO = YesPlease NEEDS_LIBICONV = YesPlease @@ -173,12 +164,28 @@ endif ifeq ($(shell uname -s),SunOS) NEEDS_SOCKET = YesPlease NEEDS_NSL = YesPlease + SHELL_PATH = /bin/bash + NO_STRCASESTR = YesPlease + CURLDIR = /opt/sfw + INSTALL = ginstall + TAR = gtar PLATFORM_DEFINES += -D__EXTENSIONS__ endif ifneq (,$(findstring arm,$(shell uname -m))) ARM_SHA1 = YesPlease endif +ifndef NO_CURL + ifdef CURLDIR + # This is still problematic -- gcc does not want -R. + CFLAGS += -I$(CURLDIR)/include + CURL_LIBCURL = -L$(CURLDIR)/lib -R$(CURLDIR)/lib -lcurl + else + CURL_LIBCURL = -lcurl + endif + PROGRAMS += git-http-fetch +endif + ifndef SHELL_PATH SHELL_PATH = /bin/sh endif @@ -245,6 +252,7 @@ SCRIPTS = $(patsubst %.sh,%,$(SCRIPT_SH)) \ $(patsubst %.py,%,$(SCRIPT_PYTHON)) \ gitk +export TAR INSTALL DESTDIR ### Build rules all: $(PROGRAMS) $(SCRIPTS) @@ -254,7 +262,8 @@ all: git: git.sh Makefile rm -f $@+ $@ - sed -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' <$@.sh >$@+ + sed -e '1s|#!.*/sh|#!$(SHELL_PATH)|' \ + -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' <$@.sh >$@+ chmod +x $@+ mv $@+ $@ @@ -356,7 +365,7 @@ dist: git-core.spec git-tar-tree ./git-tar-tree HEAD $(GIT_TARNAME) > $(GIT_TARNAME).tar @mkdir -p $(GIT_TARNAME) @cp git-core.spec $(GIT_TARNAME) - tar rf $(GIT_TARNAME).tar $(GIT_TARNAME)/git-core.spec + $(TAR) rf $(GIT_TARNAME).tar $(GIT_TARNAME)/git-core.spec @rm -rf $(GIT_TARNAME) gzip -f -9 $(GIT_TARNAME).tar @@ -365,7 +374,7 @@ rpm: dist deb: dist rm -rf $(GIT_TARNAME) - tar zxf $(GIT_TARNAME).tar.gz + $(TAR) zxf $(GIT_TARNAME).tar.gz dpkg-source -b $(GIT_TARNAME) cd $(GIT_TARNAME) && fakeroot debian/rules binary @@ -380,5 +389,5 @@ clean: rm -f git-core_$(GIT_VERSION)-*.deb git-core_$(GIT_VERSION)-*.dsc rm -f git-tk_$(GIT_VERSION)-*.deb $(MAKE) -C Documentation/ clean - $(MAKE) -C templates/ clean + $(MAKE) -C templates clean $(MAKE) -C t/ clean diff --git a/git-clone.sh b/git-clone.sh index 44135f48..a322a459 100755 --- a/git-clone.sh +++ b/git-clone.sh @@ -139,7 +139,8 @@ yes,yes) then HEAD=HEAD fi - tar Ccf "$repo" - refs $HEAD | tar Cxf "$D/.git" - || exit 1 + (cd "$repo" && tar cf - refs $HEAD) | + (cd "$D/.git" && tar xf -) || exit 1 ;; *) case "$repo" in diff --git a/templates/Makefile b/templates/Makefile index 776e6c80..221a0860 100644 --- a/templates/Makefile +++ b/templates/Makefile @@ -1,8 +1,9 @@ # make and install sample templates -INSTALL=install -prefix=$(HOME) -template_dir=$(prefix)/share/git-core/templates/ +INSTALL ?= install +TAR ?= tar +prefix ?= $(HOME) +template_dir ?= $(prefix)/share/git-core/templates/ # DESTDIR= all: boilerplates custom @@ -35,4 +36,5 @@ clean: install: all $(INSTALL) -d -m755 $(DESTDIR)$(template_dir) - tar Ccf blt - . | tar Cxf $(DESTDIR)$(template_dir) - + (cd blt && $(TAR) cf - .) | \ + (cd $(DESTDIR)$(template_dir) && $(TAR) xf -) -- 2.11.0