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.
