enable user supplied CFLAGS

CFLAGS is initialized to the empty string in configure.ac, this
effectively turned off user supplied values for CFLAGS preventing site
specific values from being used. A further complicating factor was of
all the user supplied values documented in Automake only CFLAGS was
disabled allowing all other user supplied variables to take
effect. Some variables must be coordinated (e.g. CFLAGS with LDFLAGS),
the fact LDFLAGS was picked up from the environment but CFLAGS was
discarded caused build failures due to incompatible combination of
compiler and linker options.

The problem was first introduced in commit: 73d9c98f "Reset CFLAGS
when --enable-debugging is used". This patch simply removes hardcoding
CFLAGS to the empty string and appends the debug options
(--enable-debugging) to the existing CFLAGS.

Proper use of the variables is described in the Automake documentation
in the section "Flag Variables Ordering"
https://www.gnu.org/software/automake/manual/html_node/Flag-Variables-Ordering.html

Although the Automake documentation claims manipulating CFLAGS
directly is improper use there are many examples of this in the
existing configure.ac, this patch makes no attempt at addressing this
issue, rather it makes existing usage consistent. In the particular
case of debug flags appending to CFLAGS is probably the only valid
solution because the debug flags must appear at the end of the list of
flags in order to override earlier flags, CFLAGS always appears last
in the Makefile (see above Automake doc).

Signed-off-by: John Dennis <jdennis@redhat.com>
License: MIT
This commit is contained in:
John Dennis 2016-06-15 11:50:24 -04:00 committed by Benjamin Dauvergne
parent a71e682905
commit ed74f24155
1 changed files with 1 additions and 2 deletions

View File

@ -91,7 +91,6 @@ dnl
dnl Check for programs
dnl
AC_PROG_CC
CFLAGS=""
AM_CFLAGS=""
AC_HEADER_STDC
LT_AC_PROG_RC
@ -702,7 +701,7 @@ AC_ARG_ENABLE(debugging, [ --enable-debugging enable debuging optimizati
if test "z$enable_debugging" = "zyes" ; then
enable_debugging=yes
LASSO_DEFINES="$LASSO_DEFINES -DLASSO_DEBUG"
AM_CFLAGS="-O0 -g -Wall -Wextra -Werror"
CFLAGS="$CFLAGS -O0 -g -Wall -Wextra -Werror"
else
enable_debugging=no
fi