[PATCH v2 1/6] scripts/gen-sorted.awk: Also emit the subdirectory dependency edges

Sam James sam@gentoo.org
Fri Jul 3 10:49:21 GMT 2026


Adhemerval Zanella <adhemerval.zanella@linaro.org> writes:

> gen-sorted.awk collects the inter-subdirectory dependencies from the
> Depend files and the sysdeps Subdirs 'first' directives, but only uses
> them to compute the flattened sorted-subdirs list.
>
> This change also emit the raw edges as subdir-deps-<dir> make variables
> so the parent makefile can express the same ordering as explicit
> dependencies between the per-subdirectory recursion targets and run
> independent subdirectories in parallel.
>
> For instance, on x86_64-linux-gnu build the 'sysd-sorted' now shows:
>
>   [...]
>   subdir-deps-assert += iconvdata
>   subdir-deps-assert += localedata
>   subdir-deps-catgets += intl
>   subdir-deps-debug += localedata
>   subdir-deps-iconvdata += iconv
>   subdir-deps-iconvdata += localedata
>   subdir-deps-intl += iconvdata
>   subdir-deps-intl += localedata
>   subdir-deps-libio += localedata
>   subdir-deps-localedata += locale
>   [...]
> ---

Reviewed-by: Sam James <sam@gentoo.org>

>  scripts/gen-sorted.awk | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/scripts/gen-sorted.awk b/scripts/gen-sorted.awk
> index f207f9ace12..9b74a5e3151 100755
> --- a/scripts/gen-sorted.awk
> +++ b/scripts/gen-sorted.awk
> @@ -108,5 +108,11 @@ END {
>    }
>    printf "%s\n", saw_elf ? " elf" : "";
>  
> +  # Also emit the raw dependency edges so the parent makefile can
> +  # parallelize the subdirectory recursion while preserving the
> +  # relative ordering the Depend files request.
> +  for (i = 0; i < dnt; ++i)
> +    printf "subdir-deps-%s += %s\n", from[i], to[i];
> +
>    print "sysd-sorted-done := t"
>  }
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 418 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/libc-alpha/attachments/20260703/3cf29783/attachment.sig>


More information about the Libc-alpha mailing list