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...
> 
diff --git a/clientgui/AsyncRPC.cpp b/clientgui/AsyncRPC.cpp
index 8c5dcd8..e717a11 100644
--- a/clientgui/AsyncRPC.cpp
+++ b/clientgui/AsyncRPC.cpp
@@ -19,6 +19,7 @@
 #pragma implementation "AsyncRPC.h"
 #endif
 
+#include "config.h"
 #include "stdwx.h"
 #include "BOINCGUIApp.h"
 #include "MainDocument.h"
@@ -30,7 +31,8 @@
 #include "DlgEventLog.h"
 #include "util.h"
 
-#if !(defined(_WIN32) || (defined(__WXMAC__) && (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4)))
+#if !(defined(_WIN32) || (defined(__WXMAC__) && (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4))) \
+    && !defined(NO_PER_THREAD_LOCALE)
 #include <xlocale.h>
 #include "gui_rpc_client.h"
 #endif
_______________________________________________
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