This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: i686-w64-mingw32-gcc: LC_MESSAGES


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]