From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:38094) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UCc1L-0002kB-Il for qemu-devel@nongnu.org; Mon, 04 Mar 2013 15:30:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UCc1K-0006J8-57 for qemu-devel@nongnu.org; Mon, 04 Mar 2013 15:30:03 -0500 Received: from e23smtp02.au.ibm.com ([202.81.31.144]:45536) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UCc1J-0005zV-Kc for qemu-devel@nongnu.org; Mon, 04 Mar 2013 15:30:02 -0500 Received: from /spool/local by e23smtp02.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 5 Mar 2013 06:23:22 +1000 Received: from d23relay04.au.ibm.com (d23relay04.au.ibm.com [9.190.234.120]) by d23dlp01.au.ibm.com (Postfix) with ESMTP id CE1252CE804A for ; Tue, 5 Mar 2013 07:29:46 +1100 (EST) Received: from d23av03.au.ibm.com (d23av03.au.ibm.com [9.190.234.97]) by d23relay04.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r24KHBUR1048978 for ; Tue, 5 Mar 2013 07:17:12 +1100 Received: from d23av03.au.ibm.com (loopback [127.0.0.1]) by d23av03.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r24KTjMt006243 for ; Tue, 5 Mar 2013 07:29:45 +1100 From: Anthony Liguori In-Reply-To: References: <7aa6a5e5b2f013994380033374deec4370dea9e5.1362303363.git.blauwirbel@gmail.com> <877glo9owr.fsf@codemonkey.ws> Date: Mon, 04 Mar 2013 14:29:38 -0600 Message-ID: <8738wax619.fsf@codemonkey.ws> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: [Qemu-devel] [PATCH] build: compile gtk.c with special CFLAGS List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Blue Swirl Cc: qemu-devel@nongnu.org Blue Swirl writes: > On Sun, Mar 3, 2013 at 9:03 PM, Anthony Liguori wrote: >> Blue Swirl writes: >> >>> Compile gtk.c with special CFLAGS instead of disabling -Werror globally. >>> >>> Signed-off-by: Blue Swirl >> >> I thought Kevin's pragma trick solved this problem? > > Not in all cases it seems. > >> >> Are you attempting to avoid disabling Werror when prgram isn't >> available? That seems to defeat the purpose of doing the pragma thing >> to begin with. > > When the pragma works, there should not be any need to disable -Werror > or other flags. If the pragmas are not available, we can disable the > offending flags only for gtk.c and keep them for the rest of the > build. The idea of the pragma is that gtk.c is the only place that will need this in the future. So either we like the pragma approach and just live with disabling Werror on older GCCs or there's no point in doing the pragma approach in the first place. Since this is an issue only with older GCCs, I see no reason to care about disabling Werror really. It's a problem that solves itself over time. Regards, Anthony Liguori > >> >> Regards, >> >> Anthony Liguori >> >>> --- >>> configure | 12 +++++++++++- >>> ui/Makefile.objs | 2 +- >>> 2 files changed, 12 insertions(+), 2 deletions(-) >>> >>> diff --git a/configure b/configure >>> index 19738ac..2a043d6 100755 >>> --- a/configure >>> +++ b/configure >>> @@ -3139,6 +3139,7 @@ fi >>> # the build doesn't fail anyway. >>> >>> pragma_disable_unused_but_set=no >>> +gtk_special_cflags=no >>> cat > $TMPC << EOF >>> #pragma GCC diagnostic ignored "-Wunused-but-set-variable" >>> #pragma GCC diagnostic ignored "-Wstrict-prototypes" >>> @@ -3150,7 +3151,7 @@ EOF >>> if compile_prog "-Werror" "" ; then >>> pragma_diagnostic_available=yes >>> else >>> - werror=no >>> + gtk_special_cflags=yes >>> fi >>> >>> ######################################## >>> @@ -3845,6 +3846,15 @@ echo "WINDRES=$windres" >> $config_host_mak >>> echo "LIBTOOL=$libtool" >> $config_host_mak >>> echo "CFLAGS=$CFLAGS" >> $config_host_mak >>> echo "QEMU_CFLAGS=$QEMU_CFLAGS" >> $config_host_mak >>> +if test "$gtk_special_cflags" = "yes"; then >>> + # Our compiler doesn't support #pragmas to suppress warnings and GTK >>> + # can't be fixed, so compile GTK files with special CFLAGS >>> + echo "GTK_SPECIAL_CFLAGS=$QEMU_CFLAGS" | \ >>> + sed -e 's/-Wstrict-prototypes//g' \ >>> + -e 's/-Wunused-but-set-variable//g' >> $config_host_mak >>> +else >>> + echo "GTK_SPECIAL_CFLAGS=$QEMU_CFLAGS" >> $config_host_mak >>> +fi >>> echo "QEMU_INCLUDES=$QEMU_INCLUDES" >> $config_host_mak >>> if test "$sparse" = "yes" ; then >>> echo "CC := REAL_CC=\"\$(CC)\" cgcc" >> $config_host_mak >>> diff --git a/ui/Makefile.objs b/ui/Makefile.objs >>> index 6ddc0de..c9aa1e6 100644 >>> --- a/ui/Makefile.objs >>> +++ b/ui/Makefile.objs >>> @@ -19,4 +19,4 @@ $(obj)/sdl.o $(obj)/sdl_zoom.o: QEMU_CFLAGS += $(SDL_CFLAGS) >>> >>> $(obj)/cocoa.o: $(SRC_PATH)/$(obj)/cocoa.m >>> >>> -$(obj)/gtk.o: QEMU_CFLAGS += $(GTK_CFLAGS) $(VTE_CFLAGS) >>> +$(obj)/gtk.o: QEMU_CFLAGS = $(GTK_SPECIAL_CFLAGS) $(GTK_CFLAGS) $(VTE_CFLAGS) >>> -- >>> 1.7.2.5 >>