Boost logo

Boost-Build :

From: mdrumheller (drumheller_at_[hidden])
Date: 2004-10-26 15:31:03


--- In jamboost_at_[hidden], Vladimir Prus <ghost_at_c...> wrote:
> On Monday 25 October 2004 20:27, mdrumheller wrote:
> > I have a question about the rules for quotation marks
> > on the bjam command line. In my reading of the Jam
> > documentation, I cannot find anything that tells me
> > whether the correct way to specify multiple options
> > (e.g., when running the 'install' target) is like this
> > % bjam "-sOPTION1=foo -sOPTION2=bar" install
> > or like this
> > % bjam "-sOPTION1=foo" "-sOPTION2=bar" install
> > It could be me--maybe I'm just missing something--but
> > I think it would be nice of the documentation were
> > very loud and clear about this.
> > Thanks,
> > Mike D.
>
> Hi,
> I believe the quotation marks have nothing to do with Jam --
> they are processed by command shell and Jam does not even
> get them.
> You should consult docs for your shell. On Linux that's "man
> bash". On Windows, I don't have an exact reference, but I
> written a rant on the topic:
>
> http://vladimir_prus.blogspot.com/2004/07/windows-command-
line.html
>
> Concerning your example, both usages are the same. And you
> can drop quotation marks as well.
>
> - Volodya

Thank you. Let me see if I understand your last sentence.
I am pretty familiar with the manner in which command-line-
invoked programs get passed their arguments, on most systems,
and I do not know of any shell that would break up a quoted
string, so my question is still really about the arguments that
bjam sees, not about what the shell sees. In the first case
bjam receives an argv array, or the moral equivalent thereof,
containing the following three (3) elements:
"bjam"
"-sOPTION1=foo -sOPTION2=bar"
"install"
and in the second case bjam's argv contains these four (4) elements:
"bjam"
"-sOPTION1=foo"
"-sOPTION2=bar"
"install"
You seem to be saying that bjam is designed to expect, and reconcile,
this kind of ambiguity, and will consider these two argv arrays
to be equivalent. Right?

Whether this is true or not, I think my original point stands: the
documentation should be utterly unambiguous about it--and it should
include examples illustrating bjam's insensitivity to this issue--
and it currently does not.
Thanks,
Mike D.

 


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