Subject: Re: [PATCH v3 4/4] makefile/meson: add 'check-headers' as alias for 'hdr-check'

From: [email-masked]
Date: Tue, 15 Apr 2025 14:28:47 +0100

Hi Karthik

On 14/04/2025 22:16, Karthik Nayak wrote:
> The 'hdr-check' target in Meson and makefile is used to check if headers
> can be compiled individually. The naming however isn't readable as 'hdr'
> is not a common shortforme for 'header', neither is it an abbreviation.
> 
> Let's introduce 'check-headers' as an alternative target for 'hdr-check'
> and add a `TODO` to deprecate the latter after 2 releases. Since this
> is an internal tool, we can use a shorter deprecation cycle.

Thanks for renaming this. I've left one small question at below but this 
basically looks good to me.

> diff --git a/Makefile b/Makefile
> index ac32d2d0bd..961ee508be 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -3326,8 +3326,10 @@ HCC = $(HCO:hco=hcc)
>   $(HCO): %.hco: %.hcc $(GENERATED_H) FORCE
>   	$(QUIET_HDR)$(CC) $(ALL_CFLAGS) -o /dev/null -c -xc $<
>   
> -.PHONY: hdr-check $(HCO)
> +# TODO: deprecate 'hdr-check' in lieu of 'check-headers' in Git 2.51+
> +.PHONY: hdr-check check-headers $(HCO)
>   hdr-check: $(HCO)
> +check-headers: hdr-check
>   
>   .PHONY: style
>   style:
> diff --git a/ci/run-static-analysis.sh b/ci/run-static-analysis.sh
> index 0d51e5ce0e..60c175a094 100755
> --- a/ci/run-static-analysis.sh
> +++ b/ci/run-static-analysis.sh
> @@ -26,7 +26,7 @@ then
>   	exit 1
>   fi
>   
> -make hdr-check ||
> +make check-headers ||
>   exit 1
>   
>   make check-pot
> diff --git a/meson.build b/meson.build
> index b1be2b3cbb..745cb30165 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -2062,7 +2062,9 @@ if git.found() and compiler.get_argument_syntax() == 'gcc'
>       hco_targets += hco
>     endforeach
>   
> +  # TODO: deprecate 'hdr-check' in lieu of 'check-headers' in Git 2.51+
>     alias_target('hdr-check', hco_targets)
> +  alias_target('check-headers', hco_targets)

This looks good. One minor question which isn't worth a re-roll on its 
own - in the Makefile the check-headers target depends on the hdr-check 
target which means the two will always use the same dependencies. Here 
we make check-headers depend on hco_targets instead which means that in 
theory the two targets could get out of sync if the dependencies of 
hdr-check changed. Is it possible to have a meson target that depends on 
hdr-check directly?

Best Wishes

Phillip

>   endif
>   foreach key, value : {