i686-w64-mingw32-gcc: LC_MESSAGES

Brian Inglis Brian.Inglis@SystematicSw.ab.ca
Wed Jan 9 23:41:00 GMT 2019

On 2019-01-09 12:43, Lee wrote:
> On 1/9/19, Douglas Coup  wrote:
>> On 1/9/2019 1:14 PM, Lee wrote:
>>> On 1/9/19, JonY  wrote:
>>>> On 1/8/19 9:26 PM, Lee wrote:
>>>>> http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/locale.h.html
>>>>> has a note for LC_MESSAGES:
>>>>> The functionality described is an extension to the ISO C standard. 
>>>>> Application developers may make use of an extension as it is 
>>>>> supported on all POSIX.1-2017-conforming systems.
>>>>> i686-w64-mingw32-gcc doesn't have LC_MESSAGES defined.
>>>>> Is that an oversight, something missing in windows, or .. ??
>>>> Windows MSVCR isn't POSIX nor ISO C compliant, so you shouldn't be
>>>> referring to opengroups, only against MSDN.
>>> What's a Windows MSVCR?
>>> Since the same program compiled with cygwins' gcc has LC_MESSAGES
>>> defined, I was guessing it was just a library thing and maybe it just
>>> hadn't been implemented in the mingw libraries yet.. but it sounds
>>> like it's not an oversight & Microsoft needs to support LC_MESSAGES
>>> before i686-w64-mingw32-gcc will.  Is that about right?
>> MSVCR = MicroSoft Visual C Run-time (I think)
> Meaning i686-w64-mingw32-gcc uses the Microsoft libraries vs. cygwin
> gcc using posix compliant libraries?  Implying LC_MESSAGES not being
> defined is yet another instance of Microsoft not following accepted
> standards?
> The background for my question is https://github.com/htacg/tidy-html5/issues/770
> Tidy removed the setlocale call from the library init function, so if
> users want a specific locale/language they're going to have to set it
> up themselves.
> I'd like to update the tidylib example code showing how to set the language, but
>   setlocale(LC_ALL, "");
>   tidySetLanguage( setlocale(LC_MESSAGES, NULL) );
> probably isn't a good example if LC_MESSAGES is missing on some systems.

You have to convert your messages to Windows message resources in your build,
then link and package Windows message resources with non-POSIX compliant exes,
or add a POSIX message implementation to your exes.

Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.

Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

More information about the Cygwin mailing list