mirror of
https://github.com/Ylianst/MeshAgent
synced 2025-12-15 07:43:50 +00:00
Updated for OpenBSD
This commit is contained in:
16
makefile
16
makefile
@@ -110,6 +110,7 @@
|
|||||||
# make linux ARCHID=27 # Linux ARM 32 bit HardFloat NOKVM (Old Raspberry Pi on Raspian 7, 2015-02-02 build)
|
# make linux ARCHID=27 # Linux ARM 32 bit HardFloat NOKVM (Old Raspberry Pi on Raspian 7, 2015-02-02 build)
|
||||||
# gmake freebsd ARCHID=30 # FreeBSD x86 64 bit
|
# gmake freebsd ARCHID=30 # FreeBSD x86 64 bit
|
||||||
# gmake freebsd ARCHID=31 # Reserved for FreeBSD x86 32 bit
|
# gmake freebsd ARCHID=31 # Reserved for FreeBSD x86 32 bit
|
||||||
|
# gmake openbsd ARCHID=34 # OpenBSD x86 64 bit
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Alpine Linux (MUSL)
|
# Alpine Linux (MUSL)
|
||||||
@@ -485,6 +486,15 @@ KVM = 0
|
|||||||
LMS = 0
|
LMS = 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Official OpenBSD x86-64
|
||||||
|
ifeq ($(ARCHID),34)
|
||||||
|
ARCHNAME = openbsd_x86-64
|
||||||
|
CC = clang
|
||||||
|
CFLAGS += -I/usr/local/include
|
||||||
|
KVM = 0
|
||||||
|
LMS = 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
ifeq ($(WEBLOG),1)
|
ifeq ($(WEBLOG),1)
|
||||||
CFLAGS += -D_REMOTELOGGINGSERVER -D_REMOTELOGGING
|
CFLAGS += -D_REMOTELOGGINGSERVER -D_REMOTELOGGING
|
||||||
@@ -724,3 +734,9 @@ freebsd:
|
|||||||
$(MAKE) EXENAME="$(EXENAME)_$(ARCHNAME)$(EXENAME2)" ADDITIONALSOURCES="$(LINUXKVMSOURCES)" AID="$(ARCHID)" CFLAGS="-std=gnu99 -Wall -DJPEGMAXBUF=$(KVMMaxTile) -DMESH_AGENTID=$(ARCHID) -D_POSIX -D_FREEBSD -D_NOHECI -D_NOILIBSTACKDEBUG -DMICROSTACK_PROXY -fno-strict-aliasing $(INCDIRS) $(CFLAGS) $(CEXTRA)" LDFLAGS="$(BSDSSL) $(BSDFLAGS) -L. -lpthread -ldl -lz -lutil $(LDFLAGS) $(LDEXTRA)"
|
$(MAKE) EXENAME="$(EXENAME)_$(ARCHNAME)$(EXENAME2)" ADDITIONALSOURCES="$(LINUXKVMSOURCES)" AID="$(ARCHID)" CFLAGS="-std=gnu99 -Wall -DJPEGMAXBUF=$(KVMMaxTile) -DMESH_AGENTID=$(ARCHID) -D_POSIX -D_FREEBSD -D_NOHECI -D_NOILIBSTACKDEBUG -DMICROSTACK_PROXY -fno-strict-aliasing $(INCDIRS) $(CFLAGS) $(CEXTRA)" LDFLAGS="$(BSDSSL) $(BSDFLAGS) -L. -lpthread -ldl -lz -lutil $(LDFLAGS) $(LDEXTRA)"
|
||||||
$(SYMBOLCP)
|
$(SYMBOLCP)
|
||||||
$(STRIP)
|
$(STRIP)
|
||||||
|
|
||||||
|
openbsd:
|
||||||
|
$(MAKE) EXENAME="$(EXENAME)_$(ARCHNAME)$(EXENAME2)" ADDITIONALSOURCES="$(LINUXKVMSOURCES)" AID="$(ARCHID)" CFLAGS="-std=gnu99 -Wall -DJPEGMAXBUF=$(KVMMaxTile) -DMESH_AGENTID=$(ARCHID) -D_POSIX -D_FREEBSD -D_OPENBSD -DILIB_NO_TIMEDJOIN -D_NOHECI -D_NOILIBSTACKDEBUG -DMICROSTACK_PROXY -fno-strict-aliasing $(INCDIRS) $(CFLAGS) $(CEXTRA)" LDFLAGS="$(BSDSSL) $(BSDFLAGS) -L. -lpthread -lz -lutil $(LDFLAGS) $(LDEXTRA)"
|
||||||
|
$(SYMBOLCP)
|
||||||
|
$(STRIP)
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,11 @@ limitations under the License.
|
|||||||
#include "microscript/ILibDuktape_Commit.h"
|
#include "microscript/ILibDuktape_Commit.h"
|
||||||
|
|
||||||
MeshAgentHostContainer *agentHost = NULL;
|
MeshAgentHostContainer *agentHost = NULL;
|
||||||
|
#ifdef _OPENBSD
|
||||||
|
#include <stdlib.h>
|
||||||
|
char __agentExecPath[1024] = { 0 };
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
BOOL CtrlHandler(DWORD fdwCtrlType)
|
BOOL CtrlHandler(DWORD fdwCtrlType)
|
||||||
@@ -81,6 +86,10 @@ int wmain(int argc, char **wargv)
|
|||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
|
#ifdef _OPENBSD
|
||||||
|
realpath(argv[0], __agentExecPath);
|
||||||
|
#endif
|
||||||
|
|
||||||
// Check if .JS file is integrated with executable
|
// Check if .JS file is integrated with executable
|
||||||
char *integratedJavaScript = NULL;
|
char *integratedJavaScript = NULL;
|
||||||
int integratedJavaScriptLen = 0;
|
int integratedJavaScriptLen = 0;
|
||||||
|
|||||||
@@ -5770,7 +5770,11 @@ int MeshAgent_Start(MeshAgentHostContainer *agentHost, int paramLen, char **para
|
|||||||
#elif defined(NACL)
|
#elif defined(NACL)
|
||||||
#else
|
#else
|
||||||
#ifdef _FREEBSD
|
#ifdef _FREEBSD
|
||||||
x = readlink("/proc/curproc/file", exePath, 1024);
|
#ifdef _OPENBSD
|
||||||
|
x = sprintf_s(exePath, 1024, "%s", __agentExecPath);
|
||||||
|
#else
|
||||||
|
x = readlink("/proc/curproc/file", exePath, 1024);
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
x = readlink("/proc/self/exe", exePath, 1024);
|
x = readlink("/proc/self/exe", exePath, 1024);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -52,6 +52,11 @@ limitations under the License.
|
|||||||
#include <sys/resource.h>
|
#include <sys/resource.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef _OPENBSD
|
||||||
|
extern char* __agentExecPath;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#include "ILibDuktape_ScriptContainer.h"
|
#include "ILibDuktape_ScriptContainer.h"
|
||||||
#include "ILibDuktapeModSearch.h"
|
#include "ILibDuktapeModSearch.h"
|
||||||
#include "ILibDuktape_EventEmitter.h"
|
#include "ILibDuktape_EventEmitter.h"
|
||||||
@@ -453,12 +458,16 @@ void ILibDuktape_ScriptContainer_CheckEmbedded(char **script, int *scriptLen)
|
|||||||
int x = readlink("/proc/curproc/file", exePath, sizeof(exePath));
|
int x = readlink("/proc/curproc/file", exePath, sizeof(exePath));
|
||||||
if (x < 0 || x >= sizeof(exePath))
|
if (x < 0 || x >= sizeof(exePath))
|
||||||
{
|
{
|
||||||
|
#ifdef _OPENBSD
|
||||||
|
strcpy_s(exePath, sizeof(exePath), __agentExecPath);
|
||||||
|
#else
|
||||||
printf("\nYou'll need to mount procfs, which isn't mounted by default on FreeBSD.\n");
|
printf("\nYou'll need to mount procfs, which isn't mounted by default on FreeBSD.\n");
|
||||||
printf("Add the following line to /etc/fstab\n");
|
printf("Add the following line to /etc/fstab\n");
|
||||||
printf(" proc /proc procfs rw 0 0\n\n");
|
printf(" proc /proc procfs rw 0 0\n\n");
|
||||||
printf("If you don't reboot after, then you can manually mount with the command:\n");
|
printf("If you don't reboot after, then you can manually mount with the command:\n");
|
||||||
printf(" mount -t procfs proc /proc\n\n");
|
printf(" mount -t procfs proc /proc\n\n");
|
||||||
ILIBCRITICALEXIT(246);
|
ILIBCRITICALEXIT(246);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
exePath[x] = 0;
|
exePath[x] = 0;
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -42,7 +42,11 @@ limitations under the License.
|
|||||||
#include <util.h>
|
#include <util.h>
|
||||||
#else
|
#else
|
||||||
#include <termios.h>
|
#include <termios.h>
|
||||||
|
#ifdef _OPENBSD
|
||||||
|
#include <util.h>
|
||||||
|
#else
|
||||||
#include <libutil.h>
|
#include <libutil.h>
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user