summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-tcltk/expect/files
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-tcltk/expect/files')
-rw-r--r--dev-tcltk/expect/files/expect-5.39.0-libdir.patch11
-rw-r--r--dev-tcltk/expect/files/expect-5.43.0-avoid-tcl-internals-1.patch100
-rw-r--r--dev-tcltk/expect/files/expect-5.43.0-darwin.patch11
-rw-r--r--dev-tcltk/expect/files/expect-5.43.0-missing-includes.patch44
-rw-r--r--dev-tcltk/expect/files/expect-5.43.0-multilib.patch11
-rw-r--r--dev-tcltk/expect/files/expect-5.44.1.15-expectk.patch14
-rw-r--r--dev-tcltk/expect/files/expect-5.44.1.15-gfbsd.patch17
-rw-r--r--dev-tcltk/expect/files/expect-5.44.1.15-headers.patch86
-rw-r--r--dev-tcltk/expect/files/expect-5.44.1.15-ldflags.patch13
-rw-r--r--dev-tcltk/expect/files/expect-5.44.1.15_with-tk-no.patch117
-rw-r--r--dev-tcltk/expect/files/expect-5.45-darwin-install_name.patch13
-rw-r--r--dev-tcltk/expect/files/expect-5.45-format-security.patch18
-rw-r--r--dev-tcltk/expect/files/expect-5.45-gfbsd.patch26
-rw-r--r--dev-tcltk/expect/files/expect-5.45-headers.patch92
-rw-r--r--dev-tcltk/expect/files/expect.m4609
15 files changed, 1182 insertions, 0 deletions
diff --git a/dev-tcltk/expect/files/expect-5.39.0-libdir.patch b/dev-tcltk/expect/files/expect-5.39.0-libdir.patch
new file mode 100644
index 000000000000..061db835fb8b
--- /dev/null
+++ b/dev-tcltk/expect/files/expect-5.39.0-libdir.patch
@@ -0,0 +1,11 @@
+--- expect-5.39/Makefile.in.libdir 2003-07-30 00:46:51.000000000 +0200
++++ expect-5.39/Makefile.in 2003-11-17 17:54:52.000000000 +0100
+@@ -316,7 +316,7 @@
+ CFLAGS_INT = $(MH_CFLAGS) $(CPPFLAGS) $(XCFLAGS)
+
+ LIB_INSTALL_DIR = $(tcl_libdir)
+-LIB_RUNTIME_DIR = $(tcl_libdir)
++LIB_RUNTIME_DIR = $(subst $(INSTALL_ROOT),,$(tcl_libdir))
+ # I don't understand why Tcl splits these up, but it does. LIB_RUNTIME_DIR
+ # can appear as part of the LD_SEARCH_FLAGS inherited by configure.
+
diff --git a/dev-tcltk/expect/files/expect-5.43.0-avoid-tcl-internals-1.patch b/dev-tcltk/expect/files/expect-5.43.0-avoid-tcl-internals-1.patch
new file mode 100644
index 000000000000..517fe93f8b2c
--- /dev/null
+++ b/dev-tcltk/expect/files/expect-5.43.0-avoid-tcl-internals-1.patch
@@ -0,0 +1,100 @@
+Submitted By: Bryan Kadzban <bryan@kadzban.is-a-geek.net>
+Date: 2008-01-12
+Initial Package Version: 5.43
+Upstream status: Not Submitted - Test Version
+Origin: LFS ticket 2126 (http://wiki.linuxfromscratch.org/lfs/ticket/2126)
+Description: Removes references to functions that Tcl 8.5 no longer exposes.
+
+diff -Naur expect-5.43/exp_command.c expect-5.43-patched/exp_command.c
+--- expect-5.43/exp_command.c 2004-08-20 13:18:01.000000000 -0400
++++ expect-5.43-patched/exp_command.c 2008-01-12 11:42:45.000000000 -0500
+@@ -2265,6 +2265,8 @@
+ /*NOTREACHED*/
+ }
+
++static struct exp_cmd_data cmd_data[];
++
+ /*ARGSUSED*/
+ static int
+ Exp_CloseObjCmd(clientData, interp, objc, objv)
+@@ -2311,12 +2313,23 @@
+ /* Historical note: we used "close" long before there was a */
+ /* Tcl builtin by the same name. */
+
++ /* The code that registered this function as the handler for */
++ /* the "close" command stored away the old handler in the */
++ /* exp_cmd_data for the "close" command. */
++
++ struct exp_cmd_data *cmd_ptr;
+ Tcl_CmdInfo info;
++
++ for(cmd_ptr = &cmd_data[0]; cmd_ptr->name; cmd_ptr++) {
++ if(strncmp(cmd_ptr->name, "close", 5) == 0)
++ break;
++ }
++
+ Tcl_ResetResult(interp);
+ if (0 == Tcl_GetCommandInfo(interp,"close",&info)) {
+ info.clientData = 0;
+ }
+- return(Tcl_CloseObjCmd(info.clientData,interp,objc_orig,objv_orig));
++ return(cmd_ptr->old_objProc(info.clientData,interp,objc_orig,objv_orig));
+ }
+
+ if (chanName) {
+@@ -2961,7 +2974,10 @@
+ /* if successful (i.e., TCL_RETURN is returned) */
+ /* modify the result, so that we will handle it specially */
+
+- int result = Tcl_ReturnObjCmd(clientData,interp,objc,objv);
++ Tcl_CmdInfo info;
++ Tcl_GetCommandInfo(interp, "return", &info);
++
++ int result = info.objProc(clientData,interp,objc,objv);
+ if (result == TCL_RETURN)
+ result = EXP_TCL_RETURN;
+ return result;
+@@ -3062,8 +3078,7 @@
+
+ for (;c->name;c++) {
+ /* if already defined, don't redefine */
+- if ((c->flags & EXP_REDEFINE) ||
+- !(Tcl_FindHashEntry(&globalNsPtr->cmdTable,c->name) ||
++ if (!(Tcl_FindHashEntry(&globalNsPtr->cmdTable,c->name) ||
+ Tcl_FindHashEntry(&currNsPtr->cmdTable,c->name))) {
+ if (c->objproc)
+ Tcl_CreateObjCommand(interp,c->name,
+@@ -3072,6 +3087,21 @@
+ Tcl_CreateCommand(interp,c->name,c->proc,
+ c->data,exp_deleteProc);
+ }
++ else if (c->flags & EXP_REDEFINE) { /* unless the REDEFINE flag is present */
++ Tcl_CmdInfo info;
++
++ if (Tcl_GetCommandInfo(interp, c->name, &info)) {
++ c->old_proc = info.proc;
++ c->old_objProc = info.objProc;
++ }
++
++ if (c->objproc)
++ Tcl_CreateObjCommand(interp,c->name,
++ c->objproc,c->data,exp_deleteObjProc);
++ else
++ Tcl_CreateCommand(interp,c->name,c->proc,
++ c->data,exp_deleteProc);
++ }
+ if (!(c->name[0] == 'e' &&
+ c->name[1] == 'x' &&
+ c->name[2] == 'p')
+diff -Naur expect-5.43/exp_command.h expect-5.43-patched/exp_command.h
+--- expect-5.43/exp_command.h 2008-01-12 11:44:11.000000000 -0500
++++ expect-5.43-patched/exp_command.h 2008-01-12 11:26:05.000000000 -0500
+@@ -297,6 +297,8 @@
+ Tcl_CmdProc *proc;
+ ClientData data;
+ int flags;
++ Tcl_CmdProc *old_proc; /* these store the procedure for the old command, */
++ Tcl_ObjCmdProc *old_objProc; /* if any */
+ };
+
+ EXTERN void exp_create_commands _ANSI_ARGS_((Tcl_Interp *,
diff --git a/dev-tcltk/expect/files/expect-5.43.0-darwin.patch b/dev-tcltk/expect/files/expect-5.43.0-darwin.patch
new file mode 100644
index 000000000000..7ce1bb6cb7fb
--- /dev/null
+++ b/dev-tcltk/expect/files/expect-5.43.0-darwin.patch
@@ -0,0 +1,11 @@
+--- Makefile.in
++++ Makefile.in
+@@ -413,7 +413,7 @@
+ expect-shared-lib-file :: $(EXP_SHARED_LIB_FILE)
+ $(EXP_SHARED_LIB_FILE): $(OFILES)
+ -rm -f $(EXP_SHARED_LIB_FILE)
+- @TCL_SHLIB_LD@ -o $(EXP_SHARED_LIB_FILE) $(SHARED_OFILES) @EXP_LD_SEARCH_FLAGS@ @EXP_SHLIB_LD_LIBS@
++ @TCL_SHLIB_LD@ -o $(EXP_SHARED_LIB_FILE) $(SHARED_OFILES) @EXP_LD_SEARCH_FLAGS@ @EXP_SHLIB_LD_LIBS@ -install_name $(tcl_libdir)/$(EXP_SHARED_LIB_FILE)
+
+ .PHONY: install-info install info
+ install-info:
diff --git a/dev-tcltk/expect/files/expect-5.43.0-missing-includes.patch b/dev-tcltk/expect/files/expect-5.43.0-missing-includes.patch
new file mode 100644
index 000000000000..a4310d011216
--- /dev/null
+++ b/dev-tcltk/expect/files/expect-5.43.0-missing-includes.patch
@@ -0,0 +1,44 @@
+diff -urpN expect-5.43.0.orig/work/expect-5.43/exp_glob.c expect-5.43.0/work/expect-5.43/exp_glob.c
+--- expect-5.43.0.orig/work/expect-5.43/exp_glob.c 2009-06-07 19:36:31.000000000 +0200
++++ expect-5.43.0/work/expect-5.43/exp_glob.c 2009-06-07 19:39:04.000000000 +0200
+@@ -11,6 +11,7 @@ would appreciate credit if this program
+
+ */
+
++#include <string.h>
+ #include "expect_cf.h"
+ #include "tcl.h"
+ #include "exp_int.h"
+diff -urpN expect-5.43.0.orig/work/expect-5.43/exp_main_exp.c expect-5.43.0/work/expect-5.43/exp_main_exp.c
+--- expect-5.43.0.orig/work/expect-5.43/exp_main_exp.c 2009-06-07 19:36:31.000000000 +0200
++++ expect-5.43.0/work/expect-5.43/exp_main_exp.c 2009-06-07 19:37:39.000000000 +0200
+@@ -9,6 +9,7 @@ would appreciate credit if this program
+
+ #include "expect_cf.h"
+ #include <stdio.h>
++#include <stdlib.h>
+ #include "tcl.h"
+ #include "expect_tcl.h"
+
+diff -urpN expect-5.43.0.orig/work/expect-5.43/exp_trap.c expect-5.43.0/work/expect-5.43/exp_trap.c
+--- expect-5.43.0.orig/work/expect-5.43/exp_trap.c 2009-06-07 19:36:31.000000000 +0200
++++ expect-5.43.0/work/expect-5.43/exp_trap.c 2009-06-07 19:38:51.000000000 +0200
+@@ -11,6 +11,7 @@ would appreciate credit if this program
+ #include "expect_cf.h"
+
+ #include <stdio.h>
++#include <string.h>
+ #include <signal.h>
+ #include <sys/types.h>
+
+diff -urpN expect-5.43.0.orig/work/expect-5.43/pty_termios.c expect-5.43.0/work/expect-5.43/pty_termios.c
+--- expect-5.43.0.orig/work/expect-5.43/pty_termios.c 2009-06-07 19:36:31.000000000 +0200
++++ expect-5.43.0/work/expect-5.43/pty_termios.c 2009-06-07 19:38:19.000000000 +0200
+@@ -8,6 +8,7 @@ would appreciate credit if you use this
+ */
+
+ #include <stdio.h>
++#include <string.h>
+ #include <signal.h>
+
+ #if defined(SIGCLD) && !defined(SIGCHLD)
diff --git a/dev-tcltk/expect/files/expect-5.43.0-multilib.patch b/dev-tcltk/expect/files/expect-5.43.0-multilib.patch
new file mode 100644
index 000000000000..9257537349d5
--- /dev/null
+++ b/dev-tcltk/expect/files/expect-5.43.0-multilib.patch
@@ -0,0 +1,11 @@
+--- expect-5.42/configure.in.orig 2004-12-21 03:02:36.095170881 -0800
++++ expect-5.42/configure.in 2004-12-21 03:03:08.987170537 -0800
+@@ -1141,7 +1141,7 @@
+ fi
+
+ EXP_BUILD_LIB_SPEC="-L`pwd` -lexpect${EXP_LIB_VERSION}${DBGX}"
+-EXP_LIB_SPEC="-L\${INSTALL_ROOT}\${exec_prefix}/lib -lexpect${EXP_LIB_VERSION}${DBGX}"
++EXP_LIB_SPEC="-L\${libdir} -lexpect${EXP_LIB_VERSION}${DBGX}"
+ EXP_UNSHARED_LIB_FILE=libexpect${EXP_LIB_VERSION}${DBGX}.a
+
+ # The TCL_SHARED_LIB_SUFFIX macro below relies on the DBGX macro,
diff --git a/dev-tcltk/expect/files/expect-5.44.1.15-expectk.patch b/dev-tcltk/expect/files/expect-5.44.1.15-expectk.patch
new file mode 100644
index 000000000000..0c0ba80293e0
--- /dev/null
+++ b/dev-tcltk/expect/files/expect-5.44.1.15-expectk.patch
@@ -0,0 +1,14 @@
+expectk is only built when TK_BIN_DIR is defined. the configure script
+takes care of figuring out this value, but then they forgot to actually
+write it out to the Makefile.
+
+--- Makefile.in
++++ Makefile.in
+@@ -24,6 +24,7 @@
+ # SETUID = chmod u+s
+
+ LIB_RUNTIME_DIR = $(DESTDIR)@libdir@
++TK_BIN_DIR = @TK_BIN_DIR@
+
+ # The following Expect scripts are not necessary to have installed as
+ # commands, but are very useful. Edit out what you don't want
diff --git a/dev-tcltk/expect/files/expect-5.44.1.15-gfbsd.patch b/dev-tcltk/expect/files/expect-5.44.1.15-gfbsd.patch
new file mode 100644
index 000000000000..d67de2126a07
--- /dev/null
+++ b/dev-tcltk/expect/files/expect-5.44.1.15-gfbsd.patch
@@ -0,0 +1,17 @@
+--- expect-5.44.1.15/tclconfig/tcl.m4.orig 2010-04-08 22:49:51.568043292 -0700
++++ expect-5.44.1.15/tclconfig/tcl.m4 2010-04-08 22:50:28.207915301 -0700
+@@ -1579,12 +1579,12 @@
+ FreeBSD-*)
+ # FreeBSD 3.* and greater have ELF.
+ SHLIB_CFLAGS="-fPIC"
+- SHLIB_LD="ld -Bshareable -x"
++ SHLIB_LD="${CC} -shared"
+ SHLIB_LD_LIBS='${LIBS}'
+ SHLIB_SUFFIX=".so"
+ DL_OBJS="tclLoadDl.o"
+ DL_LIBS=""
+- LDFLAGS="$LDFLAGS -export-dynamic"
++ LDFLAGS="$LDFLAGS -Wl,-export-dynamic"
+ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+ LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
+ if test "${TCL_THREADS}" = "1" ; then
diff --git a/dev-tcltk/expect/files/expect-5.44.1.15-headers.patch b/dev-tcltk/expect/files/expect-5.44.1.15-headers.patch
new file mode 100644
index 000000000000..77e4d91f4bf9
--- /dev/null
+++ b/dev-tcltk/expect/files/expect-5.44.1.15-headers.patch
@@ -0,0 +1,86 @@
+https://sourceforge.net/tracker/?func=detail&aid=3071706&group_id=13179&atid=113179
+
+--- a/exp_clib.c
++++ b/exp_clib.c
+@@ -15,6 +15,12 @@
+ #endif
+ #include <sys/types.h>
+ #include <sys/ioctl.h>
++#ifdef HAVE_UNISTD_H
++# include <unistd.h>
++#endif
++#ifdef HAVE_SYS_WAIT_H
++#include <sys/wait.h>
++#endif
+
+ #ifdef TIME_WITH_SYS_TIME
+ # include <sys/time.h>
+--- a/exp_trap.c
++++ b/exp_trap.c
+@@ -13,6 +13,7 @@
+ #include <stdio.h>
+ #include <signal.h>
+ #include <sys/types.h>
++#include <string.h>
+
+ #ifdef HAVE_SYS_WAIT_H
+ #include <sys/wait.h>
+--- a/pty_termios.c
++++ b/pty_termios.c
+@@ -9,6 +9,8 @@
+
+ #include <stdio.h>
+ #include <signal.h>
++#include <string.h>
++#include <pty.h>
+
+ #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);
+--- a/exp_main_tk.c
++++ b/exp_main_tk.c
+@@ -32,6 +32,7 @@
+ static char sccsid[] = "@(#) tkAppInit.c 1.19 95/12/23 17:09:24";
+ #endif /* not lint */
+
++#include <string.h>
+ #include <ctype.h>
+
+ #include "tk.h"
diff --git a/dev-tcltk/expect/files/expect-5.44.1.15-ldflags.patch b/dev-tcltk/expect/files/expect-5.44.1.15-ldflags.patch
new file mode 100644
index 000000000000..be3641c2105c
--- /dev/null
+++ b/dev-tcltk/expect/files/expect-5.44.1.15-ldflags.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile.in b/Makefile.in
+index cc2c79b..1083eaf 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -148,7 +148,7 @@ OBJEXT = @OBJEXT@
+ RANLIB = @RANLIB@
+ RANLIB_STUB = @RANLIB_STUB@
+ SHLIB_CFLAGS = @SHLIB_CFLAGS@
+-SHLIB_LD = @SHLIB_LD@
++SHLIB_LD = @SHLIB_LD@ $(LDFLAGS)
+ SHLIB_LD_LIBS = @SHLIB_LD_LIBS@
+ STLIB_LD = @STLIB_LD@
+ TCL_DEFS = @TCL_DEFS@
diff --git a/dev-tcltk/expect/files/expect-5.44.1.15_with-tk-no.patch b/dev-tcltk/expect/files/expect-5.44.1.15_with-tk-no.patch
new file mode 100644
index 000000000000..cea372daaacb
--- /dev/null
+++ b/dev-tcltk/expect/files/expect-5.44.1.15_with-tk-no.patch
@@ -0,0 +1,117 @@
+This is a minimal patch that does not keep indentation consistent in tcl.m4
+Updating indentation would make the patch much bigger and less readable.
+
+Signed-off-by: Gilles Espinasse <g.esp@free.fr>
+
+Index: INSTALL
+===================================================================
+RCS file: /cvsroot/expect/expect/INSTALL,v
+retrieving revision 5.30
+diff -u -r5.30 INSTALL
+--- INSTALL 21 Jun 1999 18:41:41 -0000 5.30
++++ INSTALL 30 May 2009 11:51:21 -0000
+@@ -152,6 +152,7 @@
+
+ --with-tk=... Specifies the directory containing Tk's
+ configure file (tkConfig.sh).
++ --with-tk=no disable Tk usage in expect
+
+ --with-tkinclude=... Specifies the directory containing Tk's
+ private include files (such as tkInt.h)
+Index: Makefile.in
+===================================================================
+RCS file: /cvsroot/expect/expect/Makefile.in,v
+retrieving revision 5.45
+diff -u -r5.45 Makefile.in
+--- Makefile.in 3 Oct 2008 17:05:14 -0000 5.45
++++ Makefile.in 30 May 2009 11:51:21 -0000
+@@ -103,7 +103,11 @@
+ PKG_STUB_LIB_FILE = @PKG_STUB_LIB_FILE@
+
+ lib_BINARIES = $(PKG_LIB_FILE)
+-bin_BINARIES = expect expectk
++bin_BINARIES = expect
++ifneq ($(TK_BIN_DIR),)
++ bin_BINARIES += expectk
++endif
++
+ BINARIES = $(lib_BINARIES) $(bin_BINARIES)
+
+ SHELL = @SHELL@
+Index: tclconfig/tcl.m4
+===================================================================
+RCS file: /cvsroot/expect/expect/tclconfig/tcl.m4,v
+retrieving revision 1.3
+diff -u -r1.3 tcl.m4
+--- tclconfig/tcl.m4 25 Jan 2006 21:52:11 -0000 1.3
++++ tclconfig/tcl.m4 30 May 2009 11:51:23 -0000
+@@ -181,10 +181,12 @@
+ #
+ # Adds the following arguments to configure:
+ # --with-tk=...
++# --with-tk=no disable Tk usage
+ #
+ # Defines the following vars:
+ # TK_BIN_DIR Full path to the directory containing
+ # the tkConfig.sh file
++# Empty if Tk is disabled
+ #------------------------------------------------------------------------
+
+ AC_DEFUN(TEA_PATH_TKCONFIG, [
+@@ -201,6 +203,12 @@
+ AC_HELP_STRING([--with-tk],
+ [directory containing tk configuration (tkConfig.sh)]),
+ with_tkconfig=${withval})
++
++ if test x"${with_tkconfig}" = x"no" ; then
++ AC_MSG_RESULT([Tk is disabled by --with-tk=no])
++ unset TK_BIN_DIR
++ else
++
+ AC_MSG_CHECKING([for Tk configuration])
+ AC_CACHE_VAL(ac_cv_c_tkconfig,[
+
+@@ -309,6 +317,7 @@
+ TK_BIN_DIR=${ac_cv_c_tkconfig}
+ AC_MSG_RESULT([found ${TK_BIN_DIR}/tkConfig.sh])
+ fi
++ fi
+ fi
+ ])
+
+@@ -420,6 +429,7 @@
+ #------------------------------------------------------------------------
+
+ AC_DEFUN(TEA_LOAD_TKCONFIG, [
++ if test x"${with_tkconfig}" != x"no" ; then
+ AC_MSG_CHECKING([for existence of ${TK_BIN_DIR}/tkConfig.sh])
+
+ if test -f "${TK_BIN_DIR}/tkConfig.sh" ; then
+@@ -501,6 +511,7 @@
+
+ AC_SUBST(TK_LIBS)
+ AC_SUBST(TK_XINCLUDES)
++ fi
+ ])
+
+ #------------------------------------------------------------------------
+@@ -3528,6 +3539,11 @@
+ #------------------------------------------------------------------------
+
+ AC_DEFUN(TEA_PUBLIC_TK_HEADERS, [
++ if test x"${with_tkconfig}" = x"no" ; then
++ TK_INCLUDES=""
++ AC_SUBST(TK_INCLUDES)
++ else
++
+ AC_MSG_CHECKING([for Tk public headers])
+
+ AC_ARG_WITH(tkinclude, [ --with-tkinclude directory containing the public Tk header files.], with_tkinclude=${withval})
+@@ -3608,6 +3624,7 @@
+ fi
+ AC_MSG_RESULT([${INCLUDE_DIR_NATIVE}])
+ fi
++ fi
+ ])
+
+ #------------------------------------------------------------------------
diff --git a/dev-tcltk/expect/files/expect-5.45-darwin-install_name.patch b/dev-tcltk/expect/files/expect-5.45-darwin-install_name.patch
new file mode 100644
index 000000000000..f5470aadb88e
--- /dev/null
+++ b/dev-tcltk/expect/files/expect-5.45-darwin-install_name.patch
@@ -0,0 +1,13 @@
+Add install_name (soname)
+
+--- tclconfig/tcl.m4
++++ tclconfig/tcl.m4
+@@ -1703,7 +1703,7 @@
+ ])
+ # TEA specific: link shlib with current and compatiblity version flags
+ vers=`echo ${PACKAGE_VERSION} | sed -e 's/^\([[0-9]]\{1,5\}\)\(\(\.[[0-9]]\{1,3\}\)\{0,2\}\).*$/\1\2/p' -e d`
+- SHLIB_LD="${SHLIB_LD} -current_version ${vers:-0} -compatibility_version ${vers:-0}"
++ SHLIB_LD="${SHLIB_LD} -install_name \$(pkglibdir)/\$(PKG_LIB_FILE) -current_version ${vers:-0} -compatibility_version ${vers:-0}"
+ SHLIB_SUFFIX=".dylib"
+ # Don't use -prebind when building for Mac OS X 10.4 or later only:
+ AS_IF([test "`echo "${MACOSX_DEPLOYMENT_TARGET}" | awk -F '10\\.' '{print int([$]2)}'`" -lt 4 -a \
diff --git a/dev-tcltk/expect/files/expect-5.45-format-security.patch b/dev-tcltk/expect/files/expect-5.45-format-security.patch
new file mode 100644
index 000000000000..c623264be27a
--- /dev/null
+++ b/dev-tcltk/expect/files/expect-5.45-format-security.patch
@@ -0,0 +1,18 @@
+ exp_clib.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/exp_clib.c b/exp_clib.c
+index 172c05e..c86dda4 100644
+--- a/exp_clib.c
++++ b/exp_clib.c
+@@ -1476,8 +1476,8 @@ expDiagLogU(str)
+ char *str;
+ {
+ if (exp_is_debugging) {
+- fprintf(stderr,str);
+- if (exp_logfile) fprintf(exp_logfile,str);
++ fprintf(stderr,"%s", str);
++ if (exp_logfile) fprintf(exp_logfile,"%s", str);
+ }
+ }
+
diff --git a/dev-tcltk/expect/files/expect-5.45-gfbsd.patch b/dev-tcltk/expect/files/expect-5.45-gfbsd.patch
new file mode 100644
index 000000000000..5ae9c26adb88
--- /dev/null
+++ b/dev-tcltk/expect/files/expect-5.45-gfbsd.patch
@@ -0,0 +1,26 @@
+--- a/tclconfig/tcl.m4
++++ b/tclconfig/tcl.m4
+@@ -1634,20 +1634,15 @@ dnl AC_CHECK_TOOL(AR, ar)
+ SHLIB_LD="${CC} -shared"
+ TCL_SHLIB_LD_EXTRAS="-soname \$[@]"
+ SHLIB_SUFFIX=".so"
+- LDFLAGS=""
++ LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
+ AS_IF([test $doRpath = yes], [
+- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+- LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'])
++ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
++ LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
+ AS_IF([test "${TCL_THREADS}" = "1"], [
+ # The -pthread needs to go in the LDFLAGS, not LIBS
+ LIBS=`echo $LIBS | sed s/-pthread//`
+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+ LDFLAGS="$LDFLAGS $PTHREAD_LIBS"])
+- # Version numbers are dot-stripped by system policy.
+- TCL_TRIM_DOTS=`echo ${VERSION} | tr -d .`
+- UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
+- SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1'
+- TCL_LIB_VERSIONS_OK=nodots
+ ;;
+ Darwin-*)
+ CFLAGS_OPTIMIZE="-Os"
diff --git a/dev-tcltk/expect/files/expect-5.45-headers.patch b/dev-tcltk/expect/files/expect-5.45-headers.patch
new file mode 100644
index 000000000000..98330211b328
--- /dev/null
+++ b/dev-tcltk/expect/files/expect-5.45-headers.patch
@@ -0,0 +1,92 @@
+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 <sys/types.h>
+ #include <sys/ioctl.h>
++#ifdef HAVE_UNISTD_H
++# include <unistd.h>
++#endif
++#ifdef HAVE_SYS_WAIT_H
++#include <sys/wait.h>
++#endif
+
+ #ifdef TIME_WITH_SYS_TIME
+ # include <sys/time.h>
+--- a/exp_trap.c
++++ b/exp_trap.c
+@@ -13,6 +13,7 @@
+ #include <stdio.h>
+ #include <signal.h>
+ #include <sys/types.h>
++#include <string.h>
+
+ #ifdef HAVE_SYS_WAIT_H
+ #include <sys/wait.h>
+--- a/pty_termios.c
++++ b/pty_termios.c
+@@ -9,6 +9,14 @@
+
+ #include <stdio.h>
+ #include <signal.h>
++#include <string.h>
++#ifdef HAVE_PTY_H
++#include <pty.h>
++#endif
++#ifdef HAVE_LIBUTIL_H
++#include <sys/types.h>
++#include <libutil.h>
++#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);
diff --git a/dev-tcltk/expect/files/expect.m4 b/dev-tcltk/expect/files/expect.m4
new file mode 100644
index 000000000000..1fea61f8b477
--- /dev/null
+++ b/dev-tcltk/expect/files/expect.m4
@@ -0,0 +1,609 @@
+dnl written by Rob Savoye <rob@cygnus.com> for Cygnus Support
+dnl major rewriting for Tcl 7.5 by Don Libes <libes@nist.gov>
+
+dnl CY_AC_PATH_TCLCONFIG and CY_AC_LOAD_TCLCONFIG should be invoked
+dnl (in that order) before any other TCL macros. Similarly for TK.
+
+dnl CYGNUS LOCAL: This gets the right posix flag for gcc
+AC_DEFUN(CY_AC_TCL_LYNX_POSIX,
+[AC_REQUIRE([AC_PROG_CC])AC_REQUIRE([AC_PROG_CPP])
+AC_MSG_CHECKING([if running LynxOS])
+AC_CACHE_VAL(ac_cv_os_lynx,
+[AC_EGREP_CPP(yes,
+[/*
+ * The old Lynx "cc" only defines "Lynx", but the newer one uses "__Lynx__"
+ */
+#if defined(__Lynx__) || defined(Lynx)
+yes
+#endif
+], ac_cv_os_lynx=yes, ac_cv_os_lynx=no)])
+#
+if test "$ac_cv_os_lynx" = "yes" ; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(LYNX)
+ AC_MSG_CHECKING([whether -mposix or -X is available])
+ AC_CACHE_VAL(ac_cv_c_posix_flag,
+ [AC_TRY_COMPILE(,[
+ /*
+ * This flag varies depending on how old the compiler is.
+ * -X is for the old "cc" and "gcc" (based on 1.42).
+ * -mposix is for the new gcc (at least 2.5.8).
+ */
+ #if defined(__GNUC__) && __GNUC__ >= 2
+ choke me
+ #endif
+ ], ac_cv_c_posix_flag=" -mposix", ac_cv_c_posix_flag=" -X")])
+ CC="$CC $ac_cv_c_posix_flag"
+ AC_MSG_RESULT($ac_cv_c_posix_flag)
+ else
+ AC_MSG_RESULT(no)
+fi
+])
+
+#
+# Sometimes the native compiler is a bogus stub for gcc or /usr/ucb/cc. This
+# makes configure think it's cross compiling. If --target wasn't used, then
+# we can't configure, so something is wrong. We don't use the cache
+# here cause if somebody fixes their compiler install, we want this to work.
+AC_DEFUN(CY_AC_C_WORKS,
+[# If we cannot compile and link a trivial program, we can't expect anything to work
+AC_MSG_CHECKING(whether the compiler ($CC) actually works)
+AC_TRY_COMPILE(, [/* don't need anything here */],
+ c_compiles=yes, c_compiles=no)
+
+AC_TRY_LINK(, [/* don't need anything here */],
+ c_links=yes, c_links=no)
+
+if test x"${c_compiles}" = x"no" ; then
+ AC_MSG_ERROR(the native compiler is broken and won't compile.)
+fi
+
+if test x"${c_links}" = x"no" ; then
+ AC_MSG_ERROR(the native compiler is broken and won't link.)
+fi
+AC_MSG_RESULT(yes)
+])
+
+AC_DEFUN(CY_AC_PATH_TCLH, [
+#
+# Ok, lets find the tcl source trees so we can use the headers
+# Warning: transition of version 9 to 10 will break this algorithm
+# because 10 sorts before 9. We also look for just tcl. We have to
+# be careful that we don't match stuff like tclX by accident.
+# the alternative search directory is involked by --with-tclinclude
+#
+no_tcl=true
+AC_MSG_CHECKING(for Tcl private headers)
+AC_ARG_WITH(tclinclude, [ --with-tclinclude directory where tcl private headers are], with_tclinclude=${withval})
+AC_CACHE_VAL(ac_cv_c_tclh,[
+# first check to see if --with-tclinclude was specified
+if test x"${with_tclinclude}" != x ; then
+ if test -f ${with_tclinclude}/tclInt.h ; then
+ ac_cv_c_tclh=`(cd ${with_tclinclude}; pwd)`
+ elif test -f ${with_tclinclude}/generic/tclInt.h ; then
+ ac_cv_c_tclh=`(cd ${with_tclinclude}/generic; pwd)`
+ else
+ AC_MSG_ERROR([${with_tclinclude} directory doesn't contain private headers])
+ fi
+fi
+
+# next check if it came with Tcl configuration file
+if test x"${ac_cv_c_tclconfig}" != x ; then
+ if test -f $ac_cv_c_tclconfig/../generic/tclInt.h ; then
+ ac_cv_c_tclh=`(cd $ac_cv_c_tclconfig/../generic; pwd)`
+ fi
+fi
+
+# next check in private source directory
+#
+# since ls returns lowest version numbers first, reverse its output
+if test x"${ac_cv_c_tclh}" = x ; then
+ for i in \
+ ${srcdir}/../tcl \
+ `ls -dr ${srcdir}/../tcl[[9]].[[0-9]].[[0-9]] ${srcdir}/../tcl[[9]].[[0-9]] 2>/dev/null` \
+ `ls -dr ${srcdir}/../tcl[[8]].[[2-9]].[[0-9]] ${srcdir}/../tcl[[8]].[[2-9]] 2>/dev/null` \
+ ${srcdir}/../../tcl \
+ `ls -dr ${srcdir}/../../tcl[[9]].[[0-9]].[[0-9]] ${srcdir}/../../tcl[[9]].[[0-9]] 2>/dev/null` \
+ `ls -dr ${srcdir}/../../tcl[[8]].[[2-9]].[[0-9]] ${srcdir}/../../tcl[[8]].[[2-9]] 2>/dev/null` \
+ ${srcdir}/../../../tcl \
+ `ls -dr ${srcdir}/../../../tcl[[9]].[[0-9]].[[0-9]] ${srcdir}/../../../tcl[[9]].[[0-9]] 2>/dev/null ` \
+ `ls -dr ${srcdir}/../../../tcl[[8]].[[2-9]].[[0-9]] ${srcdir}/../../../tcl[[8]].[[2-9]] 2>/dev/null ` ; do
+ if test -f $i/generic/tclInt.h ; then
+ ac_cv_c_tclh=`(cd $i/generic; pwd)`
+ break
+ fi
+ done
+fi
+# finally check in a few common install locations
+#
+# since ls returns lowest version numbers first, reverse its output
+if test x"${ac_cv_c_tclh}" = x ; then
+ for i in \
+ `ls -dr /usr/local/src/tcl[[9]].[[0-9]].[[0-9]] /usr/local/src/tcl[[9]].[[0-9]] 2>/dev/null` \
+ `ls -dr /usr/local/src/tcl[[8]].[[2-9]].[[0-9]] /usr/local/src/tcl[[8]].[[2-9]] 2>/dev/null` \
+ `ls -dr /usr/local/lib/tcl[[9]].[[0-9]].[[0-9]] /usr/local/lib/tcl[[9]].[[0-9]] 2>/dev/null` \
+ `ls -dr /usr/local/lib/tcl[[8]].[[2-9]].[[0-9]] /usr/local/lib/tcl[[8]].[[2-9]] 2>/dev/null` \
+ /usr/local/src/tcl \
+ /usr/local/lib/tcl \
+ ${prefix}/include ; do
+ if test -f $i/generic/tclInt.h ; then
+ ac_cv_c_tclh=`(cd $i/generic; pwd)`
+ break
+ fi
+ done
+fi
+# see if one is installed
+if test x"${ac_cv_c_tclh}" = x ; then
+ AC_HEADER_CHECK(tclInt.h, ac_cv_c_tclh=installed, ac_cv_c_tclh="")
+fi
+])
+if test x"${ac_cv_c_tclh}" = x ; then
+ TCLHDIR="# no Tcl private headers found"
+ TCLHDIRDASHI="# no Tcl private headers found"
+ AC_MSG_ERROR([Can't find Tcl private headers])
+fi
+if test x"${ac_cv_c_tclh}" != x ; then
+ no_tcl=""
+ if test x"${ac_cv_c_tclh}" = x"installed" ; then
+ AC_MSG_RESULT([is installed])
+ TCLHDIR=""
+ TCLHDIRDASHI=""
+ TCL_LIBRARY=""
+ else
+ AC_MSG_RESULT([found in ${ac_cv_c_tclh}])
+ # this hack is cause the TCLHDIR won't print if there is a "-I" in it.
+ TCLHDIR="${ac_cv_c_tclh}"
+ TCLHDIRDASHI="-I${ac_cv_c_tclh} -I`dirname ${ac_cv_c_tclh}`/unix"
+ TCL_LIBRARY=`echo $TCLHDIR | sed -e 's/generic//'`library
+ fi
+fi
+
+AC_SUBST(TCLHDIR)
+AC_SUBST(TCLHDIRDASHI)
+AC_SUBST(TCL_LIBRARY)
+])
+
+
+AC_DEFUN(CY_AC_PATH_TCLCONFIG, [
+#
+# Ok, lets find the tcl configuration
+# First, look for one uninstalled.
+# the alternative search directory is invoked by --with-tcl
+#
+
+if test x"${no_tcl}" = x ; then
+ # we reset no_tcl in case something fails here
+ no_tcl=true
+ AC_ARG_WITH(tcl, [ --with-tcl directory containing tcl configuration (tclConfig.sh)],
+ with_tclconfig=${withval})
+ AC_MSG_CHECKING([for Tcl configuration])
+ AC_CACHE_VAL(ac_cv_c_tclconfig,[
+
+ # First check to see if --with-tcl was specified.
+ if test x"${with_tclconfig}" != x ; then
+ if test -f "${with_tclconfig}/tclConfig.sh" ; then
+ ac_cv_c_tclconfig=`(cd ${with_tclconfig}; pwd)`
+ else
+ AC_MSG_ERROR([${with_tclconfig} directory doesn't contain tclConfig.sh])
+ fi
+ fi
+
+ # then check for a private Tcl installation
+ if test x"${ac_cv_c_tclconfig}" = x ; then
+ for i in \
+ ../tcl \
+ `ls -dr ../tcl[[9]].[[0-9]].[[0-9]] ../tcl[[9]].[[0-9]] 2>/dev/null` \
+ `ls -dr ../tcl[[8]].[[2-9]].[[0-9]] ../tcl[[8]].[[2-9]] 2>/dev/null` \
+ ../../tcl \
+ `ls -dr ../../tcl[[9]].[[0-9]].[[0-9]] ../../tcl[[9]].[[0-9]] 2>/dev/null` \
+ `ls -dr ../../tcl[[8]].[[2-9]].[[0-9]] ../../tcl[[8]].[[2-9]] 2>/dev/null` \
+ ../../../tcl \
+ `ls -dr ../../../tcl[[9]].[[0-9]].[[0-9]] ../../../tcl[[9]].[[0-9]] 2>/dev/null` \
+ `ls -dr ../../../tcl[[8]].[[2-9]].[[0-9]] ../../../tcl[[8]].[[2-9]] 2>/dev/null` ; do
+ if test -f "$i/unix/tclConfig.sh" ; then
+ ac_cv_c_tclconfig=`(cd $i/unix; pwd)`
+ break
+ fi
+ done
+ fi
+ # check in a few common install locations
+ if test x"${ac_cv_c_tclconfig}" = x ; then
+ for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do
+ if test -f "$i/tclConfig.sh" ; then
+ ac_cv_c_tclconfig=`(cd $i; pwd)`
+ break
+ fi
+ done
+ fi
+ # check in a few other private locations
+ if test x"${ac_cv_c_tclconfig}" = x ; then
+ for i in \
+ ${srcdir}/../tcl \
+ `ls -dr ${srcdir}/../tcl[[9]].[[0-9]].[[0-9]] ${srcdir}/../tcl[[9]].[[0-9]] 2>/dev/null` \
+ `ls -dr ${srcdir}/../tcl[[8]].[[2-9]].[[0-9]] ${srcdir}/../tcl[[8]].[[2-9]] 2>/dev/null` ; do
+ if test -f "$i/unix/tclConfig.sh" ; then
+ ac_cv_c_tclconfig=`(cd $i/unix; pwd)`
+ break
+ fi
+ done
+ fi
+ ])
+ if test x"${ac_cv_c_tclconfig}" = x ; then
+ TCLCONFIG="# no Tcl configs found"
+ AC_MSG_WARN(Can't find Tcl configuration definitions)
+ else
+ no_tcl=
+ TCLCONFIG=${ac_cv_c_tclconfig}/tclConfig.sh
+ AC_MSG_RESULT(found $TCLCONFIG)
+ fi
+fi
+])
+
+# Defined as a separate macro so we don't have to cache the values
+# from PATH_TCLCONFIG (because this can also be cached).
+AC_DEFUN(CY_AC_LOAD_TCLCONFIG, [
+ . $TCLCONFIG
+
+dnl AC_SUBST(TCL_VERSION)
+dnl AC_SUBST(TCL_MAJOR_VERSION)
+dnl AC_SUBST(TCL_MINOR_VERSION)
+dnl AC_SUBST(TCL_CC)
+ AC_SUBST(TCL_DEFS)
+dnl following is just to test if missing symbol can be handled by configure
+ AC_SUBST(TCL_DELETEME)
+ AC_SUBST(TCL_DBGX)
+
+dnl not used, don't export to save symbols
+dnl AC_SUBST(TCL_LIB_FILE)
+
+dnl don't export, not used outside of configure
+dnl AC_SUBST(TCL_LIBS)
+dnl not used, don't export to save symbols
+dnl AC_SUBST(TCL_PREFIX)
+
+ AC_SUBST(TCL_EXEC_PREFIX)
+
+dnl not used, don't export to save symbols
+dnl AC_SUBST(TCL_SHLIB_CFLAGS)
+ AC_SUBST(TCL_SHLIB_LD)
+dnl don't export, not used outside of configure
+dnl AC_SUBST(TCL_SHLIB_LD_LIBS)
+
+# Tcl defines TCL_SHLIB_SUFFIX but TCL_SHARED_LIB_SUFFIX then looks for it
+# as just SHLIB_SUFFIX. How bizarre.
+ SHLIB_SUFFIX=$TCL_SHLIB_SUFFIX
+ AC_SUBST(SHLIB_SUFFIX)
+
+dnl not used, don't export to save symbols
+dnl AC_SUBST(TCL_DL_LIBS)
+ AC_SUBST(TCL_LD_FLAGS)
+dnl don't export, not used outside of configure
+dnl AC_SUBST(TCL_LD_SEARCH_FLAGS)
+dnl AC_SUBST(TCL_COMPAT_OBJS)
+dnl AC_SUBST(TCL_RANLIB)
+
+# if Tcl's build directory has been removed, TCL_LIB_SPEC should
+# be used instead of TCL_BUILD_LIB_SPEC
+SAVELIBS=$LIBS
+# eval used to expand out TCL_DBGX
+eval "LIBS=\"$TCL_BUILD_LIB_SPEC $TCL_LIBS\""
+AC_MSG_CHECKING([Tcl build library])
+AC_MSG_RESULT($LIBS)
+
+AC_CHECK_FUNC(Tcl_CreateCommand,[
+ AC_MSG_CHECKING([if Tcl library build specification is valid])
+ AC_MSG_RESULT(yes)
+],[
+ TCL_BUILD_LIB_SPEC=$TCL_LIB_SPEC
+ # Can't pull the following CHECKING call out since it will be
+ # broken up by the CHECK_FUNC just above.
+ AC_MSG_CHECKING([if Tcl library build specification is valid])
+ AC_MSG_RESULT(no)
+])
+LIBS=$SAVELIBS
+
+ AC_SUBST(TCL_BUILD_LIB_SPEC)
+ AC_SUBST(TCL_LIB_SPEC)
+dnl AC_SUBST(TCL_LIB_VERSIONS_OK)
+
+ AC_SUBST(TCL_SHARED_LIB_SUFFIX)
+
+dnl not used, don't export to save symbols
+dnl AC_SUBST(TCL_UNSHARED_LIB_SUFFIX)
+])
+
+# Warning: Tk definitions are very similar to Tcl definitions but
+# are not precisely the same. There are a couple of differences,
+# so don't do changes to Tcl thinking you can cut and paste it do
+# the Tk differences and later simply substitute "Tk" for "Tcl".
+# Known differences:
+# - Acceptable Tcl major version #s is 8.2-9.* while Tk is 8.2-9.*
+# - Searching for Tcl includes looking for tclInt.h, Tk looks for tk.h
+# - Computing major/minor versions is different because Tk depends on
+# headers to Tcl, Tk, and X.
+# - Symbols in tkConfig.sh are different than tclConfig.sh
+# - Acceptable for Tk to be missing but not Tcl.
+
+AC_DEFUN(CY_AC_PATH_TKH, [
+#
+# Ok, lets find the tk source trees so we can use the headers
+# If the directory (presumably symlink) named "tk" exists, use that one
+# in preference to any others. Same logic is used when choosing library
+# and again with Tcl. The search order is the best place to look first, then in
+# decreasing significance. The loop breaks if the trigger file is found.
+# Note the gross little conversion here of srcdir by cd'ing to the found
+# directory. This converts the path from a relative to an absolute, so
+# recursive cache variables for the path will work right. We check all
+# the possible paths in one loop rather than many seperate loops to speed
+# things up.
+# the alternative search directory is involked by --with-tkinclude
+#
+#no_tk=true
+AC_MSG_CHECKING(for Tk private headers)
+AC_ARG_WITH(tkinclude, [ --with-tkinclude directory where tk private headers are], with_tkinclude=${withval})
+AC_CACHE_VAL(ac_cv_c_tkh,[
+# first check to see if --with-tkinclude was specified
+if test x"${with_tkinclude}" != x ; then
+ if test -f ${with_tkinclude}/tk.h ; then
+ ac_cv_c_tkh=`(cd ${with_tkinclude}; pwd)`
+ elif test -f ${with_tkinclude}/generic/tk.h ; then
+ ac_cv_c_tkh=`(cd ${with_tkinclude}/generic; pwd)`
+ else
+ AC_MSG_ERROR([${with_tkinclude} directory doesn't contain private headers])
+ fi
+fi
+
+# next check if it came with Tk configuration file
+if test x"${ac_cv_c_tkconfig}" != x ; then
+ if test -f $ac_cv_c_tkconfig/../generic/tk.h ; then
+ ac_cv_c_tkh=`(cd $ac_cv_c_tkconfig/../generic; pwd)`
+ fi
+fi
+
+# next check in private source directory
+#
+# since ls returns lowest version numbers first, reverse its output
+if test x"${ac_cv_c_tkh}" = x ; then
+ for i in \
+ ${srcdir}/../tk \
+ `ls -dr ${srcdir}/../tk[[4-9]].[[0-9]].[[0-9]] ${srcdir}/../tk[[4-9]].[[0-9]] 2>/dev/null` \
+ `ls -dr ${srcdir}/../tk[[4-9]].[[0-9]].[[0-9]] ${srcdir}/../tk[[4-9]].[[0-9]] 2>/dev/null` \
+ ${srcdir}/../../tk \
+ `ls -dr ${srcdir}/../../tk[[4-9]].[[0-9]].[[0-9]] ${srcdir}/../../tk[[4-9]].[[0-9]] 2>/dev/null` \
+ `ls -dr ${srcdir}/../../tk[[4-9]].[[0-9]].[[0-9]] ${srcdir}/../../tk[[4-9]].[[0-9]] 2>/dev/null` \
+ ${srcdir}/../../../tk \
+ `ls -dr ${srcdir}/../../../tk[[4-9]].[[0-9]].[[0-9]] ${srcdir}/../../../tk[[4-9]].[[0-9]] 2>/dev/null ` \
+ `ls -dr ${srcdir}/../../../tk[[4-9]].[[0-9]].[[0-9]] ${srcdir}/../../../tk[[4-9]].[[0-9]] 2>/dev/null ` ; do
+ if test -f $i/generic/tk.h ; then
+ ac_cv_c_tkh=`(cd $i/generic; pwd)`
+ break
+ fi
+ done
+fi
+# finally check in a few common install locations
+#
+# since ls returns lowest version numbers first, reverse its output
+if test x"${ac_cv_c_tkh}" = x ; then
+ for i in \
+ `ls -dr /usr/local/src/tk[[4-9]].[[0-9]].[[0-9]] /usr/local/src/tk[[4-9]].[[0-9]] 2>/dev/null` \
+ `ls -dr /usr/local/src/tk[[4-9]].[[0-9]].[[0-9]] /usr/local/src/tk[[4-9]].[[0-9]] 2>/dev/null` \
+ `ls -dr /usr/local/lib/tk[[4-9]].[[0-9]].[[0-9]] /usr/local/lib/tk[[4-9]].[[0-9]] 2>/dev/null` \
+ `ls -dr /usr/local/lib/tk[[4-9]].[[0-9]].[[0-9]] /usr/local/lib/tk[[4-9]].[[0-9]] 2>/dev/null` \
+ /usr/local/src/tk \
+ /usr/local/lib/tk \
+ ${prefix}/include ; do
+ if test -f $i/generic/tk.h ; then
+ ac_cv_c_tkh=`(cd $i/generic; pwd)`
+ break
+ fi
+ done
+fi
+# see if one is installed
+if test x"${ac_cv_c_tkh}" = x ; then
+ AC_HEADER_CHECK(tk.h, ac_cv_c_tkh=installed, ac_cv_c_tkh="")
+fi
+])
+if test x"${ac_cv_c_tkh}" != x ; then
+# no_tk=""
+ if test x"${ac_cv_c_tkh}" = x"installed" ; then
+ AC_MSG_RESULT([is installed])
+ TKHDIRDASHI=""
+ else
+ AC_MSG_RESULT([found in ${ac_cv_c_tkh}])
+ # this hack is cause the TKHDIRDASHI won't print if there is a "-I" in it.
+ TKHDIRDASHI="-I${ac_cv_c_tkh}"
+ fi
+else
+ TKHDIRDASHI="# no Tk directory found"
+ AC_MSG_WARN([Can't find Tk private headers])
+ no_tk=true
+fi
+
+AC_SUBST(TKHDIRDASHI)
+])
+
+
+AC_DEFUN(CY_AC_PATH_TKCONFIG, [
+#
+# Ok, lets find the tk configuration
+# First, look for one uninstalled.
+# the alternative search directory is invoked by --with-tk
+#
+
+if test x"${no_tk}" = x ; then
+ # we reset no_tk in case something fails here
+ no_tk=true
+ AC_ARG_WITH(tk, [ --with-tk directory containing tk configuration (tkConfig.sh)],
+ with_tkconfig=${withval})
+ AC_MSG_CHECKING([for Tk configuration])
+ AC_CACHE_VAL(ac_cv_c_tkconfig,[
+
+ # First check to see if --with-tk was specified.
+ if test x"${with_tkconfig}" != x ; then
+ if test -f "${with_tkconfig}/tkConfig.sh" ; then
+ ac_cv_c_tkconfig=`(cd ${with_tkconfig}; pwd)`
+ else
+ AC_MSG_ERROR([${with_tkconfig} directory doesn't contain tkConfig.sh])
+ fi
+ fi
+
+ # then check for a private Tk library
+ if test x"${ac_cv_c_tkconfig}" = x ; then
+ for i in \
+ ../tk \
+ `ls -dr ../tk[[4-9]].[[0-9]].[[0-9]] ../tk[[4-9]].[[0-9]] 2>/dev/null` \
+ `ls -dr ../tk[[4-9]].[[0-9]].[[0-9]] ../tk[[4-9]].[[0-9]] 2>/dev/null` \
+ ../../tk \
+ `ls -dr ../../tk[[4-9]].[[0-9]].[[0-9]] ../../tk[[4-9]].[[0-9]] 2>/dev/null` \
+ `ls -dr ../../tk[[4-9]].[[0-9]].[[0-9]] ../../tk[[4-9]].[[0-9]] 2>/dev/null` \
+ ../../../tk \
+ `ls -dr ../../../tk[[4-9]].[[0-9]].[[0-9]] ../../../tk[[4-9]].[[0-9]] 2>/dev/null` \
+ `ls -dr ../../../tk[[4-9]].[[0-9]].[[0-9]] ../../../tk[[4-9]].[[0-9]] 2>/dev/null` ; do
+ if test -f "$i/unix/tkConfig.sh" ; then
+ ac_cv_c_tkconfig=`(cd $i/unix; pwd)`
+ break
+ fi
+ done
+ fi
+ # check in a few common install locations
+ if test x"${ac_cv_c_tkconfig}" = x ; then
+ for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do
+ if test -f "$i/tkConfig.sh" ; then
+ ac_cv_c_tkconfig=`(cd $i; pwd)`
+ break
+ fi
+ done
+ fi
+ # check in a few other private locations
+ if test x"${ac_cv_c_tkconfig}" = x ; then
+ for i in \
+ ${srcdir}/../tk \
+ `ls -dr ${srcdir}/../tk[[4-9]].[[0-9]].[[0-9]] ${srcdir}/../tk[[4-9]].[[0-9]] 2>/dev/null` \
+ `ls -dr ${srcdir}/../tk[[4-9]].[[0-9]].[[0-9]] ${srcdir}/../tk[[4-9]].[[0-9]] 2>/dev/null` ; do
+ if test -f "$i/unix/tkConfig.sh" ; then
+ ac_cv_c_tkconfig=`(cd $i/unix; pwd)`
+ break
+ fi
+ done
+ fi
+ ])
+ if test x"${ac_cv_c_tkconfig}" = x ; then
+ TKCONFIG="# no Tk configs found"
+ AC_MSG_WARN(Can't find Tk configuration definitions)
+ else
+ no_tk=
+ TKCONFIG=${ac_cv_c_tkconfig}/tkConfig.sh
+ AC_MSG_RESULT(found $TKCONFIG)
+ fi
+fi
+
+])
+
+# Defined as a separate macro so we don't have to cache the values
+# from PATH_TKCONFIG (because this can also be cached).
+AC_DEFUN(CY_AC_LOAD_TKCONFIG, [
+ if test -f "$TKCONFIG" ; then
+ . $TKCONFIG
+ fi
+
+ AC_SUBST(TK_VERSION)
+dnl not actually used, don't export to save symbols
+dnl AC_SUBST(TK_MAJOR_VERSION)
+dnl AC_SUBST(TK_MINOR_VERSION)
+ AC_SUBST(TK_DEFS)
+
+ AC_SUBST(TK_DBGX)
+dnl not used, don't export to save symbols
+ dnl AC_SUBST(TK_LIB_FILE)
+
+dnl not used outside of configure
+dnl AC_SUBST(TK_LIBS)
+dnl not used, don't export to save symbols
+dnl AC_SUBST(TK_PREFIX)
+
+dnl not used, don't export to save symbols
+dnl AC_SUBST(TK_EXEC_PREFIX)
+
+ AC_SUBST(TK_XINCLUDES)
+ AC_SUBST(TK_XLIBSW)
+
+# if Tk's build directory has been removed, TK_LIB_SPEC should
+# be used instead of TK_BUILD_LIB_SPEC
+SAVELIBS=$LIBS
+# eval used to expand out TK_DBGX
+eval "LIBS=\"$TK_BUILD_LIB_SPEC $TCL_BUILD_LIB_SPEC $TK_LIBS\""
+AC_CHECK_FUNC(Tk_Init,[
+ AC_MSG_CHECKING([if Tk library build specification is valid])
+ AC_MSG_RESULT(yes)
+],[
+ TK_BUILD_LIB_SPEC=$TK_LIB_SPEC
+ # Can't pull the following CHECKING call out since it will be
+ # broken up by the CHECK_FUNC just above.
+ AC_MSG_CHECKING([if Tk library build specification is valid])
+ AC_MSG_RESULT(no)
+])
+LIBS=$SAVELIBS
+
+ AC_SUBST(TK_BUILD_LIB_SPEC)
+ AC_SUBST(TK_LIB_SPEC)
+])
+
+#------------------------------------------------------------------------
+# SC_ENABLE_THREADS --
+#
+# Specify if thread support should be enabled
+#
+# Arguments:
+# none
+#
+# Results:
+#
+# Adds the following arguments to configure:
+# --enable-threads
+#
+# Sets the following vars:
+# THREADS_LIBS Thread library(s)
+#
+# Defines the following vars:
+# TCL_THREADS
+# _REENTRANT
+#
+#------------------------------------------------------------------------
+
+AC_DEFUN(SC_ENABLE_THREADS, [
+ AC_MSG_CHECKING(for building with threads)
+ AC_ARG_ENABLE(threads, [ --enable-threads build with threads (not supported)],
+ [tcl_ok=$enableval], [tcl_ok=no])
+
+ if test "$tcl_ok" = "yes"; then
+ AC_MSG_WARN([Expect is not fully thread-enabled. Although significant work has been done towards that goal, it is not complete. Continue compiling at your own risk.])
+ fi
+# if test "$tcl_ok" = "yes"; then
+# AC_MSG_RESULT(yes)
+# TCL_THREADS=1
+# AC_DEFINE(TCL_THREADS)
+# AC_DEFINE(_REENTRANT)
+#
+# AC_CHECK_LIB(pthread,pthread_mutex_init,tcl_ok=yes,tcl_ok=no)
+# if test "$tcl_ok" = "yes"; then
+# # The space is needed
+# THREADS_LIBS=" -lpthread"
+# else
+# TCL_THREADS=0
+# AC_MSG_WARN("Don t know how to find pthread lib on your system - you must disable thread support or edit the LIBS in the Makefile...")
+# fi
+# else
+# TCL_THREADS=0
+# AC_MSG_RESULT(no (default))
+# fi
+
+ AC_MSG_RESULT(no (default))
+
+])
+
+
+#------------------------------------------------------------------------
+## AK ## Macros which encapsulate the expect specific checks.
+## AK ## This allows me to move them around in the configure.in
+## AK ##
+