Disable wxUSE_FSWATCHER under Unix if neither inotify nor kqueue is available.

Don't define wxUSE_FSWATCHER as 1 in configure if we can't implement it.

Also add a check to wx/unix/chkconf.h to verify that we didn't end up with an
inconsistent configuration somehow.

Closes #11670.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63306 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2010-01-29 13:07:26 +00:00
parent 1682f86006
commit 96e790a567
3 changed files with 57 additions and 27 deletions

View File

@@ -5562,22 +5562,33 @@ dnl File system watcher checks
dnl ---------------------------------------------------------------------------
if test "$wxUSE_FSWATCHER" = "yes"; then
AC_DEFINE(wxUSE_FSWATCHER)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS fswatcher"
if test "$wxUSE_UNIX" = "yes"; then
AC_CHECK_HEADERS(sys/inotify.h,,, [AC_INCLUDES_DEFAULT()])
if test "$ac_cv_header_sys_inotify_h" = "yes"; then
AC_DEFINE(wxHAS_INOTIFY)
else
AC_CHECK_HEADERS(sys/event.h,,, [AC_INCLUDES_DEFAULT()])
if test "$ac_cv_header_sys_event_h" = "yes"; then
AC_DEFINE(wxHAS_KQUEUE)
dnl wxFileSystemWatcher is always available under MSW but we need either
dnl inotify or kqueue support in the system for it under Unix (this
dnl includes OS X which does have kqueue but no other platforms)
if test "$wxUSE_MSW" != "1"; then
if test "$wxUSE_UNIX" = "yes"; then
AC_CHECK_HEADERS(sys/inotify.h,,, [AC_INCLUDES_DEFAULT()])
if test "$ac_cv_header_sys_inotify_h" = "yes"; then
AC_DEFINE(wxHAS_INOTIFY)
else
AC_MSG_WARN([No native wxFileSystemWatcher implementation available for on this platform])
AC_CHECK_HEADERS(sys/event.h,,, [AC_INCLUDES_DEFAULT()])
if test "$ac_cv_header_sys_event_h" = "yes"; then
AC_DEFINE(wxHAS_KQUEUE)
else
wxUSE_FSWATCHER=no
fi
fi
else
wxUSE_FSWATCHER=no
fi
fi
if test "$wxUSE_FSWATCHER" = "yes"; then
AC_DEFINE(wxUSE_FSWATCHER)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS fswatcher"
else
AC_MSG_WARN([wxFileSystemWatcher won't be available on this platform])
fi
fi
dnl ---------------------------------------------------------------------------