From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:58393) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SoxjU-0002At-Ly for qemu-devel@nongnu.org; Wed, 11 Jul 2012 10:17:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SoxjS-0001IG-Mt for qemu-devel@nongnu.org; Wed, 11 Jul 2012 10:17:36 -0400 Received: from mel.act-europe.fr ([194.98.77.210]:52842) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SoxjS-0001G6-Dn for qemu-devel@nongnu.org; Wed, 11 Jul 2012 10:17:34 -0400 From: Fabien Chouteau Date: Wed, 11 Jul 2012 16:17:07 +0200 Message-Id: <1342016228-2822-1-git-send-email-chouteau@adacore.com> Subject: [Qemu-devel] [PATCH V3] Add --disable-bridge-helper configure flag List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Anthony Liguori , Stefan Hajnoczi , Stefan Weil , coreyb@linux.vnet.ibm.com, Michael Roth , Luiz Capitulino , Blue Swirl , Paolo Bonzini , =?UTF-8?q?Andreas=20F=C3=A4rber?= Bridge helper uses ioctl's not available on old Linux versions, we add this flag to disable the build. Signed-off-by: Fabien Chouteau --- Makefile | 2 +- configure | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 34d6a9e..c50ec5e 100644 --- a/Makefile +++ b/Makefile @@ -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 diff --git a/configure b/configure index 500fe24..0a3b990 100755 --- a/configure +++ b/configure @@ -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 +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 -- 1.7.9.5