cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=26ed6638aeb3089a7eb784b9bf50f1830f7b5e02

commit 26ed6638aeb3089a7eb784b9bf50f1830f7b5e02
Author: Vincent Torri <vincent dot torri at gmail dot com>
Date:   Mon Oct 26 08:07:57 2015 +0100

    evil: fix warnings when mingw-w64 4.* is installed
    
    mingw-w64 4.* adds several macros and functions compared to the 3.* version,
    so make sure that Evil does not redeclare them
    
    Signed-off-by: Cedric BAIL <ced...@osg.samsung.com>
---
 src/lib/evil/Evil.h        | 43 ++++++++++++++++++++++++++++++-------------
 src/lib/evil/evil_stdlib.c |  4 ++++
 src/lib/evil/evil_stdlib.h |  4 ++++
 3 files changed, 38 insertions(+), 13 deletions(-)

diff --git a/src/lib/evil/Evil.h b/src/lib/evil/Evil.h
index ff69452..ff32525 100644
--- a/src/lib/evil/Evil.h
+++ b/src/lib/evil/Evil.h
@@ -157,35 +157,52 @@ typedef unsigned long  gid_t;
 #if (defined(_WIN32) && !defined(_UWIN) && !defined(__CYGWIN__))
 # if defined(_MSC_VER) || defined(__MINGW32__)
 
-# ifdef S_ISDIR
-#  undef S_ISDIR
-# endif
-# ifdef S_ISREG
-#  undef S_ISREG
-# endif
+#ifndef S_ISDIR
 # define S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR)
+#endif
+
+#ifndef S_ISREG
 # define S_ISREG(m) (((m) & _S_IFMT) == _S_IFREG)
+#endif
 
 # define S_ISLNK(m) 0
 
-# define S_IRUSR _S_IRUSR
-# define S_IWUSR _S_IWUSR
-# define S_IXUSR _S_IXUSR
+#define S_IRUSR _S_IRUSR
+#ifndef S_IRGRP
 # define S_IRGRP S_IRUSR
+#endif
+#ifndef S_IROTH
 # define S_IROTH S_IRUSR
+#endif
+
+#define S_IWUSR _S_IWUSR
+#ifndef S_IWGRP
 # define S_IWGRP S_IWUSR
+#endif
+#ifndef S_IWOTH
 # define S_IWOTH S_IWUSR
+#endif
+
+#define S_IXUSR _S_IXUSR
+#ifndef S_IXGRP
 # define S_IXGRP S_IXUSR
+#endif
+#ifndef S_IXOTH
 # define S_IXOTH S_IXUSR
+#endif
+
+#define _S_IRWXU (_S_IREAD | _S_IWRITE | _S_IEXEC)
+#ifndef S_IRWXG
+# define S_IRWXG _S_IRWXU
+#endif
+#ifndef S_IRWXO
+# define S_IRWXO _S_IRWXU
+#endif
 
-# define _S_IRWXU (_S_IREAD | _S_IWRITE | _S_IEXEC)
 # define _S_IXUSR _S_IEXEC
 # define _S_IWUSR _S_IWRITE
 # define _S_IRUSR _S_IREAD
 
-#define S_IRWXO _S_IRWXU
-#define S_IRWXG _S_IRWXU
-
   /*
 #  define close(fd) _close(fd)
 #  define read(fd,buffer,count) _read((fd),(buffer),(count))
diff --git a/src/lib/evil/evil_stdlib.c b/src/lib/evil/evil_stdlib.c
index 5f84453..c10eafb 100644
--- a/src/lib/evil/evil_stdlib.c
+++ b/src/lib/evil/evil_stdlib.c
@@ -194,12 +194,16 @@ mkstemps(char *__template, int suffixlen)
    return -1;
 }
 
+#if __MINGW64_VERSION_MAJOR < 4
+
 int
 mkstemp(char *__template)
 {
    return mkstemps(__template, 0);
 }
 
+#endif
+
 char *
 realpath(const char *file_name, char *resolved_name)
 {
diff --git a/src/lib/evil/evil_stdlib.h b/src/lib/evil/evil_stdlib.h
index 316347a..6f98489 100644
--- a/src/lib/evil/evil_stdlib.h
+++ b/src/lib/evil/evil_stdlib.h
@@ -67,6 +67,8 @@ EAPI int unsetenv(const char *name);
  *
  */
 
+#if __MINGW64_VERSION_MAJOR < 4
+
 /**
  * @brief Create a unique temporary file name.
  *
@@ -99,6 +101,8 @@ EAPI int unsetenv(const char *name);
  */
 EAPI int mkstemp(char *__template);
 
+#endif
+
 /**
  * @brief create an unique temporary directory
  *

-- 


Reply via email to