mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-29 22:40:34 +02:00
* configure.in: Added test if readline clears SA_RESTART flag for
SIGWINCH. (Thanks to Dale P. Smith.)
This commit is contained in:
parent
a0adfbf022
commit
49a2970b4a
1 changed files with 40 additions and 1 deletions
|
@ -18,7 +18,46 @@ if test $ac_cv_lib_readline_main = no; then
|
|||
AC_MSG_WARN([libreadline was not found on your system.])
|
||||
fi
|
||||
|
||||
AC_CHECK_FUNCS(rl_clear_signals rl_cleanup_after_signal)
|
||||
AC_CHECK_FUNCS(rl_clear_signals rl_cleanup_after_signal rl_pre_input_hook)
|
||||
|
||||
|
||||
AC_MSG_CHECKING(if readline clears SA_RESTART flag for SIGWINCH)
|
||||
AC_CACHE_VAL(guile_cv_sigwinch_sa_restart_cleared,
|
||||
AC_TRY_RUN([#include <signal.h>
|
||||
#include <stdio.h>
|
||||
#include <readline/readline.h>
|
||||
|
||||
int
|
||||
hook ()
|
||||
{
|
||||
struct sigaction action;
|
||||
|
||||
sigaction (SIGWINCH, NULL, &action);
|
||||
rl_cleanup_after_signal();
|
||||
|
||||
/* exit with 0 if readline disabled SA_RESTART */
|
||||
exit (action.sa_flags & SA_RESTART);
|
||||
}
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
struct sigaction action;
|
||||
|
||||
sigaction (SIGWINCH, NULL, &action);
|
||||
action.sa_flags |= SA_RESTART;
|
||||
sigaction (SIGWINCH, &action, NULL);
|
||||
|
||||
rl_pre_input_hook = hook;
|
||||
readline ("");
|
||||
}],
|
||||
guile_cv_sigwinch_sa_restart_cleared=yes,
|
||||
guile_cv_sigwinch_sa_restart_cleared=no,
|
||||
guile_cv_sigwinch_sa_restart_cleared=yes))
|
||||
AC_MSG_RESULT($guile_cv_sigwinch_sa_restart_cleared)
|
||||
if test $guile_cv_sigwinch_sa_restart_cleared = yes; then
|
||||
AC_DEFINE(GUILE_SIGWINCH_SA_RESTART_CLEARED)
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK([for rl_getc_function pointer in readline],
|
||||
ac_cv_var_rl_getc_function,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue