m4: readline: Extract code setting -D_FUNCTION_DEF

The current code is a bit awkward, and we're going to need
to share it later anyway. We can drop the call to AC_SUBST()
while we're at it, since LIBVIRT_CHECK_LIB() already marks
READLINE_CFLAGS for substitution.

The new code goes to some extra length to avoid setting
-D_FUNCTION_DEF twice: this is mostly for cosmetic reasons,
and it's necessary because LIBVIRT_CHECK_READLINE() is called
twice: once on its own, and then once more as part of
LIBVIRT_CHECK_BASH_COMPLETION().

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Andrea Bolognani 2019-04-08 16:39:57 +02:00
parent a9443bc9a9
commit 9a063767f4

View File

@ -63,10 +63,18 @@ AC_DEFUN([LIBVIRT_CHECK_READLINE],[
# function, to ensure we aren't being confused by caching. # function, to ensure we aren't being confused by caching.
LIBS=$lv_saved_libs LIBS=$lv_saved_libs
AC_CHECK_LIB([readline], [rl_initialize], AC_CHECK_LIB([readline], [rl_initialize],
[READLINE_CFLAGS="-D_FUNCTION_DEF $READLINE_CFLAGS" [],
AC_SUBST(READLINE_CFLAGS)],
[READLINE_LIBS="$READLINE_LIBS $extra_LIBS"]) [READLINE_LIBS="$READLINE_LIBS $extra_LIBS"])
LIBS=$lv_saved_libs LIBS=$lv_saved_libs
# We need this to avoid compilation issues with modern compilers.
# See 9ea3424a178 for a more detailed explanation
if test "$with_readline" = "yes" ; then
case "$READLINE_CFLAGS" in
*-D_FUNCTION_DEF*) ;;
*) READLINE_CFLAGS="-D_FUNCTION_DEF $READLINE_CFLAGS" ;;
esac
fi
]) ])
AC_DEFUN([LIBVIRT_RESULT_READLINE],[ AC_DEFUN([LIBVIRT_RESULT_READLINE],[