Can we check this in meson.build? On Sun, Nov 15, 2020 at 12:53 AM Thomas Huth <th...@redhat.com> wrote: > > On Solaris and Haiku, the _IO() macros are defined in <sys/ioccom.h>. > Add a proper check for this header to our configure scripts, and > make sure to include the header in tpm_ioctl.h to fix a build failure > on Solaris and Haiku. > > Signed-off-by: Thomas Huth <th...@redhat.com> > --- > backends/tpm/tpm_ioctl.h | 4 ++++ > configure | 11 ++++++++++- > nbd/nbd-internal.h | 2 +- > 3 files changed, 15 insertions(+), 2 deletions(-) > > diff --git a/backends/tpm/tpm_ioctl.h b/backends/tpm/tpm_ioctl.h > index f5f5c553a9..bd6c12cb86 100644 > --- a/backends/tpm/tpm_ioctl.h > +++ b/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. > diff --git a/configure b/configure > index c0acda164d..764e903748 100755 > --- a/configure > +++ b/configure > @@ -3123,6 +3123,13 @@ if check_include "sys/signal.h" ; then > have_sys_signal_h=yes > fi > > +######################################### > +# sys/ioccom.h check > +have_sys_ioccom_h=no > +if check_include "sys/ioccom.h" ; then > + have_sys_ioccom_h=yes > +fi > + > ########################################## > # VTE probe > > @@ -6214,7 +6221,9 @@ fi > if test "$have_sys_signal_h" = "yes" ; then > echo "HAVE_SYS_SIGNAL_H=y" >> $config_host_mak > fi > - > +if test "$have_sys_ioccom_h" = "yes" ; then > + echo "HAVE_SYS_IOCCOM_H=y" >> $config_host_mak > +fi > # Work around a system header bug with some kernel/XFS header > # versions where they both try to define 'struct fsxattr': > # xfs headers will not try to redefine structs from linux headers > diff --git a/nbd/nbd-internal.h b/nbd/nbd-internal.h > index 60629ef160..1b2141ab4b 100644 > --- a/nbd/nbd-internal.h > +++ b/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 > > -- > 2.18.4 > >
-- 此致 礼 罗勇刚 Yours sincerely, Yonggang Luo