Subject: Re: [PATCH v2] Makefile: avoid breaking compilation database generation with DEVELOPER

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Thu, 23 Sep 2021 04:08:29 +0200

On Wed, Sep 22 2021, Carlo Arenas wrote:

> On Wed, Sep 22, 2021 at 6:41 PM brian m. carlson
> <[email-masked]> wrote:
>
>> > diff --git a/Makefile b/Makefile
>> > index 9df565f27b..d5c6d0ea3b 100644
>> > --- a/Makefile
>> > +++ b/Makefile
>> > @@ -1302,7 +1302,7 @@ GENERATE_COMPILATION_DATABASE = no
>> >  endif
>> >
>> >  ifeq ($(GENERATE_COMPILATION_DATABASE),yes)
>> > -compdb_check = $(shell $(CC) $(ALL_CFLAGS) \
>> > +compdb_check = $(shell $(CC) \
>> >       -c -MJ /dev/null \
>> >       -x c /dev/null -o /dev/null 2>&1; \
>> >       echo $$?)
>>
>> Are you sure this results in a functional set of files?
>
> no; it does not
>
> This call is only meant to be used to check if your compiler supports
> the feature (which as Ævar points out[1], might not be the best thing
> to do in this case), though
>
> After this fix the files are being generated (in a different place
> with their expected flags) and look healthy, but would be helpful to
> know you see no regressions.

I had the same thought as brian, but you're right, since we never use
the result of this it's OK.

IOW this check is really functionally equivalent to something like:

    cc --help | grep -q -F -- -MJ

Or whatever, i.e. we're just checking if it's clang & supports the -MJ
option.

> [1] https://lore.kernel.org/git/[email-masked]/