configure: Fix gperf length parameter determination
gperf is not actually a build dependency as the generated files are
shipped in the tarball. So the type depends on the gperf version on
the host that ran gperf and created the tarball, which might not be
the same as that on the actual build host, and gperf might not even
be installed there, leaving the type undetermined.
Fixes: e0e4322973
("configure: Detect type of length parameter for gperf generated function")
This commit is contained in:
parent
7dd29ab4ed
commit
0ae19f0ced
|
@ -392,7 +392,7 @@ if test -x "$GPERF"; then
|
|||
[AC_MSG_ERROR([unable to determine gperf len type])]
|
||||
)]
|
||||
)
|
||||
AC_DEFINE_UNQUOTED([GPERF_LEN_TYPE], [$GPERF_LEN_TYPE], [gperf len type])
|
||||
AC_SUBST(GPERF_LEN_TYPE)
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
oid.[ch]
|
||||
proposal_keywords_static.c
|
||||
proposal_keywords_static.[ch]
|
||||
|
|
|
@ -195,16 +195,19 @@ endif
|
|||
EXTRA_DIST = \
|
||||
asn1/oid.txt asn1/oid.pl \
|
||||
crypto/proposal/proposal_keywords_static.txt \
|
||||
crypto/proposal/proposal_keywords_static.h.in \
|
||||
plugins/plugin_constructors.py \
|
||||
Android.mk
|
||||
|
||||
BUILT_SOURCES = \
|
||||
$(srcdir)/asn1/oid.c $(srcdir)/asn1/oid.h \
|
||||
$(srcdir)/crypto/proposal/proposal_keywords_static.h \
|
||||
$(srcdir)/crypto/proposal/proposal_keywords_static.c \
|
||||
settings/settings_parser.h
|
||||
|
||||
MAINTAINERCLEANFILES = \
|
||||
$(srcdir)/asn1/oid.c $(srcdir)/asn1/oid.h \
|
||||
$(srcdir)/crypto/proposal/proposal_keywords_static.h \
|
||||
$(srcdir)/crypto/proposal/proposal_keywords_static.c
|
||||
|
||||
$(srcdir)/asn1/oid.c : $(srcdir)/asn1/oid.pl $(srcdir)/asn1/oid.txt
|
||||
|
@ -215,6 +218,12 @@ $(srcdir)/asn1/oid.h : $(srcdir)/asn1/oid.pl $(srcdir)/asn1/oid.txt
|
|||
$(AM_V_GEN) \
|
||||
(cd $(srcdir)/asn1/ && $(PERL) oid.pl)
|
||||
|
||||
$(srcdir)/crypto/proposal/proposal_keywords_static.h: $(srcdir)/crypto/proposal/proposal_keywords_static.h.in
|
||||
$(AM_V_GEN) \
|
||||
sed \
|
||||
-e "s:\@GPERF_LEN_TYPE\@:$(GPERF_LEN_TYPE):" \
|
||||
$< > $@
|
||||
|
||||
$(srcdir)/crypto/proposal/proposal_keywords_static.c: $(srcdir)/crypto/proposal/proposal_keywords_static.txt \
|
||||
$(srcdir)/crypto/proposal/proposal_keywords_static.h
|
||||
$(AM_V_GEN) \
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#include "proposal_keywords.h"
|
||||
|
||||
const proposal_token_t* proposal_get_token_static(register const char *str,
|
||||
register GPERF_LEN_TYPE len);
|
||||
register @GPERF_LEN_TYPE@ len);
|
||||
|
||||
#endif /* PROPOSAL_KEYWORDS_STATIC_H_ */
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
starter
|
||||
keywords.[ch]
|
||||
parser/lexer.c
|
||||
parser/parser.[ch]
|
||||
parser/parser.output
|
|
@ -39,14 +39,20 @@ starter_LDADD = \
|
|||
libstarter.la \
|
||||
$(SOCKLIB) $(PTHREADLIB) $(ATOMICLIB)
|
||||
|
||||
EXTRA_DIST = keywords.txt ipsec.conf ipsec.secrets Android.mk
|
||||
MAINTAINERCLEANFILES = keywords.c
|
||||
BUILT_SOURCES = keywords.c parser/parser.h
|
||||
EXTRA_DIST = keywords.h keywords.txt ipsec.conf ipsec.secrets Android.mk
|
||||
MAINTAINERCLEANFILES = keywords.h keywords.c
|
||||
BUILT_SOURCES = keywords.h keywords.c parser/parser.h
|
||||
|
||||
if USE_LOAD_WARNING
|
||||
AM_CPPFLAGS += -DLOAD_WARNING
|
||||
endif
|
||||
|
||||
keywords.h: $(srcdir)/keywords.h.in
|
||||
$(AM_V_GEN) \
|
||||
sed \
|
||||
-e "s:\@GPERF_LEN_TYPE\@:$(GPERF_LEN_TYPE):" \
|
||||
$< > $@
|
||||
|
||||
keywords.c: $(srcdir)/keywords.txt $(srcdir)/keywords.h
|
||||
$(AM_V_GEN) \
|
||||
$(GPERF) -m 10 -C -G -D -t < $(srcdir)/keywords.txt > $@
|
||||
|
|
|
@ -45,11 +45,6 @@ static const char esp_defaults[] = "aes128-sha256";
|
|||
|
||||
static const char firewall_defaults[] = IPSEC_SCRIPT " _updown iptables";
|
||||
|
||||
/**
|
||||
* Provided by GPERF
|
||||
*/
|
||||
extern const kw_entry_t *in_word_set(register const char*, register GPERF_LEN_TYPE);
|
||||
|
||||
/**
|
||||
* Process deprecated keywords
|
||||
*/
|
||||
|
|
|
@ -196,4 +196,8 @@ struct kw_entry_t {
|
|||
kw_token_t token;
|
||||
};
|
||||
|
||||
#ifndef IN_GPERF_GENERATED_FILE
|
||||
const kw_entry_t *in_word_set(register const char*, register @GPERF_LEN_TYPE@);
|
||||
#endif
|
||||
|
||||
#endif /* _KEYWORDS_H_ */
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
#include <string.h>
|
||||
|
||||
#define IN_GPERF_GENERATED_FILE
|
||||
#include "keywords.h"
|
||||
|
||||
%}
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
stroke
|
||||
stroke_keywords.[ch]
|
||||
|
|
|
@ -4,13 +4,19 @@ stroke_SOURCES = \
|
|||
stroke.c stroke_msg.h stroke_keywords.c stroke_keywords.h
|
||||
|
||||
stroke_LDADD = $(top_builddir)/src/libstrongswan/libstrongswan.la $(SOCKLIB)
|
||||
EXTRA_DIST = stroke_keywords.txt Android.mk
|
||||
BUILT_SOURCES = stroke_keywords.c
|
||||
MAINTAINERCLEANFILES = stroke_keywords.c
|
||||
EXTRA_DIST = stroke_keywords.h.in stroke_keywords.txt Android.mk
|
||||
BUILT_SOURCES = stroke_keywords.h stroke_keywords.c
|
||||
MAINTAINERCLEANFILES = stroke_keywords.h stroke_keywords.c
|
||||
AM_CPPFLAGS = \
|
||||
-I$(top_srcdir)/src/libstrongswan \
|
||||
-DIPSEC_PIDDIR=\"${piddir}\"
|
||||
|
||||
stroke_keywords.h: $(srcdir)/stroke_keywords.h.in
|
||||
$(AM_V_GEN) \
|
||||
sed \
|
||||
-e "s:\@GPERF_LEN_TYPE\@:$(GPERF_LEN_TYPE):" \
|
||||
$< > $@
|
||||
|
||||
stroke_keywords.c: $(srcdir)/stroke_keywords.txt $(srcdir)/stroke_keywords.h
|
||||
$(AM_V_GEN) \
|
||||
$(GPERF) -m 10 -D -C -G -t < $(srcdir)/stroke_keywords.txt > $@
|
||||
|
|
|
@ -73,6 +73,7 @@ typedef enum {
|
|||
|
||||
typedef struct stroke_token stroke_token_t;
|
||||
|
||||
extern const stroke_token_t* in_word_set(register const char *str, register GPERF_LEN_TYPE len);
|
||||
extern const stroke_token_t* in_word_set(register const char *str,
|
||||
register @GPERF_LEN_TYPE@ len);
|
||||
|
||||
#endif /* _STROKE_KEYWORDS_H_ */
|
Loading…
Reference in New Issue