Files
heimdal/cf/wflags.m4
2026-01-18 19:06:17 -06:00

53 lines
1.6 KiB
Plaintext

dnl $Id$
dnl
dnl set WFLAGS
AC_DEFUN([rk_WFLAGS],[
AC_ARG_ENABLE(developer,
AS_HELP_STRING([--enable-developer], [enable developer warnings]))
if test "X$enable_developer" = Xyes; then
dwflags="-Werror"
fi
AM_CONDITIONAL(DEVELOPER_MODE, test "X$enable_developer" = Xyes)
WFLAGS_NOUNUSED=""
if test -z "$WFLAGS" -a "$GCC" = "yes"; then
# leave these out for now:
# -Wcast-align doesn't work well on alpha osf/1
# -Wmissing-prototypes -Wpointer-arith -Wbad-function-cast
# -Wmissing-declarations -Wnested-externs
# -Wstrict-overflow=5
# Check if this is Clang (which also sets GCC=yes for compatibility)
if $CC --version 2>&1 | grep -qi clang; then
rk_CLANG=yes
else
rk_CLANG=no
fi
wflags="ifelse($#, 0,-Wall, $1)"
# Replace GCC-specific warning flags with Clang equivalents
if test "$rk_CLANG" = yes; then
# -Wimplicit-fallthrough removed: flex-generated code triggers it and can't be fixed
wflags=`echo "$wflags" | sed -e 's/-Wdiscarded-qualifiers/-Wignored-qualifiers/g' \
-e 's/ -Wunused-but-set-variable//g' \
-e 's/ -Wunused-const-variable//g' \
-e 's/ -Wimplicit-fallthrough//g'`
fi
WFLAGS="$wflags $dwflags"
#
# WFLAGS_LITE can be appended to WFLAGS to turn off a host of warnings
# that fail for various bits of older code in appl/. Let's not use it
# for the main libraries, though.
WFLAGS_LITE="-Wno-extra -Wno-missing-field-initializers -Wno-strict-aliasing -Wno-shadow"
# -Wno-unused-result (not supported on gcc-4.2)
fi
AC_SUBST(WFLAGS)dnl
AC_SUBST(WFLAGS_LITE)dnl
])