mirror of
https://github.com/qemu/qemu.git
synced 2024-11-24 03:13:44 +08:00
meson: fix botched compile check conversions
Fix a bunch of incorrect conversions from configure to Meson, which result in different outcomes with --extra-cflags=-Werror. pthread_setname_np needs "#define _GNU_SOURCE" on Linux (which I am using also for the non-Linux check, so that it correctly fails with an error about having too few parameters). Fix struct checks to use has_type instead of has_symbol, and "#define _GNU_SOURCE" too in the case of struct mmsghdr. Remove an apostrophe that ended up at the end of a #include line. Reported-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
42f6c9179b
commit
6a23f8190f
24
meson.build
24
meson.build
@ -1547,8 +1547,6 @@ 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_IOVEC',
|
||||
cc.has_header_symbol('sys/uio.h', 'struct iovec'))
|
||||
config_host_data.set('CONFIG_MACHINE_BSWAP_H',
|
||||
cc.has_header_symbol('machine/bswap.h', 'bswap32',
|
||||
prefix: '''#include <sys/endian.h>
|
||||
@ -1561,8 +1559,6 @@ config_host_data.set('CONFIG_SYSMACROS',
|
||||
cc.has_header_symbol('sys/sysmacros.h', 'makedev'))
|
||||
config_host_data.set('HAVE_OPTRESET',
|
||||
cc.has_header_symbol('getopt.h', 'optreset'))
|
||||
config_host_data.set('HAVE_UTMPX',
|
||||
cc.has_header_symbol('utmpx.h', 'struct utmpx'))
|
||||
config_host_data.set('HAVE_IPPROTO_MPTCP',
|
||||
cc.has_header_symbol('netinet/in.h', 'IPPROTO_MPTCP'))
|
||||
|
||||
@ -1574,6 +1570,14 @@ config_host_data.set('HAVE_STRUCT_STAT_ST_ATIM',
|
||||
cc.has_member('struct stat', 'st_atim',
|
||||
prefix: '#include <sys/stat.h>'))
|
||||
|
||||
# has_type
|
||||
config_host_data.set('CONFIG_IOVEC',
|
||||
cc.has_type('struct iovec',
|
||||
prefix: '#include <sys/uio.h>'))
|
||||
config_host_data.set('HAVE_UTMPX',
|
||||
cc.has_type('struct utmpx',
|
||||
prefix: '#include <utmpx.h>'))
|
||||
|
||||
config_host_data.set('CONFIG_EVENTFD', cc.links('''
|
||||
#include <sys/eventfd.h>
|
||||
int main(void) { return eventfd(0, EFD_NONBLOCK | EFD_CLOEXEC); }'''))
|
||||
@ -1615,7 +1619,7 @@ config_host_data.set('CONFIG_POSIX_MADVISE', cc.links(gnu_source_prefix + '''
|
||||
#include <stddef.h>
|
||||
int main(void) { return posix_madvise(NULL, 0, POSIX_MADV_DONTNEED); }'''))
|
||||
|
||||
config_host_data.set('CONFIG_PTHREAD_SETNAME_NP_W_TID', cc.links('''
|
||||
config_host_data.set('CONFIG_PTHREAD_SETNAME_NP_W_TID', cc.links(gnu_source_prefix + '''
|
||||
#include <pthread.h>
|
||||
|
||||
static void *f(void *p) { return NULL; }
|
||||
@ -1626,7 +1630,7 @@ config_host_data.set('CONFIG_PTHREAD_SETNAME_NP_W_TID', cc.links('''
|
||||
pthread_setname_np(thread, "QEMU");
|
||||
return 0;
|
||||
}''', dependencies: threads))
|
||||
config_host_data.set('CONFIG_PTHREAD_SETNAME_NP_WO_TID', cc.links('''
|
||||
config_host_data.set('CONFIG_PTHREAD_SETNAME_NP_WO_TID', cc.links(gnu_source_prefix + '''
|
||||
#include <pthread.h>
|
||||
|
||||
static void *f(void *p) { pthread_setname_np("QEMU"); return NULL; }
|
||||
@ -1662,8 +1666,10 @@ config_host_data.set('HAVE_MLOCKALL', cc.links(gnu_source_prefix + '''
|
||||
|
||||
have_l2tpv3 = false
|
||||
if not get_option('l2tpv3').disabled() and have_system
|
||||
have_l2tpv3 = (cc.has_header_symbol('sys/socket.h', 'struct mmsghdr')
|
||||
and cc.has_header('linux/ip.h'))
|
||||
have_l2tpv3 = cc.has_type('struct mmsghdr',
|
||||
prefix: gnu_source_prefix + '''
|
||||
#include <sys/socket.h>
|
||||
#include <linux/ip.h>''')
|
||||
endif
|
||||
config_host_data.set('CONFIG_L2TPV3', have_l2tpv3)
|
||||
|
||||
@ -1689,7 +1695,7 @@ config_host_data.set('CONFIG_NETMAP', have_netmap)
|
||||
# xfs headers will not try to redefine structs from linux headers
|
||||
# if this macro is set.
|
||||
config_host_data.set('HAVE_FSXATTR', cc.links('''
|
||||
#include <linux/fs.h>'
|
||||
#include <linux/fs.h>
|
||||
struct fsxattr foo;
|
||||
int main(void) {
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user