Merge branch 'rj/mingw-cygwin'
authorJunio C Hamano <gitster@pobox.com>
Tue, 11 Jun 2013 20:30:20 +0000 (13:30 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 11 Jun 2013 20:30:20 +0000 (13:30 -0700)
Update build for Cygwin 1.[57]. Torsten Bögershausen reports that
this is fine with Cygwin 1.7 ($gmane/225824) so let's try moving it
ahead.

* rj/mingw-cygwin:
cygwin: Remove the CYGWIN_V15_WIN32API build variable
mingw: rename WIN32 cpp macro to GIT_WINDOWS_NATIVE

12 files changed:
Makefile
abspath.c
compat/cygwin.c
compat/terminal.c
compat/win32.h
config.mak.uname
diff-no-index.c
git-compat-util.h
help.c
run-command.c
test-chmtime.c
thread-utils.c
index a748133ae51515a2e08bb2dfc0f731d96abda8df..03524d022c3bea71a71d736214c07a8667d625d8 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -297,10 +297,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.
 #
@@ -1476,9 +1472,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
index 40cdc46219d4eba87ba947d9f5556eb80dfdfa9b..64adbe2a1b5e5679fb0dc772452b4aca1865ee4c 100644 (file)
--- a/abspath.c
+++ b/abspath.c
@@ -216,7 +216,7 @@ const char *absolute_path(const char *path)
 const char *prefix_filename(const char *pfx, int pfx_len, const char *arg)
 {
        static char path[PATH_MAX];
-#ifndef WIN32
+#ifndef GIT_WINDOWS_NATIVE
        if (!pfx_len || is_absolute_path(arg))
                return arg;
        memcpy(path, pfx, pfx_len);
index 871b41d23a7471724a0446ff3333b577a175c579..91ce5d4c7ad2c04abbcbbf146f3123867fd4d1bb 100644 (file)
@@ -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 */
 
 /*
index 9b5e3d1bb8fe0adafb78721c09caff5b165dbf40..313897d581f0c5f2eae4d09b82d6ff8b98a21ea4 100644 (file)
@@ -3,7 +3,7 @@
 #include "sigchain.h"
 #include "strbuf.h"
 
-#if defined(HAVE_DEV_TTY) || defined(WIN32)
+#if defined(HAVE_DEV_TTY) || defined(GIT_WINDOWS_NATIVE)
 
 static void restore_term(void);
 
@@ -53,7 +53,7 @@ static int disable_echo(void)
        return -1;
 }
 
-#elif defined(WIN32)
+#elif defined(GIT_WINDOWS_NATIVE)
 
 #define INPUT_PATH "CONIN$"
 #define OUTPUT_PATH "CONOUT$"
index 8ce91048deffc17bdf8d51672ddaa0c867052ac5..a97e880757b6f1328fea90371da8f857648e6923 100644 (file)
@@ -2,7 +2,7 @@
 #define WIN32_H
 
 /* common Win32 functions for MinGW and Cygwin */
-#ifndef WIN32         /* Not defined by Cygwin */
+#ifndef GIT_WINDOWS_NATIVE     /* Not defined for Cygwin */
 #include <windows.h>
 #endif
 
index 53540075883b15040ebdfce1403e6145532a6cc5..7ac541e9ebbe77b339846d8efafdd0b6f33fee95 100644 (file)
@@ -159,7 +159,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
index 74da659368e4db67715a9c81dc7a5e0edcd3bcce..e66fdf33da9e3dd3da561aadffec938e6bc2ad49 100644 (file)
@@ -45,7 +45,7 @@ static int get_mode(const char *path, int *mode)
 
        if (!path || !strcmp(path, "/dev/null"))
                *mode = 0;
-#ifdef _WIN32
+#ifdef GIT_WINDOWS_NATIVE
        else if (!strcasecmp(path, "nul"))
                *mode = 0;
 #endif
index aa0404ef418410905c3dfa7c88a8700cf41c6110..ff193f4aa236727cc9b87ddbaeac1975b8c40fa7 100644 (file)
 #define _NETBSD_SOURCE 1
 #define _SGI_SOURCE 1
 
-#ifdef WIN32 /* Both MinGW and MSVC */
+#if defined(WIN32) && !defined(__CYGWIN__) /* Both MinGW and MSVC */
 # if defined (_MSC_VER)
 #  define _WIN32_WINNT 0x0502
 # endif
 #define WIN32_LEAN_AND_MEAN  /* stops windows.h including winsock.h */
 #include <winsock2.h>
 #include <windows.h>
+#define GIT_WINDOWS_NATIVE
 #endif
 
 #include <unistd.h>
diff --git a/help.c b/help.c
index bebfce96e637fe2444fb8bd13f69c3d9cc147dd2..08c54ef1c1669edce960c52948b80340c36eb119 100644 (file)
--- a/help.c
+++ b/help.c
@@ -107,7 +107,7 @@ static int is_executable(const char *name)
            !S_ISREG(st.st_mode))
                return 0;
 
-#if defined(WIN32) || defined(__CYGWIN__)
+#if defined(GIT_WINDOWS_NATIVE) || defined(__CYGWIN__)
 #if defined(__CYGWIN__)
 if ((st.st_mode & S_IXUSR) == 0)
 #endif
index 1b32a12a29b64fcc7d8b2401b00fb8a70ff81bad..aece872e331caa28bf515c98f5cceb27d8414dff 100644 (file)
@@ -72,7 +72,7 @@ static inline void close_pair(int fd[2])
        close(fd[1]);
 }
 
-#ifndef WIN32
+#ifndef GIT_WINDOWS_NATIVE
 static inline void dup_devnull(int to)
 {
        int fd = open("/dev/null", O_RDWR);
@@ -159,7 +159,7 @@ static const char **prepare_shell_cmd(const char **argv)
                die("BUG: shell command is empty");
 
        if (strcspn(argv[0], "|&;<>()$`\\\"' \t\n*?[#~=%") != strlen(argv[0])) {
-#ifndef WIN32
+#ifndef GIT_WINDOWS_NATIVE
                nargv[nargc++] = SHELL_PATH;
 #else
                nargv[nargc++] = "sh";
@@ -182,7 +182,7 @@ static const char **prepare_shell_cmd(const char **argv)
        return nargv;
 }
 
-#ifndef WIN32
+#ifndef GIT_WINDOWS_NATIVE
 static int execv_shell_cmd(const char **argv)
 {
        const char **nargv = prepare_shell_cmd(argv);
@@ -193,7 +193,7 @@ static int execv_shell_cmd(const char **argv)
 }
 #endif
 
-#ifndef WIN32
+#ifndef GIT_WINDOWS_NATIVE
 static int child_err = 2;
 static int child_notifier = -1;
 
@@ -334,7 +334,7 @@ int start_command(struct child_process *cmd)
        trace_argv_printf(cmd->argv, "trace: run_command:");
        fflush(NULL);
 
-#ifndef WIN32
+#ifndef GIT_WINDOWS_NATIVE
 {
        int notify_pipe[2];
        if (pipe(notify_pipe))
index 94903c4bff1ea7fa8818032b5fd310c98007eee3..923bf327f8ac8243c59292879a60e1f7364b6070 100644 (file)
@@ -87,7 +87,7 @@ int main(int argc, char *argv[])
                        return -1;
                }
 
-#ifdef WIN32
+#ifdef GIT_WINDOWS_NATIVE
                if (!(sb.st_mode & S_IWUSR) &&
                                chmod(argv[i], sb.st_mode | S_IWUSR)) {
                        fprintf(stderr, "Could not make user-writable %s: %s",
index 7f4b76a95899cc28aa1d42598d1649f126980ed9..97396a75ae4fc3f118750dd687fba85e3fc526cc 100644 (file)
@@ -24,7 +24,7 @@ int online_cpus(void)
        long ncpus;
 #endif
 
-#ifdef _WIN32
+#ifdef GIT_WINDOWS_NATIVE
        SYSTEM_INFO info;
        GetSystemInfo(&info);