Subject: Re: [PATCH] Makefile: make COMPUTE_HEADER_DEPENDENCIES=auto work with DEVOPTS=pedantic

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Wed, 22 Sep 2021 13:04:48 +0200

On Wed, Sep 22 2021, Carlo Arenas wrote:

> On Wed, Sep 22, 2021 at 3:38 AM Ævar Arnfjörð Bjarmason
> <[email-masked]> wrote:
>>
>> The "COMPUTE_HEADER_DEPENDENCIES" feature added in [1] was extended to
>> use auto-detection in [2]. Then when -Wpedantic support was added to
>> DEVOPTS in [3] we started passing -Wpedantic in combination with
>> -Werror to the compiler here.
>
> It is my impression though that header dependencies computation is
> something that might only work in gcc and clang (because of its gcc
> compatibility), so shouldn't this be restricted to those compilers
> instead of forcing all others to error?

I think it's better to just have those not supporting
COMPUTE_HEADER_DEPENDENCIES define that, wanting to auto-detect things
is what led to the current breakage.

I.e. our whitelisting of GCC and Clang will be out of date if some other
compiler grows support for this, and even if we whitelist gcc and clang
we'll need some script like detect-compiler etc.

> Also, why is this process run with DEVELOPER=1 to begin with, if we
> obviously don't need/want any compilations warnings?

Hrm? We run the COMPUTE_HEADER_DEPENDENCIES=yes process with and without
DEVELOPER=1, it's just that DEVELOPER=1 breaks it since it turns on
pedantic compilation flags now.

We want -Werror for the actual compilation under DEVELOPER=1, but a
one-off command to see if a compiler has support for something is
entirely different.