git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Update cygwin.c for new mingw-64 win32 api headers

From
Mark Levedahl <mlevedahl@gmail.com>
Date
Nov 12, 2012, 21:39 UTC
Message-ID
<CAK2bgnXLnKmnVwzE5U_1qZueUdj-QaT23f-iFmhJyRto3tWnhA@mail.gmail.com>
In-Reply-To
<20121112205832.GI4623@sigill.intra.peff.net>
On Mon, Nov 12, 2012 at 3:58 PM, Jeff King <peff@peff.net> wrote:
Show 34 quoted lines
> On Sun, Nov 11, 2012 at 07:17:20PM -0500, Mark Levedahl wrote:
>
>> The cygwin project recently switched to a new implementation of the
>> windows api, now using header files from the mingw-64 project. These
>> new header files are incompatible with the way cygwin.c included the
>> old headers: cygwin.c can be compiled using the new or the older (mingw)
>> headers, but different files must be included in different order for each
>> to work. The new headers are in use only for the current release series
>> (based upon the v1.7.x dll version). The previous release series using
>> the v1.5 dll is kept available but unmaintained for use on older versions
>> of Windows. So, patch cygwin.c to use the new include ordering only if
>> the dll version is 1.7 or higher.
>
> I have very little knowledge of cygwin compatibility, so thanks for a
> nice explanation.  I'll queue it in 'pu' for now, and hopefully we can
> get some test reports from other cygwin folks (on new and old cygwin).
>
>> diff --git a/Makefile b/Makefile
>> index f69979e..1cc5d96 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -1082,6 +1082,7 @@ ifeq ($(uname_O),Cygwin)
>>               NO_SYMLINK_HEAD = YesPlease
>>               NO_IPV6 = YesPlease
>>               OLD_ICONV = UnfortunatelyYes
>> +             V15_MINGW_HEADERS = YesPlease
>>       endif
>
> The "if" part of the conditional that did not make it into the context
> above is an expr match for "1.6.*" From the name, I would think that we
> would want to use these headers on cygwin 1.5.* , too. Is v1.5 too old
> to care about now?
>
> -Peff
The opening if expression is:
    ifeq ($(shell expr "$(uname_R)" : '1\.[1-6]\.'),4)
which I believe matches any version below 1.7. 1.5 is what is released
opensource, 1.6 is (or was) available as a supported product from
redhat. So, I think the stanza is ok as is.
Mark
Previous: Jeff KingNext: Jeff King
Message 3 of 4 in “Update cygwin.c for new mingw-64 win32 api headers”
  1. Update cygwin.c for new mingw-64 win32 api headersMark Levedahl, Nov 12, 2012
  2. Jeff KingNov 12, 2012
  3. Mark LevedahlNov 12, 2012
  4. Jeff KingNov 12, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.