no-op for function to return the executable
missing ifaddrs.h header
we don't have sockaddr_ll

Index: rts/System/Platform/Misc.cpp
--- rts/System/Platform/Misc.cpp.orig
+++ rts/System/Platform/Misc.cpp
@@ -31,6 +31,12 @@
 #elif defined( __FreeBSD__)
 	#include <sys/sysctl.h>
 
+#elif defined(__OpenBSD__)
+	#include <ifaddrs.h>
+	#include <sys/types.h>
+	#include <sys/sysctl.h>
+	#include <iostream>
+
 #else
 
 #endif
@@ -219,6 +225,8 @@ namespace Platform
 		if (sysctl(mib, sizeof(mib) / sizeof(mib[0]), buf, &cb, nullptr, 0) == 0)
 			procExeFilePath = buf;
 
+		#elif defined(__OpenBSD__)
+		return "/usr/local/bin/spring";
 
 		#else
 		#error implement this
@@ -247,7 +255,7 @@ namespace Platform
 		// this will only be used if moduleFilePath stays empty
 		const char* error = nullptr;
 
-	#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__)
+	#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__)
 		#ifdef __APPLE__
 		#define SHARED_LIBRARY_EXTENSION "dylib"
 		#else
@@ -381,6 +389,8 @@ namespace Platform
 		return "Linux";
 		#elif defined(__FreeBSD__)
 		return "FreeBSD";
+		#elif defined(__OpenBSD__)
+		return "OpenBSD";
 		#elif defined(__APPLE__)
 		return "MacOS";
 		#else
@@ -714,7 +724,7 @@ namespace Platform
 		return (GetMacType(macAddr, 0), macAddr);
 	}
 
-	#elif defined(__APPLE__)
+	#elif defined(__APPLE__) || defined(__OpenBSD__)
 
 	std::array<uint8_t, 6> GetRawMacAddr() {
 		// TODO: http://lists.freebsd.org/pipermail/freebsd-hackers/2004-June/007415.html
