diff options
| author | Eli Zaretskii | 2016-10-06 18:11:43 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2016-10-06 18:11:43 +0300 |
| commit | d48369db9c97b6f2accf702e5bbe0bda11cb92a1 (patch) | |
| tree | 73975d4d08fc4da05e2bbd2059467eb85909e0db /nt | |
| parent | 6e6c08815347a78008211613c9ddfa0acd7f0ef8 (diff) | |
| download | emacs-d48369db9c97b6f2accf702e5bbe0bda11cb92a1.tar.gz emacs-d48369db9c97b6f2accf702e5bbe0bda11cb92a1.zip | |
Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2
* nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before
defining to avoid redefinition warnings.
* nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid
inclusion of sys/stat.h from the system headers, which could then
lead to compilation errors due to redefinition of 'struct stat'
etc. This is needed because latest versions of MinGW runtime
include sys/stat.h from wchar.h.
* src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily
redefine to 4 to avoid conflict between 2 definitions of
MemoryBarrier. (Bug#24613)
Diffstat (limited to 'nt')
| -rw-r--r-- | nt/inc/ms-w32.h | 1 | ||||
| -rw-r--r-- | nt/inc/sys/stat.h | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/nt/inc/ms-w32.h b/nt/inc/ms-w32.h index 8e3a8c2c226..24076a31eeb 100644 --- a/nt/inc/ms-w32.h +++ b/nt/inc/ms-w32.h | |||
| @@ -146,6 +146,7 @@ extern char *getenv (); | |||
| 146 | in its system headers, and is not really compatible with values | 146 | in its system headers, and is not really compatible with values |
| 147 | lower than 0x0500, so leave it alone. */ | 147 | lower than 0x0500, so leave it alone. */ |
| 148 | #ifndef MINGW_W64 | 148 | #ifndef MINGW_W64 |
| 149 | # undef _WIN32_WINNT | ||
| 149 | # define _WIN32_WINNT 0x0400 | 150 | # define _WIN32_WINNT 0x0400 |
| 150 | #endif | 151 | #endif |
| 151 | 152 | ||
diff --git a/nt/inc/sys/stat.h b/nt/inc/sys/stat.h index 45bc2ea1e0c..ea14f075471 100644 --- a/nt/inc/sys/stat.h +++ b/nt/inc/sys/stat.h | |||
| @@ -30,6 +30,14 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 30 | # define __MINGW_NOTHROW | 30 | # define __MINGW_NOTHROW |
| 31 | #endif | 31 | #endif |
| 32 | 32 | ||
| 33 | /* Prevent the MinGW stat.h header from being included, ever. */ | ||
| 34 | #ifndef _SYS_STAT_H | ||
| 35 | # define _SYS_STAT_H | ||
| 36 | #endif | ||
| 37 | #ifndef _INC_STAT_H | ||
| 38 | # define _INC_STAT_H | ||
| 39 | #endif | ||
| 40 | |||
| 33 | #include <sys/types.h> | 41 | #include <sys/types.h> |
| 34 | #include <time.h> | 42 | #include <time.h> |
| 35 | 43 | ||