On 2019-02-13 22:18, Thomas Petazzoni wrote: > The current check to test if usbfs support should be compiled or not > solely relies on the presence of <linux/usbdevice_fs.h>, without > actually checking that all definition used by Qemu are provided by > this header file. > > With sufficiently old kernel headers, <linux/usbdevice_fs.h> may be > present, but some of the definitions needed by Qemu may not be > available. > > This commit improves the check by building a small program that > actually tests whether the necessary definitions are available. > > In addition, it fixes a bug where have_usbfs was set to "yes" > regardless of the result of the test. > > Signed-off-by: Thomas Petazzoni <thomas.petazz...@bootlin.com> > --- > configure | 19 +++++++++++++++++-- > 1 file changed, 17 insertions(+), 2 deletions(-) > > diff --git a/configure b/configure > index 3d89870d99..799c8e3b08 100755 > --- a/configure > +++ b/configure > @@ -4266,10 +4266,25 @@ fi > # check for usbfs > have_usbfs=no > if test "$linux_user" = "yes"; then > - if check_include linux/usbdevice_fs.h; then > + cat > $TMPC << EOF > +#include <linux/usbdevice_fs.h> > + > +#ifndef USBDEVFS_GET_CAPABILITIES > +#error "USBDEVFS_GET_CAPABILITIES undefined" > +#endif > + > +#ifndef USBDEVFS_DISCONNECT_CLAIM > +#error "USBDEVFS_DISCONNECT_CLAIM undefined" > +#endif > + > +int main(void) > +{ > + return 0; > +} > +EOF > + if compile_prog "" ""; then > have_usbfs=yes > fi > - have_usbfs=yes > fi > > # check for fallocate
Reviewed-by: Thomas Huth <th...@redhat.com>