diff options
author | Mike Gilbert <floppymaster@gmail.com> | 2017-01-10 02:39:05 -0500 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2017-05-06 16:39:36 -0400 |
commit | 3384b776817808f01979ce192603d0c901391fd4 (patch) | |
tree | 941b7dda05e4a3d4f5d1bfb52122ee0d16ebda05 /configure.ac | |
parent | 6a2346a433c6ba1e372d270a4b3a5c62f431038a (diff) |
build-sys: add check for gperf lookup function signature (#5055)
gperf-3.1 generates lookup functions that take a size_t length
parameter instead of unsigned int. Test for this at configure time.
Fixes: https://github.com/systemd/systemd/issues/5039
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 1928e65bde..5c639e32d4 100644 --- a/configure.ac +++ b/configure.ac @@ -258,6 +258,28 @@ AC_CHECK_SIZEOF(rlim_t,,[ #include <sys/resource.h> ]) +GPERF_TEST="$(echo foo,bar | ${GPERF} -L ANSI-C)" + +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([ + #include <string.h> + const char * in_word_set(const char *, size_t); + $GPERF_TEST] + )], + [GPERF_LEN_TYPE=size_t], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([ + #include <string.h> + const char * in_word_set(const char *, unsigned); + $GPERF_TEST] + )], + [GPERF_LEN_TYPE=unsigned], + [AC_MSG_ERROR([** unable to determine gperf len type])] + )] +) + +AC_DEFINE_UNQUOTED([GPERF_LEN_TYPE], [$GPERF_LEN_TYPE], [gperf len type]) + # ------------------------------------------------------------------------------ # we use python to build the man page index have_python=no |