--- configure.orig 2025-01-04 16:02:58.538185088 -0800 +++ configure 2025-01-04 16:06:26.344963231 -0800 @@ -8824,7 +8824,8 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if WNOHANG requires _POSIX_SOURCE" >&5 $as_echo_n "checking if WNOHANG requires _POSIX_SOURCE... " >&6; } if test "$cross_compiling" = yes; then : - as_fn_error $? "Expect can't be cross compiled" "$LINENO" 5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -8859,7 +8860,13 @@ $as_echo_n "checking if any value exists for WNOHANG... " >&6; } rm -rf wnohang if test "$cross_compiling" = yes; then : - as_fn_error $? "Expect can't be cross compiled" "$LINENO" 5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + cat >>confdefs.h <<_ACEOF +#define WNOHANG_BACKUP_VALUE `cat wnohang` +_ACEOF + + rm -f wnohang else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -8927,8 +8934,8 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if signals need to be re-armed" >&5 $as_echo_n "checking if signals need to be re-armed... " >&6; } if test "$cross_compiling" = yes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Expect can't be cross compiled" >&5 -$as_echo "$as_me: WARNING: Expect can't be cross compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -9227,7 +9234,11 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct sgttyb" >&5 $as_echo_n "checking for struct sgttyb... " >&6; } if test "$cross_compiling" = yes; then : - as_fn_error $? "Expect can't be cross compiled" "$LINENO" 5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + $as_echo "#define HAVE_SGTTYB 1" >>confdefs.h + + PTY_TYPE=sgttyb else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -9268,7 +9279,11 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct termio" >&5 $as_echo_n "checking for struct termio... " >&6; } if test "$cross_compiling" = yes; then : - as_fn_error $? "Expect can't be cross compiled" "$LINENO" 5 + $as_echo "#define HAVE_TERMIO 1" >>confdefs.h + + PTY_TYPE=termios + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -9301,7 +9316,11 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct termios" >&5 $as_echo_n "checking for struct termios... " >&6; } if test "$cross_compiling" = yes; then : - as_fn_error $? "Expect can't be cross compiled" "$LINENO" 5 + $as_echo "#define HAVE_TERMIOS 1" >>confdefs.h + + PTY_TYPE=termios + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -9339,7 +9358,8 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if TCGETS or TCGETA in termios.h" >&5 $as_echo_n "checking if TCGETS or TCGETA in termios.h... " >&6; } if test "$cross_compiling" = yes; then : - as_fn_error $? "Expect can't be cross compiled" "$LINENO" 5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -9377,7 +9397,8 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if TIOCGWINSZ in termios.h" >&5 $as_echo_n "checking if TIOCGWINSZ in termios.h... " >&6; } if test "$cross_compiling" = yes; then : - as_fn_error $? "Expect can't be cross compiled" "$LINENO" 5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -9417,7 +9438,8 @@ $as_echo_n "checking for Cray-style ptys... " >&6; } SETUID=":" if test "$cross_compiling" = yes; then : - as_fn_error $? "Expect can't be cross compiled" "$LINENO" 5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -9508,57 +9530,18 @@ fi done - -# following test sets SETPGRP_VOID if setpgrp takes 0 args, else takes 2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether setpgrp takes no argument" >&5 -$as_echo_n "checking whether setpgrp takes no argument... " >&6; } -if ${ac_cv_func_setpgrp_void+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - as_fn_error $? "cannot check setpgrp when cross compiling" "$LINENO" 5 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -/* If this system has a BSD-style setpgrp which takes arguments, - setpgrp(1, 1) will fail with ESRCH and return -1, in that case - exit successfully. */ - return setpgrp (1,1) != -1; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_setpgrp_void=no -else - ac_cv_func_setpgrp_void=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_setpgrp_void" >&5 -$as_echo "$ac_cv_func_setpgrp_void" >&6; } -if test $ac_cv_func_setpgrp_void = yes; then - $as_echo "#define SETPGRP_VOID 1" >>confdefs.h -fi - - # # check for timezones # { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SV-style timezone" >&5 $as_echo_n "checking for SV-style timezone... " >&6; } if test "$cross_compiling" = yes; then : - as_fn_error $? "Expect can't be cross compiled" "$LINENO" 5 + $as_echo "#define HAVE_SV_TIMEZONE 1" >>confdefs.h + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ --- tclconfig/config.sub.orig 2025-01-04 15:30:13.491914723 -0800 +++ tclconfig/config.sub 2025-01-04 15:31:19.708799962 -0800 @@ -229,7 +229,7 @@ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ + | aarch64-muntsos | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fr30 | frv \ --- exp_chan.c.orig 2018-02-02 11:15:52.000000000 -0800 +++ exp_chan.c 2025-02-19 17:55:09.578957638 -0800 @@ -37,6 +37,8 @@ #include "exp_log.h" #include "tcldbg.h" /* Dbg_StdinMode */ +extern void exp_background_channelhandler _ANSI_ARGS_((ClientData,int)); + extern int expSetBlockModeProc _ANSI_ARGS_((int fd, int mode)); static int ExpBlockModeProc _ANSI_ARGS_((ClientData instanceData, int mode)); @@ -58,7 +60,7 @@ Tcl_ChannelType expChannelType = { "exp", /* Type name. */ - ExpBlockModeProc, /* Set blocking/nonblocking mode.*/ + NULL, ExpCloseProc, /* Close proc. */ ExpInputProc, /* Input proc. */ ExpOutputProc, /* Output proc. */ @@ -68,6 +70,7 @@ ExpWatchProc, /* Initialize notifier. */ ExpGetHandleProc, /* Get OS handles out of channel. */ NULL, /* Close2 proc */ + ExpBlockModeProc, /* Set blocking/nonblocking mode.*/ }; typedef struct ThreadSpecificData { --- exp_clib.c.orig 2018-02-02 11:15:52.000000000 -0800 +++ exp_clib.c 2025-02-19 17:23:44.428849135 -0800 @@ -50,11 +50,13 @@ # endif #endif +#include #include -/*#include - deprecated - ANSI C moves them into string.h */ -#include "string.h" +#include +#include +#include -#include +extern void exp_init_tty(); #ifdef NO_STDLIB_H --- exp_main_sub.c.orig 2025-02-19 17:26:33.186460640 -0800 +++ exp_main_sub.c 2025-02-19 17:27:45.563151243 -0800 @@ -28,6 +28,8 @@ #include "tcldbg.h" #endif +extern int exp_tty_cooked_echo(Tcl_Interp *interp, exp_tty *tty_old, int *was_raw, int *was_echo); + #ifndef EXP_VERSION #define EXP_VERSION PACKAGE_VERSION #endif --- pty_termios.c.orig 2018-02-02 11:15:52.000000000 -0800 +++ pty_termios.c 2025-02-19 18:23:29.490978393 -0800 @@ -7,6 +7,7 @@ */ +#include #include #include @@ -16,6 +17,8 @@ #include "expect_cf.h" +extern char * expErrnoMsg(int errorNo); + /* The following functions are linked from the Tcl library. They don't cause anything else in the library to be dragged in, so it