aboutsummaryrefslogtreecommitdiffstats
path: root/nt
diff options
context:
space:
mode:
authorOscar Fuentes2014-11-17 23:06:13 +0100
committerOscar Fuentes2014-11-17 23:10:00 +0100
commit81e0cca7bbc99dbfda898a8aaab740ae121cf045 (patch)
tree7ee980226205173954792911af2d0d51686d5926 /nt
parent67a22c6062fdaff39c27611d21cd5866661f8e15 (diff)
downloademacs-81e0cca7bbc99dbfda898a8aaab740ae121cf045.tar.gz
emacs-81e0cca7bbc99dbfda898a8aaab740ae121cf045.zip
Define MINGW_W64 and use it instead of _W64
... for detecting MinGW-w64. _W64 is not specific of MinGW-w64, it is defined for compatibility with MS VC++. * nt/inc/ms-w32.h: Define MINGW_W64. * admin/CPP-DEFINES: Mention MINGW_W64. * nt/addpm.c: Use it. * nt/addsection.c: Use it. * nt/preprep.c: Use it. * src/w32.c: Use MINGW_W64 instead of _W64 * src/w32term.c: Likewise.
Diffstat (limited to 'nt')
-rw-r--r--nt/ChangeLog10
-rw-r--r--nt/addpm.c5
-rw-r--r--nt/addsection.c2
-rw-r--r--nt/inc/ms-w32.h16
-rw-r--r--nt/preprep.c2
5 files changed, 27 insertions, 8 deletions
diff --git a/nt/ChangeLog b/nt/ChangeLog
index 5ffab4d0151..cb2f33f947b 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,3 +1,13 @@
12014-11-17 Oscar Fuentes <ofv@wanadoo.es>
2
3 * inc/ms-w32.h: Define MINGW_W64.
4
5 * nt/addpm.c: Use it.
6
7 * nt/addsection.c: Use it.
8
9 * nt/preprep.c: Use it.
10
12014-10-31 Eric S. Raymond <esr@thyrsus.com> 112014-10-31 Eric S. Raymond <esr@thyrsus.com>
2 12
3 * Neutralize language specific to a repository type. 13 * Neutralize language specific to a repository type.
diff --git a/nt/addpm.c b/nt/addpm.c
index 18057b58b49..f7cfba39d08 100644
--- a/nt/addpm.c
+++ b/nt/addpm.c
@@ -38,9 +38,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
38#include <stdio.h> 38#include <stdio.h>
39#include <malloc.h> 39#include <malloc.h>
40 40
41/* MinGW64 defines _W64 and barfs if _WIN32_IE is defined to anything 41/* MinGW64 barfs if _WIN32_IE is defined to anything below 0x500. */
42 below 0x500. */ 42#ifndef MINGW_W64
43#ifndef _W64
44#define _WIN32_IE 0x400 43#define _WIN32_IE 0x400
45#endif 44#endif
46/* Request C Object macros for COM interfaces. */ 45/* Request C Object macros for COM interfaces. */
diff --git a/nt/addsection.c b/nt/addsection.c
index a897573480d..832066b68c0 100644
--- a/nt/addsection.c
+++ b/nt/addsection.c
@@ -25,7 +25,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
25#include <stdio.h> 25#include <stdio.h>
26#include <fcntl.h> 26#include <fcntl.h>
27#include <time.h> 27#include <time.h>
28#if defined(__GNUC__) && !defined(_W64) 28#if defined(__GNUC__) && !defined(MINGW_W64)
29#define _ANONYMOUS_UNION 29#define _ANONYMOUS_UNION
30#define _ANONYMOUS_STRUCT 30#define _ANONYMOUS_STRUCT
31#endif 31#endif
diff --git a/nt/inc/ms-w32.h b/nt/inc/ms-w32.h
index 8f7c36ab1ee..1d45df743de 100644
--- a/nt/inc/ms-w32.h
+++ b/nt/inc/ms-w32.h
@@ -26,6 +26,16 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
26 26
27#include <mingw_time.h> 27#include <mingw_time.h>
28 28
29/* MinGW-w64 gcc does not automotically define a macro for
30 differentiating it fom MinGW gcc. We need to test the presence of
31 __MINGW64_VERSION_MAJOR in _mingw.h: */
32#ifdef __MINGW32__
33# include <_mingw.h>
34# ifdef __MINGW64_VERSION_MAJOR
35# define MINGW_W64
36# endif
37#endif
38
29/* #undef const */ 39/* #undef const */
30 40
31/* Number of chars of output in the buffer of a stdio stream. */ 41/* Number of chars of output in the buffer of a stdio stream. */
@@ -139,7 +149,7 @@ extern char *getenv ();
139 versions we still support. MinGW64 defines this to a higher value 149 versions we still support. MinGW64 defines this to a higher value
140 in its system headers, and is not really compatible with values 150 in its system headers, and is not really compatible with values
141 lower than 0x0500, so leave it alone. */ 151 lower than 0x0500, so leave it alone. */
142#ifndef _W64 152#ifndef MINGW_W64
143# define _WIN32_WINNT 0x0400 153# define _WIN32_WINNT 0x0400
144#endif 154#endif
145 155
@@ -165,7 +175,7 @@ extern char *getenv ();
165 175
166#ifdef emacs 176#ifdef emacs
167 177
168#ifdef _W64 178#ifdef MINGW_W64
169/* MinGW64 specific stuff. */ 179/* MinGW64 specific stuff. */
170/* Make sure 'struct timespec' and 'struct timezone' are defined. */ 180/* Make sure 'struct timespec' and 'struct timezone' are defined. */
171#include <sys/types.h> 181#include <sys/types.h>
@@ -368,7 +378,7 @@ typedef int sigset_t;
368typedef int ssize_t; 378typedef int ssize_t;
369#endif 379#endif
370 380
371#ifdef _W64 /* MinGW64 */ 381#ifdef MINGW_W64
372#ifndef _POSIX 382#ifndef _POSIX
373typedef _sigset_t sigset_t; 383typedef _sigset_t sigset_t;
374#endif 384#endif
diff --git a/nt/preprep.c b/nt/preprep.c
index fda937df0e0..39a9b70e953 100644
--- a/nt/preprep.c
+++ b/nt/preprep.c
@@ -25,7 +25,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
25#include <stdio.h> 25#include <stdio.h>
26#include <fcntl.h> 26#include <fcntl.h>
27#include <time.h> 27#include <time.h>
28#if defined(__GNUC__) && !defined(_W64) 28#if defined(__GNUC__) && !defined(MINGW_W64)
29#define _ANONYMOUS_UNION 29#define _ANONYMOUS_UNION
30#define _ANONYMOUS_STRUCT 30#define _ANONYMOUS_STRUCT
31#endif 31#endif