Check to make sure that we have inotify in libc, before looking for it in libinotify.
Cc: Paolo Bonzini <[email protected]> Cc: Marc-André Lureau <[email protected]> Cc: Daniel P. Berrange <[email protected]> Cc: Philippe Mathieu-Daudé <[email protected]> Signed-off-by: Warner Losh <[email protected]> --- FreeBSD 15 and newer now has a native inotify implementation. Check for it before checking for the wrapper libinotify library which is needed in FreeBSD 14 and earlier. Make the check dependent on symbols, not host version. Separate series because it's really independent of the two other patch series I have submitted and it is more important. --- Changes in v2: - Make simplifications suggested by Bonzini. - Link to v1: https://lore.kernel.org/qemu-devel/[email protected] --- meson.build | 14 +++++--------- util/meson.build | 6 +----- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/meson.build b/meson.build index 2d114e9018..191266d9be 100644 --- a/meson.build +++ b/meson.build @@ -2658,18 +2658,14 @@ else endif config_host_data.set('CONFIG_ASAN_IFACE_FIBER', have_asan_fiber) +inotify = not_found have_inotify_init = cc.has_header_symbol('sys/inotify.h', 'inotify_init') have_inotify_init1 = cc.has_header_symbol('sys/inotify.h', 'inotify_init1') -inotify = not_found -if (have_inotify_init or have_inotify_init1) and host_os == 'freebsd' - # libinotify-kqueue +if (have_inotify_init or have_inotify_init1) and not cc.has_function('inotify_init1') + # FreeBSD 14 and older need libinotify-kqueue wrapper inotify = cc.find_library('inotify') - if have_inotify_init - have_inotify_init = inotify.found() - endif - if have_inotify_init1 - have_inotify_init1 = inotify.found() - endif + have_inotify_init = have_inotify_init and inotify.found() + have_inotify_init1 = have_inotify_init1 and inotify.found() endif config_host_data.set('CONFIG_INOTIFY', have_inotify_init) config_host_data.set('CONFIG_INOTIFY1', have_inotify_init1) diff --git a/util/meson.build b/util/meson.build index 7c9445615d..e7a2a2a64c 100644 --- a/util/meson.build +++ b/util/meson.build @@ -102,11 +102,7 @@ if have_block util_ss.add(files('throttle.c')) util_ss.add(files('timed-average.c')) if config_host_data.get('CONFIG_INOTIFY1') - freebsd_dep = [] - if host_os == 'freebsd' - freebsd_dep = inotify - endif - util_ss.add(files('filemonitor-inotify.c'), freebsd_dep) + util_ss.add(files('filemonitor-inotify.c'), inotify) else util_ss.add(files('filemonitor-stub.c')) endif --- base-commit: 0b91040d23dc8820724a60c811223b777f3bc6b7 change-id: 20260210-freebsd-inotify-8bd07b2c84d1 Best regards, -- Warner Losh <[email protected]>
