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 <joelkevinjones@gmail.com>
PR tui/25597:
* python/py-tui.c: Include gdb_curses.h inside of #ifdef TUI.
+2020-03-31 Joel Jones <joelkevinjones@gmail.com>
+
+ PR tui/25597:
+ * python/py-tui.c: Include gdb_curses.h inside of #ifdef TUI.
+
2020-03-31 Tom Tromey <tromey@adacore.com>
* dwarf2/abbrev.c (abbrev_table::read): Conditionally call
#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"