summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2018-04-04 07:07:45 (GMT)
committerAlexey Neyman <stilor@att.net>2018-04-07 19:03:17 (GMT)
commit970811a1c58d22fad37d8cbe2233b8344f358e78 (patch)
tree414e1095de2ae795d543556e14e384f5567fce7e
parentbb6c97551f7cfafea811367de0a6f382d9aec36b (diff)
Conditionally install bash completion
Signed-off-by: Alexey Neyman <stilor@att.net>
-rw-r--r--Makefile.am14
-rw-r--r--configure.ac10
-rw-r--r--ct-ng.comp.in (renamed from ct-ng.comp)4
3 files changed, 23 insertions, 5 deletions
diff --git a/Makefile.am b/Makefile.am
index a331832..768a3c5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -6,8 +6,13 @@ include verbatim-data.mk
SUBDIRS = kconfig
bin_SCRIPTS = ct-ng
-CLEANFILES = $(bin_SCRIPTS)
-EXTRA_DIST = ct-ng.in bootstrap docs/ct-ng.1.in
+CLEANFILES = ct-ng ct-ng.comp docs/ct-ng.1
+EXTRA_DIST = bootstrap ct-ng.in ct-ng.comp.in docs/ct-ng.1.in maintainer
+
+if INSTALL_BASH_COMPLETION
+compdir = $(sysconfdir)/@BASH_COMPLETION_DIR@
+comp_SCRIPTS = ct-ng.comp
+endif
man1_MANS = docs/ct-ng.1
@@ -45,8 +50,11 @@ do_subst = ( @SED@ \
ct-ng: ct-ng.in Makefile
$(AM_V_GEN)$(do_subst) < $< >$@-t && chmod a-w,a+x $@-t && mv -f $@-t $@
-docs/ct-ng.1: docs/ct-ng.1.in
+docs/ct-ng.1: docs/ct-ng.1.in Makefile
$(AM_V_GEN)$(MKDIR_P) docs && $(do_subst) < $< >$@-t && mv -f $@-t $@
+ct-ng.comp: ct-ng.comp.in Makefile
+ $(AM_V_GEN)$(do_subst) < $< >$@-t && mv -f $@-t $@
+
dist-hook: maintainer/download-docs.sh
$< $(top_distdir) $(USER_MANUAL_FILES)
diff --git a/configure.ac b/configure.ac
index c7b6f5a..920e42d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,6 +33,16 @@ AC_ARG_ENABLE(
[run ct-ng from the current directory; 'make install' unsupported])])
AC_SUBST([enable_local], [${enable_local:-no}])
+AC_ARG_WITH([bash-completion-dir],
+ [AS_HELP_STRING(
+ [--with-bash-completion],
+ [install bash(1) command completion for ct-ng into specified directory,
+ relative to sysconfdir])],
+ [],
+ [with_bash_completion_dir=bash_completion.d])
+AM_CONDITIONAL([INSTALL_BASH_COMPLETION], [test "${with_bash_completion_dir}" != "no" ])
+AC_SUBST([BASH_COMPLETION_DIR], [${with_bash_completion_dir}])
+
# FIXME: I don't know why we have this. Will remove after the 1.24 release.
AC_ARG_ENABLE(
[shared],
diff --git a/ct-ng.comp b/ct-ng.comp.in
index e89e686..f38c881 100644
--- a/ct-ng.comp
+++ b/ct-ng.comp.in
@@ -17,7 +17,7 @@ _ct_ng () {
actions='help menuconfig nconfig oldconfig saveconfig extractconfig
defconfig savedefconfig
- build build. build-all build-all.
+ build build-all
wiki-samples list-samples list-samples-short check-samples
list-steps
show-tuple show-all show-config
@@ -33,4 +33,4 @@ _ct_ng () {
COMPREPLY=($(compgen -W "${ct_ng_opts}" -- "${cur}"))
return 0
}
-complete -F _ct_ng ct-ng
+complete -F _ct_ng @progname@