aboutsummaryrefslogtreecommitdiffstats
path: root/src/stroke
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2017-09-26 12:23:36 +0200
committerTobias Brunner <tobias@strongswan.org>2017-10-02 17:21:42 +0200
commit0ae19f0ced8d64bb6996a8ae01406cebacff04a1 (patch)
treec49a71a1b8cc792445798f774d6f4322aaf4ffd0 /src/stroke
parent7dd29ab4ed5f1a233b3c63f1f3504434aef4997f (diff)
downloadstrongswan-0ae19f0ced8d64bb6996a8ae01406cebacff04a1.tar.bz2
strongswan-0ae19f0ced8d64bb6996a8ae01406cebacff04a1.tar.xz
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: e0e43229736a ("configure: Detect type of length parameter for gperf generated function")
Diffstat (limited to 'src/stroke')
-rw-r--r--src/stroke/.gitignore1
-rw-r--r--src/stroke/Makefile.am12
-rw-r--r--src/stroke/stroke_keywords.h.in (renamed from src/stroke/stroke_keywords.h)3
3 files changed, 12 insertions, 4 deletions
diff --git a/src/stroke/.gitignore b/src/stroke/.gitignore
index 26c37a4a8..b6bf920c3 100644
--- a/src/stroke/.gitignore
+++ b/src/stroke/.gitignore
@@ -1 +1,2 @@
stroke
+stroke_keywords.[ch]
diff --git a/src/stroke/Makefile.am b/src/stroke/Makefile.am
index ed170bd08..e55e2030f 100644
--- a/src/stroke/Makefile.am
+++ b/src/stroke/Makefile.am
@@ -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 > $@
diff --git a/src/stroke/stroke_keywords.h b/src/stroke/stroke_keywords.h.in
index 51caba68b..2b5780adc 100644
--- a/src/stroke/stroke_keywords.h
+++ b/src/stroke/stroke_keywords.h.in
@@ -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_ */