Commit 96566d09 authored by Thomas Petazzoni's avatar Thomas Petazzoni Committed by Laurent Vivier
Browse files

configure: improve usbfs check



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: default avatarThomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: default avatarThomas Huth <thuth@redhat.com>
Message-Id: <20190213211827.20300-1-thomas.petazzoni@bootlin.com>
Signed-off-by: default avatarLaurent Vivier <laurent@vivier.eu>
parent 9aed808e
Loading
Loading
Loading
Loading
+17 −2
Original line number Diff line number Diff line
@@ -4262,10 +4262,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