From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: "Carlo Marcelo Arenas Belón" <carenas@gmail.com>
Cc: git@vger.kernel.org, t.gummerer@gmail.com, pclouds@gmail.com,
jonathantanmy@google.com
Subject: Re: [PATCH 2/3] Makefile: avoid multiple -Wall in CFLAGS
Date: Tue, 28 Sep 2021 11:19:24 +0200 [thread overview]
Message-ID: <87wnn1vxh8.fsf@evledraar.gmail.com> (raw)
In-Reply-To: <20210928091054.78895-3-carenas@gmail.com>
On Tue, Sep 28 2021, Carlo Marcelo Arenas Belón wrote:
> 6163f3f1a4 (config.mak.dev: add -Wall, primarily for -Wformat, to help
> autoconf users, 2018-10-12) adds a second -Wall in config.mak.dev to
> workaround the lack of one from config.mak.autogen.
>
> Since 6d5d4b4e93 (Makefile: allow for combining DEVELOPER=1 and
> CFLAGS="...", 2019-02-22), that variable is set instead as part of
> DEVELOPER_FLAGS which won't be overriden by config.mak.autogen, so
> it can be safely removed from config.mak.dev if set instead in the
> Makefile.
>
> This also has the advantage of separating cleanly CFLAGS which are
> used for building with the ones that provide with diagnostics.
>
> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
> ---
> Makefile | 3 ++-
> config.mak.dev | 1 -
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 9df565f27b..963b9e7c6b 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1200,7 +1200,8 @@ endif
> # Set CFLAGS, LDFLAGS and other *FLAGS variables. These might be
> # tweaked by config.* below as well as the command-line, both of
> # which'll override these defaults.
> -CFLAGS = -g -O2 -Wall
> +CFLAGS = -g -O2
> +DEVELOPER_CFLAGS = -Wall
> LDFLAGS =
> CC_LD_DYNPATH = -Wl,-rpath,
> BASIC_CFLAGS = -I.
> diff --git a/config.mak.dev b/config.mak.dev
> index c81be62a5c..90c47d2782 100644
> --- a/config.mak.dev
> +++ b/config.mak.dev
> @@ -6,7 +6,6 @@ ifeq ($(filter no-error,$(DEVOPTS)),)
> DEVELOPER_CFLAGS += -Werror
> SPARSE_FLAGS += -Wsparse-error
> endif
> -DEVELOPER_CFLAGS += -Wall
> ifeq ($(filter no-pedantic,$(DEVOPTS)),)
> DEVELOPER_CFLAGS += -pedantic
> ifneq ($(filter clang4 gcc5,$(COMPILER_FEATURES)),)
This really breaks things for anyone who's relying on specifing CFLAGS
now to clobber the default -Wall configuration, e.g. on both xlc and aCC
after this:
xlc: 1501-289 (W) Option -Wall was incorrectly specified. The option will be ignored.
cc: error 1914: bad form for `-W' option
I.e. they didn't work before, but I've got CFLAGS="-g -O0" for both in
my build scripts, so they didn't get -Wall before, but now they do, so
I'll need:
CFLAGS=<that> DEVELOPER_CFLAGS=
And in my own dev setup I do in config.mak: "CFLAGS=-g -O0", and then
rely on config.mak.dev to set -Wall, but if I did e.g.:
DEVELOPER= CFLAGS="-g -O0 -Wall"
I'd end up with -Wall twice, gcc doesn't complain, but maybe some other
toolchains do.
For the former case this seems like a really odd and leaky interface
since I don't have DEVELOPER=1. Let's leave DEVOPTS, DEVELOPER_CFLAGS
etc. etc. only in effect for anyone who turns on that option.
Anyway, I don't think it's a no-go to make a change in this direction,
and while it would break builds for some perhaps the end result is worth
it. I haven't really looked closely enough at the Makefile logic you're
untangling to form an opinion on it.
But I think this needs to at least have
s/DEVELOPER_CFLAGS/WARNING_CFLAGS/g or something.
But not to saddle you with an impossible task, wouldn't this whole thing
be much easier if we included config.mak* before setting our own CFLAGS
etc. defaults? But of course that would break for anyone relying on "+="
working, so I don't know.
next prev parent reply other threads:[~2021-09-28 9:52 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-28 9:10 [PATCH 0/3] Makefile: tighten pedantic flag Carlo Marcelo Arenas Belón
2021-09-28 9:10 ` [PATCH 1/3] Makefile: restrict -Wpedantic and -Wno-pedantic-ms-format better Carlo Marcelo Arenas Belón
2021-09-28 11:46 ` Ævar Arnfjörð Bjarmason
2021-09-28 23:39 ` Junio C Hamano
2021-09-28 9:10 ` [PATCH 2/3] Makefile: avoid multiple -Wall in CFLAGS Carlo Marcelo Arenas Belón
2021-09-28 9:19 ` Ævar Arnfjörð Bjarmason [this message]
2021-09-28 11:03 ` Carlo Arenas
2021-09-28 21:19 ` Junio C Hamano
2021-09-28 23:22 ` Carlo Arenas
2021-09-29 4:08 ` Junio C Hamano
2021-09-28 9:10 ` [PATCH 3/3] config.mak.dev: simplify compiler check for multiple compilers Carlo Marcelo Arenas Belón
2021-09-28 12:07 ` Ævar Arnfjörð Bjarmason
2021-09-28 21:30 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87wnn1vxh8.fsf@evledraar.gmail.com \
--to=avarab@gmail.com \
--cc=carenas@gmail.com \
--cc=git@vger.kernel.org \
--cc=jonathantanmy@google.com \
--cc=pclouds@gmail.com \
--cc=t.gummerer@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.