Skip to content

Commit

Permalink
Merge pull request #48 from edenist/add-freebsd-support
Browse files Browse the repository at this point in the history
Add freebsd support
  • Loading branch information
fangfufu authored Nov 1, 2019
2 parents 5a36119 + 068d5f1 commit 80c0b69
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 0 deletions.
20 changes: 20 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,15 @@ VERSION=1.2.0
CFLAGS += -O2 -Wall -Wextra -Wshadow -rdynamic -D_GNU_SOURCE\
-D_FILE_OFFSET_BITS=64 -DVERSION=\"$(VERSION)\"\
`pkg-config --cflags-only-I gumbo libcurl fuse uuid expat`
LDFLAGS += `pkg-config --libs-only-L gumbo libcurl fuse uuid expat`
LIBS = -pthread -lgumbo -lcurl -lfuse -lcrypto -luuid -lexpat
COBJS = main.o network.o fuse_local.o link.o cache.o util.o sonic.o

OS := $(shell uname)
ifeq ($(OS),FreeBSD)
LIBS += -lexecinfo
endif

prefix ?= /usr/local

all: httpdirfs
Expand All @@ -17,10 +23,19 @@ httpdirfs: $(COBJS)
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)

install:
ifeq ($(OS),Linux)
install -m 755 -D httpdirfs \
$(DESTDIR)$(prefix)/bin/httpdirfs
install -m 644 -D doc/man/httpdirfs.1 \
$(DESTDIR)$(prefix)/share/man/man1/httpdirfs.1
endif
ifeq ($(OS),FreeBSD)
install -m 755 httpdirfs \
$(DESTDIR)$(prefix)/bin/httpdirfs
gzip -f -k doc/man/httpdirfs.1
install -m 644 doc/man/httpdirfs.1.gz \
$(DESTDIR)$(prefix)/man/man1/httpdirfs.1.gz
endif

doc:
doxygen Doxyfile
Expand All @@ -34,7 +49,12 @@ distclean: clean

uninstall:
-rm -f $(DESTDIR)$(prefix)/bin/httpdirfs
ifeq ($(OS),Linux)
-rm -f $(DESTDIR)$(prefix)/share/man/man1/httpdirfs.1
endif
ifeq ($(OS),FreeBSD)
-rm -f $(DESTDIR)$(prefix)/man/man1/httpdirfs.1.gz
endif

depend: .depend
.depend: src/*.c
Expand Down
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,24 @@ OpenSSL 1.1 do not.

You can check your SSL engine version using the ``--version`` flag.

### FreeBSD
The following dependencies are required from either pkg or ports:

Packages:

gmake fusefs-libs gumbo e2fsprogs-libuuid curl expat

Ports:

devel/gmake sysutils/fusefs-libs devel/gumbo misc/e2fsprogs-libuuid ftp/curl textproc/expat2

**Note:** If you want brotli compression support, you will need to install curl from ports and enable the option.

You can then build + install with:

gmake
sudo gmake install

## Usage

./httpdirfs -f --cache $URL $MOUNT_POINT
Expand Down

0 comments on commit 80c0b69

Please sign in to comment.