mirror of
https://github.com/kvazar-network/kevacoin.git
synced 2025-01-12 16:17:53 +00:00
build: Probe MSG_DONTWAIT in the same way as MSG_NOSIGNAL
Instead of the WIN32-specific workaround, detect lack of `MSG_DONTWAIT` in the build system. This allows other platforms without `MSG_DONTWAIT` to work too.
This commit is contained in:
parent
53c300fb52
commit
c459d509b7
@ -558,6 +558,15 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/socket.h>]],
|
|||||||
[ AC_MSG_RESULT(no)]
|
[ AC_MSG_RESULT(no)]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
dnl Check for MSG_DONTWAIT
|
||||||
|
AC_MSG_CHECKING(for MSG_DONTWAIT)
|
||||||
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/socket.h>]],
|
||||||
|
[[ int f = MSG_DONTWAIT; ]])],
|
||||||
|
[ AC_MSG_RESULT(yes); AC_DEFINE(HAVE_DONTWAIT, 1,[Define this symbol if you have MSG_DONTWAIT]) ],
|
||||||
|
[ AC_MSG_RESULT(no)]
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for visibility attribute])
|
AC_MSG_CHECKING([for visibility attribute])
|
||||||
AC_LINK_IFELSE([AC_LANG_SOURCE([
|
AC_LINK_IFELSE([AC_LANG_SOURCE([
|
||||||
int foo_def( void ) __attribute__((visibility("default")));
|
int foo_def( void ) __attribute__((visibility("default")));
|
||||||
|
@ -47,9 +47,7 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifndef WIN32
|
||||||
#define MSG_DONTWAIT 0
|
|
||||||
#else
|
|
||||||
typedef u_int SOCKET;
|
typedef u_int SOCKET;
|
||||||
#include "errno.h"
|
#include "errno.h"
|
||||||
#define WSAGetLastError() errno
|
#define WSAGetLastError() errno
|
||||||
@ -79,6 +77,11 @@ typedef u_int SOCKET;
|
|||||||
#define MSG_NOSIGNAL 0
|
#define MSG_NOSIGNAL 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// MSG_DONTWAIT is not available on some platforms, if it doesn't exist define it as 0
|
||||||
|
#if !defined(HAVE_MSG_DONTWAIT) && !defined(MSG_DONTWAIT)
|
||||||
|
#define MSG_DONTWAIT 0
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAVE_DECL_STRNLEN == 0
|
#if HAVE_DECL_STRNLEN == 0
|
||||||
size_t strnlen( const char *start, size_t max_len);
|
size_t strnlen( const char *start, size_t max_len);
|
||||||
#endif // HAVE_DECL_STRNLEN
|
#endif // HAVE_DECL_STRNLEN
|
||||||
|
Loading…
Reference in New Issue
Block a user