[Omake] SVN Commit: OMake Build System [0.9.8.x] (Rev. 9345)

Jason Hickey jyh at cs.caltech.edu
Mon Jun 19 08:59:03 PDT 2006


Aleksey Nogin wrote:
> Also, I think that the space of reasonable options is a bit different. 
> The complete set of choices is:
> 1) whether to print the output while the command is executed
> 2) successful executions:
>    a) whether to [re]print the whole thing in a single block when it is 
> finished
> 3) failed executions:
>    a) whether to [re]print the whole thing in a single block when it is 
> finished
>    b) whether to [re]print the whole thing in a single block when OMake 
> is finished (or is in the no-op FAM loop).

It seems close.  I was mainly aiming to collapse the space into the 
"useful" modes, but we could perhaps add finer control.

--divert-only          => not 1 and 2a
--divert-repeat        => 2a+3a
--divert*              => 3b

There is a policy that output is never discarded.

> - if both (1) and (2a) are disabled, we get the "really quiet" mode, 
> where only the output of the failed commands is printed). This is good!

I worry that discarding output can be surprising.  I'm imagining some 
scenario like:

     foo: "Warning: Foo.x is defined inconsistently" (but compilation 
succeeds)
     bar: "Error: Foo.x was defined inconsistently" (compilation fails)

> - I would claim that it does not make much sense to enable (2a) without 
> (3a) (as the --divert-only will be doing according to the docs). The 
> output from the failed commands is normally more important and 
> postponing it until later only makes it impossible to start fixing bugs 
> while OMake is still running.

Otherwise, it seems the main thing missing is the ability to disable 3b 
when diversions are active.

> P.S. Also, I think that we should be more consistent in adding --no-... 
> forms to all these options. This way it's easier to make some of these 
> enabled by default in some circumstances.

I agree, I thought Lm_arg had a way to do this, but apparently Justin 
never had a chance to add it (before leaving for the the nether 
regions:).  It seems pretty easy to add.

> P.P.S. How about making "-j" imply "disable 1, enable 2a/3a" and making 
> "-k/-p/-P" imply "enable 3b"?

Seems reasonable.  Disabling 1 can be a bad idea because the prompt for 
interactive commands (like latex) disappears.

Jason

-- 
Jason Hickey                  http://www.cs.caltech.edu/~jyh
Caltech Computer Science      Tel: 626-395-6568 FAX: 626-792-4257


More information about the OMake-Devel mailing list