Re: [PATCH] Windows: Do not redefine _WIN32_WINNT
Sebastian Schuberth <sschuberth@gmail.com> writes:
Show 15 quoted lines
> On Wed, Sep 11, 2013 at 8:29 PM, Junio C Hamano <gitster@pobox.com> wrote:
>
>> This unfortunately does not seem to match what I have. I think the
>> patch is based on the codebase before these two:
>>
>> 380395d0 (mingw: rename WIN32 cpp macro to GIT_WINDOWS_NATIVE, 2013-05-02)
>> 41f29991 (msvc: Fix compilation errors caused by poll.h emulation, 2013-01-31)
>>
>> I could of course wiggle it in, if you want, but I wanted to know
>> what is going on. Is it a pre-release freeze period on your side or
>> something?
>
> That's right, I currently have a code freeze at Git 1.8.3 because I
> need to solve several other issues with Git 1.8.4 on Windows first.
> I'd be grateful if you could "wiggle it in".
It seems that compat/poll/poll.c also defines _WIN32_WINNT (but only with _MSC_VER defined). The change to git-compat-util.h in this patch avoids redefinition for both MinGW and MSVC case. Do you also need to have this, too?
Here is what I tentatively queued on top of the three from Karsten, and your "Fix stat definitions".
-- >8 --
From: Sebastian Schuberth <sschuberth@gmail.com>
Date: Wed, 11 Sep 2013 18:06:31 +0200
Subject: [PATCH] Windows: do not redefine _WIN32_WINNT
With MinGW runtime version 4.0 this interferes with the previous definition from sdkddkver.h.
Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
compat/nedmalloc/malloc.c.h | 2 ++
compat/poll/poll.c | 2 +-
git-compat-util.h | 2 +-
3 files changed, 4 insertions(+), 2 deletions(-)
Show changes to 3 files +4 −2
compat/nedmalloc/malloc.c.h, compat/poll/poll.c, git-compat-util.h
diff --git a/compat/nedmalloc/malloc.c.h b/compat/nedmalloc/malloc.c.h
index ed4f1fa..f216a2a 100644
--- a/compat/nedmalloc/malloc.c.h
+++ b/compat/nedmalloc/malloc.c.h
@@ -499,7 +499,9 @@ MAX_RELEASE_CHECK_RATE default: 4095 unless not HAVE_MMAP
#endif /* WIN32 */
#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
+#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x403
+#endif
#include <windows.h>
#define HAVE_MMAP 1
#define HAVE_MORECORE 0
diff --git a/compat/poll/poll.c b/compat/poll/poll.c
index 4410310..31163f2 100644
--- a/compat/poll/poll.c
+++ b/compat/poll/poll.c
@@ -39,7 +39,7 @@
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
# define WIN32_NATIVE
-# if defined (_MSC_VER)
+# if defined (_MSC_VER) && !defined(_WIN32_WINNT)
# define _WIN32_WINNT 0x0502
# endif
# include <winsock2.h>
diff --git a/git-compat-util.h b/git-compat-util.h
index 9549de6..7776f12 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -86,7 +86,7 @@
#define _SGI_SOURCE 1
#if defined(WIN32) && !defined(__CYGWIN__) /* Both MinGW and MSVC */
-# if defined (_MSC_VER)
+# if defined (_MSC_VER) && !defined(_WIN32_WINNT)
# define _WIN32_WINNT 0x0502
# endif
#define WIN32_LEAN_AND_MEAN /* stops windows.h including winsock.h */
--
1.8.4-469-g57f7e3a