Fix pthread_setname_np build error
[deliverable/binutils-gdb.git] / gdb / gdb_curses.h
index 074313e068d19390d95569d776c874ff1cbe7a93..daca8e51c9eba0c7b59885ea374b16809e4afb65 100644 (file)
@@ -1,12 +1,12 @@
 /* Portable <curses.h>.
 
-   Copyright 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004-2019 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef GDB_CURSES_H
 #define GDB_CURSES_H 1
 
-#if defined (HAVE_NCURSES_H)
+#ifdef __MINGW32__
+/* Windows API headers, included e.g. by serial.h, define MOUSE_MOVED,
+   and so does PDCurses's curses.h, but for an entirely different
+   purpose.  Since we don't use the Windows semantics of MOUSE_MOVED
+   anywhere, avoid compiler warnings by undefining MOUSE_MOVED before
+   including curses.h.  */
+#undef MOUSE_MOVED
+/* Likewise, KEY_EVENT is defined by ncurses.h, but also by Windows
+   API headers.  */
+#undef KEY_EVENT
+#endif
+
+/* On Solaris and probably other SysVr4 derived systems, we need to define
+   NOMACROS so the native <curses.h> doesn't define clear which interferes
+   with the clear member of class string_file.  ncurses potentially has a
+   similar problem and fix.  */
+#define NOMACROS
+#define NCURSES_NOMACROS
+
+#if defined (HAVE_NCURSESW_NCURSES_H)
+#include <ncursesw/ncurses.h>
+#elif defined (HAVE_NCURSES_NCURSES_H)
+#include <ncurses/ncurses.h>
+#elif defined (HAVE_NCURSES_H)
 #include <ncurses.h>
+#elif defined (HAVE_CURSESX_H)
+#include <cursesX.h>
 #elif defined (HAVE_CURSES_H)
 #include <curses.h>
 #endif
 
+#if defined (HAVE_NCURSES_TERM_H)
+#include <ncurses/term.h>
+#elif defined (HAVE_TERM_H)
+#include <term.h>
+#else
+/* On MinGW, a real termcap library is usually not present.  Stub versions
+   of the termcap functions will be built from stub-termcap.c.  Readline
+   provides its own extern declarations when there's no termcap.h; do the
+   same here for the termcap functions used in GDB.  */
+EXTERN_C int tgetnum (const char *);
 #endif
+
+/* SunOS's curses.h has a '#define reg register' in it.  Thank you Sun.  */
+/* Ditto for:
+   -bash-4.2$ uname -a
+   AIX power-aix 1 7 00F84C0C4C00  */
+#ifdef reg
+#undef reg
+#endif
+
+#endif /* gdb_curses.h */
This page took 0.025164 seconds and 4 git commands to generate.