From: Tom Tromey Date: Tue, 31 Mar 2020 20:07:04 +0000 (-0600) Subject: Fix py-tui.c build problem X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6f29a53415003fd958978471801c072b2fcc8f80;p=binutils-gdb.git Fix py-tui.c build problem py-tui.c can fail to build if the ncurses development headers are not installed, but if Python was built against ncurses. In this case, the Python headers will define HAVE_NCURSES_H, confusing gdb_curses.h. This patch fixes the problem by moving this include inside "#ifdef TUI". gdb/ChangeLog 2020-03-31 Joel Jones PR tui/25597: * python/py-tui.c: Include gdb_curses.h inside of #ifdef TUI. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d3873da04b4..116a9b36dcd 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2020-03-31 Joel Jones + + PR tui/25597: + * python/py-tui.c: Include gdb_curses.h inside of #ifdef TUI. + 2020-03-31 Tom Tromey * dwarf2/abbrev.c (abbrev_table::read): Conditionally call diff --git a/gdb/python/py-tui.c b/gdb/python/py-tui.c index 4cb86ae75da..de7c396be9f 100644 --- a/gdb/python/py-tui.c +++ b/gdb/python/py-tui.c @@ -21,10 +21,16 @@ #include "defs.h" #include "arch-utils.h" #include "python-internal.h" -#include "gdb_curses.h" #ifdef TUI +/* Note that Python's public headers may define HAVE_NCURSES_H, so if + we unconditionally include this (outside the #ifdef above), then we + can get a compile error when ncurses is not in fact installed. See + PR tui/25597; or the upstream Python bug + https://bugs.python.org/issue20768. */ +#include "gdb_curses.h" + #include "tui/tui-data.h" #include "tui/tui-io.h" #include "tui/tui-layout.h"