PATCH: derived sources and parallel builds

2000-06-19 Thread Alex Hornby
Here is a patch that allows projects using sources derived using suffix rules (corba, esql, whatever...) to be built in parallel. The initial discussion which lead to this patch is available from the list archives ( try http://sourceware.cygnus.com/ml/automake/2000-03/msg00112.html ). I basical

Re: derived sources and parallel builds

2000-03-29 Thread Alexandre Oliva
On Mar 29, 2000, Tom Tromey <[EMAIL PROTECTED]> wrote: > I'm skeptical that this approach will work :-( I still think we should revert to the old behavior of Makefile depending on BUILT_SOURCES, at the very least, as a deprecated feature, for backward compatibility. Otherwise, builds may simply

Re: derived sources and parallel builds

2000-03-29 Thread Alexandre Oliva
On Mar 29, 2000, Tom Tromey <[EMAIL PROTECTED]> wrote: >>> I'm skeptical that this approach will work :-( Alexandre> I still think we should revert to the old behavior of Alexandre> Makefile depending on BUILT_SOURCES, at the very least, as Alexandre> a deprecated feature, for backward compatibil

Re: derived sources and parallel builds

2000-03-29 Thread Tom Tromey
Alexandre> So maybe we should use a stamp file that all $(OBJECTS) Alexandre> depend upon, and that runs $(MAKE) $(BUILT_SOURCES) before Alexandre> it touches itself. It still wouldn't work in case someone Alexandre> removes one of the BUILT_SOURCES but leaves the stamp file Alexandre> around, bu

Re: derived sources and parallel builds

2000-03-29 Thread Tom Tromey
>> I'm skeptical that this approach will work :-( Alexandre> I still think we should revert to the old behavior of Alexandre> Makefile depending on BUILT_SOURCES, at the very least, as Alexandre> a deprecated feature, for backward compatibility. This only works for GNU make. So it was never a r

Re: derived sources and parallel builds

2000-03-29 Thread Tom Tromey
> "Alex" == Alex Hornby <[EMAIL PROTECTED]> writes: Alex> Do you have any hints before I dive in? Is the current CVS head Alex> a good starting point? CVS head is a good starting point. There is a HACKING file that explains some rules (which may or may not apply; I forget exactly what is in

Re: derived sources and parallel builds

2000-03-29 Thread Alex Hornby
Alexandre/Tom, If no one else is working on it I'm interested in implementing this hook functionality. Parallel builds will save me a significant amount of time. Do you have any hints before I dive in? Is the current CVS head a good starting point? TIA Alex. Alexandre Oliva writes: > On Mar

Re: derived sources and parallel builds

2000-03-22 Thread Alexandre Oliva
On Mar 22, 2000, Tom Tromey <[EMAIL PROTECTED]> wrote: > This might be the best way to go. > It is sort of a pain to implement; for each such exe we'd have to do > this: > exe: dummy >build the exe How about $(exe_OBJECTS): exe-hook -- Alexandre OlivaEnjoy GuaranĂ¡, see http:/

Re: derived sources and parallel builds

2000-03-22 Thread Tom Tromey
> "Alex" == Alex Hornby <[EMAIL PROTECTED]> writes: >> I agree it would be nice to say "build these files before doing >> anything else". That's sort of a pain with make. One idea would >> be to introduce an "all-hook" which would be run before "all". >> This solves the common problem, but

Re: derived sources and parallel builds

2000-03-22 Thread Alex Hornby
Tom Tromey writes: > > "Alex" == Alex Hornby <[EMAIL PROTECTED]> writes: > > >> How about just creating standard Makefile dependencies? > >> > >> Foo_impl.o: Foo_s.hh Foo_c.hh Foo_s.cpp Foo_c.cpp > >> Foo_impl.$(OBJEXT): Foo_s.hh Foo_c.hh Foo_s.cpp Foo_c.cpp > > Alex> That would wor

Re: derived sources and parallel builds

2000-03-21 Thread Tom Tromey
> "Alex" == Alex Hornby <[EMAIL PROTECTED]> writes: >> How about just creating standard Makefile dependencies? >> >> Foo_impl.o: Foo_s.hh Foo_c.hh Foo_s.cpp Foo_c.cpp >> Foo_impl.$(OBJEXT): Foo_s.hh Foo_c.hh Foo_s.cpp Foo_c.cpp Alex> That would work. I wanted to avoid adding dependencies ma

Re: derived sources and parallel builds

2000-03-21 Thread Alex Hornby
Alexandre Oliva writes: > On Mar 21, 2000, Alex Hornby <[EMAIL PROTECTED]> wrote: > > > I would like to ensure that Foo_[sc].hh and Foo_[sc].cpp are present > > before Foo_impl.cpp is built for the first time. > > How about just creating standard Makefile dependencies? > > Foo_impl.o: F

Re: derived sources and parallel builds

2000-03-21 Thread Alexandre Oliva
On Mar 21, 2000, Alex Hornby <[EMAIL PROTECTED]> wrote: > I would like to ensure that Foo_[sc].hh and Foo_[sc].cpp are present > before Foo_impl.cpp is built for the first time. How about just creating standard Makefile dependencies? Foo_impl.o: Foo_s.hh Foo_c.hh Foo_s.cpp Foo_c.cpp Foo_impl.$(

Re: derived sources and parallel builds

2000-03-21 Thread Tom Tromey
> "Alex" == Alex Hornby <[EMAIL PROTECTED]> writes: Alex> This is a problem as Foo_real.cpp includes Foo_derived.h. Alex> How can I get a result similar to the old BUILT_SOURCES, where Alex> the commands to produce the derived source files for a target Alex> are run _before_ the non derived

derived sources and parallel builds

2000-03-21 Thread Alex Hornby
When I perform a parallel (MAKE="gmake -j4") build for derived sources, the derived sources are not always produced before the non derived sources are built. This is a problem as Foo_real.cpp includes Foo_derived.h. Perhaps this is a make problem? I'm using gnu make 3.76.1 and automake 1.4. Ho