This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Patch: automatic dependencies for gcc
>>>>> "Ralf" == Ralf Wildenhues <Ralf.Wildenhues@gmx.de> writes:
>> -@item GNU make version 3.79.1 (or later)
>> +@item GNU make version 3.80 (or later)
Ralf> Do you check this at build time?
No.
Ralf> It seems that 3.79.1 errors out when it sees '|' in dependencies, so
Ralf> I guess there is no problem concerning silent failure.
Yeah.
Ralf> I forgot one more thing here. If gcc is interrupted, it may leave an
Ralf> incomplete dependency file here, which can lead to make erroring out
Ralf> next time (make won't remove the .Po file upon interrupt, as it's not
Ralf> listed as target). You could use $(*D)/$(DEPDIR)/$(*F).Tpo and a
Ralf> subsequent mv to *.Po as automake does.
Thanks. I'll look into this.
I suspect we ought to fix gcc as well, though I'm concerned about
compatibility. It seems weird to have a bunch of -M* options
specifically added for this automake feature, and then have to work
around an oddity. Perhaps we could add yet another -M option to
finesse the compatibility problem... and I guess add another special
case to automake. I dunno.
Ralf> Another thing: have you tried a parallel (make -jN) build with this on a
Ralf> multi-way system?
Yes, I've done a number of -j4 bootstraps on the compile farm machine
gcc11. That is a 4 CPU x86-64 machine.
Even so I managed to omit a needed dependency which was caught only by
Geoff's tester :(
Ralf> Yet another thing: you removed this from objcp/Make-lang.in:
Thanks. I will fix this shortly.
I'm doing yet another build to try to reproduce it first.
Tom