1 /* Portable <curses.h>. 2 3 Copyright (C) 2004-2013 Free Software Foundation, Inc. 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 9 the Free Software Foundation; either version 3 of the License, or 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 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 19 20 #ifndef GDB_CURSES_H 21 #define GDB_CURSES_H 1 22 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 30 /* Likewise, KEY_EVENT is defined by ncurses.h, but also by Windows 31 API headers. */ 32 #undef KEY_EVENT 33 #endif 34 35 #if defined (HAVE_NCURSES_NCURSES_H) 36 #include <ncurses/ncurses.h> 37 #elif defined (HAVE_NCURSES_H) 38 #include <ncurses.h> 39 #elif defined (HAVE_CURSESX_H) 40 #include <cursesX.h> 41 #elif defined (HAVE_CURSES_H) 42 #include <curses.h> 43 #endif 44 45 #if defined (HAVE_NCURSES_TERM_H) 46 #include <ncurses/term.h> 47 #elif defined (HAVE_TERM_H) 48 #include <term.h> 49 #else 50 /* On MinGW, a real termcap library is usually not present. Stub versions 51 of the termcap functions will be built from windows-termcap.c. Readline 52 provides its own extern declarations when there's no termcap.h; do the 53 same here for the termcap functions used in GDB. */ 54 extern int tgetnum (const char *); 55 #endif 56 57 #endif /* gdb_curses.h */ 58