Fix readline build on mingw

Upstream readline 8.2 does not build on mingw.  This patch fixes the
build, but I do not know how well it works.

I've submitted this to readline here:

    https://lists.gnu.org/archive/html/bug-readline/2024-11/msg00007.html

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=32265
This commit is contained in:
Tom Tromey 2024-11-16 13:43:22 -07:00
parent 425f843d58
commit 975cb893f4
2 changed files with 9 additions and 2 deletions

View File

@ -21,6 +21,13 @@
#define READLINE_LIBRARY
#if defined (__MINGW32__)
/* These are needed to get the declaration of 'alarm' when including
<unistd.h>. */
#define __USE_MINGW_ALARM
#define _POSIX
#endif
#if defined (__TANDEM)
# define _XOPEN_SOURCE_EXTENDED 1
# define _TANDEM_SOURCE 1
@ -834,7 +841,7 @@ rl_getc (FILE *stream)
/* We know at this point that _rl_caught_signal == 0 */
#if defined (__MINGW32__)
if (isatty (fd)
if (isatty (fd))
return (_getch ()); /* "There is no error return." */
#endif
result = 0;

View File

@ -303,7 +303,7 @@ extern int _rl_pushed_input_available (void);
extern int _rl_timeout_init (void);
extern int _rl_timeout_handle_sigalrm (void);
#if defined (_POSIXSELECT_H_)
#if defined (RL_TIMEOUT_USE_SELECT)
/* use as a sentinel for fd_set, struct timeval, and sigset_t definitions */
extern int _rl_timeout_select (int, fd_set *, fd_set *, fd_set *, const struct timeval *, const sigset_t *);
#endif