Skip to content

Commit

Permalink
Merge pull request #921 from tleedjarv/inotify-bsd
Browse files Browse the repository at this point in the history
Enable building inotify fsmonitor on BSDs
  • Loading branch information
gdt authored Feb 14, 2024
2 parents ee10827 + 52832eb commit 1c7922b
Show file tree
Hide file tree
Showing 11 changed files with 39 additions and 21 deletions.
4 changes: 4 additions & 0 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ Please refer to instructions provided by the repository.

- lablgtk3 and its prerequisites (ocamlfind, GTK 3 and its dependencies)

##### Optional, on BSDs

- libinotify (optional, for building unison-fsmonitor)

##### Optional, for building the user manual

- LaTeX
Expand Down
38 changes: 19 additions & 19 deletions src/.depend
Original file line number Diff line number Diff line change
Expand Up @@ -357,36 +357,36 @@ fs.cmx : \
fs.cmi : \
system/system_intf.cmo \
fspath.cmi
fsmonitor/linux/inotify.cmo : \
fsmonitor/linux/inotify.cmi
fsmonitor/linux/inotify.cmx : \
fsmonitor/linux/inotify.cmi
fsmonitor/linux/inotify.cmi :
fsmonitor/linux/lwt_inotify.cmo : \
fsmonitor/inotify/inotify.cmo : \
fsmonitor/inotify/inotify.cmi
fsmonitor/inotify/inotify.cmx : \
fsmonitor/inotify/inotify.cmi
fsmonitor/inotify/inotify.cmi :
fsmonitor/inotify/lwt_inotify.cmo : \
lwt/lwt_unix.cmi \
lwt/lwt.cmi \
fsmonitor/linux/inotify.cmi \
fsmonitor/linux/lwt_inotify.cmi
fsmonitor/linux/lwt_inotify.cmx : \
fsmonitor/inotify/inotify.cmi \
fsmonitor/inotify/lwt_inotify.cmi
fsmonitor/inotify/lwt_inotify.cmx : \
lwt/lwt_unix.cmx \
lwt/lwt.cmx \
fsmonitor/linux/inotify.cmx \
fsmonitor/linux/lwt_inotify.cmi
fsmonitor/linux/lwt_inotify.cmi : \
fsmonitor/inotify/inotify.cmx \
fsmonitor/inotify/lwt_inotify.cmi
fsmonitor/inotify/lwt_inotify.cmi : \
lwt/lwt.cmi \
fsmonitor/linux/inotify.cmi
fsmonitor/linux/watcher.cmo : \
fsmonitor/inotify/inotify.cmi
fsmonitor/inotify/watcher.cmo : \
fsmonitor/watchercommon.cmi \
lwt/lwt_unix.cmi \
fsmonitor/linux/lwt_inotify.cmi \
fsmonitor/inotify/lwt_inotify.cmi \
lwt/lwt.cmi \
fsmonitor/linux/inotify.cmi
fsmonitor/linux/watcher.cmx : \
fsmonitor/inotify/inotify.cmi
fsmonitor/inotify/watcher.cmx : \
fsmonitor/watchercommon.cmx \
lwt/lwt_unix.cmx \
fsmonitor/linux/lwt_inotify.cmx \
fsmonitor/inotify/lwt_inotify.cmx \
lwt/lwt.cmx \
fsmonitor/linux/inotify.cmx
fsmonitor/inotify/inotify.cmx
fsmonitor/solaris/watcher.cmo : \
fsmonitor/watchercommon.cmi \
ubase/safelist.cmi \
Expand Down
18 changes: 16 additions & 2 deletions src/Makefile.OCaml
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,21 @@ clean::
NAME_FSM = $(NAME)-fsmonitor

ifeq ($(OSARCH),Linux)
FSMDIR = fsmonitor/linux
FSMDIR = fsmonitor/inotify
endif

ifneq ($(findstring $(OSARCH),FreeBSD OpenBSD NetBSD DragonFly),)
LIBINOTIFY_LIB:=-cclib '$(shell pkg-config --libs libinotify 2> /dev/null || printf ' -linotify')'
LIBINOTIFY_INC:=-ccopt '$(shell pkg-config --cflags libinotify 2> /dev/null)'
FOUND_LIBINOTIFY := $(shell { printf '' > inotifytest__.ml ;\
$(CAMLC) $(CAMLCFLAGS) $(CAMLLDFLAGS) $(LIBINOTIFY_LIB) \
-o inotifytest__ inotifytest__.ml > /dev/null 2>&1 && printf true ; } ;\
rm -f inotifytest__.ml inotifytest__.cm[oix] inotifytest__.o inotifytest__ > /dev/null 2>&1)
ifeq ($(FOUND_LIBINOTIFY), true)
FSMDIR = fsmonitor/inotify
$(NAME_FSM)$(EXEC_EXT): CAMLCFLAGS += $(LIBINOTIFY_INC)
$(NAME_FSM)$(EXEC_EXT): CLIBS += $(LIBINOTIFY_LIB)
endif
endif

ifeq ($(OSARCH),SunOS)
Expand All @@ -350,7 +364,7 @@ else
$(info fsmonitor implementation is not available or not configured for this system. fsmonitor will not be built.)
endif

DEP_INCLFLAGS+=-I fsmonitor -I fsmonitor/linux -I fsmonitor/solaris -I fsmonitor/windows
DEP_INCLFLAGS+=-I fsmonitor -I fsmonitor/inotify -I fsmonitor/solaris -I fsmonitor/windows

####################################################################
### Dependencies
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit 1c7922b

Please sign in to comment.