merge(3p/git): Merge git subtree at v2.29.2
This also bumps the stable nixpkgs to 20.09 as of 2020-11-21, because there is some breakage in the git build related to the netrc credentials helper which someone has taken care of in nixpkgs. The stable channel is not used for anything other than git, so this should be fine. Change-Id: I3575a19dab09e1e9556cf8231d717de9890484fb
This commit is contained in:
parent
082c006c04
commit
f4609b896f
1485 changed files with 241535 additions and 109418 deletions
407
third_party/git/Makefile
vendored
407
third_party/git/Makefile
vendored
|
|
@ -34,13 +34,8 @@ all::
|
|||
# library. Support for version 1 will likely be removed in some future
|
||||
# release of Git, as upstream has all but abandoned it.
|
||||
#
|
||||
# When using USE_LIBPCRE1, define NO_LIBPCRE1_JIT if the PCRE v1
|
||||
# library is compiled without --enable-jit. We will auto-detect
|
||||
# whether the version of the PCRE v1 library in use has JIT support at
|
||||
# all, but we unfortunately can't auto-detect whether JIT support
|
||||
# hasn't been compiled in in an otherwise JIT-supporting version. If
|
||||
# you have link-time errors about a missing `pcre_jit_exec` define
|
||||
# this, or recompile PCRE v1 with --enable-jit.
|
||||
# When using USE_LIBPCRE1, define NO_LIBPCRE1_JIT if you want to
|
||||
# disable JIT even if supported by your library.
|
||||
#
|
||||
# Define LIBPCREDIR=/foo/bar if your PCRE header and library files are
|
||||
# in /foo/bar/include and /foo/bar/lib directories. Which version of
|
||||
|
|
@ -287,12 +282,6 @@ all::
|
|||
# Define NO_ST_BLOCKS_IN_STRUCT_STAT if your platform does not have st_blocks
|
||||
# field that counts the on-disk footprint in 512-byte blocks.
|
||||
#
|
||||
# Define DOCBOOK_XSL_172 if you want to format man pages with DocBook XSL v1.72
|
||||
# (not v1.73 or v1.71).
|
||||
#
|
||||
# Define ASCIIDOC_ROFF if your DocBook XSL does not escape raw roff directives
|
||||
# (versions 1.68.1 through v1.72).
|
||||
#
|
||||
# Define GNU_ROFF if your target system uses GNU groff. This forces
|
||||
# apostrophes to be ASCII so that cut&pasting examples to the shell
|
||||
# will work.
|
||||
|
|
@ -359,6 +348,9 @@ all::
|
|||
# Define NO_INSTALL_HARDLINKS if you prefer to use either symbolic links or
|
||||
# copies to install built-in git commands e.g. git-cat-file.
|
||||
#
|
||||
# Define SKIP_DASHED_BUILT_INS if you do not need the dashed versions of the
|
||||
# built-ins to be linked/copied at all.
|
||||
#
|
||||
# Define USE_NED_ALLOCATOR if you want to replace the platforms default
|
||||
# memory allocators with the nedmalloc allocator written by Niall Douglas.
|
||||
#
|
||||
|
|
@ -410,9 +402,6 @@ all::
|
|||
# with a different indexfile format version. If it isn't set the index
|
||||
# file format used is index-v[23].
|
||||
#
|
||||
# Define GMTIME_UNRELIABLE_ERRORS if your gmtime() function does not
|
||||
# return NULL when it receives a bogus time_t.
|
||||
#
|
||||
# Define HAVE_CLOCK_GETTIME if your platform has clock_gettime.
|
||||
#
|
||||
# Define HAVE_CLOCK_MONOTONIC if your platform has CLOCK_MONOTONIC.
|
||||
|
|
@ -476,6 +465,12 @@ all::
|
|||
# the global variable _wpgmptr containing the absolute path of the current
|
||||
# executable (this is the case on Windows).
|
||||
#
|
||||
# Define GENERATE_COMPILATION_DATABASE to "yes" to generate JSON compilation
|
||||
# database entries during compilation if your compiler supports it, using the
|
||||
# `-MJ` flag. The JSON entries will be placed in the `compile_commands/`
|
||||
# directory, and the JSON compilation database 'compile_commands.json' will be
|
||||
# created at the root of the repository.
|
||||
#
|
||||
# Define DEVELOPER to enable more compiler warnings. Compiler version
|
||||
# and family are auto detected, but could be overridden by defining
|
||||
# COMPILER_FEATURES (see config.mak.dev). You can still set
|
||||
|
|
@ -486,7 +481,7 @@ all::
|
|||
#
|
||||
# When DEVELOPER is set, DEVOPTS can be used to control compiler
|
||||
# options. This variable contains keywords separated by
|
||||
# whitespace. The following keywords are are recognized:
|
||||
# whitespace. The following keywords are recognized:
|
||||
#
|
||||
# no-error:
|
||||
#
|
||||
|
|
@ -583,7 +578,6 @@ BUILT_INS =
|
|||
COMPAT_CFLAGS =
|
||||
COMPAT_OBJS =
|
||||
XDIFF_OBJS =
|
||||
VCSSVN_OBJS =
|
||||
GENERATED_H =
|
||||
EXTRA_CPPFLAGS =
|
||||
FUZZ_OBJS =
|
||||
|
|
@ -598,6 +592,7 @@ SCRIPT_SH =
|
|||
SCRIPT_LIB =
|
||||
TEST_BUILTINS_OBJS =
|
||||
TEST_PROGRAMS_NEED_X =
|
||||
THIRD_PARTY_SOURCES =
|
||||
|
||||
# Having this variable in your environment would break pipelines because
|
||||
# you cause "cd" to echo its destination to stdout. It can also take
|
||||
|
|
@ -613,7 +608,6 @@ SCRIPT_SH += git-merge-one-file.sh
|
|||
SCRIPT_SH += git-merge-resolve.sh
|
||||
SCRIPT_SH += git-mergetool.sh
|
||||
SCRIPT_SH += git-quiltimport.sh
|
||||
SCRIPT_SH += git-legacy-stash.sh
|
||||
SCRIPT_SH += git-request-pull.sh
|
||||
SCRIPT_SH += git-submodule.sh
|
||||
SCRIPT_SH += git-web--browse.sh
|
||||
|
|
@ -621,8 +615,8 @@ SCRIPT_SH += git-web--browse.sh
|
|||
SCRIPT_LIB += git-mergetool--lib
|
||||
SCRIPT_LIB += git-parse-remote
|
||||
SCRIPT_LIB += git-rebase--preserve-merges
|
||||
SCRIPT_LIB += git-sh-setup
|
||||
SCRIPT_LIB += git-sh-i18n
|
||||
SCRIPT_LIB += git-sh-setup
|
||||
|
||||
SCRIPT_PERL += git-add--interactive.perl
|
||||
SCRIPT_PERL += git-archimport.perl
|
||||
|
|
@ -685,20 +679,19 @@ EXTRA_PROGRAMS =
|
|||
# ... and all the rest that could be moved out of bindir to gitexecdir
|
||||
PROGRAMS += $(EXTRA_PROGRAMS)
|
||||
|
||||
PROGRAM_OBJS += credential-store.o
|
||||
PROGRAM_OBJS += daemon.o
|
||||
PROGRAM_OBJS += fast-import.o
|
||||
PROGRAM_OBJS += http-backend.o
|
||||
PROGRAM_OBJS += imap-send.o
|
||||
PROGRAM_OBJS += sh-i18n--envsubst.o
|
||||
PROGRAM_OBJS += shell.o
|
||||
PROGRAM_OBJS += remote-testsvn.o
|
||||
|
||||
# Binary suffix, set to .exe for Windows builds
|
||||
X =
|
||||
|
||||
PROGRAMS += $(patsubst %.o,git-%$X,$(PROGRAM_OBJS))
|
||||
|
||||
TEST_BUILTINS_OBJS += test-advise.o
|
||||
TEST_BUILTINS_OBJS += test-bloom.o
|
||||
TEST_BUILTINS_OBJS += test-chmtime.o
|
||||
TEST_BUILTINS_OBJS += test-config.o
|
||||
TEST_BUILTINS_OBJS += test-ctype.o
|
||||
|
|
@ -713,23 +706,28 @@ TEST_BUILTINS_OBJS += test-dump-untracked-cache.o
|
|||
TEST_BUILTINS_OBJS += test-example-decorate.o
|
||||
TEST_BUILTINS_OBJS += test-genrandom.o
|
||||
TEST_BUILTINS_OBJS += test-genzeros.o
|
||||
TEST_BUILTINS_OBJS += test-hash-speed.o
|
||||
TEST_BUILTINS_OBJS += test-hash.o
|
||||
TEST_BUILTINS_OBJS += test-hashmap.o
|
||||
TEST_BUILTINS_OBJS += test-hash-speed.o
|
||||
TEST_BUILTINS_OBJS += test-index-version.o
|
||||
TEST_BUILTINS_OBJS += test-json-writer.o
|
||||
TEST_BUILTINS_OBJS += test-lazy-init-name-hash.o
|
||||
TEST_BUILTINS_OBJS += test-match-trees.o
|
||||
TEST_BUILTINS_OBJS += test-mergesort.o
|
||||
TEST_BUILTINS_OBJS += test-mktemp.o
|
||||
TEST_BUILTINS_OBJS += test-oid-array.o
|
||||
TEST_BUILTINS_OBJS += test-oidmap.o
|
||||
TEST_BUILTINS_OBJS += test-online-cpus.o
|
||||
TEST_BUILTINS_OBJS += test-parse-options.o
|
||||
TEST_BUILTINS_OBJS += test-parse-pathspec-file.o
|
||||
TEST_BUILTINS_OBJS += test-path-utils.o
|
||||
TEST_BUILTINS_OBJS += test-pkt-line.o
|
||||
TEST_BUILTINS_OBJS += test-prio-queue.o
|
||||
TEST_BUILTINS_OBJS += test-proc-receive.o
|
||||
TEST_BUILTINS_OBJS += test-progress.o
|
||||
TEST_BUILTINS_OBJS += test-reach.o
|
||||
TEST_BUILTINS_OBJS += test-read-cache.o
|
||||
TEST_BUILTINS_OBJS += test-read-graph.o
|
||||
TEST_BUILTINS_OBJS += test-read-midx.o
|
||||
TEST_BUILTINS_OBJS += test-ref-store.o
|
||||
TEST_BUILTINS_OBJS += test-regex.o
|
||||
|
|
@ -739,7 +737,6 @@ TEST_BUILTINS_OBJS += test-run-command.o
|
|||
TEST_BUILTINS_OBJS += test-scrap-cache-tree.o
|
||||
TEST_BUILTINS_OBJS += test-serve-v2.o
|
||||
TEST_BUILTINS_OBJS += test-sha1.o
|
||||
TEST_BUILTINS_OBJS += test-sha1-array.o
|
||||
TEST_BUILTINS_OBJS += test-sha256.o
|
||||
TEST_BUILTINS_OBJS += test-sigchain.o
|
||||
TEST_BUILTINS_OBJS += test-strcmp-offset.o
|
||||
|
|
@ -749,16 +746,14 @@ TEST_BUILTINS_OBJS += test-submodule-nested-repo-config.o
|
|||
TEST_BUILTINS_OBJS += test-subprocess.o
|
||||
TEST_BUILTINS_OBJS += test-trace2.o
|
||||
TEST_BUILTINS_OBJS += test-urlmatch-normalization.o
|
||||
TEST_BUILTINS_OBJS += test-xml-encode.o
|
||||
TEST_BUILTINS_OBJS += test-wildmatch.o
|
||||
TEST_BUILTINS_OBJS += test-windows-named-pipe.o
|
||||
TEST_BUILTINS_OBJS += test-write-cache.o
|
||||
TEST_BUILTINS_OBJS += test-xml-encode.o
|
||||
|
||||
# Do not add more tests here unless they have extra dependencies. Add
|
||||
# them in TEST_BUILTINS_OBJS above.
|
||||
TEST_PROGRAMS_NEED_X += test-fake-ssh
|
||||
TEST_PROGRAMS_NEED_X += test-line-buffer
|
||||
TEST_PROGRAMS_NEED_X += test-svn-fe
|
||||
TEST_PROGRAMS_NEED_X += test-tool
|
||||
|
||||
TEST_PROGRAMS = $(patsubst %,t/helper/%$X,$(TEST_PROGRAMS_NEED_X))
|
||||
|
|
@ -783,16 +778,26 @@ BUILT_INS += git-whatchanged$X
|
|||
# what 'all' will build and 'install' will install in gitexecdir,
|
||||
# excluding programs for built-in commands
|
||||
ALL_PROGRAMS = $(PROGRAMS) $(SCRIPTS)
|
||||
ALL_COMMANDS_TO_INSTALL = $(ALL_PROGRAMS)
|
||||
ifeq (,$(SKIP_DASHED_BUILT_INS))
|
||||
ALL_COMMANDS_TO_INSTALL += $(BUILT_INS)
|
||||
else
|
||||
# git-upload-pack, git-receive-pack and git-upload-archive are special: they
|
||||
# are _expected_ to be present in the `bin/` directory in their dashed form.
|
||||
ALL_COMMANDS_TO_INSTALL += git-receive-pack$(X)
|
||||
ALL_COMMANDS_TO_INSTALL += git-upload-archive$(X)
|
||||
ALL_COMMANDS_TO_INSTALL += git-upload-pack$(X)
|
||||
endif
|
||||
|
||||
# what 'all' will build but not install in gitexecdir
|
||||
OTHER_PROGRAMS = git$X
|
||||
|
||||
# what test wrappers are needed and 'install' will install, in bindir
|
||||
BINDIR_PROGRAMS_NEED_X += git
|
||||
BINDIR_PROGRAMS_NEED_X += git-upload-pack
|
||||
BINDIR_PROGRAMS_NEED_X += git-receive-pack
|
||||
BINDIR_PROGRAMS_NEED_X += git-upload-archive
|
||||
BINDIR_PROGRAMS_NEED_X += git-shell
|
||||
BINDIR_PROGRAMS_NEED_X += git-upload-archive
|
||||
BINDIR_PROGRAMS_NEED_X += git-upload-pack
|
||||
|
||||
BINDIR_PROGRAMS_NO_X += git-cvsserver
|
||||
|
||||
|
|
@ -814,31 +819,33 @@ TEST_SHELL_PATH = $(SHELL_PATH)
|
|||
|
||||
LIB_FILE = libgit.a
|
||||
XDIFF_LIB = xdiff/lib.a
|
||||
VCSSVN_LIB = vcs-svn/lib.a
|
||||
|
||||
GENERATED_H += command-list.h
|
||||
GENERATED_H += config-list.h
|
||||
|
||||
LIB_H := $(sort $(shell git ls-files '*.h' ':!t/' ':!Documentation/' 2>/dev/null || \
|
||||
LIB_H := $(sort $(patsubst ./%,%,$(shell git ls-files '*.h' ':!t/' ':!Documentation/' 2>/dev/null || \
|
||||
$(FIND) . \
|
||||
-name .git -prune -o \
|
||||
-name t -prune -o \
|
||||
-name Documentation -prune -o \
|
||||
-name '*.h' -print))
|
||||
-name '*.h' -print)))
|
||||
|
||||
LIB_OBJS += abspath.o
|
||||
LIB_OBJS += add-interactive.o
|
||||
LIB_OBJS += add-patch.o
|
||||
LIB_OBJS += advice.o
|
||||
LIB_OBJS += alias.o
|
||||
LIB_OBJS += alloc.o
|
||||
LIB_OBJS += apply.o
|
||||
LIB_OBJS += archive.o
|
||||
LIB_OBJS += archive-tar.o
|
||||
LIB_OBJS += archive-zip.o
|
||||
LIB_OBJS += argv-array.o
|
||||
LIB_OBJS += archive.o
|
||||
LIB_OBJS += attr.o
|
||||
LIB_OBJS += base85.o
|
||||
LIB_OBJS += bisect.o
|
||||
LIB_OBJS += blame.o
|
||||
LIB_OBJS += blob.o
|
||||
LIB_OBJS += bloom.o
|
||||
LIB_OBJS += branch.o
|
||||
LIB_OBJS += bulk-checkin.o
|
||||
LIB_OBJS += bundle.o
|
||||
|
|
@ -848,9 +855,9 @@ LIB_OBJS += checkout.o
|
|||
LIB_OBJS += color.o
|
||||
LIB_OBJS += column.o
|
||||
LIB_OBJS += combine-diff.o
|
||||
LIB_OBJS += commit.o
|
||||
LIB_OBJS += commit-graph.o
|
||||
LIB_OBJS += commit-reach.o
|
||||
LIB_OBJS += commit.o
|
||||
LIB_OBJS += compat/obstack.o
|
||||
LIB_OBJS += compat/terminal.o
|
||||
LIB_OBJS += config.o
|
||||
|
|
@ -864,17 +871,17 @@ LIB_OBJS += ctype.o
|
|||
LIB_OBJS += date.o
|
||||
LIB_OBJS += decorate.o
|
||||
LIB_OBJS += delta-islands.o
|
||||
LIB_OBJS += diff-delta.o
|
||||
LIB_OBJS += diff-lib.o
|
||||
LIB_OBJS += diff-no-index.o
|
||||
LIB_OBJS += diff.o
|
||||
LIB_OBJS += diffcore-break.o
|
||||
LIB_OBJS += diffcore-delta.o
|
||||
LIB_OBJS += diffcore-order.o
|
||||
LIB_OBJS += diffcore-pickaxe.o
|
||||
LIB_OBJS += diffcore-rename.o
|
||||
LIB_OBJS += diff-delta.o
|
||||
LIB_OBJS += diff-lib.o
|
||||
LIB_OBJS += diff-no-index.o
|
||||
LIB_OBJS += diff.o
|
||||
LIB_OBJS += dir.o
|
||||
LIB_OBJS += dir-iterator.o
|
||||
LIB_OBJS += dir.o
|
||||
LIB_OBJS += editor.o
|
||||
LIB_OBJS += entry.o
|
||||
LIB_OBJS += environment.o
|
||||
|
|
@ -884,8 +891,8 @@ LIB_OBJS += ewah/ewah_io.o
|
|||
LIB_OBJS += ewah/ewah_rlw.o
|
||||
LIB_OBJS += exec-cmd.o
|
||||
LIB_OBJS += fetch-negotiator.o
|
||||
LIB_OBJS += fetch-object.o
|
||||
LIB_OBJS += fetch-pack.o
|
||||
LIB_OBJS += fmt-merge-msg.o
|
||||
LIB_OBJS += fsck.o
|
||||
LIB_OBJS += fsmonitor.o
|
||||
LIB_OBJS += gettext.o
|
||||
|
|
@ -893,19 +900,18 @@ LIB_OBJS += gpg-interface.o
|
|||
LIB_OBJS += graph.o
|
||||
LIB_OBJS += grep.o
|
||||
LIB_OBJS += hashmap.o
|
||||
LIB_OBJS += linear-assignment.o
|
||||
LIB_OBJS += help.o
|
||||
LIB_OBJS += hex.o
|
||||
LIB_OBJS += ident.o
|
||||
LIB_OBJS += interdiff.o
|
||||
LIB_OBJS += json-writer.o
|
||||
LIB_OBJS += kwset.o
|
||||
LIB_OBJS += levenshtein.o
|
||||
LIB_OBJS += line-log.o
|
||||
LIB_OBJS += line-range.o
|
||||
LIB_OBJS += list-objects.o
|
||||
LIB_OBJS += list-objects-filter.o
|
||||
LIB_OBJS += linear-assignment.o
|
||||
LIB_OBJS += list-objects-filter-options.o
|
||||
LIB_OBJS += list-objects-filter.o
|
||||
LIB_OBJS += list-objects.o
|
||||
LIB_OBJS += ll-merge.o
|
||||
LIB_OBJS += lockfile.o
|
||||
LIB_OBJS += log-tree.o
|
||||
|
|
@ -914,31 +920,33 @@ LIB_OBJS += mailinfo.o
|
|||
LIB_OBJS += mailmap.o
|
||||
LIB_OBJS += match-trees.o
|
||||
LIB_OBJS += mem-pool.o
|
||||
LIB_OBJS += merge.o
|
||||
LIB_OBJS += merge-blobs.o
|
||||
LIB_OBJS += merge-recursive.o
|
||||
LIB_OBJS += merge.o
|
||||
LIB_OBJS += mergesort.o
|
||||
LIB_OBJS += midx.o
|
||||
LIB_OBJS += name-hash.o
|
||||
LIB_OBJS += negotiator/default.o
|
||||
LIB_OBJS += negotiator/noop.o
|
||||
LIB_OBJS += negotiator/skipping.o
|
||||
LIB_OBJS += notes.o
|
||||
LIB_OBJS += notes-cache.o
|
||||
LIB_OBJS += notes-merge.o
|
||||
LIB_OBJS += notes-utils.o
|
||||
LIB_OBJS += notes.o
|
||||
LIB_OBJS += object.o
|
||||
LIB_OBJS += oid-array.o
|
||||
LIB_OBJS += oidmap.o
|
||||
LIB_OBJS += oidset.o
|
||||
LIB_OBJS += packfile.o
|
||||
LIB_OBJS += pack-bitmap.o
|
||||
LIB_OBJS += pack-bitmap-write.o
|
||||
LIB_OBJS += pack-bitmap.o
|
||||
LIB_OBJS += pack-check.o
|
||||
LIB_OBJS += pack-objects.o
|
||||
LIB_OBJS += pack-revindex.o
|
||||
LIB_OBJS += pack-write.o
|
||||
LIB_OBJS += packfile.o
|
||||
LIB_OBJS += pager.o
|
||||
LIB_OBJS += parse-options.o
|
||||
LIB_OBJS += parse-options-cb.o
|
||||
LIB_OBJS += parse-options.o
|
||||
LIB_OBJS += patch-delta.o
|
||||
LIB_OBJS += patch-ids.o
|
||||
LIB_OBJS += path.o
|
||||
|
|
@ -948,25 +956,31 @@ LIB_OBJS += preload-index.o
|
|||
LIB_OBJS += pretty.o
|
||||
LIB_OBJS += prio-queue.o
|
||||
LIB_OBJS += progress.o
|
||||
LIB_OBJS += promisor-remote.o
|
||||
LIB_OBJS += prompt.o
|
||||
LIB_OBJS += protocol.o
|
||||
LIB_OBJS += prune-packed.o
|
||||
LIB_OBJS += quote.o
|
||||
LIB_OBJS += range-diff.o
|
||||
LIB_OBJS += reachable.o
|
||||
LIB_OBJS += read-cache.o
|
||||
LIB_OBJS += rebase-interactive.o
|
||||
LIB_OBJS += rebase.o
|
||||
LIB_OBJS += ref-filter.o
|
||||
LIB_OBJS += reflog-walk.o
|
||||
LIB_OBJS += refs.o
|
||||
LIB_OBJS += refs/debug.o
|
||||
LIB_OBJS += refs/files-backend.o
|
||||
LIB_OBJS += refs/iterator.o
|
||||
LIB_OBJS += refs/packed-backend.o
|
||||
LIB_OBJS += refs/ref-cache.o
|
||||
LIB_OBJS += refspec.o
|
||||
LIB_OBJS += ref-filter.o
|
||||
LIB_OBJS += remote.o
|
||||
LIB_OBJS += replace-object.o
|
||||
LIB_OBJS += repo-settings.o
|
||||
LIB_OBJS += repository.o
|
||||
LIB_OBJS += rerere.o
|
||||
LIB_OBJS += reset.o
|
||||
LIB_OBJS += resolve-undo.o
|
||||
LIB_OBJS += revision.o
|
||||
LIB_OBJS += run-command.o
|
||||
|
|
@ -975,20 +989,21 @@ LIB_OBJS += sequencer.o
|
|||
LIB_OBJS += serve.o
|
||||
LIB_OBJS += server-info.o
|
||||
LIB_OBJS += setup.o
|
||||
LIB_OBJS += sha1-array.o
|
||||
LIB_OBJS += sha1-lookup.o
|
||||
LIB_OBJS += sha1-file.o
|
||||
LIB_OBJS += sha1-lookup.o
|
||||
LIB_OBJS += sha1-name.o
|
||||
LIB_OBJS += shallow.o
|
||||
LIB_OBJS += sideband.o
|
||||
LIB_OBJS += sigchain.o
|
||||
LIB_OBJS += split-index.o
|
||||
LIB_OBJS += stable-qsort.o
|
||||
LIB_OBJS += strbuf.o
|
||||
LIB_OBJS += streaming.o
|
||||
LIB_OBJS += string-list.o
|
||||
LIB_OBJS += submodule.o
|
||||
LIB_OBJS += submodule-config.o
|
||||
LIB_OBJS += strvec.o
|
||||
LIB_OBJS += sub-process.o
|
||||
LIB_OBJS += submodule-config.o
|
||||
LIB_OBJS += submodule.o
|
||||
LIB_OBJS += symlinks.o
|
||||
LIB_OBJS += tag.o
|
||||
LIB_OBJS += tempfile.o
|
||||
|
|
@ -1007,11 +1022,11 @@ LIB_OBJS += trace2/tr2_tgt_normal.o
|
|||
LIB_OBJS += trace2/tr2_tgt_perf.o
|
||||
LIB_OBJS += trace2/tr2_tls.o
|
||||
LIB_OBJS += trailer.o
|
||||
LIB_OBJS += transport.o
|
||||
LIB_OBJS += transport-helper.o
|
||||
LIB_OBJS += transport.o
|
||||
LIB_OBJS += tree-diff.o
|
||||
LIB_OBJS += tree.o
|
||||
LIB_OBJS += tree-walk.o
|
||||
LIB_OBJS += tree.o
|
||||
LIB_OBJS += unpack-trees.o
|
||||
LIB_OBJS += upload-pack.o
|
||||
LIB_OBJS += url.o
|
||||
|
|
@ -1040,6 +1055,7 @@ BUILTIN_OBJS += builtin/archive.o
|
|||
BUILTIN_OBJS += builtin/bisect--helper.o
|
||||
BUILTIN_OBJS += builtin/blame.o
|
||||
BUILTIN_OBJS += builtin/branch.o
|
||||
BUILTIN_OBJS += builtin/bugreport.o
|
||||
BUILTIN_OBJS += builtin/bundle.o
|
||||
BUILTIN_OBJS += builtin/cat-file.o
|
||||
BUILTIN_OBJS += builtin/check-attr.o
|
||||
|
|
@ -1051,11 +1067,14 @@ BUILTIN_OBJS += builtin/checkout.o
|
|||
BUILTIN_OBJS += builtin/clean.o
|
||||
BUILTIN_OBJS += builtin/clone.o
|
||||
BUILTIN_OBJS += builtin/column.o
|
||||
BUILTIN_OBJS += builtin/commit-graph.o
|
||||
BUILTIN_OBJS += builtin/commit-tree.o
|
||||
BUILTIN_OBJS += builtin/commit.o
|
||||
BUILTIN_OBJS += builtin/commit-graph.o
|
||||
BUILTIN_OBJS += builtin/config.o
|
||||
BUILTIN_OBJS += builtin/count-objects.o
|
||||
BUILTIN_OBJS += builtin/credential-cache--daemon.o
|
||||
BUILTIN_OBJS += builtin/credential-cache.o
|
||||
BUILTIN_OBJS += builtin/credential-store.o
|
||||
BUILTIN_OBJS += builtin/credential.o
|
||||
BUILTIN_OBJS += builtin/describe.o
|
||||
BUILTIN_OBJS += builtin/diff-files.o
|
||||
|
|
@ -1065,6 +1084,7 @@ BUILTIN_OBJS += builtin/diff.o
|
|||
BUILTIN_OBJS += builtin/difftool.o
|
||||
BUILTIN_OBJS += builtin/env--helper.o
|
||||
BUILTIN_OBJS += builtin/fast-export.o
|
||||
BUILTIN_OBJS += builtin/fast-import.o
|
||||
BUILTIN_OBJS += builtin/fetch-pack.o
|
||||
BUILTIN_OBJS += builtin/fetch.o
|
||||
BUILTIN_OBJS += builtin/fmt-merge-msg.o
|
||||
|
|
@ -1084,13 +1104,13 @@ BUILTIN_OBJS += builtin/ls-remote.o
|
|||
BUILTIN_OBJS += builtin/ls-tree.o
|
||||
BUILTIN_OBJS += builtin/mailinfo.o
|
||||
BUILTIN_OBJS += builtin/mailsplit.o
|
||||
BUILTIN_OBJS += builtin/merge.o
|
||||
BUILTIN_OBJS += builtin/merge-base.o
|
||||
BUILTIN_OBJS += builtin/merge-file.o
|
||||
BUILTIN_OBJS += builtin/merge-index.o
|
||||
BUILTIN_OBJS += builtin/merge-ours.o
|
||||
BUILTIN_OBJS += builtin/merge-recursive.o
|
||||
BUILTIN_OBJS += builtin/merge-tree.o
|
||||
BUILTIN_OBJS += builtin/merge.o
|
||||
BUILTIN_OBJS += builtin/mktag.o
|
||||
BUILTIN_OBJS += builtin/mktree.o
|
||||
BUILTIN_OBJS += builtin/multi-pack-index.o
|
||||
|
|
@ -1110,9 +1130,9 @@ BUILTIN_OBJS += builtin/read-tree.o
|
|||
BUILTIN_OBJS += builtin/rebase.o
|
||||
BUILTIN_OBJS += builtin/receive-pack.o
|
||||
BUILTIN_OBJS += builtin/reflog.o
|
||||
BUILTIN_OBJS += builtin/remote.o
|
||||
BUILTIN_OBJS += builtin/remote-ext.o
|
||||
BUILTIN_OBJS += builtin/remote-fd.o
|
||||
BUILTIN_OBJS += builtin/remote.o
|
||||
BUILTIN_OBJS += builtin/repack.o
|
||||
BUILTIN_OBJS += builtin/replace.o
|
||||
BUILTIN_OBJS += builtin/rerere.o
|
||||
|
|
@ -1126,6 +1146,7 @@ BUILTIN_OBJS += builtin/shortlog.o
|
|||
BUILTIN_OBJS += builtin/show-branch.o
|
||||
BUILTIN_OBJS += builtin/show-index.o
|
||||
BUILTIN_OBJS += builtin/show-ref.o
|
||||
BUILTIN_OBJS += builtin/sparse-checkout.o
|
||||
BUILTIN_OBJS += builtin/stash.o
|
||||
BUILTIN_OBJS += builtin/stripspace.o
|
||||
BUILTIN_OBJS += builtin/submodule--helper.o
|
||||
|
|
@ -1145,6 +1166,20 @@ BUILTIN_OBJS += builtin/verify-tag.o
|
|||
BUILTIN_OBJS += builtin/worktree.o
|
||||
BUILTIN_OBJS += builtin/write-tree.o
|
||||
|
||||
# THIRD_PARTY_SOURCES is a list of patterns compatible with the
|
||||
# $(filter) and $(filter-out) family of functions. They specify source
|
||||
# files which are taken from some third-party source where we want to be
|
||||
# less strict about issues such as coding style so we don't diverge from
|
||||
# upstream unnecessarily (making merging in future changes easier).
|
||||
THIRD_PARTY_SOURCES += compat/inet_ntop.c
|
||||
THIRD_PARTY_SOURCES += compat/inet_pton.c
|
||||
THIRD_PARTY_SOURCES += compat/nedmalloc/%
|
||||
THIRD_PARTY_SOURCES += compat/obstack.%
|
||||
THIRD_PARTY_SOURCES += compat/poll/%
|
||||
THIRD_PARTY_SOURCES += compat/regex/%
|
||||
THIRD_PARTY_SOURCES += sha1collisiondetection/%
|
||||
THIRD_PARTY_SOURCES += sha1dc/%
|
||||
|
||||
GITLIBS = common-main.o $(LIB_FILE) $(XDIFF_LIB)
|
||||
EXTLIBS =
|
||||
|
||||
|
|
@ -1169,7 +1204,7 @@ PTHREAD_CFLAGS =
|
|||
|
||||
# For the 'sparse' target
|
||||
SPARSE_FLAGS ?=
|
||||
SP_EXTRA_FLAGS =
|
||||
SP_EXTRA_FLAGS = -Wno-universal-initializer
|
||||
|
||||
# For the 'coccicheck' target; setting SPATCH_BATCH_SIZE higher will
|
||||
# usually result in less CPU usage at the cost of higher peak memory.
|
||||
|
|
@ -1197,12 +1232,14 @@ SANITIZERS := $(foreach flag,$(subst $(comma),$(space),$(SANITIZE)),$(flag))
|
|||
BASIC_CFLAGS += -fsanitize=$(SANITIZE) -fno-sanitize-recover=$(SANITIZE)
|
||||
BASIC_CFLAGS += -fno-omit-frame-pointer
|
||||
ifneq ($(filter undefined,$(SANITIZERS)),)
|
||||
BASIC_CFLAGS += -DNO_UNALIGNED_LOADS
|
||||
BASIC_CFLAGS += -DSHA1DC_FORCE_ALIGNED_ACCESS
|
||||
endif
|
||||
ifneq ($(filter leak,$(SANITIZERS)),)
|
||||
BASIC_CFLAGS += -DSUPPRESS_ANNOTATED_LEAKS
|
||||
endif
|
||||
ifneq ($(filter address,$(SANITIZERS)),)
|
||||
NO_REGEX = NeededForASAN
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef sysconfdir
|
||||
|
|
@ -1238,6 +1275,27 @@ $(error please set COMPUTE_HEADER_DEPENDENCIES to yes, no, or auto \
|
|||
endif
|
||||
endif
|
||||
|
||||
ifndef GENERATE_COMPILATION_DATABASE
|
||||
GENERATE_COMPILATION_DATABASE = no
|
||||
endif
|
||||
|
||||
ifeq ($(GENERATE_COMPILATION_DATABASE),yes)
|
||||
compdb_check = $(shell $(CC) $(ALL_CFLAGS) \
|
||||
-c -MJ /dev/null \
|
||||
-x c /dev/null -o /dev/null 2>&1; \
|
||||
echo $$?)
|
||||
ifneq ($(compdb_check),0)
|
||||
override GENERATE_COMPILATION_DATABASE = no
|
||||
$(warning GENERATE_COMPILATION_DATABASE is set to "yes", but your compiler does not \
|
||||
support generating compilation database entries)
|
||||
endif
|
||||
else
|
||||
ifneq ($(GENERATE_COMPILATION_DATABASE),no)
|
||||
$(error please set GENERATE_COMPILATION_DATABASE to "yes" or "no" \
|
||||
(not "$(GENERATE_COMPILATION_DATABASE)"))
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef SANE_TOOL_PATH
|
||||
SANE_TOOL_PATH_SQ = $(subst ','\'',$(SANE_TOOL_PATH))
|
||||
BROKEN_PATH_FIX = 's|^\# @@BROKEN_PATH_FIX@@$$|git_broken_path_fix "$(SANE_TOOL_PATH_SQ)"|'
|
||||
|
|
@ -1336,17 +1394,22 @@ ifdef NO_CURL
|
|||
else
|
||||
ifdef CURLDIR
|
||||
# Try "-Wl,-rpath=$(CURLDIR)/$(lib)" in such a case.
|
||||
BASIC_CFLAGS += -I$(CURLDIR)/include
|
||||
CURL_CFLAGS = -I$(CURLDIR)/include
|
||||
CURL_LIBCURL = -L$(CURLDIR)/$(lib) $(CC_LD_DYNPATH)$(CURLDIR)/$(lib)
|
||||
else
|
||||
CURL_CFLAGS =
|
||||
CURL_LIBCURL =
|
||||
endif
|
||||
|
||||
ifdef CURL_LDFLAGS
|
||||
ifndef CURL_LDFLAGS
|
||||
CURL_LDFLAGS = $(eval CURL_LDFLAGS := $$(shell $$(CURL_CONFIG) --libs))$(CURL_LDFLAGS)
|
||||
endif
|
||||
CURL_LIBCURL += $(CURL_LDFLAGS)
|
||||
else
|
||||
CURL_LIBCURL += $(shell $(CURL_CONFIG) --libs)
|
||||
endif
|
||||
|
||||
ifndef CURL_CFLAGS
|
||||
CURL_CFLAGS = $(eval CURL_CFLAGS := $$(shell $$(CURL_CONFIG) --cflags))$(CURL_CFLAGS)
|
||||
endif
|
||||
BASIC_CFLAGS += $(CURL_CFLAGS)
|
||||
|
||||
REMOTE_CURL_PRIMARY = git-remote-http$X
|
||||
REMOTE_CURL_ALIASES = git-remote-https$X git-remote-ftp$X git-remote-ftps$X
|
||||
|
|
@ -1609,11 +1672,8 @@ ifdef NO_INET_PTON
|
|||
endif
|
||||
ifdef NO_UNIX_SOCKETS
|
||||
BASIC_CFLAGS += -DNO_UNIX_SOCKETS
|
||||
EXCLUDED_PROGRAMS += git-credential-cache git-credential-cache--daemon
|
||||
else
|
||||
LIB_OBJS += unix-socket.o
|
||||
PROGRAM_OBJS += credential-cache.o
|
||||
PROGRAM_OBJS += credential-cache--daemon.o
|
||||
endif
|
||||
|
||||
ifdef NO_ICONV
|
||||
|
|
@ -1714,7 +1774,6 @@ ifdef NO_GETPAGESIZE
|
|||
endif
|
||||
ifdef INTERNAL_QSORT
|
||||
COMPAT_CFLAGS += -DINTERNAL_QSORT
|
||||
COMPAT_OBJS += compat/qsort.o
|
||||
endif
|
||||
ifdef HAVE_ISO_QSORT_S
|
||||
COMPAT_CFLAGS += -DHAVE_ISO_QSORT_S
|
||||
|
|
@ -1782,11 +1841,6 @@ ifndef NO_MSGFMT_EXTENDED_OPTIONS
|
|||
MSGFMT += --check --statistics
|
||||
endif
|
||||
|
||||
ifdef GMTIME_UNRELIABLE_ERRORS
|
||||
COMPAT_OBJS += compat/gmtime.o
|
||||
BASIC_CFLAGS += -DGMTIME_UNRELIABLE_ERRORS
|
||||
endif
|
||||
|
||||
ifdef HAVE_CLOCK_GETTIME
|
||||
BASIC_CFLAGS += -DHAVE_CLOCK_GETTIME
|
||||
endif
|
||||
|
|
@ -1871,8 +1925,9 @@ ifndef V
|
|||
QUIET_MSGFMT = @echo ' ' MSGFMT $@;
|
||||
QUIET_GCOV = @echo ' ' GCOV $@;
|
||||
QUIET_SP = @echo ' ' SP $<;
|
||||
QUIET_HDR = @echo ' ' HDR $<;
|
||||
QUIET_HDR = @echo ' ' HDR $(<:hcc=h);
|
||||
QUIET_RC = @echo ' ' RC $@;
|
||||
QUIET_SPATCH = @echo ' ' SPATCH $<;
|
||||
QUIET_SUBDIR0 = +@subdir=
|
||||
QUIET_SUBDIR1 = ;$(NO_SUBDIR) echo ' ' SUBDIR $$subdir; \
|
||||
$(MAKE) $(PRINT_DIR) -C $$subdir
|
||||
|
|
@ -2046,9 +2101,9 @@ profile-fast: profile-clean
|
|||
$(MAKE) PROFILE=USE all
|
||||
|
||||
|
||||
all:: $(ALL_PROGRAMS) $(SCRIPT_LIB) $(BUILT_INS) $(OTHER_PROGRAMS) GIT-BUILD-OPTIONS
|
||||
all:: $(ALL_COMMANDS_TO_INSTALL) $(SCRIPT_LIB) $(OTHER_PROGRAMS) GIT-BUILD-OPTIONS
|
||||
ifneq (,$X)
|
||||
$(QUIET_BUILT_IN)$(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_PROGRAMS) $(BUILT_INS) git$X)), test -d '$p' -o '$p' -ef '$p$X' || $(RM) '$p';)
|
||||
$(QUIET_BUILT_IN)$(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_COMMANDS_TO_INSTALL) git$X)), test -d '$p' -o '$p' -ef '$p$X' || $(RM) '$p';)
|
||||
endif
|
||||
|
||||
all::
|
||||
|
|
@ -2111,7 +2166,7 @@ git$X: git.o GIT-LDFLAGS $(BUILTIN_OBJS) $(GITLIBS)
|
|||
|
||||
help.sp help.s help.o: command-list.h
|
||||
|
||||
builtin/help.sp builtin/help.s builtin/help.o: command-list.h GIT-PREFIX
|
||||
builtin/help.sp builtin/help.s builtin/help.o: config-list.h GIT-PREFIX
|
||||
builtin/help.sp builtin/help.s builtin/help.o: EXTRA_CPPFLAGS = \
|
||||
'-DGIT_HTML_PATH="$(htmldir_relative_SQ)"' \
|
||||
'-DGIT_MAN_PATH="$(mandir_relative_SQ)"' \
|
||||
|
|
@ -2131,6 +2186,12 @@ $(BUILT_INS): git$X
|
|||
ln -s $< $@ 2>/dev/null || \
|
||||
cp $< $@
|
||||
|
||||
config-list.h: generate-configlist.sh
|
||||
|
||||
config-list.h:
|
||||
$(QUIET_GEN)$(SHELL_PATH) ./generate-configlist.sh \
|
||||
>$@+ && mv $@+ $@
|
||||
|
||||
command-list.h: generate-cmdlist.sh command-list.txt
|
||||
|
||||
command-list.h: $(wildcard Documentation/git*.txt) Documentation/*config.txt Documentation/config/*.txt
|
||||
|
|
@ -2313,23 +2374,16 @@ reconfigure config.mak.autogen: config.status
|
|||
endif
|
||||
|
||||
XDIFF_OBJS += xdiff/xdiffi.o
|
||||
XDIFF_OBJS += xdiff/xprepare.o
|
||||
XDIFF_OBJS += xdiff/xutils.o
|
||||
XDIFF_OBJS += xdiff/xemit.o
|
||||
XDIFF_OBJS += xdiff/xhistogram.o
|
||||
XDIFF_OBJS += xdiff/xmerge.o
|
||||
XDIFF_OBJS += xdiff/xpatience.o
|
||||
XDIFF_OBJS += xdiff/xhistogram.o
|
||||
|
||||
VCSSVN_OBJS += vcs-svn/line_buffer.o
|
||||
VCSSVN_OBJS += vcs-svn/sliding_window.o
|
||||
VCSSVN_OBJS += vcs-svn/fast_export.o
|
||||
VCSSVN_OBJS += vcs-svn/svndiff.o
|
||||
VCSSVN_OBJS += vcs-svn/svndump.o
|
||||
XDIFF_OBJS += xdiff/xprepare.o
|
||||
XDIFF_OBJS += xdiff/xutils.o
|
||||
|
||||
TEST_OBJS := $(patsubst %$X,%.o,$(TEST_PROGRAMS)) $(patsubst %,t/helper/%,$(TEST_BUILTINS_OBJS))
|
||||
OBJECTS := $(LIB_OBJS) $(BUILTIN_OBJS) $(PROGRAM_OBJS) $(TEST_OBJS) \
|
||||
$(XDIFF_OBJS) \
|
||||
$(VCSSVN_OBJS) \
|
||||
$(FUZZ_OBJS) \
|
||||
common-main.o \
|
||||
git.o
|
||||
|
|
@ -2355,16 +2409,30 @@ missing_dep_dirs =
|
|||
dep_args =
|
||||
endif
|
||||
|
||||
compdb_dir = compile_commands
|
||||
|
||||
ifeq ($(GENERATE_COMPILATION_DATABASE),yes)
|
||||
missing_compdb_dir = $(compdb_dir)
|
||||
$(missing_compdb_dir):
|
||||
@mkdir -p $@
|
||||
|
||||
compdb_file = $(compdb_dir)/$(subst /,-,$@.json)
|
||||
compdb_args = -MJ $(compdb_file)
|
||||
else
|
||||
missing_compdb_dir =
|
||||
compdb_args =
|
||||
endif
|
||||
|
||||
ASM_SRC := $(wildcard $(OBJECTS:o=S))
|
||||
ASM_OBJ := $(ASM_SRC:S=o)
|
||||
C_OBJ := $(filter-out $(ASM_OBJ),$(OBJECTS))
|
||||
|
||||
.SUFFIXES:
|
||||
|
||||
$(C_OBJ): %.o: %.c GIT-CFLAGS $(missing_dep_dirs)
|
||||
$(QUIET_CC)$(CC) -o $*.o -c $(dep_args) $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) $<
|
||||
$(ASM_OBJ): %.o: %.S GIT-CFLAGS $(missing_dep_dirs)
|
||||
$(QUIET_CC)$(CC) -o $*.o -c $(dep_args) $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) $<
|
||||
$(C_OBJ): %.o: %.c GIT-CFLAGS $(missing_dep_dirs) $(missing_compdb_dir)
|
||||
$(QUIET_CC)$(CC) -o $*.o -c $(dep_args) $(compdb_args) $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) $<
|
||||
$(ASM_OBJ): %.o: %.S GIT-CFLAGS $(missing_dep_dirs) $(missing_compdb_dir)
|
||||
$(QUIET_CC)$(CC) -o $*.o -c $(dep_args) $(compdb_args) $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) $<
|
||||
|
||||
%.s: %.c GIT-CFLAGS FORCE
|
||||
$(QUIET_CC)$(CC) -o $@ -S $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) $<
|
||||
|
|
@ -2387,6 +2455,14 @@ else
|
|||
$(OBJECTS): $(LIB_H) $(GENERATED_H)
|
||||
endif
|
||||
|
||||
ifeq ($(GENERATE_COMPILATION_DATABASE),yes)
|
||||
all:: compile_commands.json
|
||||
compile_commands.json:
|
||||
@$(RM) $@
|
||||
$(QUIET_GEN)sed -e '1s/^/[/' -e '$$s/,$$/]/' $(compdb_dir)/*.o.json > $@+
|
||||
@if test -s $@+; then mv $@+ $@; else $(RM) $@+; fi
|
||||
endif
|
||||
|
||||
exec-cmd.sp exec-cmd.s exec-cmd.o: GIT-PREFIX
|
||||
exec-cmd.sp exec-cmd.s exec-cmd.o: EXTRA_CPPFLAGS = \
|
||||
'-DGIT_EXEC_PATH="$(gitexecdir_SQ)"' \
|
||||
|
|
@ -2444,10 +2520,6 @@ 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)
|
||||
|
||||
$(REMOTE_CURL_ALIASES): $(REMOTE_CURL_PRIMARY)
|
||||
$(QUIET_LNCP)$(RM) $@ && \
|
||||
ln $< $@ 2>/dev/null || \
|
||||
|
|
@ -2464,9 +2536,6 @@ $(LIB_FILE): $(LIB_OBJS)
|
|||
$(XDIFF_LIB): $(XDIFF_OBJS)
|
||||
$(QUIET_AR)$(RM) $@ && $(AR) $(ARFLAGS) $@ $^
|
||||
|
||||
$(VCSSVN_LIB): $(VCSSVN_OBJS)
|
||||
$(QUIET_AR)$(RM) $@ && $(AR) $(ARFLAGS) $@ $^
|
||||
|
||||
export DEFAULT_EDITOR DEFAULT_PAGER
|
||||
|
||||
Documentation/GIT-EXCLUDED-PROGRAMS: FORCE
|
||||
|
|
@ -2599,6 +2668,7 @@ FIND_SOURCE_FILES = ( \
|
|||
-o \( -name 'trash*' -type d -prune \) \
|
||||
-o \( -name '*.[hcS]' -type f -print \) \
|
||||
-o \( -name '*.sh' -type f -print \) \
|
||||
| sed -e 's|^\./||' \
|
||||
)
|
||||
|
||||
$(ETAGS_TARGET): FORCE
|
||||
|
|
@ -2740,10 +2810,6 @@ perf: all
|
|||
|
||||
.PHONY: test perf
|
||||
|
||||
t/helper/test-line-buffer$X: $(VCSSVN_LIB)
|
||||
|
||||
t/helper/test-svn-fe$X: $(VCSSVN_LIB)
|
||||
|
||||
.PRECIOUS: $(TEST_OBJS)
|
||||
|
||||
t/helper/test-tool$X: $(patsubst %,t/helper/%,$(TEST_BUILTINS_OBJS))
|
||||
|
|
@ -2763,16 +2829,20 @@ $(SP_OBJ): %.sp: %.c GIT-CFLAGS FORCE
|
|||
.PHONY: sparse $(SP_OBJ)
|
||||
sparse: $(SP_OBJ)
|
||||
|
||||
GEN_HDRS := command-list.h unicode-width.h
|
||||
EXCEPT_HDRS := $(GEN_HDRS) compat/% xdiff/%
|
||||
EXCEPT_HDRS := command-list.h config-list.h unicode-width.h compat/% xdiff/%
|
||||
ifndef GCRYPT_SHA256
|
||||
EXCEPT_HDRS += sha256/gcrypt.h
|
||||
endif
|
||||
CHK_HDRS = $(filter-out $(EXCEPT_HDRS),$(patsubst ./%,%,$(LIB_H)))
|
||||
CHK_HDRS = $(filter-out $(EXCEPT_HDRS),$(LIB_H))
|
||||
HCO = $(patsubst %.h,%.hco,$(CHK_HDRS))
|
||||
HCC = $(HCO:hco=hcc)
|
||||
|
||||
$(HCO): %.hco: %.h FORCE
|
||||
$(QUIET_HDR)$(CC) -include git-compat-util.h -I. -o /dev/null -c -xc $<
|
||||
%.hcc: %.h
|
||||
@echo '#include "git-compat-util.h"' >$@
|
||||
@echo '#include "$<"' >>$@
|
||||
|
||||
$(HCO): %.hco: %.hcc FORCE
|
||||
$(QUIET_HDR)$(CC) $(ALL_CFLAGS) -o /dev/null -c -xc $<
|
||||
|
||||
.PHONY: hdr-check $(HCO)
|
||||
hdr-check: $(HCO)
|
||||
|
|
@ -2781,7 +2851,7 @@ hdr-check: $(HCO)
|
|||
style:
|
||||
git clang-format --style file --diff --extensions c,h
|
||||
|
||||
check: command-list.h
|
||||
check: config-list.h command-list.h
|
||||
@if sparse; \
|
||||
then \
|
||||
echo >&2 "Use 'make sparse' instead"; \
|
||||
|
|
@ -2791,15 +2861,11 @@ check: command-list.h
|
|||
exit 1; \
|
||||
fi
|
||||
|
||||
C_SOURCES = $(patsubst %.o,%.c,$(C_OBJ))
|
||||
ifdef DC_SHA1_SUBMODULE
|
||||
COCCI_SOURCES = $(filter-out sha1collisiondetection/%,$(C_SOURCES))
|
||||
else
|
||||
COCCI_SOURCES = $(filter-out sha1dc/%,$(C_SOURCES))
|
||||
endif
|
||||
FOUND_C_SOURCES = $(filter %.c,$(shell $(FIND_SOURCE_FILES)))
|
||||
COCCI_SOURCES = $(filter-out $(THIRD_PARTY_SOURCES),$(FOUND_C_SOURCES))
|
||||
|
||||
%.cocci.patch: %.cocci $(COCCI_SOURCES)
|
||||
@echo ' ' SPATCH $<; \
|
||||
$(QUIET_SPATCH) \
|
||||
if test $(SPATCH_BATCH_SIZE) = 0; then \
|
||||
limit=; \
|
||||
else \
|
||||
|
|
@ -2868,20 +2934,8 @@ ifdef MSVC
|
|||
# have already been rolled up into the exe's pdb file.
|
||||
# We DO NOT have pdb files for the builtin commands (like git-status.exe)
|
||||
# because it is just a copy/hardlink of git.exe, rather than a unique binary.
|
||||
$(INSTALL) git.pdb '$(DESTDIR_SQ)$(bindir_SQ)'
|
||||
$(INSTALL) git-shell.pdb '$(DESTDIR_SQ)$(bindir_SQ)'
|
||||
$(INSTALL) git-upload-pack.pdb '$(DESTDIR_SQ)$(bindir_SQ)'
|
||||
$(INSTALL) git-credential-store.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
|
||||
$(INSTALL) git-daemon.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
|
||||
$(INSTALL) git-fast-import.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
|
||||
$(INSTALL) git-http-backend.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
|
||||
$(INSTALL) git-http-fetch.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
|
||||
$(INSTALL) git-http-push.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
|
||||
$(INSTALL) git-imap-send.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
|
||||
$(INSTALL) git-remote-http.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
|
||||
$(INSTALL) git-remote-testsvn.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
|
||||
$(INSTALL) git-sh-i18n--envsubst.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
|
||||
$(INSTALL) git-show-index.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
|
||||
$(INSTALL) $(patsubst %.exe,%.pdb,$(filter-out $(BUILT_INS),$(patsubst %,%$X,$(BINDIR_PROGRAMS_NEED_X)))) '$(DESTDIR_SQ)$(bindir_SQ)'
|
||||
$(INSTALL) $(patsubst %.exe,%.pdb,$(filter-out $(BUILT_INS) $(REMOTE_CURL_ALIASES),$(PROGRAMS))) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
|
||||
ifndef DEBUG
|
||||
$(INSTALL) $(vcpkg_rel_bin)/*.dll '$(DESTDIR_SQ)$(bindir_SQ)'
|
||||
$(INSTALL) $(vcpkg_rel_bin)/*.pdb '$(DESTDIR_SQ)$(bindir_SQ)'
|
||||
|
|
@ -2909,7 +2963,7 @@ ifndef NO_TCLTK
|
|||
$(MAKE) -C git-gui gitexecdir='$(gitexec_instdir_SQ)' install
|
||||
endif
|
||||
ifneq (,$X)
|
||||
$(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_PROGRAMS) $(BUILT_INS) git$X)), test '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p' -ef '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p$X' || $(RM) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p';)
|
||||
$(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_COMMANDS_TO_INSTALL) git$X)), test '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p' -ef '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p$X' || $(RM) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p';)
|
||||
endif
|
||||
|
||||
bindir=$$(cd '$(DESTDIR_SQ)$(bindir_SQ)' && pwd) && \
|
||||
|
|
@ -2932,16 +2986,19 @@ endif
|
|||
{ test -z "$(NO_INSTALL_HARDLINKS)" && \
|
||||
ln "$$bindir/git$X" "$$bindir/$$p" 2>/dev/null || \
|
||||
ln -s "git$X" "$$bindir/$$p" 2>/dev/null || \
|
||||
cp "$$bindir/git$X" "$$bindir/$$p" || exit; } \
|
||||
cp "$$bindir/git$X" "$$bindir/$$p" || exit; }; \
|
||||
done && \
|
||||
for p in $(BUILT_INS); do \
|
||||
$(RM) "$$execdir/$$p" && \
|
||||
test -n "$(INSTALL_SYMLINKS)" && \
|
||||
ln -s "$$destdir_from_execdir_SQ/$(bindir_relative_SQ)/git$X" "$$execdir/$$p" || \
|
||||
{ test -z "$(NO_INSTALL_HARDLINKS)" && \
|
||||
ln "$$execdir/git$X" "$$execdir/$$p" 2>/dev/null || \
|
||||
ln -s "git$X" "$$execdir/$$p" 2>/dev/null || \
|
||||
cp "$$execdir/git$X" "$$execdir/$$p" || exit; } \
|
||||
if test -z "$(SKIP_DASHED_BUILT_INS)"; \
|
||||
then \
|
||||
test -n "$(INSTALL_SYMLINKS)" && \
|
||||
ln -s "$$destdir_from_execdir_SQ/$(bindir_relative_SQ)/git$X" "$$execdir/$$p" || \
|
||||
{ test -z "$(NO_INSTALL_HARDLINKS)" && \
|
||||
ln "$$execdir/git$X" "$$execdir/$$p" 2>/dev/null || \
|
||||
ln -s "git$X" "$$execdir/$$p" 2>/dev/null || \
|
||||
cp "$$execdir/git$X" "$$execdir/$$p" || exit; }; \
|
||||
fi \
|
||||
done && \
|
||||
remote_curl_aliases="$(REMOTE_CURL_ALIASES)" && \
|
||||
for p in $$remote_curl_aliases; do \
|
||||
|
|
@ -2993,33 +3050,33 @@ quick-install-html:
|
|||
|
||||
### Maintainer's dist rules
|
||||
|
||||
# Allow tweaking to hide local environment effects, like perm bits.
|
||||
# With GNU tar, "--mode=u+rwX,og+rX,og-w" would be a good idea, for example.
|
||||
TAR_DIST_EXTRA_OPTS =
|
||||
GIT_TARNAME = git-$(GIT_VERSION)
|
||||
GIT_ARCHIVE_EXTRA_FILES = \
|
||||
--prefix=$(GIT_TARNAME)/ \
|
||||
--add-file=configure \
|
||||
--add-file=$(GIT_TARNAME)/version \
|
||||
--prefix=$(GIT_TARNAME)/git-gui/ \
|
||||
--add-file=$(GIT_TARNAME)/git-gui/version
|
||||
ifdef DC_SHA1_SUBMODULE
|
||||
GIT_ARCHIVE_EXTRA_FILES += \
|
||||
--prefix=$(GIT_TARNAME)/sha1collisiondetection/ \
|
||||
--add-file=sha1collisiondetection/LICENSE.txt \
|
||||
--prefix=$(GIT_TARNAME)/sha1collisiondetection/lib/ \
|
||||
--add-file=sha1collisiondetection/lib/sha1.c \
|
||||
--add-file=sha1collisiondetection/lib/sha1.h \
|
||||
--add-file=sha1collisiondetection/lib/ubc_check.c \
|
||||
--add-file=sha1collisiondetection/lib/ubc_check.h
|
||||
endif
|
||||
dist: git-archive$(X) configure
|
||||
./git-archive --format=tar \
|
||||
--prefix=$(GIT_TARNAME)/ HEAD^{tree} > $(GIT_TARNAME).tar
|
||||
@mkdir -p $(GIT_TARNAME)
|
||||
@cp configure $(GIT_TARNAME)
|
||||
@echo $(GIT_VERSION) > $(GIT_TARNAME)/version
|
||||
@$(MAKE) -C git-gui TARDIR=../$(GIT_TARNAME)/git-gui dist-version
|
||||
$(TAR) rf $(GIT_TARNAME).tar \
|
||||
$(GIT_TARNAME)/configure \
|
||||
$(GIT_TARNAME)/version \
|
||||
$(GIT_TARNAME)/git-gui/version
|
||||
ifdef DC_SHA1_SUBMODULE
|
||||
@mkdir -p $(GIT_TARNAME)/sha1collisiondetection/lib
|
||||
@cp sha1collisiondetection/LICENSE.txt \
|
||||
$(GIT_TARNAME)/sha1collisiondetection/
|
||||
@cp sha1collisiondetection/LICENSE.txt \
|
||||
$(GIT_TARNAME)/sha1collisiondetection/
|
||||
@cp sha1collisiondetection/lib/sha1.[ch] \
|
||||
$(GIT_TARNAME)/sha1collisiondetection/lib/
|
||||
@cp sha1collisiondetection/lib/ubc_check.[ch] \
|
||||
$(GIT_TARNAME)/sha1collisiondetection/lib/
|
||||
$(TAR) rf $(GIT_TARNAME).tar \
|
||||
$(GIT_TARNAME)/sha1collisiondetection/LICENSE.txt \
|
||||
$(GIT_TARNAME)/sha1collisiondetection/lib/sha1.[ch] \
|
||||
$(GIT_TARNAME)/sha1collisiondetection/lib/ubc_check.[ch]
|
||||
endif
|
||||
./git-archive --format=tar \
|
||||
$(GIT_ARCHIVE_EXTRA_FILES) \
|
||||
--prefix=$(GIT_TARNAME)/ HEAD^{tree} > $(GIT_TARNAME).tar
|
||||
@$(RM) -r $(GIT_TARNAME)
|
||||
gzip -f -9 $(GIT_TARNAME).tar
|
||||
|
||||
|
|
@ -3028,7 +3085,11 @@ rpm::
|
|||
@false
|
||||
.PHONY: rpm
|
||||
|
||||
artifacts-tar:: $(ALL_PROGRAMS) $(SCRIPT_LIB) $(BUILT_INS) $(OTHER_PROGRAMS) \
|
||||
ifneq ($(INCLUDE_DLLS_IN_ARTIFACTS),)
|
||||
OTHER_PROGRAMS += $(shell echo *.dll t/helper/*.dll)
|
||||
endif
|
||||
|
||||
artifacts-tar:: $(ALL_COMMANDS_TO_INSTALL) $(SCRIPT_LIB) $(OTHER_PROGRAMS) \
|
||||
GIT-BUILD-OPTIONS $(TEST_PROGRAMS) $(test_bindir_programs) \
|
||||
$(MOFILES)
|
||||
$(QUIET_SUBDIR0)templates $(QUIET_SUBDIR1) \
|
||||
|
|
@ -3045,7 +3106,7 @@ dist-doc:
|
|||
$(RM) -r .doc-tmp-dir
|
||||
mkdir .doc-tmp-dir
|
||||
$(MAKE) -C Documentation WEBDOC_DEST=../.doc-tmp-dir install-webdoc
|
||||
cd .doc-tmp-dir && $(TAR) cf ../$(htmldocs).tar .
|
||||
cd .doc-tmp-dir && $(TAR) cf ../$(htmldocs).tar $(TAR_DIST_EXTRA_OPTS) .
|
||||
gzip -n -9 -f $(htmldocs).tar
|
||||
:
|
||||
$(RM) -r .doc-tmp-dir
|
||||
|
|
@ -3055,7 +3116,7 @@ dist-doc:
|
|||
man5dir=../.doc-tmp-dir/man5 \
|
||||
man7dir=../.doc-tmp-dir/man7 \
|
||||
install
|
||||
cd .doc-tmp-dir && $(TAR) cf ../$(manpages).tar .
|
||||
cd .doc-tmp-dir && $(TAR) cf ../$(manpages).tar $(TAR_DIST_EXTRA_OPTS) .
|
||||
gzip -n -9 -f $(manpages).tar
|
||||
$(RM) -r .doc-tmp-dir
|
||||
|
||||
|
|
@ -3077,13 +3138,14 @@ cocciclean:
|
|||
clean: profile-clean coverage-clean cocciclean
|
||||
$(RM) *.res
|
||||
$(RM) $(OBJECTS)
|
||||
$(RM) $(LIB_FILE) $(XDIFF_LIB) $(VCSSVN_LIB)
|
||||
$(RM) $(LIB_FILE) $(XDIFF_LIB)
|
||||
$(RM) $(ALL_PROGRAMS) $(SCRIPT_LIB) $(BUILT_INS) git$X
|
||||
$(RM) $(TEST_PROGRAMS)
|
||||
$(RM) $(FUZZ_PROGRAMS)
|
||||
$(RM) -r bin-wrappers $(dep_dirs)
|
||||
$(RM) $(HCC)
|
||||
$(RM) -r bin-wrappers $(dep_dirs) $(compdb_dir) compile_commands.json
|
||||
$(RM) -r po/build/
|
||||
$(RM) *.pyc *.pyo */*.pyc */*.pyo command-list.h $(ETAGS_TARGET) tags cscope*
|
||||
$(RM) *.pyc *.pyo */*.pyc */*.pyo $(GENERATED_H) $(ETAGS_TARGET) tags cscope*
|
||||
$(RM) -r $(GIT_TARNAME) .doc-tmp-dir
|
||||
$(RM) $(GIT_TARNAME).tar.gz git-core_$(GIT_VERSION)-*.tar.gz
|
||||
$(RM) $(htmldocs).tar.gz $(manpages).tar.gz
|
||||
|
|
@ -3122,11 +3184,12 @@ endif
|
|||
|
||||
### Check documentation
|
||||
#
|
||||
ALL_COMMANDS = $(ALL_PROGRAMS) $(SCRIPT_LIB) $(BUILT_INS)
|
||||
ALL_COMMANDS = $(ALL_COMMANDS_TO_INSTALL) $(SCRIPT_LIB)
|
||||
ALL_COMMANDS += git
|
||||
ALL_COMMANDS += git-citool
|
||||
ALL_COMMANDS += git-gui
|
||||
ALL_COMMANDS += gitk
|
||||
ALL_COMMANDS += gitweb
|
||||
ALL_COMMANDS += git-gui git-citool
|
||||
|
||||
.PHONY: check-docs
|
||||
check-docs::
|
||||
|
|
@ -3161,7 +3224,7 @@ check-docs::
|
|||
-e 's/\.txt//'; \
|
||||
) | while read how cmd; \
|
||||
do \
|
||||
case " $(patsubst %$X,%,$(ALL_COMMANDS) $(EXCLUDED_PROGRAMS)) " in \
|
||||
case " $(patsubst %$X,%,$(ALL_COMMANDS) $(BUILT_INS) $(EXCLUDED_PROGRAMS)) " in \
|
||||
*" $$cmd "*) ;; \
|
||||
*) echo "removed but $$how: $$cmd" ;; \
|
||||
esac; \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue