Browse Source

configure: Add a proper check for sys/ioccom.h and use it in tpm_ioctl.h

On Solaris and Haiku, the _IO() macros are defined in <sys/ioccom.h>.
Add a proper check for this header to our build system, and make sure
to include the header in tpm_ioctl.h to fix a build failure on Solaris
and Haiku.

Message-Id: <20201115152317.42752-1-thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
pull/102/head
Thomas Huth 5 years ago
parent
commit
ded5d78c1e
  1. 4
      backends/tpm/tpm_ioctl.h
  2. 2
      meson.build
  3. 2
      nbd/nbd-internal.h

4
backends/tpm/tpm_ioctl.h

@ -12,6 +12,10 @@
#include <sys/uio.h>
#include <sys/ioctl.h>
#ifdef HAVE_SYS_IOCCOM_H
#include <sys/ioccom.h>
#endif
/*
* Every response from a command involving a TPM command execution must hold
* the ptm_res as the first element.

2
meson.build

@ -794,6 +794,8 @@ config_host_data.set('QEMU_VERSION_MAJOR', meson.project_version().split('.')[0]
config_host_data.set('QEMU_VERSION_MINOR', meson.project_version().split('.')[1])
config_host_data.set('QEMU_VERSION_MICRO', meson.project_version().split('.')[2])
config_host_data.set('HAVE_SYS_IOCCOM_H', cc.has_header('sys/ioccom.h'))
ignored = ['CONFIG_QEMU_INTERP_PREFIX'] # actually per-target
arrays = ['CONFIG_AUDIO_DRIVERS', 'CONFIG_BDRV_RW_WHITELIST', 'CONFIG_BDRV_RO_WHITELIST']
strings = ['HOST_DSOSUF', 'CONFIG_IASL']

2
nbd/nbd-internal.h

@ -19,7 +19,7 @@
#ifndef _WIN32
#include <sys/ioctl.h>
#endif
#if defined(__sun__) || defined(__HAIKU__)
#ifdef HAVE_SYS_IOCCOM_H
#include <sys/ioccom.h>
#endif

Loading…
Cancel
Save