qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] build: compile gtk.c with special CFLAGS


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH] build: compile gtk.c with special CFLAGS
Date: Mon, 04 Mar 2013 16:22:09 -0600
User-agent: Notmuch/0.13.2+93~ged93d79 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu)

Blue Swirl <address@hidden> writes:

> On Mon, Mar 4, 2013 at 8:29 PM, Anthony Liguori <address@hidden> wrote:
>> Blue Swirl <address@hidden> writes:
>>
>>> On Sun, Mar 3, 2013 at 9:03 PM, Anthony Liguori <address@hidden> wrote:
>>>> Blue Swirl <address@hidden> writes:
>>>>
>>>>> Compile gtk.c with special CFLAGS instead of disabling -Werror globally.
>>>>>
>>>>> Signed-off-by: Blue Swirl <address@hidden>
>>>>
>>>> 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.
>
> It's also the only file that needs GTK_CFLAGS. For simplicity, that
> could contain also QEMU_CFLAGS, filtered for offending flags.

I mistyped--sorry.  gtk.c is *not* the only place that will need this in the
future.

Regards,

Anthony Liguori

>
>> 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
>>>>
>>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]