mirror of
https://github.com/Ylianst/MeshAgent
synced 2025-12-06 00:13:33 +00:00
Updated so compiles for MIPS correctly
This commit is contained in:
14
makefile
14
makefile
@@ -20,6 +20,9 @@
|
|||||||
#
|
#
|
||||||
# To build for 32 bit on 64 bit linux
|
# To build for 32 bit on 64 bit linux
|
||||||
# sudo apt-get install linux-libc-dev:i386
|
# sudo apt-get install linux-libc-dev:i386
|
||||||
|
# sudo apt-get install libc6-dev-i386
|
||||||
|
# sudo apt-get install libjpeg8-dev:i386
|
||||||
|
#
|
||||||
#
|
#
|
||||||
# To install ARM Cross Compiler for Raspberry PI
|
# To install ARM Cross Compiler for Raspberry PI
|
||||||
# sudo apt-get install libc6-armel-cross libc6-dev-armel-cross binutils-arm-linux-gnueabi libncurses5-dev gcc-arm-linux-gnueabihf
|
# sudo apt-get install libc6-armel-cross libc6-dev-armel-cross binutils-arm-linux-gnueabi libncurses5-dev gcc-arm-linux-gnueabihf
|
||||||
@@ -144,6 +147,9 @@ ARCHNAME = mips
|
|||||||
CC = $(PATH_MIPS)mipsel-linux-gcc
|
CC = $(PATH_MIPS)mipsel-linux-gcc
|
||||||
STRIP = $(PATH_MIPS)mipsel-linux-strip
|
STRIP = $(PATH_MIPS)mipsel-linux-strip
|
||||||
CEXTRA = -D_FORTIFY_SOURCE=2 -D_NOILIBSTACKDEBUG -D_NOFSWATCHER -Wformat -Wformat-security -fno-strict-aliasing
|
CEXTRA = -D_FORTIFY_SOURCE=2 -D_NOILIBSTACKDEBUG -D_NOFSWATCHER -Wformat -Wformat-security -fno-strict-aliasing
|
||||||
|
CFLAGS += -DBADMATH
|
||||||
|
IPADDR_MONITOR_DISABLE = 1
|
||||||
|
IFADDR_DISABLE = 1
|
||||||
KVM = 0
|
KVM = 0
|
||||||
LMS = 0
|
LMS = 0
|
||||||
endif
|
endif
|
||||||
@@ -286,6 +292,14 @@ ifeq ($(SSL_TRACE),1)
|
|||||||
CFLAGS += -DSSL_TRACE
|
CFLAGS += -DSSL_TRACE
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(IPADDR_MONITOR_DISABLE),1)
|
||||||
|
CFLAGS += -DNO_IPADDR_MONITOR
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(IFADDR_DISABLE),1)
|
||||||
|
CFLAGS += -DNO_IFADDR
|
||||||
|
endif
|
||||||
|
|
||||||
GCCTEST := $(shell $(CC) meshcore/dummy.c -o /dev/null -no-pie > /dev/null 2>&1 ; echo $$? )
|
GCCTEST := $(shell $(CC) meshcore/dummy.c -o /dev/null -no-pie > /dev/null 2>&1 ; echo $$? )
|
||||||
ifeq ($(GCCTEST),0)
|
ifeq ($(GCCTEST),0)
|
||||||
LDFLAGS += -no-pie
|
LDFLAGS += -no-pie
|
||||||
|
|||||||
@@ -27,7 +27,9 @@ limitations under the License.
|
|||||||
#include <WinBase.h>
|
#include <WinBase.h>
|
||||||
#else
|
#else
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <ifaddrs.h>
|
#ifndef NO_IFADDR
|
||||||
|
#include <ifaddrs.h>
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "ILibDuktape_Dgram.h"
|
#include "ILibDuktape_Dgram.h"
|
||||||
@@ -123,6 +125,7 @@ void ILibDuktape_Dgram_Socket_OnSendOK(ILibAsyncUDPSocket_SocketModule socketMod
|
|||||||
int ILibDuktape_DGram_getIPv6ScopeID(struct in6_addr *addr)
|
int ILibDuktape_DGram_getIPv6ScopeID(struct in6_addr *addr)
|
||||||
{
|
{
|
||||||
int retVal = 0;
|
int retVal = 0;
|
||||||
|
#ifndef NO_IFADDR
|
||||||
struct ifaddrs *addrlist;
|
struct ifaddrs *addrlist;
|
||||||
struct ifaddrs *current;
|
struct ifaddrs *current;
|
||||||
if (getifaddrs(&addrlist) == 0)
|
if (getifaddrs(&addrlist) == 0)
|
||||||
@@ -142,6 +145,7 @@ int ILibDuktape_DGram_getIPv6ScopeID(struct in6_addr *addr)
|
|||||||
}
|
}
|
||||||
freeifaddrs(addrlist);
|
freeifaddrs(addrlist);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
return(retVal);
|
return(retVal);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -23,7 +23,9 @@ limitations under the License.
|
|||||||
#else
|
#else
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <ifaddrs.h>
|
#ifndef NO_IFADDR
|
||||||
|
#include <ifaddrs.h>
|
||||||
|
#endif
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
#include <netpacket/packet.h>
|
#include <netpacket/packet.h>
|
||||||
#else
|
#else
|
||||||
@@ -1225,6 +1227,7 @@ duk_ret_t ILibDuktape_ScriptContainer_OS_networkInterfaces(duk_context *ctx)
|
|||||||
padapters = padapters->Next;
|
padapters = padapters->Next;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
#ifndef NO_IFADDR
|
||||||
struct ifaddrs *addrlist;
|
struct ifaddrs *addrlist;
|
||||||
struct ifaddrs *current;
|
struct ifaddrs *current;
|
||||||
if (getifaddrs(&addrlist) == 0)
|
if (getifaddrs(&addrlist) == 0)
|
||||||
@@ -1356,7 +1359,7 @@ duk_ret_t ILibDuktape_ScriptContainer_OS_networkInterfaces(duk_context *ctx)
|
|||||||
}
|
}
|
||||||
duk_pop(ctx);
|
duk_pop(ctx);
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
return(1);
|
return(1);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -2373,7 +2373,7 @@ typedef struct duk_hthread duk_context;
|
|||||||
* that too. Android doesn't have log2; disable all of these for Android.
|
* that too. Android doesn't have log2; disable all of these for Android.
|
||||||
*/
|
*/
|
||||||
#if (defined(DUK_F_C99) || defined(DUK_F_CPP11) || (defined(_MSC_VER) && (_MSC_VER >= 1800))) && \
|
#if (defined(DUK_F_C99) || defined(DUK_F_CPP11) || (defined(_MSC_VER) && (_MSC_VER >= 1800))) && \
|
||||||
!defined(DUK_F_ANDROID) && !defined(DUK_F_MINT)
|
!defined(DUK_F_ANDROID) && !defined(DUK_F_MINT) && !defined(BADMATH)
|
||||||
#if !defined(DUK_CBRT)
|
#if !defined(DUK_CBRT)
|
||||||
#define DUK_CBRT cbrt
|
#define DUK_CBRT cbrt
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ limitations under the License.
|
|||||||
|
|
||||||
#include "ILibParsers.h"
|
#include "ILibParsers.h"
|
||||||
|
|
||||||
#if defined(_POSIX) && !defined(__APPLE__)
|
#if defined(_POSIX) && !defined(__APPLE__) && !defined(NO_IPADDR_MONITOR)
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
#include <linux/netlink.h>
|
#include <linux/netlink.h>
|
||||||
#include <linux/rtnetlink.h>
|
#include <linux/rtnetlink.h>
|
||||||
@@ -42,20 +42,21 @@ typedef struct _ILibIPAddressMonitor
|
|||||||
ILibChain_Link chainLink;
|
ILibChain_Link chainLink;
|
||||||
ILibIPAddressMonitor_Handler onUpdate;
|
ILibIPAddressMonitor_Handler onUpdate;
|
||||||
void *user;
|
void *user;
|
||||||
#ifdef WIN32
|
#ifndef NO_IPADDR_MONITOR
|
||||||
SOCKET mSocket;
|
#ifdef WIN32
|
||||||
DWORD bytesReturned;
|
SOCKET mSocket;
|
||||||
OVERLAPPED *reserved;
|
DWORD bytesReturned;
|
||||||
#elif defined (_POSIX) && !defined(__APPLE__)
|
OVERLAPPED *reserved;
|
||||||
int mSocket;
|
#elif defined (_POSIX) && !defined(__APPLE__)
|
||||||
struct sockaddr_nl addr;
|
int mSocket;
|
||||||
|
struct sockaddr_nl addr;
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}_ILibIPAddressMonitor;
|
}_ILibIPAddressMonitor;
|
||||||
int ILibMemory_IPAddressMonitor_CONTAINER_SIZE = sizeof(_ILibIPAddressMonitor);
|
int ILibMemory_IPAddressMonitor_CONTAINER_SIZE = sizeof(_ILibIPAddressMonitor);
|
||||||
void ILibIPAddressMonitor_MicrostackThreadDispatch(void *chain, void *user);
|
void ILibIPAddressMonitor_MicrostackThreadDispatch(void *chain, void *user);
|
||||||
|
|
||||||
#ifdef WIN32
|
#if defined(WIN32) && !defined(NO_IPADDR_MONITOR)
|
||||||
void CALLBACK ILibIPAddressMonitor_dispatch(
|
void CALLBACK ILibIPAddressMonitor_dispatch(
|
||||||
IN DWORD dwError,
|
IN DWORD dwError,
|
||||||
IN DWORD cbTransferred,
|
IN DWORD cbTransferred,
|
||||||
@@ -84,6 +85,7 @@ void ILibIPAddressMonitor_MicrostackThreadDispatch(void *chain, void *user)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef NO_IPADDR_MONITOR
|
||||||
void ILibIPAddressMonitor_Destroy(void *object)
|
void ILibIPAddressMonitor_Destroy(void *object)
|
||||||
{
|
{
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
@@ -132,10 +134,12 @@ void ILibIPAddressMonitor_PostSelect(void* object, int slct, fd_set *readset, fd
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
ILibIPAddressMonitor ILibIPAddressMonitor_Create(void *chain, ILibIPAddressMonitor_Handler handler, void *user)
|
ILibIPAddressMonitor ILibIPAddressMonitor_Create(void *chain, ILibIPAddressMonitor_Handler handler, void *user)
|
||||||
{
|
{
|
||||||
_ILibIPAddressMonitor *obj = (_ILibIPAddressMonitor*)ILibChain_Link_Allocate(ILibMemory_IPAddressMonitor_CONTAINER_SIZE, 0);
|
_ILibIPAddressMonitor *obj = (_ILibIPAddressMonitor*)ILibChain_Link_Allocate(ILibMemory_IPAddressMonitor_CONTAINER_SIZE, 0);
|
||||||
|
#ifndef NO_IPADDR_MONITOR
|
||||||
|
|
||||||
obj->onUpdate = handler;
|
obj->onUpdate = handler;
|
||||||
obj->user = user;
|
obj->user = user;
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
@@ -165,5 +169,8 @@ ILibIPAddressMonitor ILibIPAddressMonitor_Create(void *chain, ILibIPAddressMonit
|
|||||||
|
|
||||||
obj->chainLink.DestroyHandler = ILibIPAddressMonitor_Destroy;
|
obj->chainLink.DestroyHandler = ILibIPAddressMonitor_Destroy;
|
||||||
ILibAddToChain(chain, obj);
|
ILibAddToChain(chain, obj);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
return((ILibIPAddressMonitor)obj);
|
return((ILibIPAddressMonitor)obj);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user