3a52848f82
Qemu assumes that when <linux/usbdevice_fs.h> is available, it can build its USBFS code. However, some systems have <linux/usbdevice_fs.h>, but it doesn't provide all the definitions that Qemu needs, causing a build failure. In order to fix this, we introduce a Qemu patch that improves the check that determines whether USBFS support should be enabled or not. Fixes: http://autobuild.buildroot.net/results/c4af5505f80e1e6185df70d191e85d9393df5795/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
61 lines
1.6 KiB
Diff
61 lines
1.6 KiB
Diff
From 9672cccd64c446369b5649fe23d575917638be46 Mon Sep 17 00:00:00 2001
|
|
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
|
Date: Tue, 5 Feb 2019 15:07:43 +0100
|
|
Subject: [PATCH] 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>
|
|
---
|
|
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
|
|
--
|
|
2.20.1
|
|
|