configure: Fix building with clang

Building the current code with clang and the latest gnulib fails due to
the use of a variable-length-array (vla) warning, which turns in to an
error due to the presence of the -Werror during the build.

The gnulib team stated that their code should not be built with -Werror.

At present, the only way to do this is for the complete code-base, by
using the --disable-werror option to configure.

Rather than doing this, and failing to gain any benefit that it provides,
instead, if building with clang, this patch makes it possible to specifically
not error on vlas, while retaining the -Werror functionality otherwise.

Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
Darren Kenny 2022-10-21 13:33:00 +00:00 committed by Daniel Kiper
parent 8505f73003
commit 30641d4501

View File

@ -1939,6 +1939,10 @@ AC_ARG_ENABLE([werror],
if test x"$enable_werror" != xno ; then
TARGET_CFLAGS="$TARGET_CFLAGS -Werror"
HOST_CFLAGS="$HOST_CFLAGS -Werror"
if test "x$grub_cv_cc_target_clang" = xyes; then
TARGET_CFLAGS="$TARGET_CFLAGS -Wno-error=vla"
HOST_CFLAGS="$HOST_CFLAGS -Wno-error=vla"
fi
fi
TARGET_CPP="$TARGET_CC -E"