From 7b343eaf5042513e14f4e2f0d0b698ea7c851e15 Mon Sep 17 00:00:00 2001
From: Viliam Mateicka <viliam.mateicka@gmail.com>
Date: Sat, 24 Oct 2009 18:24:29 +0200
Subject: [PATCH] add --disable-inotify for configure to disable inotify when
 autodetected

---
 Makefile.am  |  2 +-
 configure.ac | 20 +++++++++++++++++++-
 src/main.c   |  7 +++++++
 3 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 480acdc91..cf8fd64d4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -294,7 +294,7 @@ src_mpd_SOURCES = \
 	src/stored_playlist.c \
 	src/timer.c
 
-if HAVE_INOTIFY
+if ENABLE_INOTIFY
 src_mpd_SOURCES += \
 	src/inotify_source.c \
 	src/inotify_queue.c \
diff --git a/configure.ac b/configure.ac
index 3ffe89b03..792fcd675 100644
--- a/configure.ac
+++ b/configure.ac
@@ -121,8 +121,19 @@ AC_CHECK_HEADERS(locale.h)
 AC_CHECK_HEADERS(valgrind/memcheck.h)
 
 AC_CHECK_FUNCS(inotify_init)
-AM_CONDITIONAL(HAVE_INOTIFY, test x$ac_cv_func_inotify_init = xyes)
+AC_ARG_ENABLE(inotify,
+	AS_HELP_STRING([--disable-inotify],
+		[disable support Inotify automatic database update (default: enabled) ]),,
+	[enable_inotify=yes])
 
+if test x$ac_cv_func_inotify_init = xno; then
+	enable_inotify=no
+fi
+
+if test x$enable_inotify = xyes; then
+	AC_DEFINE([ENABLE_INOTIFY], 1, [Define to enable inotify support])
+fi
+AM_CONDITIONAL(ENABLE_INOTIFY, test x$enable_inotify = xyes)
 
 dnl
 dnl mandatory libraries
@@ -273,6 +284,7 @@ fi
 AM_CONDITIONAL(ENABLE_SQLITE, test x$enable_sqlite = xyes)
 
 
+
 dnl
 dnl input plugins
 dnl
@@ -1624,6 +1636,12 @@ else
         echo " libcue support ................disabled"
 fi
 
+if test x$enable_inotify = xyes; then
+        echo " Inotify support (autoupdate) ..enabled"
+else
+        echo " Inotify support (autoupdate) ..disabled"
+fi
+
 echo ""
 echo "##########################################"
 echo ""
diff --git a/src/main.c b/src/main.c
index dfd5d49d8..49190af71 100644
--- a/src/main.c
+++ b/src/main.c
@@ -56,7 +56,10 @@
 #include "dirvec.h"
 #include "songvec.h"
 #include "tag_pool.h"
+
+#ifdef ENABLE_INOTIFY
 #include "inotify_update.h"
+#endif
 
 #ifdef ENABLE_SQLITE
 #include "sticker.h"
@@ -369,8 +372,10 @@ int main(int argc, char *argv[])
 
 	glue_state_file_init();
 
+#ifdef ENABLE_INOTIFY
 	if (mapper_has_music_directory())
 		mpd_inotify_init();
+#endif
 
 	config_global_check();
 
@@ -386,7 +391,9 @@ int main(int argc, char *argv[])
 
 	g_main_loop_unref(main_loop);
 
+#ifdef ENABLE_INOTIFY
 	mpd_inotify_finish();
+#endif
 
 	state_file_finish();
 	pc_kill();