=== modified file 'configure.ac' --- configure.ac 2012-01-08 18:50:09 +0000 +++ configure.ac 2012-04-09 17:23:52 +0000 @@ -84,7 +84,6 @@ fi dnl }}} -have_inotify="no" build_gui="no" build_banshee_plugin="no" build_itunes_plugin="no" @@ -113,20 +112,11 @@ PKG_CHECK_MODULES(X_SESSION, sm) AC_SUBST([X_SESSION_LIBS]) - have_inotify=yes - - case $host in - *-*-kfreebsd*) - have_inotify=no - ;; - esac - build_gui="yes" build_session_plugin="yes" platform="LINUX" ;; *-*-darwin*) - have_inotify="no" build_gui="no" build_session_plugin="no" build_itunes_plugin="yes" @@ -136,6 +126,8 @@ ;; esac +AC_CHECK_HEADER([sys/inotify.h]) + dnl file {{{ AC_ARG_ENABLE(file, AC_HELP_STRING([--enable-file], [Build the file plugin (default: auto)]), @@ -235,7 +227,7 @@ AM_CONDITIONAL(HAVE_BANSHEE, test "x$have_banshee" = "xyes") AM_CONDITIONAL(HAVE_BEAGLE, test "x$have_beagle" = "xyes") AM_CONDITIONAL(HAVE_DB4O, test "x$have_file" = "xyes") -AM_CONDITIONAL(HAVE_INOTIFY, test "x$have_inotify" = "xyes") +AM_CONDITIONAL(HAVE_INOTIFY, test "x$ac_cv_header_sys_inotify_h" = "xyes") AM_CONDITIONAL(HAVE_MUINE, test "x$have_muine" = "xyes") dnl We need to copy Banshee.CollectionIndexer.dll; it's not in the GAC === modified file 'libtangglue/Makefile.am' --- libtangglue/Makefile.am 2009-08-06 20:15:56 +0000 +++ libtangglue/Makefile.am 2012-04-09 17:31:38 +0000 @@ -9,9 +9,7 @@ gluelib_LTLIBRARIES = libtangglue.la libtangglue_la_SOURCES = \ - src/inotify.h \ - src/inotify-glue.c \ - src/inotify-syscalls.h + src/inotify-glue.c libtangglue_la_LDFLAGS = -export-dynamic -module -avoid-version libtangglue_la_LIBADD = $(LIBTANGGLUE_LIBS) @@ -19,4 +17,4 @@ maintainer-clean-local: rm -f Makefile.in -endif \ No newline at end of file +endif === modified file 'libtangglue/libtangglue.cproj' --- libtangglue/libtangglue.cproj 2009-08-08 13:36:40 +0000 +++ libtangglue/libtangglue.cproj 2012-04-09 17:27:59 +0000 @@ -29,10 +29,6 @@ Bin - - - - - \ No newline at end of file + === modified file 'libtangglue/src/inotify-glue.c' --- libtangglue/src/inotify-glue.c 2009-08-06 06:29:42 +0000 +++ libtangglue/src/inotify-glue.c 2012-04-09 17:30:17 +0000 @@ -36,9 +36,7 @@ #include #include #include - -#include "inotify.h" -#include "inotify-syscalls.h" +#include #define PROCFS_PREFIX "/proc/sys/fs/inotify" @@ -103,7 +101,7 @@ int -inotify_glue_watch (int fd, const char *filename, __u32 mask) +inotify_glue_watch (int fd, const char *filename, uint32_t mask) { int wd; @@ -121,7 +119,7 @@ int -inotify_glue_ignore (int fd, __u32 wd) +inotify_glue_ignore (int fd, uint32_t wd) { int ret; === removed file 'libtangglue/src/inotify-syscalls.h' --- libtangglue/src/inotify-syscalls.h 2009-08-06 06:29:42 +0000 +++ libtangglue/src/inotify-syscalls.h 1970-01-01 00:00:00 +0000 @@ -1,65 +0,0 @@ -#ifndef _LINUX_INOTIFY_SYSCALLS_H -#define _LINUX_INOTIFY_SYSCALLS_H - -#include - -#if defined(__i386__) -# define __NR_inotify_init 291 -# define __NR_inotify_add_watch 292 -# define __NR_inotify_rm_watch 293 -#elif defined(__x86_64__) -# define __NR_inotify_init 253 -# define __NR_inotify_add_watch 254 -# define __NR_inotify_rm_watch 255 -#elif defined(__powerpc__) || defined(__powerpc64__) -# define __NR_inotify_init 275 -# define __NR_inotify_add_watch 276 -# define __NR_inotify_rm_watch 277 -#elif defined (__ia64__) -# define __NR_inotify_init 1277 -# define __NR_inotify_add_watch 1278 -# define __NR_inotify_rm_watch 1279 -#elif defined (__s390__) || defined (__s390x__) -# define __NR_inotify_init 284 -# define __NR_inotify_add_watch 285 -# define __NR_inotify_rm_watch 286 -#elif defined (__alpha__) -# define __NR_inotify_init 444 -# define __NR_inotify_add_watch 445 -# define __NR_inotify_rm_watch 446 -#elif defined (__sparc__) || defined (__sparc64__) -# define __NR_inotify_init 151 -# define __NR_inotify_add_watch 152 -# define __NR_inotify_rm_watch 156 -#elif defined (__arm__) -# define __NR_inotify_init 316 -# define __NR_inotify_add_watch 317 -# define __NR_inotify_rm_watch 318 -#elif defined (__SH4__) -# define __NR_inotify_init 290 -# define __NR_inotify_add_watch 291 -# define __NR_inotify_rm_watch 292 -#elif defined (__SH5__) -# define __NR_inotify_init 318 -# define __NR_inotify_add_watch 319 -# define __NR_inotify_rm_watch 320 -#else -# error "Unsupported architecture!" -#endif - -static inline int inotify_init (void) -{ - return syscall (__NR_inotify_init); -} - -static inline int inotify_add_watch (int fd, const char *name, __u32 mask) -{ - return syscall (__NR_inotify_add_watch, fd, name, mask); -} - -static inline int inotify_rm_watch (int fd, __u32 wd) -{ - return syscall (__NR_inotify_rm_watch, fd, wd); -} - -#endif /* _LINUX_INOTIFY_SYSCALLS_H */ === removed file 'libtangglue/src/inotify.h' --- libtangglue/src/inotify.h 2009-08-06 06:29:42 +0000 +++ libtangglue/src/inotify.h 1970-01-01 00:00:00 +0000 @@ -1,108 +0,0 @@ -/* - * Inode based directory notification for Linux - * - * Copyright (C) 2005 John McCutchan - */ - -#ifndef _LINUX_INOTIFY_H -#define _LINUX_INOTIFY_H - -#include - -/* - * struct inotify_event - structure read from the inotify device for each event - * - * When you are watching a directory, you will receive the filename for events - * such as IN_CREATE, IN_DELETE, IN_OPEN, IN_CLOSE, ..., relative to the wd. - */ -struct inotify_event { - __s32 wd; /* watch descriptor */ - __u32 mask; /* watch mask */ - __u32 cookie; /* cookie to synchronize two events */ - __u32 len; /* length (including nulls) of name */ - char name[0]; /* stub for possible name */ -}; - -/* the following are legal, implemented events that user-space can watch for */ -#define IN_ACCESS 0x00000001 /* File was accessed */ -#define IN_MODIFY 0x00000002 /* File was modified */ -#define IN_ATTRIB 0x00000004 /* Metadata changed */ -#define IN_CLOSE_WRITE 0x00000008 /* Writtable file was closed */ -#define IN_CLOSE_NOWRITE 0x00000010 /* Unwrittable file closed */ -#define IN_OPEN 0x00000020 /* File was opened */ -#define IN_MOVED_FROM 0x00000040 /* File was moved from X */ -#define IN_MOVED_TO 0x00000080 /* File was moved to Y */ -#define IN_CREATE 0x00000100 /* Subfile was created */ -#define IN_DELETE 0x00000200 /* Subfile was deleted */ -#define IN_DELETE_SELF 0x00000400 /* Self was deleted */ - -/* the following are legal events. they are sent as needed to any watch */ -#define IN_UNMOUNT 0x00002000 /* Backing fs was unmounted */ -#define IN_Q_OVERFLOW 0x00004000 /* Event queued overflowed */ -#define IN_IGNORED 0x00008000 /* File was ignored */ - -/* helper events */ -#define IN_CLOSE (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE) /* close */ -#define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO) /* moves */ - -/* special flags */ -#define IN_ISDIR 0x40000000 /* event occurred against dir */ -#define IN_ONESHOT 0x80000000 /* only send event once */ - -/* - * All of the events - we build the list by hand so that we can add flags in - * the future and not break backward compatibility. Apps will get only the - * events that they originally wanted. Be sure to add new events here! - */ -#define IN_ALL_EVENTS (IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE | \ - IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM | \ - IN_MOVED_TO | IN_DELETE | IN_CREATE | IN_DELETE_SELF) - -#ifdef __KERNEL__ - -#include -#include -#include - -#ifdef CONFIG_INOTIFY - -extern void inotify_inode_queue_event(struct inode *, __u32, __u32, - const char *); -extern void inotify_dentry_parent_queue_event(struct dentry *, __u32, __u32, - const char *); -extern void inotify_unmount_inodes(struct list_head *); -extern void inotify_inode_is_dead(struct inode *); -extern u32 inotify_get_cookie(void); - -#else - -static inline void inotify_inode_queue_event(struct inode *inode, - __u32 mask, __u32 cookie, - const char *filename) -{ -} - -static inline void inotify_dentry_parent_queue_event(struct dentry *dentry, - __u32 mask, __u32 cookie, - const char *filename) -{ -} - -static inline void inotify_unmount_inodes(struct list_head *list) -{ -} - -static inline void inotify_inode_is_dead(struct inode *inode) -{ -} - -static inline u32 inotify_get_cookie(void) -{ - return 0; -} - -#endif /* CONFIG_INOTIFY */ - -#endif /* __KERNEL __ */ - -#endif /* _LINUX_INOTIFY_H */