Run gperf with --output-file instead of output redirection

When missing gperf, the redirection generates an empty file, which must
be manually removed after gperf has been installed. This is difficult
to diagnose, as the produced build error is cryptic.

Use --output-file of gperf instead to avoid creating an empty file if
gperf is missing. This still requires the user to re-run ./configure
after installing gperf, though.
This commit is contained in:
Martin Willi 2019-07-15 07:43:06 +02:00 committed by Tobias Brunner
parent 9543a771dd
commit c0d5c6553a
3 changed files with 6 additions and 4 deletions

View File

@ -236,8 +236,8 @@ $(srcdir)/crypto/proposal/proposal_keywords_static.h: $(srcdir)/crypto/proposal/
$(srcdir)/crypto/proposal/proposal_keywords_static.c: $(srcdir)/crypto/proposal/proposal_keywords_static.txt \
$(srcdir)/crypto/proposal/proposal_keywords_static.h
$(AM_V_GEN) \
$(GPERF) -N proposal_get_token_static -m 10 -C -G -c -t -D < \
$(srcdir)/crypto/proposal/proposal_keywords_static.txt > $@
$(GPERF) -N proposal_get_token_static -m 10 -C -G -c -t -D \
--output-file=$@ $<
if STATIC_PLUGIN_CONSTRUCTORS
BUILT_SOURCES += $(srcdir)/plugin_constructors.c

View File

@ -54,7 +54,8 @@ keywords.h: $(srcdir)/keywords.h.in
keywords.c: $(srcdir)/keywords.txt keywords.h
$(AM_V_GEN) \
$(GPERF) -m 10 -C -G -D -t < $(srcdir)/keywords.txt > $@
$(GPERF) -m 10 -C -G -D -t \
--output-file=$@ $<
install-exec-local :
test -e "$(DESTDIR)${sysconfdir}/ipsec.d" || $(INSTALL) -d "$(DESTDIR)$(sysconfdir)/ipsec.d" || true

View File

@ -19,4 +19,5 @@ stroke_keywords.h: $(srcdir)/stroke_keywords.h.in
stroke_keywords.c: $(srcdir)/stroke_keywords.txt stroke_keywords.h
$(AM_V_GEN) \
$(GPERF) -m 10 -D -C -G -t < $(srcdir)/stroke_keywords.txt > $@
$(GPERF) -m 10 -D -C -G -t \
--output-file=$@ $<