aboutsummaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@bootlin.com>2019-02-13 22:18:27 +0100
committerLaurent Vivier <laurent@vivier.eu>2019-02-14 11:46:30 +0100
commit96566d09aa105ee04cbc1c9539cf8a9a40e8e422 (patch)
tree2199dfeb6e86da16c26e40a50b498438d6d18c91 /configure
parent9aed808e350b66914cc9b3a45357ec3cf295f405 (diff)
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: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20190213211827.20300-1-thomas.petazzoni@bootlin.com> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure19
1 files changed, 17 insertions, 2 deletions
diff --git a/configure b/configure
index c0f2781418..90b9e2fa3c 100755
--- a/configure
+++ b/configure
@@ -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