This is the mail archive of the cygwin-patches@cygwin.com 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: [Mingw-users] Re: WINVER constant value [WAS: GetConsoleWindow]


On Fri, Sep 06, 2002 at 05:42:24AM +0200, Oscar Fuentes wrote:
>But I think MinGW must not be a drop-in replacement for MSVC.

We aren't talking about just MinGW, though.  Several projects use these
header files.

I'd be interested in hearing your rationale for not making MinGW a
drop-in replacement for MSVC, though.  It seems like there are frequent
discussions about how to arrange things in the header files so that
they closely mimic the layout used by MSVC.  I'm sure I can easily
find examples of this in the email archives.

(maybe that's a discussion just for the mingw mailing list)

Obviously gcc itself is not a complete drop-in replacement for msvc
but we really don't have much control over that.

It seems inconsistent to be lax in this instance.

>If you think it should be, the logic way is to mimic MSVC on every
>possible detail.
>
>The argument about "Why can't MinGW find X API function" is not
>valid. Everyone who programs on Win32 *must* know that different
>Windows versions have different APIs, so if someone can't figure out
>the existence of WINVER, you are doing him a favor by forcing him to
>learn about it.

I've used the "for their own good" line of reasoning myself many times
in the cygwin project but I think I have, more often than not,
eventually reverted to fixing things so that they cause the minimal
amount of end-user confusion.

I think the bottom line is not that we should teach people for their own
good as much as not violate the principle of least surprise.  I honestly
don't know what would be the least surprising in this case, but I
suspect that most people would probably be less surprised by the MSVC
behavior.

cgf


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