mirror of
https://github.com/dogecoin/dogecoin.git
synced 2026-03-03 01:26:01 +00:00
uses home-brew instead of macports uses static libs set the defines before we call out to leveldb compile make sure the leveldb script is executable update the plist appropriately use the correct MSG_NOSIGNAL value for Mac update the app icons for mac including all the retina versions.
70 lines
1.6 KiB
C
70 lines
1.6 KiB
C
// Copyright (c) 2009-2010 Satoshi Nakamoto
|
|
// Copyright (c) 2009-2012 The Bitcoin developers
|
|
// Copyright (c) 2013-2014 Dogecoin Developers
|
|
// Distributed under the MIT/X11 software license, see the accompanying
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
#ifndef _BITCOIN_COMPAT_H
|
|
#define _BITCOIN_COMPAT_H 1
|
|
|
|
#ifdef WIN32
|
|
#define _WIN32_WINNT 0x0501
|
|
#define WIN32_LEAN_AND_MEAN 1
|
|
#ifndef NOMINMAX
|
|
#define NOMINMAX
|
|
#endif
|
|
#define FD_SETSIZE 1024 // max number of fds in fd_set
|
|
#include <winsock2.h>
|
|
#include <mswsock.h>
|
|
#include <ws2tcpip.h>
|
|
#else
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <sys/fcntl.h>
|
|
#include <arpa/inet.h>
|
|
#include <netdb.h>
|
|
#include <net/if.h>
|
|
#include <netinet/in.h>
|
|
#include <ifaddrs.h>
|
|
#endif
|
|
|
|
typedef u_int SOCKET;
|
|
#ifdef MAC_OSX
|
|
#define MSG_NOSIGNAL SO_NOSIGPIPE
|
|
#endif
|
|
|
|
#ifdef WIN32
|
|
#define MSG_NOSIGNAL 0
|
|
#define MSG_DONTWAIT 0
|
|
typedef int socklen_t;
|
|
#else
|
|
#include "errno.h"
|
|
#define WSAGetLastError() errno
|
|
#define WSAEINVAL EINVAL
|
|
#define WSAEALREADY EALREADY
|
|
#define WSAEWOULDBLOCK EWOULDBLOCK
|
|
#define WSAEMSGSIZE EMSGSIZE
|
|
#define WSAEINTR EINTR
|
|
#define WSAEINPROGRESS EINPROGRESS
|
|
#define WSAEADDRINUSE EADDRINUSE
|
|
#define WSAENOTSOCK EBADF
|
|
#define INVALID_SOCKET (SOCKET)(~0)
|
|
#define SOCKET_ERROR -1
|
|
#endif
|
|
|
|
inline int myclosesocket(SOCKET& hSocket)
|
|
{
|
|
if (hSocket == INVALID_SOCKET)
|
|
return WSAENOTSOCK;
|
|
#ifdef WIN32
|
|
int ret = closesocket(hSocket);
|
|
#else
|
|
int ret = close(hSocket);
|
|
#endif
|
|
hSocket = INVALID_SOCKET;
|
|
return ret;
|
|
}
|
|
#define closesocket(s) myclosesocket(s)
|
|
|
|
|
|
#endif
|