https://sourceforge.net/tracker/?func=detail&aid=3071706&group_id=13179&atid=113179 --- a/configure.in +++ b/configure.in @@ -133,6 +133,8 @@ AC_CHECK_HEADER(sys/fcntl.h, AC_DEFINE(HAVE_SYS_FCNTL_H)) AC_CHECK_HEADER(sys/ptem.h, AC_DEFINE(HAVE_SYS_PTEM_H)) AC_CHECK_HEADER(sys/strredir.h, AC_DEFINE(HAVE_STRREDIR_H)) AC_CHECK_HEADER(sys/strpty.h, AC_DEFINE(HAVE_STRPTY_H)) +AC_CHECK_HEADER(pty.h, AC_DEFINE(HAVE_PTY_H)) +AC_CHECK_HEADER(libutil.h, AC_DEFINE(HAVE_LIBUTIL_H)) AC_MSG_CHECKING([for sys/bsdtypes.h]) if test "ISC_${ISC}" = "ISC_1" ; then --- a/exp_clib.c +++ b/exp_clib.c @@ -15,6 +15,12 @@ #endif #include #include +#ifdef HAVE_UNISTD_H +# include +#endif +#ifdef HAVE_SYS_WAIT_H +#include +#endif #ifdef TIME_WITH_SYS_TIME # include --- a/exp_trap.c +++ b/exp_trap.c @@ -13,6 +13,7 @@ #include #include #include +#include #ifdef HAVE_SYS_WAIT_H #include --- a/pty_termios.c +++ b/pty_termios.c @@ -9,6 +9,14 @@ #include #include +#include +#ifdef HAVE_PTY_H +#include +#endif +#ifdef HAVE_LIBUTIL_H +#include +#include +#endif #if defined(SIGCLD) && !defined(SIGCHLD) #define SIGCHLD SIGCLD @@ -100,6 +100,7 @@ #include "exp_tty_in.h" #include "exp_rename.h" +#include "exp_int.h" #include "exp_pty.h" void expDiagLog(); --- a/exp_chan.c +++ b/exp_chan.c @@ -34,6 +34,7 @@ #include "exp_rename.h" #include "exp_prog.h" #include "exp_command.h" +#include "exp_event.h" #include "exp_log.h" #include "tcldbg.h" /* Dbg_StdinMode */ --- a/exp_clib.c +++ b/exp_clib.c @@ -1955,6 +1955,7 @@ #include "expect.h" #include "exp_int.h" +EXTERN void exp_init_tty _ANSI_ARGS_((void)); /* exp_glob.c - expect functions for doing glob * --- a/exp_tty.h +++ b/exp_tty.h @@ -17,6 +17,7 @@ void exp_tty_raw(int set); void exp_tty_echo(int set); +int exp_tty_cooked_echo(Tcl_Interp *interp, exp_tty *tty_old, int *was_raw, int *was_echo); void exp_tty_break(Tcl_Interp *interp, int fd); int exp_tty_raw_noecho(Tcl_Interp *interp, exp_tty *tty_old, int *was_raw, int *was_echo); int exp_israw(void);