diff options
| -rw-r--r-- | Makefile | 6 | ||||
| -rw-r--r-- | contrib/completion/meson.build | 18 |
2 files changed, 24 insertions, 0 deletions
@@ -618,6 +618,7 @@ prefix = $(HOME) bindir = $(prefix)/bin mandir = $(prefix)/share/man infodir = $(prefix)/share/info +bash_completion_dir = $(prefix)/share/bash-completion/completions gitexecdir = libexec/git-core mergetoolsdir = $(gitexecdir)/mergetools sharedir = $(prefix)/share @@ -2325,6 +2326,7 @@ bindir_relative_SQ = $(subst ','\'',$(bindir_relative)) mandir_SQ = $(subst ','\'',$(mandir)) mandir_relative_SQ = $(subst ','\'',$(mandir_relative)) infodir_relative_SQ = $(subst ','\'',$(infodir_relative)) +bash_completion_dir_SQ = $(subst ','\'',$(bash_completion_dir)) perllibdir_SQ = $(subst ','\'',$(perllibdir)) localedir_SQ = $(subst ','\'',$(localedir)) localedir_relative_SQ = $(subst ','\'',$(localedir_relative)) @@ -3569,6 +3571,10 @@ endif ifneq (,$X) $(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_COMMANDS_TO_INSTALL) $(OTHER_PROGRAMS))), test '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p' -ef '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p$X' || $(RM) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p';) endif +ifndef NO_BASH_COMPLETION + $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(bash_completion_dir_SQ)' && \ + $(INSTALL) -m 644 contrib/completion/git-completion.bash '$(DESTDIR_SQ)$(bash_completion_dir_SQ)/git' +endif bindir=$$(cd '$(DESTDIR_SQ)$(bindir_SQ)' && pwd) && \ execdir=$$(cd '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' && pwd) && \ diff --git a/contrib/completion/meson.build b/contrib/completion/meson.build index 3a9ddab594..576125b083 100644 --- a/contrib/completion/meson.build +++ b/contrib/completion/meson.build @@ -14,3 +14,21 @@ foreach script : [ ) endif endforeach + +# We have to discern between the test dependency and the installed file. Our +# tests assume the completion scripts to have the same name as the in-tree +# files, but the installed filenames need to match the executable's basename. +if meson.version().version_compare('>=1.3.0') + fs.copyfile('git-completion.bash', 'git', + install: true, + install_dir: get_option('datadir') / 'bash-completion/completions', + ) +else + configure_file( + input: 'git-completion.bash', + output: 'git', + copy: true, + install: true, + install_dir: get_option('datadir') / 'bash-completion/completions', + ) +endif |
