On Fri, 16 Sept 2022 at 19:49, Sergei Trofimovich <sly...@gmail.com> wrote:
>
> From: Sergei Trofimovich <siarh...@google.com>
>
> i386-builtin-types.inc is included indirectly via i386-builtins.h
> into 4 files: i386.cc i386-builtins.cc i386-expand.cc i386-features.cc
>
> Only i386.cc dependency was present in gcc/config/t-i386 makefile.
>
> As a result parallel builds occasionally fail as:
>
>     g++ ... -o i386-builtins.o ... 
> ../../gcc-13-20220911/gcc/config/i386/i386-builtins.cc
>     In file included from 
> ../../gcc-13-20220911/gcc/config/i386/i386-builtins.cc:92:
>     ../../gcc-13-20220911/gcc/config/i386/i386-builtins.h:25:10:
>      fatal error: i386-builtin-types.inc: No such file or directory
>        25 | #include "i386-builtin-types.inc"
>           |          ^~~~~~~~~~~~~~~~~~~~~~~~
>     compilation terminated.
>     make[3]: *** [../../gcc-13-20220911/gcc/config/i386/t-i386:54: 
> i386-builtins.o]
>       Error 1 shuffle=1663349189
>
> gcc/
>         * config/i386/t-i386: Add build-time dependencies against
>         i386-builtin-types.inc to i386-builtins.o, i386-expand.o,
>         i386-features.o.
> ---
>  gcc/config/i386/t-i386 | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/gcc/config/i386/t-i386 b/gcc/config/i386/t-i386
> index 4e2a0efc615..ffdbbdfe8ce 100644
> --- a/gcc/config/i386/t-i386
> +++ b/gcc/config/i386/t-i386
> @@ -62,7 +62,12 @@ i386-features.o: $(srcdir)/config/i386/i386-features.cc
>         $(COMPILE) $<
>         $(POSTCOMPILE)
>
> +# i386-builtin-types.inc is included into i386-builtins.h.
> +# Below are direct users of i386-builtins.h:
>  i386.o: i386-builtin-types.inc
> +i386-builtins.o: i386-builtin-types.inc
> +i386-expand.o: i386-builtin-types.inc
> +i386-features.o: i386-builtin-types.inc
>
>  i386-builtin-types.inc: s-i386-bt ; @true
>  s-i386-bt: $(srcdir)/config/i386/i386-builtin-types.awk \
> --
> 2.37.2
>

Is it a reasonable approach? Maybe gcc has an equivalent of automake's
BUILT_SOURCES to avoid explicit tracking of such dependencies?

-- 
Sergei

Reply via email to