88# Define SANE_TOOL_PATH to a colon-separated list of paths to prepend
99# to PATH if your tools in /usr/bin are broken.
1010#
11+ # Define SOCKLEN_T to a suitable type (such as 'size_t') if your
12+ # system headers do not define a socklen_t type.
13+ #
14+ # Define INLINE to a suitable substitute (such as '__inline' or '') if git
15+ # fails to compile with errors about undefined inline functions or similar.
16+ #
1117# Define SNPRINTF_RETURNS_BOGUS if your are on a system which snprintf()
1218# or vsnprintf() return -1 instead of number of characters which would
1319# have been written to the final string if enough space had been available.
@@ -249,7 +255,7 @@ endif
249255
250256CFLAGS = -g -O2 -Wall
251257LDFLAGS =
252- ALL_CFLAGS = $(CFLAGS )
258+ ALL_CFLAGS = $(CPPFLAGS ) $( CFLAGS )
253259ALL_LDFLAGS = $(LDFLAGS )
254260STRIP ?= strip
255261
@@ -286,18 +292,20 @@ lib = lib
286292# DESTDIR=
287293pathsep = :
288294
289- export prefix bindir sharedir sysconfdir
295+ export prefix bindir sharedir sysconfdir gitwebdir
290296
291297CC = gcc
292298AR = ar
293299RM = rm -f
300+ DIFF = diff
294301TAR = tar
295302FIND = find
296303INSTALL = install
297304RPMBUILD = rpmbuild
298305TCL_PATH = tclsh
299306TCLTK_PATH = wish
300307PTHREAD_LIBS = -lpthread
308+ PTHREAD_CFLAGS =
301309
302310export TCL_PATH TCLTK_PATH
303311
@@ -741,6 +749,13 @@ EXTLIBS =
741749# because maintaining the nesting to match is a pain. If
742750# we had "elif" things would have been much nicer...
743751
752+ ifeq ($(uname_S ) ,OSF1)
753+ # Need this for u_short definitions et al
754+ BASIC_CFLAGS += -D_OSF_SOURCE
755+ SOCKLEN_T = int
756+ NO_STRTOULL = YesPlease
757+ NO_NSEC = YesPlease
758+ endif
744759ifeq ($(uname_S ) ,Linux)
745760 NO_STRLCPY = YesPlease
746761 NO_MKSTEMPS = YesPlease
@@ -815,6 +830,18 @@ ifeq ($(uname_S),SunOS)
815830 NO_MKDTEMP = YesPlease
816831 NO_MKSTEMPS = YesPlease
817832 NO_REGEX = YesPlease
833+ ifeq ($(uname_R),5.6)
834+ SOCKLEN_T = int
835+ NO_HSTRERROR = YesPlease
836+ NO_IPV6 = YesPlease
837+ NO_SOCKADDR_STORAGE = YesPlease
838+ NO_UNSETENV = YesPlease
839+ NO_SETENV = YesPlease
840+ NO_STRLCPY = YesPlease
841+ NO_C99_FORMAT = YesPlease
842+ NO_STRTOUMAX = YesPlease
843+ GIT_TEST_CMP = cmp
844+ endif
818845 ifeq ($(uname_R),5.7)
819846 NEEDS_RESOLV = YesPlease
820847 NO_IPV6 = YesPlease
@@ -824,18 +851,21 @@ ifeq ($(uname_S),SunOS)
824851 NO_STRLCPY = YesPlease
825852 NO_C99_FORMAT = YesPlease
826853 NO_STRTOUMAX = YesPlease
854+ GIT_TEST_CMP = cmp
827855 endif
828856 ifeq ($(uname_R),5.8)
829857 NO_UNSETENV = YesPlease
830858 NO_SETENV = YesPlease
831859 NO_C99_FORMAT = YesPlease
832860 NO_STRTOUMAX = YesPlease
861+ GIT_TEST_CMP = cmp
833862 endif
834863 ifeq ($(uname_R),5.9)
835864 NO_UNSETENV = YesPlease
836865 NO_SETENV = YesPlease
837866 NO_C99_FORMAT = YesPlease
838867 NO_STRTOUMAX = YesPlease
868+ GIT_TEST_CMP = cmp
839869 endif
840870 INSTALL = /usr/ucb/install
841871 TAR = gtar
@@ -913,7 +943,13 @@ ifeq ($(uname_S),AIX)
913943 BASIC_CFLAGS += -D_LARGE_FILES
914944 ifeq ($(shell expr "$(uname_V)" : '[1234]'),1)
915945 NO_PTHREADS = YesPlease
946+ else
947+ PTHREAD_LIBS = -lpthread
916948 endif
949+ ifeq ($(shell expr "$(uname_V).$(uname_R)" : '5\.1'),3)
950+ INLINE=''
951+ endif
952+ GIT_TEST_CMP = cmp
917953endif
918954ifeq ($(uname_S ) ,GNU)
919955 # GNU/Hurd
@@ -958,6 +994,7 @@ ifeq ($(uname_S),IRIX64)
958994 NEEDS_LIBGEN = YesPlease
959995endif
960996ifeq ($(uname_S ) ,HP-UX)
997+ INLINE = __inline
961998 NO_IPV6=YesPlease
962999 NO_SETENV=YesPlease
9631000 NO_STRCASESTR=YesPlease
@@ -969,6 +1006,20 @@ ifeq ($(uname_S),HP-UX)
9691006 NO_HSTRERROR = YesPlease
9701007 NO_SYS_SELECT_H = YesPlease
9711008 SNPRINTF_RETURNS_BOGUS = YesPlease
1009+ NO_NSEC = YesPlease
1010+ ifeq ($(uname_R),B.11.00)
1011+ NO_INET_NTOP = YesPlease
1012+ NO_INET_PTON = YesPlease
1013+ endif
1014+ ifeq ($(uname_R),B.10.20)
1015+ # Override HP-UX 11.x setting:
1016+ INLINE =
1017+ SOCKLEN_T = size_t
1018+ NO_PREAD = YesPlease
1019+ NO_INET_NTOP = YesPlease
1020+ NO_INET_PTON = YesPlease
1021+ endif
1022+ GIT_TEST_CMP = cmp
9721023endif
9731024ifeq ($(uname_S ) ,Windows)
9741025 GIT_VERSION := $(GIT_VERSION).MSVC
@@ -1094,6 +1145,14 @@ else
10941145BROKEN_PATH_FIX = '/^\# @@BROKEN_PATH_FIX@@$$/d'
10951146endif
10961147
1148+ ifneq (,$(INLINE ) )
1149+ BASIC_CFLAGS += -Dinline=$(INLINE)
1150+ endif
1151+
1152+ ifneq (,$(SOCKLEN_T ) )
1153+ BASIC_CFLAGS += -Dsocklen_t=$(SOCKLEN_T)
1154+ endif
1155+
10971156ifeq ($(uname_S ) ,Darwin)
10981157 ifndef NO_FINK
10991158 ifeq ($(shell test -d /sw/lib && echo y),y)
@@ -1365,6 +1424,7 @@ endif
13651424ifdef NO_PTHREADS
13661425 BASIC_CFLAGS += -DNO_PTHREADS
13671426else
1427+ BASIC_CFLAGS += $(PTHREAD_CFLAGS)
13681428 EXTLIBS += $(PTHREAD_LIBS)
13691429 LIB_OBJS += thread-utils.o
13701430endif
@@ -1389,6 +1449,10 @@ ifdef USE_NED_ALLOCATOR
13891449 COMPAT_OBJS += compat/nedmalloc/nedmalloc.o
13901450endif
13911451
1452+ ifdef GIT_TEST_CMP_USE_COPIED_CONTEXT
1453+ export GIT_TEST_CMP_USE_COPIED_CONTEXT
1454+ endif
1455+
13921456ifeq ($(TCLTK_PATH ) ,)
13931457NO_TCLTK =NoThanks
13941458endif
@@ -1451,6 +1515,7 @@ SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
14511515PERL_PATH_SQ = $(subst ','\'',$(PERL_PATH ) )
14521516PYTHON_PATH_SQ = $(subst ','\'',$(PYTHON_PATH ) )
14531517TCLTK_PATH_SQ = $(subst ','\'',$(TCLTK_PATH ) )
1518+ DIFF_SQ = $(subst ','\'',$(DIFF ) )
14541519
14551520LIBS = $(GITLIBS ) $(EXTLIBS )
14561521
@@ -1477,7 +1542,7 @@ endif
14771542ALL_CFLAGS += $(BASIC_CFLAGS )
14781543ALL_LDFLAGS += $(BASIC_LDFLAGS )
14791544
1480- export TAR INSTALL DESTDIR SHELL_PATH
1545+ export DIFF TAR INSTALL DESTDIR SHELL_PATH
14811546
14821547
14831548# ## Build rules
@@ -1539,6 +1604,7 @@ define cmd_munge_script
15391604$(RM ) $@ $@ + && \
15401605sed -e '1s|# !.*/sh|#!$(SHELL_PATH_SQ)|' \
15411606 -e 's|@SHELL_PATH@|$(SHELL_PATH_SQ)|' \
1607+ -e 's|@@DIFF@@|$(DIFF_SQ)|' \
15421608 -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
15431609 -e 's/@@NO_CURL@@/$(NO_CURL)/g' \
15441610 -e $(BROKEN_PATH_FIX) \
@@ -1884,11 +1950,18 @@ GIT-CFLAGS: FORCE
18841950GIT-BUILD-OPTIONS : FORCE
18851951 @echo SHELL_PATH=\' ' $(subst ' ,' \' ' ,$(SHELL_PATH_SQ))' \' > $@
18861952 @echo PERL_PATH=\' ' $(subst ' ,' \' ' ,$(PERL_PATH_SQ))' \' >> $@
1953+ @echo DIFF=\' ' $(subst ' ,' \' ' ,$(subst ' ,' \' ' ,$(DIFF)))' \' >> $@
18871954 @echo PYTHON_PATH=\' ' $(subst ' ,' \' ' ,$(PYTHON_PATH_SQ))' \' >> $@
18881955 @echo TAR=\' ' $(subst ' ,' \' ' ,$(subst ' ,' \' ' ,$(TAR)))' \' >> $@
18891956 @echo NO_CURL=\' ' $(subst ' ,' \' ' ,$(subst ' ,' \' ' ,$(NO_CURL)))' \' >> $@
18901957 @echo NO_PERL=\' ' $(subst ' ,' \' ' ,$(subst ' ,' \' ' ,$(NO_PERL)))' \' >> $@
18911958 @echo NO_PYTHON=\' ' $(subst ' ,' \' ' ,$(subst ' ,' \' ' ,$(NO_PYTHON)))' \' >> $@
1959+ ifdef GIT_TEST_CMP
1960+ @echo GIT_TEST_CMP=\''$(subst ','\'',$(subst ','\'',$(GIT_TEST_CMP)))'\' >>$@
1961+ endif
1962+ ifdef GIT_TEST_CMP_USE_COPIED_CONTEXT
1963+ @echo GIT_TEST_CMP_USE_COPIED_CONTEXT=YesPlease >>$@
1964+ endif
18921965
18931966# ## Detect Tck/Tk interpreter path changes
18941967ifndef NO_TCLTK
@@ -1983,7 +2056,7 @@ install: all
19832056 $(MAKE ) -C templates DESTDIR=' $(DESTDIR_SQ)' install
19842057ifndef NO_PERL
19852058 $(MAKE) -C perl prefix='$(prefix_SQ)' DESTDIR='$(DESTDIR_SQ)' install
1986- $(MAKE) -C gitweb gitwebdir=$(gitwebdir_SQ) install
2059+ $(MAKE) -C gitweb install
19872060endif
19882061ifndef NO_PYTHON
19892062 $(MAKE) -C git_remote_helpers prefix='$(prefix_SQ)' DESTDIR='$(DESTDIR_SQ)' install
0 commit comments