aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2021-02-20 13:07:14 +0000
committerRon Yorston <rmy@pobox.com>2021-02-21 09:51:08 +0000
commit4bca7987f38b24867d93efc4a11a1ef661734056 (patch)
tree5888b245783bf99ed4347320cce87feb5ee7cf4f
parent5369ddc1db797a96cced91bd467d172d41d41f9d (diff)
downloadbusybox-w32-4bca7987f38b24867d93efc4a11a1ef661734056.tar.gz
busybox-w32-4bca7987f38b24867d93efc4a11a1ef661734056.tar.bz2
busybox-w32-4bca7987f38b24867d93efc4a11a1ef661734056.zip
win32: fixes to build on Windows/MSYS2/mingw-w64
To investigate GitHub issue #200 it was necessary to perform build on Window using the MSYS2/mingw-w64 toolchain. This threw up some issues: - The settings for _WIN32_WINNT and __USE_MINGW_ANSI_STDIO differ from those in Fedora resulting in compiler errors and warnings. Force the defaults I'm used to. - The workaround to allow native compilation of mconf.c was broken by a subsequent upstream change. Make it work again.
-rw-r--r--include/libbb.h3
-rw-r--r--include/platform.h5
-rw-r--r--scripts/kconfig/mconf.c2
-rw-r--r--win32/poll.c4
4 files changed, 8 insertions, 6 deletions
diff --git a/include/libbb.h b/include/libbb.h
index c4734e86d..5e1d1fc5b 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -144,9 +144,6 @@
144#elif defined __APPLE__ 144#elif defined __APPLE__
145# include <netinet/in.h> 145# include <netinet/in.h>
146#elif ENABLE_PLATFORM_MINGW32 146#elif ENABLE_PLATFORM_MINGW32
147# ifndef WINVER
148# define WINVER 0x0501
149# endif
150# include <winsock2.h> 147# include <winsock2.h>
151# include <ws2tcpip.h> 148# include <ws2tcpip.h>
152#else 149#else
diff --git a/include/platform.h b/include/platform.h
index ea97d2682..0fc270fab 100644
--- a/include/platform.h
+++ b/include/platform.h
@@ -10,6 +10,11 @@
10#if ENABLE_PLATFORM_MINGW32 10#if ENABLE_PLATFORM_MINGW32
11# if !defined(__MINGW32__) /* HOSTCC is called */ 11# if !defined(__MINGW32__) /* HOSTCC is called */
12# undef ENABLE_PLATFORM_MINGW32 12# undef ENABLE_PLATFORM_MINGW32
13# else
14# undef __USE_MINGW_ANSI_STDIO
15# define __USE_MINGW_ANSI_STDIO 0
16# undef _WIN32_WINNT
17# define _WIN32_WINNT 0x502
13# endif 18# endif
14#else 19#else
15# if defined(__MINGW32__) 20# if defined(__MINGW32__)
diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c
index cda0473ac..d945f2cd5 100644
--- a/scripts/kconfig/mconf.c
+++ b/scripts/kconfig/mconf.c
@@ -31,9 +31,11 @@
31#include <unistd.h> 31#include <unistd.h>
32#include <locale.h> 32#include <locale.h>
33 33
34#ifndef __MINGW32__
34#ifndef SIGWINCH 35#ifndef SIGWINCH
35#define SIGWINCH 28 36#define SIGWINCH 28
36#endif 37#endif
38#endif
37 39
38#define LKC_DIRECT_LINK 40#define LKC_DIRECT_LINK
39#include "lkc.h" 41#include "lkc.h"
diff --git a/win32/poll.c b/win32/poll.c
index 3294fdc96..8f16d93e9 100644
--- a/win32/poll.c
+++ b/win32/poll.c
@@ -23,6 +23,7 @@
23# pragma GCC diagnostic ignored "-Wtype-limits" 23# pragma GCC diagnostic ignored "-Wtype-limits"
24#endif 24#endif
25 25
26#include "libbb.h"
26#include <malloc.h> 27#include <malloc.h>
27 28
28#include <sys/types.h> 29#include <sys/types.h>
@@ -37,9 +38,6 @@
37#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ 38#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
38# define WINDOWS_NATIVE 39# define WINDOWS_NATIVE
39# define WIN32_NATIVE 40# define WIN32_NATIVE
40# if defined (_MSC_VER)
41# define _WIN32_WINNT 0x0502
42# endif
43# include <winsock2.h> 41# include <winsock2.h>
44# include <windows.h> 42# include <windows.h>
45# include <io.h> 43# include <io.h>