Boost logo

Boost-Build :

From: K. Noel Belcourt (kbelco_at_[hidden])
Date: 2008-04-23 10:22:01


Hi Volodya,

On Apr 22, 2008, at 10:49 PM, Vladimir Prus wrote:

> On Wednesday 23 April 2008 03:32:45 K. Noel Belcourt wrote:
>> The attached patch fixes these undefined symbols
>>
>> __ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj
>> __ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj
>>
>> when building with the intel-darwin toolset. The fix just defines -
>> D__WINT_TYPE__=int to match the behavior of the darwin toolset.
>
> What does this macro affect?

It changes the char_traits for wchar_t to use an int rather than an
unsigned int. The objective is to match the name mangling of the
darwin toolset.

> Is the intel-darwin compiler always
> requires that macro to work?

It will be required for all intel-darwin toolsets until the Intel
10.2 compilers become available on MacOS. At some point, I was going
to add logic to the intel-darwin init rule to conditionally add this
macro definition for any intel-darwin toolset versions less than 10.2.

>> I
>> realize this patch is unorthodox in that it patches the c and c++
>> build actions but this approach seems simpler than adding a new macro
>> to Boost.config and going that route. I'm all ears if someone has a
>> better idea on how to patch this.
>
> I don't think we should bother with anything else, if this macro
> should
> really be always defined. But in that case, I'd prefer to see a
> comment
> explaining why it's so, so that in future nobody remove this setting.

Yeah, I need to document it for sure. I was in a hurry to get it
committed last night before the tests ran.

-- Noel


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