git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Sep 23, 2021, 01:41 UTC
Message-ID
<YUvbU9HX6JA+MKd0@camp.crustytoothpaste.net>
In-Reply-To
<20210922185702.4328-1-carenas@gmail.com>
On 2021-09-22 at 18:57:02, Carlo Marcelo Arenas Belón wrote:
Show 32 quoted lines
> 3821c38068 (Makefile: add support for generating JSON compilation
> database, 2020-09-03), adds a feature to be used with clang to generate
> a compilation database by copying most of what was done before with the
> header dependency, but by doing so includes on its availability check
> the CFLAGS which became specially problematic once DEVELOPER=1 implied
> -pedantic as pointed out by Ævar[1].
> 
> Remove the unnecessary flags in the availability test, so it will work
> regardless of which other warnings are enabled or if the compiler has
> been told to error on them.
> 
> [1] https://lore.kernel.org/git/patch-1.1-6b2e9af5e67-20210922T103749Z-avarab@gmail.com/
> 
> Helped-by: Eric Sunshine <sunshine@sunshineco.com>
> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
> ---
>  Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> 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? As I understand it, the reason that clangd needs these files is because it needs to know what include arguments and headers are supposed to be used, since C programs don't have a standard layout. In this case, it looks like you're removing all of the -I arguments, so in that case clangd wouldn't be able to find all the files it's supposed to.

Of course, if I've misunderstood, and somehow we get those arguments elsewhere, that's fine, but I just want to be sure we don't regress the behavior.

-- 
brian m. carlson (he/him or they/them)
Toronto, Ontario, CA
Previous: Philippe BlainNext: Carlo Arenas
Message 5 of 8 in “Makefile: avoid breaking compilation database generation with DEPELOPER”
  1. Makefile: avoid breaking compilation database generation with DEPELOPERCarlo Marcelo Arenas Belón, Sep 22, 2021
  2. Eric SunshineSep 22, 2021
  3. Makefile: avoid breaking compilation database generation with DEVELOPERCarlo Marcelo Arenas Belón, Sep 22, 2021
  4. Philippe BlainSep 22, 2021
  5. brian m. carlsonSep 23, 2021
  6. Carlo ArenasSep 23, 2021
  7. Ævar Arnfjörð BjarmasonSep 23, 2021
  8. Ævar Arnfjörð BjarmasonSep 23, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.