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 * --