This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCHSET] [4/4] Fix various issue in TUI


On 01/22/2015 04:26 PM, Eli Zaretskii wrote:
>> Date: Thu, 22 Jan 2015 12:07:26 +0000
>> From: Pedro Alves <palves@redhat.com>
>> CC: gdb-patches@sourceware.org
>>
>>>>>>> On 12/31/2014 05:56 PM, Eli Zaretskii wrote:
>>>>>>>>> Well, one patch is Windows-specific after all.  This patch makes sure
>>>>>>>>> windows-termcap is not compiled when GDB is linked against ncurses,
>>>>>>>
>>>>>>> ...
>>>>>>>
>>>>>>>>> and also makes the file a no-op should it compile in that
>>>>>>>>> configuration.  
>>>>>>>
>>>>>>> With the configure.ac change, how can that happen?
>>>>>
>>>>> It shouldn't.
>>
>> I'd have preferred to drop that hunk then.  It just seems to
>> be either pointless or hiding some problem with the
>> configure.ac check.
> 
> At the very least how about an #error in those conditions?  Otherwise,
> any bit-rot (something that happens now and then with the MinGW build)
> will silently do the wrong thing.

Well, I fear that the #ifdefery can bit rot just as well.  So having
two places that can bitrot (configure and #ifdef) seems worse than
one.

>>
>> So shouldn't the right check be this:
>>
>>     if test x"$curses_found" != xyes; then
>>       ac_cv_search_tgetent="none required"
>>       CONFIG_OBS="$CONFIG_OBS windows-termcap.o"
>>     fi ;;
>>
>> ?
> 
> I'm not sure.  GDB can be configured --without-tui --with-curses.
> Does your logic work then?

It's the same thing.  That sets $prefer_curses:

 opt_curses=no
 AC_ARG_WITH(curses, AS_HELP_STRING([--with-curses], [use the curses library instead of the termcap library]), opt_curses=$withval)

 prefer_curses=no
 if test "$opt_curses" = "yes"; then
   prefer_curses=yes
 fi


But that doesn't mean that curses will be used.  We'll again fall here:

curses_found=no
if test x"$prefer_curses" = xyes; then
...
  AC_SEARCH_LIBS(waddstr, [ncurses cursesX curses])

  if test "$ac_cv_search_waddstr" != no; then
    curses_found=yes
  fi
fi

And if waddstr is not found, meaning curses is not really
available, even though it'd be preferred, $prefer_curses is
yes, but $curses_found is no.

Thanks,
Pedro Alves


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]