build-sys: simplify AF_VSOCK check
The current test checks more than AF_VSOCK availability, and doesn't need to be that long. Since its introduction in Linux in 2013, AF_VSOCK came with linux/vm_sockets.h for sockaddr_vm, let's check that. We could even go back to the initial configure-less approach proposed by Stefan Hajnoczi, since Michael Roth added the configure-time check back then to satisfy glibc in Ubuntu 14. See: https://lists.gnu.org/archive/html/qemu-devel/2016-10/msg08208.html Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220401115005.2204000-1-marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
3015321dc4
commit
9d734b85ed
23
meson.build
23
meson.build
@ -1988,25 +1988,10 @@ have_afalg = get_option('crypto_afalg') \
|
||||
'''), error_message: 'AF_ALG requested but could not be detected').allowed()
|
||||
config_host_data.set('CONFIG_AF_ALG', have_afalg)
|
||||
|
||||
config_host_data.set('CONFIG_AF_VSOCK', cc.compiles(gnu_source_prefix + '''
|
||||
#include <errno.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#if !defined(AF_VSOCK)
|
||||
# error missing AF_VSOCK flag
|
||||
#endif
|
||||
#include <linux/vm_sockets.h>
|
||||
int main(void) {
|
||||
int sock, ret;
|
||||
struct sockaddr_vm svm;
|
||||
socklen_t len = sizeof(svm);
|
||||
sock = socket(AF_VSOCK, SOCK_STREAM, 0);
|
||||
ret = getpeername(sock, (struct sockaddr *)&svm, &len);
|
||||
if ((ret == -1) && (errno == ENOTCONN)) {
|
||||
return 0;
|
||||
}
|
||||
return -1;
|
||||
}'''))
|
||||
config_host_data.set('CONFIG_AF_VSOCK', cc.has_header_symbol(
|
||||
'linux/vm_sockets.h', 'AF_VSOCK',
|
||||
prefix: '#include <sys/socket.h>',
|
||||
))
|
||||
|
||||
have_vss = false
|
||||
have_vss_sdk = false # old xp/2003 SDK
|
||||
|
Loading…
Reference in New Issue
Block a user