From nobody Tue Feb 10 02:08:44 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1496411157791254.51831543417666; Fri, 2 Jun 2017 06:45:57 -0700 (PDT) Received: from localhost ([::1]:49860 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dGmto-0001FF-2E for importer@patchew.org; Fri, 02 Jun 2017 09:45:56 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34680) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dGmId-0008El-Ls for qemu-devel@nongnu.org; Fri, 02 Jun 2017 09:07:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dGmIc-0003uh-7m for qemu-devel@nongnu.org; Fri, 02 Jun 2017 09:07:31 -0400 Received: from mail-wm0-x243.google.com ([2a00:1450:400c:c09::243]:34420) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dGmIb-0003u6-To for qemu-devel@nongnu.org; Fri, 02 Jun 2017 09:07:30 -0400 Received: by mail-wm0-x243.google.com with SMTP id d127so18878123wmf.1 for ; Fri, 02 Jun 2017 06:07:28 -0700 (PDT) Received: by 10.223.149.2 with HTTP; Fri, 2 Jun 2017 06:07:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=gHz2JnZC+p6q1XBczUfoSYIcoLDE3Cwuj4QeeWJ6MYs=; b=HF1NETuvjnPlhDoFmbrxte8Rpquq75e/OuHkUPnhTrjRroY6I8AJCdUF3pPoABbXiJ YlxkydaiPpeHJ0hYcshx4SPbqTtU1PN0snxGHh45LAHJT36AunTQuC9VoyrLH7+XqnxO Jb4VcIhVxIHdRS5wWqWRIREjlXY9vmyWnw5+F+7vmB+A1v8Q//cDr3hpgMFtjNa1Ca6Q Q0KZ1wj+Ost7ZxPG9FDDNg/f1uL2UTQ993GPeCT7H0X7Ull0qAFoGEOgdjCQzPPtVrex SeIJXK0xLAAwcRZItLhj69gKnLikuVdN1T+a9bhkJHGYoroGaRlp/jzICtKnoTI+zgBD HFrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=gHz2JnZC+p6q1XBczUfoSYIcoLDE3Cwuj4QeeWJ6MYs=; b=Yv2D4ZeWjk7fQAyd7MRMysmcwzsYUUlLhFEGhChp8erSHqb4ZQdl/euIiNm7S+iCf6 vpq1XGR1uI7QLmWLZPLYlHG4lBWH0KD0KBKyl1nGh60nDN/Xc7nxHadprMj/25tJg9Ol fnvk1gkF5wSFq3eOydfsEqDaWtfCeIl2ez6sqHJkXbB0JIrnDyssN4l2G/0ZLCpg3Hda bY4bObtApwhkdebyj3gcRQXLhILVfOY4bkIMn9TdLU+VaXBBKShmORR2iv4Awu8uioLv bjup1lcSmTrkJNMFFUfpbQ4P0ZrvcAB5gaz3z5nc4jpAAt7nfNk/uyrG5k4RWBq6Wg2L tRbw== X-Gm-Message-State: AODbwcARUQk5P/lE54CdnPZlU4VDEYChpWBFgY9zRnPUuQFS4CPM1gDA jquccxqIVxHmGgiOx+SZOss1tfI0/wHz X-Received: by 10.28.175.84 with SMTP id y81mr3221600wme.25.1496408847026; Fri, 02 Jun 2017 06:07:27 -0700 (PDT) MIME-Version: 1.0 From: Bruno Dominguez Date: Fri, 2 Jun 2017 14:07:26 +0100 Message-ID: To: qemu-devel@nongnu.org X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c09::243 X-Mailman-Approved-At: Fri, 02 Jun 2017 09:44:35 -0400 Subject: [Qemu-devel] [PATCH] split c and cxx extra flags X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: claudio.fontana@huawei.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" There was no possibility to add specific cxx flags using the configure file. So A new entrance has been created to support it. Duplication of information in configure and rules.mak. Taking QEMU_CFLAGS and add them to QEMU_CXXFLAGS, now the value of QEMU_CXXFLAGS is stored in config-host.mak, so there is no need for it. The makefile for libvixl was adding flags for QEMU_CXXFLAGS in QEMU_CFLAGS because of the addition in rules.mak. That was removed, so adding them where it should be. Reviewed-by: Stefan Hajnoczi ----- Signed-off-by: Bruno Dominguez ----- diff --git a/configure b/configure index 0586ec9..2fff3cc 100755 --- a/configure +++ b/configure @@ -91,7 +91,8 @@ update_cxxflags() { # Set QEMU_CXXFLAGS from QEMU_CFLAGS by filtering out those # options which some versions of GCC's C++ compiler complain about # because they only make sense for C programs. - QEMU_CXXFLAGS=3D + QEMU_CXXFLAGS=3D"$QEMU_CXXFLAGS -D__STDC_LIMIT_MACROS" + for arg in $QEMU_CFLAGS; do case $arg in -Wstrict-prototypes|-Wmissing-prototypes|-Wnested-externs|\ @@ -102,6 +103,8 @@ update_cxxflags() { ;; esac done + + } compile_object() { @@ -344,6 +347,9 @@ for opt do --extra-cflags=3D*) QEMU_CFLAGS=3D"$QEMU_CFLAGS $optarg" EXTRA_CFLAGS=3D"$optarg" ;; + --extra-cxxflags=3D*) QEMU_CXXFLAGS=3D"$QEMU_CXXFLAGS $optarg" + EXTRA_CXXFLAGS=3D"$optarg" + ;; --extra-ldflags=3D*) LDFLAGS=3D"$LDFLAGS $optarg" EXTRA_LDFLAGS=3D"$optarg" ;; @@ -787,6 +793,8 @@ for opt do ;; --extra-cflags=3D*) ;; + --extra-cxxflags=3D*) + ;; --extra-ldflags=3D*) ;; --enable-debug-info) @@ -1304,6 +1312,7 @@ Advanced options (experts only): --cxx=3DCXX use C++ compiler CXX [$cxx] --objcc=3DOBJCC use Objective-C compiler OBJCC [$objcc] --extra-cflags=3DCFLAGS append extra C compiler flags QEMU_CFLAGS + --extra-cxxflags=3DCXXFLAGS append extra CXX compiler flags QEMU_CXXFLAGS --extra-ldflags=3DLDFLAGS append extra linker flags LDFLAGS --make=3DMAKE use specified make [$make] --install=3DINSTALL use specified install [$install] @@ -1489,37 +1498,6 @@ if test "$bogus_os" =3D "yes"; then error_exit "Unrecognized host OS $targetos" fi -# Check that the C++ compiler exists and works with the C compiler -if has $cxx; then - cat > $TMPC < $TMPCXX < $TMPC < $TMPCXX <> $config_host_mak echo "extra_cflags=3D$EXTRA_CFLAGS" >> $config_host_mak +echo "extra_cxxflags=3D$EXTRA_CXXFLAGS" >> $config_host_mak echo "extra_ldflags=3D$EXTRA_LDFLAGS" >> $config_host_mak echo "qemu_localedir=3D$qemu_localedir" >> $config_host_mak echo "libs_softmmu=3D$libs_softmmu" >> $config_host_mak @@ -5906,6 +5917,7 @@ echo "WINDRES=3D$windres" >> $config_host_mak echo "CFLAGS=3D$CFLAGS" >> $config_host_mak echo "CFLAGS_NOPIE=3D$CFLAGS_NOPIE" >> $config_host_mak echo "QEMU_CFLAGS=3D$QEMU_CFLAGS" >> $config_host_mak +echo "QEMU_CXXFLAGS=3D$QEMU_CXXFLAGS" >> $config_host_mak echo "QEMU_INCLUDES=3D$QEMU_INCLUDES" >> $config_host_mak if test "$sparse" =3D "yes" ; then echo "CC :=3D REAL_CC=3D\"\$(CC)\" cgcc" >> $config_host= _mak diff --git a/disas/libvixl/Makefile.objs b/disas/libvixl/Makefile.objs index bbe7695..dbf7def 100644 --- a/disas/libvixl/Makefile.objs +++ b/disas/libvixl/Makefile.objs @@ -6,6 +6,6 @@ libvixl_OBJS =3D vixl/utils.o \ # The -Wno-sign-compare is needed only for gcc 4.6, which complains about # some signed-unsigned equality comparisons which later gcc versions do no= t. -$(addprefix $(obj)/,$(libvixl_OBJS)): QEMU_CFLAGS :=3D -I$(SRC_PATH)/disas/libvixl $(QEMU_CFLAGS) -Wno-sign-compare +$(addprefix $(obj)/,$(libvixl_OBJS)): QEMU_CXXFLAGS :=3D -I$(SRC_PATH)/disas/libvixl $(QEMU_CXXFLAGS) -Wno-sign-compare common-obj-$(CONFIG_ARM_A64_DIS) +=3D $(libvixl_OBJS) diff --git a/rules.mak b/rules.mak index 1c0eabb..2a2fb72 100644 --- a/rules.mak +++ b/rules.mak @@ -20,9 +20,6 @@ MAKEFLAGS +=3D -rR %.mak: clean-target: -# Flags for C++ compilation -QEMU_CXXFLAGS =3D -D__STDC_LIMIT_MACROS $(filter-out -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wold-style-declaration -Wold-style-definition -Wredundant-decls, $(QEMU_CFLAGS)) - # Flags for dependency generation QEMU_DGFLAGS +=3D -MMD -MP -MT $@ -MF $(@D)/$(*F).d Bruno