build: don't change CFLAGS from configure.ac

If configure.ac automatically adds compiler flags to CFLAGS, it
becomes hard to override one of them for a specific target because
CFLAGS is added last. It is better to use AM_CFLAGS. See [1].

[1] https://www.gnu.org/software/automake/manual/html_node/Flag-Variables-Ordering.html
This commit is contained in:
Beniamino Galvani 2018-09-04 10:25:19 +02:00
parent d0c32a15a5
commit 51776b297e
2 changed files with 8 additions and 7 deletions

View File

@ -1043,7 +1043,7 @@ else
more_logging_default=no
fi
NM_COMPILER_WARNINGS(CFLAGS, ${more_warnings_default})
NM_COMPILER_WARNINGS(AM_CFLAGS, ${more_warnings_default})
NM_COMPILER_FLAG(LIBSYSTEMD_NM_CFLAGS, "-Wno-gnu-variable-sized-type-not-at-end")
AC_SUBST(LIBSYSTEMD_NM_CFLAGS)
@ -1051,7 +1051,7 @@ AC_SUBST(LIBSYSTEMD_NM_CFLAGS)
CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
-fno-strict-aliasing \
])
CFLAGS="$CFLAGS $with_cflags"
AM_CFLAGS="$AM_CFLAGS $with_cflags"
AC_ARG_ENABLE(more-asserts,
AS_HELP_STRING([--enable-more-asserts],
@ -1248,6 +1248,7 @@ fi
AM_CONDITIONAL(BUILD_DOCS, test "$build_docs" = "yes")
AM_CONDITIONAL(HAVE_DOCS, test "$build_docs" = "yes" -o "$use_pregen_docs" = "yes")
AC_SUBST(AM_CFLAGS)
AC_CONFIG_FILES([
Makefile

View File

@ -31,7 +31,7 @@ AC_DEFUN([NM_COMPILER_FLAG], [
dnl Check whether a particular warning is not emitted with code provided,
dnl append an option to disable the warning to a specified variable if the check fails.
dnl NM_COMPILER_WARNING([ENV-VAR], [C-SNIPPET], [WARNING]])
dnl NM_COMPILER_WARNING([ENV-VAR], [WARNING], [C-SNIPPET])
AC_DEFUN([NM_COMPILER_WARNING], [
_NM_COMPILER_FLAG([-W$2], [$3], [eval "AS_TR_SH([$1])='$$1 -W$2'"], [eval "AS_TR_SH([$1])='$$1 -Wno-$2'"])
])
@ -47,10 +47,10 @@ if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
dnl This is enabled in clang by default, makes little sense,
dnl and causes the build to abort with -Werror.
CFLAGS_SAVED="$$1"
eval "AS_TR_SH([$1])='$$1 -Qunused-arguments'"
AC_COMPILE_IFELSE([AC_LANG_SOURCE([])], [], eval "AS_TR_SH([$1])='$CFLAGS_SAVED'")
unset CFLAGS_SAVED
CFLAGS_SAVED="$CFLAGS"
CFLAGS="$CFLAGS -Qunused-arguments"
AC_COMPILE_IFELSE([AC_LANG_SOURCE([])], eval "AS_TR_SH([$1])='$$1 -Qunused-arguments'", [])
CFLAGS="$CFLAGS_SAVED"
dnl clang only warns about unknown warnings, unless
dnl called with "-Werror=unknown-warning-option"