Boost logo

Boost-Build :

From: Liam Routt (caligari_at_[hidden])
Date: 2005-09-26 18:36:02


Vladimir Prus wrote:
> On Monday 26 September 2005 14:56, David Abrahams wrote:
> > Vladimir Prus <ghost_at_[hidden]> writes:
> > > Hi Liam,
> > >
> > >> I'm interested in using bjam's new (or newish, I don't know, I'm new to
> > >> jam itself) SHELL builtin rule.
> > >>
> > >> I'm using bjam as jam (so without the BoostBuild functionality), and I
> > >> find that the jam v1 compatibility rules overwrite the SHELL builtin
> > >> with the Shell rule for dealing with shell scripts.
> >
> > How is that possible? The SHELL builtin is a variable, not a rule,
> > IIRC.
>
> No:
> rule Shell
> {
...
> }
>
> But then, it's "Shell", not "SHELL", so I'd think that "SHELL" should be still
> usable.

But later on:

# Backwards compatibility with jam 1, where rules were uppercased.

rule SHELL { Shell $(<) : $(>) ; }

Which is the rule that blocks the builtin. I've confirmed that as long
as I load Jambase I get the "Shell" rule when I invoke the builtin as:

result = [ SHELL ls ] ;

But if I load in a version without the compatibility line I'm fine.

I'm tossing up whether to 1) patch the jambase.c file and compile our
own derivative of boost-jam for this project, or 2) use -f ourbase.jam.
The first option seems like overkill, but the second option requires a
command line argument for each use of jam, which bites.

Take care,

Liam

--
Liam Routt Ph: (03) 8344-1315
Research Programmer caligari_at_[hidden]
Computer Science, Melbourne University (or liam_at_[hidden])
 

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