%% "Markus Mauhart" <[EMAIL PROTECTED]> writes:

  >> Anyway, it looks like g->changed is just a boolean flag, its value is
  >> tested in remake.c to be either zero or non-zero.  So, unless I'm
  >> missing something, the offending line can be modified to say:
  >>   g-> changed = commands_started - ocommands_started;

  mm> or ... = (commands_started != ocommands_started)

Assuming changed is just a boolean flag and not a count, this latter is
the right way to go.

  mm> So 2 issues from my tests remain open:

  mm> 1) "-j someNumber" propagates to recursive $(MAKE) only via a
  mm> (simple) trick, but this trick also disables gmake's builtin "load
  mm> balancing" for tree's of sub-MAKE's (not a problem for my test's
  mm> simple tree with on trivial root and exactly one child).

Until the jobserver is implemented on Windows, the current behavior is
the best you can do; it's what make always used to do before the
jobserver.

  mm> 2) "-j noNumber"

The documented and expected behavior with "-j" (no argument) is that it
will create as many items in parallel as possible--where "possible" is
defined by dependency relationships and not by system resources.  That's
what "unlimited" means :-).

However, it shouldn't crash, obviously.  Does it die on UNIX?  I didn't
think there were any arrays of jobs anywhere in the UNIX code, and
certainly not any fixed-size arrays.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <[EMAIL PROTECTED]>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.paulandlesley.org
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist


_______________________________________________
Make-w32 mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/make-w32

Reply via email to