diff options
| -rw-r--r-- | .gitignore | 4 | ||||
| -rw-r--r-- | fs/Makefile | 7 | ||||
| -rw-r--r-- | fs/tabfs.c | 2 | ||||
| -rwxr-xr-x | install.sh | 8 | ||||
| -rw-r--r-- | tabfs.md | 2 | 
5 files changed, 21 insertions, 2 deletions
| @@ -2,4 +2,6 @@  scratch  fs/tabfs  fs/tabfs.dSYM -test/test
\ No newline at end of file +fs/log.txt +fs/mnt +test/test diff --git a/fs/Makefile b/fs/Makefile index e5a4b18..97ca01a 100644 --- a/fs/Makefile +++ b/fs/Makefile @@ -4,6 +4,9 @@ TARGETS = tabfs  OSXFUSE_ROOT = /usr/local  #OSXFUSE_ROOT = /opt/local +# Root for libraries from FreeBSD's ports +FREEBSD_ROOT = /usr/local +  CFLAGS_EXTRA = -DFUSE_USE_VERSION=26 -D_FILE_OFFSET_BITS=64 -Wall -Wno-unused-function -g  ifeq ($(shell uname -s),Linux) @@ -14,6 +17,10 @@ ifeq ($(shell uname -s),Darwin)  	CFLAGS = -I$(OSXFUSE_ROOT)/include/osxfuse/fuse -L$(OSXFUSE_ROOT)/lib -D_DARWIN_USE_64_BIT_INODE $(CFLAGS_EXTRA)  	LIBS = -losxfuse  endif +ifeq ($(shell uname -s),FreeBSD) +	CFLAGS += -L$(FREEBSD_ROOT)/lib -I$(FREEBSD_ROOT)/include $(CFLAGS_EXTRA) +	LIBS = -lfuse +endif  all: $(TARGETS) @@ -216,6 +216,8 @@ int main(int argc, char **argv) {      system(killcmd);  #ifdef __APPLE__      system("diskutil umount force mnt > /dev/null"); +#elif __FreeBSD__ +    system("umount -f mnt");  #else      system("fusermount -u mnt");  #endif @@ -1,4 +1,6 @@ -#!/bin/bash -eux +#!/usr/bin/env bash + +set -eux  if [[ "$#" -lt 1 || (            ! ( ( "$1" == "firefox" && "$#" -eq 1 ) || @@ -16,10 +18,14 @@ BROWSER="$(echo $1 | tr '[:upper:]' '[:lower:]')"  case "$OS $BROWSER" in      "Linux firefox")          MANIFEST_LOCATION="$HOME/.mozilla/native-messaging-hosts";; +    "FreeBSD firefox") +        MANIFEST_LOCATION="$HOME/.mozilla/native-messaging-hosts";;      "Darwin firefox")          MANIFEST_LOCATION="$HOME/Library/Application Support/Mozilla/NativeMessagingHosts";;      "Linux chrome")          MANIFEST_LOCATION="$HOME/.config/google-chrome/NativeMessagingHosts";; +    "FreeBSD chromium") +        MANIFEST_LOCATION="$HOME/.config/chromium/NativeMessagingHosts";;      "Linux chromium")          MANIFEST_LOCATION="$HOME/.config/chromium/NativeMessagingHosts";;      "Darwin chrome") @@ -324,6 +324,8 @@ $ mkdir mnt  $ make  ``` +(GNU Make is required, so use gmake on FreeBSD) +  Now install the native messaging host into your browser, so the  extension can launch and talk to the filesystem: | 
