Boost logo

Boost-Build :

From: Larry Evans (cppljevans_at_[hidden])
Date: 2007-10-17 12:38:08


On 10/17/07 09:48, David Abrahams wrote:
> 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.

AFAICT, it's here:

http://svn.boost.org/trac/boost/browser/sandbox-branches/boost-cmake/boost_1_34_0/tools/build/CMake/BoostConfig.cmake

This code looks like the translation of some options (e.g. the threading
options ) are just a function of CMAKE_SYSTEM_NAME, not
CMAKE_CXX_COMPILER. I'd expected the options translation to also depend
on BOOST_TOOLSET, but maybe Doug hasn't gotten around to doing that.

> 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.
>

Yep :(


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