Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-07-07 03:04:53


> >>this problem. It now filed at
> >>
> >> http://zigzag.cs.msu.su:7814/scarab/issues/id/BB44
> >>
> >>Rene, care to take a look?
> >
> >How frustrating. Yes, I thought I fixed this. I'll look sometime today. (I
> >just got BCC55 reinstalled after the HD chaos)
>
> And even more frustrating is that it's now fixed... and not-fixed. The fix
> has different behaviour on Windows and Linux :-( As in the jamgram.h/c
> files are not removed if yacc/bison fail on Windows, but they are in Linux.
> The removal is done by Jam so this is a bug we may have to address. The
> discrepancy shouldn't cause problems for now as it's unlikely that
> yacc/bison will fail on *nix systems.

Alas, this does not really work for me. When I get a fresh checkout and retry
the steps from the issue, I see

...removing jamgram.c

and everything is messed up. Looking at source, I see:

/* If the command was interrupted or failed and the target */
/* is not "precious", remove the targets */

if( status != EXEC_CMD_OK && !( cmd->rule->actions->flags & RULE_TOGETHER ) )

and that really makes no sense to me. What's relation between RULE_TOGETHER
and "precious"? Maybe, we should just introduce "PRECIOUS" buildin, which
will prevent deletion of target if action fails?

- Volodya

 


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk