]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/gdb_curses.h
Automatic date update in version.in
[thirdparty/binutils-gdb.git] / gdb / gdb_curses.h
CommitLineData
8e08f109
AC
1/* Portable <curses.h>.
2
b811d2c2 3 Copyright (C) 2004-2020 Free Software Foundation, Inc.
8e08f109
AC
4
5 This file is part of GDB.
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
a9762ec7 9 the Free Software Foundation; either version 3 of the License, or
8e08f109
AC
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
a9762ec7 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
8e08f109
AC
19
20#ifndef GDB_CURSES_H
21#define GDB_CURSES_H 1
22
ee5106fe
EZ
23#ifdef __MINGW32__
24/* Windows API headers, included e.g. by serial.h, define MOUSE_MOVED,
25 and so does PDCurses's curses.h, but for an entirely different
26 purpose. Since we don't use the Windows semantics of MOUSE_MOVED
27 anywhere, avoid compiler warnings by undefining MOUSE_MOVED before
28 including curses.h. */
29#undef MOUSE_MOVED
b31b86a7
EZ
30/* Likewise, KEY_EVENT is defined by ncurses.h, but also by Windows
31 API headers. */
32#undef KEY_EVENT
ee5106fe 33#endif
b31b86a7 34
6e7e1744
RO
35/* On Solaris and probably other SysVr4 derived systems, we need to define
36 NOMACROS so the native <curses.h> doesn't define clear which interferes
37 with the clear member of class string_file. ncurses potentially has a
38 similar problem and fix. */
39#define NOMACROS
40#define NCURSES_NOMACROS
41
5007d765
MK
42#if defined (HAVE_NCURSESW_NCURSES_H)
43#include <ncursesw/ncurses.h>
44#elif defined (HAVE_NCURSES_NCURSES_H)
b31b86a7
EZ
45#include <ncurses/ncurses.h>
46#elif defined (HAVE_NCURSES_H)
47#include <ncurses.h>
48#elif defined (HAVE_CURSESX_H)
49#include <cursesX.h>
50#elif defined (HAVE_CURSES_H)
8e08f109
AC
51#include <curses.h>
52#endif
53
3b78cdbb
DA
54#if defined (HAVE_NCURSES_TERM_H)
55#include <ncurses/term.h>
56#elif defined (HAVE_TERM_H)
57#include <term.h>
92128691
DJ
58#else
59/* On MinGW, a real termcap library is usually not present. Stub versions
532f44ed 60 of the termcap functions will be built from stub-termcap.c. Readline
92128691
DJ
61 provides its own extern declarations when there's no termcap.h; do the
62 same here for the termcap functions used in GDB. */
d053f6be 63EXTERN_C int tgetnum (const char *);
3b78cdbb
DA
64#endif
65
aee17e42
TT
66/* SunOS's curses.h has a '#define reg register' in it. Thank you Sun. */
67/* Ditto for:
68 -bash-4.2$ uname -a
69 AIX power-aix 1 7 00F84C0C4C00 */
70#ifdef reg
71#undef reg
72#endif
73
a6ed5501 74#endif /* gdb_curses.h */