[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] [emacs] 01/01: Define MINGW_W64 and use it instead of _W64
From: |
Oscar Fuentes |
Subject: |
[Emacs-diffs] [emacs] 01/01: Define MINGW_W64 and use it instead of _W64 |
Date: |
Mon, 17 Nov 2014 22:10:36 +0000 |
branch: emacs-24
commit 81e0cca7bbc99dbfda898a8aaab740ae121cf045
Author: Oscar Fuentes <address@hidden>
Date: Mon Nov 17 23:06:13 2014 +0100
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.
---
admin/CPP-DEFINES | 3 ++-
admin/ChangeLog | 4 ++++
nt/ChangeLog | 10 ++++++++++
nt/addpm.c | 5 ++---
nt/addsection.c | 2 +-
nt/inc/ms-w32.h | 16 +++++++++++++---
nt/preprep.c | 2 +-
src/ChangeLog | 6 ++++++
src/w32.c | 6 +++---
src/w32term.c | 4 ++--
10 files changed, 44 insertions(+), 14 deletions(-)
diff --git a/admin/CPP-DEFINES b/admin/CPP-DEFINES
index 27d87dc..e475b42 100644
--- a/admin/CPP-DEFINES
+++ b/admin/CPP-DEFINES
@@ -19,8 +19,9 @@ __MSDOS__ Ditto.
__DJGPP_MINOR__ Minor version number of the DJGPP library; used only in
msdos.c and dosfns.c.
DOS_NT Compiling for either the MS-DOS or native MS-Windows port.
WINDOWSNT Compiling the native MS-Windows (W32) port.
-__MINGW32__ Compiling the W32 port with the MinGW port of GCC.
+__MINGW32__ Compiling the W32 port with the MinGW or MinGW-w64 ports of GCC.
_MSC_VER Compiling the W32 port with the Microsoft C compiler.
+MINGW_W64 Compiling the W32 port with the MinGW-w64 port of GCC.
DARWIN_OS Compiling on Mac OS X or pure Darwin (and using s/darwin.h).
SOLARIS2
USG
diff --git a/admin/ChangeLog b/admin/ChangeLog
index 72ce74b..0ec6d92 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -1,3 +1,7 @@
+2014-11-17 Oscar Fuentes <address@hidden>
+
+ * admin/CPP-DEFINES: Mention MINGW_W64.
+
2014-11-15 Glenn Morris <address@hidden>
* update_autogen: Auto-detect VCS in use.
diff --git a/nt/ChangeLog b/nt/ChangeLog
index 5ffab4d..cb2f33f 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,3 +1,13 @@
+2014-11-17 Oscar Fuentes <address@hidden>
+
+ * inc/ms-w32.h: Define MINGW_W64.
+
+ * nt/addpm.c: Use it.
+
+ * nt/addsection.c: Use it.
+
+ * nt/preprep.c: Use it.
+
2014-10-31 Eric S. Raymond <address@hidden>
* Neutralize language specific to a repository type.
diff --git a/nt/addpm.c b/nt/addpm.c
index 18057b5..f7cfba3 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/>. */
#include <stdio.h>
#include <malloc.h>
-/* MinGW64 defines _W64 and barfs if _WIN32_IE is defined to anything
- below 0x500. */
-#ifndef _W64
+/* MinGW64 barfs if _WIN32_IE is defined to anything below 0x500. */
+#ifndef MINGW_W64
#define _WIN32_IE 0x400
#endif
/* Request C Object macros for COM interfaces. */
diff --git a/nt/addsection.c b/nt/addsection.c
index a897573..832066b 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/>.
#include <stdio.h>
#include <fcntl.h>
#include <time.h>
-#if defined(__GNUC__) && !defined(_W64)
+#if defined(__GNUC__) && !defined(MINGW_W64)
#define _ANONYMOUS_UNION
#define _ANONYMOUS_STRUCT
#endif
diff --git a/nt/inc/ms-w32.h b/nt/inc/ms-w32.h
index 8f7c36a..1d45df7 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/>. */
#include <mingw_time.h>
+/* MinGW-w64 gcc does not automotically define a macro for
+ differentiating it fom MinGW gcc. We need to test the presence of
+ __MINGW64_VERSION_MAJOR in _mingw.h: */
+#ifdef __MINGW32__
+# include <_mingw.h>
+# ifdef __MINGW64_VERSION_MAJOR
+# define MINGW_W64
+# endif
+#endif
+
/* #undef const */
/* Number of chars of output in the buffer of a stdio stream. */
@@ -139,7 +149,7 @@ extern char *getenv ();
versions we still support. MinGW64 defines this to a higher value
in its system headers, and is not really compatible with values
lower than 0x0500, so leave it alone. */
-#ifndef _W64
+#ifndef MINGW_W64
# define _WIN32_WINNT 0x0400
#endif
@@ -165,7 +175,7 @@ extern char *getenv ();
#ifdef emacs
-#ifdef _W64
+#ifdef MINGW_W64
/* MinGW64 specific stuff. */
/* Make sure 'struct timespec' and 'struct timezone' are defined. */
#include <sys/types.h>
@@ -368,7 +378,7 @@ typedef int sigset_t;
typedef int ssize_t;
#endif
-#ifdef _W64 /* MinGW64 */
+#ifdef MINGW_W64
#ifndef _POSIX
typedef _sigset_t sigset_t;
#endif
diff --git a/nt/preprep.c b/nt/preprep.c
index fda937d..39a9b70 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/>.
#include <stdio.h>
#include <fcntl.h>
#include <time.h>
-#if defined(__GNUC__) && !defined(_W64)
+#if defined(__GNUC__) && !defined(MINGW_W64)
#define _ANONYMOUS_UNION
#define _ANONYMOUS_STRUCT
#endif
diff --git a/src/ChangeLog b/src/ChangeLog
index f9f3a0f..1f2a0c4 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2014-11-17 Oscar Fuentes <address@hidden>
+
+ * src/w32.c: Use MINGW_W64 instead of _W64.
+
+ * src/w32term.c: Likewise.
+
2014-11-16 Stefan Monnier <address@hidden>
* frame.c (Fhandle_switch_frame): Deactivate shift-region (bug#19003).
diff --git a/src/w32.c b/src/w32.c
index aba0b5a..34f28d0 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -72,8 +72,8 @@ along with GNU Emacs. If not, see
<http://www.gnu.org/licenses/>. */
#include <pwd.h>
#include <grp.h>
-/* MinGW64 (_W64) defines these in its _mingw.h. */
-#if defined(__GNUC__) && !defined(_W64)
+/* MinGW64 defines these in its _mingw.h. */
+#if defined(__GNUC__) && !defined(MINGW_W64)
#define _ANONYMOUS_UNION
#define _ANONYMOUS_STRUCT
#endif
@@ -149,7 +149,7 @@ typedef struct _PROCESS_MEMORY_COUNTERS_EX {
#define SDDL_REVISION_1 1
#endif /* SDDL_REVISION_1 */
-#if defined(_MSC_VER) || defined(_W64)
+#if defined(_MSC_VER) || defined(MINGW_W64)
/* MSVC and MinGW64 don't provide the definition of
REPARSE_DATA_BUFFER and the associated macros, except on ntifs.h,
which cannot be included because it triggers conflicts with other
diff --git a/src/w32term.c b/src/w32term.c
index 66cdbfa..41ab645 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -100,10 +100,10 @@ extern Cursor w32_load_cursor (LPCTSTR name);
struct w32_display_info one_w32_display_info;
struct w32_display_info *x_display_list;
-#if _WIN32_WINNT < 0x0500 && !defined(_W64)
+#if _WIN32_WINNT < 0x0500 && !defined(MINGW_W64)
/* Pre Windows 2000, this was not available, but define it here so
that Emacs compiled on such a platform will run on newer versions.
- MinGW64 (_W64) defines these unconditionally, so avoid redefining. */
+ MinGW64 defines these unconditionally, so avoid redefining. */
typedef struct tagWCRANGE
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] [emacs] 01/01: Define MINGW_W64 and use it instead of _W64,
Oscar Fuentes <=