|
Boost-Build : |
Subject: Re: [Boost-build] naive usage of bootstrap.sh
From: Vladimir Prus (vladimir.prus_at_[hidden])
Date: 2016-10-25 05:20:33
On 24-Oct-16 11:51 PM, Stefan Seefeld wrote:
>>> At the very least I think bootstrap.sh should not accept options such as
>>> --with... or --without...
>>
>> Why? Again, maybe nobody cares any longer, but I think it was requested
>> by some folks some time ago? Could you suggest a criteria which options
>> should be accepted and which not?
>>
>> If bootstrap.sh is made to accept no options, to to pass all options
>> to b2, then we'd have too add an option to b2 to save the passed options
>> for future use.
>
> So you are saying that `./bootstrap.sh <options> && ./b2` and
> `./bootstrap.sh && ./b2 <options>` are strictly equivalent (modulo the
> fact that the latter won't save the options) ? I think that's worth
> documenting clearly.
Not quite; I said "If bootstrap.sh is made", so that's a conditional
clause - it's not entirely true now, and I was suggesting that maybe
your confusion is due to the fact that bootstrap.sh has some options
that are identical to b2 options, but not 100% equivalent.
> Other than that, I think it's a matter of separating concerns: the
> "bootstrap.sh" script is concerned with generating (compiling) the build
> tool for the given platform, while "b2" invokes the build. Configuring
> the the build is (in my mind at least) a concern of the build tool,
> rather than the tool that builds the build tool. Coming from the
> autotools world with its separation of "configure" and "make" I can see
> the appeal of separating the two, but given that it's b2's job to do
> some configure checks, I simply found it confusing that bootstrap.sh
> would have any business with configuring, too.
The above plan would make boostrap.sh a pure 'build-b2-if-not-present'
wrapper over b2, so hopefully will address your concerns?
- 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