summaryrefslogtreecommitdiff
blob: 5d6716c7280c2eec8a7da993da4b8c82784423fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
diff --git a/GDALmake.opt.in b/GDALmake.opt.in
index fd8e8f374d..655c004c56 100644
--- a/GDALmake.opt.in
+++ b/GDALmake.opt.in
@@ -63,6 +63,7 @@ INST_INCLUDE	=	@includedir@
 INST_DATA 	=	@datadir@
 INST_LIB	=	@libdir@
 INST_BIN	=	@bindir@
+INST_BASH_COMPLETION	=	@bashcompdir@
 INST_PYMOD      =       @pymoddir@
 INST_DOCS	=	@exec_prefix@/doc
 INST_MAN	=	@mandir@
diff --git a/GNUmakefile b/GNUmakefile
index 92467d6cf6..6d5e7d9fc0 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -229,7 +229,9 @@ endif
 ifneq ($(BINDINGS),)
 	(cd swig; $(MAKE) install)
 endif
+ifdef INST_BASH_COMPLETION
 	(cd scripts; $(MAKE) install)
+endif
 	for f in LICENSE.TXT data/*.* ; do $(INSTALL_DATA) $$f $(DESTDIR)$(INST_DATA) ; done
 	$(LIBTOOL_FINISH) $(DESTDIR)$(INST_LIB)
 	$(INSTALL_DIR) $(DESTDIR)$(INST_LIB)/pkgconfig
diff --git a/configure.ac b/configure.ac
index 93ddca84d9..5d0e7ab8be 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1187,6 +1187,24 @@ if test "$am_func_iconv" = "yes"; then
     AC_DEFINE_UNQUOTED(ICONV_CPP_CONST,$ICONV_CPP_CONST, [For.cpp files, define as const if the declaration of iconv() needs const.])
 fi
 
+dnl ---------------------------------------------------------------------------
+dnl Bash completions
+dnl ---------------------------------------------------------------------------
+
+AC_ARG_WITH([bash-completion],
+  AS_HELP_STRING([--with-bash-completion[=ARG]],
+    [Install Bash completions (ARG=yes or path)]),,)
+
+if test "x$with_bash_completion" = "xno" -o "x$with_bash_completion" = "x"; then
+  AC_MSG_NOTICE([Bash completions not requested])
+elif test "x$with_bash_completion" = "xyes"; then
+  PKG_CHECK_VAR(bashcompdir, [bash-completion], [completionsdir], ,
+    bashcompdir="${sysconfdir}/bash_completion.d")
+  AC_SUBST(bashcompdir)
+else
+  AC_SUBST(bashcompdir, $with_bash_completion)
+fi
+
 dnl ---------------------------------------------------------------------------
 dnl PROJ.6 related stuff
 dnl ---------------------------------------------------------------------------
diff --git a/scripts/GNUmakefile b/scripts/GNUmakefile
index 8f039e469a..511fbb499c 100644
--- a/scripts/GNUmakefile
+++ b/scripts/GNUmakefile
@@ -1,10 +1,20 @@
 include  ../GDALmake.opt
 
+PROGRAMS := gdal2tiles.py gdal2xyz.py gdaladdo gdalbuildvrt gdal_calc.py \
+            gdalchksum.py gdalcompare.py gdal-config gdal_contour gdaldem \
+            gdal_edit.py gdalenhance gdal_fillnodata.py gdal_grid \
+            gdalident.py gdalimport.py gdallocationinfo gdalmanage \
+            gdal_merge.py gdalmove.py gdal_polygonize.py gdal_proximity.py \
+            gdal_rasterize gdal_retile.py gdalserver gdal_sieve.py \
+            gdalsrsinfo gdaltindex gdaltransform gdal_translate gdalwarp \
+            ogr2ogr ogrinfo ogrlineref ogrmerge.py ogrtindex
+
 completion:
 	PATH=$(GDAL_ROOT)/swig/python/scripts:$(GDAL_ROOT)/apps:$(PATH) python completionFinder.py gdal-bash-completion.sh
 
 install:
-	if test "x`pkg-config --version 2>/dev/null`" != "x" -a "x`pkg-config --variable=compatdir bash-completion`" != "x"; then \
-		$(INSTALL_DIR) $(DESTDIR)${prefix}`pkg-config --variable=compatdir bash-completion` ; \
-		cp gdal-bash-completion.sh $(DESTDIR)${prefix}`pkg-config --variable=compatdir bash-completion`; \
-	fi
+	$(INSTALL_DIR) $(DESTDIR)$(INST_BASH_COMPLETION) ; \
+	$(INSTALL_DATA) gdal-bash-completion.sh $(DESTDIR)$(INST_BASH_COMPLETION)/gdalinfo; \
+	for p in $(PROGRAMS); do \
+		ln -rs $(DESTDIR)$(INST_BASH_COMPLETION)/gdalinfo $(DESTDIR)$(INST_BASH_COMPLETION)/$$p; \
+	done