mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
configure: convert compiler tests to meson, part 5
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
e1fbd2c4ed
commit
a620fbe9ac
2 changed files with 26 additions and 101 deletions
101
configure
vendored
101
configure
vendored
|
@ -3395,92 +3395,6 @@ EOF
|
|||
fi
|
||||
fi
|
||||
|
||||
# Check for inotify functions when we are building linux-user
|
||||
# emulator. This is done because older glibc versions don't
|
||||
# have syscall stubs for these implemented. In that case we
|
||||
# don't provide them even if kernel supports them.
|
||||
#
|
||||
inotify=no
|
||||
cat > $TMPC << EOF
|
||||
#include <sys/inotify.h>
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
/* try to start inotify */
|
||||
return inotify_init();
|
||||
}
|
||||
EOF
|
||||
if compile_prog "" "" ; then
|
||||
inotify=yes
|
||||
fi
|
||||
|
||||
inotify1=no
|
||||
cat > $TMPC << EOF
|
||||
#include <sys/inotify.h>
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
/* try to start inotify */
|
||||
return inotify_init1(0);
|
||||
}
|
||||
EOF
|
||||
if compile_prog "" "" ; then
|
||||
inotify1=yes
|
||||
fi
|
||||
|
||||
# check if pipe2 is there
|
||||
pipe2=no
|
||||
cat > $TMPC << EOF
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
int pipefd[2];
|
||||
return pipe2(pipefd, O_CLOEXEC);
|
||||
}
|
||||
EOF
|
||||
if compile_prog "" "" ; then
|
||||
pipe2=yes
|
||||
fi
|
||||
|
||||
# check if accept4 is there
|
||||
accept4=no
|
||||
cat > $TMPC << EOF
|
||||
#include <sys/socket.h>
|
||||
#include <stddef.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
accept4(0, NULL, NULL, SOCK_CLOEXEC);
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
if compile_prog "" "" ; then
|
||||
accept4=yes
|
||||
fi
|
||||
|
||||
# check if tee/splice is there. vmsplice was added same time.
|
||||
splice=no
|
||||
cat > $TMPC << EOF
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <limits.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
int len, fd = 0;
|
||||
len = tee(STDIN_FILENO, STDOUT_FILENO, INT_MAX, SPLICE_F_NONBLOCK);
|
||||
splice(STDIN_FILENO, NULL, fd, NULL, len, SPLICE_F_MOVE);
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
if compile_prog "" "" ; then
|
||||
splice=yes
|
||||
fi
|
||||
|
||||
##########################################
|
||||
# libnuma probe
|
||||
|
||||
|
@ -4720,24 +4634,9 @@ fi
|
|||
if test "$module_upgrades" = "yes"; then
|
||||
echo "CONFIG_MODULE_UPGRADES=y" >> $config_host_mak
|
||||
fi
|
||||
if test "$pipe2" = "yes" ; then
|
||||
echo "CONFIG_PIPE2=y" >> $config_host_mak
|
||||
fi
|
||||
if test "$accept4" = "yes" ; then
|
||||
echo "CONFIG_ACCEPT4=y" >> $config_host_mak
|
||||
fi
|
||||
if test "$splice" = "yes" ; then
|
||||
echo "CONFIG_SPLICE=y" >> $config_host_mak
|
||||
fi
|
||||
if test "$have_usbfs" = "yes" ; then
|
||||
echo "CONFIG_USBFS=y" >> $config_host_mak
|
||||
fi
|
||||
if test "$inotify" = "yes" ; then
|
||||
echo "CONFIG_INOTIFY=y" >> $config_host_mak
|
||||
fi
|
||||
if test "$inotify1" = "yes" ; then
|
||||
echo "CONFIG_INOTIFY1=y" >> $config_host_mak
|
||||
fi
|
||||
if test "$gio" = "yes" ; then
|
||||
echo "CONFIG_GIO=y" >> $config_host_mak
|
||||
echo "GIO_CFLAGS=$gio_cflags" >> $config_host_mak
|
||||
|
|
26
meson.build
26
meson.build
|
@ -1268,6 +1268,7 @@ config_host_data.set('HAVE_SYS_IOCCOM_H', cc.has_header('sys/ioccom.h'))
|
|||
config_host_data.set('HAVE_SYS_KCOV_H', cc.has_header('sys/kcov.h'))
|
||||
|
||||
# has_function
|
||||
config_host_data.set('CONFIG_ACCEPT4', cc.has_function('accept4'))
|
||||
config_host_data.set('CONFIG_CLOCK_ADJTIME', cc.has_function('clock_adjtime'))
|
||||
config_host_data.set('CONFIG_DUP3', cc.has_function('dup3'))
|
||||
config_host_data.set('CONFIG_FALLOCATE', cc.has_function('fallocate'))
|
||||
|
@ -1302,6 +1303,10 @@ 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_MACHINE_BSWAP_H',
|
||||
cc.has_header_symbol('machine/bswap.h', 'bswap32',
|
||||
prefix: '''#include <sys/endian.h>
|
||||
|
@ -1345,6 +1350,15 @@ config_host_data.set('CONFIG_MADVISE', cc.compiles(gnu_source_prefix + '''
|
|||
config_host_data.set('CONFIG_MEMFD', cc.compiles(gnu_source_prefix + '''
|
||||
#include <sys/mman.h>
|
||||
int main(void) { return memfd_create("foo", MFD_ALLOW_SEALING); }'''))
|
||||
config_host_data.set('CONFIG_PIPE2', cc.compiles(gnu_source_prefix + '''
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
int pipefd[2];
|
||||
return pipe2(pipefd, O_CLOEXEC);
|
||||
}'''))
|
||||
config_host_data.set('CONFIG_POSIX_MADVISE', cc.compiles(gnu_source_prefix + '''
|
||||
#include <sys/mman.h>
|
||||
#include <stddef.h>
|
||||
|
@ -1354,6 +1368,18 @@ config_host_data.set('CONFIG_SIGNALFD', cc.compiles(gnu_source_prefix + '''
|
|||
#include <sys/syscall.h>
|
||||
#include <signal.h>
|
||||
int main(void) { return syscall(SYS_signalfd, -1, NULL, _NSIG / 8); }'''))
|
||||
config_host_data.set('CONFIG_SPLICE', cc.compiles(gnu_source_prefix + '''
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <limits.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
int len, fd = 0;
|
||||
len = tee(STDIN_FILENO, STDOUT_FILENO, INT_MAX, SPLICE_F_NONBLOCK);
|
||||
splice(STDIN_FILENO, NULL, fd, NULL, len, SPLICE_F_MOVE);
|
||||
return 0;
|
||||
}'''))
|
||||
|
||||
# Some versions of Mac OS X incorrectly define SIZE_MAX
|
||||
config_host_data.set('HAVE_BROKEN_SIZE_MAX', not cc.compiles('''
|
||||
|
|
Loading…
Reference in a new issue