diff options
| author | alpha123 <turkchess123@gmail.com> | 2015-11-02 13:22:00 -0700 |
|---|---|---|
| committer | alpha123 <turkchess123@gmail.com> | 2015-11-03 11:51:27 -0700 |
| commit | 97c92368bc0efe85d006e367d97fd88da5a13ecf (patch) | |
| tree | 6ca9292084da13fc3416354862cfbae263d8876e | |
| parent | ba8fbb67189b78c1e552ccb2ebcc84a793704b11 (diff) | |
Build on FreeBSD
| -rw-r--r-- | src/Makefile | 4 | ||||
| -rw-r--r-- | src/file.cc | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/Makefile b/src/Makefile index f3b32238..78eb6d25 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 ifneq (,$(findstring CYGWIN,$(os))) diff --git a/src/file.cc b/src/file.cc index ced88614..0e6b1e61 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); |
