git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 2/2] cygwin: Remove the CYGWIN_V15_WIN32API build variable
@ 2013-05-02 19:29 Ramsay Jones
  2013-05-03  8:17 ` Eric Sunshine
  0 siblings, 1 reply; 2+ messages in thread
From: Ramsay Jones @ 2013-05-02 19:29 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: GIT Mailing-list, Jonathan Nieder, mlevedahl


Commit 380a4d92 ("Update cygwin.c for new mingw-64 win32 api headers",
11-11-2012) solved an header include order problem on cygwin 1.7 when
using the new mingw-64 WIN32 API headers. The solution involved using
a new build variable (V15_MINGW_HEADERS) to conditionally compile the
cygwin.c source file to use an include order appropriate for the old
and new header files. (The build variable was later renamed in commit
9fca6cff to CYGWIN_V15_WIN32API).

The include order used for cygwin 1.7 includes the "win32.h" header
before "../git-compat-util.h". This order was problematic on cygwin
1.5, since it lead to the WIN32 symbol being defined along with the
inclusion of some WIN32 API headers (e.g. <winsock2.h>) which cause
compilation errors.

The header include order problem on cygwin 1.5 has since been fixed
(see commit "mingw: rename WIN32 cpp macro to GIT_WINDOWS_NATIVE"),
so we can now remove the conditional compilation along with the
associated CYGWIN_V15_WIN32API build variable.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
---
 Makefile         | 7 -------
 compat/cygwin.c  | 5 -----
 config.mak.uname | 1 -
 3 files changed, 13 deletions(-)

diff --git a/Makefile b/Makefile
index 0f931a2..32c49ba 100644
--- a/Makefile
+++ b/Makefile
@@ -290,10 +290,6 @@ all::
 #
 # Define NO_REGEX if you have no or inferior regex support in your C library.
 #
-# Define CYGWIN_V15_WIN32API if you are using Cygwin v1.7.x but are not
-# using the current w32api packages. The recommended approach, however,
-# is to update your installation if compilation errors occur.
-#
 # Define HAVE_DEV_TTY if your system can open /dev/tty to interact with the
 # user.
 #
@@ -1449,9 +1445,6 @@ ifdef NO_REGEX
 	COMPAT_CFLAGS += -Icompat/regex
 	COMPAT_OBJS += compat/regex/regex.o
 endif
-ifdef CYGWIN_V15_WIN32API
-	COMPAT_CFLAGS += -DCYGWIN_V15_WIN32API
-endif
 
 ifdef USE_NED_ALLOCATOR
        COMPAT_CFLAGS += -Icompat/nedmalloc
diff --git a/compat/cygwin.c b/compat/cygwin.c
index 871b41d..91ce5d4 100644
--- a/compat/cygwin.c
+++ b/compat/cygwin.c
@@ -1,14 +1,9 @@
 #define CYGWIN_C
 #define WIN32_LEAN_AND_MEAN
-#ifdef CYGWIN_V15_WIN32API
-#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 */
 
 /*
diff --git a/config.mak.uname b/config.mak.uname
index d78fd3d..28aa239 100644
--- a/config.mak.uname
+++ b/config.mak.uname
@@ -158,7 +158,6 @@ ifeq ($(uname_O),Cygwin)
 		NO_SYMLINK_HEAD = YesPlease
 		NO_IPV6 = YesPlease
 		OLD_ICONV = UnfortunatelyYes
-		CYGWIN_V15_WIN32API = YesPlease
 	endif
 	NO_THREAD_SAFE_PREAD = YesPlease
 	NEEDS_LIBICONV = YesPlease
-- 
1.8.2

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v2 2/2] cygwin: Remove the CYGWIN_V15_WIN32API build variable
  2013-05-02 19:29 [PATCH v2 2/2] cygwin: Remove the CYGWIN_V15_WIN32API build variable Ramsay Jones
@ 2013-05-03  8:17 ` Eric Sunshine
  0 siblings, 0 replies; 2+ messages in thread
From: Eric Sunshine @ 2013-05-03  8:17 UTC (permalink / raw)
  To: Ramsay Jones; +Cc: Junio C Hamano, GIT Mailing-list, Jonathan Nieder, mlevedahl

On Thu, May 2, 2013 at 3:29 PM, Ramsay Jones <ramsay@ramsay1.demon.co.uk> wrote:
> Commit 380a4d92 ("Update cygwin.c for new mingw-64 win32 api headers",
> 11-11-2012) solved an header include order problem on cygwin 1.7 when
> using the new mingw-64 WIN32 API headers. The solution involved using
> a new build variable (V15_MINGW_HEADERS) to conditionally compile the
> cygwin.c source file to use an include order appropriate for the old
> and new header files. (The build variable was later renamed in commit
> 9fca6cff to CYGWIN_V15_WIN32API).
>
> The include order used for cygwin 1.7 includes the "win32.h" header
> before "../git-compat-util.h". This order was problematic on cygwin
> 1.5, since it lead to the WIN32 symbol being defined along with the

s/lead/led/

> inclusion of some WIN32 API headers (e.g. <winsock2.h>) which cause
> compilation errors.
>
> The header include order problem on cygwin 1.5 has since been fixed
> (see commit "mingw: rename WIN32 cpp macro to GIT_WINDOWS_NATIVE"),
> so we can now remove the conditional compilation along with the
> associated CYGWIN_V15_WIN32API build variable.
>
> Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-05-03  8:17 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-02 19:29 [PATCH v2 2/2] cygwin: Remove the CYGWIN_V15_WIN32API build variable Ramsay Jones
2013-05-03  8:17 ` Eric Sunshine

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).