|
Boost : |
Subject: Re: [boost] [build] Default compiler options for a toolset
From: Edward Diener (eldiener_at_[hidden])
Date: 2013-11-21 01:20:33
On 11/20/2013 6:29 PM, Steven Watanabe wrote:
> AMDG
>
> On 11/20/2013 02:33 PM, Edward Diener wrote:
>>
>> I just can't figure out how to override it in the clang-win.jam file so
>> that it does not pass an '/EH(x)' setting to clang-cl. It is Boost
>> Build/bjam voodoo which to me is unnecessarily complicated but to Boost
>> Build developers must be as clear as air.
>>
>
> The system isn't designed for this. toolset.flags only
> allows options to be added. They can't be removed.
>
> It is possible to fix the flags manually, but it's
> a hack:
> rule compile.c++ ( targets * : sources * : properties * )
> {
> C++FLAGS on $(targets) = [ set.difference
> [ on $(targets[1]) return $(C++FLAGS) ] :
> /EHs ] ;
> }
>
Bravo ! Your "hack" above works correctly and the /EHs option has been
eliminated. The clang output now looks much better. I had to do an
'import set ;' but it works fine.
>> The major showstopper still with clang using VC++ RTL on Windows is that
>> clang-cl does not support RTTI, meaning it always gives an error
>> whenever a compile includes 'typeinfo' ( or 'typeinfo.h' ). But that is
>> another problem which a bug fix should eventually solve.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk