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:
24
configure
vendored
24
configure
vendored
@@ -42595,12 +42595,7 @@ fi
|
||||
|
||||
|
||||
if test "$wxUSE_FSWATCHER" = "yes"; then
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define wxUSE_FSWATCHER 1
|
||||
_ACEOF
|
||||
|
||||
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS fswatcher"
|
||||
|
||||
if test "$wxUSE_MSW" != "1"; then
|
||||
if test "$wxUSE_UNIX" = "yes"; then
|
||||
|
||||
for ac_header in sys/inotify.h
|
||||
@@ -42730,10 +42725,23 @@ done
|
||||
_ACEOF
|
||||
|
||||
else
|
||||
{ echo "$as_me:$LINENO: WARNING: No native wxFileSystemWatcher implementation available for on this platform" >&5
|
||||
echo "$as_me: WARNING: No native wxFileSystemWatcher implementation available for on this platform" >&2;}
|
||||
wxUSE_FSWATCHER=no
|
||||
fi
|
||||
fi
|
||||
else
|
||||
wxUSE_FSWATCHER=no
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$wxUSE_FSWATCHER" = "yes"; then
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define wxUSE_FSWATCHER 1
|
||||
_ACEOF
|
||||
|
||||
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS fswatcher"
|
||||
else
|
||||
{ echo "$as_me:$LINENO: WARNING: wxFileSystemWatcher won't be available on this platform" >&5
|
||||
echo "$as_me: WARNING: wxFileSystemWatcher won't be available on this platform" >&2;}
|
||||
fi
|
||||
fi
|
||||
|
||||
|
19
configure.in
19
configure.in
@@ -5562,9 +5562,10 @@ dnl File system watcher checks
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
if test "$wxUSE_FSWATCHER" = "yes"; then
|
||||
AC_DEFINE(wxUSE_FSWATCHER)
|
||||
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS fswatcher"
|
||||
|
||||
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
|
||||
@@ -5574,9 +5575,19 @@ if test "$wxUSE_FSWATCHER" = "yes"; then
|
||||
if test "$ac_cv_header_sys_event_h" = "yes"; then
|
||||
AC_DEFINE(wxHAS_KQUEUE)
|
||||
else
|
||||
AC_MSG_WARN([No native wxFileSystemWatcher implementation available for on this platform])
|
||||
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
|
||||
|
||||
|
@@ -21,6 +21,17 @@
|
||||
# endif
|
||||
#endif /* wxUSE_CONSOLE_EVENTLOOP */
|
||||
|
||||
#if wxUSE_FSWATCHER
|
||||
# if !defined(wxHAS_INOTIFY) && !defined(wxHAS_KQUEUE)
|
||||
# ifdef wxABORT_ON_CONFIG_ERROR
|
||||
# error "wxFileSystemWatcher requires either inotify() or kqueue()"
|
||||
# else
|
||||
# undef wxUSE_FSWATCHER
|
||||
# define wxUSE_FSWATCHER 0
|
||||
# endif
|
||||
# endif
|
||||
#endif /* wxUSE_FSWATCHER */
|
||||
|
||||
#if wxUSE_GSTREAMER
|
||||
# if !wxUSE_THREADS
|
||||
# ifdef wxABORT_ON_CONFIG_ERROR
|
||||
|
Reference in New Issue
Block a user