configure: fix default location for fish completions

Fish defines a vendor completions directory for completions that are not
installed as part of the fish project itself, and the vendor completions
are preferred if they exist. This prevents trying to overwrite the
builtin curl.fish completion (or creating file conflicts in distro
packaging).

Prefer the pkg-config defined location exported by fish, if it can be
found, and fall back to the correct directory defined by most systems.

Closes #3723
Reviewed-by: Daniel Gustafsson
This commit is contained in:
Eli Schwartz 2019-04-02 20:43:29 -04:00 committed by Daniel Gustafsson
parent ab5a6cf603
commit 55734f3a27
1 changed files with 6 additions and 1 deletions

View File

@ -3479,7 +3479,12 @@ case "$OPT_FISH_FPATH" in
;;
default|yes)
dnl --with-fish-functions-dir option used without path
FISH_FUNCTIONS_DIR="$datarootdir/fish/completions"
CURL_CHECK_PKGCONFIG(fish)
if test "$PKGCONFIG" != "no" ; then
FISH_FUNCTIONS_DIR="$($PKGCONFIG --variable completionsdir fish)"
else
FISH_FUNCTIONS_DIR="$datarootdir/fish/vendor_completions.d"
fi
AC_SUBST(FISH_FUNCTIONS_DIR)
;;
*)