meson: Link with libinotify on FreeBSD
make vm-build-freebsd fails with: ld: error: undefined symbol: inotify_init1 >>> referenced by filemonitor-inotify.c:183 (../src/util/filemonitor-inotify.c:183) >>> util_filemonitor-inotify.c.o:(qemu_file_monitor_new) in archive libqemuutil.a On FreeBSD the inotify functions are defined in libinotify.so. Add it to the dependencies. Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-ID: <20240206002344.12372-5-iii@linux.ibm.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
3faebbcd64
commit
a1a9800e97
23
meson.build
23
meson.build
@ -2384,6 +2384,22 @@ else
|
||||
endif
|
||||
config_host_data.set('CONFIG_ASAN_IFACE_FIBER', have_asan_fiber)
|
||||
|
||||
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
|
||||
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
|
||||
endif
|
||||
config_host_data.set('CONFIG_INOTIFY', have_inotify_init)
|
||||
config_host_data.set('CONFIG_INOTIFY1', have_inotify_init1)
|
||||
|
||||
# has_header_symbol
|
||||
config_host_data.set('CONFIG_BLKZONED',
|
||||
cc.has_header_symbol('linux/blkzoned.h', 'BLKOPENZONE'))
|
||||
@ -2400,10 +2416,6 @@ config_host_data.set('CONFIG_FIEMAP',
|
||||
config_host_data.set('CONFIG_GETRANDOM',
|
||||
cc.has_function('getrandom') and
|
||||
cc.has_header_symbol('sys/random.h', 'GRND_NONBLOCK'))
|
||||
config_host_data.set('CONFIG_INOTIFY',
|
||||
cc.has_header_symbol('sys/inotify.h', 'inotify_init'))
|
||||
config_host_data.set('CONFIG_INOTIFY1',
|
||||
cc.has_header_symbol('sys/inotify.h', 'inotify_init1'))
|
||||
config_host_data.set('CONFIG_PRCTL_PR_SET_TIMERSLACK',
|
||||
cc.has_header_symbol('sys/prctl.h', 'PR_SET_TIMERSLACK'))
|
||||
config_host_data.set('CONFIG_RTNETLINK',
|
||||
@ -4407,6 +4419,9 @@ summary_info += {'libudev': libudev}
|
||||
summary_info += {'FUSE lseek': fuse_lseek.found()}
|
||||
summary_info += {'selinux': selinux}
|
||||
summary_info += {'libdw': libdw}
|
||||
if host_os == 'freebsd'
|
||||
summary_info += {'libinotify-kqueue': inotify}
|
||||
endif
|
||||
summary(summary_info, bool_yn: true, section: 'Dependencies')
|
||||
|
||||
if host_arch == 'unknown'
|
||||
|
@ -104,7 +104,11 @@ if have_block
|
||||
util_ss.add(files('throttle.c'))
|
||||
util_ss.add(files('timed-average.c'))
|
||||
if config_host_data.get('CONFIG_INOTIFY1')
|
||||
util_ss.add(files('filemonitor-inotify.c'))
|
||||
freebsd_dep = []
|
||||
if host_os == 'freebsd'
|
||||
freebsd_dep = inotify
|
||||
endif
|
||||
util_ss.add(files('filemonitor-inotify.c'), freebsd_dep)
|
||||
else
|
||||
util_ss.add(files('filemonitor-stub.c'))
|
||||
endif
|
||||
|
Loading…
Reference in New Issue
Block a user