summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2015-11-04 19:49:21 +0000
committerMaxime Coste <frrrwww@gmail.com>2015-11-04 19:49:21 +0000
commit2ce0a5a8a8ec16ece4d18f42f4570884d08be178 (patch)
tree6c2c3244f1081fbc1ff4756dec00507ae4366333 /src
parent1c831b41da04d44aca5afe35e67b4b983b2f2a21 (diff)
parent97c92368bc0efe85d006e367d97fd88da5a13ecf (diff)
Merge https://github.com/alpha123/kakoune
Diffstat (limited to 'src')
-rw-r--r--src/Makefile4
-rw-r--r--src/file.cc9
2 files changed, 13 insertions, 0 deletions
diff --git a/src/Makefile b/src/Makefile
index ef30d3ad..bbdf0879 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -28,6 +28,10 @@ os := $(shell uname)
ifeq ($(os),Darwin)
LIBS += -lncurses -lboost_regex-mt
+else ifeq ($(os),FreeBSD)
+ LIBS += -ltinfow -lncursesw -lboost_regex
+ CPPFLAGS += -I/usr/local/include
+ LDFLAGS += -L/usr/local/lib
else ifeq ($(os),Haiku)
LIBS += -lncursesw -lboost_regex -lnetwork -lbe
else ifeq ($(os),DragonFly)
diff --git a/src/file.cc b/src/file.cc
index 3c51c002..1daa298b 100644
--- a/src/file.cc
+++ b/src/file.cc
@@ -12,6 +12,10 @@
#include <unistd.h>
#include <dirent.h>
+#if defined(__FreeBSD__)
+#include <sys/sysctl.h>
+#endif
+
#if defined(__APPLE__)
#include <mach-o/dyld.h>
#define st_mtim st_mtimespec
@@ -491,6 +495,11 @@ String get_kak_binary_path()
kak_assert(res != -1);
buffer[res] = '\0';
return buffer;
+#elif defined(__FreeBSD__)
+ int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1};
+ size_t res = sizeof(buffer);
+ sysctl(mib, 4, buffer, &res, NULL, 0);
+ return buffer;
#elif defined(__APPLE__)
uint32_t bufsize = 2048;
_NSGetExecutablePath(buffer, &bufsize);