In v1.7.7.1-432-g0f77dea (Oct 24 2011; Erik Faye-Lund; mingw: move
poll out of sys-folder) poll.h was moved out of the compat/win32/sys
folder. As the change in the Makefile also affects the MSVC build,
the same must be done for poll.h in compat/vcbuild/include/sys/poll.h.
Signed-off-by: Vincent van Ravesteijn <redacted>
---
compat/vcbuild/include/poll.h | 1 +
compat/vcbuild/include/sys/poll.h | 1 -
2 files changed, 1 insertions(+), 1 deletions(-)
create mode 100644 compat/vcbuild/include/poll.h
delete mode 100644 compat/vcbuild/include/sys/poll.h
diff --git a/compat/vcbuild/include/poll.h b/compat/vcbuild/include/poll.h
new file mode 100644
index 0000000..0d8552a
--- /dev/null
+++ b/compat/vcbuild/include/poll.h
@@ -0,0 +1 @@
+/* Intentionally empty file to support building git with MSVC */
diff --git a/compat/vcbuild/include/sys/poll.h b/compat/vcbuild/include/sys/poll.h
deleted file mode 100644
index 0d8552a..0000000
--- a/compat/vcbuild/include/sys/poll.h
+++ /dev/null
@@ -1 +0,0 @@
-/* Intentionally empty file to support building git with MSVC */
--
1.7.4.1
On Fri, Nov 18, 2011 at 2:47 PM, Vincent van Ravesteijn [off-list ref] wrote:
In v1.7.7.1-432-g0f77dea (Oct 24 2011; Erik Faye-Lund; mingw: move
poll out of sys-folder) poll.h was moved out of the compat/win32/sys
folder. As the change in the Makefile also affects the MSVC build,
the same must be done for poll.h in compat/vcbuild/include/sys/poll.h.
Signed-off-by: Vincent van Ravesteijn <redacted>
---
compat/vcbuild/include/poll.h | 1 +
compat/vcbuild/include/sys/poll.h | 1 -
2 files changed, 1 insertions(+), 1 deletions(-)
create mode 100644 compat/vcbuild/include/poll.h
delete mode 100644 compat/vcbuild/include/sys/poll.h
This looks strange to me. vcbuild/include/poll.h will only prevent the
correct header from being included, while compiling an linking against
compat/win32/poll.[co]... That seems dangerous to me, because the
interface might be declared differently.
Instead, I think compat/vcbuild/include/poll.h should be removed, and
_WIN32_WINNT set to a value below 0x600. That way the poll-stuff
doesn't get pulled in by winsock2.h (as it's Vista and above only).
This was already discussed in your "[PATCHv2] Compile fix for MSVC" thread:
http://mid.gmane.org/CABPQNSaCRRRpEQPG1Mb4DovkMdQSBhHTm-i7y5M4iT+ndHX4XA@mail.gmail.com
Here's the patch that fixes it. I still can't build Junio's master,
due to sys/resource.h missing. This comes from ebae9ff ("compat: add
missing #include <sys/resource.h>"), and is only guarded against
MinGW, not MSVC...
$ git diffdiff --git a/compat/mingw.h b/compat/mingw.h
index dfb0e87..a06269d 100644
--- a/compat/mingw.h
+++ b/compat/mingw.h
@@ -1,3 +1,4 @@
+#define _WIN32_WINNT 0x0501
#include <winsock2.h>
#include <ws2tcpip.h>
diff --git a/git-compat-util.h b/git-compat-util.h
index 5ef8ff7..c52be6c 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -85,6 +85,7 @@
#define _SGI_SOURCE 1
#ifdef WIN32 /* Both MinGW and MSVC */
+#define _WIN32_WINNT 0x0501
#define WIN32_LEAN_AND_MEAN /* stops windows.h including winsock.h */
#include <winsock2.h>
#include <windows.h>
On Fri, Nov 18, 2011 at 3:09 PM, Erik Faye-Lund [off-list ref] wrote:
On Fri, Nov 18, 2011 at 2:47 PM, Vincent van Ravesteijn [off-list ref] wrote:
quoted
In v1.7.7.1-432-g0f77dea (Oct 24 2011; Erik Faye-Lund; mingw: move
poll out of sys-folder) poll.h was moved out of the compat/win32/sys
folder. As the change in the Makefile also affects the MSVC build,
the same must be done for poll.h in compat/vcbuild/include/sys/poll.h.
Signed-off-by: Vincent van Ravesteijn <redacted>
---
compat/vcbuild/include/poll.h | 1 +
compat/vcbuild/include/sys/poll.h | 1 -
2 files changed, 1 insertions(+), 1 deletions(-)
create mode 100644 compat/vcbuild/include/poll.h
delete mode 100644 compat/vcbuild/include/sys/poll.h
This looks strange to me. vcbuild/include/poll.h will only prevent the
correct header from being included, while compiling an linking against
compat/win32/poll.[co]... That seems dangerous to me, because the
interface might be declared differently.
Instead, I think compat/vcbuild/include/poll.h should be removed, and
_WIN32_WINNT set to a value below 0x600. That way the poll-stuff
doesn't get pulled in by winsock2.h (as it's Vista and above only).
This was already discussed in your "[PATCHv2] Compile fix for MSVC" thread:
http://mid.gmane.org/CABPQNSaCRRRpEQPG1Mb4DovkMdQSBhHTm-i7y5M4iT+ndHX4XA@mail.gmail.com
Here's the patch that fixes it.
Johannes Schindelin was nice enough to create a commit based on my
e-mail, feel free to pick it up and submit it:
https://github.com/msysgit/git/commit/9ca803910f3625bf686699f6b0bf71a8c68bccae
This looks strange to me. vcbuild/include/poll.h will only prevent the
correct header from being included, while compiling an linking against
compat/win32/poll.[co]... That seems dangerous to me, because the
interface might be declared differently.
Instead, I think compat/vcbuild/include/poll.h should be removed,
Yes, it should just be removed. Having poll.h in the sys directory was
wrong and the patch I sent was needed to make 0f77dea compile.
Your patch is indeed necessary to compile later revisions as well.
I still can't build Junio's master,
due to sys/resource.h missing. This comes from ebae9ff ("compat: add
missing #include<sys/resource.h>"), and is only guarded against
MinGW, not MSVC...
The fix for this is already in 'next' now. So, with your patch, 'next'
does compile.
Vincent
Op 18-11-2011 15:28, Erik Faye-Lund schreef:
On Fri, Nov 18, 2011 at 3:09 PM, Erik Faye-Lund[off-list ref] wrote:
quoted
On Fri, Nov 18, 2011 at 2:47 PM, Vincent van Ravesteijn[off-list ref] wrote:
quoted
In v1.7.7.1-432-g0f77dea (Oct 24 2011; Erik Faye-Lund; mingw: move
poll out of sys-folder) poll.h was moved out of the compat/win32/sys
folder. As the change in the Makefile also affects the MSVC build,
the same must be done for poll.h in compat/vcbuild/include/sys/poll.h.
Signed-off-by: Vincent van Ravesteijn<redacted>
---
compat/vcbuild/include/poll.h | 1 +
compat/vcbuild/include/sys/poll.h | 1 -
2 files changed, 1 insertions(+), 1 deletions(-)
create mode 100644 compat/vcbuild/include/poll.h
delete mode 100644 compat/vcbuild/include/sys/poll.h
This looks strange to me. vcbuild/include/poll.h will only prevent the
correct header from being included, while compiling an linking against
compat/win32/poll.[co]... That seems dangerous to me, because the
interface might be declared differently.
Instead, I think compat/vcbuild/include/poll.h should be removed, and
_WIN32_WINNT set to a value below 0x600. That way the poll-stuff
doesn't get pulled in by winsock2.h (as it's Vista and above only).
This was already discussed in your "[PATCHv2] Compile fix for MSVC" thread:
http://mid.gmane.org/CABPQNSaCRRRpEQPG1Mb4DovkMdQSBhHTm-i7y5M4iT+ndHX4XA@mail.gmail.com
Here's the patch that fixes it.
Johannes Schindelin was nice enough to create a commit based on my
e-mail, feel free to pick it up and submit it:
https://github.com/msysgit/git/commit/9ca803910f3625bf686699f6b0bf71a8c68bccae
I resended a patch series including this one.
Vincent