Fix more MinGW64 incompatibilities.
Reported by ׃scar Fuentes in http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00733.html nt/inc/ms-w32.h (_WIN32_WINNT) [!_W64]: Don't define for MinGW64. nt/inc/sys/stat.h (chmod): Remove _CRTIMP from prototype. src/w32.c (_PROCESS_MEMORY_COUNTERS_EX) [_WIN32_WINNT < 0x0500]: Define only for _WIN32_WINNT less than 0x0500.
This commit is contained in:
parent
f46ba47d8b
commit
a18d7de614
5 changed files with 17 additions and 5 deletions
|
@ -2,11 +2,15 @@
|
|||
|
||||
Fix more incompatibilities between MinGW.org and MinGW64 headers
|
||||
reported by Óscar Fuentes in
|
||||
http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00733.html
|
||||
http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00699.html
|
||||
and in
|
||||
http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00707.html.
|
||||
* inc/ms-w32.h (USE_NO_MINGW_SETJMP_TWO_ARGS) [_W64]: Define to 1.
|
||||
For MinGW64, include sys/types.h and time.h.
|
||||
(_WIN32_WINNT) [!_W64]: Don't define for MinGW64.
|
||||
|
||||
* inc/sys/stat.h (chmod): Remove _CRTIMP from prototype.
|
||||
|
||||
* inc/sys/time.h (struct timeval) [!_W64]: Guard definition with
|
||||
_W64.
|
||||
|
|
|
@ -129,9 +129,11 @@ extern char *getenv ();
|
|||
|
||||
/* Prevent accidental use of features unavailable in older Windows
|
||||
versions we still support. MinGW64 defines this to a higher value
|
||||
in its system headers, so define our override before including any
|
||||
system headers. */
|
||||
#define _WIN32_WINNT 0x0400
|
||||
in its system headers, and is not really compatible with values
|
||||
lower than 0x0500, so leave it alone. */
|
||||
#ifndef _W64
|
||||
# define _WIN32_WINNT 0x0400
|
||||
#endif
|
||||
|
||||
/* Make a leaner executable. */
|
||||
#define WIN32_LEAN_AND_MEAN 1
|
||||
|
|
|
@ -111,6 +111,6 @@ int __cdecl __MINGW_NOTHROW stat (const char*, struct stat*);
|
|||
int __cdecl __MINGW_NOTHROW lstat (const char*, struct stat*);
|
||||
int __cdecl __MINGW_NOTHROW fstatat (int, char const *,
|
||||
struct stat *, int);
|
||||
_CRTIMP int __cdecl __MINGW_NOTHROW chmod (const char*, int);
|
||||
int __cdecl __MINGW_NOTHROW chmod (const char*, int);
|
||||
|
||||
#endif /* INC_SYS_STAT_H_ */
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
2013-03-26 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* w32.c (_PROCESS_MEMORY_COUNTERS_EX) [_WIN32_WINNT < 0x0500]:
|
||||
Define only for _WIN32_WINNT less than 0x0500.
|
||||
|
||||
Fix incompatibilities between MinGW.org and MinGW64 headers.
|
||||
* w32term.c (WCRANGE, GLYPHSET): Don't define if _W64 is defined.
|
||||
|
||||
|
|
|
@ -69,7 +69,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
#include <pwd.h>
|
||||
#include <grp.h>
|
||||
|
||||
#ifdef __GNUC__
|
||||
/* MinGW64 (_W64) defines these in its _mingw.h. */
|
||||
#if defined(__GNUC__) && !defined(_W64)
|
||||
#define _ANONYMOUS_UNION
|
||||
#define _ANONYMOUS_STRUCT
|
||||
#endif
|
||||
|
@ -96,6 +97,7 @@ typedef struct _MEMORY_STATUS_EX {
|
|||
#ifndef _MSC_VER
|
||||
#include <w32api.h>
|
||||
#endif
|
||||
#if _WIN32_WINNT < 0x0500
|
||||
#if !defined (__MINGW32__) || __W32API_MAJOR_VERSION < 3 || (__W32API_MAJOR_VERSION == 3 && __W32API_MINOR_VERSION < 15)
|
||||
/* This either is not in psapi.h or guarded by higher value of
|
||||
_WIN32_WINNT than what we use. w32api supplied with MinGW 3.15
|
||||
|
@ -114,6 +116,7 @@ typedef struct _PROCESS_MEMORY_COUNTERS_EX {
|
|||
SIZE_T PrivateUsage;
|
||||
} PROCESS_MEMORY_COUNTERS_EX,*PPROCESS_MEMORY_COUNTERS_EX;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <winioctl.h>
|
||||
#include <aclapi.h>
|
||||
|
|
Loading…
Add table
Reference in a new issue