Subject: Re: [PATCH 0/8] Some build system improvements

From: Junio C Hamano <[email-masked]>
Date: Tue, 10 Mar 2026 11:23:32 -0700

Patrick Steinhardt <[email-masked]> writes:

> Patrick Steinhardt (8):
>       Introduce new "tools/" directory
>       contrib: move "coccinelle/" directory into "tools/"

Even though "make coccicheck" may not care where the coccinelle
stuff lives, if this step changes the location of the resulting
coccinelle-generated patch in the tree, it will have fallouts to
developer workflows.  The blast radius may be limited, as those
other than Git developers will be hurt, though.

I mention this to forewarn others early, but I do not have a strong
objection against this step; at least not yet, even though I may
change my mind if the fallout turns out to be greater than I
anticipated.

>       contrib: move "coverage-diff.sh" script into "tools/"
>       contrib: move "update-unicode.sh" script into "tools/"
>       builds: move build scripts into "tools/"
>       git-compat-util.h: move warning infra to prepare for PCHs
>       meson: compile compatibility sources separately
>       meson: precompile "git-compat-util.h"
>
>  Makefile                                           | 76 ++++++++---------
>  ci/run-static-analysis.sh                          |  2 +-
>  config.mak.dev                                     |  2 +-
>  contrib/buildsystems/CMakeLists.txt                | 18 ++--
>  contrib/meson.build                                |  1 -
>  contrib/subtree/meson.build                        |  2 +-
>  git-compat-util.h                                  |  8 +-
>  meson.build                                        | 96 +++++++++++++---------
>  tools/README.md                                    |  7 ++
>  check-builtins.sh => tools/check-builtins.sh       |  0
>  {contrib => tools}/coccinelle/.gitignore           |  0
>  {contrib => tools}/coccinelle/README               |  2 +-
>  {contrib => tools}/coccinelle/array.cocci          |  0
>  {contrib => tools}/coccinelle/commit.cocci         |  0
>  .../coccinelle/config_fn_ctx.pending.cocci         |  0
>  {contrib => tools}/coccinelle/equals-null.cocci    |  0
>  {contrib => tools}/coccinelle/flex_alloc.cocci     |  0
>  {contrib => tools}/coccinelle/free.cocci           |  0
>  .../coccinelle/git_config_number.cocci             |  0
>  {contrib => tools}/coccinelle/hashmap.cocci        |  0
>  .../coccinelle/index-compatibility.cocci           |  0
>  {contrib => tools}/coccinelle/meson.build          |  0
>  {contrib => tools}/coccinelle/object_id.cocci      |  0
>  {contrib => tools}/coccinelle/preincr.cocci        |  0
>  {contrib => tools}/coccinelle/qsort.cocci          |  0
>  {contrib => tools}/coccinelle/refs.cocci           |  0
>  {contrib => tools}/coccinelle/spatchcache          |  6 +-
>  {contrib => tools}/coccinelle/strbuf.cocci         |  0
>  {contrib => tools}/coccinelle/swap.cocci           |  0
>  {contrib => tools}/coccinelle/tests/free.c         |  0
>  {contrib => tools}/coccinelle/tests/free.res       |  0
>  {contrib => tools}/coccinelle/the_repository.cocci |  0
>  {contrib => tools}/coccinelle/xcalloc.cocci        |  0
>  {contrib => tools}/coccinelle/xopen.cocci          |  0
>  .../coccinelle/xstrdup_or_null.cocci               |  0
>  {contrib => tools}/coccinelle/xstrncmpz.cocci      |  0
>  {contrib => tools}/coverage-diff.sh                |  0
>  detect-compiler => tools/detect-compiler           |  0
>  generate-cmdlist.sh => tools/generate-cmdlist.sh   |  0
>  .../generate-configlist.sh                         |  0
>  generate-hooklist.sh => tools/generate-hooklist.sh |  0
>  generate-perl.sh => tools/generate-perl.sh         |  0
>  generate-python.sh => tools/generate-python.sh     |  0
>  generate-script.sh => tools/generate-script.sh     |  0
>  tools/meson.build                                  |  1 +
>  tools/precompiled.h                                |  1 +
>  {contrib => tools}/update-unicode/.gitignore       |  0
>  {contrib => tools}/update-unicode/README           |  0
>  .../update-unicode/update_unicode.sh               |  0
>  49 files changed, 123 insertions(+), 99 deletions(-)
>
>
> ---
> base-commit: af2c8a61818d773325ef2324dd135786a03ebca0
> change-id: 20260304-b4-pks-build-infra-improvements-cc4012c5364e