Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2007-10-17 10:48:14


on Wed Oct 17 2007, Larry Evans <cppljevans-AT-cox-internet.com> wrote:

> On 10/16/07 22:06, Larry Evans wrote:
>> On 10/16/07 16:44, David Abrahams wrote:
>>> on Tue Oct 16 2007, Larry Evans <cppljevans-AT-cox-internet.com> wrote:
>> [snip]
>>>> But this would require the user to understand the flags for all the
>>>> compilers that are targeted. Bjam saves the users this chore by
>>>> providing a uniform name for all these flags.
>>> Doug's layer does that for any flags that aren't portable in practice
>>> (i.e. I don't think he did anything for -D and -I).
>>>
>> You're right. I see it in the options call below:
>>
>> http://svn.boost.org/trac/boost/browser/sandbox-branches/boost-cmake/boost_1_34_0/CMakeLists.txt#L51
>>
>> Thanks.
>
> Hmm..., but how does cmake know what options are valid for a *new*
> compiler, such as Doug's variadic template compiler.

You need to code it up, just as you have to write toolset code for
BBv2. In Doug's stuff, IIRC, there's an imperative if/then/else
statement that checks the compiler and does the flag translation. The
really ugly part about this is that all the specific info about every
compiler we'll support is glommed together into one file, so you can't
just drop in a new file to add support for a new tool. I'm sure that
can be overcome, but I it shows that Doug's code will need substantial
structural work before it is ongoingly maintainable as Boost's build
system.

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

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