As Rom wrote, I fixed the Mac issue by manually adding HAVE_XLOCALE_H to 
mac_build/config.h, because neither the Mac builds nor the Windows builds use 
configure / make.  

I noticed that Rom later removed the references to HAVE_XLOCALE_H, which 
puzzled me.  This is the first I have heard of anything else. I now see below 
that Rom wrote:
>>> I was just pressed for time on getting the next build out, so I just
>>> reverted it until we could properly address it.

Regarding this:
>> We should ask Charlie if he can put the define somewhere else...

Rom, which define are you talking about?  This is the first I have heard about 
any of this.

Cheers,
--Charlie

On Feb 2, 2013, at 7:06 AM, Maxime Villard wrote:

> Hi,
> I did not hear news from Rom Walton about the locale support.
> Here is a patch and a part of the conversation.
> 
> OK/Comments? Charlie?
> 
> ---
> 
> Le 12/01/2013 21:05, Maxime Villard a écrit :
>> Le 11/01/2013 18:49, Rom Walton a écrit :
>>>> What did my patch break for Windows, Mac, and Linux?
>>> Windows does not have the xlocale.h header nor was the HAVE_XLOCALE_H
>>> symbol defined, apparently some flavors of Linux were missing it as well
>>> (or it wasn't properly detected by configure).  The think Charlie fixed
>>> things on the Mac by just manually defining HAVE_XLOCALE_H in
>>> mac_build/config.h, but it was not clear to me at the time if that made
>>> it into the client of not.
>>> 
>>> We just need to reorder that chunk of code.  Ideally the Windows stuff
>>> should be outside the HAVE_XLOCALE_H symbol and configure should be and
>>> to detect xlocale.h on BSD and Linux.  It might just be that an
>>> additional package needs to be installed on Linux.
>>> 
>>> I was just pressed for time on getting the next build out, so I just
>>> reverted it until we could properly address it.
>>> 
>>> ----- Rom
>> 
>> -- Linux
>> Ah! I found the issue you're talking about. Configure didn't fail, it's
>> just that config.h is not included in AsyncRPC.cpp, so NO_PER_THREAD_LOCALE
>> can never be defined.
>> 
>> -- Mac
>> NO_PER_THREAD_LOCALE is defined in gui_rpc_client.h, that way:
>> 
>> #if defined(__APPLE__) && (MAC_OS_X_VERSION_MIN_REQUIRED < 
>> MAC_OS_X_VERSION_10_4) && (!defined(BUILDING_MANAGER))
>> #define NO_PER_THREAD_LOCALE 1
>> #endif
>> 
>> Ideally, it should be in config.h or somewhere else, so that in AsyncRPC.cpp
>> we can change the first check to this:
>> 
>> #if !(defined(_WIN32) || (defined(__WXMAC__) && 
>> (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4)))
>>    && !defined(NO_PER_THREAD_LOCALE)
>> 
>> to avoid including <xlocale.h> as it is not available on all systems.
>> 
>> -- OpenBSD
>> With above changes, it works.
>> 
>> We should ask Charlie if he can put the define somewhere else...
>> 
> <AsyncRPC.diff>_______________________________________________
> boinc_dev mailing list
> [email protected]
> http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
> To unsubscribe, visit the above URL and
> (near bottom of page) enter your email address.

_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to