Hi Alex, (Back from a few days away)
> On 27 Jun 2017, at 21:50, Alexandre Oliva <aol...@redhat.com> wrote: > >> I don't quite understand this: we're using the same prerequisite as target >> libraries, e.g. all-target-libstdc++-v3 or all-target-libbacktrace > > Not quite. Target libraries have deps on e.g. target-libgcc, look below > the following comments in Makefile.in: > > # Dependencies for target modules on other target modules are > # described by lang_env_dependencies; the defaults apply to anything > # not mentioned there. > > plus, maybe-configure*-target-libgcc depend on maybe-all*-gcc (see above > those comments). The precise deps vary per bootstrap level, or > non-bootstrap. > > But after the proposed patch there are no such deps for libcc1 in the > bootstrap case, so we might very well attempt to build libcc1 in > parallel with gcc. We shouldn't do that. > > But then, it all works out because we only build all-host after > bootstrap is complete; all-stage* doesn't depend on libcc1 at all. I think I see. [...] > So, would you like to give the automatic figuring out of > non-bootstrap-on-bootstrap deps in dependencies, and guard them between > @if gcc-no-bootstrap and @endif (then both configure- and all- libcc1 > deps would be adjusted this way)? (I'm not saying it should be trivial > to do or anything like that; I'm not all that familiar with it and I'd > have to figure it out myself if I were to do it, but I think that would > be better than adding yet another means of introducing dependencies, > while leaving another risky dep in place) I'm willing to study this more and see what can be done to improve things further. There are still a few details I don't quite grasp so it'll just take a bit of time. Thanks a lot for the additional set of extensive comments! With Kind Regards, Olivier