Browse Source

Update cygwin.c for new mingw-64 win32 api headers

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.

Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
maint
Mark Levedahl 12 years ago committed by Jeff King
parent
commit
380a4d927b
  1. 4
      Makefile
  2. 7
      compat/cygwin.c

4
Makefile

@ -1086,6 +1086,7 @@ ifeq ($(uname_O),Cygwin) @@ -1086,6 +1086,7 @@ ifeq ($(uname_O),Cygwin)
NO_SYMLINK_HEAD = YesPlease
NO_IPV6 = YesPlease
OLD_ICONV = UnfortunatelyYes
V15_MINGW_HEADERS = YesPlease
endif
NO_THREAD_SAFE_PREAD = YesPlease
NEEDS_LIBICONV = YesPlease
@ -1893,6 +1894,9 @@ ifdef NO_REGEX @@ -1893,6 +1894,9 @@ ifdef NO_REGEX
COMPAT_CFLAGS += -Icompat/regex
COMPAT_OBJS += compat/regex/regex.o
endif
ifdef V15_MINGW_HEADERS
COMPAT_CFLAGS += -DV15_MINGW_HEADERS
endif

ifdef USE_NED_ALLOCATOR
COMPAT_CFLAGS += -Icompat/nedmalloc

7
compat/cygwin.c

@ -1,6 +1,13 @@ @@ -1,6 +1,13 @@
#define WIN32_LEAN_AND_MEAN
#ifdef V15_MINGW_HEADERS
#include "../git-compat-util.h"
#include "win32.h"
#else
#include <sys/stat.h>
#include <sys/errno.h>
#include "win32.h"
#include "../git-compat-util.h"
#endif
#include "../cache.h" /* to read configuration */

static inline void filetime_to_timespec(const FILETIME *ft, struct timespec *ts)

Loading…
Cancel
Save