Fix compilation with mingw.org's MinGW 5.x headers
This commit is contained in:
parent
38b6748856
commit
024d20f81e
3 changed files with 17 additions and 3 deletions
|
@ -30,8 +30,12 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
|
||||||
#include "ntlib.h"
|
#include "ntlib.h"
|
||||||
#undef _WIN32_WINNT
|
#undef _WIN32_WINNT
|
||||||
#define _WIN32_WINNT 0x0501 /* for getaddrinfo stuff */
|
#define _WIN32_WINNT 0x0501 /* for getaddrinfo stuff */
|
||||||
#include <winsock2.h>
|
#if defined __MINGW32_VERSION && __MINGW32_VERSION >= 5000000L
|
||||||
#include <ws2tcpip.h>
|
# include <windows.h>
|
||||||
|
#else
|
||||||
|
# include <winsock2.h>
|
||||||
|
#endif
|
||||||
|
# include <ws2tcpip.h>
|
||||||
#undef getaddrinfo
|
#undef getaddrinfo
|
||||||
#define getaddrinfo sys_getaddrinfo
|
#define getaddrinfo sys_getaddrinfo
|
||||||
#undef freeaddrinfo
|
#undef freeaddrinfo
|
||||||
|
|
|
@ -455,7 +455,12 @@ extern char *get_emacs_configuration_options (void);
|
||||||
windows.h. For this to have proper effect, config.h must always be
|
windows.h. For this to have proper effect, config.h must always be
|
||||||
included before windows.h. */
|
included before windows.h. */
|
||||||
#define _WINSOCKAPI_ 1
|
#define _WINSOCKAPI_ 1
|
||||||
#define _WINSOCK_H
|
#if defined __MINGW32_VERSION && __MINGW32_VERSION < 5000000L
|
||||||
|
/* mingw.org's MinGW 5.x changed how it includes winsock.h and time.h,
|
||||||
|
and now defining _WINSOCK_H skips the definition of struct timeval,
|
||||||
|
which we don't want. */
|
||||||
|
# define _WINSOCK_H
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Defines size_t and alloca (). */
|
/* Defines size_t and alloca (). */
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
|
@ -49,6 +49,11 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
|
||||||
#define timeval ws_timeval
|
#define timeval ws_timeval
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined __MINGW32_VERSION && __MINGW32_VERSION >= 5000000L
|
||||||
|
/* Need winerror.h before winsock2.h with mingw.org's MinGW 5.x,
|
||||||
|
otherwise some error codes are not defined. */
|
||||||
|
# include <winerror.h>
|
||||||
|
#endif
|
||||||
#include <winsock2.h>
|
#include <winsock2.h>
|
||||||
#include <ws2tcpip.h>
|
#include <ws2tcpip.h>
|
||||||
/* process.c uses uint16_t (from C99) for IPv6, but
|
/* process.c uses uint16_t (from C99) for IPv6, but
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue