summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederic Martinsons <frederic.martinsons@sigfox.com>2021-01-24 15:54:18 +0100
committerFrederic Martinsons <frederic.martinsons@sigfox.com>2021-01-29 18:10:52 +0100
commit525bbb7712ae47354e5e8bebc1d752853f95f623 (patch)
tree53a411e098d233ed360c062dbc35bf45a9ade513
parent13839f75d37e218a52d12e9d0b93a04fb491818b (diff)
downloadglib-525bbb7712ae47354e5e8bebc1d752853f95f623.tar.gz
Check the completiondir from bash-completion package config file.
With bash completion version lesser than 2.10, only prefix is defined while for greater version it is datadir. Closes #1054 Signed-off-by: Frederic Martinsons <frederic.martinsons@sigfox.com>
-rw-r--r--gio/meson.build13
-rw-r--r--meson.build1
2 files changed, 13 insertions, 1 deletions
diff --git a/gio/meson.build b/gio/meson.build
index 8e039b68c..adb4b8f79 100644
--- a/gio/meson.build
+++ b/gio/meson.build
@@ -769,6 +769,17 @@ if host_system == 'windows'
endif
if have_bash
+ bash_comp_inst_dir = ''
+ if bash_comp_dep.found()
+ bash_comp_dir_override = bash_comp_dep.version().version_compare('>= 2.10') ? ['datadir', get_option('datadir')] : ['prefix', get_option('prefix')]
+ bash_comp_inst_dir = bash_comp_dep.get_pkgconfig_variable('completionsdir', define_variable: bash_comp_dir_override)
+ endif
+
+ if bash_comp_inst_dir == ''
+ message('Found bash-completion but the .pc file did not set \'completionsdir\', fallback to a predefined path')
+ bash_comp_inst_dir = join_paths(get_option('datadir'), 'bash-completion/completions')
+ endif
+
install_data([
'completion/gapplication',
'completion/gdbus',
@@ -776,7 +787,7 @@ if have_bash
'completion/gsettings',
'completion/gresource'
],
- install_dir: join_paths(get_option('datadir'), 'bash-completion/completions'))
+ install_dir: bash_comp_inst_dir)
endif
if enable_dtrace
diff --git a/meson.build b/meson.build
index d7d64118d..219236c26 100644
--- a/meson.build
+++ b/meson.build
@@ -2219,6 +2219,7 @@ endif
# Determine which user environment-dependent files that we want to install
have_bash = find_program('bash', required : false).found() # For completion scripts
+bash_comp_dep = dependency('bash-completion', version: '>=2.0', required: false)
have_sh = find_program('sh', required : false).found() # For glib-gettextize
# Some installed tests require a custom environment