@@ -37,7 +37,7 @@ $(call set-vpath, $(SRC_PATH))
LIBS+=-lz $(LIBS_TOOLS)
-HELPERS-$(CONFIG_LINUX) = qemu-bridge-helper$(EXESUF)
+HELPERS-$(CONFIG_BRIDGE_HELPER) = qemu-bridge-helper$(EXESUF)
ifdef BUILD_DOCS
DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1 qemu-nbd.8 QMP/qmp-commands.txt
@@ -195,6 +195,7 @@ zlib="yes"
guest_agent="yes"
libiscsi=""
coroutine=""
+bridge_helper=""
# parse CC options first
for opt do
@@ -824,6 +825,10 @@ for opt do
;;
--disable-guest-agent) guest_agent="no"
;;
+ --enable-bridge-helper) bridge_helper="yes"
+ ;;
+ --disable-bridge-helper) bridge_helper="no"
+ ;;
*) echo "ERROR: unknown option $opt"; show_help="yes"
;;
esac
@@ -1110,6 +1115,8 @@ echo " --disable-guest-agent disable building of the QEMU Guest Agent"
echo " --enable-guest-agent enable building of the QEMU Guest Agent"
echo " --with-coroutine=BACKEND coroutine backend. Supported options:"
echo " gthread, ucontext, sigaltstack, windows"
+echo " --enable-bridge-helper enable building of the qemu-bridge-helper"
+echo " --disable-bridge-helper disable building of the qemu-bridge-helper"
echo ""
echo "NOTE: The object files are built at the place where configure is launched"
exit 1
@@ -2869,6 +2876,37 @@ if compile_prog "" "" ; then
has_environ=yes
fi
+########################################
+# check ioctl for qemu-bridge-helper
+
+if test "$bridge_helper" != "no" \
+ && test "$linux" = "yes" \
+ && test "$static" = "no";
+then
+ cat > $TMPC << EOF
+#include <linux/sockios.h>
+int main(void){
+ /* Check that SIOCBRADDIF is defined */
+ return SIOCBRADDIF;
+}
+EOF
+
+ if compile_prog "" "" ; then
+ bridge_helper="yes"
+ else
+ if test "$bridge_helper" = "yes"; then
+ echo
+ echo "Error: linux/sockios.h check failed"
+ echo "Cannot compile qemu-bridge-helper."
+ echo
+ exit 1
+ else
+ echo "Disabling qemu-bridge-helper due to missing ioctl support"
+ bridge_helper="no"
+ fi
+ fi
+fi
+
##########################################
# End of CC checks
# After here, no more $cc or $ld runs
@@ -3896,6 +3934,10 @@ if test "$tcg_interpreter" = "yes" ; then
echo "CONFIG_TCI_DIS=y" >> $libdis_config_mak
fi
+if test "$bridge_helper" = "yes"; then
+ echo "CONFIG_BRIDGE_HELPER=y" >> $config_host_mak
+fi
+
case "$ARCH" in
alpha)
# Ensure there's only a single GP
Bridge helper uses ioctl's not available on old Linux versions, we add this flag to disable the build. Signed-off-by: Fabien Chouteau <chouteau@adacore.com> --- Makefile | 2 +- configure | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-)