configure: Don't make shell completions without perl

The code that attempted to skip building the shell completions didn't
work properly and tried to build them even if perl wasn't available.
This step, as well as the install step, is now properly skipped without
perl.

Follow-up to 89733e2dd

Closes #13022
This commit is contained in:
Dan Fandrich 2024-02-29 23:38:22 -08:00
parent 2cd78f525c
commit 0f7aba83cc

View File

@ -40,16 +40,16 @@ $(ZSH_COMPLETION_FUNCTION_FILENAME): completion.pl
if CROSSCOMPILING if CROSSCOMPILING
@echo "NOTICE: we can't generate zsh completion when cross-compiling!" @echo "NOTICE: we can't generate zsh completion when cross-compiling!"
else # if not cross-compiling: else # if not cross-compiling:
@if ! test -x "$(PERL)"; then echo "No perl: can't install completion script"; exit 0; fi if test -z "$(PERL)"; then echo "No perl: can't install completion script"; else \
$(PERL) $(srcdir)/completion.pl --curl $(top_builddir)/src/curl$(EXEEXT) --shell zsh > $@ $(PERL) $(srcdir)/completion.pl --curl $(top_builddir)/src/curl$(EXEEXT) --shell zsh > $@ ; fi
endif endif
$(FISH_COMPLETION_FUNCTION_FILENAME): completion.pl $(FISH_COMPLETION_FUNCTION_FILENAME): completion.pl
if CROSSCOMPILING if CROSSCOMPILING
@echo "NOTICE: we can't generate fish completion when cross-compiling!" @echo "NOTICE: we can't generate fish completion when cross-compiling!"
else # if not cross-compiling: else # if not cross-compiling:
@if ! test -x "$(PERL)"; then echo "No perl: can't install completion scriptl"; exit 0; fi if test -z "$(PERL)"; then echo "No perl: can't install completion script"; else \
$(PERL) $(srcdir)/completion.pl --curl $(top_builddir)/src/curl$(EXEEXT) --shell fish > $@ $(PERL) $(srcdir)/completion.pl --curl $(top_builddir)/src/curl$(EXEEXT) --shell fish > $@ ; fi
endif endif
install-data-local: install-data-local:
@ -57,11 +57,15 @@ if CROSSCOMPILING
@echo "NOTICE: we can't install completion scripts when cross-compiling!" @echo "NOTICE: we can't install completion scripts when cross-compiling!"
else # if not cross-compiling: else # if not cross-compiling:
if USE_ZSH_COMPLETION if USE_ZSH_COMPLETION
$(MKDIR_P) $(DESTDIR)$(ZSH_FUNCTIONS_DIR) if test -n "$(PERL)"; then \
$(INSTALL_DATA) $(ZSH_COMPLETION_FUNCTION_FILENAME) $(DESTDIR)$(ZSH_FUNCTIONS_DIR)/$(ZSH_COMPLETION_FUNCTION_FILENAME) $(MKDIR_P) $(DESTDIR)$(ZSH_FUNCTIONS_DIR); \
$(INSTALL_DATA) $(ZSH_COMPLETION_FUNCTION_FILENAME) $(DESTDIR)$(ZSH_FUNCTIONS_DIR)/$(ZSH_COMPLETION_FUNCTION_FILENAME) ; \
fi
endif endif
if USE_FISH_COMPLETION if USE_FISH_COMPLETION
$(MKDIR_P) $(DESTDIR)$(FISH_FUNCTIONS_DIR) if test -n "$(PERL)"; then \
$(INSTALL_DATA) $(FISH_COMPLETION_FUNCTION_FILENAME) $(DESTDIR)$(FISH_FUNCTIONS_DIR)/$(FISH_COMPLETION_FUNCTION_FILENAME) $(MKDIR_P) $(DESTDIR)$(FISH_FUNCTIONS_DIR); \
$(INSTALL_DATA) $(FISH_COMPLETION_FUNCTION_FILENAME) $(DESTDIR)$(FISH_FUNCTIONS_DIR)/$(FISH_COMPLETION_FUNCTION_FILENAME) ; \
fi
endif endif
endif endif