Re: What's cooking in git.git (Nov 2012, #03; Tue, 13)
- From
Torsten Bögershausen <tboegi@web.de>
- Date
- Nov 14, 2012, 21:13 UTC
- Message-ID
- <50A40978.2060504@web.de>
- In-Reply-To
- <20121114190228.GA3860@sigill.intra.peff.net>
On 14.11.12 20:02, Jeff King wrote:
Show 32 quoted lines
> On Tue, Nov 13, 2012 at 08:18:53PM -0500, Mark Levedahl wrote: > >> On 11/13/2012 03:45 PM, Torsten Bögershausen wrote: >>>> * ml/cygwin-mingw-headers (2012-11-12) 1 commit >>>> - Update cygwin.c for new mingw-64 win32 api headers >>>> >>>> Make git work on newer cygwin. >>>> >>>> Will merge to 'next'. >>> (Sorry for late answer, I managed to test the original patch minutes before Peff merged it to pu) >>> (And thanks for maintaining git) >>> >>> Is everybody using cygwin happy with this? >>> >>> I managed to compile on a fresh installed cygwin, >>> but failed to compile under 1.7.7, see below. >>> Is there a way we can achieve to compile git both under "old" and "new" cygwin 1.7 ? >>> Or is this not worth the effort? >>> >> I found no version info defined that could be used to automatically >> switch between the old and current headers. You can always >> >> make V15_MINGW_HEADERS=1 ... >> >> to force using the old set if you do not wish to update your installation. > > Should we keep the code change, then, but not flip the default (i.e., > make people on the newer version opt into it)? I am not clear on how > common the newer include system is. Of course, auto-detecting would be > the ideal. > > -Peff
There are a couple of things which we may want consider: a) the name V15_MINGW_HEADERS: It indicates that this is true for Version 1.5 (of what?) If I assume Cygwin version 1.5 , then this name is confusing. Even cygwin versions like 1.7.7 use the same (or similar) include files as 1.5 A better name could be CYGWIN_USE_MINGW_HEADERS (or the like) and to revert the logic.
b) Autodetection: (Just loud thinking), running $grep mingw /usr/include/w32api/winsock2.h * This file is part of the mingw-w64 runtime package. #include <_mingw_unicode.h>
on cygwin 1.7.17 indicates that we can use grep in the Makefile to autodetect the "mingw headers"
Something like this in Makefile: +ifeq ($(shell grep mingw /usr/include/w32api/winsock2.h />/dev/null 2>/dev/null && echo y),y) + CYGWIN_USE_MINGW_HEADERS=YesPlease +endif
c) I'm not sure if we want to change cygwin.c or git-compat-util.h for this.
I can prepare a proper patch within the next couple of days
/Torsten