diff --git a/.cvsignore b/.cvsignore index e69de29..b1863db 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +insight-6.8.tar.bz2 diff --git a/import.log b/import.log new file mode 100644 index 0000000..0556ef4 --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +insight-6_8-4_fc8:HEAD:insight-6.8-4.fc8.src.rpm:1224062545 diff --git a/insight-6.8-derefbug.patch b/insight-6.8-derefbug.patch new file mode 100644 index 0000000..0ab7ea9 --- /dev/null +++ b/insight-6.8-derefbug.patch @@ -0,0 +1,25 @@ +diff -Naur insight-6.8.orig/gdb/gdbtk/generic/gdbtk-stack.c insight-6.8.new/gdb/gdbtk/generic/gdbtk-stack.c +--- insight-6.8.orig/gdb/gdbtk/generic/gdbtk-stack.c 2008-03-07 09:03:19.000000000 +0100 ++++ insight-6.8.new/gdb/gdbtk/generic/gdbtk-stack.c 2008-08-15 17:52:50.000000000 +0200 +@@ -251,7 +251,9 @@ + gdb_get_args_command (ClientData clientData, Tcl_Interp *interp, + int objc, Tcl_Obj *CONST objv[]) + { +- return gdb_get_vars_command ((ClientData) 1, interp, objc, objv); ++ static const int one = 1; ++ ++ return gdb_get_vars_command ((ClientData) &one, interp, objc, objv); + } + + +@@ -259,7 +261,9 @@ + gdb_get_locals_command (ClientData clientData, Tcl_Interp *interp, + int objc, Tcl_Obj *CONST objv[]) + { +- return gdb_get_vars_command ((ClientData) 0, interp, objc, objv); ++ static const int zero = 0; ++ ++ return gdb_get_vars_command ((ClientData) &zero, interp, objc, objv); + } + + /* This implements the tcl commands "gdb_get_locals" and "gdb_get_args" diff --git a/insight-6.8-destdir.patch b/insight-6.8-destdir.patch new file mode 100644 index 0000000..6cd537c --- /dev/null +++ b/insight-6.8-destdir.patch @@ -0,0 +1,174 @@ +diff -Naur insight-6.8.orig/itcl/itcl/Makefile.in insight-6.8.new/itcl/itcl/Makefile.in +--- insight-6.8.orig/itcl/itcl/Makefile.in 2005-09-01 07:32:08.000000000 +0200 ++++ insight-6.8.new/itcl/itcl/Makefile.in 2008-08-15 14:50:06.000000000 +0200 +@@ -149,8 +149,6 @@ + includedir = @includedir@ + oldincludedir = /usr/include + +-DESTDIR = +- + pkgdatadir = $(datadir)/@PACKAGE@@VERSION@ + pkglibdir = $(libdir)/@PACKAGE@@VERSION@ + pkgincludedir = $(includedir)/@PACKAGE@@VERSION@ +@@ -276,12 +274,12 @@ + @echo "Installing header files in $(includedir)" + @for i in $(GENERIC_HDRS) ; do \ + echo "Installing $$i" ; \ +- $(INSTALL_DATA) $$i $(includedir) ; \ ++ $(INSTALL_DATA) $$i $(DESTDIR)$(includedir) ; \ + done; + @echo "Installing library files in $(ITCL_LIBRARY)" + @for i in $(srcdir)/library/*.tcl ; do \ + echo "Installing $$i" ; \ +- $(INSTALL_DATA) $$i $(ITCL_LIBRARY) ; \ ++ $(INSTALL_DATA) $$i $(DESTDIR)$(ITCL_LIBRARY) ; \ + done; + + #======================================================================== +@@ -290,14 +288,14 @@ + #======================================================================== + + install-doc: doc +- $(mkinstalldirs) $(mandir)/mann ++ $(mkinstalldirs) $(DESTDIR)$(mandir)/mann + @echo "Installing man pages in $(mandir)" + @cd $(srcdir)/doc; for i in *.n; \ + do \ + echo "Installing $$i"; \ + sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \ +- $$i > $(mandir)/mann/$$i; \ +- chmod 444 $(mandir)/mann/$$i; \ ++ $$i > $(DESTDIR)$(mandir)/mann/$$i; \ ++ chmod 444 $(DESTDIR)$(mandir)/mann/$$i; \ + done + + test: $(TCLSH_PROG) +@@ -447,7 +445,7 @@ + $(RANLIB) $(DESTDIR)$(libdir)/$$p; \ + else :; fi; \ + done +- $(INSTALL_DATA) pkgIndex.tcl $(pkglibdir) ++ $(INSTALL_DATA) pkgIndex.tcl $(DESTDIR)$(pkglibdir) + + #======================================================================== + # Install binary executables (e.g. .exe files) +@@ -485,7 +483,7 @@ + $(mkinstalldirs) $(DESTDIR)$(libdir) + $(mkinstalldirs) $(DESTDIR)$(bindir) + $(mkinstalldirs) $(DESTDIR)$(pkglibdir) +- $(mkinstalldirs) $(ITCL_LIBRARY) ++ $(mkinstalldirs) $(DESTDIR)$(ITCL_LIBRARY) + + .PHONY: all binaries clean depend distclean doc install installdirs \ + libraries test +diff -Naur insight-6.8.orig/itcl/itk/Makefile.in insight-6.8.new/itcl/itk/Makefile.in +--- insight-6.8.orig/itcl/itk/Makefile.in 2005-09-01 07:32:09.000000000 +0200 ++++ insight-6.8.new/itcl/itk/Makefile.in 2008-08-15 14:55:41.000000000 +0200 +@@ -137,8 +137,6 @@ + includedir = @includedir@ + oldincludedir = /usr/include + +-DESTDIR = +- + pkgdatadir = $(datadir)/@PACKAGE@@VERSION@ + pkglibdir = $(libdir)/@PACKAGE@@VERSION@ + pkgincludedir = $(includedir)/@PACKAGE@@VERSION@ +@@ -267,16 +265,16 @@ + #======================================================================== + + install-libraries: libraries +- $(mkinstalldirs) $(includedir) ++ $(mkinstalldirs) $(DESTDIR)$(includedir) + @echo "Installing header files in $(includedir)" + @for i in $(GENERIC_HDRS) ; do \ + echo "Installing $$i" ; \ +- $(INSTALL_DATA) $$i $(includedir) ; \ ++ $(INSTALL_DATA) $$i $(DESTDIR)$(includedir) ; \ + done; + @echo "Installing library files in $(ITK_LIBRARY)" + @for i in $(srcdir)/library/*.* $(srcdir)/library/tclIndex ; do \ + echo "Installing $$i" ; \ +- $(INSTALL_DATA) $$i $(ITK_LIBRARY) ; \ ++ $(INSTALL_DATA) $$i $(DESTDIR)$(ITK_LIBRARY) ; \ + done; + + #======================================================================== +@@ -285,14 +283,14 @@ + #======================================================================== + + install-doc: doc +- $(mkinstalldirs) $(mandir)/mann ++ $(mkinstalldirs) $(DESTDIR)$(mandir)/mann + @echo "Installing man pages in $(mandir)" + @cd $(srcdir)/doc; for i in *.n; \ + do \ + echo "Installing $$i info $(mandir)/mann"; \ + sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \ +- $$i > $(mandir)/mann/$$i; \ +- chmod 444 $(mandir)/mann/$$i; \ ++ $$i > $(DESTDIR)$(mandir)/mann/$$i; \ ++ chmod 444 $(DESTDIR)$(mandir)/mann/$$i; \ + done + + test: $(TCLSH_PROG) +@@ -421,7 +419,7 @@ + $(RANLIB) $(DESTDIR)$(libdir)/$$p; \ + else :; fi; \ + done +- $(INSTALL_DATA) pkgIndex.tcl $(pkglibdir) ++ $(INSTALL_DATA) pkgIndex.tcl $(DESTDIR)$(pkglibdir) + + #======================================================================== + # Install binary executables (e.g. .exe files) +@@ -459,7 +457,7 @@ + $(mkinstalldirs) $(DESTDIR)$(libdir) + $(mkinstalldirs) $(DESTDIR)$(bindir) + $(mkinstalldirs) $(DESTDIR)$(pkglibdir) +- $(mkinstalldirs) $(ITK_LIBRARY) ++ $(mkinstalldirs) $(DESTDIR)$(ITK_LIBRARY) + + .PHONY: all binaries clean depend distclean doc install installdirs \ + libraries test +diff -Naur insight-6.8.orig/itcl/iwidgets/Makefile.in insight-6.8.new/itcl/iwidgets/Makefile.in +--- insight-6.8.orig/itcl/iwidgets/Makefile.in 2003-02-25 01:42:12.000000000 +0100 ++++ insight-6.8.new/itcl/iwidgets/Makefile.in 2008-08-15 15:04:17.000000000 +0200 +@@ -36,13 +36,13 @@ + # to be different than those used for actually reference files at + # run-time. INSTALL_ROOT is prepended to $prefix and $exec_prefix + # when installing files. +-INSTALL_ROOT = ++INSTALL_ROOT = $(DESTDIR) + + # Path name to use when installing library scripts: + + # REDHAT LOCAL + #SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/lib/iwidgets$(IWIDGETS_VERSION) +-SCRIPT_INSTALL_DIR = @datadir@/iwidgets$(IWIDGETS_VERSION) ++SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)@datadir@/iwidgets$(IWIDGETS_VERSION) + # END REDHAT LOCAL + + # Directory in which to install the archive libtcl.a: +diff -Naur insight-6.8.orig/tcl/unix/Makefile.in insight-6.8.new/tcl/unix/Makefile.in +--- insight-6.8.orig/tcl/unix/Makefile.in 2003-01-21 20:40:18.000000000 +0100 ++++ insight-6.8.new/tcl/unix/Makefile.in 2008-08-15 12:12:33.000000000 +0200 +@@ -38,7 +38,7 @@ + # to be different than those used for actually reference files at + # run-time. INSTALL_ROOT is prepended to $prefix and $exec_prefix + # when installing files. +-INSTALL_ROOT = ++INSTALL_ROOT = $(DESTDIR) + + # Path for the platform independent Tcl scripting libraries: + # REDHAT LOCAL +diff -Naur insight-6.8.orig/tk/unix/Makefile.in insight-6.8.new/tk/unix/Makefile.in +--- insight-6.8.orig/tk/unix/Makefile.in 2003-01-21 21:24:51.000000000 +0100 ++++ insight-6.8.new/tk/unix/Makefile.in 2008-08-15 15:08:00.000000000 +0200 +@@ -41,7 +41,7 @@ + # to be different than those used for actually reference files at + # run-time. INSTALL_ROOT is prepended to $prefix and $exec_prefix + # when installing files. +-INSTALL_ROOT = ++INSTALL_ROOT = $(DESTDIR) + + # Directory from which applications will reference the library of Tcl + # scripts (note: you can set the TK_LIBRARY environment variable at diff --git a/insight-6.8-gcc43.patch b/insight-6.8-gcc43.patch new file mode 100644 index 0000000..2ae6949 --- /dev/null +++ b/insight-6.8-gcc43.patch @@ -0,0 +1,24 @@ +diff -Naur insight-6.8.orig/gdb/remote.c insight-6.8.new/gdb/remote.c +--- insight-6.8.orig/gdb/remote.c 2008-02-25 10:59:06.000000000 +0100 ++++ insight-6.8.new/gdb/remote.c 2008-08-15 18:06:14.000000000 +0200 +@@ -1703,7 +1703,7 @@ + { + struct remote_state *rs = get_remote_state (); + char *limit; +- int count, resultcount, done; ++ int count, resultcount, done = 0; + + resultcount = 0; + /* Assume the 'q' and 'M chars have been stripped. */ +diff -Naur insight-6.8.orig/gdb/symtab.c insight-6.8.new/gdb/symtab.c +--- insight-6.8.orig/gdb/symtab.c 2008-02-05 23:17:40.000000000 +0100 ++++ insight-6.8.new/gdb/symtab.c 2008-08-15 18:07:07.000000000 +0200 +@@ -2275,7 +2275,7 @@ + struct symtab * + find_line_symtab (struct symtab *symtab, int line, int *index, int *exact_match) + { +- int exact; ++ int exact = 0; + + /* BEST_INDEX and BEST_LINETABLE identify the smallest linenumber > LINE + so far seen. */ diff --git a/insight-6.8-ia64bound.patch b/insight-6.8-ia64bound.patch new file mode 100644 index 0000000..937ca4c --- /dev/null +++ b/insight-6.8-ia64bound.patch @@ -0,0 +1,12 @@ +diff -Naur insight-6.8.orig/gdb/ia64-tdep.c insight-6.8.new/gdb/ia64-tdep.c +--- insight-6.8.orig/gdb/ia64-tdep.c 2008-02-20 15:31:40.000000000 +0100 ++++ insight-6.8.new/gdb/ia64-tdep.c 2008-08-15 18:18:53.000000000 +0200 +@@ -1234,7 +1234,7 @@ + spill_reg = rN; + last_prologue_pc = next_pc; + } +- else if (qp == 0 && rM >= 32 && rM < 40 && !instores[rM] && ++ else if (qp == 0 && rM >= 32 && rM < 40 && !instores[rM - 32] && + rN < 256 && imm == 0) + { + /* mov rN, rM where rM is an input register */ diff --git a/insight-6.8-itcl33.patch b/insight-6.8-itcl33.patch new file mode 100644 index 0000000..202f23b --- /dev/null +++ b/insight-6.8-itcl33.patch @@ -0,0 +1,124385 @@ +diff -Naur insight-6.8.orig/itcl/aclocal.m4 insight-6.8.new/itcl/aclocal.m4 +--- insight-6.8.orig/itcl/aclocal.m4 2006-07-13 17:41:58.000000000 +0200 ++++ insight-6.8.new/itcl/aclocal.m4 2008-08-18 18:56:35.000000000 +0200 +@@ -1,480 +1,612 @@ +-dnl written by Rob Savoye for Cygnus Support +-dnl major rewriting for Tcl 7.5 by Don Libes ++# generated automatically by aclocal 1.10 -*- Autoconf -*- + +-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 ++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, ++# 2005, 2006 Free Software Foundation, Inc. ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++m4_if(m4_PACKAGE_VERSION, [2.61],, ++[m4_fatal([this file was generated for autoconf 2.61. ++You have another version of autoconf. If you want to use that, ++you should regenerate the build system entirely.], [63])]) ++ ++# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# AM_AUTOMAKE_VERSION(VERSION) ++# ---------------------------- ++# Automake X.Y traces this macro to ensure aclocal.m4 has been ++# generated from the m4 files accompanying Automake X.Y. ++# (This private macro should not be called outside this file.) ++AC_DEFUN([AM_AUTOMAKE_VERSION], ++[am__api_version='1.10' ++dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to ++dnl require some minimum version. Point them to the right macro. ++m4_if([$1], [1.10], [], ++ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl + ]) + +-# +-# 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) ++# _AM_AUTOCONF_VERSION(VERSION) ++# ----------------------------- ++# aclocal traces this macro to find the Autoconf version. ++# This is a private macro too. Using m4_define simplifies ++# the logic in aclocal, which can simply ignore this definition. ++m4_define([_AM_AUTOCONF_VERSION], []) ++ ++# AM_SET_CURRENT_AUTOMAKE_VERSION ++# ------------------------------- ++# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. ++# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. ++AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], ++[AM_AUTOMAKE_VERSION([1.10])dnl ++_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)]) ++ ++# AM_AUX_DIR_EXPAND -*- Autoconf -*- ++ ++# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets ++# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to ++# `$srcdir', `$srcdir/..', or `$srcdir/../..'. ++# ++# Of course, Automake must honor this variable whenever it calls a ++# tool from the auxiliary directory. The problem is that $srcdir (and ++# therefore $ac_aux_dir as well) can be either absolute or relative, ++# depending on how configure is run. This is pretty annoying, since ++# it makes $ac_aux_dir quite unusable in subdirectories: in the top ++# source directory, any form will work fine, but in subdirectories a ++# relative path needs to be adjusted first. ++# ++# $ac_aux_dir/missing ++# fails when called from a subdirectory if $ac_aux_dir is relative ++# $top_srcdir/$ac_aux_dir/missing ++# fails if $ac_aux_dir is absolute, ++# fails when called from a subdirectory in a VPATH build with ++# a relative $ac_aux_dir ++# ++# The reason of the latter failure is that $top_srcdir and $ac_aux_dir ++# are both prefixed by $srcdir. In an in-source build this is usually ++# harmless because $srcdir is `.', but things will broke when you ++# start a VPATH build or use an absolute $srcdir. ++# ++# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, ++# iff we strip the leading $srcdir from $ac_aux_dir. That would be: ++# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` ++# and then we would define $MISSING as ++# MISSING="\${SHELL} $am_aux_dir/missing" ++# This will work as long as MISSING is not called from configure, because ++# unfortunately $(top_srcdir) has no meaning in configure. ++# However there are other variables, like CC, which are often used in ++# configure, and could therefore not use this "fixed" $ac_aux_dir. ++# ++# Another solution, used here, is to always expand $ac_aux_dir to an ++# absolute PATH. The drawback is that using absolute paths prevent a ++# configured tree to be moved without reconfiguration. ++ ++AC_DEFUN([AM_AUX_DIR_EXPAND], ++[dnl Rely on autoconf to set up CDPATH properly. ++AC_PREREQ([2.50])dnl ++# expand $ac_aux_dir to an absolute path ++am_aux_dir=`cd $ac_aux_dir && pwd` + ]) + +-AC_DEFUN(CY_AC_PATH_TCLH, [ ++# AM_CONDITIONAL -*- Autoconf -*- ++ ++# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 ++# Free Software Foundation, Inc. + # +-# 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 ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# serial 8 ++ ++# AM_CONDITIONAL(NAME, SHELL-CONDITION) ++# ------------------------------------- ++# Define a conditional. ++AC_DEFUN([AM_CONDITIONAL], ++[AC_PREREQ(2.52)dnl ++ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], ++ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl ++AC_SUBST([$1_TRUE])dnl ++AC_SUBST([$1_FALSE])dnl ++_AM_SUBST_NOTMAKE([$1_TRUE])dnl ++_AM_SUBST_NOTMAKE([$1_FALSE])dnl ++if $2; then ++ $1_TRUE= ++ $1_FALSE='#' ++else ++ $1_TRUE='#' ++ $1_FALSE= + 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)` ++AC_CONFIG_COMMANDS_PRE( ++[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then ++ AC_MSG_ERROR([[conditional "$1" was never defined. ++Usually this means the macro was only invoked conditionally.]]) ++fi])]) ++ ++# Do all the work for Automake. -*- Autoconf -*- ++ ++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, ++# 2005, 2006 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# serial 12 ++ ++# This macro actually does too much. Some checks are only needed if ++# your package does certain things. But this isn't really a big deal. ++ ++# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) ++# AM_INIT_AUTOMAKE([OPTIONS]) ++# ----------------------------------------------- ++# The call with PACKAGE and VERSION arguments is the old style ++# call (pre autoconf-2.50), which is being phased out. PACKAGE ++# and VERSION should now be passed to AC_INIT and removed from ++# the call to AM_INIT_AUTOMAKE. ++# We support both call styles for the transition. After ++# the next Automake release, Autoconf can make the AC_INIT ++# arguments mandatory, and then we can depend on a new Autoconf ++# release and drop the old call support. ++AC_DEFUN([AM_INIT_AUTOMAKE], ++[AC_PREREQ([2.60])dnl ++dnl Autoconf wants to disallow AM_ names. We explicitly allow ++dnl the ones we care about. ++m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl ++AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl ++AC_REQUIRE([AC_PROG_INSTALL])dnl ++if test "`cd $srcdir && pwd`" != "`pwd`"; then ++ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output ++ # is not polluted with repeated "-I." ++ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl ++ # test to see if srcdir already configured ++ if test -f $srcdir/config.status; then ++ AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + 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[[7-9]]* 2>/dev/null` \ +- ${srcdir}/../../tcl \ +- `ls -dr ${srcdir}/../../tcl[[7-9]]* 2>/dev/null` \ +- ${srcdir}/../../../tcl \ +- `ls -dr ${srcdir}/../../../tcl[[7-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[[7-9]]* 2>/dev/null` \ +- `ls -dr /usr/local/lib/tcl[[7-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" +- 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="" ++# test whether we have cygpath ++if test -z "$CYGPATH_W"; then ++ if (cygpath --version) >/dev/null 2>/dev/null; then ++ CYGPATH_W='cygpath -w' + 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="-I${ac_cv_c_tclh}" ++ CYGPATH_W=echo + fi + fi ++AC_SUBST([CYGPATH_W]) + +-AC_SUBST(TCLHDIR) ++# Define the identity of the package. ++dnl Distinguish between old-style and new-style calls. ++m4_ifval([$2], ++[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl ++ AC_SUBST([PACKAGE], [$1])dnl ++ AC_SUBST([VERSION], [$2])], ++[_AM_SET_OPTIONS([$1])dnl ++dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. ++m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, ++ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl ++ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl ++ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl ++ ++_AM_IF_OPTION([no-define],, ++[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) ++ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl ++ ++# Some tools Automake needs. ++AC_REQUIRE([AM_SANITY_CHECK])dnl ++AC_REQUIRE([AC_ARG_PROGRAM])dnl ++AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) ++AM_MISSING_PROG(AUTOCONF, autoconf) ++AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) ++AM_MISSING_PROG(AUTOHEADER, autoheader) ++AM_MISSING_PROG(MAKEINFO, makeinfo) ++AM_PROG_INSTALL_SH ++AM_PROG_INSTALL_STRIP ++AC_REQUIRE([AM_PROG_MKDIR_P])dnl ++# We need awk for the "check" target. The system "awk" is bad on ++# some platforms. ++AC_REQUIRE([AC_PROG_AWK])dnl ++AC_REQUIRE([AC_PROG_MAKE_SET])dnl ++AC_REQUIRE([AM_SET_LEADING_DOT])dnl ++_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], ++ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], ++ [_AM_PROG_TAR([v7])])]) ++_AM_IF_OPTION([no-dependencies],, ++[AC_PROVIDE_IFELSE([AC_PROG_CC], ++ [_AM_DEPENDENCIES(CC)], ++ [define([AC_PROG_CC], ++ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl ++AC_PROVIDE_IFELSE([AC_PROG_CXX], ++ [_AM_DEPENDENCIES(CXX)], ++ [define([AC_PROG_CXX], ++ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl ++AC_PROVIDE_IFELSE([AC_PROG_OBJC], ++ [_AM_DEPENDENCIES(OBJC)], ++ [define([AC_PROG_OBJC], ++ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl + ]) +- +- +-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-tclconfig +-# +- +-if test x"${no_tcl}" = x ; then +- # we reset no_tcl in case something fails here +- no_tcl=true +- AC_ARG_WITH(tclconfig, [ --with-tclconfig 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-tclconfig 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[[7-9]]* 2>/dev/null` \ +- ../../tcl \ +- `ls -dr ../../tcl[[7-9]]* 2>/dev/null` \ +- ../../../tcl \ +- `ls -dr ../../../tcl[[7-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[[7-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 not used, don't export to save symbols +-dnl AC_SUBST(TCL_LIB_FILE) +- +- AC_SUBST(TCL_LIBS) +-dnl not used, don't export to save symbols +-dnl AC_SUBST(TCL_PREFIX) +- +-dnl not used, don't export to save symbols +-dnl AC_SUBST(TCL_EXEC_PREFIX) +- +- 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) +-dnl AC_SUBST(TCL_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 +- AC_SUBST(TCL_LD_SEARCH_FLAGS) +-dnl AC_SUBST(TCL_COMPAT_OBJS) +- AC_SUBST(TCL_RANLIB) +- AC_SUBST(TCL_BUILD_LIB_SPEC) +- AC_SUBST(TCL_LIB_SPEC) +-dnl AC_SUBST(TCL_LIB_VERSIONS_OK) +- +-dnl not used, don't export to save symbols +-dnl 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 7-9 while Tk is 4-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 ++# When config.status generates a header, we must update the stamp-h file. ++# This file resides in the same directory as the config header ++# that is generated. The stamp files are numbered to have different names. ++ ++# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the ++# loop where config.status creates the headers, so we can generate ++# our stamp files there. ++AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], ++[# Compute $1's index in $config_headers. ++_am_stamp_count=1 ++for _am_header in $config_headers :; do ++ case $_am_header in ++ $1 | $1:* ) ++ break ;; ++ * ) ++ _am_stamp_count=`expr $_am_stamp_count + 1` ;; ++ esac ++done ++echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) ++ ++# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# AM_PROG_INSTALL_SH ++# ------------------ ++# Define $install_sh. ++AC_DEFUN([AM_PROG_INSTALL_SH], ++[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl ++install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} ++AC_SUBST(install_sh)]) ++ ++# Copyright (C) 2003, 2005 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# serial 2 ++ ++# Check whether the underlying file-system supports filenames ++# with a leading dot. For instance MS-DOS doesn't. ++AC_DEFUN([AM_SET_LEADING_DOT], ++[rm -rf .tst 2>/dev/null ++mkdir .tst 2>/dev/null ++if test -d .tst; then ++ am__leading_dot=. ++else ++ am__leading_dot=_ + fi ++rmdir .tst 2>/dev/null ++AC_SUBST([am__leading_dot])]) + +-# 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 ++# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- ++# From Jim Meyering + +-# 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]]* 2>/dev/null` \ +- ${srcdir}/../../tk \ +- `ls -dr ${srcdir}/../../tk[[4-9]]* 2>/dev/null` \ +- ${srcdir}/../../../tk \ +- `ls -dr ${srcdir}/../../../tk[[4-9]]* 2>/dev/null ` ; do +- if test -f $i/generic/tk.h ; then +- if test x"${TK_BUILD_INCLUDES}" != x; then +- ac_cv_c_tkh=`echo "${TK_BUILD_INCLUDES}" | sed -e 's/^-I//'` +- else +- ac_cv_c_tkh=`(cd $i/generic; pwd)` +- fi +- 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]]* 2>/dev/null` \ +- `ls -dr /usr/local/lib/tk[[4-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]) +- TKHDIR="" +- else +- AC_MSG_RESULT([found in ${ac_cv_c_tkh}]) +- # this hack is cause the TKHDIR won't print if there is a "-I" in it. +- TKHDIR="-I${ac_cv_c_tkh}" +- fi ++# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005 ++# Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# serial 4 ++ ++AC_DEFUN([AM_MAINTAINER_MODE], ++[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) ++ dnl maintainer-mode is disabled by default ++ AC_ARG_ENABLE(maintainer-mode, ++[ --enable-maintainer-mode enable make rules and dependencies not useful ++ (and sometimes confusing) to the casual installer], ++ USE_MAINTAINER_MODE=$enableval, ++ USE_MAINTAINER_MODE=no) ++ AC_MSG_RESULT([$USE_MAINTAINER_MODE]) ++ AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) ++ MAINT=$MAINTAINER_MODE_TRUE ++ AC_SUBST(MAINT)dnl ++] ++) ++ ++AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) ++ ++# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- ++ ++# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 ++# Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# serial 5 ++ ++# AM_MISSING_PROG(NAME, PROGRAM) ++# ------------------------------ ++AC_DEFUN([AM_MISSING_PROG], ++[AC_REQUIRE([AM_MISSING_HAS_RUN]) ++$1=${$1-"${am_missing_run}$2"} ++AC_SUBST($1)]) ++ ++ ++# AM_MISSING_HAS_RUN ++# ------------------ ++# Define MISSING if not defined so far and test if it supports --run. ++# If it does, set am_missing_run to use it, otherwise, to nothing. ++AC_DEFUN([AM_MISSING_HAS_RUN], ++[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl ++AC_REQUIRE_AUX_FILE([missing])dnl ++test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" ++# Use eval to expand $SHELL ++if eval "$MISSING --run true"; then ++ am_missing_run="$MISSING --run " + else +- TKHDIR="# no Tk directory found" +- AC_MSG_WARN([Can't find Tk private headers]) +- no_tk=true ++ am_missing_run= ++ AC_MSG_WARN([`missing' script is too old or missing]) + fi ++]) + +-AC_SUBST(TKHDIR) ++# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# AM_PROG_MKDIR_P ++# --------------- ++# Check for `mkdir -p'. ++AC_DEFUN([AM_PROG_MKDIR_P], ++[AC_PREREQ([2.60])dnl ++AC_REQUIRE([AC_PROG_MKDIR_P])dnl ++dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, ++dnl while keeping a definition of mkdir_p for backward compatibility. ++dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. ++dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of ++dnl Makefile.ins that do not define MKDIR_P, so we do our own ++dnl adjustment using top_builddir (which is defined more often than ++dnl MKDIR_P). ++AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl ++case $mkdir_p in ++ [[\\/$]]* | ?:[[\\/]]*) ;; ++ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; ++esac + ]) + ++# Helper functions for option handling. -*- Autoconf -*- + +-AC_DEFUN(CY_AC_PATH_TKCONFIG, [ ++# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. + # +-# Ok, lets find the tk configuration +-# First, look for one uninstalled. +-# the alternative search directory is invoked by --with-tkconfig +-# +- +-if test x"${no_tk}" = x ; then +- # we reset no_tk in case something fails here +- no_tk=true +- AC_ARG_WITH(tkconfig, [ --with-tkconfig 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-tkconfig 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]]* 2>/dev/null` \ +- ../../tk \ +- `ls -dr ../../tk[[4-9]]* 2>/dev/null` \ +- ../../../tk \ +- `ls -dr ../../../tk[[4-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]]* 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 ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# serial 3 ++ ++# _AM_MANGLE_OPTION(NAME) ++# ----------------------- ++AC_DEFUN([_AM_MANGLE_OPTION], ++[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) ++ ++# _AM_SET_OPTION(NAME) ++# ------------------------------ ++# Set option NAME. Presently that only means defining a flag for this option. ++AC_DEFUN([_AM_SET_OPTION], ++[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) ++ ++# _AM_SET_OPTIONS(OPTIONS) ++# ---------------------------------- ++# OPTIONS is a space-separated list of Automake options. ++AC_DEFUN([_AM_SET_OPTIONS], ++[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) ++ ++# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) ++# ------------------------------------------- ++# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. ++AC_DEFUN([_AM_IF_OPTION], ++[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) ++ ++# Check to make sure that the build environment is sane. -*- Autoconf -*- ++ ++# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 ++# Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# serial 4 ++ ++# AM_SANITY_CHECK ++# --------------- ++AC_DEFUN([AM_SANITY_CHECK], ++[AC_MSG_CHECKING([whether build environment is sane]) ++# Just in case ++sleep 1 ++echo timestamp > conftest.file ++# Do `set' in a subshell so we don't clobber the current shell's ++# arguments. Must try -L first in case configure is actually a ++# symlink; some systems play weird games with the mod time of symlinks ++# (eg FreeBSD returns the mod time of the symlink's containing ++# directory). ++if ( ++ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` ++ if test "$[*]" = "X"; then ++ # -L didn't work. ++ set X `ls -t $srcdir/configure conftest.file` ++ fi ++ rm -f conftest.file ++ if test "$[*]" != "X $srcdir/configure conftest.file" \ ++ && test "$[*]" != "X conftest.file $srcdir/configure"; then ++ ++ # If neither matched, then we have a broken ls. This can happen ++ # if, for instance, CONFIG_SHELL is bash and it inherits a ++ # broken ls alias from the environment. This has actually ++ # happened. Such a system could not be considered "sane". ++ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken ++alias in your environment]) ++ fi ++ ++ test "$[2]" = conftest.file ++ ) ++then ++ # Ok. ++ : ++else ++ AC_MSG_ERROR([newly created file is older than distributed files! ++Check your system clock]) + fi ++AC_MSG_RESULT(yes)]) + +-]) ++# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# AM_PROG_INSTALL_STRIP ++# --------------------- ++# One issue with vendor `install' (even GNU) is that you can't ++# specify the program used to strip binaries. This is especially ++# annoying in cross-compiling environments, where the build's strip ++# is unlikely to handle the host's binaries. ++# Fortunately install-sh will honor a STRIPPROG variable, so we ++# always use install-sh in `make install-strip', and initialize ++# STRIPPROG with the value of the STRIP variable (set by the user). ++AC_DEFUN([AM_PROG_INSTALL_STRIP], ++[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl ++# Installed binaries are usually stripped using `strip' when the user ++# run `make install-strip'. However `strip' might not be the right ++# tool to use in cross-compilation environments, therefore Automake ++# will honor the `STRIP' environment variable to overrule this program. ++dnl Don't test for $cross_compiling = yes, because it might be `maybe'. ++if test "$cross_compiling" != no; then ++ AC_CHECK_TOOL([STRIP], [strip], :) ++fi ++INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" ++AC_SUBST([INSTALL_STRIP_PROGRAM])]) ++ ++# Copyright (C) 2006 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# _AM_SUBST_NOTMAKE(VARIABLE) ++# --------------------------- ++# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in. ++# This macro is traced by Automake. ++AC_DEFUN([_AM_SUBST_NOTMAKE]) ++ ++# Check how to create a tarball. -*- Autoconf -*- ++ ++# Copyright (C) 2004, 2005 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# serial 2 ++ ++# _AM_PROG_TAR(FORMAT) ++# -------------------- ++# Check how to create a tarball in format FORMAT. ++# FORMAT should be one of `v7', `ustar', or `pax'. ++# ++# Substitute a variable $(am__tar) that is a command ++# writing to stdout a FORMAT-tarball containing the directory ++# $tardir. ++# tardir=directory && $(am__tar) > result.tar ++# ++# Substitute a variable $(am__untar) that extract such ++# a tarball read from stdin. ++# $(am__untar) < result.tar ++AC_DEFUN([_AM_PROG_TAR], ++[# Always define AMTAR for backward compatibility. ++AM_MISSING_PROG([AMTAR], [tar]) ++m4_if([$1], [v7], ++ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], ++ [m4_case([$1], [ustar],, [pax],, ++ [m4_fatal([Unknown tar format])]) ++AC_MSG_CHECKING([how to create a $1 tar archive]) ++# Loop over all known methods to create a tar archive until one works. ++_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' ++_am_tools=${am_cv_prog_tar_$1-$_am_tools} ++# Do not fold the above two line into one, because Tru64 sh and ++# Solaris sh will not grok spaces in the rhs of `-'. ++for _am_tool in $_am_tools ++do ++ case $_am_tool in ++ gnutar) ++ for _am_tar in tar gnutar gtar; ++ do ++ AM_RUN_LOG([$_am_tar --version]) && break ++ done ++ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' ++ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' ++ am__untar="$_am_tar -xf -" ++ ;; ++ plaintar) ++ # Must skip GNU tar: if it does not support --format= it doesn't create ++ # ustar tarball either. ++ (tar --version) >/dev/null 2>&1 && continue ++ am__tar='tar chf - "$$tardir"' ++ am__tar_='tar chf - "$tardir"' ++ am__untar='tar xf -' ++ ;; ++ pax) ++ am__tar='pax -L -x $1 -w "$$tardir"' ++ am__tar_='pax -L -x $1 -w "$tardir"' ++ am__untar='pax -r' ++ ;; ++ cpio) ++ am__tar='find "$$tardir" -print | cpio -o -H $1 -L' ++ am__tar_='find "$tardir" -print | cpio -o -H $1 -L' ++ am__untar='cpio -i -H $1 -d' ++ ;; ++ none) ++ am__tar=false ++ am__tar_=false ++ am__untar=false ++ ;; ++ esac ++ ++ # If the value was cached, stop now. We just wanted to have am__tar ++ # and am__untar set. ++ test -n "${am_cv_prog_tar_$1}" && break ++ ++ # tar/untar a dummy directory, and stop if the command works ++ rm -rf conftest.dir ++ mkdir conftest.dir ++ echo GrepMe > conftest.dir/file ++ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) ++ rm -rf conftest.dir ++ if test -s conftest.tar; then ++ AM_RUN_LOG([$am__untar /dev/null 2>&1 && break ++ fi ++done ++rm -rf conftest.dir ++ ++AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) ++AC_MSG_RESULT([$am_cv_prog_tar_$1])]) ++AC_SUBST([am__tar]) ++AC_SUBST([am__untar]) ++]) # _AM_PROG_TAR + +-# 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) +- +-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) +- AC_SUBST(TK_BUILD_LIB_SPEC) +- AC_SUBST(TK_LIB_SPEC) +-]) +diff -Naur insight-6.8.orig/itcl/ChangeLog insight-6.8.new/itcl/ChangeLog +--- insight-6.8.orig/itcl/ChangeLog 2006-07-13 17:41:58.000000000 +0200 ++++ insight-6.8.new/itcl/ChangeLog 2008-08-18 18:56:19.000000000 +0200 +@@ -1,3 +1,30 @@ ++2008-07-23 Keith Seitz ++ ++ Import of Itcl 3.3. ++ * itcl/configure.in, itk/configure.in, iwidgets/configure.in: ++ Replace with configure.ac. ++ * itcl/configure, itk/configure, iwidgets/configure: Regenerate. ++ * configure.ac, Makefile.am, Makefile.in: New files. ++ * README: "New" file. ++ * aclocal.m4: Regenerate. ++ * itcl/Makefile.in (RANLIB): Replace with RANLIB_LIB so ++ that the toplevel build does not override this variable. ++ * itk/Makefile.in (RANLIB): Likewise. ++ * itcl/tclconfig/tcl.m4 (TEA_PATH_TCLCONFIG): Look for itclConfig.sh ++ in the platform-specific location (unix or win). ++ (TEA_PATH_TKCONFIG): Likewise. ++ (TEA_MAKE_LIB): Even on windows, GCC libraries must start with "lib". ++ * itk/tclconfig.m4: Copy of itcl/tcl.m4. ++ * iwidgets/tcl.m4: Remove. ++ * iwidgets/tclconfig: New directory. ++ * iwidgets/tclconfig/tcl.m4, iwidgets/tclconfig/install-sh: Copies ++ of itcl/tclconfig files. ++ * iwidgets/Makefile.in (MKINSTALLDIRS): Use mkdir -p. ++ * iwidgets/configure.ac (PACKAGE): Rename to PACKAGE_NAME. ++ Call TEA_INIT, add AC_CONFIG_AUX_DIR and AC_PROG_INSTALL. ++ Use TEA_* instead of SC_* macros. ++ Search a few more directories for the itcl and itk libraries. ++ + 2006-06-16 Steve Ellcey + + * configure.in: Fix for autoconf 2.5. +diff -Naur insight-6.8.orig/itcl/CHANGES insight-6.8.new/itcl/CHANGES +--- insight-6.8.orig/itcl/CHANGES 2003-01-21 21:40:24.000000000 +0100 ++++ insight-6.8.new/itcl/CHANGES 1970-01-01 01:00:00.000000000 +0100 +@@ -1,2041 +0,0 @@ +- +- [incr Tcl] - CHANGE LOG +-========================================================================== +- ----------------------- CHANGES FROM itcl-1.5 -------------------------- +-========================================================================== +- +- Release itcl-2.0 provides a new syntax for defining classes. The +- new syntax is accessed using the new "itcl::class" command. For the +- time being, the old syntax will be supported via the old "itcl_class" +- command, but support for this will be phased out over time. +- +- Because both syntaxes are supported, the new version is "backward +- compatible" with the previous itcl-1.5 release. However, there are +- some semantic changes that may break existing scripts. These are +- listed in detail in the section "INCOMPATIBLE CHANGES". +- +- +- CATALOG OF NEW COMMANDS +--------------------------------------------------------------------------- +- Following is a brief catalog of new commands available in this release. +- +- == Tcl with Namespaces ================================================= +- +- delete namespace name ?name...? +- +- Deletes one or more namespaces, destroying all commands, variables, +- and child namespaces within it. +- +- +- ensemble name { +- option optName arglist body +- option optName arglist body +- ... +- ensemble optName { +- option subOptName arglist body +- option subOptName arglist body +- ... +- } +- } +- +- Adds options to an ensemble called "name". If the ensemble does +- not already exist, it is created automatically. An "ensemble" is +- a toplevel command that groups a collection of sub-commands. For +- example, the usual Tcl "info" command is an ensemble with options +- like "globals", "level", "tclversion", etc. +- +- Ensembles are good for two reasons. First, new options can be +- integrated in without modifying any source code or "switch" +- statements. For example, [incr Tcl] adds the "info classes" +- and "info objects" commands simply by adding options to the +- "info" ensemble. Second, error messages are generated automatically +- by the ensemble mechanism. Try invoking "info" with no options +- and see the result. +- +- Each option declaration is just like a Tcl proc declaration, +- with an option name, arglist and body. Ensembles can also +- contain sub-ensembles with more options. +- +- +- import add name ?name...? ?-where pos...? +- import all ?name? +- import list ?importList? +- import remove name ?name...? +- +- Used to manipulate the "import" list for the current namespace. +- When one namespace imports another, it gains access to all of +- its public commands/variables as if they were part of the +- same namespace. In other words, one namespace can be integrated +- seamlessly into another by adding it to the import list of the +- other namespace. By default, each namespace imports its parent, +- so most namespaces import the global scope in some fashion. +- +- The form "import list" is used to query or set the import list +- for the current namespace. The form "import all" returns the +- namespace search path that is consulted when commands/variables +- are accessed. +- +- +- info context +- +- Returns the current namespace context. The global namespace +- context is reported here as "", so it is easy to build +- namespace paths like this: +- +- set path "[info context]::name" +- +- +- info namespace all ?pattern? +- +- Returns a list of namespaces found in the current namespace +- context, whose names match an optional string pattern. This +- includes children of the current namespace, and children of +- all imported namespaces. +- +- +- info namespace children ?name? +- +- Returns a list of child namespaces for namespace "name", +- or for the current namespace if "name" is not specified. +- +- +- info namespace parent ?name? +- +- Returns the parent namespace for namespace "name", or +- for the current namespace if "name" is not specified. +- +- +- info namespace qualifiers string +- +- Parses a string of the form "namesp::namesp::name", and returns +- the leading "namesp::namesp" scope qualifiers. +- +- +- info namespace tail string +- +- Parses a string of the form "namesp::namesp::name", and returns +- the trailing "name" element. +- +- +- info protection ?-command? ?-variable? name +- +- Returns the protection level for an element. By default, "name" +- is treated as a command name, but the "-command" or "-variable" +- flags can be used to request a specific treatment. +- +- +- info which ?-command? ?-variable? ?-namespace? name +- +- Reports the full namespace path (e.g., "::namesp::namesp::name") +- for an element. By default, "name" is treated as a command name, +- but the "-command", "-variable" and "-namespace" flags can be +- used to request a specific treatment. +- +- +- namespace name ?-local? ?-enforced val? ?--? ?commands? +- +- This is the usual mechanism for creating a namespace and defining +- elements within it. +- +- If namespace "name" does not exist, it is created automatically. +- The namespace name may include a full namespace path (e.g., +- "namesp::namesp::namesp"). During the search for this namespace, +- all imported namespaces are consulted. If the "-local" flag is +- specified, then the search is restricted to the local namespace; +- this prevents against accidentally importing a namespace if the +- intent is to create a child namespace. +- +- If the "-enforced" flag is specified, then "val" is treated as a +- boolean value; if true, then command/variable enforcement is +- turned on for this namespace. Each time a new command is +- referenced within the namespace, Tcl automatically calls a +- procedure: +- +- enforce_cmd +- +- with the of the command that is about to be executed. The +- "enforce_cmd" proc can return an error, and access to that command +- will be denied. It can return another command name, or a more +- specific namespace path, and that command will be used instead. +- Or it can return "", and command lookup will continue via the +- normal namespace rules (i.e., in local scope, imported namespaces, +- etc.). +- +- Each time a new variable is referenced within an enforced +- namespace, Tcl automatically calls a procedure: +- +- enforce_var +- +- with the of a global variable that is being referenced. +- The "enforce_var" proc can return an error, and access to that +- variable will be denied. It can return another variable name, +- or a more specific namespace path, and that variable will be +- used instead. Or it can return "", and variable lookup will +- continue via the normal namespace rules (i.e., in local scope, +- imported namespaces, etc.). +- +- Note that command/variable enforcement done at the Tcl language +- level can be slow. There is also a C language interface for +- the same functionality, which offers much better performance. +- +- The namespace is first found and updated with whatever flags were +- specified. After that, if a "commands" string was specified, it +- is executed in the context of the namespace. +- +- +- public command ?arg arg...? +- protected command ?arg arg...? +- private command ?arg arg...? +- +- These commands attach a particular protection level to whatever +- commands or variables are created while executing the specified +- command. They are used in conjunction with commands like +- "proc" and "variable" to create public/protected/private elements. +- +- +- scope string +- code ?-namespace name? command ?arg arg ...? +- @scope namespace value +- +- The "scope" command takes a string and encodes it into an "@scope" +- declaration. The "code" command performs a similar function, +- but accepts multiple arguments and is usually used to wrap up +- code fragments. The "@scope" declaration keeps a value (like a +- variable name or code fragment) together with its context +- namespace. It can be executed like an ordinary command: +- +- set cmd {@scope :: puts} +- $cmd "hello world!" +- +- or used as an ordinary variable name: +- +- set var {@scope :: auto_path} +- lappend $var /usr/local/mylib +- +- The difference, however, is that an "@scope" value bypasses the +- usual access protections and guarantees that values have the +- proper scope. +- +- Ordinary variable names refer to variables in the global +- namespace. Ordinary code fragments are usually interpreted +- by extensions like Tk in the global namespace. The "scope" +- and "code" commands are used to wrap up variable names and +- code fragments to preserve the namespace context. For example: +- +- namespace foo { +- private variable state 0 +- private proc show_state {mesg} { +- global state +- puts "$mesg: $state" +- } +- +- checkbutton .cb -text "Toggle" \ +- -variable [scope state] \ +- -command [code show_state "current state"] +- +- pack .cb +- } +- +- In this example, the checkbutton is tied to the variable +- "foo::state" and executes the command "foo::show_state" +- whenever it is pressed. +- +- When a Tk widget uses commands and variables within a +- namespace, these names should be wrapped up as scoped +- values, as shown above. +- +- +- variable name ?value? +- Creates a variable called "name" and initializes it to an optional +- value. This is normally used in conjunction with public, protected +- and private commands to declare variables within a namespace: +- +- namespace foo { +- public variable x 0 +- private variable y 1 +- } +- +- If the variable "name" already exists, it updated to have +- the protection level that is currently active. +- +- +- == Tk with Namespaces ================================================== +- +- bind... +- +- Recognizes and expands the following fields within command +- strings: +- +- %q => Replaced with the fully-qualified access command +- for the widget receiving the event. For example, +- +- namespace foo { +- namespace bar { +- button .b -text "Hello World!" +- } +- } +- +- The fully-qualified access command for this widget +- is "::foo::bar::.b". The "%q" field should be used +- instead of "%W" as the widget access command: +- +- bind Button "%q flash; %q invoke" +- +- +- %M => Replaced with the window path name of the mega-widget +- containing the window receiving the event. For example, +- if an "entryfield" mega-widget ".x" contains an entry +- widget ".x.entry", bindings added to ".x.entry" will +- replace "%M" with ".x". This allows generic bindings +- to be added to component widgets which affect the +- mega-widget as a whole. +- +- For this to work properly, mega-widget packages must +- register their component widgets using Itk_SetMegaWidget(). +- +- +- winfo command window +- +- Returns the fully-qualified access command for the widget "window". +- This is equivalent to the "%q" field in bindings, and is useful +- in procedures where the only the window name is known: +- +- foreach kid [winfo children $win] { +- [winfo command $kid] configure -bg blue +- } +- +- +- winfo megawidget window +- +- Returns the window path name of the mega-widget containing "window" +- as a component. This is equivalent to the "%M" field in bindings, +- and is useful in procedures where only the component window name +- is known. For this to work properly, mega-widget packages must +- register their component widgets using Itk_SetMegaWidget(). +- +- +- == [incr Tcl] ========================================================== +- +- delete class name ?name...? +- +- Deletes one or more object classes. Deleting a class also +- causes all derived classes, and all objects belonging to the +- class, to be deleted as well. +- +- +- delete object name ?name...? +- +- Deletes one or more objects. If the access command for an +- object resides in another namespace, then the full namespace +- path should be used: +- +- delete object foo::bar::x +- +- +- info classes ?pattern? +- +- Returns a list of all classes in the current namespace +- whose names match an optional string pattern. +- +- +- info objects ?-class className? ?-isa className? ?pattern? +- +- Returns a list of all objects whose names match an optional +- string pattern. If the "-class" option is specified, then +- the list is further restricted to those objects whose +- most-specific class is "className". If the "-isa" option +- is specified, then the list is further restricted to those +- objects who belong to class "className". +- +- +- itcl::class name { definition } +- +- Used to create define a new class "name". The "definition" +- commands include: +- +- inherit baseClass ?baseClass...? +- +- constructor arglist ?init? body +- destructor body +- +- method name ?arglist? ?body? +- proc name ?arglist? ?body? +- variable name ?init? ?config? +- common name ?init? +- +- public command ?arg arg...? +- protected command ?arg arg...? +- private command ?arg arg...? +- +- Note that the constructor statement has changed to include an +- optional "init" argument. This is an initialization statement +- that can be used to call out base class constructors. If it +- is not included, base classes are constructors are invoked +- automatically without any arguments. +- +- The "variable" statement is now used to create object-specific +- data members. The "common" statement is used to create "common" +- variables, which are global within the class namespace. Both +- types of variables can be designated public, protected or +- private. +- +- +- itcl::body class::func arglist body +- +- Used to define the body of a class member function outside of +- the class definition. If "body" declarations are kept in a +- separate file, they can be sourced again and again to test +- changes as bugs are fixed. If an "arglist" is specified in +- the class definition, then the "arglist" for the body definition +- must have the same meaning. +- +- +- itcl::configbody class::option body +- +- Similar to the "body" command, but used to define the configuration +- code for a public variable. +- +- +- itcl_class name { old-style-definition } \__ backward compatibility +- itcl_info option ?arg arg...? / +- +- +- == [incr Tk] =========================================================== +- +- itcl::class name { +- ... +- itk_option define -switch resName resClass initVal ?configCode? +- } +- +- The "itk_option define" command is recognized at the level of +- the class definition. It defines a new mega-widget option with +- the given switch name and X11 resource database names. The +- "initVal" is used as a last resort to initialize the option +- if no other value can be queried from the X11 resource database. +- If "configCode" is specified, it is executed whenever the option +- is modified via the "configure" method. The "configCode" can +- also be specified outside of the class definition via the +- "itcl::configbody" command. +- +- +- Methods provided by itk::Archetype base class: +- +- component +- component name +- component name command ?arg arg...? +- +- Used to query or access components within a mega-widget. With +- no arguments, this returns a list of component widgets that +- are accessible in the current scope. Note that component +- widgets obey any public/protected/private access restriction +- that is in force when the component is created. +- +- With one argument, this returns the window path name for a +- component with the symbolic name "name". +- +- In any other case, the remaining arguments are invoked as a +- method on the component with the symbolic name "name". +- +- +- configure +- configure option +- configure option value ?-switch value...? +- +- Works just like the usual Tk configure method, but for mega-widgets. +- Here options are really composite widget options. When set, they +- trigger changes to many different internal components, and may +- invoke many bits of "configCode" for options defined by "itk_option +- define". However, there is only one value for the composite option. +- +- +- cget option +- +- Works just like the usual Tk cget method, but for mega-widgets. +- Returns the current value for a composite widget option. +- +- +- itk_component add name {create-commands} ?{option-commands}? +- +- Adds a new mega-widget component with the symbolic name "name". +- Invokes the "create-commands" to create the component, and +- invokes "option-commands" to integrate its options into the +- composite list. By default, no options are integrated. Options +- may be added using the following commands: +- +- keep option ?option...? +- ignore option ?option...? +- rename oldswitch newswitch resname resclass +- usual ?tag? +- +- +- itk_component delete name ?name...? +- +- Deletes an existing mega-widget component with the symbolic +- name "name". The component will still exist as a widget, +- but it will no longer be accessible as a component for this +- mega-widget. Any options associated with the component are +- removed from the composite list. +- +- Note that you can destroy a component like any ordinary widget: +- +- destroy .foo.bar.b +- +- Components automatically detach themselves from their mega-widget +- parent when destroyed, so "itk_component delete" is not used +- very often. +- +- +- itk_option add option ?option...? \__ class::option +- itk_option remove option ?option...? / component.option +- +- Adds or removes an option from the composite option list for +- a mega-widget. These commands cannot be used at the level of +- the class definition; they must be invoked for a particular +- mega-widget. They usually appear in the constructor for a +- mega-widget class, to add or redefine options in components +- created by a base class. For example, the base classes +- itk::Toplevel and itk::Widget keep only the bare minimum +- options for their "hull" component: -background and -cursor. +- If you want your mega-widget to have a border around it, you +- can add the hull options back in: +- +- itcl::class MyWidget { +- inherit itk::Widget +- +- constructor {args} { +- itk_option add hull.borderwidth hull.relief +- } +- } +- +- +- itk_initialize ?option value option value...? +- +- Initializes the composite option list for a mega-widget. +- This method should be invoked within the constructor for each +- mega-widget class. It is usually included the end of the +- constructor, below the component creation code. It integrates +- all "itk_option" options defined in the current class into +- the composite configuration list, and includes "-option value" +- settings usually received as arguments to the constructor. +- When this is executed in the most-specific class, it scans +- through the composite option list and makes sure that all +- options have been properly initialized. +- +- itk::usual tag ?commands? +- +- Used outside of a mega-widget class definition to declare +- the "usual" option-handling commands for the mega-widget. +- These commands suggest how the configuration options should +- be handled if the mega-widget becomes a component of an even +- larger mega-widget. They include commands like "keep" and +- "rename". +- +- +- INCOMPATIBLE CHANGES +--------------------------------------------------------------------------- +- +- >> Object construction/destruction now follows C++ model. +- +- In the previous release, object construction started at the +- most-specific constructor. Base class constructors could +- be called out explicitly within the body of a constructor. +- If they were not, they were invoked implicitly when the +- constructor finished executing. This led to a construction +- model that was backward from C++, and contrary to what most +- people expected. Destructors were backwards in a similar +- manner. +- +- In the current release, object construction starts at the +- least-specific class in the hierarchy, and proceeds to the +- most-specific class. Therefore, each base class is fully +- constructed before the derived class constructor is executed. +- +- Arguments are now passed to base class constructors through +- an optional "initialization" statement. This statement is +- included between the argument list and the body of the +- constructor, so the syntax is reminiscent of C++: +- +- class Base { +- constructor {x y} { +- ...constructor body... +- } +- } +- class Derived { +- inherit Base +- constructor {x y z} { +- Base::constructor $x $y << "initialization" +- } { +- ...constructor body... +- } +- } +- +- Note that variables from the argument list (e.g., $x and $y) +- can be referenced within the initialization statement. With +- multiple inheritance, each of the base class constructors +- can be called out individually. +- +- Object destruction is the exact opposite of construction. +- It proceeds from most-specific to least-specific class. +- +- +- >> All class methods are now implicitly virtual +- +- In the previous release, all method names were interpreted +- with respect to the current class scope and its base classes. +- If you wanted a method to act virtual, you had to explicitly +- preface it with the "virtual" command each time you used it. +- This proved to be error prone. +- +- In the new release, all methods are virtual by default. If +- you invoke a method with a simple name, the most-specific +- method with that name will be invoked, regardless of your +- class scope: +- +- class Base { +- constructor {} {show} +- method show {} {puts "Base::show"} +- } +- class Derived { +- inherit Base +- constructor {} {show} +- method show {} {puts "Derived::show"} +- } +- +- The method "show" called out in the constructors for both of +- these classes is virtual. When Base::constructor is executed +- it finds the most-specific "show" method and prints +- "Derived::show". When Derived::constructor is executed, it +- finds the most-specific "show" method and prints "Derived::show" +- again. +- +- If you want to invoke a particular method, you have to scope +- it explicity: +- +- class Base { +- constructor {} {Base::show} +- method show {} {puts "Base::show"} +- } +- class Derived { +- inherit Base +- constructor {} {Derived::show} +- method show {} {puts "Derived::show"} +- } +- +- +- >> Within class methods/procs the "global" command now refers to +- variables within the class namespace. +- +- In the previous release, the "global" command was used to +- access variables at the global scope. The "global" command +- now refers to variables that are "global" within the current +- namespace context. Within the scope of a class, this refers +- to "global" class variables. Note that common data members +- are global variables, but they can be accessed transparently, +- without any special "global" declaration. You can also create +- ordinary global variables within a class, but you will have to +- declare them each time they are used with a "global" statement. +- The new scheme will allow classes to have their own private +- global variables (e.g., for interacting with widgets) without +- flooding the global namespace. +- +- If you really want to access a variable at the "::" global +- scope, use its complete path name: +- +- itcl::class Foo { +- method getenv {name} { +- global ::env +- return $env($name) +- } +- } +- +- +- >> "this" variable used to be included in every class scope +- +- In the previous release, each class scope included a separate +- "this" variable containing the object name. There is now only +- one "this" variable, kept in the most-specific class scope. +- It can still be referenced as if it belongs to all classes, +- e.g., "Base::this", "Derived::this". +- +- This change is probably not important to most applications. +- But it did break my test suite, which expected to find many +- different "this" variables coming back from the "info" command. +- +- +- >> "this" variable now contains complete namespace path for the +- object access command +- +- This change will break many scripts written for mega-widgets. +- In the previous release, mega-widgets had a window name and an +- access command name that were interchangeable. For example, +- you would create a widget ".dialog" and configure it using +- the ".dialog" command. Inside of this widget there was a +- "this" variable containing the name ".dialog". +- +- In the current release, an object can exist in any namespace, +- so the complete namespace path is a part of the object's +- identity. Instead of just ".dialog", the "this" variable will +- now contain a name like "::.dialog" or "::foo::.dialog". But +- the window name is still just ".dialog". +- +- Scripts that used to use "$this" as a window name: +- +- wm title $this "Dialog" +- +- must now use the [incr Tk] "hull" component instead: +- +- wm title $itk_component(hull) "Dialog" +- +- If for some other reason you need the simple object name at the +- end of the namespace path, you can get at it using the +- "info namespace tail" command: +- +- set oldthis [info namespace tail $this] +- +- +- >> "#auto" generated names now start with lower-case letter +- +- In the previous release, "#auto" could be used in place of +- an object name to produce an automatically generated name: +- +- Toaster #auto -heat light +- +- The names were generated by adding a unique number onto the +- class name: "Toaster0", "Toaster1", etc. +- +- The current release supports the same functionality, except +- that the names generated are guaranteed to start with a +- lowercase letter: "toaster0", "toaster1", etc. This helps +- out in the mega-widget arena, where window names must start +- with lowercase letters. +- +- +- >> "config" argument used to allow multiple default values +- +- The magic "config" argument used to allow multiple default +- values, which were simply concatenated into a single value +- before processing. For example, in the previous release +- you could say: +- +- itcl_class Foo { +- method test {x y {config -foo 0 -bar 0}} { +- ... +- } +- } +- +- and if the "test" method was used without extra configuration +- arguments, they would default to "-foo 0 -bar 0". +- +- In the current release, you must make the default value for +- a "config" argument a single string: +- +- itcl::class Foo { +- method test {x y {config "-foo 0 -bar 0"}} { +- ... +- } +- } +- +- >> "info class" now acts "virtual" +- +- In the previous release, the "info class" command would report +- the current class context. In a base class method, it would +- report the base class name, and in a derived class method, it +- would report the derived class name. If you wanted to know +- the most-specific class for an object, you would have to use +- the "virtual" command explicitly: +- +- itcl_class Base { +- method whatAmI {} { +- return [virtual info class] +- } +- } +- +- The "info" command is now virtual by default, as long as an +- object context is present. This means that you can drop the +- "virtual" command: +- +- itcl::class Base { +- method whatAmI {} { +- return [info class] +- } +- } +- +- If you really want to know the current class scope, use the +- "info context" command instead to query the current namespace +- context. +- +- If an object context is not present (i.e., in the body of a +- common class "proc"), the "info class" command reverts to +- the current class context, the same as the "info context" command. +- +- +- >> Library procedures "itcl_unload" and "itcl_reload" have been removed +- +- In the previous release, the library procedure "itcl_unload" +- provided a way of deleting a class. You can now do the same +- thing using the "delete class" command: +- +- delete class Toaster +- +- This deletes the specified class, all derived classes, and all +- objects belonging to this class. If autoloading is set up, +- you can reload a deleted class just by invoking its name. +- The old "itcl_reload" function is now trivial: +- +- proc itcl_reload {class} { +- delete class $class +- $class +- } +- +- +- >> Class definition no longer recognizes ordinary Tcl commands. +- +- As an undocumented "feature" of the previous release, you could +- include ordinary Tcl commands in the body of your class definition. +- For example: +- +- itcl_class Foo { +- ... +- if {$somevar} { +- public foo +- } +- } +- +- In the new release, only class definition commands are allowed +- within the body of a class definition. You can, however, use Tcl +- commands outside of the class definition to modify the class +- definition as a string, and then define the class: +- +- set defn { +- method test {} {return "test"} +- } +- if {$somevar} { +- append defn "public variable foo" +- } +- class Foo $defn +- +- +- IMPROVEMENTS +--------------------------------------------------------------------------- +- +- >> an object can be renamed by renaming its access command +- +- In the previous release, an object's identity was fixed when +- it was created. In the new release, the object is tied +- directly to its access command. If you rename the access +- command, you have renamed the object. The "this" variable +- automatically keeps in sync with name changes. If you delete +- the access command, you automatically delete the object. +- +- Toaster new -heat light +- rename new fred << rename Toaster +- fred toast 2 +- fred toast 1 +- rename fred "" << delete Toaster +- +- +- >> Bodies of methods, procs and public variables can be defined +- outside of the class definition, and can be redefined on the fly. +- +- In the previous release, all of the code related to a class was +- defined within the class definition. This kept everything +- together in one place, but it made it difficult to get an overview +- of the class interface. +- +- In the new release, bodies can be defined outside of the class +- definition, perhaps in a separate file. When debugging, the +- implementations can be fixed and sourced again and again, without +- having to delete existing objects and classes. +- +- Use the "itcl::body" command to redefine the body of a class +- method or proc. Use "itcl::configbody" to redefine the configuration +- code associated with a public variable. For example: +- +- itcl::class Toaster { +- constructor {args} { +- eval configure $args +- } +- destructor { +- if {$crumbs > 0} { +- error "cannot destroy dirty toaster: clean first" +- } +- } +- +- method toast {nslices} +- method clean {} +- +- public variable heat 3 +- protected variable crumbs 0 +- } +- +- itcl::body Toaster::toast {nslices} { +- if {$nslices < 1 || $nslices > 2} { +- error "bad number of slices: should be 1 or 2" +- } +- set crumbs [expr $crumbs+$heat*$nslices] +- if {$crumbs >= 50} { +- puts stderr "== FIRE! FIRE! ==" +- } +- } +- +- itcl::body Toaster::clean {} { +- set crumbs 0 +- } +- +- itcl::configbody Toaster::heat { +- if {$heat < 1 || $heat > 5} { +- error "invalid setting \"$heat\": should be 1-5" +- } +- } +- +- If an argument list is specified in the class definition, then +- the same argument list must be used when the implementation is +- redefined. The variable names can change, but the meaning of +- the arguments must be the same. If you leave the argument +- list out of the class definition, or if you include the "args" +- argument, the argument list can change. +- +- +- >> C procedures can be integrated into class definitions +- +- Any method body that is specified as "@symbol" is treated as a +- reference to a C procedure with the symbolic name "symbol". +- Symbolic names are established by registering C procedures +- via the Itcl_RegisterC() procedure. This is usually done +- when the interpreter starts up in the Tcl_AppInit() procedure: +- +- if (Itcl_RegisterC(interp, "foo", My_FooCmd) != TCL_OK) { +- return TCL_ERROR; +- } +- +- This registers a procedure My_FooCmd() with the symbolic name +- "foo". It can be used as the implementation for a class method, +- proc, or bit of configuration code simply by specifying "@foo" +- in place of the Tcl code body. +- +- These C procedures are just like ordinary Tcl command handlers. +- They take the usual arguments: +- +- int My_FooCmd(ClientData cdata, Tcl_Interp *interp, +- int argc, char** argv) +- { +- ... +- return TCL_OK; +- } +- +- including the (argc,argv) arguments from the command line. But +- before these procedures are invoked, the proper class scope is +- established so that object data members can be accessed as if +- they were ordinary variables via Tcl_GetVar() and Tcl_SetVar(). +- +- Look at the [incr Tk] base class itk::Archetype as an example +- for integrating C code. +- +- +- >> "#auto" can be buried within an object name: ".x.y.z.#auto" +- +- In the previous release, "#auto" was a keyword that could be +- used in place of an object name. It can now be used as a +- part of the object name, making it easier to generate automatic +- names for mega-widgets. +- +- +- >> Every object now has built-in "configure" and "cget" methods +- that follow the Tk paradigm. For [incr Tk] widgets, they follow +- the paradigm exactly. The ordinary [incr Tcl] objects, the +- X11 resource values are missing. +- +- +- >> There is no longer a built-in "delete" method, so classes can +- define their own "delete" operations. +- +- Instead of "objName delete", use the new "delete object" command: +- +- Toaster fred -heat dark +- delete object fred +- +- +- >> All data members can be declared public, protected or private. +- +- Private data members can only be accessed in the class where +- they are defined. Protected data members can be accessed in +- the defining class and all derived classes. Public data members +- can be accessed like protected data members, but are also +- recognized as configuration options by the built-in "configure" +- and "cget" methods. +- +- +- >> In [incr Tk], options are now defined outside of the constructor, +- at the level of the class definition. +- +- +- >> In [incr Tk], configuration options belonging to components +- created in a base class can be added or removed in derived +- classes. +- +- The base classes "itk::Toplevel" and "itk::Widget" are now stripped +- down to the bare minimum options. For example, if you want to add +- "-width" and "-height" options for the hull component, do this using +- the "itk_option" command in the body of the constructor: +- +- class MyWidget { +- inherit itk::Widget +- +- constructor {args} { +- itk_option add hull.widget hull.height +- ... +- } +- } +- +- Options can be added and removed on-the-fly during normal operation, +- but this is not recommended, since it could lead to a confusing +- interface. +- +- +- >> In [incr Tk], components can now be added or removed on-the-fly. +- +- The "itk_component" method now supports "add" and "delete" +- operations that are used to add/delete components. +- +- +- >> All [incr Tk] widgets can be destroyed like normal Tk widgets. +- +- If you destroy a component widget, for example, it will automatically +- remove itself from its parent via "itk_component delete". Likewise, +- when a parent widget is destroyed, it will automatically destroy +- all component widgets. +- +- +- >> In [incr Tk], the "itk::Archetype::component" method now provides +- access to mega-widget components. +- +- In the previous [incr Tk] prototype, the "component" method had +- a different syntax and only supported query operations. You can +- now access an internal component via the "component" method using +- its symbolic name: +- +- .dialog component hull configure -width 450 -height 500 +- +- This example accesses the "hull" component of the ".dialog" +- mega-widget, and sets the width and height options. +- +-========================================================================== +- ---------------------- RELEASE 2.0beta - 9/6/95 ------------------------ +-========================================================================== +- +-9/8/95 (bug fix) +- Fixed menus to work properly within namespaces. Menu library code +- now recognizes the proper namespace context for all "-menu" options. +- +-9/8/95 (new feature) +- Added "winfo command name" option to report the scoped access command +- for a given window. +- +-9/8/95 (configuration changes) +- - fixed "sed" invocation in iwidgets Makefile +- - added configuration guesses for Tadpole Sparcbook +- - added George Howlett's test for "gcc", so that "-fwritable-strings" +- is added even if gcc is masquerading as "cc" +- - fixed tcl/tk configure scripts to have default prefix "/usr/local/itcl" +- or wherever itclsh/itkwish is installed +- - fixed makefiles to use $(MAKE) instead of "make" +- +-9/9/95 (bug fix) +- Protected references to obj->accessCmd to avoid seg faults when +- an object is being destroyed. +- +-9/9/95 (new features) +- Changed the syntax of the "namespace" command: +- +- namespace name ?-local? ?-hidden val? ?-enforced val? ?--? ?commands? +- +- Flags now follow the namespace name, and the "commands" body is +- optional. The "-hidden" option allows a namespace to be hidden +- during "info namespace all" queries. The "-enforced" option turns +- command/variable enforcement on or off. +- +- Update "info namespaces all" command to allow for display of hidden +- namespaces: info namespaces all ?-hidden? ?pattern? +- +-9/10/95 (bug fix) +- Fixed "auto_mkindex" to work properly for procs defined within +- namespaces. Added support for itcl::class, itcl::body and +- itcl::configbody as well. Added tests for tclIndex file generation. +- +-9/11/95 (configuration changes) +- Fixed makefiles to reference sources and libraries properly, so +- it should be possible to build different object trees for +- different platforms with "gmake". +- +-9/13/95 (configuration changes) +- Added "AC_C_CROSS" to configure files, so configuration should work +- properly on Solaris 2.4. +- +-9/13/95 (bug fix) +- Changed option configuration to work synchronously, and added +- "itk_initialize" command to initialize the configuration options +- for each mega-widget class. The original behavior of handling +- option changes via "do-when-idle" has been removed. +- +-9/13/95 (bug fix) +- Changed all structure members called "namespace" to "namesp". +- This allows the code to compile correctly under C++. +- +-9/13/95 (configuration changes) +- - added support for "i[34]86:BSD/OS" in "config/config.guess" +- - fixed "test" target for iwidgets +- +-9/13/95 (bug fix) +- Fixed "global" command and other places where namespace paths +- are parsed to allow for a single ":" in command/variable names. +- +-9/13/95 (bug fix) +- Fixed a problem which caused class-based options to be lost when +- a widget class was defined within a proc. +- +-9/14/95 (bug fix) +- Fixed class access command so that when it is deleted, it +- automatically destroys the class. This also fixed a seg fault +- that occurred when an object's access command stomped on the +- class access command. +- +-9/14/95 (enhancement) +- Fixed "scope" command and the @scope facility so that null strings +- can be passed around without all of the extra scoping info. +- +-========================================================================== +- ----------------------- RELEASE 2.0b2 - 9/14/95 ------------------------ +-========================================================================== +- +-9/15/95 (enhancement) +- Changed error messages reported when a class method/proc gets the +- wrong number of arguments to report the usage information, like: +- {wrong # args: should be "obj foo x y ?arg arg...?"} +- +-9/18/95 (bug fix) +- Fixed a seg fault that occurred when the "cget" method was called +- with no args. +- +-9/18/95 (bug fix) +- Fixed a bug that caused private variables in a base class to be +- uninitialized, even if an initial value was specified in the +- class definition. +- +-9/22/95 (configuration changes) +- Added the "SHELL=/bin/sh" statement to the main makefile. This +- fixes build problems on SGI machines. +- +-10/9/95 (paradigm shift) +- Removed the implicit scoping from any facility that takes a command +- or variable name. Implicit scoping made it difficult to pass a +- command string or variable name into a wrapper proc and yet preserve +- the scope that it came from. All scoping is now explicit. All +- commands and variables are interpreted in the global "::" scope +- unless they are wrapped in an "@scope" declaration. Commands can +- be wrapped up like this: +- +- button .b -text "Push Me" -command [code .b configure -bg red] +- +- Variable names can be wrapped up like this: +- +- radiobutton .rb1 -text "Choice #1" -variable [scope mode] -value 1 +- +- The "code" and "scope" commands wrap up strings with an "@scope" +- specification which preserves the namespace context. +- +-10/17/95 (paradigm shift) +- Changed the "%C" option of the "bind" command to return a scoped +- command of the form "@scope namespace widget" that can be used to +- access the widget. "%C" should be used instead of the usual "%W" +- window name when attempting to access the widget. Bindings should +- be written like this: +- +- bind Entry {%C configure -bg white} +- bind Entry {%C configure -bg gray} +- +- The command "%C" can be used to access the widget regardless which +- namespace it belongs to. +- +-10/31/95 (enhancement) +- Fixed "unknown" command to support a general facility for adding +- unknown command handlers. The "unknown_handler" proc is used to +- register new handlers. Each time an unknown command is encountered, +- each of the handlers is invoked to attempt to handle the command. +- If a handler returns "-code continue", control passes to the next +- handler on the list. Handlers are invoked in the order opposite to +- the way they were registered. Extensions can use this facility to +- add their own handlers into the "unknown" scheme. +- +-11/7/95 (enhancement) +- Added a "backward-compatibility" mode to [incr Tcl]. By default, +- widget names can now be used as access commands in any namespace, +- even if the widget access command exists in another namespace. +- This emulates the normal Tk behavior that widgets are global resources +- in the application that can be accessed anywhere. This behavior can +- be disabled by setting the global variable "itcl_purist" to "1". When +- this variable is set non-zero, care must be used to use "%C" or +- "[winfo command %W]" as an access command when the widget is used +- outside of the namespace that contains it. From the standpoint of +- the object-oriented paradigm, the "purist" mode is better since it +- supports encapsulation. The "backward-compatible" mode, however, +- allows [incr Tcl] to work better with existing Tk applications and +- extensions. +- +-11/22/95 (bug fix and enhancement) +- Fixed the built-in "info" command for classes to include the "info +- classes" and "info objects" queries. These were initially overlooked +- in a hard-wired list of "info" queries. +- +- Fixed the ensemble facility in general to support unknown options +- via an "@error" handler. Any option registered with the name "@error" +- is treated as an error handler for the ensemble. Arguments passed +- to the option include the ensemble name, the unknown option, and all +- remaining arguments. For the built-in "info" command, the "@error" +- handler passes any unknown options to the usual Tcl "info" command, +- so all of the standard options are automatically available. +- +-11/23/95 (bug fix) +- Fixed usual tkerror dialog to truncate error messages at 5 lines. +- The usage information returned by an ensemble or itcl object can +- be much longer, causing the "Stack Trace" button to get lost in +- many cases. +- +-11/27/95 (bug fix) +- Removed the constructor/destructor from the list of public methods +- returned as usage information when an unknown method is encountered +- on an object. +- +-12/2/95 (bug fix) +- Fixed error reporting for object construction. Used to say +- something like "object constructor x y z" which made it look +- like a method invocation. Now says "class object x y z" which +- looks more like the call that the user made to trigger the error. +- +-12/4/95 (bug fix) +- Fixed class creation and object creation to avoid clobbering +- existing commands with new class/object access commands. This +- prevents all hell from breaking loose when a command like +- "class set {...}" is invoked. +- +-12/6/95 (configuration changes) +- Fixed parsing of namespace paths to use local storage instead of +- assuming that strings are writable. This means that the +- "-fwritable-strings" option is no longer necessary for GCC and +- other compilers that store static strings in the program text +- segment. This option has been removed from all "configure.in" +- files. Linux users will no longer see core dumps on start-up. +- +-12/8/95 (bug fix) +- Fixed "upvar" so that class data members can be accessed from +- another calling procedure. This fixed a problem with using +- "parray" from within class methods. +- +-12/9/95 (bug fix) +- Fixed "@scope" variable references so that variables can be created +- using "@scope" in any context and referenced later. +- +-12/9/95 (feature change) +- Removed "-hidden" option from namespaces. It seemed to complicated +- and quirky to explain on the man page. Instead, all parser +- namespaces like "scope-parser" and "mkindex-parser" are grouped +- into a "::tcl" namespace. This keeps them somewhat hidden even +- without any special treatment. +- +-12/9/95 (minor enhancement) +- Added "array" command to class definition parser, so it can be +- used along with "set" to initialize common arrays. +- +-12/10/95 (paradigm shift) +- Removed the "%C" pattern from the expansions recognized by the +- "bind" command, in favor of the following scheme: +- %W ........ name of widget receiving event +- %M ........ name of mega-widget containing widget receiving event +- %q ........ fully-qualified command name of widget receiving event +- %Q ........ fully-qualified command name of mega-widget receiving event +- Fixed "winfo command" to return the fully-qualified command name of +- a widget (instead of a scoped access command) to be consistent with +- the "%q" bind pattern. +- +-12/10/95 (bug fix) +- Fixed Tk library code to use "%q" and "winfo command", so that the +- default widget behaviors will work even in "itcl_purist" mode. +- +-12/11/95 (minor enhancement) +- Added "winfo megawidget" query, which will return the name of the +- mega-widget containing a specified component widget. In order for +- this to work, a mega-widget package must use the procedure +- Itcl_SetMegaWidget() to register each component as it is added +- to a mega-widget. +- +-12/12/95 (bug fix) +- Fixed Archetype base class to keep all options sorted in alphabetical +- order. This way they can be reported back by the "configure" method +- in alphabetical order. Options are now initialized by "itk_initialize" +- in alphabetical order as well. +- +-12/12/95 (bug fix) +- Fixed the Archetype base class to register each component widget with +- Tk via Itk_SetMegaWidget(). This means that "winfo megawidget" and +- "%Q" can be used to reference the containing mega-widget for any component. +- +-12/12/95 (bug fix) +- Fixed the "configure" method in the Archetype base class so that when +- an error is encountered while setting a configuration option, the option +- is set back to its previous value. +- +-12/12/95 (bug fix) +- Fixed the "itk_component add" method to find access commands for +- components even if they are created in the global scope. Components +- that are meant to be shared can be created using "uplevel #0". The +- access command for this component will be installed in the global scope, +- and therefore available to all other namespaces. +- +- Syntactic sugar like a "-global" option would be nice, but references +- like $itk_component(...) must be substituted in the calling scope, and +- it is not possible to get these properly substituted and still maintain +- the boundaries around arguments. +- +-12/12/95 (bug fix) +- Fixed Archetype base class to handle public/protected/private components +- properly. The usual public/protected/private commands can be used in +- conjunction with "itk_component add" to set the protection level of a +- component. The protection level affects the action of the "component" +- method. Public components are reported in any namespace, and are +- accessible from any namespace. Protected components are accessible +- within a base class and derived classes. Private components are +- accessible only within the class where they are defined. This feature +- can be used to keep unimportant components (such as frames) off of the +- component list that a client would see. +- +-12/13/95 (enhancement) +- Added "usual" and "ignore" commands for processing component widget +- configuration options. The "usual" command finds the usual code fragment +- for the widget class of the component, and executes it. The command +- "itk::usual" can be used to register option code for new widget classes. +- +- The "ignore" command can be used to override previous "keep" and "rename" +- commands. This is useful for removing options that the "usual" code +- keeps or renames. +- +- Fixed the "itk_component add" command so that if the option handling code +- is not specified, the "usual" command is invoked automatically. +- +-12/13/95 (bug fix) +- Fixed the Archetype base class to handle the immutable Tk options +- properly. Options like -class, -colormap, -screen and -visual can only +- be set at creation time. The itk_option array is now properly +- initialized to report their creation value. +- +-12/14/95 (bug fix) +- Fixed "itk_option add" command to report errors properly for unknown +- options. +- +-12/14/95 (bug fix) +- Fixed "body" command to report errors properly for unknown functions. +- +-12/14/95 (bug fix) +- Fixed a bug in the handling of TCL_GLOBAL_ONLY flag when looking up +- class variables. Previously, this was ignored, so object-specific +- variables could be accessed in a "global" context by Tk widgets. +- This caused some strange behavior when object-specific variables +- were used in conjunction with widget options like "-textvariable". +- Tk widgets now properly interact with classes via global variables. +- +-12/14/95 (bug fix) +- Fixed "auto_mkindex" to recognize procs within class definitions and +- add them to the "tclIndex" file. +- +-12/15/95 (bug fix) +- Fixed "body" command to find functions only in the specified class. +- The bug caused a base class method to be redefined whenever a "body" +- command was issued for a derived class if the method was not declared +- in the derived class. Made a corresponding fix to the "configbody" +- command for public variables. +- +-12/15/95 (enhancement) +- Added the following commands to the class definition parser: bind, +- scope and code. This allows generic class bindings to be included +- in the body of a class definition. +- +-12/15/95 (enhancement) +- Added "-clientdata" option in itk::Archetype base class so that +- all widgets will have an extra field for client data. For application +- developers, this may come in handy. +- +-12/16/95 (bug fix) +- Fixed the itk::Archetype base class so that if "itk_option add" or +- "itk_option remove" is called for ordinary class-based options before +- "itk_initialize" (which normally integrates them in) it does not cause +- a problem. +- +-12/17/95 (bug fix) +- Fixed namespace resolution so that a command/variable with a +- specific path like "itk::body" will not be found in another +- imported namespace. For the import list to be followed, the +- command name must be generic like "body". +- +-12/19/95 (configuration changes) +- Changed from generic directories like "tcl" and "tk" to directory +- names with version numbers like "tcl7.4" and "tk4.0". +- +-12/19/95 (bug fix) +- Changed names like "itcl_library" and "itcl_purist" to "itcl::library" +- and "itcl::purist". This makes more sense in the documentation, since +- the underbar stuff is no longer needed with namespaces, and extension +- writers are discouraged from using it. +- +-12/21/95 (bug fix) +- Changed handling of argument lists for functions with Tcl or C +- implementations. All argument lists are now treated as Tcl +- argument specifications. For Tcl implementations, this determines +- what arguments are available in the body of the procedure; for C +- implementations, this merely gives the intended usage information +- for the function (the C implementation may choose to ignore this +- and do something else). This fix makes it easier to override +- C implementations with Tcl procedure bodies. +- +-12/25/95 (bug fix) +- Split the usual TCL_GLOBAL_ONLY flag into two meanings: TCL_GLOBAL_ONLY +- now means "a global variable in the global namespace", and ITCL_GLOBAL_VAR +- means "a global variable in the current namespace". This enhancement +- fixes Tk (and many other extensions) which request global variables. +- A plain variable name together with TCL_GLOBAL_ONLY is now interpreted +- as an ordinary Tcl global variable, so the behavior is backward-compatible. +- A scoped variable reference will work properly with namespaces. If +- extension writers get more ambitious, they can start using the +- ITCL_GLOBAL_VAR flag, which will make their extensions namespace-friendly. +- +-12/26/95 (bug fix) +- Fixed "@scope" command so that extra arguments added at the end are +- kept as proper list elements when added to the command string. This +- makes sure that boundaries around Tcl words are not lost when the +- scoped command is interpreted. +- +-12/28/95 (minor enhancement) +- Added "config" method to the Archetype base class as an alias for +- the usual "configure" method. Many Tk applications use "config" +- as an abbreviation for "configure", so this fix improves compatibility +- with other packages. +- +-12/28/95 (bug fix) +- Fixed Itcl_SaveInterpState() and Itcl_RestoreInterpState() to +- properly save/restore the interp state even for commands like +- Tcl_SetCmd(), which are sloppy about setting the interpreter +- result. This fixed bad memory references that were encountered +- in enforced namespaces. +- +-12/28/95 (bug fix) +- Fixed Itcl_DeleteNamesp() to allow variable traces to be fired +- off properly when a namespace is destroyed. +- +-12/30/95 (bug fix) +- Fixed the Archetype base class to do the "ignore" operation +- properly for mega-widget options. A bug was causing a single +- "ignore" request not only to eliminate the desired option, but +- to eliminate options that were renamed to the "ignore" name +- as well. +- +-========================================================================== +- ------------------------ RELEASE 2.0 - 12/31/95 ------------------------ +-========================================================================== +- +-1/2/96 (cleanup) +- Fixed some compiler warnings reported by Christopher Hylands +- (cxh@EECS.Berkeley.EDU) +- +-1/4/96 (cleanup) +- Fixed the description of the last test in itk/tests/option.test. +- +-1/4/96 (cleanup) +- Fixed code examples in man pages. Lines starting with "." now +- start with the null character "\&", to avoid errors with troff. +- +-1/5/96 (bug fix) +- Fixed a bug in tkMenuUnpost. Popup menus associated with something +- other than a menubutton can now be unposted properly. +- +-1/10/96 (bug fix) +- If an error occurs during construction, all destructors are now +- invoked--even if an error is encountered. All destructor errors +- are completely ignored. This fixed a core dump reported by +- Christopher Hylands (cxh@EECS.Berkeley.EDU). +- +-2/5/96 (cleanup) +- Fixed memory leaks reported by Forest Rouse (rouse@flash.icemcfd.com). +- Also fixed a problem in Itcl_DeleteNamesp() with the way that +- the variable cache was destroyed. This caused a core dump on Solaris +- systems when a namespace was deleted. +- +-2/8/96 (cleanup) +- Fixed itk tests to ignore any resources that the user might have +- on the desktop (e.g., *background: red) +- +-2/11/96 (bug fix) +- Fixed auto_mkindex so that the "proc" command accepts arglist and +- body as optional arguments. Within class definitions, these +- parameters may not be specified. Also, fixed the "source" command +- so that it is ignored within the file being indexed. Otherwise, +- it brought in program elements that confused the index. +- +-2/15/96 (bug fix) +- Fixed the unknown command to save errorInfo and restore it before +- invoking each handler. This fixed an irritating bug that caused +- the first error message to be lost as "tkerror" was autoloaded. +- +-2/20/96 (bug fix) +- Fixed a bug in variable lookup that allowed private/protected +- variables to be set from outside the normal context. On initial +- lookup variables were being passed over, but since they did not +- appear to exist, they were being created. Variables are now +- protected from being set or redeclared from an improper context. +- +-3/1/96 (enhancement) +- Changed namespaces to import from their parent in "protected" +- mode instead of "public" mode. This is a better default, since +- it emphasizes the strong relationship between a parent and a +- child. They can share variables that are hidden from anyone else. +- +-3/5/96 (bug fix) +- Fixed the "info objects" to autoload any classes referenced by +- "-isa" or "-class" that are not yet defined. +- +-3/12/96 (enhancement) +- Fixed class parser to recognize commands at the global scope. +- This makes it possible to embed normal Tcl commands like an +- "if" statement within a class definition. It also makes it +- easy to extend the class parser by defining procs in the +- ::itcl::parser namespace. +- +-3/17/96 (enhancement) +- Fixed "usual" command so that with no arguments, it returns a +- list of all known tags. Each tag name can be used to query its +- associated code. +- +-3/19/96 (enhancement) +- Fixed the "configure" method for mega-widgets to include public +- variables as configuration options. Normally, mega-widget +- classes use "itk_option define" to define configuration options. +- However, if a mega-widget includes an ordinary itcl class as +- a base class, it should provide access to the base class options. +- Public variables are now integrated into the composite option +- list by "itk_initialize". +- +-4/2/96 (enhancement) +- Added a "chain" command to the built-ins available in each class. +- A command like "chain 1 2 3" invokes the next implementation of +- the current method/proc found looking up the inheritance hierarchy +- toward base classes. This can be used to invoke a base class method +- in a generic way, without hard-coding the base class name. +- +-4/10/96 (bug fix) +- Fixed "configure" operation for mega-widgets. Previously, if an +- error was encountered during configuration, the value in itk_option +- was set back to the previous value, but some parts of the mega-widget +- might be left in a partially configured state. Now, if an error is +- encountered and the option is set back to its previous value, the +- change is propagated down to all parts, so the widget remains in a +- consistent state. +- +-4/15/96 (bug fix) +- Fixed a bug reported by Karel Zuiderveld (karel.zuiderveld@cv.ruu.nl) +- related to virtual method selection in "itcl_methods.c". If for some +- reason a method name was not found in the virtual table, the table +- access caused a core dump. This is now fixed. +- +-5/13/96 (bug fix) +- Fixed "itk_initialize" to recognize errors when executing the "config" +- code associated with configuration options. Any error immediately +- causes itk_initialize to abort, which usually aborts construction. +- +-5/13/96 (bug fix) +- Fixed a bug in Itcl_SaveInterpState() and Itcl_RestoreInterpState() +- which caused error information to get lost during object construction +- when errors were encountered. The new iPtr->appendResult buffer was +- being ignored, and results in this buffer were getting lost. +- +-6/1/96 (bug fix) +- Changed the internal Interp and TkWindow data structures so that all +- of the extra [incr Tcl] data members are at the bottom of the structure. +- This should prevent errors when modules that have been compiled against +- vanilla Tcl/Tk are dynamically loaded into [incr Tcl]. +- +-6/12/96 (enhancement) +- Integrated changes for "itcl2.0+3" release by Karel Zuiderveld, +- Jan Nijtmans and Vince Darley. This added support for tcl7.5/tk4.1, +- dynamic loading, canvas improvements, and support for Macintosh +- environments. Many thanks to these guys for all of their hard +- work! +- +-6/22/96 (installation) +- Changed the way things are installed: +- - the startup file "init.itcl" is now called "itcl.tcl" +- - the startup file "init.itk" is now called "itk.tcl" +- - libraries, include files and man pages are now installed under +- a special "itcl" directory to avoid conflicts with a vanilla +- Tcl/Tk installation. For example, if your --prefix is set +- to /usr/local, things would be installed as follows: +- +- /usr/local/bin ............ executables: +- ish = tclsh with namespaces +- iwish = wish with namespaces +- itclwish = tclsh with namespaces and classes +- itkwish = wish with namespaces and classes +- +- /usr/local/include/itcl ... include files +- /usr/local/lib/itcl ....... libraries +- /usr/local/man/itcl ....... manual pages +- +-6/24/96 (bug fix) +- Fixed "itkwish" so that it requires the Iwidgets package automatically +- during initialization. For all other shells, you must specifically +- request Iwidgets with a statement like "package require Iwidgets" +- +-6/26/96 (bug fix) +- Fixed Tk_CanvasTagsParseProc to avoid dumping core when an item +- is configured with a null tag string. +- +-6/26/96 (bug fix) +- Fixed PolygonToPoint() in tkCanvPoly.c so that invisible polygons +- (with no outline and no fill) are still considered when picking +- the closest item. Without this fix, programs like the "floor plan" +- in the Tk widget demo will not work. +- +-6/26/96 (bug fix) +- Fixed the [incr Widgets] "feedback" widget to do a full update on +- each step. Without this, changes appear from time to time, but +- the bar does not grow smoothly. +- +-6/26/96 (bug fix) +- Fixed fileselectiondialog and fileselectionbox to update directory +- list properly when "-directory" option is configured. +- +-6/28/96 (bug fix) +- Fixed "itk_option define" to properly preserve a "config" code +- body so that it can be released if it is redefined later. +- +-========================================================================== +- ------------------------ RELEASE 2.1 - 6/28/96 ------------------------- +-========================================================================== +- +-7/22/96 (bug fix) +- Fixed C-level variable access so flags like ITCL_FIND_LOCAL_ONLY +- can be passed into Tcl_GetVar() and Tcl_SetVar(). +- +-7/25/96 (bug fix) +- Fixed the "notebook" widget in the [incr Widgets] set. The "index" +- method now supports pattern matching and index names with spaces in +- them. +- +-8/1/96 (bug fix) +- Fixed destructor invocation so that if an object is being +- destructed and you try to delete it again, it will report an +- error. +- +-8/7/96 (bug fix) +- Fixed the "inherit" command to make sure all names are really +- valid classes. Previously, trying to inherit from a proc would +- dump core. +- +-8/29/96 (enhancement) +- Integrated with itcl2.1+2 (tcl7.5p1/tk4.1p1). +- +-9/1/96 (bug fix) +- Fixed the Itcl_RegisterC() procedure so that the same name can be +- registered more than once, as long as it has the same function +- pointer. +- +-9/7/96 (bug fix) +- Fixed a bug in method access for protected methods. There was a +- problem when a base class defined a method, and a derived class +- overloaded the method, and the method was accessed from the base +- class namespace. Added function Itcl_CanAccessMethod() to check +- for overloaded methods and allow access accordingly. +- +-9/13/96 (bug fix) +- Fixed the Itcl_RestoreInterpState() procedure so that the "errorCode" +- variable is restored properly. There was a problem when the +- error code contained a list of elements. +- +-9/20/96 (bug fix) +- Fixed a bug in the way namespaces were deleted. The hash table of +- child namespaces was being traversed while elements within it were +- being deleted. This caused a core dump when you tried to exit +- the application with a command like "destroy .". +- +-9/28/96 (bug fix) +- Fixed the way that errors are reported when a base class is constructed +- with the wrong arguments. Previously, the error message showed the +- object creation command like "wrong # args: should be Foo name val1 val2". +- Now, it shows the base class constructor name, so it is more obvious +- where the error is coming from. +- +-10/5/96 (bug fix) +- Fixed a bug in constructor invocations. All base class constructors +- are now invoked properly, even if a derived class does not have a +- constructor. +- +-10/9/96 (enhancement) +- Added proper support for safe interpreters. You can now use namespace +- commands in a safe interpreter, and you can load Itcl as a safe package. +- +-10/11/96 (bug fix) +- Fixed a core dump with "namespace foo {info locals}". The namespace +- call frame was not being set up properly, so the local variable table +- was garbage. Normally, you don't access local variables at the +- namespace level. But now it is fixed. +- +-10/14/96 (bug fix) +- Fixed the Itcl_RegisterC() procedure so that each interpreter has +- its own list of symbolic function names. This avoids global data +- and makes more sense for people using multiple interpreters. +- +-10/20/96 (bug fix) +- Fixed variable lookup so that when you try to access a variable +- like "::foo::x" inside of a procedure, you get an error instead +- of a local variable named "::foo::x". Variables like this need +- to be declared global. +- +-10/22/96 (enhancement) +- Fixed the built-in "isa" method to autoload class definitions as +- needed for each "isa" test. If a class is not defined and cannot +- be autoloaded, it is an error. +- +-10/26/96 (enhancement) +- Fixed "delete object" command so that objects can be deleted +- using scoped values for the object name. +- +-10/29/96 (enhancement) +- Integrated with itcl2.1+5 (tcl7.6/tk4.2). +- +-11/1/96 (porting) +- Removed "plus" and "dash" patches to allow for porting to Windows95 +- and Macintosh platforms. Simplified configuration and makefiles +- for Unix platforms. +- +-11/4/96 (installation) +- Fixed configuration and makefiles to support building in a +- separate directory. There is a bug in "autoconf" which prevents +- this from going smoothly. You have to copy all of the configure +- scripts to a separate tree (e.g., using a tar file), and then build. +- +-11/5/96 (bug fix) +- Fixed a bug in the way variables were reported by the built-in +- "info" command for classes and objects. Private variables in +- a base class were incorrectly reported as "". They +- are now reported properly. +- +-11/10/96 (bug fix) +- Fixed the "this" variable so that if an object is deleted while it +- is still in use, its name is properly reported as the null string. +- +-11/10/96 (bug fix) +- Fixed the way namespaces are deleted so that the "::errorInfo" and +- "::errorCode" variables remain intact until everything else has been +- destroyed. These variables are needed if any errors are encountered +- as an interpreter is being destroyed. +- +-11/11/96 (installation) +- Split the "itclConfig.sh" file into separate "itclConfig.sh" and +- "itkConfig.sh" files. +- +-11/11/96 (installation) +- Fixed the package installation to conform to tcl7.6/tk4.2. The +- pkgIndex.tcl files are now stored in the library directory for +- each package. +- +-11/13/96 (enhancement) +- Overhauled the scrolledcanvas widget. It is now about an order of +- magnitude faster. +- +-11/14/96 (enhancement) +- Overhauled the [incr Widgets] "catalog" demo. When you pick any +- mega-widget class, the demo displays an example widget, the code +- used to build it, the class hierarchy, and the man page. +- +-11/23/96 (bug fix) +- Fixed the way the "inherit" command autoloads class definitions. +- Previously, it invoked the class name as a command. Now, it uses +- the "auto_load" command. +- +-11/23/96 (installation) +- Fixed the "configure" files to use "mkinstalldirs" instead of "mkdir" +- so that the entire distribution can be built in a separate directory +- starting with a single "configure" file. Fixed the way the distribution +- is created to make this patch for each new distribution. +- +-11/23/96 (installation) +- Fixed the iwidgets installation so that the installed files (instead +- of the source files) are chmod'd to have the proper permissions. +- +-11/29/96 (installation) +- Fixed iwidgets (combobox, optionmenu, shell) so that they don't rely +- on "tkwait visibility" before doing a grab. On the Macintosh, this +- only works the first time a window is mapped. After that, this +- command does not return control, even when a window is remapped. +- +-11/30/96 (bug fix) +- Fixed "tk4.2/library/menu.tcl", moving a comment in a switch statement +- above the default case into the default case. When the comment is +- above the case, it is treated as a list element and a parsing error +- occurs. You can trigger the error with a command like "tkMenuFind . x". +- When the comment is inside the case, everything works fine. +- +-11/30/96 (bug fix) +- Fixed a memory error that occured when an interpreter was destroyed. +- One namespace (e.g., base class) caused another (e.g., derived class) +- to be destroyed. Then the namespace was destroyed again later on. +- Now, as we iteration through the safeCopy list, we check to make +- sure the namespace still exists. +- +-11/30/96 (bug fix) +- Fixed entryfield mega-widget to avoid using the "%s" state field +- for key presses. It was using it to find out whether or not Control, +- Shift, or Alt keys were being held down during a key press. But this +- field confuses Alt with NumLock when you go between Unix and Windows +- platforms. The entryfield appeared to be broken when NumLock was +- turned on. Nothing is lost if we simply ignore it and let all +- keypresses through. +- +-12/1/96 (installation) +- Fixed the way that "pkgIndex.tcl" files are built for Itcl/Itk. +- When you build with "--enable-shared", the package files load the +- shared library, but when you build without, the package files +- use {load "" Itcl} to get the static package. This lets you +- do "package require" commands in slave interpreters, even if +- things were built with static packages. +- +-12/1/96 (bug fix) +- Fixed how namespaces are deleted when an interpreter is deleted. +- Previously, namespaces were deleted after the assocData for the +- interp. If any background errors occurred while the namespace +- was being deleted, they caused seg faults later on. Now, the +- global namespace is cleared (but not deleted) *before* deleting +- the assocData. Any background errors are deleted, and the global +- namespace is finally deleted at that point. +- +-12/2/96 (enhancement) JCI +- Defined "tkOpenDocument" in tk.tcl so that Macintosh users can +- double-click on an [incr Tcl] source file, and itkwish will be +- invoked to execute it. +- +-12/2/96 (bug fix) +- Fixed the entryfield widget so that characters like: " [ ] { } \ & +- are substituted properly into the "%c" field when doing character +- validation. +- +-12/2/96 (enhancement) **POTENTIAL INCOMPATIBILITY** +- Changed the HTML parsing in the scrolledhtml widget to speed it up. +- Also, changed the "-feedback" option so that it appends two numbers +- on the end of the feedback command: the current position and the +- maximum position. This frees the caller from having to figure out +- the maximum position. +- +-12/2/96 (enhancement) +- Added "-borderwidth", "-relief" and "-elementborderwidth" options +- to the feedback widget, so you can control its appearance a little +- better. +- +-========================================================================== +- ------------------------ RELEASE 2.2 - 12/3/96 ------------------------- +-========================================================================== +- +-12/12/96 (installation) +- Fixed "iwidgets.tcl" initialization file to rely on the environment +- variable IWIDGETS_LIBRARY (if it exists), and use the compiled-in +- path as a last resort. That way, the user can override the iwidgets +- library with an environment variable setting. +- +-12/12/96 (installation) +- Fixed the "catalog" demo for [incr Widgets] to help support Windows3.1. +- The code is now arranged to make it easy to translate between the +- real demo names and DOS 8.3 file names. +- +-12/13/96 (bug fix) +- Added a "usual" test for all of the [incr Widgets]. This checks to +- make sure that there is a bit of "usual" code for each widget, that +- the options in the "usual" code are valid, and that all of the +- widgets mix together without errors. +- +-4/11/97 (enhancement) +- Merged in patches for tcl7.6p2/tk4.2p2 (jingham) +- +-5/17/97 (bug fix) +- Fixed itk::Toplevel to have the hull keep the -takefocus option. +- This fixed a problem with the tab ring in iwidget dialogs. +- +-6/1/98 (complete rewrite) +- Rewrote the entire package to work with Tcl8.0 namespaces and the +- new byte code compiler. +- +-========================================================================== +- ----------------------- RELEASE 3.0a1 - 6/16/98 ------------------------ +-========================================================================== +- +-7/23/98 (bug fix) +- Removed references to Tcl internal macros such as TclDecrRefCount. +- This was causing problems under Windows, since those macros use +- global variables that are not available outside of tcl80.dll. +- +-7/23/98 (bug fix) +- Added my own definition of the assert macro. Since Tcl/Tk doesn't +- use assert, the default version was causing build problems with +- gcc. +- +-7/27/98 (configuration change) +- Changed all "configure" scripts to rely on tclConfig.sh and tkConfig.sh +- for compile options. +- +-7/27/98 (configuration change) +- Changed the initialization process for Itcl/Itk. Both packages now +- key off of tcl_library to find their initialization scripts. +- +-7/27/98 (configuration change) +- Removed IWIDGETS_LIBRARY environment variable from the Iwidgets +- package. If Iwidgets is installed properly, this variable is not +- needed. +- +-7/29/98 (configuration change) +- Added Scott Stanton's patch to the initialization process. The +- last-ditch installation directory is no longer compiled into the +- itcl sources. Instead, itcl searches for the installation directory +- starting from $tcl_library. Also, if the variable itcl::library is +- set before loading itcl, then itcl aborts the search and uses that +- as its library directory. +- +-7/30/98 (Macintosh) +- Added Jim Ingham's patches for the Mac. +- +-7/30/98 (configuration) +- Fixed Makefiles for Iwidgets 2.2/3.0 to avoid a problem while +- installing the demo images/html. The INSTALL_DATA program may +- have a relative name (../../config/install-sh) so we must be +- careful to "cd" into library, demos, etc., but not into other +- directories below them. +- +-8/8/98 (bug fix) +- Fixed "namespace import" to work with autoloading. If you +- execute "namespace import iwidgets::*", the auto_import proc +- will create stubs for all of the iwidgets commands. Executing +- one of the stubs triggers autoloading for the appropriate command. +- +-8/10/98 (bug fix) +- Integrated changes from Scriptics team to work seamlessly with +- Tcl 8.0.3. +- +-8/10/98 (bug fix) +- Fixed the iwidgets::optionmenu to work properly under Windows 95/NT. +- Extended the "get" method in iwidgets3.0 so that you can query +- existing elements from an optionmenu. +- +-========================================================================== +- ------------------------ RELEASE 3.0 - 8/11/98 ------------------------- +-========================================================================== +- +-8/16/98 (bug fix) +- Fixed the windows pkgIndex.tcl files for Itcl and Itk to properly +- load their .dll. Also fixed iwidgets/catalog to package require +- Itcl, Itk, and to import ::itcl::* to get "class" defined. (BW) +- +-12/21/99 (bug fix) +- Fixed tests for auto_mkindex to work properly outside of itkwish. +- Tests now include "namespace import itcl::*" instead of assuming that +- this behavior is built into the wish. +- +-4/18/00 (feature enhancement) +- Fixed itcl::find to find classes and objects in *all* namespaces +- in the interpreter. Until this fix, the itcl::find command would +- report only the objects in the active namespace or the global +- namespace. Being able to find classes/objects in all namespaces +- makes debugging easier. Thanks to Chad Smith for pushing to make +- this change happen. +- +-6/26/00 (bug fix) +- Fixed Itcl_ClassVarResolver so that the formal parameters in a +- method/proc take precedence over class data members. +- +-6/30/00 (bug fix) +- Fixed all itcl/itk/iwidgets3.0.0 tests to run cleanly with the new +- tcltest package. +- +-7/1/00 (bug fix) +- Fixed "itk_component delete" so that the composite option list is +- cleaned up whenever a component is deleted. For example, suppose +- a component is the sole contributor of -font. When that component +- is removed via "itk_component delete", the -font option goes away +- as well. Also fixed the handling of the itk-delete-* binding for +- the component. When the component is removed, the binding tag +- is also removed by itk::remove_destroy_hook. +- +-7/5/00 (bug fix) +- Fixed the check done during object creation to avoid clobbering +- existing commands. Previously, itcl would look for any command-- +- in the local *and* global namespace--that might be clobbered. +- Now, it looks for commands only in the local namespace, since +- those are the only ones that could truly be clobbered. +- +-7/5/00 (cleanup) +- Removed obsolete Makefile/configure files in the various "unix" +- directories. Makefiles and configure files now reside one level +- above, in the standard TEA place. +- +-7/11/00 (stubs cleanup) +- Fix the build so static links do not use the stubs library. +- +-8/1/00 (stubs cleanup) +- Added missing declarations for Itcl_InitStubs and Itk_InitStubs +- and simplified how Itcl Stubs are set in Initialize() of itk_cmds.c +- +-8/1/00 (Makefile) +- Added config/installFiles.tcl and changed the various Makefile.in +- files to use this instead of install-sh. installFiles.tcl can +- optimize out a copy if the target file is already up-to-date. +- This eliminates conflicts from parallel builds on different platforms +- where one build is zipping up the installed files while another platform +- is copying platform-independent files (i.e., the iwidgets demos). +- +-8/4/00 (stubs cleanup) +- Fixed dll linkage problem with the prototypes of the 2 XX_InitStubs +- functions use. I copied the core too literally. Stubs libraries are +- always static, so there's no need to play games with __declspec on +- windows. +- +-8/7/00 (stubs cleanup) +- Cleaned up use of Itcl_InitStubs by Itk. Finally got it right after +- much flailing about. itcl.h has the correct definitions, and +- itclStubLib.c has the correct #ifdefs. +- Also nuked extra definitions of itclStubsPtr from the itk_cmds.c file. +- +-8/17/00 (more stubs cleanup) +- Tcl_InitStubs in itcl/generic/itcl_cmds.c was using the TCL_VERSION macro +- set by the tcl.h header. Changed it to be "8.1" instead as it doesn't +- matter unless Itcl needs special/new features of the core it's header is +- from. But it doesn't.. so hard code it for an 8.1 minimum to make the +- Itcl library have a better version range with the core as specific +- version tracking with the core isn't needed (at this time). +- +-========================================================================== +- ------------------------ RELEASE 3.2 - 08/18/00 ------------------------ +-========================================================================== +- +-9/22/00 (stubs cleanup) +- Itcl_InitStub prototype in itcl/generic/itcl.h was getting name mangled +- by c++ compilers. Fixed with an 'extern "C"' appropriately applied. +- +-4/07/01 (bug fix) +- Tcl's internal header, tclInt.h, in 8.4a2 got a small change in the Command +- structure that needed 2 changes in Itcl to resolve. 1) #if/#else/#endif blocks +- added in itcl_class.c and itc_ensemble.c allowing Itcl to compile. 2) added +- a global variable called itclCompatFlags that's sets a flag in Itcl_Init() +- that will modify the logic around access to cmdPtr->flags/deleted. This +- way, any core compile will yield a fully forward/backward compatible +- binary (correct logic set at runtime). +- +-5/22/01 (bug fixes) +- makefile.vc lives again! Brought back from it's death to conquere windows +- once again for users who prefer to avoid (or can't understand or get the tools +- installed for) the TEA build system. +- +- Also, numerous fixes relating to Kevin Kenny's Tcl API mods for better CONST +- support. The latest headers for Tcl where throwing warnings all over the place +- about type errors. I fixed the sources, but haven't checked against older +- headers yet. +\ No newline at end of file +diff -Naur insight-6.8.orig/itcl/config/config.guess insight-6.8.new/itcl/config/config.guess +--- insight-6.8.orig/itcl/config/config.guess 2003-01-21 21:40:25.000000000 +0100 ++++ insight-6.8.new/itcl/config/config.guess 1970-01-01 01:00:00.000000000 +0100 +@@ -1,483 +0,0 @@ +-#!/bin/sh +-# Attempt to guess a canonical system name. +-# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc. +-# +-# This file is free software; you can redistribute it and/or modify it +-# under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2 of the License, or +-# (at your option) any later version. +-# +-# This program is distributed in the hope that it will be useful, but +-# WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +-# General Public License for more details. +-# +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +-# +-# As a special exception to the GNU General Public License, if you +-# distribute this file as part of a program that contains a +-# configuration script generated by Autoconf, you may include it under +-# the same distribution terms that you use for the rest of that program. +- +-# Written by Per Bothner . +-# The master version of this file is at the FSF in /home/gd/gnu/lib. +-# +-# This script attempts to guess a canonical system name similar to +-# config.sub. If it succeeds, it prints the system name on stdout, and +-# exits with 0. Otherwise, it exits with 1. +-# +-# The plan is that this can be called by configure scripts if you +-# don't specify an explicit system type (host/target name). +-# +-# Only a few systems have been added to this list; please add others +-# (but try to keep the structure clean). +-# +- +-# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +-# (ghazi@noc.rutgers.edu 8/24/94.) +-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then +- PATH=$PATH:/.attbin ; export PATH +-fi +- +-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown +- +-trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15 +- +-# Note: order is significant - the case branches are not exclusive. +- +-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in +- alpha:OSF1:V*:*) +- # After 1.2, OSF1 uses "V1.3" for uname -r. +- echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^V//'` +- exit 0 ;; +- alpha:OSF1:*:*) +- # 1.2 uses "1.2" for uname -r. +- echo alpha-dec-osf${UNAME_RELEASE} +- exit 0 ;; +- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) +- echo arm-acorn-riscix${UNAME_RELEASE} +- exit 0;; +- Pyramid*:OSx*:*:*) +- if test "`(/bin/universe) 2>/dev/null`" = att ; then +- echo pyramid-pyramid-sysv3 +- else +- echo pyramid-pyramid-bsd +- fi +- exit 0 ;; +- i86pc:SunOS:5.*:*) +- echo i486-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +- exit 0 ;; +- sun4*:SunOS:5.*:*) +- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +- exit 0 ;; +- sun4*:SunOS:6*:*) +- # According to config.sub, this is the proper way to canonicalize +- # SunOS6. Hard to guess exactly what SunOS6 will be like, but +- # it's likely to be more like Solaris than SunOS4. +- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +- exit 0 ;; +- sun4*:SunOS:*:*) +- # Japanese Language versions have a version number like `4.1.3-JL'. +- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` +- exit 0 ;; +- sun3*:SunOS:*:*) +- echo m68k-sun-sunos${UNAME_RELEASE} +- exit 0 ;; +- tp_s2*:SunOS:*:*) +- # Tadpole Sparcbook 2 running a modified 4.1.3 +- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` +- exit 0 ;; +- RISC*:ULTRIX:*:*) +- echo mips-dec-ultrix${UNAME_RELEASE} +- exit 0 ;; +- VAX*:ULTRIX*:*:*) +- echo vax-dec-ultrix${UNAME_RELEASE} +- exit 0 ;; +- mips:*:5*:RISCos) +- echo mips-mips-riscos${UNAME_RELEASE} +- exit 0 ;; +- m88k:CX/UX:7*:*) +- echo m88k-harris-cxux7 +- exit 0 ;; +- m88k:*:4*:R4*) +- echo m88k-motorola-sysv4 +- exit 0 ;; +- m88k:*:3*:R3*) +- echo m88k-motorola-sysv3 +- exit 0 ;; +- AViiON:dgux:*:*) +- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \ +- -o ${TARGET_BINARY_INTERFACE}x = x ] ; then +- echo m88k-dg-dgux${UNAME_RELEASE} +- else +- echo m88k-dg-dguxbcs${UNAME_RELEASE} +- fi +- exit 0 ;; +- M88*:DolphinOS:*:*) # DolphinOS (SVR3) +- echo m88k-dolphin-sysv3 +- exit 0 ;; +- M88*:*:R3*:*) +- # Delta 88k system running SVR3 +- echo m88k-motorola-sysv3 +- exit 0 ;; +- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) +- echo m88k-tektronix-sysv3 +- exit 0 ;; +- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) +- echo m68k-tektronix-bsd +- exit 0 ;; +- *:IRIX:*:*) +- echo mips-sgi-irix${UNAME_RELEASE} +- exit 0 ;; +- i[34]86:AIX:*:*) +- echo i386-ibm-aix +- exit 0 ;; +- *:AIX:2:3) +- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then +- sed 's/^ //' << EOF >dummy.c +- #include +- +- main() +- { +- if (!__power_pc()) +- exit(1); +- puts("powerpc-ibm-aix3.2.5"); +- exit(0); +- } +-EOF +- ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0 +- rm -f dummy.c dummy +- echo rs6000-ibm-aix3.2.5 +- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then +- echo rs6000-ibm-aix3.2.4 +- else +- echo rs6000-ibm-aix3.2 +- fi +- exit 0 ;; +- *:AIX:*:4) +- if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then +- IBM_ARCH=rs6000 +- else +- IBM_ARCH=powerpc +- fi +- if grep bos410 /usr/include/stdio.h >/dev/null 2>&1; then +- IBM_REV=4.1 +- elif grep bos411 /usr/include/stdio.h >/dev/null 2>&1; then +- IBM_REV=4.1.1 +- else +- IBM_REV=4.${UNAME_RELEASE} +- fi +- echo ${IBM_ARCH}-ibm-aix${IBM_REV} +- exit 0 ;; +- *:AIX:*:*) +- echo rs6000-ibm-aix +- exit 0 ;; +- *:BOSX:*:*) +- echo rs6000-bull-bosx +- exit 0 ;; +- DPX/2?00:B.O.S.:*:*) +- echo m68k-bull-sysv3 +- exit 0 ;; +- 9000/[34]??:4.3bsd:1.*:*) +- echo m68k-hp-bsd +- exit 0 ;; +- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) +- echo m68k-hp-bsd4.4 +- exit 0 ;; +- 9000/[3478]??:HP-UX:*:*) +- case "${UNAME_MACHINE}" in +- 9000/31? ) HP_ARCH=m68000 ;; +- 9000/[34]?? ) HP_ARCH=m68k ;; +- 9000/7?? | 9000/8?7 ) HP_ARCH=hppa1.1 ;; +- 9000/8?? ) HP_ARCH=hppa1.0 ;; +- esac +- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` +- echo ${HP_ARCH}-hp-hpux${HPUX_REV} +- exit 0 ;; +- 3050*:HI-UX:*:*) +- sed 's/^ //' << EOF >dummy.c +- #include +- int +- main () +- { +- long cpu = sysconf (_SC_CPU_VERSION); +- /* The order matters, because CPU_IS_HP_MC68K erroneously returns +- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct +- results, however. */ +- if (CPU_IS_PA_RISC (cpu)) +- { +- switch (cpu) +- { +- case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; +- case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; +- case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; +- default: puts ("hppa-hitachi-hiuxwe2"); break; +- } +- } +- else if (CPU_IS_HP_MC68K (cpu)) +- puts ("m68k-hitachi-hiuxwe2"); +- else puts ("unknown-hitachi-hiuxwe2"); +- exit (0); +- } +-EOF +- ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0 +- rm -f dummy.c dummy +- echo unknown-hitachi-hiuxwe2 +- exit 0 ;; +- 9000/7??:4.3bsd:*:* | 9000/8?7:4.3bsd:*:* ) +- echo hppa1.1-hp-bsd +- exit 0 ;; +- 9000/8??:4.3bsd:*:*) +- echo hppa1.0-hp-bsd +- exit 0 ;; +- hp7??:OSF1:*:* | hp8?7:OSF1:*:* ) +- echo hppa1.1-hp-osf +- exit 0 ;; +- hp8??:OSF1:*:*) +- echo hppa1.0-hp-osf +- exit 0 ;; +- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) +- echo c1-convex-bsd +- exit 0 ;; +- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) +- if getsysinfo -f scalar_acc +- then echo c32-convex-bsd +- else echo c2-convex-bsd +- fi +- exit 0 ;; +- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) +- echo c34-convex-bsd +- exit 0 ;; +- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) +- echo c38-convex-bsd +- exit 0 ;; +- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) +- echo c4-convex-bsd +- exit 0 ;; +- CRAY*X-MP:UNICOS:*:*) +- echo xmp-cray-unicos +- exit 0 ;; +- CRAY*Y-MP:UNICOS:*:*) +- echo ymp-cray-unicos +- exit 0 ;; +- CRAY-2:UNICOS:*:*) +- echo cray2-cray-unicos +- exit 0 ;; +- hp3[0-9][05]:NetBSD:*:*) +- echo m68k-hp-netbsd${UNAME_RELEASE} +- exit 0 ;; +- i[34]86:BSD/386:*:*) +- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} +- exit 0 ;; +- i[34]86:BSD/OS:*:*) +- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} +- exit 0 ;; +- *:FreeBSD:*:*) +- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` +- exit 0 ;; +- *:NetBSD:*:*) +- echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` +- exit 0 ;; +- *:GNU:*:*) +- echo `echo ${UNAME_MACHINE}|sed -e 's,/.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` +- exit 0 ;; +- *:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux +- exit 0 ;; +-# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions +-# are messed up and put the nodename in both sysname and nodename. +- i[34]86:DYNIX/ptx:4*:*) +- echo i386-sequent-sysv4 +- exit 0 ;; +- i[34]86:*:4.*:* | i[34]86:SYSTEM_V:4.*:*) +- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then +- echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE} +- else +- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE} +- fi +- exit 0 ;; +- i[34]86:*:3.2:*) +- if /bin/uname -X 2>/dev/null >/dev/null ; then +- UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` +- (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 +- echo ${UNAME_MACHINE}-unknown-sco$UNAME_REL +- elif test -f /usr/options/cb.name; then +- UNAME_REL=`sed -n 's/.*Version //p' /dev/null 2>&1 ; then +- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 +- else # Add other i860-SVR4 vendors below as they are discovered. +- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 +- fi +- exit 0 ;; +- mini*:CTIX:SYS*5:*) +- # "miniframe" +- echo m68010-convergent-sysv +- exit 0 ;; +- M680[234]0:*:R3V[567]*:*) +- test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; +- 3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0) +- uname -p 2>/dev/null | grep 86 >/dev/null \ +- && echo i486-ncr-sysv4.3 && exit 0 ;; +- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) +- uname -p 2>/dev/null | grep 86 >/dev/null \ +- && echo i486-ncr-sysv4 && exit 0 ;; +- m680[234]0:LynxOS:2.2*:*) +- echo m68k-lynx-lynxos${UNAME_RELEASE} +- exit 0 ;; +- PowerPC:LynxOS:2.2*:*) +- echo powerpc-lynx-lynxos${UNAME_RELEASE} +- exit 0 ;; +- mc68030:UNIX_System_V:4.*:*) +- echo m68k-atari-sysv4 +- exit 0 ;; +- i[34]86:LynxOS:2.2*:*) +- echo i386-lynx-lynxos${UNAME_RELEASE} +- exit 0 ;; +- TSUNAMI:LynxOS:2.2*:*) +- echo sparc-lynx-lynxos${UNAME_RELEASE} +- exit 0 ;; +- rs6000:LynxOS:2.2*:*) +- echo rs6000-lynx-lynxos${UNAME_RELEASE} +- exit 0 ;; +- RM*:SINIX-*:*:*) +- echo mips-sni-sysv4 +- exit 0 ;; +- *:SINIX-*:*:*) +- if uname -p 2>/dev/null >/dev/null ; then +- UNAME_MACHINE=`(uname -p) 2>/dev/null` +- echo ${UNAME_MACHINE}-sni-sysv4 +- else +- echo ns32k-sni-sysv +- fi +- exit 0 ;; +-esac +- +-#echo '(No uname command or uname output not recognized.)' 1>&2 +-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 +- +-cat >dummy.c </dev/null`; +- printf ("%s-next-nextstep%s\n", __ARCHITECTURE__, version==2 ? "2" : "3"); +- exit (0); +-#endif +- +-#if defined (MULTIMAX) || defined (n16) +-#if defined (UMAXV) +- printf ("ns32k-encore-sysv\n"); exit (0); +-#else +-#if defined (CMU) +- printf ("ns32k-encore-mach\n"); exit (0); +-#else +- printf ("ns32k-encore-bsd\n"); exit (0); +-#endif +-#endif +-#endif +- +-#if defined (__386BSD__) +- printf ("i386-unknown-bsd\n"); exit (0); +-#endif +- +-#if defined (sequent) +-#if defined (i386) +- printf ("i386-sequent-dynix\n"); exit (0); +-#endif +-#if defined (ns32000) +- printf ("ns32k-sequent-dynix\n"); exit (0); +-#endif +-#endif +- +-#if defined (_SEQUENT_) +- printf ("i386-sequent-ptx\n"); exit (0); +-#endif +- +-#if defined (vax) +-#if !defined (ultrix) +- printf ("vax-dec-bsd\n"); exit (0); +-#else +- printf ("vax-dec-ultrix\n"); exit (0); +-#endif +-#endif +- +-#if defined (alliant) && defined (i860) +- printf ("i860-alliant-bsd\n"); exit (0); +-#endif +- +- exit (1); +-} +-EOF +- +-${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0 +-rm -f dummy.c dummy +- +-# Apollos put the system type in the environment. +- +-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } +- +-# Convex versions that predate uname can use getsysinfo(1) +- +-if [ -x /usr/convex/getsysinfo ] +-then +- case `getsysinfo -f cpu_type` in +- c1*) +- echo c1-convex-bsd +- exit 0 ;; +- c2*) +- if getsysinfo -f scalar_acc +- then echo c32-convex-bsd +- else echo c2-convex-bsd +- fi +- exit 0 ;; +- c34*) +- echo c34-convex-bsd +- exit 0 ;; +- c38*) +- echo c38-convex-bsd +- exit 0 ;; +- c4*) +- echo c4-convex-bsd +- exit 0 ;; +- esac +-fi +- +-#echo '(Unable to guess system type)' 1>&2 +- +-exit 1 +diff -Naur insight-6.8.orig/itcl/config/config.sub insight-6.8.new/itcl/config/config.sub +--- insight-6.8.orig/itcl/config/config.sub 2003-01-21 21:40:25.000000000 +0100 ++++ insight-6.8.new/itcl/config/config.sub 1970-01-01 01:00:00.000000000 +0100 +@@ -1,793 +0,0 @@ +-#!/bin/sh +-# Configuration validation subroutine script, version 1.1. +-# Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc. +-# This file is (in principle) common to ALL GNU software. +-# The presence of a machine in this file suggests that SOME GNU software +-# can handle that machine. It does not imply ALL GNU software can. +-# +-# This file is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2 of the License, or +-# (at your option) any later version. +-# +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. +-# +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +- +-# As a special exception to the GNU General Public License, if you +-# distribute this file as part of a program that contains a +-# configuration script generated by Autoconf, you may include it under +-# the same distribution terms that you use for the rest of that program. +- +-# Configuration subroutine to validate and canonicalize a configuration type. +-# Supply the specified configuration type as an argument. +-# If it is invalid, we print an error message on stderr and exit with code 1. +-# Otherwise, we print the canonical config type on stdout and succeed. +- +-# This file is supposed to be the same for all GNU packages +-# and recognize all the CPU types, system types and aliases +-# that are meaningful with *any* GNU software. +-# Each package is responsible for reporting which valid configurations +-# it does not support. The user should be able to distinguish +-# a failure to support a valid configuration from a meaningless +-# configuration. +- +-# The goal of this file is to map all the various variations of a given +-# machine specification into a single specification in the form: +-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +-# It is wrong to echo any other type of specification. +- +-# First pass through any local machine types. +-case $1 in +- *local*) +- echo $1 +- exit 0 +- ;; +- *) +- ;; +-esac +- +-# Separate what the user gave into CPU-COMPANY and OS (if any). +-basic_machine=`echo $1 | sed 's/-[^-]*$//'` +-if [ $basic_machine != $1 ] +-then os=`echo $1 | sed 's/.*-/-/'` +-else os=; fi +- +-### Let's recognize common machines as not being operating systems so +-### that things like config.sub decstation-3100 work. We also +-### recognize some manufacturers as not being operating systems, so we +-### can provide default operating systems below. +-case $os in +- -sun*os*) +- # Prevent following clause from handling this invalid input. +- ;; +- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ +- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ +- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ +- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ +- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ +- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp ) +- os= +- basic_machine=$1 +- ;; +- -hiux*) +- os=-hiuxwe2 +- ;; +- -sco4) +- os=-sco3.2v4 +- basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` +- ;; +- -sco3.2.[4-9]*) +- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` +- basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` +- ;; +- -sco3.2v[4-9]*) +- # Don't forget version if it is 3.2v4 or newer. +- basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` +- ;; +- -sco*) +- os=-sco3.2v2 +- basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` +- ;; +- -isc) +- os=-isc2.2 +- basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` +- ;; +- -clix*) +- basic_machine=clipper-intergraph +- ;; +- -isc*) +- basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` +- ;; +- -lynx) +- os=-lynxos +- ;; +- -ptx*) +- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` +- ;; +- -windowsnt*) +- os=`echo $os | sed -e 's/windowsnt/winnt/'` +- ;; +-esac +- +-# Decode aliases for certain CPU-COMPANY combinations. +-case $basic_machine in +- # Recognize the basic CPU types without company name. +- # Some are omitted here because they have special meanings below. +- tahoe | i[345]86 | i860 | m68k | m68000 | m88k | ns32k | arm | pyramid \ +- | tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 \ +- | alpha | we32k | ns16k | clipper | sparclite | i370 | sh \ +- | powerpc | sparc64 | 1750a | dsp16xx | mips64 | mipsel \ +- | pdp11 | mips64el | mips64orion | mips64orionel ) +- basic_machine=$basic_machine-unknown +- ;; +- # Object if more than one company name word. +- *-*-*) +- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 +- exit 1 +- ;; +- # Recognize the basic CPU types with company name. +- vax-* | tahoe-* | i[345]86-* | i860-* | m68k-* | m68000-* | m88k-* \ +- | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \ +- | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ +- | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \ +- | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \ +- | pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \ +- | pdp11-* | sh-* | powerpc-* | sparc64-* | mips64-* | mipsel-* \ +- | mips64el-* | mips64orion-* | mips64orionel-* ) +- ;; +- # Recognize the various machine names and aliases which stand +- # for a CPU type and a company and sometimes even an OS. +- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) +- basic_machine=m68000-att +- ;; +- 3b*) +- basic_machine=we32k-att +- ;; +- alliant | fx80) +- basic_machine=fx80-alliant +- ;; +- altos | altos3068) +- basic_machine=m68k-altos +- ;; +- am29k) +- basic_machine=a29k-none +- os=-bsd +- ;; +- amdahl) +- basic_machine=580-amdahl +- os=-sysv +- ;; +- amiga | amiga-*) +- basic_machine=m68k-cbm +- ;; +- amigados) +- basic_machine=m68k-cbm +- os=-amigados +- ;; +- amigaunix | amix) +- basic_machine=m68k-cbm +- os=-sysv4 +- ;; +- apollo68) +- basic_machine=m68k-apollo +- os=-sysv +- ;; +- balance) +- basic_machine=ns32k-sequent +- os=-dynix +- ;; +- convex-c1) +- basic_machine=c1-convex +- os=-bsd +- ;; +- convex-c2) +- basic_machine=c2-convex +- os=-bsd +- ;; +- convex-c32) +- basic_machine=c32-convex +- os=-bsd +- ;; +- convex-c34) +- basic_machine=c34-convex +- os=-bsd +- ;; +- convex-c38) +- basic_machine=c38-convex +- os=-bsd +- ;; +- cray | ymp) +- basic_machine=ymp-cray +- os=-unicos +- ;; +- cray2) +- basic_machine=cray2-cray +- os=-unicos +- ;; +- crds | unos) +- basic_machine=m68k-crds +- ;; +- da30 | da30-*) +- basic_machine=m68k-da30 +- ;; +- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) +- basic_machine=mips-dec +- ;; +- delta | 3300 | motorola-3300 | motorola-delta \ +- | 3300-motorola | delta-motorola) +- basic_machine=m68k-motorola +- ;; +- delta88) +- basic_machine=m88k-motorola +- os=-sysv3 +- ;; +- dpx20 | dpx20-*) +- basic_machine=rs6000-bull +- os=-bosx +- ;; +- dpx2* | dpx2*-bull) +- basic_machine=m68k-bull +- os=-sysv3 +- ;; +- ebmon29k) +- basic_machine=a29k-amd +- os=-ebmon +- ;; +- elxsi) +- basic_machine=elxsi-elxsi +- os=-bsd +- ;; +- encore | umax | mmax) +- basic_machine=ns32k-encore +- ;; +- fx2800) +- basic_machine=i860-alliant +- ;; +- genix) +- basic_machine=ns32k-ns +- ;; +- gmicro) +- basic_machine=tron-gmicro +- os=-sysv +- ;; +- h3050r* | hiux*) +- basic_machine=hppa1.1-hitachi +- os=-hiuxwe2 +- ;; +- h8300hms) +- basic_machine=h8300-hitachi +- os=-hms +- ;; +- harris) +- basic_machine=m88k-harris +- os=-sysv3 +- ;; +- hp300-*) +- basic_machine=m68k-hp +- ;; +- hp300bsd) +- basic_machine=m68k-hp +- os=-bsd +- ;; +- hp300hpux) +- basic_machine=m68k-hp +- os=-hpux +- ;; +- hp9k2[0-9][0-9] | hp9k31[0-9]) +- basic_machine=m68000-hp +- ;; +- hp9k3[2-9][0-9]) +- basic_machine=m68k-hp +- ;; +- hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7) +- basic_machine=hppa1.1-hp +- ;; +- hp9k8[0-9][0-9] | hp8[0-9][0-9]) +- basic_machine=hppa1.0-hp +- ;; +- i370-ibm* | ibm*) +- basic_machine=i370-ibm +- os=-mvs +- ;; +-# I'm not sure what "Sysv32" means. Should this be sysv3.2? +- i[345]86v32) +- basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'` +- os=-sysv32 +- ;; +- i[345]86v4*) +- basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'` +- os=-sysv4 +- ;; +- i[345]86v) +- basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'` +- os=-sysv +- ;; +- i[345]86sol2) +- basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'` +- os=-solaris2 +- ;; +- iris | iris4d) +- basic_machine=mips-sgi +- case $os in +- -irix*) +- ;; +- *) +- os=-irix4 +- ;; +- esac +- ;; +- isi68 | isi) +- basic_machine=m68k-isi +- os=-sysv +- ;; +- m88k-omron*) +- basic_machine=m88k-omron +- ;; +- magnum | m3230) +- basic_machine=mips-mips +- os=-sysv +- ;; +- merlin) +- basic_machine=ns32k-utek +- os=-sysv +- ;; +- miniframe) +- basic_machine=m68000-convergent +- ;; +- mips3*-*) +- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` +- ;; +- mips3*) +- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown +- ;; +- ncr3000) +- basic_machine=i486-ncr +- os=-sysv4 +- ;; +- news | news700 | news800 | news900) +- basic_machine=m68k-sony +- os=-newsos +- ;; +- news1000) +- basic_machine=m68030-sony +- os=-newsos +- ;; +- news-3600 | risc-news) +- basic_machine=mips-sony +- os=-newsos +- ;; +- next | m*-next ) +- basic_machine=m68k-next +- case $os in +- -nextstep* ) +- ;; +- -ns2*) +- os=-nextstep2 +- ;; +- *) +- os=-nextstep3 +- ;; +- esac +- ;; +- nh3000) +- basic_machine=m68k-harris +- os=-cxux +- ;; +- nh[45]000) +- basic_machine=m88k-harris +- os=-cxux +- ;; +- nindy960) +- basic_machine=i960-intel +- os=-nindy +- ;; +- np1) +- basic_machine=np1-gould +- ;; +- pa-hitachi) +- basic_machine=hppa1.1-hitachi +- os=-hiuxwe2 +- ;; +- paragon) +- basic_machine=i860-intel +- os=-osf +- ;; +- pbd) +- basic_machine=sparc-tti +- ;; +- pbb) +- basic_machine=m68k-tti +- ;; +- pc532 | pc532-*) +- basic_machine=ns32k-pc532 +- ;; +- pentium-*) +- # We will change tis to say i586 once there has been +- # time for various packages to start to recognize that. +- basic_machine=i486-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- pn) +- basic_machine=pn-gould +- ;; +- ps2) +- basic_machine=i386-ibm +- ;; +- rtpc | rtpc-*) +- basic_machine=romp-ibm +- ;; +- sequent) +- basic_machine=i386-sequent +- ;; +- sh) +- basic_machine=sh-hitachi +- os=-hms +- ;; +- sps7) +- basic_machine=m68k-bull +- os=-sysv2 +- ;; +- spur) +- basic_machine=spur-unknown +- ;; +- sun2) +- basic_machine=m68000-sun +- ;; +- sun2os3) +- basic_machine=m68000-sun +- os=-sunos3 +- ;; +- sun2os4) +- basic_machine=m68000-sun +- os=-sunos4 +- ;; +- sun3os3) +- basic_machine=m68k-sun +- os=-sunos3 +- ;; +- sun3os4) +- basic_machine=m68k-sun +- os=-sunos4 +- ;; +- sun4os3) +- basic_machine=sparc-sun +- os=-sunos3 +- ;; +- sun4os4) +- basic_machine=sparc-sun +- os=-sunos4 +- ;; +- sun3 | sun3-*) +- basic_machine=m68k-sun +- ;; +- sun4) +- basic_machine=sparc-sun +- ;; +- sun386 | sun386i | roadrunner) +- basic_machine=i386-sun +- ;; +- symmetry) +- basic_machine=i386-sequent +- os=-dynix +- ;; +- tower | tower-32) +- basic_machine=m68k-ncr +- ;; +- ultra3) +- basic_machine=a29k-nyu +- os=-sym1 +- ;; +- vaxv) +- basic_machine=vax-dec +- os=-sysv +- ;; +- vms) +- basic_machine=vax-dec +- os=-vms +- ;; +- vxworks960) +- basic_machine=i960-wrs +- os=-vxworks +- ;; +- vxworks68) +- basic_machine=m68k-wrs +- os=-vxworks +- ;; +- xmp) +- basic_machine=xmp-cray +- os=-unicos +- ;; +- xps | xps100) +- basic_machine=xps100-honeywell +- ;; +- none) +- basic_machine=none-none +- os=-none +- ;; +- +-# Here we handle the default manufacturer of certain CPU types. It is in +-# some cases the only manufacturer, in others, it is the most popular. +- mips) +- basic_machine=mips-mips +- ;; +- romp) +- basic_machine=romp-ibm +- ;; +- rs6000) +- basic_machine=rs6000-ibm +- ;; +- vax) +- basic_machine=vax-dec +- ;; +- pdp11) +- basic_machine=pdp11-dec +- ;; +- we32k) +- basic_machine=we32k-att +- ;; +- sparc) +- basic_machine=sparc-sun +- ;; +- cydra) +- basic_machine=cydra-cydrome +- ;; +- orion) +- basic_machine=orion-highlevel +- ;; +- orion105) +- basic_machine=clipper-highlevel +- ;; +- *) +- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 +- exit 1 +- ;; +-esac +- +-# Here we canonicalize certain aliases for manufacturers. +-case $basic_machine in +- *-digital*) +- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` +- ;; +- *-commodore*) +- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` +- ;; +- *) +- ;; +-esac +- +-# Decode manufacturer-specific aliases for certain operating systems. +- +-if [ x"$os" != x"" ] +-then +-case $os in +- # -solaris* is a basic system type, with this one exception. +- -solaris1 | -solaris1.*) +- os=`echo $os | sed -e 's|solaris1|sunos4|'` +- ;; +- -solaris) +- os=-solaris2 +- ;; +- -gnu/linux*) +- os=`echo $os | sed -e 's|gnu/linux|linux|'` +- ;; +- # First accept the basic system types. +- # The portable systems comes first. +- # Each alternative must end in a *, to match a version number. +- # -sysv* is not here because it comes later, after sysvr4. +- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ +- | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[345]* \ +- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ +- | -amigados* | -msdos* | -newsos* | -unicos* | -aos* \ +- | -nindy* | -vxworks* | -ebmon* | -hms* | -mvs* | -clix* \ +- | -riscos* | -linux* | -uniplus* | -iris* | -rtu* | -xenix* \ +- | -hiux* | -386bsd* | -netbsd* | -freebsd* | -riscix* \ +- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \ +- | -ptx* | -coff* | -winnt*) +- ;; +- -sunos5*) +- os=`echo $os | sed -e 's|sunos5|solaris2|'` +- ;; +- -sunos6*) +- os=`echo $os | sed -e 's|sunos6|solaris3|'` +- ;; +- -osfrose*) +- os=-osfrose +- ;; +- -osf*) +- os=-osf +- ;; +- -utek*) +- os=-bsd +- ;; +- -dynix*) +- os=-bsd +- ;; +- -acis*) +- os=-aos +- ;; +- -ctix* | -uts*) +- os=-sysv +- ;; +- -triton*) +- os=-sysv3 +- ;; +- -oss*) +- os=-sysv3 +- ;; +- -svr4) +- os=-sysv4 +- ;; +- -svr3) +- os=-sysv3 +- ;; +- -sysvr4) +- os=-sysv4 +- ;; +- # This must come after -sysvr4. +- -sysv*) +- ;; +- -xenix) +- os=-xenix +- ;; +- -none) +- ;; +- *) +- # Get rid of the `-' at the beginning of $os. +- os=`echo $os | sed 's/[^-]*-//'` +- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 +- exit 1 +- ;; +-esac +-else +- +-# Here we handle the default operating systems that come with various machines. +-# The value should be what the vendor currently ships out the door with their +-# machine or put another way, the most popular os provided with the machine. +- +-# Note that if you're going to try to match "-MANUFACTURER" here (say, +-# "-sun"), then you have to tell the case statement up towards the top +-# that MANUFACTURER isn't an operating system. Otherwise, code above +-# will signal an error saying that MANUFACTURER isn't an operating +-# system, and we'll never get to this point. +- +-case $basic_machine in +- *-acorn) +- os=-riscix1.2 +- ;; +- pdp11-*) +- os=-none +- ;; +- *-dec | vax-*) +- os=-ultrix4.2 +- ;; +- i386-sun) +- os=-sunos4.0.2 +- ;; +- m68000-sun) +- os=-sunos3 +- # This also exists in the configure program, but was not the +- # default. +- # os=-sunos4 +- ;; +- *-tti) # must be before sparc entry or we get the wrong os. +- os=-sysv3 +- ;; +- sparc-* | *-sun) +- os=-sunos4.1.1 +- ;; +- *-ibm) +- os=-aix +- ;; +- *-hp) +- os=-hpux +- ;; +- *-hitachi) +- os=-hiux +- ;; +- i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) +- os=-sysv +- ;; +- *-cbm) +- os=-amigados +- ;; +- *-dg) +- os=-dgux +- ;; +- *-dolphin) +- os=-sysv3 +- ;; +- m68k-ccur) +- os=-rtu +- ;; +- m88k-omron*) +- os=-luna +- ;; +- *-sequent) +- os=-ptx +- ;; +- *-crds) +- os=-unos +- ;; +- *-ns) +- os=-genix +- ;; +- i370-*) +- os=-mvs +- ;; +- *-next) +- os=-nextstep3 +- ;; +- *-gould) +- os=-sysv +- ;; +- *-highlevel) +- os=-bsd +- ;; +- *-encore) +- os=-bsd +- ;; +- *-sgi) +- os=-irix +- ;; +- *-masscomp) +- os=-rtu +- ;; +- *) +- os=-none +- ;; +-esac +-fi +- +-# Here we handle the case where we know the os, and the CPU type, but not the +-# manufacturer. We pick the logical manufacturer. +-vendor=unknown +-case $basic_machine in +- *-unknown) +- case $os in +- -riscix*) +- vendor=acorn +- ;; +- -sunos*) +- vendor=sun +- ;; +- -lynxos*) +- vendor=lynx +- ;; +- -aix*) +- vendor=ibm +- ;; +- -hpux*) +- vendor=hp +- ;; +- -hiux*) +- vendor=hitachi +- ;; +- -unos*) +- vendor=crds +- ;; +- -dgux*) +- vendor=dg +- ;; +- -luna*) +- vendor=omron +- ;; +- -genix*) +- vendor=ns +- ;; +- -mvs*) +- vendor=ibm +- ;; +- -ptx*) +- vendor=sequent +- ;; +- esac +- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` +- ;; +-esac +- +-echo $basic_machine$os +diff -Naur insight-6.8.orig/itcl/config/installFile.tcl insight-6.8.new/itcl/config/installFile.tcl +--- insight-6.8.orig/itcl/config/installFile.tcl 2003-01-21 21:40:25.000000000 +0100 ++++ insight-6.8.new/itcl/config/installFile.tcl 1970-01-01 01:00:00.000000000 +0100 +@@ -1,119 +0,0 @@ +-#!/bin/sh +-# +-# installFile.tcl - a Tcl version of install-sh +-# that copies a file and preserves its permission bits. +-# This also optimizes out installation of existing files +-# that have the same size and time stamp as the source. +-# +-# \ +-exec tclsh8.3 "$0" ${1+"$@"} +- +-set doCopy 0 ;# Rename files instead of copy +-set doStrip 0 ;# Strip the symbols from installed copy +-set verbose 0 +-set src "" +-set dst "" +- +-# Process command line arguments, compatible with install-sh +- +-for {set i 0} {$i < $argc} {incr i} { +- set arg [lindex $argv $i] +- switch -- $arg { +- -c { +- set doCopy 1 +- } +- -m { +- incr i +- # Assume UNIX standard "644", etc, so force Tcl to think octal +- set permissions 0[lindex $argv $i] +- } +- -o { +- incr i +- set owner [lindex $argv $i] +- } +- -g { +- incr i +- set group [lindex $argv $i] +- } +- -s { +- set doStrip 1 +- } +- -v { +- set verbose 1 +- } +- default { +- set src $arg +- incr i +- set dst [lindex $argv $i] +- break +- } +- } +-} +-if {[string length $src] == 0} { +- puts stderr "$argv0: no input file specified" +- exit 1 +-} +-if {[string length $dst] == 0} { +- puts stderr "$argv0: no destination file specified" +- exit 1 +-} +- +-# Compatibility with CYGNUS-style pathnames +-regsub {^/(cygdrive)?/(.)/(.*)} $src {\2:/\3} src +-regsub {^/(cygdrive)?/(.)/(.*)} $dst {\2:/\3} dst +- +-if {$verbose && $doStrip} { +- puts stderr "Ignoring -s (strip) option for $dst" +-} +-if {[file isdirectory $dst]} { +- set dst [file join $dst [file tail $src]] +-} +- +-# Temporary file name +- +-set dsttmp [file join [file dirname $dst] #inst.[pid]#] +- +-# Optimize out install if the file already exists +- +-set actions "" +-if {[file exists $dst] && +- ([file mtime $src] == [file mtime $dst]) && +- ([file size $src] == [file size $dst])} { +- +- # Looks like the same file, so don't bother to copy. +- # Set dsttmp in case we still need to tweak mode, group, etc. +- +- set dsttmp $dst +- lappend actions "already installed" +-} else { +- file copy -force $src $dsttmp +- lappend actions copied +-} +- +-# At this point "$dsttmp" is installed, but might not have the +-# right permissions and may need to be renamed. +- +- +-foreach attrName {owner group permissions} { +- upvar 0 $attrName attr +- +- if {[info exists attr]} { +- if {![catch {file attributes $dsttmp -$attrName} dstattr]} { +- +- # This system supports "$attrName" kind of attributes +- +- if {($attr != $dstattr)} { +- file attributes $dsttmp -$attrName $attr +- lappend actions "set $attrName to $attr" +- } +- } +- } +-} +- +-if {[string compare $dst $dsttmp] != 0} { +- file rename -force $dsttmp $dst +-} +-if {$verbose} { +- puts stderr "$dst: [join $actions ", "]" +-} +-exit 0 +diff -Naur insight-6.8.orig/itcl/config/install-sh insight-6.8.new/itcl/config/install-sh +--- insight-6.8.orig/itcl/config/install-sh 2003-01-21 21:40:25.000000000 +0100 ++++ insight-6.8.new/itcl/config/install-sh 1970-01-01 01:00:00.000000000 +0100 +@@ -1,119 +0,0 @@ +-#!/bin/sh +- +-# +-# install - install a program, script, or datafile +-# This comes from X11R5; it is not part of GNU. +-# +-# $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $ +-# +-# This script is compatible with the BSD install script, but was written +-# from scratch. +-# +- +- +-# set DOITPROG to echo to test this script +- +-# Don't use :- since 4.3BSD and earlier shells don't like it. +-doit="${DOITPROG-}" +- +- +-# put in absolute paths if you don't have them in your path; or use env. vars. +- +-mvprog="${MVPROG-mv}" +-cpprog="${CPPROG-cp}" +-chmodprog="${CHMODPROG-chmod}" +-chownprog="${CHOWNPROG-chown}" +-chgrpprog="${CHGRPPROG-chgrp}" +-stripprog="${STRIPPROG-strip}" +-rmprog="${RMPROG-rm}" +- +-instcmd="$mvprog" +-chmodcmd="" +-chowncmd="" +-chgrpcmd="" +-stripcmd="" +-rmcmd="$rmprog -f" +-mvcmd="$mvprog -f" +-src="" +-dst="" +- +-while [ x"$1" != x ]; do +- case $1 in +- -c) instcmd="$cpprog" +- shift +- continue;; +- +- -m) chmodcmd="$chmodprog $2" +- shift +- shift +- continue;; +- +- -o) chowncmd="$chownprog $2" +- shift +- shift +- continue;; +- +- -g) chgrpcmd="$chgrpprog $2" +- shift +- shift +- continue;; +- +- -s) stripcmd="$stripprog" +- shift +- continue;; +- +- *) if [ x"$src" = x ] +- then +- src=$1 +- else +- dst=$1 +- fi +- shift +- continue;; +- esac +-done +- +-if [ x"$src" = x ] +-then +- echo "install: no input file specified" +- exit 1 +-fi +- +-if [ x"$dst" = x ] +-then +- echo "install: no destination specified" +- exit 1 +-fi +- +- +-# If destination is a directory, append the input filename; if your system +-# does not like double slashes in filenames, you may need to add some logic +- +-if [ -d $dst ] +-then +- dst="$dst"/`basename $src` +-fi +- +-# Make a temp file name in the proper directory. +- +-dstdir=`dirname $dst` +-dsttmp=$dstdir/#inst.$$# +- +-# Move or copy the file name to the temp name +- +-$doit $instcmd $src $dsttmp +- +-# and set any options; do chmod last to preserve setuid bits +- +-if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; fi +-if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; fi +-if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; fi +-if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; fi +- +-# Now rename the file to the real destination. +- +-$doit $rmcmd $dst +-$doit $mvcmd $dsttmp $dst +- +- +-exit 0 +diff -Naur insight-6.8.orig/itcl/config/mkinstalldirs insight-6.8.new/itcl/config/mkinstalldirs +--- insight-6.8.orig/itcl/config/mkinstalldirs 2003-01-21 21:40:25.000000000 +0100 ++++ insight-6.8.new/itcl/config/mkinstalldirs 1970-01-01 01:00:00.000000000 +0100 +@@ -1,32 +0,0 @@ +-#! /bin/sh +-# mkinstalldirs --- make directory hierarchy +-# Author: Noah Friedman +-# Created: 1993-05-16 +-# Last modified: 1994-03-25 +-# Public domain +- +-errstatus=0 +- +-for file in ${1+"$@"} ; do +- set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` +- shift +- +- pathcomp= +- for d in ${1+"$@"} ; do +- pathcomp="$pathcomp$d" +- case "$pathcomp" in +- -* ) pathcomp=./$pathcomp ;; +- esac +- +- if test ! -d "$pathcomp"; then +- echo "mkdir $pathcomp" 1>&2 +- mkdir "$pathcomp" || errstatus=$? +- fi +- +- pathcomp="$pathcomp/" +- done +-done +- +-exit $errstatus +- +-# mkinstalldirs ends here +diff -Naur insight-6.8.orig/itcl/configure insight-6.8.new/itcl/configure +--- insight-6.8.orig/itcl/configure 2006-07-13 17:41:58.000000000 +0200 ++++ insight-6.8.new/itcl/configure 2008-08-18 18:56:39.000000000 +0200 +@@ -1,25 +1,54 @@ + #! /bin/sh + # Guess values for system-dependent variables and create Makefiles. +-# Generated by GNU Autoconf 2.59. ++# Generated by GNU Autoconf 2.61. + # +-# Copyright (C) 2003 Free Software Foundation, Inc. ++# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, ++# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + # This configure script is free software; the Free Software Foundation + # gives unlimited permission to copy, distribute and modify it. + ## --------------------- ## + ## M4sh Initialization. ## + ## --------------------- ## + +-# Be Bourne compatible ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh + if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then +- set -o posix ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in ++ *posix*) set -o posix ;; ++esac ++ ++fi ++ ++ ++ ++ ++# PATH needs CR ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ echo "#! /bin/sh" >conf$$.sh ++ echo "exit 0" >>conf$$.sh ++ chmod +x conf$$.sh ++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then ++ PATH_SEPARATOR=';' ++ else ++ PATH_SEPARATOR=: ++ fi ++ rm -f conf$$.sh + fi +-DUALCASE=1; export DUALCASE # for MKS sh + + # Support unset when possible. + if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then +@@ -29,8 +58,43 @@ + fi + + ++# IFS ++# We need space, tab and new line, in precisely that order. Quoting is ++# there to prevent editors from complaining about space-tab. ++# (If _AS_PATH_WALK were called with IFS unset, it would disable word ++# splitting by setting IFS to empty value.) ++as_nl=' ++' ++IFS=" "" $as_nl" ++ ++# Find who we are. Look in the path if we contain no directory separator. ++case $0 in ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++done ++IFS=$as_save_IFS ++ ++ ;; ++esac ++# We did not find ourselves, most probably we were run as `sh COMMAND' ++# in which case we are not to be found in the path. ++if test "x$as_myself" = x; then ++ as_myself=$0 ++fi ++if test ! -f "$as_myself"; then ++ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 ++ { (exit 1); exit 1; } ++fi ++ + # Work around bugs in pre-3.0 UWIN ksh. +-$as_unset ENV MAIL MAILPATH ++for as_var in ENV MAIL MAILPATH ++do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var ++done + PS1='$ ' + PS2='> ' + PS4='+ ' +@@ -44,18 +108,19 @@ + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else +- $as_unset $as_var ++ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi + done + + # Required to use basename. +-if expr a : '\(a\)' >/dev/null 2>&1; then ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr + else + as_expr=false + fi + +-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename + else + as_basename=false +@@ -63,157 +128,388 @@ + + + # Name of the executable. +-as_me=`$as_basename "$0" || ++as_me=`$as_basename -- "$0" || + $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ +- X"$0" : 'X\(/\)$' \| \ +- . : '\(.\)' 2>/dev/null || ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || + echo X/"$0" | +- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } +- /^X\/\(\/\/\)$/{ s//\1/; q; } +- /^X\/\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` + ++# CDPATH. ++$as_unset CDPATH + +-# PATH needs CR, and LINENO needs CR and PATH. +-# Avoid depending upon Character Ranges. +-as_cr_letters='abcdefghijklmnopqrstuvwxyz' +-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +-as_cr_Letters=$as_cr_letters$as_cr_LETTERS +-as_cr_digits='0123456789' +-as_cr_alnum=$as_cr_Letters$as_cr_digits + +-# The user is always right. +-if test "${PATH_SEPARATOR+set}" != set; then +- echo "#! /bin/sh" >conf$$.sh +- echo "exit 0" >>conf$$.sh +- chmod +x conf$$.sh +- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then +- PATH_SEPARATOR=';' +- else +- PATH_SEPARATOR=: +- fi +- rm -f conf$$.sh ++if test "x$CONFIG_SHELL" = x; then ++ if (eval ":") 2>/dev/null; then ++ as_have_required=yes ++else ++ as_have_required=no ++fi ++ ++ if test $as_have_required = yes && (eval ": ++(as_func_return () { ++ (exit \$1) ++} ++as_func_success () { ++ as_func_return 0 ++} ++as_func_failure () { ++ as_func_return 1 ++} ++as_func_ret_success () { ++ return 0 ++} ++as_func_ret_failure () { ++ return 1 ++} ++ ++exitcode=0 ++if as_func_success; then ++ : ++else ++ exitcode=1 ++ echo as_func_success failed. + fi + ++if as_func_failure; then ++ exitcode=1 ++ echo as_func_failure succeeded. ++fi + +- as_lineno_1=$LINENO +- as_lineno_2=$LINENO +- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` +- test "x$as_lineno_1" != "x$as_lineno_2" && +- test "x$as_lineno_3" = "x$as_lineno_2" || { +- # Find who we are. Look in the path if we contain no path at all +- # relative or not. +- case $0 in +- *[\\/]* ) as_myself=$0 ;; +- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +-done ++if as_func_ret_success; then ++ : ++else ++ exitcode=1 ++ echo as_func_ret_success failed. ++fi + +- ;; +- esac +- # We did not find ourselves, most probably we were run as `sh COMMAND' +- # in which case we are not to be found in the path. +- if test "x$as_myself" = x; then +- as_myself=$0 +- fi +- if test ! -f "$as_myself"; then +- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 +- { (exit 1); exit 1; }; } +- fi +- case $CONFIG_SHELL in +- '') ++if as_func_ret_failure; then ++ exitcode=1 ++ echo as_func_ret_failure succeeded. ++fi ++ ++if ( set x; as_func_ret_success y && test x = \"\$1\" ); then ++ : ++else ++ exitcode=1 ++ echo positional parameters were not saved. ++fi ++ ++test \$exitcode = 0) || { (exit 1); exit 1; } ++ ++( ++ as_lineno_1=\$LINENO ++ as_lineno_2=\$LINENO ++ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && ++ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ++") 2> /dev/null; then ++ : ++else ++ as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH + do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. +- for as_base in sh bash ksh sh5; do +- case $as_dir in ++ case $as_dir in + /*) +- if ("$as_dir/$as_base" -c ' ++ for as_base in sh bash ksh sh5; do ++ as_candidate_shells="$as_candidate_shells $as_dir/$as_base" ++ done;; ++ esac ++done ++IFS=$as_save_IFS ++ ++ ++ for as_shell in $as_candidate_shells $SHELL; do ++ # Try only shells that exist, to save several forks. ++ if { test -f "$as_shell" || test -f "$as_shell.exe"; } && ++ { ("$as_shell") 2> /dev/null <<\_ASEOF ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then ++ emulate sh ++ NULLCMD=: ++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in ++ *posix*) set -o posix ;; ++esac ++ ++fi ++ ++ ++: ++_ASEOF ++}; then ++ CONFIG_SHELL=$as_shell ++ as_have_required=yes ++ if { "$as_shell" 2> /dev/null <<\_ASEOF ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then ++ emulate sh ++ NULLCMD=: ++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in ++ *posix*) set -o posix ;; ++esac ++ ++fi ++ ++ ++: ++(as_func_return () { ++ (exit $1) ++} ++as_func_success () { ++ as_func_return 0 ++} ++as_func_failure () { ++ as_func_return 1 ++} ++as_func_ret_success () { ++ return 0 ++} ++as_func_ret_failure () { ++ return 1 ++} ++ ++exitcode=0 ++if as_func_success; then ++ : ++else ++ exitcode=1 ++ echo as_func_success failed. ++fi ++ ++if as_func_failure; then ++ exitcode=1 ++ echo as_func_failure succeeded. ++fi ++ ++if as_func_ret_success; then ++ : ++else ++ exitcode=1 ++ echo as_func_ret_success failed. ++fi ++ ++if as_func_ret_failure; then ++ exitcode=1 ++ echo as_func_ret_failure succeeded. ++fi ++ ++if ( set x; as_func_ret_success y && test x = "$1" ); then ++ : ++else ++ exitcode=1 ++ echo positional parameters were not saved. ++fi ++ ++test $exitcode = 0) || { (exit 1); exit 1; } ++ ++( + as_lineno_1=$LINENO + as_lineno_2=$LINENO +- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && +- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then +- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } +- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } +- CONFIG_SHELL=$as_dir/$as_base +- export CONFIG_SHELL +- exec "$CONFIG_SHELL" "$0" ${1+"$@"} +- fi;; +- esac +- done +-done +-;; +- esac ++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } ++ ++_ASEOF ++}; then ++ break ++fi ++ ++fi ++ ++ done ++ ++ if test "x$CONFIG_SHELL" != x; then ++ for as_var in BASH_ENV ENV ++ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var ++ done ++ export CONFIG_SHELL ++ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} ++fi ++ ++ ++ if test $as_have_required = no; then ++ echo This script requires a shell more modern than all the ++ echo shells that I found on your system. Please install a ++ echo modern shell, or manually run the script under such a ++ echo shell if you do have one. ++ { (exit 1); exit 1; } ++fi ++ ++ ++fi ++ ++fi ++ ++ ++ ++(eval "as_func_return () { ++ (exit \$1) ++} ++as_func_success () { ++ as_func_return 0 ++} ++as_func_failure () { ++ as_func_return 1 ++} ++as_func_ret_success () { ++ return 0 ++} ++as_func_ret_failure () { ++ return 1 ++} ++ ++exitcode=0 ++if as_func_success; then ++ : ++else ++ exitcode=1 ++ echo as_func_success failed. ++fi ++ ++if as_func_failure; then ++ exitcode=1 ++ echo as_func_failure succeeded. ++fi ++ ++if as_func_ret_success; then ++ : ++else ++ exitcode=1 ++ echo as_func_ret_success failed. ++fi ++ ++if as_func_ret_failure; then ++ exitcode=1 ++ echo as_func_ret_failure succeeded. ++fi ++ ++if ( set x; as_func_ret_success y && test x = \"\$1\" ); then ++ : ++else ++ exitcode=1 ++ echo positional parameters were not saved. ++fi ++ ++test \$exitcode = 0") || { ++ echo No shell found that supports shell functions. ++ echo Please tell autoconf@gnu.org about your system, ++ echo including any error possibly output before this ++ echo message ++} ++ ++ ++ ++ as_lineno_1=$LINENO ++ as_lineno_2=$LINENO ++ test "x$as_lineno_1" != "x$as_lineno_2" && ++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a +- # line-number line before each line; the second 'sed' does the real +- # work. The second script uses 'N' to pair each line-number line +- # with the numbered line, and appends trailing '-' during +- # substitution so that $LINENO is not a special case at line end. ++ # line-number line after each line using $LINENO; the second 'sed' ++ # does the real work. The second script uses 'N' to pair each ++ # line-number line with the line containing $LINENO, and appends ++ # trailing '-' during substitution so that $LINENO is not a special ++ # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the +- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) +- sed '=' <$as_myself | ++ # scripts with optimization help from Paolo Bonzini. Blame Lee ++ # E. McMahon (1931-1989) for sed's syntax. :-) ++ sed -n ' ++ p ++ /[$]LINENO/= ++ ' <$as_myself | + sed ' ++ s/[$]LINENO.*/&-/ ++ t lineno ++ b ++ :lineno + N +- s,$,-, +- : loop +- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, ++ :loop ++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop +- s,-$,, +- s,^['$as_cr_digits']*\n,, ++ s/-\n.*// + ' >$as_me.lineno && +- chmod +x $as_me.lineno || ++ chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the +- # original and so on. Autoconf is especially sensible to this). +- . ./$as_me.lineno ++ # original and so on. Autoconf is especially sensitive to this). ++ . "./$as_me.lineno" + # Exit status is that of the last command. + exit + } + + +-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in +- *c*,-n*) ECHO_N= ECHO_C=' +-' ECHO_T=' ' ;; +- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; +- *) ECHO_N= ECHO_C='\c' ECHO_T= ;; ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false ++fi ++ ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in ++-n*) ++ case `echo 'x\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ *) ECHO_C='\c';; ++ esac;; ++*) ++ ECHO_N='-n';; + esac + +-if expr a : '\(a\)' >/dev/null 2>&1; then ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr + else + as_expr=false + fi + + rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file ++else ++ rm -f conf$$.dir ++ mkdir conf$$.dir ++fi + echo >conf$$.file + if ln -s conf$$.file conf$$ 2>/dev/null; then +- # We could just check for DJGPP; but this test a) works b) is more generic +- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). +- if test -f conf$$.exe; then +- # Don't use ln at all; we don't have any links ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -p'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +- else +- as_ln_s='ln -s' +- fi + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +-rm -f conf$$ conf$$.exe conf$$.file ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null + + if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +@@ -222,7 +518,28 @@ + as_mkdir_p=false + fi + +-as_executable_p="test -f" ++if test -x / >/dev/null 2>&1; then ++ as_test_x='test -x' ++else ++ if ls -dL / >/dev/null 2>&1; then ++ as_ls_L_option=L ++ else ++ as_ls_L_option= ++ fi ++ as_test_x=' ++ eval sh -c '\'' ++ if test -d "$1"; then ++ test -d "$1/."; ++ else ++ case $1 in ++ -*)set "./$1";; ++ esac; ++ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ++ ???[sx]*):;;*)false;;esac;fi ++ '\'' sh ++ ' ++fi ++as_executable_p=$as_test_x + + # Sed expression to map a string onto a valid CPP name. + as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +@@ -231,39 +548,27 @@ + as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +-# IFS +-# We need space, tab and new line, in precisely that order. +-as_nl=' +-' +-IFS=" $as_nl" +- +-# CDPATH. +-$as_unset CDPATH + ++exec 7<&0 &1 + + # Name of the host. + # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, + # so uname gets run too. + ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +-exec 6>&1 +- + # + # Initializations. + # + ac_default_prefix=/usr/local ++ac_clean_files= + ac_config_libobj_dir=. ++LIBOBJS= + cross_compiling=no + subdirs= + MFLAGS= + MAKEFLAGS= + SHELL=${CONFIG_SHELL-/bin/sh} + +-# Maximum number of lines to put in a shell here document. +-# This variable seems obsolete. It should probably be removed, and +-# only ac_max_sed_lines should be used. +-: ${ac_max_here_lines=38} +- + # Identity of this package. + PACKAGE_NAME= + PACKAGE_TARNAME= +@@ -272,11 +577,84 @@ + PACKAGE_BUGREPORT= + + ac_unique_file="itcl/generic/itcl.h" +-ac_default_prefix=/usr/local +-ac_subdirs_all="$ac_subdirs_all itcl itk" +-ac_subdirs_all="$ac_subdirs_all iwidgets" +-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os SET_MAKE ac_prefix_program subdirs LIBOBJS LTLIBOBJS' ++ac_subst_vars='SHELL ++PATH_SEPARATOR ++PACKAGE_NAME ++PACKAGE_TARNAME ++PACKAGE_VERSION ++PACKAGE_STRING ++PACKAGE_BUGREPORT ++exec_prefix ++prefix ++program_transform_name ++bindir ++sbindir ++libexecdir ++datarootdir ++datadir ++sysconfdir ++sharedstatedir ++localstatedir ++includedir ++oldincludedir ++docdir ++infodir ++htmldir ++dvidir ++pdfdir ++psdir ++libdir ++localedir ++mandir ++DEFS ++ECHO_C ++ECHO_N ++ECHO_T ++LIBS ++build_alias ++host_alias ++target_alias ++INSTALL_PROGRAM ++INSTALL_SCRIPT ++INSTALL_DATA ++am__isrc ++CYGPATH_W ++PACKAGE ++VERSION ++ACLOCAL ++AUTOCONF ++AUTOMAKE ++AUTOHEADER ++MAKEINFO ++install_sh ++STRIP ++INSTALL_STRIP_PROGRAM ++mkdir_p ++AWK ++SET_MAKE ++am__leading_dot ++AMTAR ++am__tar ++am__untar ++MAINTAINER_MODE_TRUE ++MAINTAINER_MODE_FALSE ++MAINT ++build ++build_cpu ++build_vendor ++build_os ++host ++host_cpu ++host_vendor ++host_os ++subdirs ++LIBOBJS ++LTLIBOBJS' + ac_subst_files='' ++ ac_precious_vars='build_alias ++host_alias ++target_alias' ++ac_subdirs_all='itcl itk iwidgets' + + # Initialize some variables set by options. + ac_init_help= +@@ -303,34 +681,48 @@ + # and all the variables that are supposed to be based on exec_prefix + # by default will actually change. + # Use braces instead of parens because sh, perl, etc. also accept them. ++# (The list follows the same order as the GNU Coding Standards.) + bindir='${exec_prefix}/bin' + sbindir='${exec_prefix}/sbin' + libexecdir='${exec_prefix}/libexec' +-datadir='${prefix}/share' ++datarootdir='${prefix}/share' ++datadir='${datarootdir}' + sysconfdir='${prefix}/etc' + sharedstatedir='${prefix}/com' + localstatedir='${prefix}/var' +-libdir='${exec_prefix}/lib' + includedir='${prefix}/include' + oldincludedir='/usr/include' +-infodir='${prefix}/info' +-mandir='${prefix}/man' ++docdir='${datarootdir}/doc/${PACKAGE}' ++infodir='${datarootdir}/info' ++htmldir='${docdir}' ++dvidir='${docdir}' ++pdfdir='${docdir}' ++psdir='${docdir}' ++libdir='${exec_prefix}/lib' ++localedir='${datarootdir}/locale' ++mandir='${datarootdir}/man' + + ac_prev= ++ac_dashdash= + for ac_option + do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then +- eval "$ac_prev=\$ac_option" ++ eval $ac_prev=\$ac_option + ac_prev= + continue + fi + +- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` ++ case $ac_option in ++ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; ++ *) ac_optarg=yes ;; ++ esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + +- case $ac_option in ++ case $ac_dashdash$ac_option in ++ --) ++ ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; +@@ -352,33 +744,45 @@ + --config-cache | -C) + cache_file=config.cache ;; + +- -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ++ -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; +- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ +- | --da=*) ++ -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + ++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ ++ | --dataroo | --dataro | --datar) ++ ac_prev=datarootdir ;; ++ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ ++ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) ++ datarootdir=$ac_optarg ;; ++ + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. +- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } +- ac_feature=`echo $ac_feature | sed 's/-/_/g'` +- eval "enable_$ac_feature=no" ;; ++ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` ++ eval enable_$ac_feature=no ;; ++ ++ -docdir | --docdir | --docdi | --doc | --do) ++ ac_prev=docdir ;; ++ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) ++ docdir=$ac_optarg ;; ++ ++ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ++ ac_prev=dvidir ;; ++ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) ++ dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. +- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } +- ac_feature=`echo $ac_feature | sed 's/-/_/g'` +- case $ac_option in +- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; +- *) ac_optarg=yes ;; +- esac +- eval "enable_$ac_feature='$ac_optarg'" ;; ++ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` ++ eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ +@@ -405,6 +809,12 @@ + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + ++ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ++ ac_prev=htmldir ;; ++ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ ++ | --ht=*) ++ htmldir=$ac_optarg ;; ++ + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; +@@ -429,13 +839,16 @@ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + ++ -localedir | --localedir | --localedi | --localed | --locale) ++ ac_prev=localedir ;; ++ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) ++ localedir=$ac_optarg ;; ++ + -localstatedir | --localstatedir | --localstatedi | --localstated \ +- | --localstate | --localstat | --localsta | --localst \ +- | --locals | --local | --loca | --loc | --lo) ++ | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ +- | --localstate=* | --localstat=* | --localsta=* | --localst=* \ +- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) ++ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) +@@ -500,6 +913,16 @@ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + ++ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ++ ac_prev=pdfdir ;; ++ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) ++ pdfdir=$ac_optarg ;; ++ ++ -psdir | --psdir | --psdi | --psd | --ps) ++ ac_prev=psdir ;; ++ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) ++ psdir=$ac_optarg ;; ++ + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; +@@ -552,24 +975,20 @@ + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. +- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } +- ac_package=`echo $ac_package| sed 's/-/_/g'` +- case $ac_option in +- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; +- *) ac_optarg=yes ;; +- esac +- eval "with_$ac_package='$ac_optarg'" ;; ++ ac_package=`echo $ac_package | sed 's/[-.]/_/g'` ++ eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. +- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } +- ac_package=`echo $ac_package | sed 's/-/_/g'` +- eval "with_$ac_package=no" ;; ++ ac_package=`echo $ac_package | sed 's/[-.]/_/g'` ++ eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. +@@ -600,8 +1019,7 @@ + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } +- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` +- eval "$ac_envvar='$ac_optarg'" ++ eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) +@@ -621,27 +1039,19 @@ + { (exit 1); exit 1; }; } + fi + +-# Be sure to have absolute paths. +-for ac_var in exec_prefix prefix +-do +- eval ac_val=$`echo $ac_var` +- case $ac_val in +- [\\/$]* | ?:[\\/]* | NONE | '' ) ;; +- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 +- { (exit 1); exit 1; }; };; +- esac +-done +- +-# Be sure to have absolute paths. +-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ +- localstatedir libdir includedir oldincludedir infodir mandir ++# Be sure to have absolute directory names. ++for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ ++ datadir sysconfdir sharedstatedir localstatedir includedir \ ++ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ ++ libdir localedir mandir + do +- eval ac_val=$`echo $ac_var` ++ eval ac_val=\$$ac_var + case $ac_val in +- [\\/$]* | ?:[\\/]* ) ;; +- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 +- { (exit 1); exit 1; }; };; ++ [\\/$]* | ?:[\\/]* ) continue;; ++ NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac ++ { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 ++ { (exit 1); exit 1; }; } + done + + # There might be people who depend on the old broken behavior: `$host' +@@ -668,54 +1078,76 @@ + test "$silent" = yes && exec 6>/dev/null + + ++ac_pwd=`pwd` && test -n "$ac_pwd" && ++ac_ls_di=`ls -di .` && ++ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || ++ { echo "$as_me: error: Working directory cannot be determined" >&2 ++ { (exit 1); exit 1; }; } ++test "X$ac_ls_di" = "X$ac_pwd_ls_di" || ++ { echo "$as_me: error: pwd does not report name of working directory" >&2 ++ { (exit 1); exit 1; }; } ++ ++ + # Find the source files, if location was not specified. + if test -z "$srcdir"; then + ac_srcdir_defaulted=yes +- # Try the directory containing this script, then its parent. +- ac_confdir=`(dirname "$0") 2>/dev/null || ++ # Try the directory containing this script, then the parent directory. ++ ac_confdir=`$as_dirname -- "$0" || + $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ +- X"$0" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || + echo X"$0" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` + srcdir=$ac_confdir +- if test ! -r $srcdir/$ac_unique_file; then ++ if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi + else + ac_srcdir_defaulted=no + fi +-if test ! -r $srcdir/$ac_unique_file; then +- if test "$ac_srcdir_defaulted" = yes; then +- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 +- { (exit 1); exit 1; }; } +- else +- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 +- { (exit 1); exit 1; }; } +- fi +-fi +-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || +- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 +- { (exit 1); exit 1; }; } +-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` +-ac_env_build_alias_set=${build_alias+set} +-ac_env_build_alias_value=$build_alias +-ac_cv_env_build_alias_set=${build_alias+set} +-ac_cv_env_build_alias_value=$build_alias +-ac_env_host_alias_set=${host_alias+set} +-ac_env_host_alias_value=$host_alias +-ac_cv_env_host_alias_set=${host_alias+set} +-ac_cv_env_host_alias_value=$host_alias +-ac_env_target_alias_set=${target_alias+set} +-ac_env_target_alias_value=$target_alias +-ac_cv_env_target_alias_set=${target_alias+set} +-ac_cv_env_target_alias_value=$target_alias ++if test ! -r "$srcdir/$ac_unique_file"; then ++ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." ++ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 ++ { (exit 1); exit 1; }; } ++fi ++ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ++ac_abs_confdir=`( ++ cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 ++ { (exit 1); exit 1; }; } ++ pwd)` ++# When building in place, set srcdir=. ++if test "$ac_abs_confdir" = "$ac_pwd"; then ++ srcdir=. ++fi ++# Remove unnecessary trailing slashes from srcdir. ++# Double slashes in file names in object file debugging info ++# mess up M-x gdb in Emacs. ++case $srcdir in ++*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; ++esac ++for ac_var in $ac_precious_vars; do ++ eval ac_env_${ac_var}_set=\${${ac_var}+set} ++ eval ac_env_${ac_var}_value=\$${ac_var} ++ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} ++ eval ac_cv_env_${ac_var}_value=\$${ac_var} ++done + + # + # Report the --help message. +@@ -744,9 +1176,6 @@ + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +-_ACEOF +- +- cat <<_ACEOF + Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] +@@ -764,19 +1193,31 @@ + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] +- --datadir=DIR read-only architecture-independent data [PREFIX/share] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] +- --infodir=DIR info documentation [PREFIX/info] +- --mandir=DIR man documentation [PREFIX/man] ++ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] ++ --datadir=DIR read-only architecture-independent data [DATAROOTDIR] ++ --infodir=DIR info documentation [DATAROOTDIR/info] ++ --localedir=DIR locale-dependent data [DATAROOTDIR/locale] ++ --mandir=DIR man documentation [DATAROOTDIR/man] ++ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] ++ --htmldir=DIR html documentation [DOCDIR] ++ --dvidir=DIR dvi documentation [DOCDIR] ++ --pdfdir=DIR pdf documentation [DOCDIR] ++ --psdir=DIR ps documentation [DOCDIR] + _ACEOF + + cat <<\_ACEOF + ++Program names: ++ --program-prefix=PREFIX prepend PREFIX to installed program names ++ --program-suffix=SUFFIX append SUFFIX to installed program names ++ --program-transform-name=PROGRAM run sed PROGRAM on installed program names ++ + System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +@@ -787,119 +1228,93 @@ + + cat <<\_ACEOF + ++Optional Features: ++ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) ++ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] ++ --enable-maintainer-mode enable make rules and dependencies not useful ++ (and sometimes confusing) to the casual installer ++ + _ACEOF ++ac_status=$? + fi + + if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. +- ac_popdir=`pwd` + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue +- test -d $ac_dir || continue ++ test -d "$ac_dir" || continue + ac_builddir=. + +-if test "$ac_dir" != .; then ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` +- # A "../" for each directory in $ac_dir_suffix. +- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +-else +- ac_dir_suffix= ac_top_builddir= +-fi ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix + + case $srcdir in +- .) # No --srcdir option. We are building in place. ++ .) # We are building in place. + ac_srcdir=. +- if test -z "$ac_top_builddir"; then +- ac_top_srcdir=. +- else +- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` +- fi ;; +- [\\/]* | ?:[\\/]* ) # Absolute path. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; +- ac_top_srcdir=$srcdir ;; +- *) # Relative path. +- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix +- ac_top_srcdir=$ac_top_builddir$srcdir ;; +-esac +- +-# Do not use `cd foo && pwd` to compute absolute paths, because +-# the directories may not exist. +-case `pwd` in +-.) ac_abs_builddir="$ac_dir";; +-*) +- case "$ac_dir" in +- .) ac_abs_builddir=`pwd`;; +- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; +- *) ac_abs_builddir=`pwd`/"$ac_dir";; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_builddir=${ac_top_builddir}.;; +-*) +- case ${ac_top_builddir}. in +- .) ac_abs_top_builddir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; +- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_srcdir=$ac_srcdir;; +-*) +- case $ac_srcdir in +- .) ac_abs_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; +- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_srcdir=$ac_top_srcdir;; +-*) +- case $ac_top_srcdir in +- .) ac_abs_top_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; +- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; +- esac;; +-esac +- +- cd $ac_dir +- # Check for guested configure; otherwise get Cygnus style configure. +- if test -f $ac_srcdir/configure.gnu; then +- echo +- $SHELL $ac_srcdir/configure.gnu --help=recursive +- elif test -f $ac_srcdir/configure; then +- echo +- $SHELL $ac_srcdir/configure --help=recursive +- elif test -f $ac_srcdir/configure.ac || +- test -f $ac_srcdir/configure.in; then +- echo +- $ac_configure --help ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; ++esac ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix ++ ++ cd "$ac_dir" || { ac_status=$?; continue; } ++ # Check for guested configure. ++ if test -f "$ac_srcdir/configure.gnu"; then ++ echo && ++ $SHELL "$ac_srcdir/configure.gnu" --help=recursive ++ elif test -f "$ac_srcdir/configure"; then ++ echo && ++ $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 +- fi +- cd $ac_popdir ++ fi || ac_status=$? ++ cd "$ac_pwd" || { ac_status=$?; break; } + done + fi + +-test -n "$ac_init_help" && exit 0 ++test -n "$ac_init_help" && exit $ac_status + if $ac_init_version; then + cat <<\_ACEOF ++configure ++generated by GNU Autoconf 2.61 + +-Copyright (C) 2003 Free Software Foundation, Inc. ++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, ++2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + This configure script is free software; the Free Software Foundation + gives unlimited permission to copy, distribute and modify it. + _ACEOF +- exit 0 ++ exit + fi +-exec 5>config.log +-cat >&5 <<_ACEOF ++cat >config.log <<_ACEOF + This file contains any messages produced by compilers while + running configure, to aid debugging if configure makes a mistake. + + It was created by $as_me, which was +-generated by GNU Autoconf 2.59. Invocation command line was ++generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + + _ACEOF ++exec 5>>config.log + { + cat <<_ASUNAME + ## --------- ## +@@ -918,7 +1333,7 @@ + /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` + /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` + /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +-hostinfo = `(hostinfo) 2>/dev/null || echo unknown` ++/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` + /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` + /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` + /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` +@@ -932,6 +1347,7 @@ + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" + done ++IFS=$as_save_IFS + + } >&5 + +@@ -953,7 +1369,6 @@ + ac_configure_args= + ac_configure_args0= + ac_configure_args1= +-ac_sep= + ac_must_keep_next=false + for ac_pass in 1 2 + do +@@ -964,7 +1379,7 @@ + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; +- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ++ *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in +@@ -986,9 +1401,7 @@ + -* ) ac_must_keep_next=true ;; + esac + fi +- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" +- # Get rid of the leading space. +- ac_sep=" " ++ ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +@@ -999,8 +1412,8 @@ + # When interrupted or exit'd, cleanup temporary files, and complete + # config.log. We remove comments because anyway the quotes in there + # would cause problems or look ugly. +-# WARNING: Be sure not to use single quotes in there, as some shells, +-# such as our DU 5.0 friend, will then `close' the trap. ++# WARNING: Use '\'' to represent an apostrophe within the trap. ++# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. + trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { +@@ -1013,20 +1426,34 @@ + _ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +-{ ++( ++ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do ++ eval ac_val=\$$ac_var ++ case $ac_val in #( ++ *${as_nl}*) ++ case $ac_var in #( ++ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 ++echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; ++ esac ++ case $ac_var in #( ++ _ | IFS | as_nl) ;; #( ++ *) $as_unset $ac_var ;; ++ esac ;; ++ esac ++ done + (set) 2>&1 | +- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in +- *ac_space=\ *) ++ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( ++ *${as_nl}ac_space=\ *) + sed -n \ +- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; +- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" +- ;; ++ "s/'\''/'\''\\\\'\'''\''/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ++ ;; #( + *) +- sed -n \ +- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; +- esac; +-} ++ esac | ++ sort ++) + echo + + cat <<\_ASBOX +@@ -1037,22 +1464,28 @@ + echo + for ac_var in $ac_subst_vars + do +- eval ac_val=$`echo $ac_var` +- echo "$ac_var='"'"'$ac_val'"'"'" ++ eval ac_val=\$$ac_var ++ case $ac_val in ++ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ esac ++ echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +-## ------------- ## +-## Output files. ## +-## ------------- ## ++## ------------------- ## ++## File substitutions. ## ++## ------------------- ## + _ASBOX + echo + for ac_var in $ac_subst_files + do +- eval ac_val=$`echo $ac_var` +- echo "$ac_var='"'"'$ac_val'"'"'" ++ eval ac_val=\$$ac_var ++ case $ac_val in ++ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ esac ++ echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi +@@ -1064,26 +1497,24 @@ + ## ----------- ## + _ASBOX + echo +- sed "/^$/d" confdefs.h | sort ++ cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 +- rm -f core *.core && +- rm -rf conftest* confdefs* conf$$* $ac_clean_files && ++ rm -f core *.core core.conftest.* && ++ rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +- ' 0 ++' 0 + for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal + done + ac_signal=0 + + # confdefs.h avoids OS command line length limits that DEFS can exceed. +-rm -rf conftest* confdefs.h +-# AIX cpp loses on an empty file, so make sure it contains at least a newline. +-echo >confdefs.h ++rm -f -r conftest* confdefs.h + + # Predefined preprocessor variables. + +@@ -1114,14 +1545,17 @@ + + # Let the site file select an alternate cache file if it wants to. + # Prefer explicitly selected file to automatically selected ones. +-if test -z "$CONFIG_SITE"; then +- if test "x$prefix" != xNONE; then +- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" +- else +- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +- fi ++if test -n "$CONFIG_SITE"; then ++ set x "$CONFIG_SITE" ++elif test "x$prefix" != xNONE; then ++ set x "$prefix/share/config.site" "$prefix/etc/config.site" ++else ++ set x "$ac_default_prefix/share/config.site" \ ++ "$ac_default_prefix/etc/config.site" + fi +-for ac_site_file in $CONFIG_SITE; do ++shift ++for ac_site_file ++do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 + echo "$as_me: loading site script $ac_site_file" >&6;} +@@ -1137,8 +1571,8 @@ + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 + echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in +- [\\/]* | ?:[\\/]* ) . $cache_file;; +- *) . ./$cache_file;; ++ [\\/]* | ?:[\\/]* ) . "$cache_file";; ++ *) . "./$cache_file";; + esac + fi + else +@@ -1150,12 +1584,11 @@ + # Check that the precious variables saved in the cache have kept the same + # value. + ac_cache_corrupted=false +-for ac_var in `(set) 2>&1 | +- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do ++for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set +- eval ac_old_val="\$ac_cv_env_${ac_var}_value" +- eval ac_new_val="\$ac_env_${ac_var}_value" ++ eval ac_old_val=\$ac_cv_env_${ac_var}_value ++ eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +@@ -1180,8 +1613,7 @@ + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in +- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) +- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; ++ *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in +@@ -1198,12 +1630,6 @@ + { (exit 1); exit 1; }; } + fi + +-ac_ext=c +-ac_cpp='$CPP $CPPFLAGS' +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +-ac_compiler_gnu=$ac_cv_c_compiler_gnu +- + + + +@@ -1220,237 +1646,621 @@ + + + ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + ac_aux_dir= +-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do +- if test -f $ac_dir/install-sh; then ++for ac_dir in .. "$srcdir"/..; do ++ if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break +- elif test -f $ac_dir/install.sh; then ++ elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break +- elif test -f $ac_dir/shtool; then ++ elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi + done + if test -z "$ac_aux_dir"; then +- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 +-echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} ++ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in .. \"$srcdir\"/.." >&5 ++echo "$as_me: error: cannot find install-sh or install.sh in .. \"$srcdir\"/.." >&2;} + { (exit 1); exit 1; }; } + fi +-ac_config_guess="$SHELL $ac_aux_dir/config.guess" +-ac_config_sub="$SHELL $ac_aux_dir/config.sub" +-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. +- +-# Make sure we can run config.sub. +-$ac_config_sub sun4 >/dev/null 2>&1 || +- { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 +-echo "$as_me: error: cannot run $ac_config_sub" >&2;} +- { (exit 1); exit 1; }; } + +-echo "$as_me:$LINENO: checking build system type" >&5 +-echo $ECHO_N "checking build system type... $ECHO_C" >&6 +-if test "${ac_cv_build+set}" = set; then ++# These three variables are undocumented and unsupported, ++# and are intended to be withdrawn in a future Autoconf release. ++# They can cause serious problems if a builder's source tree is in a directory ++# whose full name contains unusual characters. ++ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ++ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ++ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. ++ ++ ++am__api_version='1.10' ++ ++# Find a good install program. We prefer a C program (faster), ++# so one script is as good as another. But avoid the broken or ++# incompatible versions: ++# SysV /etc/install, /usr/sbin/install ++# SunOS /usr/etc/install ++# IRIX /sbin/install ++# AIX /bin/install ++# AmigaOS /C/install, which installs bootblocks on floppy discs ++# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag ++# AFS /usr/afsws/bin/install, which mishandles nonexistent args ++# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" ++# OS/2's system install, which has a completely different semantic ++# ./install, which can be erroneously created by make from ./install.sh. ++{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 ++echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } ++if test -z "$INSTALL"; then ++if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- ac_cv_build_alias=$build_alias +-test -z "$ac_cv_build_alias" && +- ac_cv_build_alias=`$ac_config_guess` +-test -z "$ac_cv_build_alias" && +- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +-echo "$as_me: error: cannot guess build type; you must specify one" >&2;} +- { (exit 1); exit 1; }; } +-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || +- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 +-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} +- { (exit 1); exit 1; }; } +- +-fi +-echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +-echo "${ECHO_T}$ac_cv_build" >&6 +-build=$ac_cv_build +-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ # Account for people who put trailing slashes in PATH elements. ++case $as_dir/ in ++ ./ | .// | /cC/* | \ ++ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ++ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ ++ /usr/ucb/* ) ;; ++ *) ++ # OSF1 and SCO ODT 3.0 have their own names for install. ++ # Don't use installbsd from OSF since it installs stuff as root ++ # by default. ++ for ac_prog in ginstall scoinst install; do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then ++ if test $ac_prog = install && ++ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # AIX install. It has an incompatible calling convention. ++ : ++ elif test $ac_prog = install && ++ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # program-specific install script used by HP pwplus--don't use. ++ : ++ else ++ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" ++ break 3 ++ fi ++ fi ++ done ++ done ++ ;; ++esac ++done ++IFS=$as_save_IFS + + +-echo "$as_me:$LINENO: checking host system type" >&5 +-echo $ECHO_N "checking host system type... $ECHO_C" >&6 +-if test "${ac_cv_host+set}" = set; then ++fi ++ if test "${ac_cv_path_install+set}" = set; then ++ INSTALL=$ac_cv_path_install ++ else ++ # As a last resort, use the slow shell script. Don't cache a ++ # value for INSTALL within a source directory, because that will ++ # break other packages using the cache if that directory is ++ # removed, or if the value is a relative name. ++ INSTALL=$ac_install_sh ++ fi ++fi ++{ echo "$as_me:$LINENO: result: $INSTALL" >&5 ++echo "${ECHO_T}$INSTALL" >&6; } ++ ++# Use test -z because SunOS4 sh mishandles braces in ${var-val}. ++# It thinks the first close brace ends the variable substitution. ++test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' ++ ++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' ++ ++test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' ++ ++{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 ++echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } ++# Just in case ++sleep 1 ++echo timestamp > conftest.file ++# Do `set' in a subshell so we don't clobber the current shell's ++# arguments. Must try -L first in case configure is actually a ++# symlink; some systems play weird games with the mod time of symlinks ++# (eg FreeBSD returns the mod time of the symlink's containing ++# directory). ++if ( ++ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` ++ if test "$*" = "X"; then ++ # -L didn't work. ++ set X `ls -t $srcdir/configure conftest.file` ++ fi ++ rm -f conftest.file ++ if test "$*" != "X $srcdir/configure conftest.file" \ ++ && test "$*" != "X conftest.file $srcdir/configure"; then ++ ++ # If neither matched, then we have a broken ls. This can happen ++ # if, for instance, CONFIG_SHELL is bash and it inherits a ++ # broken ls alias from the environment. This has actually ++ # happened. Such a system could not be considered "sane". ++ { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken ++alias in your environment" >&5 ++echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken ++alias in your environment" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ ++ test "$2" = conftest.file ++ ) ++then ++ # Ok. ++ : ++else ++ { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! ++Check your system clock" >&5 ++echo "$as_me: error: newly created file is older than distributed files! ++Check your system clock" >&2;} ++ { (exit 1); exit 1; }; } ++fi ++{ echo "$as_me:$LINENO: result: yes" >&5 ++echo "${ECHO_T}yes" >&6; } ++test "$program_prefix" != NONE && ++ program_transform_name="s&^&$program_prefix&;$program_transform_name" ++# Use a double $ so make ignores it. ++test "$program_suffix" != NONE && ++ program_transform_name="s&\$&$program_suffix&;$program_transform_name" ++# Double any \ or $. echo might interpret backslashes. ++# By default was `s,x,x', remove it if useless. ++cat <<\_ACEOF >conftest.sed ++s/[\\$]/&&/g;s/;s,x,x,$// ++_ACEOF ++program_transform_name=`echo $program_transform_name | sed -f conftest.sed` ++rm -f conftest.sed ++ ++# expand $ac_aux_dir to an absolute path ++am_aux_dir=`cd $ac_aux_dir && pwd` ++ ++test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" ++# Use eval to expand $SHELL ++if eval "$MISSING --run true"; then ++ am_missing_run="$MISSING --run " ++else ++ am_missing_run= ++ { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 ++echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} ++fi ++ ++{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 ++echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } ++if test -z "$MKDIR_P"; then ++ if test "${ac_cv_path_mkdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- ac_cv_host_alias=$host_alias +-test -z "$ac_cv_host_alias" && +- ac_cv_host_alias=$ac_cv_build_alias +-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || +- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 +-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} +- { (exit 1); exit 1; }; } ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_prog in mkdir gmkdir; do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue ++ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( ++ 'mkdir (GNU coreutils) '* | \ ++ 'mkdir (coreutils) '* | \ ++ 'mkdir (fileutils) '4.1*) ++ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext ++ break 3;; ++ esac ++ done ++ done ++done ++IFS=$as_save_IFS + + fi +-echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +-echo "${ECHO_T}$ac_cv_host" >&6 +-host=$ac_cv_host +-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + ++ if test "${ac_cv_path_mkdir+set}" = set; then ++ MKDIR_P="$ac_cv_path_mkdir -p" ++ else ++ # As a last resort, use the slow shell script. Don't cache a ++ # value for MKDIR_P within a source directory, because that will ++ # break other packages using the cache if that directory is ++ # removed, or if the value is a relative name. ++ test -d ./--version && rmdir ./--version ++ MKDIR_P="$ac_install_sh -d" ++ fi ++fi ++{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5 ++echo "${ECHO_T}$MKDIR_P" >&6; } + ++mkdir_p="$MKDIR_P" ++case $mkdir_p in ++ [\\/$]* | ?:[\\/]*) ;; ++ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; ++esac + +-# Note, we don't use the files in the config subdirectory! +-ac_aux_dir= +-for ac_dir in .. $srcdir/..; do +- if test -f $ac_dir/install-sh; then +- ac_aux_dir=$ac_dir +- ac_install_sh="$ac_aux_dir/install-sh -c" +- break +- elif test -f $ac_dir/install.sh; then +- ac_aux_dir=$ac_dir +- ac_install_sh="$ac_aux_dir/install.sh -c" +- break +- elif test -f $ac_dir/shtool; then +- ac_aux_dir=$ac_dir +- ac_install_sh="$ac_aux_dir/shtool install -c" +- break ++for ac_prog in gawk mawk nawk awk ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++{ echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } ++if test "${ac_cv_prog_AWK+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$AWK"; then ++ ac_cv_prog_AWK="$AWK" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ++ ac_cv_prog_AWK="$ac_prog" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 + fi + done +-if test -z "$ac_aux_dir"; then +- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in .. $srcdir/.." >&5 +-echo "$as_me: error: cannot find install-sh or install.sh in .. $srcdir/.." >&2;} +- { (exit 1); exit 1; }; } ++done ++IFS=$as_save_IFS ++ ++fi ++fi ++AWK=$ac_cv_prog_AWK ++if test -n "$AWK"; then ++ { echo "$as_me:$LINENO: result: $AWK" >&5 ++echo "${ECHO_T}$AWK" >&6; } ++else ++ { echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6; } + fi +-ac_config_guess="$SHELL $ac_aux_dir/config.guess" +-ac_config_sub="$SHELL $ac_aux_dir/config.sub" +-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. +- +-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 +-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` +-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then ++ ++ ++ test -n "$AWK" && break ++done ++ ++{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 ++echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } ++set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` ++if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + cat >conftest.make <<\_ACEOF ++SHELL = /bin/sh + all: +- @echo 'ac_maketemp="$(MAKE)"' ++ @echo '@@@%%%=$(MAKE)=@@@%%%' + _ACEOF + # GNU make sometimes prints "make[1]: Entering...", which would confuse us. +-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` +-if test -n "$ac_maketemp"; then +- eval ac_cv_prog_make_${ac_make}_set=yes +-else +- eval ac_cv_prog_make_${ac_make}_set=no +-fi ++case `${MAKE-make} -f conftest.make 2>/dev/null` in ++ *@@@%%%=?*=@@@%%%*) ++ eval ac_cv_prog_make_${ac_make}_set=yes;; ++ *) ++ eval ac_cv_prog_make_${ac_make}_set=no;; ++esac + rm -f conftest.make + fi +-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then +- echo "$as_me:$LINENO: result: yes" >&5 +-echo "${ECHO_T}yes" >&6 ++if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then ++ { echo "$as_me:$LINENO: result: yes" >&5 ++echo "${ECHO_T}yes" >&6; } + SET_MAKE= + else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 ++ { echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" + fi + +-# END CYGNUS LOCAL ++rm -rf .tst 2>/dev/null ++mkdir .tst 2>/dev/null ++if test -d .tst; then ++ am__leading_dot=. ++else ++ am__leading_dot=_ ++fi ++rmdir .tst 2>/dev/null ++ ++if test "`cd $srcdir && pwd`" != "`pwd`"; then ++ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output ++ # is not polluted with repeated "-I." ++ am__isrc=' -I$(srcdir)' ++ # test to see if srcdir already configured ++ if test -f $srcdir/config.status; then ++ { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 ++echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++fi ++ ++# test whether we have cygpath ++if test -z "$CYGPATH_W"; then ++ if (cygpath --version) >/dev/null 2>/dev/null; then ++ CYGPATH_W='cygpath -w' ++ else ++ CYGPATH_W=echo ++ fi ++fi ++ ++ ++# Define the identity of the package. ++ PACKAGE=itcl ++ VERSION=3.3 ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE "$PACKAGE" ++_ACEOF ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define VERSION "$VERSION" ++_ACEOF ++ ++# Some tools Automake needs. ++ ++ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + +-# ----------------------------------------------------------------------- +-# +-# Set up a new default --prefix. If a previous installation of +-# [incr Tcl] can be found searching $PATH use that directory. +-# +-# ----------------------------------------------------------------------- + ++AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + +-if test "x$prefix" = xNONE; then +- echo $ECHO_N "checking for prefix by $ECHO_C" >&6 +- # Extract the first word of "itclsh", so it can be a program name with args. +-set dummy itclsh; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_path_ac_prefix_program+set}" = set; then ++ ++AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} ++ ++ ++AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} ++ ++ ++MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} ++ ++install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} ++ ++# Installed binaries are usually stripped using `strip' when the user ++# run `make install-strip'. However `strip' might not be the right ++# tool to use in cross-compilation environments, therefore Automake ++# will honor the `STRIP' environment variable to overrule this program. ++if test "$cross_compiling" != no; then ++ if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. ++set dummy ${ac_tool_prefix}strip; ac_word=$2 ++{ echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } ++if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- case $ac_prefix_program in +- [\\/]* | ?:[\\/]*) +- ac_cv_path_ac_prefix_program="$ac_prefix_program" # Let the user override the test with a path. +- ;; +- *) +- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++ if test -n "$STRIP"; then ++ ac_cv_prog_STRIP="$STRIP" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + for as_dir in $PATH + do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_path_ac_prefix_program="$as_dir/$ac_word$ac_exec_ext" ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ++ ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi + done + done ++IFS=$as_save_IFS ++ ++fi ++fi ++STRIP=$ac_cv_prog_STRIP ++if test -n "$STRIP"; then ++ { echo "$as_me:$LINENO: result: $STRIP" >&5 ++echo "${ECHO_T}$STRIP" >&6; } ++else ++ { echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6; } ++fi ++ + +- ;; +-esac + fi +-ac_prefix_program=$ac_cv_path_ac_prefix_program ++if test -z "$ac_cv_prog_STRIP"; then ++ ac_ct_STRIP=$STRIP ++ # Extract the first word of "strip", so it can be a program name with args. ++set dummy strip; ac_word=$2 ++{ echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } ++if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$ac_ct_STRIP"; then ++ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ++ ac_cv_prog_ac_ct_STRIP="strip" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++IFS=$as_save_IFS + +-if test -n "$ac_prefix_program"; then +- echo "$as_me:$LINENO: result: $ac_prefix_program" >&5 +-echo "${ECHO_T}$ac_prefix_program" >&6 ++fi ++fi ++ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP ++if test -n "$ac_ct_STRIP"; then ++ { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 ++echo "${ECHO_T}$ac_ct_STRIP" >&6; } + else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 ++ { echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6; } + fi + +- if test -n "$ac_prefix_program"; then +- prefix=`(dirname "$ac_prefix_program") 2>/dev/null || +-$as_expr X"$ac_prefix_program" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$ac_prefix_program" : 'X\(//\)[^/]' \| \ +- X"$ac_prefix_program" : 'X\(//\)$' \| \ +- X"$ac_prefix_program" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X"$ac_prefix_program" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- prefix=`(dirname "$prefix") 2>/dev/null || +-$as_expr X"$prefix" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$prefix" : 'X\(//\)[^/]' \| \ +- X"$prefix" : 'X\(//\)$' \| \ +- X"$prefix" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X"$prefix" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` ++ if test "x$ac_ct_STRIP" = x; then ++ STRIP=":" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools ++whose name does not start with the host triplet. If you think this ++configuration is useful to you, please write to autoconf@gnu.org." >&5 ++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools ++whose name does not start with the host triplet. If you think this ++configuration is useful to you, please write to autoconf@gnu.org." >&2;} ++ac_tool_warned=yes ;; ++esac ++ STRIP=$ac_ct_STRIP + fi ++else ++ STRIP="$ac_cv_prog_STRIP" ++fi ++ ++fi ++INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" ++ ++# We need awk for the "check" target. The system "awk" is bad on ++# some platforms. ++# Always define AMTAR for backward compatibility. ++ ++AMTAR=${AMTAR-"${am_missing_run}tar"} ++ ++am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' ++ ++ ++ ++ ++ ++{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 ++echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; } ++ # Check whether --enable-maintainer-mode was given. ++if test "${enable_maintainer_mode+set}" = set; then ++ enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval ++else ++ USE_MAINTAINER_MODE=no ++fi ++ ++ { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 ++echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; } ++ if test $USE_MAINTAINER_MODE = yes; then ++ MAINTAINER_MODE_TRUE= ++ MAINTAINER_MODE_FALSE='#' ++else ++ MAINTAINER_MODE_TRUE='#' ++ MAINTAINER_MODE_FALSE= + fi + ++ MAINT=$MAINTAINER_MODE_TRUE + + ++# Make sure we can run config.sub. ++$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || ++ { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 ++echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} ++ { (exit 1); exit 1; }; } + +-subdirs="$subdirs itcl itk" ++{ echo "$as_me:$LINENO: checking build system type" >&5 ++echo $ECHO_N "checking build system type... $ECHO_C" >&6; } ++if test "${ac_cv_build+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_build_alias=$build_alias ++test "x$ac_build_alias" = x && ++ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` ++test "x$ac_build_alias" = x && ++ { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 ++echo "$as_me: error: cannot guess build type; you must specify one" >&2;} ++ { (exit 1); exit 1; }; } ++ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || ++ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 ++echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} ++ { (exit 1); exit 1; }; } + +-# Source-Navigator does not use the iwidgets packag +-if test ! -d ${srcdir}/../snavigator || test -d ${srcdir}/../gdb/gdbtk ; then ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 ++echo "${ECHO_T}$ac_cv_build" >&6; } ++case $ac_cv_build in ++*-*-*) ;; ++*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 ++echo "$as_me: error: invalid value of canonical build" >&2;} ++ { (exit 1); exit 1; }; };; ++esac ++build=$ac_cv_build ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_build ++shift ++build_cpu=$1 ++build_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++build_os=$* ++IFS=$ac_save_IFS ++case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +-subdirs="$subdirs iwidgets" ++{ echo "$as_me:$LINENO: checking host system type" >&5 ++echo $ECHO_N "checking host system type... $ECHO_C" >&6; } ++if test "${ac_cv_host+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test "x$host_alias" = x; then ++ ac_cv_host=$ac_cv_build ++else ++ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || ++ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 ++echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} ++ { (exit 1); exit 1; }; } ++fi + + fi ++{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 ++echo "${ECHO_T}$ac_cv_host" >&6; } ++case $ac_cv_host in ++*-*-*) ;; ++*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 ++echo "$as_me: error: invalid value of canonical host" >&2;} ++ { (exit 1); exit 1; }; };; ++esac ++host=$ac_cv_host ++ac_save_IFS=$IFS; IFS='-' ++set x $ac_cv_host ++shift ++host_cpu=$1 ++host_vendor=$2 ++shift; shift ++# Remember, the first character of IFS is used to create $*, ++# except with old shells: ++host_os=$* ++IFS=$ac_save_IFS ++case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac ++ ++ ++ ++# Itcl et al require tclsh and wish. Since they have not been built yet, ++# we simply set the environment variables TCLSH_PROG and WISH_PROG so that ++# the two TEA macros do not run. ++case "${host}" in ++ *-*-cywin* | *-*-mingw* ) ++ platform="win" ++ ;; ++ *) ++ platform="unix" ++ ;; ++esac ++ ++export TCLSH_PROG=`pwd`/../tcl/${platform}/tclsh ++export WISH_PROG=`pwd`/../tk/${platform}/wish ++ ++subdirs="$subdirs itcl itk iwidgets" ++ ++ac_config_files="$ac_config_files Makefile" + +- ac_config_files="$ac_config_files Makefile" +- ac_config_commands="$ac_config_commands default" + cat >confcache <<\_ACEOF + # This file is a shell script that caches the results of configure + # tests run on this system so they can be shared between configure +@@ -1469,39 +2279,58 @@ + + # The following way of writing the cache mishandles newlines in values, + # but we know of no workaround that is simple, portable, and efficient. +-# So, don't put newlines in cache variables' values. ++# So, we kill variables containing newlines. + # Ultrix sh set writes to stderr and can't be redirected directly, + # and sets the high bit in the cache file unless we assign to the vars. +-{ ++( ++ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do ++ eval ac_val=\$$ac_var ++ case $ac_val in #( ++ *${as_nl}*) ++ case $ac_var in #( ++ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 ++echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; ++ esac ++ case $ac_var in #( ++ _ | IFS | as_nl) ;; #( ++ *) $as_unset $ac_var ;; ++ esac ;; ++ esac ++ done ++ + (set) 2>&1 | +- case `(ac_space=' '; set | grep ac_space) 2>&1` in +- *ac_space=\ *) ++ case $as_nl`(ac_space=' '; set) 2>&1` in #( ++ *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" +- ;; ++ ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. +- sed -n \ +- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; +- esac; +-} | ++ esac | ++ sort ++) | + sed ' ++ /^ac_cv_env_/b end + t clear +- : clear ++ :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end +- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ +- : end' >>confcache +-if diff $cache_file confcache >/dev/null 2>&1; then :; else +- if test -w $cache_file; then +- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" ++ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ ++ :end' >>confcache ++if diff "$cache_file" confcache >/dev/null 2>&1; then :; else ++ if test -w "$cache_file"; then ++ test "x$cache_file" != "x/dev/null" && ++ { echo "$as_me:$LINENO: updating cache $cache_file" >&5 ++echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else +- echo "not updating unwritable cache $cache_file" ++ { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 ++echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi + fi + rm -f confcache +@@ -1510,69 +2339,61 @@ + # Let make expand exec_prefix. + test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +-# VPATH may cause trouble with some makes, so we remove $(srcdir), +-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +-# trailing colons and then remove the whole line if VPATH becomes empty +-# (actually we leave an empty line to preserve line numbers). +-if test "x$srcdir" = x.; then +- ac_vpsub='/^[ ]*VPATH[ ]*=/{ +-s/:*\$(srcdir):*/:/; +-s/:*\${srcdir}:*/:/; +-s/:*@srcdir@:*/:/; +-s/^\([^=]*=[ ]*\):*/\1/; +-s/:*$//; +-s/^[^=]*=[ ]*$//; +-}' +-fi +- + # Transform confdefs.h into DEFS. + # Protect against shell expansion while executing Makefile rules. + # Protect against Makefile macro expansion. + # + # If the first sed substitution is executed (which looks for macros that +-# take arguments), then we branch to the quote section. Otherwise, ++# take arguments), then branch to the quote section. Otherwise, + # look for a macro that doesn't take arguments. +-cat >confdef2opt.sed <<\_ACEOF ++ac_script=' + t clear +-: clear +-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g ++:clear ++s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g + t quote +-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g ++s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g + t quote +-d +-: quote +-s,[ `~#$^&*(){}\\|;'"<>?],\\&,g +-s,\[,\\&,g +-s,\],\\&,g +-s,\$,$$,g +-p +-_ACEOF +-# We use echo to avoid assuming a particular line-breaking character. +-# The extra dot is to prevent the shell from consuming trailing +-# line-breaks from the sub-command output. A line-break within +-# single-quotes doesn't work because, if this script is created in a +-# platform that uses two characters for line-breaks (e.g., DOS), tr +-# would break. +-ac_LF_and_DOT=`echo; echo .` +-DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` +-rm -f confdef2opt.sed ++b any ++:quote ++s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g ++s/\[/\\&/g ++s/\]/\\&/g ++s/\$/$$/g ++H ++:any ++${ ++ g ++ s/^\n// ++ s/\n/ /g ++ p ++} ++' ++DEFS=`sed -n "$ac_script" confdefs.h` + + + ac_libobjs= + ac_ltlibobjs= + for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. +- ac_i=`echo "$ac_i" | +- sed 's/\$U\././;s/\.o$//;s/\.obj$//'` +- # 2. Add them. +- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" +- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' ++ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ++ ac_i=`echo "$ac_i" | sed "$ac_script"` ++ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR ++ # will be set to the directory where LIBOBJS objects are built. ++ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ++ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' + done + LIBOBJS=$ac_libobjs + + LTLIBOBJS=$ac_ltlibobjs + + ++if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then ++ { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. ++Usually this means the macro was only invoked conditionally." >&5 ++echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. ++Usually this means the macro was only invoked conditionally." >&2;} ++ { (exit 1); exit 1; }; } ++fi + + : ${CONFIG_STATUS=./config.status} + ac_clean_files_save=$ac_clean_files +@@ -1597,28 +2418,91 @@ + ## M4sh Initialization. ## + ## --------------------- ## + +-# Be Bourne compatible ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh + if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then +- set -o posix ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in ++ *posix*) set -o posix ;; ++esac ++ + fi +-DUALCASE=1; export DUALCASE # for MKS sh + +-# Support unset when possible. +-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then +- as_unset=unset ++ ++ ++ ++# PATH needs CR ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ echo "#! /bin/sh" >conf$$.sh ++ echo "exit 0" >>conf$$.sh ++ chmod +x conf$$.sh ++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then ++ PATH_SEPARATOR=';' ++ else ++ PATH_SEPARATOR=: ++ fi ++ rm -f conf$$.sh ++fi ++ ++# Support unset when possible. ++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then ++ as_unset=unset + else + as_unset=false + fi + + ++# IFS ++# We need space, tab and new line, in precisely that order. Quoting is ++# there to prevent editors from complaining about space-tab. ++# (If _AS_PATH_WALK were called with IFS unset, it would disable word ++# splitting by setting IFS to empty value.) ++as_nl=' ++' ++IFS=" "" $as_nl" ++ ++# Find who we are. Look in the path if we contain no directory separator. ++case $0 in ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++done ++IFS=$as_save_IFS ++ ++ ;; ++esac ++# We did not find ourselves, most probably we were run as `sh COMMAND' ++# in which case we are not to be found in the path. ++if test "x$as_myself" = x; then ++ as_myself=$0 ++fi ++if test ! -f "$as_myself"; then ++ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 ++ { (exit 1); exit 1; } ++fi ++ + # Work around bugs in pre-3.0 UWIN ksh. +-$as_unset ENV MAIL MAILPATH ++for as_var in ENV MAIL MAILPATH ++do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var ++done + PS1='$ ' + PS2='> ' + PS4='+ ' +@@ -1632,18 +2516,19 @@ + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else +- $as_unset $as_var ++ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi + done + + # Required to use basename. +-if expr a : '\(a\)' >/dev/null 2>&1; then ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr + else + as_expr=false + fi + +-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename + else + as_basename=false +@@ -1651,159 +2536,120 @@ + + + # Name of the executable. +-as_me=`$as_basename "$0" || ++as_me=`$as_basename -- "$0" || + $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ +- X"$0" : 'X\(/\)$' \| \ +- . : '\(.\)' 2>/dev/null || ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || + echo X/"$0" | +- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } +- /^X\/\(\/\/\)$/{ s//\1/; q; } +- /^X\/\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` + +- +-# PATH needs CR, and LINENO needs CR and PATH. +-# Avoid depending upon Character Ranges. +-as_cr_letters='abcdefghijklmnopqrstuvwxyz' +-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +-as_cr_Letters=$as_cr_letters$as_cr_LETTERS +-as_cr_digits='0123456789' +-as_cr_alnum=$as_cr_Letters$as_cr_digits +- +-# The user is always right. +-if test "${PATH_SEPARATOR+set}" != set; then +- echo "#! /bin/sh" >conf$$.sh +- echo "exit 0" >>conf$$.sh +- chmod +x conf$$.sh +- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then +- PATH_SEPARATOR=';' +- else +- PATH_SEPARATOR=: +- fi +- rm -f conf$$.sh +-fi ++# CDPATH. ++$as_unset CDPATH + + +- as_lineno_1=$LINENO +- as_lineno_2=$LINENO +- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` +- test "x$as_lineno_1" != "x$as_lineno_2" && +- test "x$as_lineno_3" = "x$as_lineno_2" || { +- # Find who we are. Look in the path if we contain no path at all +- # relative or not. +- case $0 in +- *[\\/]* ) as_myself=$0 ;; +- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +-done + +- ;; +- esac +- # We did not find ourselves, most probably we were run as `sh COMMAND' +- # in which case we are not to be found in the path. +- if test "x$as_myself" = x; then +- as_myself=$0 +- fi +- if test ! -f "$as_myself"; then +- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} +- { (exit 1); exit 1; }; } +- fi +- case $CONFIG_SHELL in +- '') +- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for as_base in sh bash ksh sh5; do +- case $as_dir in +- /*) +- if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO +- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && +- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then +- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } +- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } +- CONFIG_SHELL=$as_dir/$as_base +- export CONFIG_SHELL +- exec "$CONFIG_SHELL" "$0" ${1+"$@"} +- fi;; +- esac +- done +-done +-;; +- esac ++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a +- # line-number line before each line; the second 'sed' does the real +- # work. The second script uses 'N' to pair each line-number line +- # with the numbered line, and appends trailing '-' during +- # substitution so that $LINENO is not a special case at line end. ++ # line-number line after each line using $LINENO; the second 'sed' ++ # does the real work. The second script uses 'N' to pair each ++ # line-number line with the line containing $LINENO, and appends ++ # trailing '-' during substitution so that $LINENO is not a special ++ # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the +- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) +- sed '=' <$as_myself | ++ # scripts with optimization help from Paolo Bonzini. Blame Lee ++ # E. McMahon (1931-1989) for sed's syntax. :-) ++ sed -n ' ++ p ++ /[$]LINENO/= ++ ' <$as_myself | + sed ' ++ s/[$]LINENO.*/&-/ ++ t lineno ++ b ++ :lineno + N +- s,$,-, +- : loop +- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, ++ :loop ++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop +- s,-$,, +- s,^['$as_cr_digits']*\n,, ++ s/-\n.*// + ' >$as_me.lineno && +- chmod +x $as_me.lineno || +- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} ++ chmod +x "$as_me.lineno" || ++ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the +- # original and so on. Autoconf is especially sensible to this). +- . ./$as_me.lineno ++ # original and so on. Autoconf is especially sensitive to this). ++ . "./$as_me.lineno" + # Exit status is that of the last command. + exit + } + + +-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in +- *c*,-n*) ECHO_N= ECHO_C=' +-' ECHO_T=' ' ;; +- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; +- *) ECHO_N= ECHO_C='\c' ECHO_T= ;; ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false ++fi ++ ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in ++-n*) ++ case `echo 'x\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ *) ECHO_C='\c';; ++ esac;; ++*) ++ ECHO_N='-n';; + esac + +-if expr a : '\(a\)' >/dev/null 2>&1; then ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr + else + as_expr=false + fi + + rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file ++else ++ rm -f conf$$.dir ++ mkdir conf$$.dir ++fi + echo >conf$$.file + if ln -s conf$$.file conf$$ 2>/dev/null; then +- # We could just check for DJGPP; but this test a) works b) is more generic +- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). +- if test -f conf$$.exe; then +- # Don't use ln at all; we don't have any links ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -p'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +- else +- as_ln_s='ln -s' +- fi + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +-rm -f conf$$ conf$$.exe conf$$.file ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null + + if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +@@ -1812,7 +2658,28 @@ + as_mkdir_p=false + fi + +-as_executable_p="test -f" ++if test -x / >/dev/null 2>&1; then ++ as_test_x='test -x' ++else ++ if ls -dL / >/dev/null 2>&1; then ++ as_ls_L_option=L ++ else ++ as_ls_L_option= ++ fi ++ as_test_x=' ++ eval sh -c '\'' ++ if test -d "$1"; then ++ test -d "$1/."; ++ else ++ case $1 in ++ -*)set "./$1";; ++ esac; ++ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ++ ???[sx]*):;;*)false;;esac;fi ++ '\'' sh ++ ' ++fi ++as_executable_p=$as_test_x + + # Sed expression to map a string onto a valid CPP name. + as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +@@ -1821,31 +2688,14 @@ + as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +-# IFS +-# We need space, tab and new line, in precisely that order. +-as_nl=' +-' +-IFS=" $as_nl" +- +-# CDPATH. +-$as_unset CDPATH +- + exec 6>&1 + +-# Open the log real soon, to keep \$[0] and so on meaningful, and to ++# Save the log message, to keep $[0] and so on meaningful, and to + # report actual input values of CONFIG_FILES etc. instead of their +-# values after options handling. Logging --version etc. is OK. +-exec 5>>config.log +-{ +- echo +- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +-## Running $as_me. ## +-_ASBOX +-} >&5 +-cat >&5 <<_CSEOF +- ++# values after options handling. ++ac_log=" + This file was extended by $as_me, which was +-generated by GNU Autoconf 2.59. Invocation command line was ++generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS +@@ -1853,30 +2703,18 @@ + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +-_CSEOF +-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +-echo >&5 ++on `(hostname || uname -n) 2>/dev/null | sed 1q` ++" ++ + _ACEOF + ++cat >>$CONFIG_STATUS <<_ACEOF + # Files that config.status was made for. +-if test -n "$ac_config_files"; then +- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS +-fi +- +-if test -n "$ac_config_headers"; then +- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS +-fi +- +-if test -n "$ac_config_links"; then +- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS +-fi ++config_files="$ac_config_files" + +-if test -n "$ac_config_commands"; then +- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS +-fi ++_ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF +- + ac_cs_usage="\ + \`$as_me' instantiates files from templates according to the + current configuration. +@@ -1884,7 +2722,7 @@ + Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit +- -V, --version print version number, then exit ++ -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions +@@ -1894,22 +2732,23 @@ + Configuration files: + $config_files + +-Configuration commands: +-$config_commands +- + Report bugs to ." +-_ACEOF + ++_ACEOF + cat >>$CONFIG_STATUS <<_ACEOF + ac_cs_version="\\ + config.status +-configured by $0, generated by GNU Autoconf 2.59, +- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" ++configured by $0, generated by GNU Autoconf 2.61, ++ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +-Copyright (C) 2003 Free Software Foundation, Inc. ++Copyright (C) 2006 Free Software Foundation, Inc. + This config.status script is free software; the Free Software Foundation + gives unlimited permission to copy, distribute and modify it." +-srcdir=$srcdir ++ ++ac_pwd='$ac_pwd' ++srcdir='$srcdir' ++INSTALL='$INSTALL' ++MKDIR_P='$MKDIR_P' + _ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF +@@ -1920,60 +2759,42 @@ + do + case $1 in + --*=*) +- ac_option=`expr "x$1" : 'x\([^=]*\)='` +- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` ++ ac_option=`expr "X$1" : 'X\([^=]*\)='` ++ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; +- -*) ++ *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; +- *) # This is not an option, so the user has probably given explicit +- # arguments. +- ac_option=$1 +- ac_need_defaults=false;; + esac + + case $ac_option in + # Handling of the options. +-_ACEOF +-cat >>$CONFIG_STATUS <<\_ACEOF + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; +- --version | --vers* | -V ) +- echo "$ac_cs_version"; exit 0 ;; +- --he | --h) +- # Conflict between --help and --header +- { { echo "$as_me:$LINENO: error: ambiguous option: $1 +-Try \`$0 --help' for more information." >&5 +-echo "$as_me: error: ambiguous option: $1 +-Try \`$0 --help' for more information." >&2;} +- { (exit 1); exit 1; }; };; +- --help | --hel | -h ) +- echo "$ac_cs_usage"; exit 0 ;; +- --debug | --d* | -d ) ++ --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) ++ echo "$ac_cs_version"; exit ;; ++ --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; +- --header | --heade | --head | --hea ) +- $ac_shift +- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" +- ac_need_defaults=false;; ++ --he | --h | --help | --hel | -h ) ++ echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. +- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +-Try \`$0 --help' for more information." >&5 +-echo "$as_me: error: unrecognized option: $1 +-Try \`$0 --help' for more information." >&2;} ++ -*) { echo "$as_me: error: unrecognized option: $1 ++Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + +- *) ac_config_targets="$ac_config_targets $1" ;; ++ *) ac_config_targets="$ac_config_targets $1" ++ ac_need_defaults=false ;; + + esac + shift +@@ -1989,326 +2810,437 @@ + _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF + if \$ac_cs_recheck; then +- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 +- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion ++ echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 ++ CONFIG_SHELL=$SHELL ++ export CONFIG_SHELL ++ exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + fi + + _ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF ++exec 5>>config.log ++{ ++ echo ++ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ++## Running $as_me. ## ++_ASBOX ++ echo "$ac_log" ++} >&5 + +- +- +- ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF ++_ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF ++ ++# Handling of arguments. + for ac_config_target in $ac_config_targets + do +- case "$ac_config_target" in +- # Handling of arguments. +- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; +- "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; ++ case $ac_config_target in ++ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; ++ + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 + echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac + done + ++ + # If the user did not use the arguments to specify the items to instantiate, + # then the envvar interface is used. Set only those that are not. + # We use the long form for the default assignment because of an extremely + # bizarre bug on SunOS 4.1.3. + if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files +- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands + fi + + # Have a temporary directory for convenience. Make it in the build tree +-# simply because there is no reason to put it here, and in addition, ++# simply because there is no reason against having it here, and in addition, + # creating and moving files from /tmp can sometimes cause problems. +-# Create a temporary directory, and hook for its removal unless debugging. ++# Hook for its removal unless debugging. ++# Note that there is a small window in which the directory will not be cleaned: ++# after its creation but before its name has been assigned to `$tmp'. + $debug || + { +- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 ++ tmp= ++ trap 'exit_status=$? ++ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ++' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 + } +- + # Create a (secure) tmp directory for tmp files. + + { +- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && ++ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" + } || + { +- tmp=./confstat$$-$RANDOM +- (umask 077 && mkdir $tmp) ++ tmp=./conf$$-$RANDOM ++ (umask 077 && mkdir "$tmp") + } || + { + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } + } + +-_ACEOF +- +-cat >>$CONFIG_STATUS <<_ACEOF +- + # +-# CONFIG_FILES section. ++# Set up the sed scripts for CONFIG_FILES section. + # + + # No need to generate the scripts if there are no CONFIG_FILES. + # This happens for instance when ./config.status config.h +-if test -n "\$CONFIG_FILES"; then +- # Protect against being on the right side of a sed subst in config.status. +- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; +- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF +-s,@SHELL@,$SHELL,;t t +-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t +-s,@exec_prefix@,$exec_prefix,;t t +-s,@prefix@,$prefix,;t t +-s,@program_transform_name@,$program_transform_name,;t t +-s,@bindir@,$bindir,;t t +-s,@sbindir@,$sbindir,;t t +-s,@libexecdir@,$libexecdir,;t t +-s,@datadir@,$datadir,;t t +-s,@sysconfdir@,$sysconfdir,;t t +-s,@sharedstatedir@,$sharedstatedir,;t t +-s,@localstatedir@,$localstatedir,;t t +-s,@libdir@,$libdir,;t t +-s,@includedir@,$includedir,;t t +-s,@oldincludedir@,$oldincludedir,;t t +-s,@infodir@,$infodir,;t t +-s,@mandir@,$mandir,;t t +-s,@build_alias@,$build_alias,;t t +-s,@host_alias@,$host_alias,;t t +-s,@target_alias@,$target_alias,;t t +-s,@DEFS@,$DEFS,;t t +-s,@ECHO_C@,$ECHO_C,;t t +-s,@ECHO_N@,$ECHO_N,;t t +-s,@ECHO_T@,$ECHO_T,;t t +-s,@LIBS@,$LIBS,;t t +-s,@build@,$build,;t t +-s,@build_cpu@,$build_cpu,;t t +-s,@build_vendor@,$build_vendor,;t t +-s,@build_os@,$build_os,;t t +-s,@host@,$host,;t t +-s,@host_cpu@,$host_cpu,;t t +-s,@host_vendor@,$host_vendor,;t t +-s,@host_os@,$host_os,;t t +-s,@SET_MAKE@,$SET_MAKE,;t t +-s,@ac_prefix_program@,$ac_prefix_program,;t t +-s,@subdirs@,$subdirs,;t t +-s,@LIBOBJS@,$LIBOBJS,;t t +-s,@LTLIBOBJS@,$LTLIBOBJS,;t t +-CEOF ++if test -n "$CONFIG_FILES"; then + + _ACEOF + +- cat >>$CONFIG_STATUS <<\_ACEOF +- # Split the substitutions into bite-sized pieces for seds with +- # small command number limits, like on Digital OSF/1 and HP-UX. +- ac_max_sed_lines=48 +- ac_sed_frag=1 # Number of current file. +- ac_beg=1 # First line for current file. +- ac_end=$ac_max_sed_lines # Line after last line for current file. +- ac_more_lines=: +- ac_sed_cmds= +- while $ac_more_lines; do +- if test $ac_beg -gt 1; then +- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag +- else +- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag +- fi +- if test ! -s $tmp/subs.frag; then +- ac_more_lines=false +- else +- # The purpose of the label and of the branching condition is to +- # speed up the sed processing (if there are no `@' at all, there +- # is no need to browse any of the substitutions). +- # These are the two extra sed commands mentioned above. +- (echo ':t +- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed +- if test -z "$ac_sed_cmds"; then +- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" +- else +- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" +- fi +- ac_sed_frag=`expr $ac_sed_frag + 1` +- ac_beg=$ac_end +- ac_end=`expr $ac_end + $ac_max_sed_lines` +- fi +- done +- if test -z "$ac_sed_cmds"; then +- ac_sed_cmds=cat ++ ++ ++ac_delim='%!_!# ' ++for ac_last_try in false false false false false :; do ++ cat >conf$$subs.sed <<_ACEOF ++SHELL!$SHELL$ac_delim ++PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim ++PACKAGE_NAME!$PACKAGE_NAME$ac_delim ++PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim ++PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim ++PACKAGE_STRING!$PACKAGE_STRING$ac_delim ++PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim ++exec_prefix!$exec_prefix$ac_delim ++prefix!$prefix$ac_delim ++program_transform_name!$program_transform_name$ac_delim ++bindir!$bindir$ac_delim ++sbindir!$sbindir$ac_delim ++libexecdir!$libexecdir$ac_delim ++datarootdir!$datarootdir$ac_delim ++datadir!$datadir$ac_delim ++sysconfdir!$sysconfdir$ac_delim ++sharedstatedir!$sharedstatedir$ac_delim ++localstatedir!$localstatedir$ac_delim ++includedir!$includedir$ac_delim ++oldincludedir!$oldincludedir$ac_delim ++docdir!$docdir$ac_delim ++infodir!$infodir$ac_delim ++htmldir!$htmldir$ac_delim ++dvidir!$dvidir$ac_delim ++pdfdir!$pdfdir$ac_delim ++psdir!$psdir$ac_delim ++libdir!$libdir$ac_delim ++localedir!$localedir$ac_delim ++mandir!$mandir$ac_delim ++DEFS!$DEFS$ac_delim ++ECHO_C!$ECHO_C$ac_delim ++ECHO_N!$ECHO_N$ac_delim ++ECHO_T!$ECHO_T$ac_delim ++LIBS!$LIBS$ac_delim ++build_alias!$build_alias$ac_delim ++host_alias!$host_alias$ac_delim ++target_alias!$target_alias$ac_delim ++INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim ++INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim ++INSTALL_DATA!$INSTALL_DATA$ac_delim ++am__isrc!$am__isrc$ac_delim ++CYGPATH_W!$CYGPATH_W$ac_delim ++PACKAGE!$PACKAGE$ac_delim ++VERSION!$VERSION$ac_delim ++ACLOCAL!$ACLOCAL$ac_delim ++AUTOCONF!$AUTOCONF$ac_delim ++AUTOMAKE!$AUTOMAKE$ac_delim ++AUTOHEADER!$AUTOHEADER$ac_delim ++MAKEINFO!$MAKEINFO$ac_delim ++install_sh!$install_sh$ac_delim ++STRIP!$STRIP$ac_delim ++INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim ++mkdir_p!$mkdir_p$ac_delim ++AWK!$AWK$ac_delim ++SET_MAKE!$SET_MAKE$ac_delim ++am__leading_dot!$am__leading_dot$ac_delim ++AMTAR!$AMTAR$ac_delim ++am__tar!$am__tar$ac_delim ++am__untar!$am__untar$ac_delim ++MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim ++MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim ++MAINT!$MAINT$ac_delim ++build!$build$ac_delim ++build_cpu!$build_cpu$ac_delim ++build_vendor!$build_vendor$ac_delim ++build_os!$build_os$ac_delim ++host!$host$ac_delim ++host_cpu!$host_cpu$ac_delim ++host_vendor!$host_vendor$ac_delim ++host_os!$host_os$ac_delim ++subdirs!$subdirs$ac_delim ++LIBOBJS!$LIBOBJS$ac_delim ++LTLIBOBJS!$LTLIBOBJS$ac_delim ++_ACEOF ++ ++ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 73; then ++ break ++ elif $ac_last_try; then ++ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 ++echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} ++ { (exit 1); exit 1; }; } ++ else ++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +-fi # test -n "$CONFIG_FILES" ++done ++ ++ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` ++if test -n "$ac_eof"; then ++ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ++ ac_eof=`expr $ac_eof + 1` ++fi + ++cat >>$CONFIG_STATUS <<_ACEOF ++cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof ++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end ++_ACEOF ++sed ' ++s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g ++s/^/s,@/; s/!/@,|#_!!_#|/ ++:n ++t n ++s/'"$ac_delim"'$/,g/; t ++s/$/\\/; p ++N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ++' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF ++:end ++s/|#_!!_#|//g ++CEOF$ac_eof + _ACEOF ++ ++ ++# VPATH may cause trouble with some makes, so we remove $(srcdir), ++# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and ++# trailing colons and then remove the whole line if VPATH becomes empty ++# (actually we leave an empty line to preserve line numbers). ++if test "x$srcdir" = x.; then ++ ac_vpsub='/^[ ]*VPATH[ ]*=/{ ++s/:*\$(srcdir):*/:/ ++s/:*\${srcdir}:*/:/ ++s/:*@srcdir@:*/:/ ++s/^\([^=]*=[ ]*\):*/\1/ ++s/:*$// ++s/^[^=]*=[ ]*$// ++}' ++fi ++ + cat >>$CONFIG_STATUS <<\_ACEOF +-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue +- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". +- case $ac_file in +- - | *:- | *:-:* ) # input from stdin +- cat >$tmp/stdin +- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` +- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; +- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` +- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; +- * ) ac_file_in=$ac_file.in ;; ++fi # test -n "$CONFIG_FILES" ++ ++ ++for ac_tag in :F $CONFIG_FILES ++do ++ case $ac_tag in ++ :[FHLC]) ac_mode=$ac_tag; continue;; + esac ++ case $ac_mode$ac_tag in ++ :[FHL]*:*);; ++ :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 ++echo "$as_me: error: Invalid tag $ac_tag." >&2;} ++ { (exit 1); exit 1; }; };; ++ :[FH]-) ac_tag=-:-;; ++ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; ++ esac ++ ac_save_IFS=$IFS ++ IFS=: ++ set x $ac_tag ++ IFS=$ac_save_IFS ++ shift ++ ac_file=$1 ++ shift + +- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. +- ac_dir=`(dirname "$ac_file") 2>/dev/null || ++ case $ac_mode in ++ :L) ac_source=$1;; ++ :[FH]) ++ ac_file_inputs= ++ for ac_f ++ do ++ case $ac_f in ++ -) ac_f="$tmp/stdin";; ++ *) # Look for the file first in the build tree, then in the source tree ++ # (if the path is not absolute). The absolute path cannot be DOS-style, ++ # because $ac_f cannot contain `:'. ++ test -f "$ac_f" || ++ case $ac_f in ++ [\\/$]*) false;; ++ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; ++ esac || ++ { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 ++echo "$as_me: error: cannot find input file: $ac_f" >&2;} ++ { (exit 1); exit 1; }; };; ++ esac ++ ac_file_inputs="$ac_file_inputs $ac_f" ++ done ++ ++ # Let's still pretend it is `configure' which instantiates (i.e., don't ++ # use $as_me), people would be surprised to read: ++ # /* config.h. Generated by config.status. */ ++ configure_input="Generated from "`IFS=: ++ echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." ++ if test x"$ac_file" != x-; then ++ configure_input="$ac_file. $configure_input" ++ { echo "$as_me:$LINENO: creating $ac_file" >&5 ++echo "$as_me: creating $ac_file" >&6;} ++ fi ++ ++ case $ac_tag in ++ *:-:* | *:-) cat >"$tmp/stdin";; ++ esac ++ ;; ++ esac ++ ++ ac_dir=`$as_dirname -- "$ac_file" || + $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ +- X"$ac_file" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || ++ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || + echo X"$ac_file" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- { if $as_mkdir_p; then +- mkdir -p "$ac_dir" +- else +- as_dir="$ac_dir" ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ { as_dir="$ac_dir" ++ case $as_dir in #( ++ -*) as_dir=./$as_dir;; ++ esac ++ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= +- while test ! -d "$as_dir"; do +- as_dirs="$as_dir $as_dirs" +- as_dir=`(dirname "$as_dir") 2>/dev/null || ++ while :; do ++ case $as_dir in #( ++ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( ++ *) as_qdir=$as_dir;; ++ esac ++ as_dirs="'$as_qdir' $as_dirs" ++ as_dir=`$as_dirname -- "$as_dir" || + $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ +- X"$as_dir" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || ++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || + echo X"$as_dir" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ test -d "$as_dir" && break + done +- test ! -n "$as_dirs" || mkdir $as_dirs +- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} ++ test -z "$as_dirs" || eval "mkdir $as_dirs" ++ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 ++echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } +- + ac_builddir=. + +-if test "$ac_dir" != .; then ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` +- # A "../" for each directory in $ac_dir_suffix. +- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +-else +- ac_dir_suffix= ac_top_builddir= +-fi ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix + + case $srcdir in +- .) # No --srcdir option. We are building in place. ++ .) # We are building in place. + ac_srcdir=. +- if test -z "$ac_top_builddir"; then +- ac_top_srcdir=. +- else +- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` +- fi ;; +- [\\/]* | ?:[\\/]* ) # Absolute path. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; +- ac_top_srcdir=$srcdir ;; +- *) # Relative path. +- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix +- ac_top_srcdir=$ac_top_builddir$srcdir ;; +-esac ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; ++esac ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix ++ ++ ++ case $ac_mode in ++ :F) ++ # ++ # CONFIG_FILE ++ # ++ ++ case $INSTALL in ++ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; ++ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; ++ esac ++ ac_MKDIR_P=$MKDIR_P ++ case $MKDIR_P in ++ [\\/$]* | ?:[\\/]* ) ;; ++ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; ++ esac ++_ACEOF + +-# Do not use `cd foo && pwd` to compute absolute paths, because +-# the directories may not exist. +-case `pwd` in +-.) ac_abs_builddir="$ac_dir";; +-*) +- case "$ac_dir" in +- .) ac_abs_builddir=`pwd`;; +- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; +- *) ac_abs_builddir=`pwd`/"$ac_dir";; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_builddir=${ac_top_builddir}.;; +-*) +- case ${ac_top_builddir}. in +- .) ac_abs_top_builddir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; +- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_srcdir=$ac_srcdir;; +-*) +- case $ac_srcdir in +- .) ac_abs_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; +- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_srcdir=$ac_top_srcdir;; +-*) +- case $ac_top_srcdir in +- .) ac_abs_top_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; +- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; +- esac;; ++cat >>$CONFIG_STATUS <<\_ACEOF ++# If the template does not know about datarootdir, expand it. ++# FIXME: This hack should be removed a few years after 2.60. ++ac_datarootdir_hack=; ac_datarootdir_seen= ++ ++case `sed -n '/datarootdir/ { ++ p ++ q ++} ++/@datadir@/p ++/@docdir@/p ++/@infodir@/p ++/@localedir@/p ++/@mandir@/p ++' $ac_file_inputs` in ++*datarootdir*) ac_datarootdir_seen=yes;; ++*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) ++ { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 ++echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF ++ ac_datarootdir_hack=' ++ s&@datadir@&$datadir&g ++ s&@docdir@&$docdir&g ++ s&@infodir@&$infodir&g ++ s&@localedir@&$localedir&g ++ s&@mandir@&$mandir&g ++ s&\\\${datarootdir}&$datarootdir&g' ;; + esac +- +- +- +- if test x"$ac_file" != x-; then +- { echo "$as_me:$LINENO: creating $ac_file" >&5 +-echo "$as_me: creating $ac_file" >&6;} +- rm -f "$ac_file" +- fi +- # Let's still pretend it is `configure' which instantiates (i.e., don't +- # use $as_me), people would be surprised to read: +- # /* config.h. Generated by config.status. */ +- if test x"$ac_file" = x-; then +- configure_input= +- else +- configure_input="$ac_file. " +- fi +- configure_input=$configure_input"Generated from `echo $ac_file_in | +- sed 's,.*/,,'` by configure." +- +- # First look for the input files in the build tree, otherwise in the +- # src tree. +- ac_file_inputs=`IFS=: +- for f in $ac_file_in; do +- case $f in +- -) echo $tmp/stdin ;; +- [\\/$]*) +- # Absolute (can't be DOS-style, as IFS=:) +- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +-echo "$as_me: error: cannot find input file: $f" >&2;} +- { (exit 1); exit 1; }; } +- echo "$f";; +- *) # Relative +- if test -f "$f"; then +- # Build tree +- echo "$f" +- elif test -f "$srcdir/$f"; then +- # Source tree +- echo "$srcdir/$f" +- else +- # /dev/null tree +- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +-echo "$as_me: error: cannot find input file: $f" >&2;} +- { (exit 1); exit 1; }; } +- fi;; +- esac +- done` || { (exit 1); exit 1; } + _ACEOF ++ ++# Neutralize VPATH when `$srcdir' = `.'. ++# Shell code in configure.ac might set extrasub. ++# FIXME: do we really want to maintain this feature? + cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub + $extrasub +@@ -2316,146 +3248,41 @@ + cat >>$CONFIG_STATUS <<\_ACEOF + :t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b +-s,@configure_input@,$configure_input,;t t +-s,@srcdir@,$ac_srcdir,;t t +-s,@abs_srcdir@,$ac_abs_srcdir,;t t +-s,@top_srcdir@,$ac_top_srcdir,;t t +-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +-s,@builddir@,$ac_builddir,;t t +-s,@abs_builddir@,$ac_abs_builddir,;t t +-s,@top_builddir@,$ac_top_builddir,;t t +-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out +- rm -f $tmp/stdin +- if test x"$ac_file" != x-; then +- mv $tmp/out $ac_file +- else +- cat $tmp/out +- rm -f $tmp/out +- fi ++s&@configure_input@&$configure_input&;t t ++s&@top_builddir@&$ac_top_builddir_sub&;t t ++s&@srcdir@&$ac_srcdir&;t t ++s&@abs_srcdir@&$ac_abs_srcdir&;t t ++s&@top_srcdir@&$ac_top_srcdir&;t t ++s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t ++s&@builddir@&$ac_builddir&;t t ++s&@abs_builddir@&$ac_abs_builddir&;t t ++s&@abs_top_builddir@&$ac_abs_top_builddir&;t t ++s&@INSTALL@&$ac_INSTALL&;t t ++s&@MKDIR_P@&$ac_MKDIR_P&;t t ++$ac_datarootdir_hack ++" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out ++ ++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && ++ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && ++ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && ++ { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' ++which seems to be undefined. Please make sure it is defined." >&5 ++echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' ++which seems to be undefined. Please make sure it is defined." >&2;} + +-done +-_ACEOF +-cat >>$CONFIG_STATUS <<\_ACEOF +- +-# +-# CONFIG_COMMANDS section. +-# +-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue +- ac_dest=`echo "$ac_file" | sed 's,:.*,,'` +- ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` +- ac_dir=`(dirname "$ac_dest") 2>/dev/null || +-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$ac_dest" : 'X\(//\)[^/]' \| \ +- X"$ac_dest" : 'X\(//\)$' \| \ +- X"$ac_dest" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X"$ac_dest" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- { if $as_mkdir_p; then +- mkdir -p "$ac_dir" +- else +- as_dir="$ac_dir" +- as_dirs= +- while test ! -d "$as_dir"; do +- as_dirs="$as_dir $as_dirs" +- as_dir=`(dirname "$as_dir") 2>/dev/null || +-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$as_dir" : 'X\(//\)[^/]' \| \ +- X"$as_dir" : 'X\(//\)$' \| \ +- X"$as_dir" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X"$as_dir" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- done +- test ! -n "$as_dirs" || mkdir $as_dirs +- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} +- { (exit 1); exit 1; }; }; } +- +- ac_builddir=. ++ rm -f "$tmp/stdin" ++ case $ac_file in ++ -) cat "$tmp/out"; rm -f "$tmp/out";; ++ *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; ++ esac ++ ;; + +-if test "$ac_dir" != .; then +- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` +- # A "../" for each directory in $ac_dir_suffix. +- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +-else +- ac_dir_suffix= ac_top_builddir= +-fi + +-case $srcdir in +- .) # No --srcdir option. We are building in place. +- ac_srcdir=. +- if test -z "$ac_top_builddir"; then +- ac_top_srcdir=. +- else +- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` +- fi ;; +- [\\/]* | ?:[\\/]* ) # Absolute path. +- ac_srcdir=$srcdir$ac_dir_suffix; +- ac_top_srcdir=$srcdir ;; +- *) # Relative path. +- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix +- ac_top_srcdir=$ac_top_builddir$srcdir ;; +-esac + +-# Do not use `cd foo && pwd` to compute absolute paths, because +-# the directories may not exist. +-case `pwd` in +-.) ac_abs_builddir="$ac_dir";; +-*) +- case "$ac_dir" in +- .) ac_abs_builddir=`pwd`;; +- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; +- *) ac_abs_builddir=`pwd`/"$ac_dir";; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_builddir=${ac_top_builddir}.;; +-*) +- case ${ac_top_builddir}. in +- .) ac_abs_top_builddir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; +- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_srcdir=$ac_srcdir;; +-*) +- case $ac_srcdir in +- .) ac_abs_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; +- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_srcdir=$ac_top_srcdir;; +-*) +- case $ac_top_srcdir in +- .) ac_abs_top_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; +- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; +- esac;; +-esac +- +- +- { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 +-echo "$as_me: executing $ac_dest commands" >&6;} +- case $ac_dest in +- default ) chmod +x ${srcdir}/config/install-sh ${srcdir}/config/mkinstalldirs ;; + esac +-done +-_ACEOF + +-cat >>$CONFIG_STATUS <<\_ACEOF ++done # for ac_tag ++ + + { (exit 0); exit 0; } + _ACEOF +@@ -2492,7 +3319,10 @@ + # Remove --cache-file and --srcdir arguments so they do not pile up. + ac_sub_configure_args= + ac_prev= +- for ac_arg in $ac_configure_args; do ++ eval "set x $ac_configure_args" ++ shift ++ for ac_arg ++ do + if test -n "$ac_prev"; then + ac_prev= + continue +@@ -2515,123 +3345,123 @@ + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + ;; +- *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;; ++ *) ++ case $ac_arg in ++ *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ esac ++ ac_sub_configure_args="$ac_sub_configure_args '$ac_arg'" ;; + esac + done + + # Always prepend --prefix to ensure using the same prefix + # in subdir configurations. +- ac_sub_configure_args="--prefix=$prefix $ac_sub_configure_args" ++ ac_arg="--prefix=$prefix" ++ case $ac_arg in ++ *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ esac ++ ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args" ++ ++ # Pass --silent ++ if test "$silent" = yes; then ++ ac_sub_configure_args="--silent $ac_sub_configure_args" ++ fi + + ac_popdir=`pwd` + for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue + + # Do not complain, so a configure script can configure whichever + # parts of a large source tree are present. +- test -d $srcdir/$ac_dir || continue ++ test -d "$srcdir/$ac_dir" || continue + +- { echo "$as_me:$LINENO: configuring in $ac_dir" >&5 +-echo "$as_me: configuring in $ac_dir" >&6;} +- { if $as_mkdir_p; then +- mkdir -p "$ac_dir" +- else +- as_dir="$ac_dir" ++ ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)" ++ echo "$as_me:$LINENO: $ac_msg" >&5 ++ echo "$ac_msg" >&6 ++ { as_dir="$ac_dir" ++ case $as_dir in #( ++ -*) as_dir=./$as_dir;; ++ esac ++ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= +- while test ! -d "$as_dir"; do +- as_dirs="$as_dir $as_dirs" +- as_dir=`(dirname "$as_dir") 2>/dev/null || ++ while :; do ++ case $as_dir in #( ++ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( ++ *) as_qdir=$as_dir;; ++ esac ++ as_dirs="'$as_qdir' $as_dirs" ++ as_dir=`$as_dirname -- "$as_dir" || + $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ +- X"$as_dir" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || ++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || + echo X"$as_dir" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ test -d "$as_dir" && break + done +- test ! -n "$as_dirs" || mkdir $as_dirs +- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} ++ test -z "$as_dirs" || eval "mkdir $as_dirs" ++ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 ++echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } +- + ac_builddir=. + +-if test "$ac_dir" != .; then ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` +- # A "../" for each directory in $ac_dir_suffix. +- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +-else +- ac_dir_suffix= ac_top_builddir= +-fi ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix + + case $srcdir in +- .) # No --srcdir option. We are building in place. ++ .) # We are building in place. + ac_srcdir=. +- if test -z "$ac_top_builddir"; then +- ac_top_srcdir=. +- else +- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` +- fi ;; +- [\\/]* | ?:[\\/]* ) # Absolute path. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; +- ac_top_srcdir=$srcdir ;; +- *) # Relative path. +- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix +- ac_top_srcdir=$ac_top_builddir$srcdir ;; +-esac +- +-# Do not use `cd foo && pwd` to compute absolute paths, because +-# the directories may not exist. +-case `pwd` in +-.) ac_abs_builddir="$ac_dir";; +-*) +- case "$ac_dir" in +- .) ac_abs_builddir=`pwd`;; +- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; +- *) ac_abs_builddir=`pwd`/"$ac_dir";; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_builddir=${ac_top_builddir}.;; +-*) +- case ${ac_top_builddir}. in +- .) ac_abs_top_builddir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; +- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_srcdir=$ac_srcdir;; +-*) +- case $ac_srcdir in +- .) ac_abs_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; +- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_srcdir=$ac_top_srcdir;; +-*) +- case $ac_top_srcdir in +- .) ac_abs_top_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; +- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; +- esac;; ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; + esac ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + +- cd $ac_dir ++ cd "$ac_dir" + + # Check for guested configure; otherwise get Cygnus style configure. +- if test -f $ac_srcdir/configure.gnu; then +- ac_sub_configure="$SHELL '$ac_srcdir/configure.gnu'" +- elif test -f $ac_srcdir/configure; then +- ac_sub_configure="$SHELL '$ac_srcdir/configure'" +- elif test -f $ac_srcdir/configure.in; then +- ac_sub_configure=$ac_configure ++ if test -f "$ac_srcdir/configure.gnu"; then ++ ac_sub_configure=$ac_srcdir/configure.gnu ++ elif test -f "$ac_srcdir/configure"; then ++ ac_sub_configure=$ac_srcdir/configure ++ elif test -f "$ac_srcdir/configure.in"; then ++ # This should be Cygnus configure. ++ ac_sub_configure=$ac_aux_dir/configure + else + { echo "$as_me:$LINENO: WARNING: no configuration information is in $ac_dir" >&5 + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;} +@@ -2643,21 +3473,21 @@ + # Make the cache file name correct relative to the subdirectory. + case $cache_file in + [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;; +- *) # Relative path. +- ac_sub_cache_file=$ac_top_builddir$cache_file ;; ++ *) # Relative name. ++ ac_sub_cache_file=$ac_top_build_prefix$cache_file ;; + esac + +- { echo "$as_me:$LINENO: running $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5 +-echo "$as_me: running $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;} ++ { echo "$as_me:$LINENO: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5 ++echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;} + # The eval makes quoting arguments work. +- eval $ac_sub_configure $ac_sub_configure_args \ +- --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir || ++ eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \ ++ --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" || + { { echo "$as_me:$LINENO: error: $ac_sub_configure failed for $ac_dir" >&5 + echo "$as_me: error: $ac_sub_configure failed for $ac_dir" >&2;} + { (exit 1); exit 1; }; } + fi + +- cd $ac_popdir ++ cd "$ac_popdir" + done + fi + +diff -Naur insight-6.8.orig/itcl/configure.ac insight-6.8.new/itcl/configure.ac +--- insight-6.8.orig/itcl/configure.ac 1970-01-01 01:00:00.000000000 +0100 ++++ insight-6.8.new/itcl/configure.ac 2008-08-18 18:56:39.000000000 +0200 +@@ -0,0 +1,25 @@ ++dnl Process this file with autoconf to produce configure. ++ ++AC_INIT(itcl/generic/itcl.h) ++AC_CONFIG_AUX_DIR(..) ++AM_INIT_AUTOMAKE(itcl, 3.3) ++AM_MAINTAINER_MODE ++AC_CANONICAL_HOST ++ ++# Itcl et al require tclsh and wish. Since they have not been built yet, ++# we simply set the environment variables TCLSH_PROG and WISH_PROG so that ++# the two TEA macros do not run. ++case "${host}" in ++ *-*-cywin* | *-*-mingw* ) ++ platform="win" ++ ;; ++ *) ++ platform="unix" ++ ;; ++esac ++ ++export TCLSH_PROG=`pwd`/../tcl/${platform}/tclsh ++export WISH_PROG=`pwd`/../tk/${platform}/wish ++ ++AC_CONFIG_SUBDIRS(itcl itk iwidgets) ++AC_OUTPUT(Makefile) +diff -Naur insight-6.8.orig/itcl/configure.in insight-6.8.new/itcl/configure.in +--- insight-6.8.orig/itcl/configure.in 2006-07-13 17:41:58.000000000 +0200 ++++ insight-6.8.new/itcl/configure.in 1970-01-01 01:00:00.000000000 +0100 +@@ -1,34 +0,0 @@ +-dnl This file is an input file used by the GNU "autoconf" program to +-dnl generate the file "configure", which is run during [incr Tcl] +-dnl installation to configure the system for the local environment. +-dnl RCS: $Id: configure.in,v 1.12.150.3 2001/05/18 02:21:42 mdejong Exp $ +- +-# CYGNUS LOCAL +-AC_PREREQ(2.5) +- +-AC_INIT(itcl/generic/itcl.h) +-AC_CANONICAL_HOST +- +-# Note, we don't use the files in the config subdirectory! +-AC_CONFIG_AUX_DIR(..) +-AC_PROG_MAKE_SET +-# END CYGNUS LOCAL +- +-# ----------------------------------------------------------------------- +-# +-# Set up a new default --prefix. If a previous installation of +-# [incr Tcl] can be found searching $PATH use that directory. +-# +-# ----------------------------------------------------------------------- +- +-AC_PREFIX_DEFAULT(/usr/local) +-AC_PREFIX_PROGRAM(itclsh) +- +-AC_CONFIG_SUBDIRS(itcl itk) +-# Source-Navigator does not use the iwidgets packag +-if test ! -d ${srcdir}/../snavigator || test -d ${srcdir}/../gdb/gdbtk ; then +- AC_CONFIG_SUBDIRS(iwidgets) +-fi +- +-AC_OUTPUT(Makefile, +- chmod +x ${srcdir}/config/install-sh ${srcdir}/config/mkinstalldirs) +diff -Naur insight-6.8.orig/itcl/config.vc insight-6.8.new/itcl/config.vc +--- insight-6.8.orig/itcl/config.vc 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/config.vc 1970-01-01 01:00:00.000000000 +0100 +@@ -1,73 +0,0 @@ +-###################################################################### +-# +-# Edit for your local configuration. This should be the only file +-# that needs editing to build [Incr Tcl/Tk]. +-# +-# RCS: @(#) $Id: config.vc,v 1.3 2003/01/21 21:04:23 hunt Exp $ +-###################################################################### +- +-# only affects the linker and resource compiler +-# pick from: +-# ALPHA|ARM|IX86|MIPS|MIPS16|MIPSR41XX|PPC|SH3|SH4 +-# +-# Or set to IA64 to rearrange everything to use the Intel IA64 SDK. +-# +-MACHINE = IX86 +- +- +-# are we MSVC++ version 5 or 6 ? +-# +-MSDEV_VER = 6 +- +-# Where is MSVC++ located? +-# +-MSDEVROOT = C:\Dev\DevStudio60 +- +-# Where is Tcl ? +-# +-TCLROOT = D:\tclpro_ws\tcl +- +-# Does the above path point to the Tcl install or sources ? +-# +-ISTCLINSTALL = 0 +- +-# Where is Tk ? Only needed for a build from the sources. +-# +-!if $(ISTCLINSTALL) == 0 +-TKROOT = D:\tclpro_ws\tk +-!endif +- +-# Where are we installing to? When TCLROOT is already the install, this +-# is bypassed. +-# +-!if $(ISTCLINSTALL) == 0 +-INSTALLDIR = c:\progra~1\tcl +-!else +-INSTALLDIR = $(TCLROOT) +-!endif +- +-# What Tcl version are we grabbing ? +-# +-TCLMAJOR = 8 +-TCLMINOR = 4 +- +-TCL_VERSION = $(TCLMAJOR)$(TCLMINOR) +-TCL_DOTVERSION = $(TCLMAJOR).$(TCLMINOR) +- +- +-!if "$(MACHINE)" == "IA64" +-# untested logic path +-# +-vcvars = "c:\ia64sdk17\vcvars32.bat" +-!elseif $(MSDEV_VER) == 5 +-vcvars = "$(MSDEVROOT)\vc\bin\vcvars32.bat" +-!elseif $(MSDEV_VER) == 6 +-vcvars = "$(MSDEVROOT)\vc98\bin\vcvars32.bat" +-!endif +- +-rc32 = rc +-cc32 = cl +-link32 = link +-lib32 = lib +-cvtres32 = cvtres +- +diff -Naur insight-6.8.orig/itcl/cygtcl.m4 insight-6.8.new/itcl/cygtcl.m4 +--- insight-6.8.orig/itcl/cygtcl.m4 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/cygtcl.m4 1970-01-01 01:00:00.000000000 +0100 +@@ -1,294 +0,0 @@ +-# CYGNUS LOCAL +-# +-# This entire file is Cygnus local, it contains a set of cross +-# platform autoconf macros to be used by Tcl extensions. +- +-# FIXME: There seems to be a problem with variable +-# names that still need an expansion (like $foo_FILE) +-# since another eval might be needed in these macros. +- +-#-------------------------------------------------------------------- +-# TCL_TOOL_PATH +-# +-# Return a file path that the build system tool will understand. +-# This path might be different than the path used in the +-# Makefiles. +-# +-# Arguments: +-# +-# VAR +-# PATH +-# +-# Results: +-# +-# +-# Example: +-# +-# TCL_TOOL_PATH(TCL_CC_PATH, /usr/local/compiler) +-# +-#-------------------------------------------------------------------- +- +-AC_DEFUN(TCL_TOOL_PATH, [ +- val=$2 +- +- if test "$val" = "" ; then +- AC_MSG_ERROR([Empty value for variable $1]) +- fi +- +- case "${host}" in +- *windows32* | *mingw32*) +- if test "${CYGPATH}" = ""; then +- AC_MSG_ERROR([CYGPATH variable is not defined.]) +- elif test "${CYGPATH}" = "echo"; then +- # No cygpath when cross compiling +- $1=$val +- else +- # store literal argument text in a variable +- val=$val +- # Convert Cygwin to Windows path (/tmp/foo -> C:\Tmp\foo) +- val="`${CYGPATH} $val`" +- # Convert path like C:\Tmp\foo to C:/Tmp/foo +- $1="`echo $val | sed -e s#\\\\\\\\#/#g`" +- fi +- ;; +- *) +- # Default to a no-op under Unix or Cygwin gcc +- $1=$val +- ;; +- esac +-]) +- +-# FIXME: It would simplify things if no SUFFIX had to be passed +-# into these LONGNAME macros. Using the TCL_SHARED_LIB_SUFFIX +-# and TCL_UNSHARED_LIB_SUFFIX from tclConfig.sh might do the trick! +- +-#-------------------------------------------------------------------- +-# TCL_TOOL_STATIC_LIB_LONGNAME +-# +-# Return static library name in the "long format" understood by +-# the build tools. This might involve prepending a suffix +-# and appending version information to the library name. +-# +-# Arguments: +-# +-# VAR +-# LIBNAME +-# SUFFIX +-# +-# Depends on: +-# TCL_DBGX +-# TCL_VENDOR_PREFIX +-# +-# Example: +-# +-# TCL_TOOL_STATIC_LIB_LONGNAME(TCL_LIB, tcl, $TCL_UNSHARED_LIB_SUFFIX) +-# +-# Results: +-# +-# TCL_LIB=libtcl83.a +-# +-# or +-# +-# TCL_LIB=tcl83.lib +-# +-#-------------------------------------------------------------------- +- +-AC_DEFUN(TCL_TOOL_STATIC_LIB_LONGNAME, [ +- libname=$2 +- suffix=$3 +- +- case "${host}" in +- *windows32* | *mingw32*) +- if test "$GCC" != yes; then +- eval "long_libname=\"${TCL_VENDOR_PREFIX}${libname}${suffix}\"" +- else +- eval "long_libname=\"lib${TCL_VENDOR_PREFIX}${libname}${suffix}\"" +- fi +- ;; +- *) +- eval "long_libname=\"lib${TCL_VENDOR_PREFIX}${libname}${suffix}\"" +- ;; +- esac +- +- eval "long_libname=${long_libname}" +- +- # Trick to replace DBGX with TCL_DBGX +- DBGX='${TCL_DBGX}' +- eval "long_libname=${long_libname}" +- +- $1=$long_libname +-]) +- +-#-------------------------------------------------------------------- +-# TCL_TOOL_SHARED_LIB_LONGNAME +-# +-# Return the shared library name in the "long format" understood by +-# the build tools. This might involve prepending a suffix +-# and appending version information to the shared library name. +-# +-# Arguments: +-# +-# VAR +-# LIBNAME +-# SUFFIX +-# +-# Depends on: +-# TCL_DBGX +-# TCL_VENDOR_PREFIX +-# +-# Example: +-# +-# TCL_TOOL_SHARED_LIB_LONGNAME(TCL_SHLIB, tcl, $TCL_SHARED_LIB_SUFFIX) +-# +-# Results: +-# The above example could result in the following. +-# +-# TCL_SHLIB=libtcl83.so +-# +-# or +-# +-# TCL_SHLIB=tcl83.dll +-# +-#-------------------------------------------------------------------- +- +-AC_DEFUN(TCL_TOOL_SHARED_LIB_LONGNAME, [ +- libname=$2 +- suffix=$3 +- +- case "${host}" in +- *windows32* | *mingw32* | *cygwin*) +- eval "long_libname=\"${TCL_VENDOR_PREFIX}${libname}${suffix}\"" +- ;; +- *) +- eval "long_libname=\"lib${TCL_VENDOR_PREFIX}${libname}${suffix}\"" +- ;; +- esac +- +- eval "long_libname=${long_libname}" +- +- # Trick to replace DBGX with TCL_DBGX +- DBGX='${TCL_DBGX}' +- eval "long_libname=${long_libname}" +- +- $1=$long_libname +-]) +- +-#-------------------------------------------------------------------- +-# TCL_TOOL_LIB_SHORTNAME +-# +-# Return the library name in the "short format" understood by +-# the build tools. This might involve prepending a suffix +-# and appending version information to the library name. +-# The VC++ compiler does not support short library names +-# so we just use the static import lib name in that case. +-# +-# Arguments: +-# +-# VAR +-# LIBNAME +-# VERSION +-# +-# Depends on: +-# TCL_LIB_VERSIONS_OK +-# TCL_DBGX +-# SHARED_BUILD +-# +-# +-# Example: +-# +-# TCL_TOOL_LIB_SHORTNAME(TCL_LIB, tcl, 8.3) +-# +-# Results: +-# The above example could result in the following. +-# +-# TCL_LIB=-ltcl83 +-# +-# or +-# +-# TCL_LIB=tcl83.lib +-# +-#-------------------------------------------------------------------- +- +-AC_DEFUN(TCL_TOOL_LIB_SHORTNAME, [ +- libname=$2 +- version=$3 +- +- # If the . character is not allowed in lib name, remove it from version +- if test "${TCL_LIB_VERSIONS_OK}" != "ok"; then +- version=`echo $version | tr -d .` +- fi +- +- short_libname="-l${TCL_VENDOR_PREFIX}${libname}${version}\${TCL_DBGX}" +- $1=$short_libname +-]) +- +-#-------------------------------------------------------------------- +-# TCL_TOOL_LIB_SPEC +-# +-# Return the "lib spec format" understood by the build tools. +-# +-# Arguments: +-# +-# VAR +-# DIR +-# LIBARG +-# +-# Depends on: +-# +-# +-# Example: +-# +-# TCL_TOOL_LIB_SPEC(SPEC, /usr/lib, -ltcl) +-# +-# Results: +-# The above example could result in the following. +-# +-# SPEC="-L/usr/lib -ltcl83" +-# +-#-------------------------------------------------------------------- +- +-AC_DEFUN(TCL_TOOL_LIB_SPEC, [ +- case "${host}" in +- *windows32* | *mingw32*) +- if test "$GCC" != yes; then +- TCL_TOOL_PATH($1, "$2/$3") +- else +- TCL_TOOL_PATH(dirname, $2) +- $1="-L${dirname} $3" +- fi +- ;; +- *) +- $1="-L$2 $3" +- ;; +- esac +-]) +- +-#-------------------------------------------------------------------- +-# TCL_TOOL_LIB_PATH +-# +-# Return the "lib path format" understood by the build tools. +-# Typically, this is the fully qualified path name of the library. +-# +-# Arguments: +-# +-# VAR +-# DIR +-# LIBARG +-# +-# Depends on: +-# +-# +-# Example: +-# +-# TCL_TOOL_LIB_PATH(TMP_PATH, /usr/lib, libtcl83.a) +-# +-# Results: +-# The above example could result in the following. +-# +-# TMP_PATH="/usr/lib/libtcl83.a" +-# +-#-------------------------------------------------------------------- +- +-AC_DEFUN(TCL_TOOL_LIB_PATH, [ +- TCL_TOOL_PATH($1, "$2/$3") +-]) +diff -Naur insight-6.8.orig/itcl/doc/README insight-6.8.new/itcl/doc/README +--- insight-6.8.orig/itcl/doc/README 2003-01-21 21:40:25.000000000 +0100 ++++ insight-6.8.new/itcl/doc/README 1970-01-01 01:00:00.000000000 +0100 +@@ -1,14 +0,0 @@ +- +- OVERVIEW +------------------------------------------------------------------------- +- If you are just getting started with [incr Tcl], download the +- "tutorial" from the itcl web site: +- +- http://www.tcltk.com/itcl/ +- +- This has over 100 pages of introductory text and code examples. +- I didn't include it here, since it adds another megabyte to the +- distribution, and long-time users won't need it. +- +- You can find the same tutorial in the book "Tcl/Tk Tools" +- published by O'Reilly and Associates. +diff -Naur insight-6.8.orig/itcl/INCOMPATIBLE insight-6.8.new/itcl/INCOMPATIBLE +--- insight-6.8.orig/itcl/INCOMPATIBLE 2003-01-21 21:40:24.000000000 +0100 ++++ insight-6.8.new/itcl/INCOMPATIBLE 1970-01-01 01:00:00.000000000 +0100 +@@ -1,102 +0,0 @@ +- +-As much as possible, I've tried to make itcl3.0 backward-compatible +-with earlier releases. The class definition syntax has not changed +-at all from itcl2.2, and the old itcl1.x syntax is still supported. +-But you'll notice changes related to namespaces. John Ousterhout +-adopted a slightly different namespace model for Tcl8. The syntax +-of the "namespace" command is different, as well as the semantics +-for command/variable lookups and imports. Also, John Ousterhout +-failed to adopt ensembles into the Tcl core, so itcl can't add +-functions like "info objects" and "info classes" into the usual "info" +-command. These functions have been moved to a new "itcl::find" command. +- +-The [incr Widgets] package has changed quite a bit. There are many +-new widgets, and some of the existing widgets were streamlined--some +-of the widget options were removed to improve performance. For details, +-see the "CHANGES" file in the iwidgets3.0.0 directory. Because there +-are a lot of changes, this distribution contains the iwidgets2.2.0 +-package, which is backward-compatible with the existing [incr Widgets]. +- +-Following is a quick summary of changes, to serve as a porting guide. +- +- +-----------------------------------|------------------------------------- +- You have code like this... | change to this... +-----------------------------------|------------------------------------- +- namespace foo {...} | namespace eval foo {...} +- | +- delete namespace foo | namespace delete foo +- | +- info which -namespace $name | if {![string match ::* $name]} { +- | set name [namespace current]::$name +- | } +- | +- info context | namespace current +- | +- info objects ... | itcl::find objects ... +- | +- info classes ... | itcl::find classes ... +- | +- In itcl2.2, commands/classes | In Tcl8.0, all commands/classes that +- could be found in any namespace | are not in the global namespace must +- in a hierarchy. So within a | be qualified. For example, the +- namespace like "iwidgets" you | "iwidgets" namespace has a bunch of +- could use simple names like: | classes within it. You must always +- | refer to these classes with qualified +- | names, like this: +- | +- Labeledwidget::alignlabels ... | iwidgets::Labeledwidget::alignlabels ... +- Pane #auto | iwidgets::Pane #auto +- | +- | +- In itcl2.2, the "global" | In Tcl8.0, the "variable" command is +- command was used to access | used to access variables in a namespace: +- variables in a namespace: | +- | +- namespace foo { | namespace eval foo { +- variable x 0 | variable x 0 +- proc example {} { | proc example {} { +- global x | variable x +- return $x | return $x +- } | } +- } | } +- | +- | +- public itk_component add... | itk_component add ... +- protected itk_component add... | itk_component add -protected ... +- private itk_component add... | itk_component add -private ... +- | +- | +- +- OTHER DIFFERENCES +------------------------------------------------------------------------- +-- You can now use instance variables (along with the usual common +- variables) with the "scope" command. Thus, you're no longer forced +- to use the trick with a common array like: [scope modes($this)] +- +-- All widget/mega-widget access commands (e.g., ".foo.bar") are +- installed in the global namespace. Therefore, they can be accessed +- from any namespace context. +- +-- The [incr Widgets] package used to be loaded by default. You must +- now use the "package require" command to load it explicitly: +- +- package require Iwidgets <-- loads the lastest (iwidgets3.0.0) +- package require -exact Iwidgets 2.2 <-- loads the older release +- +-- Command/variable names are now reported with fully-qualified names +- in "info" inquiries and in error messages. +- +-- No public/protected/private declarations outside of class definitions +- +-- The "scope" command used to be more or less the same as the "code" +- command. In itcl3.x, "scope" is only for variables, and if a variable +- is not recognized, you'll get an error. +- +-- The "code" command used to return a value like "@scope ...". It now +- returns "namespace inscope ...", to be compatible with Tcl8. +- +-- The prototypes for Itcl_RegisterC and Itcl_FindC have changed. You +- can now include ClientData when you register C functions. Also, there +- is a new Itcl_RegisterObjC function for (objc,objv)-style command +- handlers. +diff -Naur insight-6.8.orig/itcl/itcl/aclocal.m4 insight-6.8.new/itcl/itcl/aclocal.m4 +--- insight-6.8.orig/itcl/itcl/aclocal.m4 2003-01-21 21:40:26.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/aclocal.m4 2008-08-18 18:56:39.000000000 +0200 +@@ -1,2 +1 @@ +-builtin(include,../tcl.m4) +-builtin(include,../cygtcl.m4) ++builtin(include,tclconfig/tcl.m4) +diff -Naur insight-6.8.orig/itcl/itcl/ChangeLog insight-6.8.new/itcl/itcl/ChangeLog +--- insight-6.8.orig/itcl/itcl/ChangeLog 1970-01-01 01:00:00.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/ChangeLog 2008-08-18 18:56:39.000000000 +0200 +@@ -0,0 +1,1902 @@ ++2005-03-25 Jeff Hobbs ++ ++ * Makefile.in: OS X patches from Steffen ++ * itcl/generic/itcl_cmds.c (initScript): ++ * itk/generic/itk_cmds.c (initScript): ++ ++2005-03-18 Jeff Hobbs ++ ++ * itcl/Makefile.in, itk/Makefile.in (AR): use @AR@ ++ * tclconfig/tcl.m4, itcl/configure, itk/configure: update to TEA 3.2 ++ ++2005-02-14 Jean-Claude Wippler ++ ++ * configure.in, tclconfig/tcl.m4: update to TEA 3.2 ++ * configure, itcl/configure, itk/configure: regen with autoconf 2.59 ++ ++2005-02-11 Jeff Hobbs ++ ++ * itcl/generic/itcl_methods.c (Itcl_GetMemberCode): fixed c99 var ++ decl from previous patch. ++ ++2005-02-10 Jeff Hobbs ++ ++ * itcl/generic/itclInt.h: [Bug 1115085] (dejong) Fix crash ++ * itcl/generic/itcl_bicmds.c: with TclInitCompiledLocals reliance ++ * itcl/generic/itcl_methods.c: on bytecode ptr type ++ ++2005-01-24 Jeff Hobbs ++ ++ * itcl/configure, itk/configure: update to TEA 3.1 r1.54, removes ++ * configure, tclconfig/tcl.m4: DBGX, updates default opt levels ++ ++2004-12-11 David Gravereaux ++ ++ * itcl/generic/itc_class.c: instansiation of an object must return ++ an FQN. ++ ++2004-11-23 David Gravereaux ++ ++ * itcl/generic/itcl_cmds.c: Fix for [Bug 1047544] Forward loading ++ * itcl/generic/itcl_util.c: from an 8.4 build loading into in 8.5 ++ is not possible at this time. ++ ++2004-11-11 David Gravereaux ++ ++ * itk/Makefile.in: Possible fix for 1049579, but untested. ++ ++2004-09-21 David Gravereaux ++ ++ * itcl/generic/itcl_utils.c: Error code internal flag abuse ++ fixed. From Don Porter. [Bug 1032210] ++ ++ * makefile.vc: Some VC7 support. ++ * itcl/win/makefile.vc: ++ * itk/win/makefile.vc: Had to include the win directory to Tcl's ++ includes since Tcl has had an order change recently. ++ ++2004-09-19 David Gravereaux ++ ++ * itcl/doc/*.n: Tree name for commands changed from "[Incr Tcl]" ++ to "[Incr Tcl] Commands". Started to add exported API docs under ++ the new "[Incr Tcl] Library Procedures" tree. ++ ++ * itcl/doc/RegisterC.3 (new): docs for Itcl_RegisterC and ++ Itcl_RegisterObjC. More to be added over time. ++ ++2004-09-07 Jeff Hobbs ++ ++ * itcl/configure, itk/configure, tclconfig/tcl.m4: updated TEA m4 ++ to support evc4 Win/CE builds ++ ++2004-08-31 David Gravereaux ++ ++ * itcl/doc/body.n ++ * itcl/doc/class.n: ++ * itcl/doc/configbody.n:: ++ * itcl/doc/delete.n: ++ * itcl/doc/ensemble.n: ++ * itcl/doc/find.n: ++ * itcl/doc/is.n: ++ * itcl/doc/local.n: Updated code examples to use the fully ++ qualified Itcl command names. A few references to the itcl ++ namespace command are still there and need to be changed at ++ some point. ++ ++ * itk/doc/Archetype.n: ++ * itk/doc/Toplevel.n: ++ * itk/doc/usual.n: ++ * itk/doc/Widget.n: Ditto as above. ++ ++2004-08-17 Jeff Hobbs ++ ++ * */Makefile.in (install-doc): sed in man.macros on doc install ++ [Bug 631378] (rmax) ++ ++ * */Makefile.in (VPATH): move $(srcdir)/unix to front (unused) to ++ get around bug in autoconf that strips $(srcdir) from first ++ element when building in the source directory. ++ ++ * itk/configure: remove extraneous --with-itcl AC macro ++ * itk/configure.in: TEA_PATH_CONFIG handles this for us ++ ++ * itcl/itclConfig.sh.in: must be absolute path to ++ * itcl/configure.in (itcl_SRC_DIR): configure in the srcdir. ++ * itcl/configure: [Bug 582951] ++ ++2004-08-10 Jeff Hobbs ++ ++ * README, TODO: version, info updates ++ ++ * Makefile.in, configure, configure.in: Update to TEA 3.1 ++ * tcl.m4 (removed): cleanup build system to only ++ * config/config.guess (removed): provide the parts that are ++ * config/config.sub (removed): necessary to itcl and itk. ++ * config/install-sh (removed): Update to 3.3.0 as version ++ * tclconfig/install-sh (added): throughout. ++ * tclconfig/tcl.m4 (added): ++ * itcl/generic/itcl.h: ++ * itcl/Makefile.in, itcl/aclocal.m4, itcl/configure: ++ * itcl/configure.in, itcl/itclConfig.sh.in, itcl/pkgIndex.tcl.in: ++ * itk/Makefile.in, itk/aclocal.m4, itk/configure, itk/configure.in: ++ * itk/itkConfig.sh.in, itk/pkgIndex.tcl.in, itk/generic/itk.h: ++ ++ * itcl/mac/MW_ItclHeader.pch (removed) Removed Mac Classic ++ * itcl/mac/itclMacApplication.r (removed) sources. There were ++ * itcl/mac/itclMacLibrary.r (removed) no longer maintained, ++ * itcl/mac/itclMacResource.r (removed) and Tcl has dropped ++ * itcl/mac/itclMacTclCode.r (removed) ongoing Mac Classic ++ * itcl/mac/itclStaticApplication.r (removed) support as well (in ++ * itcl/mac/pkgIndex.tcl (removed) favor of OS X). ++ * itk/mac/MW_ItkHeader.pch (removed) ++ * itk/mac/itkMacApplication.r (removed) ++ * itk/mac/itkMacLibrary.r (removed) ++ * itk/mac/itkMacResource.r (removed) ++ * itk/mac/itkMacTclCode.r (removed) ++ * itk/mac/itkStaticApplication.r (removed) ++ * itk/mac/pkgIndex.tcl (removed) ++ * itk/mac/tclIndex (removed) ++ ++2004-04-29 davygrvy ++ ++ * itcl/tests/import.test: fixed [subst] problem. ++ ++ * itcl/win/makefile.vc: ++ * itcl/win/nmakehlp.c: ++ * itk/win/makefile.vc: ++ * itk/win/nmakehlp.c: ++ * rules.vc: brain dump ++ ++ * itcl/Makefile.in: test target now calling tcltest correctly ++ ++2004-02-13 davygrvy ++ * itcl/tests/all: ++ * itcl/tests/defs (deleted): This serves no purpose today with ++ tcltest being so powerful. ++ ++ * itcl/tests/import.test: more load precision with ++ ::tcltest::loadTestedCommands in sub interps. ++ ++ * itcl/tests/mkindex.itcl: ++ * itcl/tests/mkindex.test: ++ * itcl/tests/tclIndex: reference to itcl_class removed from ++ mkindex.test so 1.3 can now pass. ++ ++2004-02-12 davygrvy ++ * itcl/win/makefile.vc: ++ * itcl/win/rc/itcl.rc: rc file work ++ ++ * itcl/tests/all.tcl: ++ * itcl/tests/import.test: ++ * itcl/tests/mkindex.test: some cleanup. ++ ++ * itcl/generic/itclInt.h: commentary ++ ++ * itcl/win/makefile.vc: now runs the test suite, OMG! ++ ++ * itcl/tests/all.tcl: ++ * itcl/tests/basic.test: ++ * itcl/tests/body.test: ++ * itcl/tests/chain.test: ++ * itcl/tests/delete.test: ++ * itcl/tests/ensemble.test: ++ * itcl/tests/import.test: ++ * itcl/tests/info.test: ++ * itcl/tests/inherit.test: ++ * itcl/tests/interp.test: ++ * itcl/tests/local.test: ++ * itcl/tests/methods.test: ++ * itcl/tests/mkindex.test: ++ * itcl/tests/namespace.test: ++ * itcl/tests/protection.test: ++ * itcl/tests/scope.test: Modified test suite to use -loadfile and ++ ::tcltest:: loadTestedCommands in each test file. ++ ++2003-12-24 davygrvy ++ * itcl/generic/itcl.h: ++ * itcl/generic/itcl_ensemble.c: ++ * itcl/generic/itcl_methods.c: ++ * itcl/generic/itcl_migrate.c: ++ * itcl/generic/itcl_util.c: ++ * itcl/win/makefile.vc: Changed deprecated 'panic' to 'Tcl_Panic'. ++ ++ * itcl/generic/itclStubLib.c: ++ * itk/generic/itkStubLib.c: ++ * itk/win/makefile.vc: Small 'const' issue with Tcl_PkgRequireEx ++ under 8.1.0 ++ ++2003-12-23 davygrvy ++ * itcl/win/makefile.vc: ++ * itk/win/makefile.vc: ++ 8.0 build needs a different output name for the binaries. ++ ++ * itcl/win/nmakehlp.c: ++ * itk/win/nmakehlp.c: ++ * rules.vc: sync'd to Tcl. ++ ++ * itcl/generic/itcl.h: ++ * itcl/generic/itclStubLib.c: ++ * itk/generic/itk.h: ++ * itk/generic/itkStubLib.c: Some It*_InitStubs adjustments for CONST. ++ ++ * itcl/win/makefile.vc: temp help merge script should be deleted ++ after use. ++ ++ * tools/genStubs.tcl: we need this. ++ ++ * itcl/win/makefile.vc: ++ * itk/win/makefile.vc: install target bugs fixed ++ ++ * itcl/win/makefile.vc: ++ * itk/win/makefile.vc: ++ * pkg.vc: Uses new features of nmakehlp to get the version strings ++ from header files without the use of hardcoded values. ++ ++ * itk/generic/itk_archetype.c: ++ * itk/generic/itk_cmds.c: ++ * itk/win/makefile.vc: changes to support building against 8.0.5 ++ ++ * itcl/doc/itclsh.1: ++ * itcl/mac/tclMacAppInit.c: ++ * itk/doc/itkwish.1: ++ * itk/mac/tkMacAppInit.c: custom shell no longer exists ++ ++ * itcl/generic/itcl.h: ++ * itcl/generic/itclDecls.h: ++ * itcl/generic/itclIntDecls.h: ++ * itcl/win/makefile.vc: ++ * itcl/win/rc/itcl.rc: ++ * itk/generic/itk.h: ++ * itk/generic/itkDecls.h: ++ * itk/win/makefile.vc: ++ * makefile.vc: winhelp targets fixed and Stubs table issues resolved. ++ ++ * itcl/win/makefile.vc: ++ * itk/win/makefile.vc: some pkgIndex.tcl generation work. ++ ++ * itcl/generic/itcl.h: ++ * itcl/generic/itclInt.h: ++ * itcl/generic/itcl_bicmds.c: ++ * itcl/generic/itcl_cmds.c: ++ * itcl/generic/itcl_ensemble.c: ++ * itcl/generic/itcl_methods.c: ++ * itcl/generic/itcl_objects.c: ++ * itcl/generic/itcl_util.c: ++ * itcl/win/makefile.vc: ++ * itk/generic/itk_cmds.c: ++ * itk/win/makefile.vc: Now builds against Tcl 8.0! Unbeleivable, ++ but true :) Tcl bug #803489 now suppressed with grotesque macros ++ in itclInt.h ++ ++ * itcl/win/makefile.vc: ++ * itcl/win/rc/itcl.rc: ++ * itk/win/rc/itk.rc: ++ * itk/win/rc/itk.rc: some resource bugs fixed ++ ++ * itcl/generic/itcl.h: ++ * itcl/generic/itclInt.h: moved some backward compat macros to ++ itclInt.h ++ ++ * itcl/win/nmakehlp.c: ++ * itk/win/nmakehlp.c: prevent static buffer overflow (Doh!) ++ ++ * itcl/generic/itclInt.h: ++ * itcl/generic/itcl_cmds.c: ++ changes to support Itk building against 8.0.5 ++ ++2003-12-22 davygrvy ++ * itcl/generic/itcl.h: ++ * itcl/generic/itcl_class.c: ++ * itcl/generic/itcl_methods.c: ++ * itcl/generic/itcl_objects.c: ++ * itcl/generic/itcl_util.c: ++ * itk/generic/itk_archetype.c: ++ Now builds with 8.3 regarding CONST84 trims on some Tcl API calls. ++ ++ * itcl/generic/itcl_cmds.c: ++ * itk/generic/itk_cmds.c: ++ Because the Tcl_Namespace APIs in Tcl have moved to the public ++ space in 8.5, the stub slots have shifted. This now causes Itcl ++ when built against 8.5 to core when loaded into 8.4. What genius ++ you developers! The absolute first rule with Stubs is not to EVER ++ move the slots, but now you did. Previously, one could build Itcl ++ against 8.4 and load into any core 8.1+. Now we can't do this. ++ Gee, thank you all for the support... ++ ++ Now, what we compile against is the lowest we can load ++ into.. Sorry! send heated complaints to tcl-core@lists.sf.net ++ ++2003-12-17 davygrvy ++ * itcl/generic/itcl.h: ++ Use fancy STRINGIFY macros for version string. ++ ++ * itcl/generic/itcl_cmds.c: ++ * itcl/generic/itcl_objects.c: ++ Needed to fix usage of Itcl_DecodeScopedCommand as rCmdPtr always ++ needs to be freed. ++ ++ * itcl/generic/itcl_cmd.c (Itcl_FindClassesCmd) : Memory leaking ++ Tcl_Obj plugged. [Bug 738189] ++ ++ * itcl/generic/itclInt.decls: ++ * itcl/generic/itclIntDecls.h: ++ * itcl/generic/itcl_util.c: ++ Itcl_DecodeScopedCommand now fixed. ++ ++ * itcl/generic/itcl.decls: ++ * itcl/generic/itclDecls.h: ++ * itcl/generic/itclInt.decls: ++ * itcl/generic/itclInt.h: ++ * itcl/generic/itclIntDecls.h: ++ * itcl/generic/itcl_class.c: ++ * itcl/generic/itcl_ensemble.c: ++ * itcl/generic/itcl_linkage.c: ++ * itcl/generic/itcl_methods.c: ++ * itcl/generic/itcl_objects.c: ++ * itcl/generic/itcl_util.c: ++ full brain dump. All CONST issues fixed except for ++ Itcl_DecodeScopedCommand. Will address this next. ++ ++2003-04-04 andreas_kupries ++ * itcl/configure: ++ * itk/configure: ++ * tcl.m4: ++ * itcl/configure.in: ++ * itk/configure.in: ++ * tclconfig/tcl.m4: Updated to newest tcl.m4, regenerated configure's. ++ ++2003-01-28 davygrvy ++ * itcl/configure: ++ * itk/configure: ++ * itk/configure.in: ++ Make sure threading is always on for compiling. ++ ++2002-10-16 andreas_kupries ++ * itcl/configure: ++ * itk/configure: ++ * tcl.m4: tcl.m4 typo correction, Regen'd. aix fix ++ ++2002-10-15 andreas_kupries ++ * itcl/configure: ++ * itk/configure: ++ * tcl.m4: Regen'd configure for new tcl.m4. ++ ++ * itcl/configure: ++ * itcl/configure.in: ++ * itk/configure: ++ * itk/configure.in: ++ Changed to propagate an initial CFLAGS value ++ to the final definition. A TEA condition (SHARED_BUILD == 1) ++ squashed it, causing it the build system to loose the ++ +DAportable we specify for the AS PA-RISC2.2 build host. This is ++ a problem for _all_ TEA and TEA 2 based configure files. ++ ++2002-10-15 hobbs ++ * itcl/configure: move the CFLAGS definition into ++ * itcl/configure.in: TEA_ENABLE_SHARED and make it pick up the env ++ * itk/configure: CFLAGS at configure time. ++ * itk/configure.in: ++ * tcl.m4: ++ ++2002-09-29 davygrvy ++ * itcl/win/makefile.vc: ++ needed `if !exist` logic for the non-8.4 case. ++ ++ * itcl/win/makefile.vc: ++ Use virtual base address rule from the master file contained in ++ the Tcl source. ++ ++ * itcl/library/itcl.tcl: ++ Reference to [itcl_class] removed. ++ ++2002-08-12 andreas_kupries ++ * itcl/generic/itcl_class.c (ItclDestroyClassNamesp): Applied itcl ++ patch 593112 provided by Reinhard Max ++ . This fixes the segfault in itcl bug ++ 577719, reported by Simon White . ++ ++2002-08-11 davygrvy ++ * itcl/generic/itcl_class.c (Itcl_ClassVarResolver, ++ Itcl_ClassCompiledVarResolver): ++ * itcl/generic/itcl_object.c (Itcl_ScopedVarResolver, ++ ItclTraceThisVar): ++ * itcl/generic/itcl_parse.c (Itcl_ParseVarResolver): ++ * itcl/generic/itclInt.decls: ++ Signiture changes to match 8.4b2 CONST'ification of the ++ Tcl_ResolveVarProc typedef. Stubs slot positions nor sizes ++ have changed -- just the sigs. ++ ++ * itk/win/makefile.vc: ++ more install target fixes ++ ++ * itcl/generic/itclDecls.h: ++ * itcl/generic/itclIntDecls.h: ++ * itcl/generic/itclStubInit.c: Re-gen from modified genStubs.tcl ++ for the special TCL_EXTERN macro changes that Itcl has. ++ ++ * itk/generic/itk.h: speling error. ++ ++ * README.vc.txt: This no longer is needed. ++ ++ * itcl/generic/itcl.h: Borland TCL_EXTERN support revistited and ++ refreshed. ++ ++ * itcl/win/makefile.vc: ++ * itcl/Makefile.in: Removed itcl_obsolete.c from the build ++ instructions. ++ ++ * itcl/generic/itcl_obsolete.c (deleted): ++ * itcl/generic/itcl_cmds.c: Removed old [itcl_class] command ++ and old backward support that came with it. ++ ++ * itk/generic/itk.h: ++ * itk/generic/itcl.h: Borland TCL_EXTERN support revistited and ++ refreshed. ++ ++ * itk/generic/itkDecls.h: ++ * itk/generic/itkStubInit.c: regenerated for newer Borland TCL_EXTERN ++ support refreshing. ++ ++ * itk/generic/itk_option.c (Itk_TraceClassDestroy): ++ Signiture change to match 8.4b2 CONST'ification. ++ ++ * itk/generic/itk_archetype.c: CONST`ification updates. ++ ++ * itk/win/makefile.vc: genstubs target fixed. ++ ++ * itcl/doc/itcl_class.n: ++ * itcl/doc/itcl_info.n: old docs for old commands removed, removed. ++ ++ * itk/win/makefile.vc: install target fixed ++ ++2002-07-17 hobbs ++ ++ * itcl/itclConfig.sh.in: dupped vars to have both itcl_* and ++ ITCL_* to support apps that used old-style itclConfig.sh. ++ ++2002-06-13 davygrvy ++ * itk/library/Toplevel.itk (destructor): ++ * itk/library/Widget.itk (destructor): Remove the ++ hull component after possibly destroying the hull. ++ Destroy any component that still exists after ++ destroying the hull since it must have been ++ created outside the hull. ++ * itk/tests/toplevel.test: ++ * itk/tests/widget.test: Test that a component ++ outside the hull is destroyed when the mega-widget ++ is destroyed. Also check for case where one external ++ widget contains another. ++ [Patch 515010] ++ ++2002-05-14 davygrvy ++ * itk/generic/itk_archetype.c: ++ * itk/library/itk.tcl: ++ ++2002-05-14 Mo DeJong ++ ++ * itk/generic/itk_archetype.c (ArchComponent, Itk_ArchCompDeleteCmd, ++ Itk_CreateArchComponent, Itk_DelArchComponent): Save a copy ++ of the window path name in the ArchComponent struct and use ++ it in the Itk_ArchCompDeleteCmd method. The old code was ++ invoking Tk_PathName(tkwin) on a Tk_Window which lead to ++ a memory access on memory that has already been free'd ++ when the widget was destroyed. ++ * itk/library/itk.tcl (itk::remove_destroy_hook): Don't attempt ++ to remove the widget binding if the widget has already been ++ destroyed. ++ ++2002-05-02 davygrvy ++ * itcl/configure: ++ * itk/configure: ++ re'gened with autoconf 2.13-4 ++ ++2002-04-25 davygrvy ++ * itcl/win/makefile.vc: ++ install bug set pkgIndex.tcl to load itcl33.dll.dll. corrected. ++ ++ * itcl/doc/is.n: ++ Changed "last update" to be 3.3 instead 3.2 ++ ++ * itcl/generic/itcl_cmds.c: ++ Patch from Brett Schwarz for not exporting itcl::is [Patch ++ 548757] ++ ++ * itcl/doc/is.n: ++ small format fix. ++ ++2002-04-20 davygrvy ++ * config.vc: ++ * itcl/win/.cvsignore: ++ * itcl/win/makefile.vc: ++ * itcl/win/nmakehlp.c: ++ * itcl/win/toaster.bmp: ++ * makefile.vc: ++ * rules.vc: ++ makefile.vc changes. ++ ++ * pkg.vc: ++ missed this file.. ++ ++ * itcl/configure.in: ++ * itcl/generic/itcl.h: ++ With a new command, we need to bump up the version to 3.3.0 ++ ++ * itcl/generic/itcl_objects.c: ++ I missed a CONST for ItclTraceThisVar() ++ ++ * itcl/doc/is.n: ++ * itcl/generic/itclDecls.h: ++ * itcl/generic/itclInt.decls: ++ * itcl/generic/itclIntDecls.h: ++ * itcl/generic/itclStubInit.c: ++ * itcl/generic/itcl_cmds.c: ++ * itcl/tests/basic.test: ++ Added the itcl::is command from Brett Schwarz. ++ Untested by me, but looks great. ++ [Patch 546343 546344 546345 546346] ++ ++ * itcl/generic/itclInt.decls: ++ * itcl/generic/itclIntDecls.h: ++ * itcl/generic/itcl_class.c: ++ * itcl/generic/itcl_objects.c: ++ * itk/generic/itk_option.c: ++ minor changes for CONST'ification project. ++ ++ * itk/win/.cvsignore: ++ * itk/win/makefile.vc: ++ * itk/win/nmakehlp.c: ++ * itk/win/toaster.bmp: ++ makefile.vc changes to match the core. ++ ++ * itk/configure.in: ++ missed this file, too ++ ++2002-04-11 Jeff Hobbs ++ ++ * itcl/configure: ++ * itk/configure: ++ * tcl.m4: Enabled COFF as well as CV style debug info with ++ --enable-symbols to allow Dr. Watson users to see function info. ++ More info on debugging levels can be obtained at: ++ http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp ++ ++2002-04-03 Jeff Hobbs ++ ++ * */configure: regend ++ * configure.in: removed prefix default calls ++ * itcl/configure.in: ++ * itk/configure.in: ++ * tcl.m4: updated of TEA base ++ ++ * itcl/tests/mkindex.test: corrected to work tests are run from a ++ different build dir ++ ++ * itcl/Makefile.in: ++ * itk/Makefile.in: updated to use DESTDIR for install everywhere ++ and added shell and gdb targets ++ ++2002-04-01 Jeff Hobbs ++ ++ * itcl/Makefile.in (install-lib-binaries): ++ * itk/Makefile.in (install-lib-binaries): ensure that dynamic ++ library is installed executable ++ ++ * itcl/configure: ++ * itcl/configure.in: ++ * itk/configure: ++ * itk/configure.in: redid generation of itclConfig.sh (making it ++ work on Windows broke Unix). Retested so that it is happy on ++ Windows and Unix (calls ${CYGPATH} only when necessary). ++ ++2002-03-29 Jeff Hobbs ++ ++ * */configure: regenerated ++ * tcl.m4: updated from sample changes ++ ++2002-03-28 Jeff Hobbs ++ ++ * configure: ++ * configure.in: ++ * tcl.m4: ++ * itcl/Makefile.in: ++ * itcl/configure: ++ * itcl/configure.in: ++ * itcl/itclConfig.sh.in: ++ * itcl/pkgIndex.tcl.in: ++ * itcl/generic/itclStubLib.c: ++ * itcl/tests/all.tcl: ++ * itk/Makefile.in: ++ * itk/configure: ++ * itk/configure.in: ++ * itk/pkgIndex.tcl.in: ++ * itk/tests/all.tcl: ++ * config/installFile.tcl (removed): ++ * config/mkinstalldirs (removed): Massive overhaul (and ++ simplification) of the build framework to adapt to TEA 2002 ++ specs. Dynamic libraries now install in the pkglibdir (before it ++ was libdir), itclConfig.sh is properly generated and itk uses it. ++ Stubs libraries are now correctly generated and used. You can now ++ build and test itcl/itk against built but not installed Tcl/Tk. ++ ++2002-03-27 Jeff Hobbs ++ ++ * configure: ++ * tcl.m4: corrected pointer to ldAix to use Tcl version and add ++ -lc for AIX builds ++ ++ * itcl/configure: ++ * itcl/configure.in: ++ * itk/configure: ++ * itk/configure.in: corrected to use SHLIB_LD_LIBS instead of ++ TCL_SHLIB_LD_LIBS. ++ ++2002-03-02 Andreas Kupries ++ ++ * itcl/Makefile.in: ++ * itcl/generic/itclInt.decls: ++ * itcl/generic/itcl_bicmds.c: ++ * itcl/generic/itcl_class.c: ++ * itcl/generic/itcl_ensemble.c: ++ * itcl/generic/itcl_methods.c: ++ * itcl/generic/itcl_objects.c: ++ * itcl/generic/itcl_obsolete.c: ++ * itcl/generic/itcl_parse.c: ++ * itcl/generic/itcl_util.c: ++ * itk/Makefile.in: ++ * itk/generic/itk.decls: ++ * itk/generic/itk_archetype.c: ++ * itk/generic/itk_option.c: Applied SF patch #511035 (provided by ++ Don Porter ) to remove warnings ++ related to TIP 27. ++ ++2002-01-16 Andreas Kupries ++ ++ * tcl.m4: Fix from patch #501979 applied. ++ ++ * itcl/configure: ++ * itk/configure: Regenerated. ++ ++2002-01-10 David Gravereaux ++ ++ * itcl/generic/itcl_cmds.c (Itcl_FindObjectsCmd, Itcl_FindClassesCmd): ++ optimized use of Tcl_Objs to remove the creation of new ones that ended ++ just being set to the interp's result. Let it use the result obj ++ instead. Changed a few Tcl_GetStringFromObj() calls to Tcl_GetString() ++ when a length int* isn't used. ++ ++ * itcl/generic/itcl.h: fix from patch #501979 applied. ++ ++2001-11-24 David Gravereaux ++ ++ * itcl/generic/itcl.h: ++ * itcl/generic/itclDecls.h: ++ * itcl/generic/itclIntDecls.h: ++ * itk/generic/itk.h: ++ * itk/generic/itkDecls.h: ++ * itk/generic/itk.decls: Changed redefining the macro EXTERN to ++ making a new macro called TCL_EXTERN to get this Borland problem ++ squashed without breaking all headers included after itcl.h that ++ use the EXTERN macro. ++ ++2001-11-05 Jeff Hobbs ++ ++ * itcl/tests/ensemble.test: fixed 1.5 to work with 8.4 updated ++ warning messages ++ ++2001-10-29 Jeff Hobbs ++ ++ * configure: ++ * itcl/configure: ++ * itk/configure: regen'ed ++ * tcl.m4: changed MSSDK cygpath check to use pipe instead of ++ subshell to only occur at the right point. ++ ++2001-10-25 Jeff Hobbs ++ ++ * configure: ++ * tcl.m4: ++ * itcl/configure: ++ * itcl/configure.in: ++ * itk/configure: ++ * itk/configure.in: added Win64 build support. ++ ++ * itcl/generic/itcl_methods.c (Itcl_GetMemberFuncUsage): corrected ++ casting of CONST char * to prevent compile warnings. ++ ++ * itcl/generic/itcl_ensemble.c (CreateEnsemble, AddEnsemblePart): ++ made the <8.4 Tcl header version changes easier in the code. ++ ++2001-10-24 Jeff Hobbs ++ ++ * itcl/generic/itcl_cmds.c (Itcl_FindObjectsCmd): fixed potential ++ crash where cmdName was never initialized ++ ++2001-09-06 David Gravereaux ++ ++ * itcl/generic/itcl.h: ++ * itcl/generic/itclDecls.h: ++ * itcl/generic/itclInt.h: ++ * itcl/generic/itclIntDecls.h: ++ * itk/generic/itk.h: ++ * itk/generic/itkDecls.h: EXTERN macro changed to support TIP#60 ++ in draft form. [Incr Tcl] will be the "successful implementation" ++ part of the TIP. ++ ++2001-09-06 David Gravereaux ++ ++ * itcl/generic/itcl_util.c: Threading patch from "Haneef Mohammed" ++ . ++ [Patch: 445670] ++ ++ -=[ Incr Tcl/Tk 3.2.1 tagged as done. ]=- ++ ++2001-06-22 David Gravereaux ++ ++ * tcl.m4: Added support for MacOS X [#435256] ++ ++ * itk/win/makefile.vc: fixed a bad macro use in the genstubs target. ++ ++ * itk/generic/itk_cmds.c: Added Itk_SafeInit(). ++ ++ * itk/generic/itk.decls: ++ * itk/generic/itkDecls.h: ++ * itk/generic/itkStubInit.c: Needed to add Itk_SafeInit() to the ++ Stubs table. Regen'd Stubs table. ++ ++2001-05-28 Andreas Kupries ++ ++ * itcl/Makefile.in: ++ * itk/Makefile.in: ++ * iwidgets/Makefile.in: Fixed installation of manpages, added ++ invocations of "basename" to create the correct paths into the ++ installation directories. Fixes [#427118]. ++ ++2001-05-25 davygrvy ++ * ChangeLog (new): ++ Auto-generated this from the output of `cvs log`. This will be the ++ day-to-day reference of per-commits. CHANGES will now be the digest ++ of the data in here. Just like how Tcl does it. Information from ++ iwidgets was not used. ++ ++ * itk/generic/itk.h: ++ * itk/generic/itkStubLib.c: ++ * itk/generic/itk_cmds.c: added CONST to return type for ++ Itk_InitStubs() to match what Kevin Kenny is doing to Tcl. Along ++ with a little lint cleaning regarding Stubs. ++ ++ * itcl/generic/itcl.h: ++ * itcl/generic/itclStubLib.c: ++ added CONST to return type for Itcl_InitStubs() to match what ++ Kevin Kenny is doing to Tcl ++ ++2001-05-24 davygrvy ++ * README.vc.txt: ++ instructions how to use makefile.vc to build the package ++ ++ * itcl/configure: ++ * itcl/configure.in: ++ * itcl/itclConfig.sh.in: ++ * itk/configure: ++ * itk/configure.in: ++ * itk/itkConfig.sh.in: ++ Bug #427113 ++ ++2001-05-23 davygrvy ++ * itcl/win/makefile.vc: ++ added missing quotes around include paths. ++ ++ * .cvsignore: ++ * configure: ++ * configure.in: ++ changed configure.in to the new iwidgets subdir. Removed the older ++ references to iwidgets3.0.0 and iwidgets2.2.0 ++ ++ * configure: ++ this could be useful. ++ ++ * itcl/.cvsignore: ++ * itcl/configure: ++ * itcl/configure.in: ++ * itk/.cvsignore: ++ * itk/configure: ++ * itk/configure.in: ++ Updated patch level to 3.2.1 in prep for a release. ++ ++ * itcl/win/makefile.vc: ++ * itcl/win/rc/itcl.rc: ++ yet another rc problem repaired ++ ++ * itcl/win/makefile.vc: ++ rc problem repaired ++ ++2001-05-22 davygrvy ++ * itcl/generic/itcl_objects.c: ++ * itcl/tests/interp.test: ++ patch #426205, self deleting class caused core dump. ++ ++ * itk/generic/itk_archetype.c: ++ * itk/generic/itk_cmds.c: ++ Fix for Tcl_GetCommandName() now returning a CONST char * ++ from the changes Kevin Kenny is doing to the HEAD tcl code. ++ This hasn't been tested with older header files, yet. ++ ++ * config.vc: ++ * itcl/win/makefile.vc: ++ * itk/win/makefile.vc: ++ * itk/win/rc/itk.rc: ++ * makefile.vc: ++ makefile.vc actually works again. ++ ++ * itk/win/rc/cursor00.cur: ++ * itk/win/rc/cursor02.cur: ++ * itk/win/rc/cursor04.cur: ++ * itk/win/rc/cursor06.cur: ++ * itk/win/rc/cursor08.cur: ++ * itk/win/rc/cursor0a.cur: ++ * itk/win/rc/cursor0c.cur: ++ * itk/win/rc/cursor0e.cur: ++ * itk/win/rc/cursor10.cur: ++ * itk/win/rc/cursor12.cur: ++ * itk/win/rc/cursor14.cur: ++ * itk/win/rc/cursor16.cur: ++ * itk/win/rc/cursor18.cur: ++ * itk/win/rc/cursor1a.cur: ++ * itk/win/rc/cursor1c.cur: ++ * itk/win/rc/cursor1e.cur: ++ * itk/win/rc/cursor20.cur: ++ * itk/win/rc/cursor22.cur: ++ * itk/win/rc/cursor24.cur: ++ * itk/win/rc/cursor26.cur: ++ * itk/win/rc/cursor28.cur: ++ * itk/win/rc/cursor2a.cur: ++ * itk/win/rc/cursor2c.cur: ++ * itk/win/rc/cursor2e.cur: ++ * itk/win/rc/cursor30.cur: ++ * itk/win/rc/cursor32.cur: ++ * itk/win/rc/cursor34.cur: ++ * itk/win/rc/cursor36.cur: ++ * itk/win/rc/cursor38.cur: ++ * itk/win/rc/cursor3a.cur: ++ * itk/win/rc/cursor3c.cur: ++ * itk/win/rc/cursor3e.cur: ++ * itk/win/rc/cursor40.cur: ++ * itk/win/rc/cursor42.cur: ++ * itk/win/rc/cursor44.cur: ++ * itk/win/rc/cursor46.cur: ++ * itk/win/rc/cursor48.cur: ++ * itk/win/rc/cursor4a.cur: ++ * itk/win/rc/cursor4c.cur: ++ * itk/win/rc/cursor4e.cur: ++ * itk/win/rc/cursor50.cur: ++ * itk/win/rc/cursor52.cur: ++ * itk/win/rc/cursor54.cur: ++ * itk/win/rc/cursor56.cur: ++ * itk/win/rc/cursor58.cur: ++ * itk/win/rc/cursor5a.cur: ++ * itk/win/rc/cursor5c.cur: ++ * itk/win/rc/cursor5e.cur: ++ * itk/win/rc/cursor60.cur: ++ * itk/win/rc/cursor62.cur: ++ * itk/win/rc/cursor64.cur: ++ * itk/win/rc/cursor66.cur: ++ * itk/win/rc/cursor68.cur: ++ * itk/win/rc/cursor6a.cur: ++ * itk/win/rc/cursor6c.cur: ++ * itk/win/rc/cursor6e.cur: ++ * itk/win/rc/cursor70.cur: ++ * itk/win/rc/cursor72.cur: ++ * itk/win/rc/cursor74.cur: ++ * itk/win/rc/cursor76.cur: ++ * itk/win/rc/cursor78.cur: ++ * itk/win/rc/cursor7a.cur: ++ * itk/win/rc/cursor7c.cur: ++ * itk/win/rc/cursor7e.cur: ++ * itk/win/rc/cursor80.cur: ++ * itk/win/rc/cursor82.cur: ++ * itk/win/rc/cursor84.cur: ++ * itk/win/rc/cursor86.cur: ++ * itk/win/rc/cursor88.cur: ++ * itk/win/rc/cursor8a.cur: ++ * itk/win/rc/cursor8c.cur: ++ * itk/win/rc/cursor8e.cur: ++ * itk/win/rc/cursor90.cur: ++ * itk/win/rc/cursor92.cur: ++ * itk/win/rc/cursor94.cur: ++ * itk/win/rc/cursor96.cur: ++ * itk/win/rc/cursor98.cur: ++ * itk/win/rc/itkwish.rc: ++ * itk/win/winMain.c: ++ Removing of old cruft. itkwishXX.exe is no longer needed as ++ itkXX.dll is a pure extension and loads in a vanilla wish just ++ fine. ++ ++ * itcl/win/pkgIndex.tcl: ++ * itk/win/pkgIndex.tcl: ++ we'll auto gen these from the makefile ++ ++ * itcl/win/makefile.vc: ++ * itk/win/makefile.vc: ++ fixed include paths to make sure paths to itcl.h and itk.h in the ++ source tree are mentioned first to avoid a possible bug during ++ building. ++ ++ * itcl/configure: ++ * itcl/configure.in: ++ * itk/configure: ++ * itk/configure.in: ++ patch #426203 ++ ++ * itk/win/makefile.vc: ++ Mostly working. Not fully tested, but lots closer. ++ ++ * itk/win/makefile.vc: ++ more closer, but not yet perfect. ++ ++ * itcl/generic/itcl_cmds.c: ++ * itcl/generic/itcl_methods.c: ++ Fix for Tcl_GetCommandName() now returning a CONST char * ++ from the changes Kevein Kenny is doing to the HEAD tcl code. ++ This hasn't been tested with older header files, yet. ++ ++ * itk/generic/itk_cmds.c: ++ Removed old reference to external ItkStubs structure. ++ Old cruft left from before Itk_InitStubs existed. ++ ++ * itcl/win/itcl.rc: ++ * itcl/win/rc/itcl.rc: ++ moving the resource script ++ ++ * itcl/win/rc/itcl.rc: ++ subtle changes. ++ ++ * itcl/win/itclsh.rc: ++ * itcl/win/tclAppInit.c: ++ Removing of old cruft. itclshXX.exe is no longer needed as ++ itclXX.dll is a pure extension and loads in a vanilla shell just ++ fine. ++ ++ * itcl/generic/itcl_methods.c: ++ * itcl/generic/itcl_util.c: ++ removed #include "tclCompile.h"! It wasn't needed. Those source ++ files made no reference to anything in it. ++ ++ * itk/win/makefile.vc: ++ closer to perfection. ++ ++ * itk/win/rc/itk.rc: ++ This is now the resource script for the dll. ++ ++ * itcl/generic/itcl_methods.c: ++ whoops.. doh! ++ ++ * itk/win/dllEntryPoint.c: ++ Stubs bug logic fix. Same as itcl/win/dllEntryPoint.c. This help ++ build a debug version of itcl/itk from the standard tclstubXX.lib ++ by removing the link requirement to msvcrt.lib which should never ++ have been there. ++ ++ * itcl/win/makefile.vc: ++ adapted for new location of itcl.rc ++ ++ * itk/win/rc/itk.rc: ++ subtle changes to infere the correct filename and support more ++ complete versioning info. ++ ++ * itcl/generic/itcl.h: ++ * itk/generic/itk.h: ++ changed RESOURCE_INCLUDED to RC_INVOKED. The windows resource ++ compiler to preset to define this already. ++ ++ * itcl/generic/itclInt.decls: ++ * itcl/generic/itclIntDecls.h: ++ * itcl/generic/itcl_class.c: ++ Fix for Itcl_ClassCmdResolver() not being of type ++ Tcl_ResolveCmdProc with the CONST type added to param 2 in the ++ lastest headers. I haven't tested this with an older tcl.h yet. ++ Hopefully, this won't get messy. ++ ++ * itcl/win/makefile.vc: ++ small $(RCDIR) change. ++ ++ * itcl/generic/itcl_bicmds.c: ++ patch #426207, contextNs ptr can be NULL in Itcl_BiInfoClassCmd ++ ++2001-05-18 andreas_kupries ++ * itcl/generic/itcl_class.c: ++ [Fix 227811] Check for any command with the given name, not only ++ objects. ++ ++2001-05-17 andreas_kupries ++ * itcl/generic/itcl_class.c: ++ * itcl/generic/itcl_cmds.c: Fixed bug 227804. ++ ++2001-05-11 Andreas Kupries ++ ++ * itk/generic/itk_archetype.c: Fixed bug 227876. ++ ++ * itcl/generic/itcl_objects.c: Fixed bug 227824 (and several ++ duplicates). ++ ++ * itk/generic/itk_archetype.c: Fixed bug 227814 ++ ++2001-04-25 davygrvy ++ * pkg.vc: moved the info about the iwidget version for makefile.vc ++ ++2001-04-18 davygrvy ++ * itcl/win/dllEntryPoint.c: ++ whoops... removed C++ style comment from this .c file :) ++ ++2001-04-14 davygrvy ++ ++ * itcl/library/itcl.tcl: Patch ID #227860 ++ ++ * rules.vc: added an rcs keyword ++ ++ * .cvsignore: just testing loginfo mailing... ++ ++ * .cvsignore: only making a change to see the history file get an ++ entry... ++ ++2001-04-12 davygrvy ++ * itcl/win/makefile.vc: progress is happening ++ ++2001-04-08 davygrvy ++ * itcl/win/.cvsignore: ++ * itk/win/.cvsignore: ++ no need to have CVS bother itself with the build directories ++ ++ * itcl/win/makefile.vc: ++ a large rewrite ++ ++ * makefile.vc: ++ todays work progress. I'm not done yet. ++ ++ * itcl/generic/itcl_ensemble.c: ++ * itcl/generic/itcl_util.c: ++ Added mutex locking around the ItclPreservedList global hash table. This ++ appears to be the only work needed to support multithreading. ++ ++ * config.vc: ++ * pkg.vc: ++ * rules.vc: ++ new build files for VC++ compiles ++ ++ * .cvsignore: ++ ignore MSVC++ project artifacts ++ ++2001-04-07 davygrvy ++ * itcl/win/dllEntryPoint.c: ++ a small windows specific fix against Tcl's Stubs library. ++ ++ * itcl/generic/itclInt.h: ++ * itcl/generic/itclStubLib.c: ++ * itcl/generic/itcl_class.c: ++ * itcl/generic/itcl_cmds.c: ++ * itcl/generic/itcl_ensemble.c: ++ Tcl's internal header, tclInt.h, in 8.4a2 got a small change in ++ the Command structure that needed 2 changes in Itcl to resolve. ++ 1) #if/#else/#endif blocks added in itcl_class.c and ++ itc_ensemble.c allowing Itcl to compile. 2) added a global ++ variable called itclCompatFlags that's sets a flag in ++ Itcl_Init() that will modify the logic around access to ++ cmdPtr->flags/deleted. This way, any core compile will yeild a ++ fully forward/backward compatible binary (correct logic set at ++ runtime). ++ ++2000-12-21 smithc ++ * itk/win/makefile.vc: Patch #102914. ++ ++2000-12-12 smithc ++ * itcl/generic/itcl_ensemble.c: Patch #102774 ++ ++ * itcl/generic/itcl_class.c: Patch #100274 ++ ++2000-09-23 davidg ++ * CHANGES: added a note about the 3.2 release ++ ++ * itcl/generic/itcl.h: ++ Itcl_InitStub prototype in itcl/generic/itcl.h was getting name ++ mangled by c++ compilers. Fixed with an 'extern "C"' ++ appropriately applied. ++ ++2000-08-18 davidg ++ * itcl/generic/itcl_cmds.c: ++ Tcl_InitStubs was using the TCL_VERSION macro set by the ++ tcl.h header. Changed it to be "8.1" instead as it ++ doesn't matter unless Itcl needs special/new features of ++ the core it's header is from. But it doesn't.. so hard ++ code it for an 8.1 minimum. ++ ++2000-08-07 welch ++ * itcl/Makefile.in: ++ * itcl/generic/itcl.h: ++ * itcl/generic/itclStubLib.c: ++ Final iteration, really, on getting Itcl_StubInit ++ correctly set up. ++ ++ * itk/generic/itk_cmds.c: ++ Removed redundant definitions of itclStubsPtr and ++ itclIntStubsPtr. ++ ++ * itcl/Makefile.in: ++ Added Itcl_InitStubs to the main Itcl library as well as ++ the stubs library for those applications (like Itk) that ++ call Itcl_InitStub but are linked against the main ++ library. ++ ++2000-08-04 davidg ++ * itcl/generic/itcl.decls: ++ * itcl/generic/itclDecls.h: ++ * itcl/generic/itclIntDecls.h: ++ * itcl/generic/itclStubInit.c: ++ * itk/generic/itk.decls: ++ * itk/generic/itkDecls.h: ++ * itk/generic/itkStubInit.c: ++ * itk/generic/itkStubLib.c: ++ added missing RCS strings ++ ++ * itcl/generic/itcl.h: ++ * itcl/generic/itclStubLib.c: ++ * itk/generic/itk.h: ++ * itk/generic/itkStubLib.c: ++ yanked ugly linkage cruft from the StubLib functions. It's ++ always static. ++ ++2000-08-02 davidg ++ * itk/generic/itk_cmds.c: ++ simplified how Itcl Stubs are set ++ ++ * itcl/generic/itcl.h: ++ * itk/generic/itk.h: ++ added missing Itcl_InitStubs and Itk_InitStubs declarations. ++ ++2000-08-02 welch ++ * itk/generic/itkStubLib.c: ++ Fixed this new function ++ ++ * itcl/Makefile.in: ++ * itk/Makefile.in: ++ Changed this to use installFiles.tcl instead of install-sh ++ ++ * itcl/generic/itclStubLib.c: ++ Fix for new Itcl_InitStubs.c ++ ++ * config/installFile.tcl: ++ Added a Tcl version of install-sh that avoids copying a ++ file if the target has the same size and date stamp as the ++ source file already. This helps parallel builds on ++ different platforms avoid changing files out from one ++ another. ++ ++2000-07-29 welch ++ * itcl/configure: ++ * itk/configure: Ran autoconf ++ ++ * tcl.m4: Fixed this with respect to recent changes in windows def ++ of TCL_SRC_DIR ++ ++2000-07-23 wart ++ * itcl/Makefile.in: ++ * itk/Makefile.in: Use INSTALL_PROGRAM instead of INSTALL_DATA to ++ install libraries so they get execute permission on HPUX ++ ++2000-07-14 welch ++ * itcl/configure: ++ * itk/configure: Updated configure ++ ++ * config/install-sh: Nuked debug echo statement ++ ++2000-07-12 welch ++ * config/install-sh: Added -f to MV command ++ ++ * CHANGES: ++ * Makefile.in: Added some feedback to the top-level makefile loops ++ ++ * itcl/configure.in: ++ * itk/Makefile.in: ++ * itk/configure.in: Disable stubs in the case of static builds. ++ ++2000-07-07 csmith ++ * itcl/tests/info.test: patch submitted by David Cuthbert, 7/7/00 ++ ++ * itcl/generic/itcl_bicmds.c: ++ patch submitted by David Cuthbert, 7/7/00 to fix segfault caused by the ++ following code: ++ ++ itcl::class X { } ++ namespace eval X { info class } ++ ++2000-07-06 mmc ++ * Makefile.in: ++ * README: ++ Touched up README for itcl3.2 release. Fixed master Makefile to ++ avoid testing iwidgets2.2.0, which is an older release provided ++ only for backward-compatibility. Bug fixes and improvements are ++ made and tested in the newer iwidgets3.0.0 release. ++ ++ * CHANGES: ++ * itcl/generic/itcl.h: ++ * itcl/generic/itcl_class.c: ++ * itcl/generic/itcl_cmds.c: ++ * itcl/generic/itcl_objects.c: ++ * itcl/tests/all: ++ * itcl/tests/all.tcl: ++ * itcl/tests/basic.test: ++ * itcl/tests/defs: ++ * itcl/tests/inherit.test: ++ * itcl/tests/methods.test: ++ * itcl/tests/namespace.test: ++ * itcl/unix/Makefile.in: ++ * itcl/unix/configure.in: ++ * itcl/unix/itclConfig.sh.in: ++ * itcl/unix/pkgIndex.tcl.in: ++ * itcl/unix/test.tcl: ++ * itk/Makefile.in: ++ * itk/generic/itk_archetype.c: ++ * itk/library/itk.tcl: ++ * itk/tests/all: ++ * itk/tests/all.tcl: ++ * itk/tests/defs: ++ * itk/tests/widget.test: ++ * itk/unix/Makefile.in: ++ * itk/unix/configure.in: ++ * itk/unix/itkConfig.sh: ++ * itk/unix/itkConfig.sh.in: ++ * itk/unix/pkgIndex.tcl.in: ++ ++ 6/26/00 (bug fix) ++ Fixed Itcl_ClassVarResolver so that the formal ++ parameters in a method/proc take precedence over class ++ data members. ++ ++ 6/30/00 (bug fix) ++ Fixed all itcl/itk/iwidgets3.0.0 tests to run cleanly ++ with the new tcltest package. ++ ++ 7/1/00 (bug fix) ++ Fixed "itk_component delete" so that the composite ++ option list is cleaned up whenever a component is ++ deleted. For example, suppose a component is the sole ++ contributor of -font. When that component is removed ++ via "itk_component delete", the -font option goes away ++ as well. Also fixed the handling of the itk-delete-* ++ binding for the component. When the component is ++ removed, the binding tag is also removed by ++ itk::remove_destroy_hook. ++ ++ 7/5/00 (bug fix) ++ Fixed the check done during object creation to avoid ++ clobbering existing commands. Previously, itcl would ++ look for any command-- in the local *and* global ++ namespace--that might be clobbered. Now, it looks for ++ commands only in the local namespace, since those are ++ the only ones that could truly be clobbered. ++ ++ 7/5/00 (cleanup) ++ Removed obsolete Makefile/configure files in the various ++ "unix" directories. Makefiles and configure files now ++ reside one level above, in the standard TEA place. ++ ++2000-06-22 wart ++ * itcl/Makefile.in: ++ Added itclDecls.h to list of header files to install. ++ ++2000-06-22 welch ++ * itk/Makefile.in: ++ Installing stub table tkDecls.h ++ ++ * itcl/Makefile.in: ++ Installing all header files, not just public ones. ++ ++2000-06-16 matt ++ * itcl/generic/itcl_util.c: ++ Moved #ifndef NDEBUG inside Itcl_Assert routine otherwise ++ it may not get inclued BUT it is specified in the Stubs ++ Table..... ++ ++2000-06-06 wart ++ * itk/tests/all.tcl: ++ Added missing file for running test suite. ++ ++2000-06-01 wart ++ * itcl/Makefile.in: ++ * itcl/tests/basic.test: ++ * itcl/tests/body.test: ++ * itcl/tests/chain.test: ++ * itcl/tests/delete.test: ++ * itcl/tests/ensemble.test: ++ * itcl/tests/import.test: ++ * itcl/tests/info.test: ++ * itcl/tests/inherit.test: ++ * itcl/tests/interp.test: ++ * itcl/tests/local.test: ++ * itcl/tests/methods.test: ++ * itcl/tests/mkindex.test: ++ * itcl/tests/namespace.test: ++ * itcl/tests/protection.test: ++ * itcl/tests/scope.test: ++ * itk/Makefile.in: ++ * itk/configure: ++ * itk/configure.in: ++ * itk/tests/interp.test: ++ * itk/tests/option.test: ++ * itk/tests/privacy.test: ++ * itk/tests/public.test: ++ * itk/tests/toplevel.test: ++ * itk/tests/widget.test: ++ Tests modified to work with TEA Makefile. ++ ++2000-04-19 mmc ++ * CHANGES: ++ * itcl/Makefile.in: ++ * itcl/configure: ++ * itcl/configure.in: ++ * itcl/doc/find.n: ++ * itcl/generic/itcl.h: ++ * itcl/generic/itcl_cmds.c: ++ * itcl/tests/basic.test: ++ * itcl/tests/body.test: ++ * itcl/tests/chain.test: ++ * itcl/tests/defs: ++ * itcl/tests/delete.test: ++ * itcl/tests/ensemble.test: ++ * itcl/tests/info.test: ++ * itcl/tests/inherit.test: ++ * itcl/tests/local.test: ++ * itcl/tests/methods.test: ++ * itcl/tests/mkindex.itcl: ++ * itcl/tests/namespace.test: ++ * itcl/tests/protection.test: ++ * itcl/tests/scope.test: ++ * itcl/tests/tclIndex: ++ * itcl/unix/configure.in: ++ * itk/Makefile.in: ++ * itk/configure: ++ * itk/configure.in: ++ * itk/tests/defs: ++ * itk/tests/option.test: ++ * itk/tests/widget.test: ++ * license.terms: ++ - fixed itcl::find to find classes/objects in *all* namespaces ++ - fixed tests to run cleanly ++ ++2000-03-28 csmith ++ * itcl/generic/itcl_cmds.c: ++ Patch for Ticket 4111, submitted by David Cuthbert: ++ ++ *** itcl3.1.0/itcl/generic/itcl_cmds.c.orig Tue Feb 1 16:37:53 2000 ++ --- itcl3.1.0/itcl/generic/itcl_cmds.c.new Tue Feb 1 ++ 16:38:06 2000 ++ *************** ++ *** 94,100 **** ++ static char safeInitScript[] = ++ "proc ::itcl::local {class name args} {\n\ ++ ! set ptr [uplevel eval [list $class $name] $args]\n\ ++ uplevel [list set itcl-local-$ptr $ptr]\n\ ++ set cmd [uplevel namespace which -command $ptr]\n\ ++ uplevel [list trace variable itcl-local-$ptr u \"::itcl::delete object $cmd; list\"]\n\ ++ ++ --- 94,100 ---- ++ static char safeInitScript[] = ++ "proc ::itcl::local {class name args} {\n\ ++ ! set ptr [uplevel [list $class $name] $args]\n\ ++ uplevel [list set itcl-local-$ptr $ptr]\n\ ++ set cmd [uplevel namespace which -command $ptr]\n\ ++ uplevel [list trace variable itcl-local-$ptr u \"::itcl::delete object $cmd; list\"]\n\ ++ ++ * itcl/library/itcl.tcl: ++ Patch for ticket 4111, submitted by David Cuthbert: ++ ++ *** itcl3.1.0/itcl/library/itcl.tcl.orig Tue Feb 1 16:38:24 2000 ++ --- itcl3.1.0/itcl/library/itcl.tcl.new Tue Feb 1 16:38:30 2000 ++ *************** ++ *** 27,33 **** ++ # alive until a procedure exits. ++ # ---------------------------------------------------------------------- ++ proc ::itcl::local {class name args} { ++ ! set ptr [uplevel eval [list $class $name] $args] ++ uplevel [list set itcl-local-$ptr $ptr] ++ set cmd [uplevel namespace which -command $ptr] ++ uplevel [list trace variable itcl-local-$ptr u \ ++ ++ --- 27,33 ---- ++ # alive until a procedure exits. ++ # ---------------------------------------------------------------------- ++ proc ::itcl::local {class name args} { ++ ! set ptr [uplevel [list $class $name] $args] ++ uplevel [list set itcl-local-$ptr $ptr] ++ set cmd [uplevel namespace which -command $ptr] ++ uplevel [list trace variable itcl-local-$ptr u \ ++ ++2000-03-20 wart ++ * itk/configure: ++ * itk/configure.in: ++ Fixed typo in variable name ++ ++2000-03-17 wart ++ * itcl/Makefile.in: ++ * itk/Makefile.in: ++ * itk/configure: ++ * itk/configure.in: ++ Added TCL_EXTRA_CFLAGS to compile line to fix build problems on Irix ++ ++2000-02-04 wart ++ * itk/configure: ++ * itk/configure.in: ++ Fixed typo that was causing builds on CYGWIN_NT platforms not to pick up ++ the Tcl stub library (TCL_STUB_LIB_SPEC was not being substituted in the ++ Makefile) ++ ++2000-01-28 wart ++ * itcl/configure: ++ * itcl/configure.in: ++ * itk/configure: ++ * itk/configure.in: ++ Fixed a few more places where the configure wasn't checking for cygwin on ++ Windows 95/98 ++ ++2000-01-24 wart ++ * itcl/configure: ++ * itk/configure: ++ Regenerated configure scripts to pick up changes to tcl.m4 ++ ++ * itcl/configure: ++ * itk/configure: ++ Regenerated configure scripts to pick up recent changes to tcl.m4 ++ ++ * tcl.m4: ++ * tcl.m4: ++ Updated to reflect recent TEA changes ++ ++2000-01-18 wart ++ * tcl.m4: ++ Updated to reflect recent TEA changes ++ ++2000-01-03 csmith ++ * itcl/unix/Makefile.in: ++ Patch submitted by Mo Dejong needed so Itcl will link to the Tcl libs ++ when Tcl is compiled with debugging on. ++ ++ * itcl/generic/itcl_parse.c: ++ Patch by Mo Dejong to fix a Windows NT/95 crashing problem where you can ++ build with debugging on, load the Itcl package, and press the X in the ++ upper right corner. Note that I'm unable to test this on Windows and ++ that this patch introduces a compiler warning. ++ ++ * itcl/generic/itcl_parse.c: ++ Duuuuhhhh.... ++ ++ This is the patch from Mo Dejong regarding the Windows NT/95 crashing ++ problem. My previous checkin of itcl_parse.c did not include all of ++ the patch - got in a hurry. Disregard the compiler warning mentioned ++ in my previous checkin. ++ ++ * itcl/tests/defs: ++ Patch submitted by Mo Dejong: needed to add "-force" option to the ++ namespace import command so fix a bug with 'make test'. ++ ++1999-11-24 wart ++ * itcl/configure: ++ * itk/configure: ++ regenerated configure scripts to pick up tcl.m4 changes ++ ++ * itcl/configure: ++ * itk/configure: ++ * tcl.m4: ++ tcl.m4: Updated to reflect recent TEA changes ++ ++ */configure: Regnereated with new tcl.m4 ++ ++ iwidgets2.2.0/Makefile.in: Don't copy nonexistent files ++ ++ * tcl.m4: ++ Updated to reflect recent TEA changes ++ ++1999-09-21 wart ++ * itk/Makefile.in: ++ Itk now installs appropriate library files. ++ ++1999-09-20 wart ++ * itcl/configure: ++ * itcl/configure.in: ++ * itk/Makefile.in: ++ * itk/configure: ++ * itk/configure.in: ++ pkgIndex on Windows now looks in the correct directory for the ++ .dll files. ++ ++1999-09-17 wart ++ * tcl.m4: ++ Updated to reflect recent changes ++ ++1999-09-15 wart ++ * itcl/configure: ++ * itcl/configure.in: ++ * itcl/pkgIndex.tcl.in: ++ * itk/configure: ++ * itk/configure.in: ++ * itk/pkgIndex.tcl.in: ++ Better pkgIndex.tcl files that should now work on solaris. ++ ++1999-09-14 wart ++ * itcl/Makefile.in: ++ * itcl/configure: ++ * itcl/configure.in: ++ * itcl/mkIndex.tcl.in: ++ * itcl/pkgIndex.tcl.in: ++ * itk/Makefile.in: ++ * itk/configure: ++ * itk/configure.in: ++ * itk/mkIndex.tcl.in: ++ * itk/pkgIndex.tcl.in: ++ Fixed installation of pkgIndex.tcl file. We have to install a pre-made ++ pkgIndex.tcl file since pkg_mkIndex can't seem to make a usable one. ++ ++1999-09-10 wart ++ * itk/Makefile.in: ++ Fixed bug when calling mkIndex.tcl for itk ++ ++ reduced amount of output from "make install" in iwidgets ++ ++ * itcl/Makefile.in: ++ * itk/Makefile.in: ++ Removed Makefiles rules to regenerate the configure scripts. This was ++ causing problems when building on Windows and Unix simultaneoulsy. ++ ++1999-09-09 wart ++ * itcl/configure: ++ * itcl/configure.in: ++ * itk/configure: ++ * itk/configure.in: ++ configure scripts now look for tclsh82d.exe executable when searching ++ for valid tcl interpreter. ++ ++ * Makefile.in: ++ Added pkgIndex files for Iwidgets ++ ++ Top level Makefile should no longer loop endlessly if the configure went bad. ++ ++ * itcl/configure: ++ * itcl/configure.in: ++ * itk/configure: ++ * itk/configure.in: ++ * tcl.m4: ++ Look for tclsh82d.exe before tclsh82.exe. ++ ++ configure scripts for itcl and itk now use the tcl.m4 macro SC_PROG_TCLSH. ++ ++1999-09-07 wart ++ * itcl/Makefile.in: ++ * itcl/configure: ++ * itcl/configure.in: ++ * itk/Makefile.in: ++ * itk/configure: ++ * itk/configure.in: ++ configure now searches for tclsh82 shell in exec-prefix, then prefix, then ++ relative to tclConfig.sh, then in the users path. ++ ++1999-09-04 wart ++ * configure.in: ++ * itcl/Makefile.in: ++ * itcl/aclocal.m4: ++ * itcl/configure: ++ * itcl/configure.in: ++ * itcl/mkIndex.tcl.in: ++ * itk/Makefile.in: ++ * itk/aclocal.m4: ++ * itk/configure: ++ * itk/configure.in: ++ * itk/mkIndex.tcl.in: ++ * tcl.m4: ++ TEA changes. Itcl now uses the same Makefiles and configure scripts for ++ both Windows and Unix. ++ ++ Note that static shells are not yet done in this TEA implementation. ++ ++ * itcl/Makefile.in: ++ * itk/Makefile.in: ++ Temporarily removed pkg_mkIndex step from Makefile since it causes a ++ crash on Windows. ++ ++1999-08-21 matt ++ * itcl/unix/Makefile.in: ++ Fixed mismatch between configure script and makefile for stub ++ enabled builds ++ ++ * itk/unix/Makefile.in: ++ Fixed mismatch between conifgure script and Makefile for stub ++ enabled builds. ++ ++1999-06-28 hershey ++ * itk/unix/configure.in: ++ * itk/unix/itkConfig.sh: ++ remove version number from comments ++ ++1999-06-26 wart ++ * itcl/mac/itclMacLibrary.r: ++ * itcl/mac/pkgIndex.tcl: ++ * itcl/unix/configure.in: ++ * itk/mac/itkMacLibrary.r: ++ * itk/mac/pkgIndex.tcl: ++ * itk/unix/configure.in: ++ * itk/win/pkgIndex.tcl: ++ Version numbers changed from 3.0.1 to 3.1.0 ++ ++1999-05-25 redman ++ * itcl/generic/itcl.h: ++ * itcl/win/makefile.vc: ++ * itk/win/makefile.vc: ++ * itk/win/winMain.c: ++ * makefile.vc: ++ Fixed the use of Tcl & Tk stubs on Windows. ++ ++ Now the extra shells (itclsh31.exe and itkwish31.exe) are being ++ created and run properly. ++ ++ * itcl/generic/itcl_cmds.c: ++ * itcl/unix/Makefile.in: ++ * itcl/unix/configure.in: ++ * itcl/unix/itclConfig.sh.in: ++ * itk/generic/itk_cmds.c: ++ * itk/unix/Makefile.in: ++ * itk/unix/configure.in: ++ * itk/unix/itkConfig.sh: ++ * itk/unix/itkConfig.sh.in: ++ Fix the makefile and configure files, etc., for Unix ++ in order to compile with Tcl/Tk 8.1 with stubs. ++ ++ Builds itclsh and itkwish properly. ++ ++1999-05-24 redman ++ * itcl/generic/itcl.decls: ++ * itcl/generic/itcl.h: ++ * itcl/generic/itclDecls.h: ++ * itcl/generic/itclInt.decls: ++ * itcl/generic/itclInt.h: ++ * itcl/generic/itclIntDecls.h: ++ * itcl/generic/itclStubInit.c: ++ * itcl/generic/itclStubLib.c: ++ * itcl/generic/itcl_cmds.c: ++ * itcl/generic/itcl_ensemble.c: ++ * itcl/tests/defs: ++ * itcl/tests/tclIndex: ++ * itcl/win/itcl.rc: ++ * itcl/win/makefile.vc: ++ * itcl/win/pkgIndex.tcl: ++ * itk/generic/itk.decls: ++ * itk/generic/itk.h: ++ * itk/generic/itkDecls.h: ++ * itk/generic/itkStubInit.c: ++ * itk/generic/itkStubLib.c: ++ * itk/generic/itk_cmds.c: ++ * itk/win/makefile.vc: ++ * itk/win/rc/itk.rc: ++ * makefile.vc: ++ Applied patches from David Gravereaux to update Itcl and Itk to ++ use Tcl/Tk 8.1 stubs and provide it's own stubs interface, on ++ Windows only. ++ ++ Changes have not been made to support I18N (if needed) or MT-safety. ++ ++ Version number has been changed to 3.1.0 (from 3.0.1) by ++ David to coincide with the shift to Tcl/Tk 8.1. ++ ++ Building of itclsh31.exe and iwish31.exe have been disabled ++ until someone else makes them work properly. Test suites ++ have been modified to work with tclsh81.exe instead. ++ ++1999-02-05 stanton ++ * itk/unix/itkConfig.sh: ++ updated version to itcl3.0.1 ++ ++1999-01-15 rjohnson ++ * itcl/tests/mkindex.itcl: ++ ++ Fixed typo in tcl file. ++ ++1998-10-29 stanton ++ * itcl/doc/itcl_info.n: ++ Cleaned up some out of date references to 2.2 syntax. ++ ++1998-09-14 stanton ++ * itk/win/rc/cursor00.cur: ++ * itk/win/rc/cursor02.cur: ++ * itk/win/rc/cursor04.cur: ++ * itk/win/rc/cursor06.cur: ++ * itk/win/rc/cursor08.cur: ++ * itk/win/rc/cursor0a.cur: ++ * itk/win/rc/cursor0c.cur: ++ * itk/win/rc/cursor0e.cur: ++ * itk/win/rc/cursor10.cur: ++ * itk/win/rc/cursor12.cur: ++ * itk/win/rc/cursor14.cur: ++ * itk/win/rc/cursor16.cur: ++ * itk/win/rc/cursor18.cur: ++ * itk/win/rc/cursor1a.cur: ++ * itk/win/rc/cursor1c.cur: ++ * itk/win/rc/cursor1e.cur: ++ * itk/win/rc/cursor20.cur: ++ * itk/win/rc/cursor22.cur: ++ * itk/win/rc/cursor24.cur: ++ * itk/win/rc/cursor26.cur: ++ * itk/win/rc/cursor28.cur: ++ * itk/win/rc/cursor2a.cur: ++ * itk/win/rc/cursor2c.cur: ++ * itk/win/rc/cursor2e.cur: ++ * itk/win/rc/cursor30.cur: ++ * itk/win/rc/cursor32.cur: ++ * itk/win/rc/cursor34.cur: ++ * itk/win/rc/cursor36.cur: ++ * itk/win/rc/cursor38.cur: ++ * itk/win/rc/cursor3a.cur: ++ * itk/win/rc/cursor3c.cur: ++ * itk/win/rc/cursor3e.cur: ++ * itk/win/rc/cursor40.cur: ++ * itk/win/rc/cursor42.cur: ++ * itk/win/rc/cursor44.cur: ++ * itk/win/rc/cursor46.cur: ++ * itk/win/rc/cursor48.cur: ++ * itk/win/rc/cursor4a.cur: ++ * itk/win/rc/cursor4c.cur: ++ * itk/win/rc/cursor4e.cur: ++ * itk/win/rc/cursor50.cur: ++ * itk/win/rc/cursor52.cur: ++ * itk/win/rc/cursor54.cur: ++ * itk/win/rc/cursor56.cur: ++ * itk/win/rc/cursor58.cur: ++ * itk/win/rc/cursor5a.cur: ++ * itk/win/rc/cursor5c.cur: ++ * itk/win/rc/cursor5e.cur: ++ * itk/win/rc/cursor60.cur: ++ * itk/win/rc/cursor62.cur: ++ * itk/win/rc/cursor64.cur: ++ * itk/win/rc/cursor66.cur: ++ * itk/win/rc/cursor68.cur: ++ * itk/win/rc/cursor6a.cur: ++ * itk/win/rc/cursor6c.cur: ++ * itk/win/rc/cursor6e.cur: ++ * itk/win/rc/cursor70.cur: ++ * itk/win/rc/cursor72.cur: ++ * itk/win/rc/cursor74.cur: ++ * itk/win/rc/cursor76.cur: ++ * itk/win/rc/cursor78.cur: ++ * itk/win/rc/cursor7a.cur: ++ * itk/win/rc/cursor7c.cur: ++ * itk/win/rc/cursor7e.cur: ++ * itk/win/rc/cursor80.cur: ++ * itk/win/rc/cursor82.cur: ++ * itk/win/rc/cursor84.cur: ++ * itk/win/rc/cursor86.cur: ++ * itk/win/rc/cursor88.cur: ++ * itk/win/rc/cursor8a.cur: ++ * itk/win/rc/cursor8c.cur: ++ * itk/win/rc/cursor8e.cur: ++ * itk/win/rc/cursor90.cur: ++ * itk/win/rc/cursor92.cur: ++ * itk/win/rc/cursor94.cur: ++ * itk/win/rc/cursor96.cur: ++ * itk/win/rc/cursor98.cur: ++ * itk/win/rc/itk.ico: ++ Fixed binary files ++ ++1998-08-23 stanton ++ * itcl/doc/scope.n: ++ fixed section ++ ++1998-08-20 welch ++ * itcl/generic/itcl.h: ++ Patchlevel 3.0.1 ++ ++1998-08-18 welch ++ * itk/win/pkgIndex.tcl: ++ Fixed loading .dll ++ ++ * itcl/win/pkgIndex.tcl: ++ fixed loading .dll ++ ++1998-08-18 suresh ++ ++ * itk/generic/itk_cmds.c: Removed pedantic check for existance of ++ "::itk" namespace. Changed code to conditionally create the ++ "::itk" namespace based on whether it already exists or not. ++ These changes were necessary to facilitate the wrapper dictating ++ where the [incr Tk] libraries are stored in a wrapped application ++ via the variable '::itk::library". ++ ++1998-08-12 welch ++ * itk/win/makefile.bc: ++ * itk/win/makefile.vc: ++ Fixes for tkConsole ++ ++1998-08-11 welch ++ * CHANGES: ++ * README: ++ * itcl/doc/class.n: ++ * itcl/doc/scope.n: ++ * itcl/generic/itcl.h: ++ * itcl/generic/itclInt.h: ++ * itcl/generic/itcl_bicmds.c: ++ * itcl/generic/itcl_class.c: ++ * itcl/generic/itcl_cmds.c: ++ * itcl/generic/itcl_methods.c: ++ * itcl/generic/itcl_objects.c: ++ * itcl/library/itcl.tcl: ++ * itcl/mac/itclMacApplication.r: ++ * itcl/mac/itclMacLibrary.r: ++ * itcl/mac/itclMacResource.r: ++ * itcl/mac/pkgIndex.tcl: ++ * itcl/mac/tclMacAppInit.c: ++ * itcl/tests/info.test: ++ * itcl/unix/Makefile.in: ++ * itcl/unix/configure.in: ++ * itcl/unix/tclAppInit.c: ++ * itcl/win/itcl.rc: ++ * itcl/win/itclsh.rc: ++ * itcl/win/makefile.vc: ++ * itcl/win/pkgIndex.tcl: ++ * itcl/win/tclAppInit.c: ++ * itk/doc/Toplevel.n: ++ * itk/generic/itk.h: ++ * itk/generic/itk_cmds.c: ++ * itk/mac/MW_ItkHeader.pch: ++ * itk/mac/itkMacApplication.r: ++ * itk/mac/itkMacLibrary.r: ++ * itk/mac/itkMacResource.r: ++ * itk/mac/pkgIndex.tcl: ++ * itk/mac/tclIndex: ++ * itk/mac/tkMacAppInit.c: ++ * itk/unix/Makefile.in: ++ * itk/unix/configure.in: ++ * itk/unix/tkAppInit.c: ++ * itk/win/makefile.vc: ++ * itk/win/pkgIndex.tcl: ++ * itk/win/rc/itk.rc: ++ * itk/win/rc/itkwish.rc: ++ * itk/win/winMain.c: ++ * makefile.vc: ++ 3.0 final from Michael ++ ++1998-08-07 stanton ++ * itcl/generic/itcl_methods.c: ++ changed to reflect new CompiledLocal structure ++ changed to reflect changes in resolver api ++ changed to use TclInitCompiledLocals interface ++ ++ * itcl/generic/itclInt.h: ++ changed to reflect new resolver api ++ ++ * itcl/generic/itcl_bicmds.c: ++ * itcl/generic/itcl_ensemble.c: ++ changed to reflect new CompiledLocal structure ++ ++ * itcl/generic/itcl_class.c: ++ changed to reflect changes in resolver api ++ ++ * itcl/doc/scope.n: fixed section name ++ ++ * itcl/generic/itcl_cmds.c: ++ * itcl/generic/itcl_util.c: ++ * itk/doc/Toplevel.n: lint ++ ++1998-08-04 escoffon ++ * itcl/generic/itcl.h: ++ * itcl/generic/itclInt.h: ++ * itk/generic/itk.h: EXPORT is now TCL_STORAGE_CLASS ++ ++1998-07-29 escoffon ++ * itcl/generic/itcl.h: ++ added setting of EXPORT to DLLEXPORT if we are building the ++ itcl lib. ++ ++ * itk/generic/itk.h: ++ - dropped the EXPORT macro, it is now part of EXTERN ++ - added setting of EXPORT to DLLEXPORT if we are building the itk lib. ++ ++ * itcl/generic/itclInt.h: ++ - added setting of EXPORT to DLLEXPORT if we are building the itcl lib. ++ - use EXTERN instead of extern for Itcl_Assert ++ ++1998-07-28 stanton ++ * itcl/generic/itcl_cmds.c: ++ * itk/generic/itk_cmds.c: changed search order ++ +diff -Naur insight-6.8.orig/itcl/itcl/CHANGES insight-6.8.new/itcl/itcl/CHANGES +--- insight-6.8.orig/itcl/itcl/CHANGES 1970-01-01 01:00:00.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/CHANGES 2008-08-18 18:56:39.000000000 +0200 +@@ -0,0 +1,2041 @@ ++ ++ [incr Tcl] - CHANGE LOG ++========================================================================== ++ ----------------------- CHANGES FROM itcl-1.5 -------------------------- ++========================================================================== ++ ++ Release itcl-2.0 provides a new syntax for defining classes. The ++ new syntax is accessed using the new "itcl::class" command. For the ++ time being, the old syntax will be supported via the old "itcl_class" ++ command, but support for this will be phased out over time. ++ ++ Because both syntaxes are supported, the new version is "backward ++ compatible" with the previous itcl-1.5 release. However, there are ++ some semantic changes that may break existing scripts. These are ++ listed in detail in the section "INCOMPATIBLE CHANGES". ++ ++ ++ CATALOG OF NEW COMMANDS ++-------------------------------------------------------------------------- ++ Following is a brief catalog of new commands available in this release. ++ ++ == Tcl with Namespaces ================================================= ++ ++ delete namespace name ?name...? ++ ++ Deletes one or more namespaces, destroying all commands, variables, ++ and child namespaces within it. ++ ++ ++ ensemble name { ++ option optName arglist body ++ option optName arglist body ++ ... ++ ensemble optName { ++ option subOptName arglist body ++ option subOptName arglist body ++ ... ++ } ++ } ++ ++ Adds options to an ensemble called "name". If the ensemble does ++ not already exist, it is created automatically. An "ensemble" is ++ a toplevel command that groups a collection of sub-commands. For ++ example, the usual Tcl "info" command is an ensemble with options ++ like "globals", "level", "tclversion", etc. ++ ++ Ensembles are good for two reasons. First, new options can be ++ integrated in without modifying any source code or "switch" ++ statements. For example, [incr Tcl] adds the "info classes" ++ and "info objects" commands simply by adding options to the ++ "info" ensemble. Second, error messages are generated automatically ++ by the ensemble mechanism. Try invoking "info" with no options ++ and see the result. ++ ++ Each option declaration is just like a Tcl proc declaration, ++ with an option name, arglist and body. Ensembles can also ++ contain sub-ensembles with more options. ++ ++ ++ import add name ?name...? ?-where pos...? ++ import all ?name? ++ import list ?importList? ++ import remove name ?name...? ++ ++ Used to manipulate the "import" list for the current namespace. ++ When one namespace imports another, it gains access to all of ++ its public commands/variables as if they were part of the ++ same namespace. In other words, one namespace can be integrated ++ seamlessly into another by adding it to the import list of the ++ other namespace. By default, each namespace imports its parent, ++ so most namespaces import the global scope in some fashion. ++ ++ The form "import list" is used to query or set the import list ++ for the current namespace. The form "import all" returns the ++ namespace search path that is consulted when commands/variables ++ are accessed. ++ ++ ++ info context ++ ++ Returns the current namespace context. The global namespace ++ context is reported here as "", so it is easy to build ++ namespace paths like this: ++ ++ set path "[info context]::name" ++ ++ ++ info namespace all ?pattern? ++ ++ Returns a list of namespaces found in the current namespace ++ context, whose names match an optional string pattern. This ++ includes children of the current namespace, and children of ++ all imported namespaces. ++ ++ ++ info namespace children ?name? ++ ++ Returns a list of child namespaces for namespace "name", ++ or for the current namespace if "name" is not specified. ++ ++ ++ info namespace parent ?name? ++ ++ Returns the parent namespace for namespace "name", or ++ for the current namespace if "name" is not specified. ++ ++ ++ info namespace qualifiers string ++ ++ Parses a string of the form "namesp::namesp::name", and returns ++ the leading "namesp::namesp" scope qualifiers. ++ ++ ++ info namespace tail string ++ ++ Parses a string of the form "namesp::namesp::name", and returns ++ the trailing "name" element. ++ ++ ++ info protection ?-command? ?-variable? name ++ ++ Returns the protection level for an element. By default, "name" ++ is treated as a command name, but the "-command" or "-variable" ++ flags can be used to request a specific treatment. ++ ++ ++ info which ?-command? ?-variable? ?-namespace? name ++ ++ Reports the full namespace path (e.g., "::namesp::namesp::name") ++ for an element. By default, "name" is treated as a command name, ++ but the "-command", "-variable" and "-namespace" flags can be ++ used to request a specific treatment. ++ ++ ++ namespace name ?-local? ?-enforced val? ?--? ?commands? ++ ++ This is the usual mechanism for creating a namespace and defining ++ elements within it. ++ ++ If namespace "name" does not exist, it is created automatically. ++ The namespace name may include a full namespace path (e.g., ++ "namesp::namesp::namesp"). During the search for this namespace, ++ all imported namespaces are consulted. If the "-local" flag is ++ specified, then the search is restricted to the local namespace; ++ this prevents against accidentally importing a namespace if the ++ intent is to create a child namespace. ++ ++ If the "-enforced" flag is specified, then "val" is treated as a ++ boolean value; if true, then command/variable enforcement is ++ turned on for this namespace. Each time a new command is ++ referenced within the namespace, Tcl automatically calls a ++ procedure: ++ ++ enforce_cmd ++ ++ with the of the command that is about to be executed. The ++ "enforce_cmd" proc can return an error, and access to that command ++ will be denied. It can return another command name, or a more ++ specific namespace path, and that command will be used instead. ++ Or it can return "", and command lookup will continue via the ++ normal namespace rules (i.e., in local scope, imported namespaces, ++ etc.). ++ ++ Each time a new variable is referenced within an enforced ++ namespace, Tcl automatically calls a procedure: ++ ++ enforce_var ++ ++ with the of a global variable that is being referenced. ++ The "enforce_var" proc can return an error, and access to that ++ variable will be denied. It can return another variable name, ++ or a more specific namespace path, and that variable will be ++ used instead. Or it can return "", and variable lookup will ++ continue via the normal namespace rules (i.e., in local scope, ++ imported namespaces, etc.). ++ ++ Note that command/variable enforcement done at the Tcl language ++ level can be slow. There is also a C language interface for ++ the same functionality, which offers much better performance. ++ ++ The namespace is first found and updated with whatever flags were ++ specified. After that, if a "commands" string was specified, it ++ is executed in the context of the namespace. ++ ++ ++ public command ?arg arg...? ++ protected command ?arg arg...? ++ private command ?arg arg...? ++ ++ These commands attach a particular protection level to whatever ++ commands or variables are created while executing the specified ++ command. They are used in conjunction with commands like ++ "proc" and "variable" to create public/protected/private elements. ++ ++ ++ scope string ++ code ?-namespace name? command ?arg arg ...? ++ @scope namespace value ++ ++ The "scope" command takes a string and encodes it into an "@scope" ++ declaration. The "code" command performs a similar function, ++ but accepts multiple arguments and is usually used to wrap up ++ code fragments. The "@scope" declaration keeps a value (like a ++ variable name or code fragment) together with its context ++ namespace. It can be executed like an ordinary command: ++ ++ set cmd {@scope :: puts} ++ $cmd "hello world!" ++ ++ or used as an ordinary variable name: ++ ++ set var {@scope :: auto_path} ++ lappend $var /usr/local/mylib ++ ++ The difference, however, is that an "@scope" value bypasses the ++ usual access protections and guarantees that values have the ++ proper scope. ++ ++ Ordinary variable names refer to variables in the global ++ namespace. Ordinary code fragments are usually interpreted ++ by extensions like Tk in the global namespace. The "scope" ++ and "code" commands are used to wrap up variable names and ++ code fragments to preserve the namespace context. For example: ++ ++ namespace foo { ++ private variable state 0 ++ private proc show_state {mesg} { ++ global state ++ puts "$mesg: $state" ++ } ++ ++ checkbutton .cb -text "Toggle" \ ++ -variable [scope state] \ ++ -command [code show_state "current state"] ++ ++ pack .cb ++ } ++ ++ In this example, the checkbutton is tied to the variable ++ "foo::state" and executes the command "foo::show_state" ++ whenever it is pressed. ++ ++ When a Tk widget uses commands and variables within a ++ namespace, these names should be wrapped up as scoped ++ values, as shown above. ++ ++ ++ variable name ?value? ++ Creates a variable called "name" and initializes it to an optional ++ value. This is normally used in conjunction with public, protected ++ and private commands to declare variables within a namespace: ++ ++ namespace foo { ++ public variable x 0 ++ private variable y 1 ++ } ++ ++ If the variable "name" already exists, it updated to have ++ the protection level that is currently active. ++ ++ ++ == Tk with Namespaces ================================================== ++ ++ bind... ++ ++ Recognizes and expands the following fields within command ++ strings: ++ ++ %q => Replaced with the fully-qualified access command ++ for the widget receiving the event. For example, ++ ++ namespace foo { ++ namespace bar { ++ button .b -text "Hello World!" ++ } ++ } ++ ++ The fully-qualified access command for this widget ++ is "::foo::bar::.b". The "%q" field should be used ++ instead of "%W" as the widget access command: ++ ++ bind Button "%q flash; %q invoke" ++ ++ ++ %M => Replaced with the window path name of the mega-widget ++ containing the window receiving the event. For example, ++ if an "entryfield" mega-widget ".x" contains an entry ++ widget ".x.entry", bindings added to ".x.entry" will ++ replace "%M" with ".x". This allows generic bindings ++ to be added to component widgets which affect the ++ mega-widget as a whole. ++ ++ For this to work properly, mega-widget packages must ++ register their component widgets using Itk_SetMegaWidget(). ++ ++ ++ winfo command window ++ ++ Returns the fully-qualified access command for the widget "window". ++ This is equivalent to the "%q" field in bindings, and is useful ++ in procedures where the only the window name is known: ++ ++ foreach kid [winfo children $win] { ++ [winfo command $kid] configure -bg blue ++ } ++ ++ ++ winfo megawidget window ++ ++ Returns the window path name of the mega-widget containing "window" ++ as a component. This is equivalent to the "%M" field in bindings, ++ and is useful in procedures where only the component window name ++ is known. For this to work properly, mega-widget packages must ++ register their component widgets using Itk_SetMegaWidget(). ++ ++ ++ == [incr Tcl] ========================================================== ++ ++ delete class name ?name...? ++ ++ Deletes one or more object classes. Deleting a class also ++ causes all derived classes, and all objects belonging to the ++ class, to be deleted as well. ++ ++ ++ delete object name ?name...? ++ ++ Deletes one or more objects. If the access command for an ++ object resides in another namespace, then the full namespace ++ path should be used: ++ ++ delete object foo::bar::x ++ ++ ++ info classes ?pattern? ++ ++ Returns a list of all classes in the current namespace ++ whose names match an optional string pattern. ++ ++ ++ info objects ?-class className? ?-isa className? ?pattern? ++ ++ Returns a list of all objects whose names match an optional ++ string pattern. If the "-class" option is specified, then ++ the list is further restricted to those objects whose ++ most-specific class is "className". If the "-isa" option ++ is specified, then the list is further restricted to those ++ objects who belong to class "className". ++ ++ ++ itcl::class name { definition } ++ ++ Used to create define a new class "name". The "definition" ++ commands include: ++ ++ inherit baseClass ?baseClass...? ++ ++ constructor arglist ?init? body ++ destructor body ++ ++ method name ?arglist? ?body? ++ proc name ?arglist? ?body? ++ variable name ?init? ?config? ++ common name ?init? ++ ++ public command ?arg arg...? ++ protected command ?arg arg...? ++ private command ?arg arg...? ++ ++ Note that the constructor statement has changed to include an ++ optional "init" argument. This is an initialization statement ++ that can be used to call out base class constructors. If it ++ is not included, base classes are constructors are invoked ++ automatically without any arguments. ++ ++ The "variable" statement is now used to create object-specific ++ data members. The "common" statement is used to create "common" ++ variables, which are global within the class namespace. Both ++ types of variables can be designated public, protected or ++ private. ++ ++ ++ itcl::body class::func arglist body ++ ++ Used to define the body of a class member function outside of ++ the class definition. If "body" declarations are kept in a ++ separate file, they can be sourced again and again to test ++ changes as bugs are fixed. If an "arglist" is specified in ++ the class definition, then the "arglist" for the body definition ++ must have the same meaning. ++ ++ ++ itcl::configbody class::option body ++ ++ Similar to the "body" command, but used to define the configuration ++ code for a public variable. ++ ++ ++ itcl_class name { old-style-definition } \__ backward compatibility ++ itcl_info option ?arg arg...? / ++ ++ ++ == [incr Tk] =========================================================== ++ ++ itcl::class name { ++ ... ++ itk_option define -switch resName resClass initVal ?configCode? ++ } ++ ++ The "itk_option define" command is recognized at the level of ++ the class definition. It defines a new mega-widget option with ++ the given switch name and X11 resource database names. The ++ "initVal" is used as a last resort to initialize the option ++ if no other value can be queried from the X11 resource database. ++ If "configCode" is specified, it is executed whenever the option ++ is modified via the "configure" method. The "configCode" can ++ also be specified outside of the class definition via the ++ "itcl::configbody" command. ++ ++ ++ Methods provided by itk::Archetype base class: ++ ++ component ++ component name ++ component name command ?arg arg...? ++ ++ Used to query or access components within a mega-widget. With ++ no arguments, this returns a list of component widgets that ++ are accessible in the current scope. Note that component ++ widgets obey any public/protected/private access restriction ++ that is in force when the component is created. ++ ++ With one argument, this returns the window path name for a ++ component with the symbolic name "name". ++ ++ In any other case, the remaining arguments are invoked as a ++ method on the component with the symbolic name "name". ++ ++ ++ configure ++ configure option ++ configure option value ?-switch value...? ++ ++ Works just like the usual Tk configure method, but for mega-widgets. ++ Here options are really composite widget options. When set, they ++ trigger changes to many different internal components, and may ++ invoke many bits of "configCode" for options defined by "itk_option ++ define". However, there is only one value for the composite option. ++ ++ ++ cget option ++ ++ Works just like the usual Tk cget method, but for mega-widgets. ++ Returns the current value for a composite widget option. ++ ++ ++ itk_component add name {create-commands} ?{option-commands}? ++ ++ Adds a new mega-widget component with the symbolic name "name". ++ Invokes the "create-commands" to create the component, and ++ invokes "option-commands" to integrate its options into the ++ composite list. By default, no options are integrated. Options ++ may be added using the following commands: ++ ++ keep option ?option...? ++ ignore option ?option...? ++ rename oldswitch newswitch resname resclass ++ usual ?tag? ++ ++ ++ itk_component delete name ?name...? ++ ++ Deletes an existing mega-widget component with the symbolic ++ name "name". The component will still exist as a widget, ++ but it will no longer be accessible as a component for this ++ mega-widget. Any options associated with the component are ++ removed from the composite list. ++ ++ Note that you can destroy a component like any ordinary widget: ++ ++ destroy .foo.bar.b ++ ++ Components automatically detach themselves from their mega-widget ++ parent when destroyed, so "itk_component delete" is not used ++ very often. ++ ++ ++ itk_option add option ?option...? \__ class::option ++ itk_option remove option ?option...? / component.option ++ ++ Adds or removes an option from the composite option list for ++ a mega-widget. These commands cannot be used at the level of ++ the class definition; they must be invoked for a particular ++ mega-widget. They usually appear in the constructor for a ++ mega-widget class, to add or redefine options in components ++ created by a base class. For example, the base classes ++ itk::Toplevel and itk::Widget keep only the bare minimum ++ options for their "hull" component: -background and -cursor. ++ If you want your mega-widget to have a border around it, you ++ can add the hull options back in: ++ ++ itcl::class MyWidget { ++ inherit itk::Widget ++ ++ constructor {args} { ++ itk_option add hull.borderwidth hull.relief ++ } ++ } ++ ++ ++ itk_initialize ?option value option value...? ++ ++ Initializes the composite option list for a mega-widget. ++ This method should be invoked within the constructor for each ++ mega-widget class. It is usually included the end of the ++ constructor, below the component creation code. It integrates ++ all "itk_option" options defined in the current class into ++ the composite configuration list, and includes "-option value" ++ settings usually received as arguments to the constructor. ++ When this is executed in the most-specific class, it scans ++ through the composite option list and makes sure that all ++ options have been properly initialized. ++ ++ itk::usual tag ?commands? ++ ++ Used outside of a mega-widget class definition to declare ++ the "usual" option-handling commands for the mega-widget. ++ These commands suggest how the configuration options should ++ be handled if the mega-widget becomes a component of an even ++ larger mega-widget. They include commands like "keep" and ++ "rename". ++ ++ ++ INCOMPATIBLE CHANGES ++-------------------------------------------------------------------------- ++ ++ >> Object construction/destruction now follows C++ model. ++ ++ In the previous release, object construction started at the ++ most-specific constructor. Base class constructors could ++ be called out explicitly within the body of a constructor. ++ If they were not, they were invoked implicitly when the ++ constructor finished executing. This led to a construction ++ model that was backward from C++, and contrary to what most ++ people expected. Destructors were backwards in a similar ++ manner. ++ ++ In the current release, object construction starts at the ++ least-specific class in the hierarchy, and proceeds to the ++ most-specific class. Therefore, each base class is fully ++ constructed before the derived class constructor is executed. ++ ++ Arguments are now passed to base class constructors through ++ an optional "initialization" statement. This statement is ++ included between the argument list and the body of the ++ constructor, so the syntax is reminiscent of C++: ++ ++ class Base { ++ constructor {x y} { ++ ...constructor body... ++ } ++ } ++ class Derived { ++ inherit Base ++ constructor {x y z} { ++ Base::constructor $x $y << "initialization" ++ } { ++ ...constructor body... ++ } ++ } ++ ++ Note that variables from the argument list (e.g., $x and $y) ++ can be referenced within the initialization statement. With ++ multiple inheritance, each of the base class constructors ++ can be called out individually. ++ ++ Object destruction is the exact opposite of construction. ++ It proceeds from most-specific to least-specific class. ++ ++ ++ >> All class methods are now implicitly virtual ++ ++ In the previous release, all method names were interpreted ++ with respect to the current class scope and its base classes. ++ If you wanted a method to act virtual, you had to explicitly ++ preface it with the "virtual" command each time you used it. ++ This proved to be error prone. ++ ++ In the new release, all methods are virtual by default. If ++ you invoke a method with a simple name, the most-specific ++ method with that name will be invoked, regardless of your ++ class scope: ++ ++ class Base { ++ constructor {} {show} ++ method show {} {puts "Base::show"} ++ } ++ class Derived { ++ inherit Base ++ constructor {} {show} ++ method show {} {puts "Derived::show"} ++ } ++ ++ The method "show" called out in the constructors for both of ++ these classes is virtual. When Base::constructor is executed ++ it finds the most-specific "show" method and prints ++ "Derived::show". When Derived::constructor is executed, it ++ finds the most-specific "show" method and prints "Derived::show" ++ again. ++ ++ If you want to invoke a particular method, you have to scope ++ it explicity: ++ ++ class Base { ++ constructor {} {Base::show} ++ method show {} {puts "Base::show"} ++ } ++ class Derived { ++ inherit Base ++ constructor {} {Derived::show} ++ method show {} {puts "Derived::show"} ++ } ++ ++ ++ >> Within class methods/procs the "global" command now refers to ++ variables within the class namespace. ++ ++ In the previous release, the "global" command was used to ++ access variables at the global scope. The "global" command ++ now refers to variables that are "global" within the current ++ namespace context. Within the scope of a class, this refers ++ to "global" class variables. Note that common data members ++ are global variables, but they can be accessed transparently, ++ without any special "global" declaration. You can also create ++ ordinary global variables within a class, but you will have to ++ declare them each time they are used with a "global" statement. ++ The new scheme will allow classes to have their own private ++ global variables (e.g., for interacting with widgets) without ++ flooding the global namespace. ++ ++ If you really want to access a variable at the "::" global ++ scope, use its complete path name: ++ ++ itcl::class Foo { ++ method getenv {name} { ++ global ::env ++ return $env($name) ++ } ++ } ++ ++ ++ >> "this" variable used to be included in every class scope ++ ++ In the previous release, each class scope included a separate ++ "this" variable containing the object name. There is now only ++ one "this" variable, kept in the most-specific class scope. ++ It can still be referenced as if it belongs to all classes, ++ e.g., "Base::this", "Derived::this". ++ ++ This change is probably not important to most applications. ++ But it did break my test suite, which expected to find many ++ different "this" variables coming back from the "info" command. ++ ++ ++ >> "this" variable now contains complete namespace path for the ++ object access command ++ ++ This change will break many scripts written for mega-widgets. ++ In the previous release, mega-widgets had a window name and an ++ access command name that were interchangeable. For example, ++ you would create a widget ".dialog" and configure it using ++ the ".dialog" command. Inside of this widget there was a ++ "this" variable containing the name ".dialog". ++ ++ In the current release, an object can exist in any namespace, ++ so the complete namespace path is a part of the object's ++ identity. Instead of just ".dialog", the "this" variable will ++ now contain a name like "::.dialog" or "::foo::.dialog". But ++ the window name is still just ".dialog". ++ ++ Scripts that used to use "$this" as a window name: ++ ++ wm title $this "Dialog" ++ ++ must now use the [incr Tk] "hull" component instead: ++ ++ wm title $itk_component(hull) "Dialog" ++ ++ If for some other reason you need the simple object name at the ++ end of the namespace path, you can get at it using the ++ "info namespace tail" command: ++ ++ set oldthis [info namespace tail $this] ++ ++ ++ >> "#auto" generated names now start with lower-case letter ++ ++ In the previous release, "#auto" could be used in place of ++ an object name to produce an automatically generated name: ++ ++ Toaster #auto -heat light ++ ++ The names were generated by adding a unique number onto the ++ class name: "Toaster0", "Toaster1", etc. ++ ++ The current release supports the same functionality, except ++ that the names generated are guaranteed to start with a ++ lowercase letter: "toaster0", "toaster1", etc. This helps ++ out in the mega-widget arena, where window names must start ++ with lowercase letters. ++ ++ ++ >> "config" argument used to allow multiple default values ++ ++ The magic "config" argument used to allow multiple default ++ values, which were simply concatenated into a single value ++ before processing. For example, in the previous release ++ you could say: ++ ++ itcl_class Foo { ++ method test {x y {config -foo 0 -bar 0}} { ++ ... ++ } ++ } ++ ++ and if the "test" method was used without extra configuration ++ arguments, they would default to "-foo 0 -bar 0". ++ ++ In the current release, you must make the default value for ++ a "config" argument a single string: ++ ++ itcl::class Foo { ++ method test {x y {config "-foo 0 -bar 0"}} { ++ ... ++ } ++ } ++ ++ >> "info class" now acts "virtual" ++ ++ In the previous release, the "info class" command would report ++ the current class context. In a base class method, it would ++ report the base class name, and in a derived class method, it ++ would report the derived class name. If you wanted to know ++ the most-specific class for an object, you would have to use ++ the "virtual" command explicitly: ++ ++ itcl_class Base { ++ method whatAmI {} { ++ return [virtual info class] ++ } ++ } ++ ++ The "info" command is now virtual by default, as long as an ++ object context is present. This means that you can drop the ++ "virtual" command: ++ ++ itcl::class Base { ++ method whatAmI {} { ++ return [info class] ++ } ++ } ++ ++ If you really want to know the current class scope, use the ++ "info context" command instead to query the current namespace ++ context. ++ ++ If an object context is not present (i.e., in the body of a ++ common class "proc"), the "info class" command reverts to ++ the current class context, the same as the "info context" command. ++ ++ ++ >> Library procedures "itcl_unload" and "itcl_reload" have been removed ++ ++ In the previous release, the library procedure "itcl_unload" ++ provided a way of deleting a class. You can now do the same ++ thing using the "delete class" command: ++ ++ delete class Toaster ++ ++ This deletes the specified class, all derived classes, and all ++ objects belonging to this class. If autoloading is set up, ++ you can reload a deleted class just by invoking its name. ++ The old "itcl_reload" function is now trivial: ++ ++ proc itcl_reload {class} { ++ delete class $class ++ $class ++ } ++ ++ ++ >> Class definition no longer recognizes ordinary Tcl commands. ++ ++ As an undocumented "feature" of the previous release, you could ++ include ordinary Tcl commands in the body of your class definition. ++ For example: ++ ++ itcl_class Foo { ++ ... ++ if {$somevar} { ++ public foo ++ } ++ } ++ ++ In the new release, only class definition commands are allowed ++ within the body of a class definition. You can, however, use Tcl ++ commands outside of the class definition to modify the class ++ definition as a string, and then define the class: ++ ++ set defn { ++ method test {} {return "test"} ++ } ++ if {$somevar} { ++ append defn "public variable foo" ++ } ++ class Foo $defn ++ ++ ++ IMPROVEMENTS ++-------------------------------------------------------------------------- ++ ++ >> an object can be renamed by renaming its access command ++ ++ In the previous release, an object's identity was fixed when ++ it was created. In the new release, the object is tied ++ directly to its access command. If you rename the access ++ command, you have renamed the object. The "this" variable ++ automatically keeps in sync with name changes. If you delete ++ the access command, you automatically delete the object. ++ ++ Toaster new -heat light ++ rename new fred << rename Toaster ++ fred toast 2 ++ fred toast 1 ++ rename fred "" << delete Toaster ++ ++ ++ >> Bodies of methods, procs and public variables can be defined ++ outside of the class definition, and can be redefined on the fly. ++ ++ In the previous release, all of the code related to a class was ++ defined within the class definition. This kept everything ++ together in one place, but it made it difficult to get an overview ++ of the class interface. ++ ++ In the new release, bodies can be defined outside of the class ++ definition, perhaps in a separate file. When debugging, the ++ implementations can be fixed and sourced again and again, without ++ having to delete existing objects and classes. ++ ++ Use the "itcl::body" command to redefine the body of a class ++ method or proc. Use "itcl::configbody" to redefine the configuration ++ code associated with a public variable. For example: ++ ++ itcl::class Toaster { ++ constructor {args} { ++ eval configure $args ++ } ++ destructor { ++ if {$crumbs > 0} { ++ error "cannot destroy dirty toaster: clean first" ++ } ++ } ++ ++ method toast {nslices} ++ method clean {} ++ ++ public variable heat 3 ++ protected variable crumbs 0 ++ } ++ ++ itcl::body Toaster::toast {nslices} { ++ if {$nslices < 1 || $nslices > 2} { ++ error "bad number of slices: should be 1 or 2" ++ } ++ set crumbs [expr $crumbs+$heat*$nslices] ++ if {$crumbs >= 50} { ++ puts stderr "== FIRE! FIRE! ==" ++ } ++ } ++ ++ itcl::body Toaster::clean {} { ++ set crumbs 0 ++ } ++ ++ itcl::configbody Toaster::heat { ++ if {$heat < 1 || $heat > 5} { ++ error "invalid setting \"$heat\": should be 1-5" ++ } ++ } ++ ++ If an argument list is specified in the class definition, then ++ the same argument list must be used when the implementation is ++ redefined. The variable names can change, but the meaning of ++ the arguments must be the same. If you leave the argument ++ list out of the class definition, or if you include the "args" ++ argument, the argument list can change. ++ ++ ++ >> C procedures can be integrated into class definitions ++ ++ Any method body that is specified as "@symbol" is treated as a ++ reference to a C procedure with the symbolic name "symbol". ++ Symbolic names are established by registering C procedures ++ via the Itcl_RegisterC() procedure. This is usually done ++ when the interpreter starts up in the Tcl_AppInit() procedure: ++ ++ if (Itcl_RegisterC(interp, "foo", My_FooCmd) != TCL_OK) { ++ return TCL_ERROR; ++ } ++ ++ This registers a procedure My_FooCmd() with the symbolic name ++ "foo". It can be used as the implementation for a class method, ++ proc, or bit of configuration code simply by specifying "@foo" ++ in place of the Tcl code body. ++ ++ These C procedures are just like ordinary Tcl command handlers. ++ They take the usual arguments: ++ ++ int My_FooCmd(ClientData cdata, Tcl_Interp *interp, ++ int argc, char** argv) ++ { ++ ... ++ return TCL_OK; ++ } ++ ++ including the (argc,argv) arguments from the command line. But ++ before these procedures are invoked, the proper class scope is ++ established so that object data members can be accessed as if ++ they were ordinary variables via Tcl_GetVar() and Tcl_SetVar(). ++ ++ Look at the [incr Tk] base class itk::Archetype as an example ++ for integrating C code. ++ ++ ++ >> "#auto" can be buried within an object name: ".x.y.z.#auto" ++ ++ In the previous release, "#auto" was a keyword that could be ++ used in place of an object name. It can now be used as a ++ part of the object name, making it easier to generate automatic ++ names for mega-widgets. ++ ++ ++ >> Every object now has built-in "configure" and "cget" methods ++ that follow the Tk paradigm. For [incr Tk] widgets, they follow ++ the paradigm exactly. The ordinary [incr Tcl] objects, the ++ X11 resource values are missing. ++ ++ ++ >> There is no longer a built-in "delete" method, so classes can ++ define their own "delete" operations. ++ ++ Instead of "objName delete", use the new "delete object" command: ++ ++ Toaster fred -heat dark ++ delete object fred ++ ++ ++ >> All data members can be declared public, protected or private. ++ ++ Private data members can only be accessed in the class where ++ they are defined. Protected data members can be accessed in ++ the defining class and all derived classes. Public data members ++ can be accessed like protected data members, but are also ++ recognized as configuration options by the built-in "configure" ++ and "cget" methods. ++ ++ ++ >> In [incr Tk], options are now defined outside of the constructor, ++ at the level of the class definition. ++ ++ ++ >> In [incr Tk], configuration options belonging to components ++ created in a base class can be added or removed in derived ++ classes. ++ ++ The base classes "itk::Toplevel" and "itk::Widget" are now stripped ++ down to the bare minimum options. For example, if you want to add ++ "-width" and "-height" options for the hull component, do this using ++ the "itk_option" command in the body of the constructor: ++ ++ class MyWidget { ++ inherit itk::Widget ++ ++ constructor {args} { ++ itk_option add hull.widget hull.height ++ ... ++ } ++ } ++ ++ Options can be added and removed on-the-fly during normal operation, ++ but this is not recommended, since it could lead to a confusing ++ interface. ++ ++ ++ >> In [incr Tk], components can now be added or removed on-the-fly. ++ ++ The "itk_component" method now supports "add" and "delete" ++ operations that are used to add/delete components. ++ ++ ++ >> All [incr Tk] widgets can be destroyed like normal Tk widgets. ++ ++ If you destroy a component widget, for example, it will automatically ++ remove itself from its parent via "itk_component delete". Likewise, ++ when a parent widget is destroyed, it will automatically destroy ++ all component widgets. ++ ++ ++ >> In [incr Tk], the "itk::Archetype::component" method now provides ++ access to mega-widget components. ++ ++ In the previous [incr Tk] prototype, the "component" method had ++ a different syntax and only supported query operations. You can ++ now access an internal component via the "component" method using ++ its symbolic name: ++ ++ .dialog component hull configure -width 450 -height 500 ++ ++ This example accesses the "hull" component of the ".dialog" ++ mega-widget, and sets the width and height options. ++ ++========================================================================== ++ ---------------------- RELEASE 2.0beta - 9/6/95 ------------------------ ++========================================================================== ++ ++9/8/95 (bug fix) ++ Fixed menus to work properly within namespaces. Menu library code ++ now recognizes the proper namespace context for all "-menu" options. ++ ++9/8/95 (new feature) ++ Added "winfo command name" option to report the scoped access command ++ for a given window. ++ ++9/8/95 (configuration changes) ++ - fixed "sed" invocation in iwidgets Makefile ++ - added configuration guesses for Tadpole Sparcbook ++ - added George Howlett's test for "gcc", so that "-fwritable-strings" ++ is added even if gcc is masquerading as "cc" ++ - fixed tcl/tk configure scripts to have default prefix "/usr/local/itcl" ++ or wherever itclsh/itkwish is installed ++ - fixed makefiles to use $(MAKE) instead of "make" ++ ++9/9/95 (bug fix) ++ Protected references to obj->accessCmd to avoid seg faults when ++ an object is being destroyed. ++ ++9/9/95 (new features) ++ Changed the syntax of the "namespace" command: ++ ++ namespace name ?-local? ?-hidden val? ?-enforced val? ?--? ?commands? ++ ++ Flags now follow the namespace name, and the "commands" body is ++ optional. The "-hidden" option allows a namespace to be hidden ++ during "info namespace all" queries. The "-enforced" option turns ++ command/variable enforcement on or off. ++ ++ Update "info namespaces all" command to allow for display of hidden ++ namespaces: info namespaces all ?-hidden? ?pattern? ++ ++9/10/95 (bug fix) ++ Fixed "auto_mkindex" to work properly for procs defined within ++ namespaces. Added support for itcl::class, itcl::body and ++ itcl::configbody as well. Added tests for tclIndex file generation. ++ ++9/11/95 (configuration changes) ++ Fixed makefiles to reference sources and libraries properly, so ++ it should be possible to build different object trees for ++ different platforms with "gmake". ++ ++9/13/95 (configuration changes) ++ Added "AC_C_CROSS" to configure files, so configuration should work ++ properly on Solaris 2.4. ++ ++9/13/95 (bug fix) ++ Changed option configuration to work synchronously, and added ++ "itk_initialize" command to initialize the configuration options ++ for each mega-widget class. The original behavior of handling ++ option changes via "do-when-idle" has been removed. ++ ++9/13/95 (bug fix) ++ Changed all structure members called "namespace" to "namesp". ++ This allows the code to compile correctly under C++. ++ ++9/13/95 (configuration changes) ++ - added support for "i[34]86:BSD/OS" in "config/config.guess" ++ - fixed "test" target for iwidgets ++ ++9/13/95 (bug fix) ++ Fixed "global" command and other places where namespace paths ++ are parsed to allow for a single ":" in command/variable names. ++ ++9/13/95 (bug fix) ++ Fixed a problem which caused class-based options to be lost when ++ a widget class was defined within a proc. ++ ++9/14/95 (bug fix) ++ Fixed class access command so that when it is deleted, it ++ automatically destroys the class. This also fixed a seg fault ++ that occurred when an object's access command stomped on the ++ class access command. ++ ++9/14/95 (enhancement) ++ Fixed "scope" command and the @scope facility so that null strings ++ can be passed around without all of the extra scoping info. ++ ++========================================================================== ++ ----------------------- RELEASE 2.0b2 - 9/14/95 ------------------------ ++========================================================================== ++ ++9/15/95 (enhancement) ++ Changed error messages reported when a class method/proc gets the ++ wrong number of arguments to report the usage information, like: ++ {wrong # args: should be "obj foo x y ?arg arg...?"} ++ ++9/18/95 (bug fix) ++ Fixed a seg fault that occurred when the "cget" method was called ++ with no args. ++ ++9/18/95 (bug fix) ++ Fixed a bug that caused private variables in a base class to be ++ uninitialized, even if an initial value was specified in the ++ class definition. ++ ++9/22/95 (configuration changes) ++ Added the "SHELL=/bin/sh" statement to the main makefile. This ++ fixes build problems on SGI machines. ++ ++10/9/95 (paradigm shift) ++ Removed the implicit scoping from any facility that takes a command ++ or variable name. Implicit scoping made it difficult to pass a ++ command string or variable name into a wrapper proc and yet preserve ++ the scope that it came from. All scoping is now explicit. All ++ commands and variables are interpreted in the global "::" scope ++ unless they are wrapped in an "@scope" declaration. Commands can ++ be wrapped up like this: ++ ++ button .b -text "Push Me" -command [code .b configure -bg red] ++ ++ Variable names can be wrapped up like this: ++ ++ radiobutton .rb1 -text "Choice #1" -variable [scope mode] -value 1 ++ ++ The "code" and "scope" commands wrap up strings with an "@scope" ++ specification which preserves the namespace context. ++ ++10/17/95 (paradigm shift) ++ Changed the "%C" option of the "bind" command to return a scoped ++ command of the form "@scope namespace widget" that can be used to ++ access the widget. "%C" should be used instead of the usual "%W" ++ window name when attempting to access the widget. Bindings should ++ be written like this: ++ ++ bind Entry {%C configure -bg white} ++ bind Entry {%C configure -bg gray} ++ ++ The command "%C" can be used to access the widget regardless which ++ namespace it belongs to. ++ ++10/31/95 (enhancement) ++ Fixed "unknown" command to support a general facility for adding ++ unknown command handlers. The "unknown_handler" proc is used to ++ register new handlers. Each time an unknown command is encountered, ++ each of the handlers is invoked to attempt to handle the command. ++ If a handler returns "-code continue", control passes to the next ++ handler on the list. Handlers are invoked in the order opposite to ++ the way they were registered. Extensions can use this facility to ++ add their own handlers into the "unknown" scheme. ++ ++11/7/95 (enhancement) ++ Added a "backward-compatibility" mode to [incr Tcl]. By default, ++ widget names can now be used as access commands in any namespace, ++ even if the widget access command exists in another namespace. ++ This emulates the normal Tk behavior that widgets are global resources ++ in the application that can be accessed anywhere. This behavior can ++ be disabled by setting the global variable "itcl_purist" to "1". When ++ this variable is set non-zero, care must be used to use "%C" or ++ "[winfo command %W]" as an access command when the widget is used ++ outside of the namespace that contains it. From the standpoint of ++ the object-oriented paradigm, the "purist" mode is better since it ++ supports encapsulation. The "backward-compatible" mode, however, ++ allows [incr Tcl] to work better with existing Tk applications and ++ extensions. ++ ++11/22/95 (bug fix and enhancement) ++ Fixed the built-in "info" command for classes to include the "info ++ classes" and "info objects" queries. These were initially overlooked ++ in a hard-wired list of "info" queries. ++ ++ Fixed the ensemble facility in general to support unknown options ++ via an "@error" handler. Any option registered with the name "@error" ++ is treated as an error handler for the ensemble. Arguments passed ++ to the option include the ensemble name, the unknown option, and all ++ remaining arguments. For the built-in "info" command, the "@error" ++ handler passes any unknown options to the usual Tcl "info" command, ++ so all of the standard options are automatically available. ++ ++11/23/95 (bug fix) ++ Fixed usual tkerror dialog to truncate error messages at 5 lines. ++ The usage information returned by an ensemble or itcl object can ++ be much longer, causing the "Stack Trace" button to get lost in ++ many cases. ++ ++11/27/95 (bug fix) ++ Removed the constructor/destructor from the list of public methods ++ returned as usage information when an unknown method is encountered ++ on an object. ++ ++12/2/95 (bug fix) ++ Fixed error reporting for object construction. Used to say ++ something like "object constructor x y z" which made it look ++ like a method invocation. Now says "class object x y z" which ++ looks more like the call that the user made to trigger the error. ++ ++12/4/95 (bug fix) ++ Fixed class creation and object creation to avoid clobbering ++ existing commands with new class/object access commands. This ++ prevents all hell from breaking loose when a command like ++ "class set {...}" is invoked. ++ ++12/6/95 (configuration changes) ++ Fixed parsing of namespace paths to use local storage instead of ++ assuming that strings are writable. This means that the ++ "-fwritable-strings" option is no longer necessary for GCC and ++ other compilers that store static strings in the program text ++ segment. This option has been removed from all "configure.in" ++ files. Linux users will no longer see core dumps on start-up. ++ ++12/8/95 (bug fix) ++ Fixed "upvar" so that class data members can be accessed from ++ another calling procedure. This fixed a problem with using ++ "parray" from within class methods. ++ ++12/9/95 (bug fix) ++ Fixed "@scope" variable references so that variables can be created ++ using "@scope" in any context and referenced later. ++ ++12/9/95 (feature change) ++ Removed "-hidden" option from namespaces. It seemed to complicated ++ and quirky to explain on the man page. Instead, all parser ++ namespaces like "scope-parser" and "mkindex-parser" are grouped ++ into a "::tcl" namespace. This keeps them somewhat hidden even ++ without any special treatment. ++ ++12/9/95 (minor enhancement) ++ Added "array" command to class definition parser, so it can be ++ used along with "set" to initialize common arrays. ++ ++12/10/95 (paradigm shift) ++ Removed the "%C" pattern from the expansions recognized by the ++ "bind" command, in favor of the following scheme: ++ %W ........ name of widget receiving event ++ %M ........ name of mega-widget containing widget receiving event ++ %q ........ fully-qualified command name of widget receiving event ++ %Q ........ fully-qualified command name of mega-widget receiving event ++ Fixed "winfo command" to return the fully-qualified command name of ++ a widget (instead of a scoped access command) to be consistent with ++ the "%q" bind pattern. ++ ++12/10/95 (bug fix) ++ Fixed Tk library code to use "%q" and "winfo command", so that the ++ default widget behaviors will work even in "itcl_purist" mode. ++ ++12/11/95 (minor enhancement) ++ Added "winfo megawidget" query, which will return the name of the ++ mega-widget containing a specified component widget. In order for ++ this to work, a mega-widget package must use the procedure ++ Itcl_SetMegaWidget() to register each component as it is added ++ to a mega-widget. ++ ++12/12/95 (bug fix) ++ Fixed Archetype base class to keep all options sorted in alphabetical ++ order. This way they can be reported back by the "configure" method ++ in alphabetical order. Options are now initialized by "itk_initialize" ++ in alphabetical order as well. ++ ++12/12/95 (bug fix) ++ Fixed the Archetype base class to register each component widget with ++ Tk via Itk_SetMegaWidget(). This means that "winfo megawidget" and ++ "%Q" can be used to reference the containing mega-widget for any component. ++ ++12/12/95 (bug fix) ++ Fixed the "configure" method in the Archetype base class so that when ++ an error is encountered while setting a configuration option, the option ++ is set back to its previous value. ++ ++12/12/95 (bug fix) ++ Fixed the "itk_component add" method to find access commands for ++ components even if they are created in the global scope. Components ++ that are meant to be shared can be created using "uplevel #0". The ++ access command for this component will be installed in the global scope, ++ and therefore available to all other namespaces. ++ ++ Syntactic sugar like a "-global" option would be nice, but references ++ like $itk_component(...) must be substituted in the calling scope, and ++ it is not possible to get these properly substituted and still maintain ++ the boundaries around arguments. ++ ++12/12/95 (bug fix) ++ Fixed Archetype base class to handle public/protected/private components ++ properly. The usual public/protected/private commands can be used in ++ conjunction with "itk_component add" to set the protection level of a ++ component. The protection level affects the action of the "component" ++ method. Public components are reported in any namespace, and are ++ accessible from any namespace. Protected components are accessible ++ within a base class and derived classes. Private components are ++ accessible only within the class where they are defined. This feature ++ can be used to keep unimportant components (such as frames) off of the ++ component list that a client would see. ++ ++12/13/95 (enhancement) ++ Added "usual" and "ignore" commands for processing component widget ++ configuration options. The "usual" command finds the usual code fragment ++ for the widget class of the component, and executes it. The command ++ "itk::usual" can be used to register option code for new widget classes. ++ ++ The "ignore" command can be used to override previous "keep" and "rename" ++ commands. This is useful for removing options that the "usual" code ++ keeps or renames. ++ ++ Fixed the "itk_component add" command so that if the option handling code ++ is not specified, the "usual" command is invoked automatically. ++ ++12/13/95 (bug fix) ++ Fixed the Archetype base class to handle the immutable Tk options ++ properly. Options like -class, -colormap, -screen and -visual can only ++ be set at creation time. The itk_option array is now properly ++ initialized to report their creation value. ++ ++12/14/95 (bug fix) ++ Fixed "itk_option add" command to report errors properly for unknown ++ options. ++ ++12/14/95 (bug fix) ++ Fixed "body" command to report errors properly for unknown functions. ++ ++12/14/95 (bug fix) ++ Fixed a bug in the handling of TCL_GLOBAL_ONLY flag when looking up ++ class variables. Previously, this was ignored, so object-specific ++ variables could be accessed in a "global" context by Tk widgets. ++ This caused some strange behavior when object-specific variables ++ were used in conjunction with widget options like "-textvariable". ++ Tk widgets now properly interact with classes via global variables. ++ ++12/14/95 (bug fix) ++ Fixed "auto_mkindex" to recognize procs within class definitions and ++ add them to the "tclIndex" file. ++ ++12/15/95 (bug fix) ++ Fixed "body" command to find functions only in the specified class. ++ The bug caused a base class method to be redefined whenever a "body" ++ command was issued for a derived class if the method was not declared ++ in the derived class. Made a corresponding fix to the "configbody" ++ command for public variables. ++ ++12/15/95 (enhancement) ++ Added the following commands to the class definition parser: bind, ++ scope and code. This allows generic class bindings to be included ++ in the body of a class definition. ++ ++12/15/95 (enhancement) ++ Added "-clientdata" option in itk::Archetype base class so that ++ all widgets will have an extra field for client data. For application ++ developers, this may come in handy. ++ ++12/16/95 (bug fix) ++ Fixed the itk::Archetype base class so that if "itk_option add" or ++ "itk_option remove" is called for ordinary class-based options before ++ "itk_initialize" (which normally integrates them in) it does not cause ++ a problem. ++ ++12/17/95 (bug fix) ++ Fixed namespace resolution so that a command/variable with a ++ specific path like "itk::body" will not be found in another ++ imported namespace. For the import list to be followed, the ++ command name must be generic like "body". ++ ++12/19/95 (configuration changes) ++ Changed from generic directories like "tcl" and "tk" to directory ++ names with version numbers like "tcl7.4" and "tk4.0". ++ ++12/19/95 (bug fix) ++ Changed names like "itcl_library" and "itcl_purist" to "itcl::library" ++ and "itcl::purist". This makes more sense in the documentation, since ++ the underbar stuff is no longer needed with namespaces, and extension ++ writers are discouraged from using it. ++ ++12/21/95 (bug fix) ++ Changed handling of argument lists for functions with Tcl or C ++ implementations. All argument lists are now treated as Tcl ++ argument specifications. For Tcl implementations, this determines ++ what arguments are available in the body of the procedure; for C ++ implementations, this merely gives the intended usage information ++ for the function (the C implementation may choose to ignore this ++ and do something else). This fix makes it easier to override ++ C implementations with Tcl procedure bodies. ++ ++12/25/95 (bug fix) ++ Split the usual TCL_GLOBAL_ONLY flag into two meanings: TCL_GLOBAL_ONLY ++ now means "a global variable in the global namespace", and ITCL_GLOBAL_VAR ++ means "a global variable in the current namespace". This enhancement ++ fixes Tk (and many other extensions) which request global variables. ++ A plain variable name together with TCL_GLOBAL_ONLY is now interpreted ++ as an ordinary Tcl global variable, so the behavior is backward-compatible. ++ A scoped variable reference will work properly with namespaces. If ++ extension writers get more ambitious, they can start using the ++ ITCL_GLOBAL_VAR flag, which will make their extensions namespace-friendly. ++ ++12/26/95 (bug fix) ++ Fixed "@scope" command so that extra arguments added at the end are ++ kept as proper list elements when added to the command string. This ++ makes sure that boundaries around Tcl words are not lost when the ++ scoped command is interpreted. ++ ++12/28/95 (minor enhancement) ++ Added "config" method to the Archetype base class as an alias for ++ the usual "configure" method. Many Tk applications use "config" ++ as an abbreviation for "configure", so this fix improves compatibility ++ with other packages. ++ ++12/28/95 (bug fix) ++ Fixed Itcl_SaveInterpState() and Itcl_RestoreInterpState() to ++ properly save/restore the interp state even for commands like ++ Tcl_SetCmd(), which are sloppy about setting the interpreter ++ result. This fixed bad memory references that were encountered ++ in enforced namespaces. ++ ++12/28/95 (bug fix) ++ Fixed Itcl_DeleteNamesp() to allow variable traces to be fired ++ off properly when a namespace is destroyed. ++ ++12/30/95 (bug fix) ++ Fixed the Archetype base class to do the "ignore" operation ++ properly for mega-widget options. A bug was causing a single ++ "ignore" request not only to eliminate the desired option, but ++ to eliminate options that were renamed to the "ignore" name ++ as well. ++ ++========================================================================== ++ ------------------------ RELEASE 2.0 - 12/31/95 ------------------------ ++========================================================================== ++ ++1/2/96 (cleanup) ++ Fixed some compiler warnings reported by Christopher Hylands ++ (cxh@EECS.Berkeley.EDU) ++ ++1/4/96 (cleanup) ++ Fixed the description of the last test in itk/tests/option.test. ++ ++1/4/96 (cleanup) ++ Fixed code examples in man pages. Lines starting with "." now ++ start with the null character "\&", to avoid errors with troff. ++ ++1/5/96 (bug fix) ++ Fixed a bug in tkMenuUnpost. Popup menus associated with something ++ other than a menubutton can now be unposted properly. ++ ++1/10/96 (bug fix) ++ If an error occurs during construction, all destructors are now ++ invoked--even if an error is encountered. All destructor errors ++ are completely ignored. This fixed a core dump reported by ++ Christopher Hylands (cxh@EECS.Berkeley.EDU). ++ ++2/5/96 (cleanup) ++ Fixed memory leaks reported by Forest Rouse (rouse@flash.icemcfd.com). ++ Also fixed a problem in Itcl_DeleteNamesp() with the way that ++ the variable cache was destroyed. This caused a core dump on Solaris ++ systems when a namespace was deleted. ++ ++2/8/96 (cleanup) ++ Fixed itk tests to ignore any resources that the user might have ++ on the desktop (e.g., *background: red) ++ ++2/11/96 (bug fix) ++ Fixed auto_mkindex so that the "proc" command accepts arglist and ++ body as optional arguments. Within class definitions, these ++ parameters may not be specified. Also, fixed the "source" command ++ so that it is ignored within the file being indexed. Otherwise, ++ it brought in program elements that confused the index. ++ ++2/15/96 (bug fix) ++ Fixed the unknown command to save errorInfo and restore it before ++ invoking each handler. This fixed an irritating bug that caused ++ the first error message to be lost as "tkerror" was autoloaded. ++ ++2/20/96 (bug fix) ++ Fixed a bug in variable lookup that allowed private/protected ++ variables to be set from outside the normal context. On initial ++ lookup variables were being passed over, but since they did not ++ appear to exist, they were being created. Variables are now ++ protected from being set or redeclared from an improper context. ++ ++3/1/96 (enhancement) ++ Changed namespaces to import from their parent in "protected" ++ mode instead of "public" mode. This is a better default, since ++ it emphasizes the strong relationship between a parent and a ++ child. They can share variables that are hidden from anyone else. ++ ++3/5/96 (bug fix) ++ Fixed the "info objects" to autoload any classes referenced by ++ "-isa" or "-class" that are not yet defined. ++ ++3/12/96 (enhancement) ++ Fixed class parser to recognize commands at the global scope. ++ This makes it possible to embed normal Tcl commands like an ++ "if" statement within a class definition. It also makes it ++ easy to extend the class parser by defining procs in the ++ ::itcl::parser namespace. ++ ++3/17/96 (enhancement) ++ Fixed "usual" command so that with no arguments, it returns a ++ list of all known tags. Each tag name can be used to query its ++ associated code. ++ ++3/19/96 (enhancement) ++ Fixed the "configure" method for mega-widgets to include public ++ variables as configuration options. Normally, mega-widget ++ classes use "itk_option define" to define configuration options. ++ However, if a mega-widget includes an ordinary itcl class as ++ a base class, it should provide access to the base class options. ++ Public variables are now integrated into the composite option ++ list by "itk_initialize". ++ ++4/2/96 (enhancement) ++ Added a "chain" command to the built-ins available in each class. ++ A command like "chain 1 2 3" invokes the next implementation of ++ the current method/proc found looking up the inheritance hierarchy ++ toward base classes. This can be used to invoke a base class method ++ in a generic way, without hard-coding the base class name. ++ ++4/10/96 (bug fix) ++ Fixed "configure" operation for mega-widgets. Previously, if an ++ error was encountered during configuration, the value in itk_option ++ was set back to the previous value, but some parts of the mega-widget ++ might be left in a partially configured state. Now, if an error is ++ encountered and the option is set back to its previous value, the ++ change is propagated down to all parts, so the widget remains in a ++ consistent state. ++ ++4/15/96 (bug fix) ++ Fixed a bug reported by Karel Zuiderveld (karel.zuiderveld@cv.ruu.nl) ++ related to virtual method selection in "itcl_methods.c". If for some ++ reason a method name was not found in the virtual table, the table ++ access caused a core dump. This is now fixed. ++ ++5/13/96 (bug fix) ++ Fixed "itk_initialize" to recognize errors when executing the "config" ++ code associated with configuration options. Any error immediately ++ causes itk_initialize to abort, which usually aborts construction. ++ ++5/13/96 (bug fix) ++ Fixed a bug in Itcl_SaveInterpState() and Itcl_RestoreInterpState() ++ which caused error information to get lost during object construction ++ when errors were encountered. The new iPtr->appendResult buffer was ++ being ignored, and results in this buffer were getting lost. ++ ++6/1/96 (bug fix) ++ Changed the internal Interp and TkWindow data structures so that all ++ of the extra [incr Tcl] data members are at the bottom of the structure. ++ This should prevent errors when modules that have been compiled against ++ vanilla Tcl/Tk are dynamically loaded into [incr Tcl]. ++ ++6/12/96 (enhancement) ++ Integrated changes for "itcl2.0+3" release by Karel Zuiderveld, ++ Jan Nijtmans and Vince Darley. This added support for tcl7.5/tk4.1, ++ dynamic loading, canvas improvements, and support for Macintosh ++ environments. Many thanks to these guys for all of their hard ++ work! ++ ++6/22/96 (installation) ++ Changed the way things are installed: ++ - the startup file "init.itcl" is now called "itcl.tcl" ++ - the startup file "init.itk" is now called "itk.tcl" ++ - libraries, include files and man pages are now installed under ++ a special "itcl" directory to avoid conflicts with a vanilla ++ Tcl/Tk installation. For example, if your --prefix is set ++ to /usr/local, things would be installed as follows: ++ ++ /usr/local/bin ............ executables: ++ ish = tclsh with namespaces ++ iwish = wish with namespaces ++ itclwish = tclsh with namespaces and classes ++ itkwish = wish with namespaces and classes ++ ++ /usr/local/include/itcl ... include files ++ /usr/local/lib/itcl ....... libraries ++ /usr/local/man/itcl ....... manual pages ++ ++6/24/96 (bug fix) ++ Fixed "itkwish" so that it requires the Iwidgets package automatically ++ during initialization. For all other shells, you must specifically ++ request Iwidgets with a statement like "package require Iwidgets" ++ ++6/26/96 (bug fix) ++ Fixed Tk_CanvasTagsParseProc to avoid dumping core when an item ++ is configured with a null tag string. ++ ++6/26/96 (bug fix) ++ Fixed PolygonToPoint() in tkCanvPoly.c so that invisible polygons ++ (with no outline and no fill) are still considered when picking ++ the closest item. Without this fix, programs like the "floor plan" ++ in the Tk widget demo will not work. ++ ++6/26/96 (bug fix) ++ Fixed the [incr Widgets] "feedback" widget to do a full update on ++ each step. Without this, changes appear from time to time, but ++ the bar does not grow smoothly. ++ ++6/26/96 (bug fix) ++ Fixed fileselectiondialog and fileselectionbox to update directory ++ list properly when "-directory" option is configured. ++ ++6/28/96 (bug fix) ++ Fixed "itk_option define" to properly preserve a "config" code ++ body so that it can be released if it is redefined later. ++ ++========================================================================== ++ ------------------------ RELEASE 2.1 - 6/28/96 ------------------------- ++========================================================================== ++ ++7/22/96 (bug fix) ++ Fixed C-level variable access so flags like ITCL_FIND_LOCAL_ONLY ++ can be passed into Tcl_GetVar() and Tcl_SetVar(). ++ ++7/25/96 (bug fix) ++ Fixed the "notebook" widget in the [incr Widgets] set. The "index" ++ method now supports pattern matching and index names with spaces in ++ them. ++ ++8/1/96 (bug fix) ++ Fixed destructor invocation so that if an object is being ++ destructed and you try to delete it again, it will report an ++ error. ++ ++8/7/96 (bug fix) ++ Fixed the "inherit" command to make sure all names are really ++ valid classes. Previously, trying to inherit from a proc would ++ dump core. ++ ++8/29/96 (enhancement) ++ Integrated with itcl2.1+2 (tcl7.5p1/tk4.1p1). ++ ++9/1/96 (bug fix) ++ Fixed the Itcl_RegisterC() procedure so that the same name can be ++ registered more than once, as long as it has the same function ++ pointer. ++ ++9/7/96 (bug fix) ++ Fixed a bug in method access for protected methods. There was a ++ problem when a base class defined a method, and a derived class ++ overloaded the method, and the method was accessed from the base ++ class namespace. Added function Itcl_CanAccessMethod() to check ++ for overloaded methods and allow access accordingly. ++ ++9/13/96 (bug fix) ++ Fixed the Itcl_RestoreInterpState() procedure so that the "errorCode" ++ variable is restored properly. There was a problem when the ++ error code contained a list of elements. ++ ++9/20/96 (bug fix) ++ Fixed a bug in the way namespaces were deleted. The hash table of ++ child namespaces was being traversed while elements within it were ++ being deleted. This caused a core dump when you tried to exit ++ the application with a command like "destroy .". ++ ++9/28/96 (bug fix) ++ Fixed the way that errors are reported when a base class is constructed ++ with the wrong arguments. Previously, the error message showed the ++ object creation command like "wrong # args: should be Foo name val1 val2". ++ Now, it shows the base class constructor name, so it is more obvious ++ where the error is coming from. ++ ++10/5/96 (bug fix) ++ Fixed a bug in constructor invocations. All base class constructors ++ are now invoked properly, even if a derived class does not have a ++ constructor. ++ ++10/9/96 (enhancement) ++ Added proper support for safe interpreters. You can now use namespace ++ commands in a safe interpreter, and you can load Itcl as a safe package. ++ ++10/11/96 (bug fix) ++ Fixed a core dump with "namespace foo {info locals}". The namespace ++ call frame was not being set up properly, so the local variable table ++ was garbage. Normally, you don't access local variables at the ++ namespace level. But now it is fixed. ++ ++10/14/96 (bug fix) ++ Fixed the Itcl_RegisterC() procedure so that each interpreter has ++ its own list of symbolic function names. This avoids global data ++ and makes more sense for people using multiple interpreters. ++ ++10/20/96 (bug fix) ++ Fixed variable lookup so that when you try to access a variable ++ like "::foo::x" inside of a procedure, you get an error instead ++ of a local variable named "::foo::x". Variables like this need ++ to be declared global. ++ ++10/22/96 (enhancement) ++ Fixed the built-in "isa" method to autoload class definitions as ++ needed for each "isa" test. If a class is not defined and cannot ++ be autoloaded, it is an error. ++ ++10/26/96 (enhancement) ++ Fixed "delete object" command so that objects can be deleted ++ using scoped values for the object name. ++ ++10/29/96 (enhancement) ++ Integrated with itcl2.1+5 (tcl7.6/tk4.2). ++ ++11/1/96 (porting) ++ Removed "plus" and "dash" patches to allow for porting to Windows95 ++ and Macintosh platforms. Simplified configuration and makefiles ++ for Unix platforms. ++ ++11/4/96 (installation) ++ Fixed configuration and makefiles to support building in a ++ separate directory. There is a bug in "autoconf" which prevents ++ this from going smoothly. You have to copy all of the configure ++ scripts to a separate tree (e.g., using a tar file), and then build. ++ ++11/5/96 (bug fix) ++ Fixed a bug in the way variables were reported by the built-in ++ "info" command for classes and objects. Private variables in ++ a base class were incorrectly reported as "". They ++ are now reported properly. ++ ++11/10/96 (bug fix) ++ Fixed the "this" variable so that if an object is deleted while it ++ is still in use, its name is properly reported as the null string. ++ ++11/10/96 (bug fix) ++ Fixed the way namespaces are deleted so that the "::errorInfo" and ++ "::errorCode" variables remain intact until everything else has been ++ destroyed. These variables are needed if any errors are encountered ++ as an interpreter is being destroyed. ++ ++11/11/96 (installation) ++ Split the "itclConfig.sh" file into separate "itclConfig.sh" and ++ "itkConfig.sh" files. ++ ++11/11/96 (installation) ++ Fixed the package installation to conform to tcl7.6/tk4.2. The ++ pkgIndex.tcl files are now stored in the library directory for ++ each package. ++ ++11/13/96 (enhancement) ++ Overhauled the scrolledcanvas widget. It is now about an order of ++ magnitude faster. ++ ++11/14/96 (enhancement) ++ Overhauled the [incr Widgets] "catalog" demo. When you pick any ++ mega-widget class, the demo displays an example widget, the code ++ used to build it, the class hierarchy, and the man page. ++ ++11/23/96 (bug fix) ++ Fixed the way the "inherit" command autoloads class definitions. ++ Previously, it invoked the class name as a command. Now, it uses ++ the "auto_load" command. ++ ++11/23/96 (installation) ++ Fixed the "configure" files to use "mkinstalldirs" instead of "mkdir" ++ so that the entire distribution can be built in a separate directory ++ starting with a single "configure" file. Fixed the way the distribution ++ is created to make this patch for each new distribution. ++ ++11/23/96 (installation) ++ Fixed the iwidgets installation so that the installed files (instead ++ of the source files) are chmod'd to have the proper permissions. ++ ++11/29/96 (installation) ++ Fixed iwidgets (combobox, optionmenu, shell) so that they don't rely ++ on "tkwait visibility" before doing a grab. On the Macintosh, this ++ only works the first time a window is mapped. After that, this ++ command does not return control, even when a window is remapped. ++ ++11/30/96 (bug fix) ++ Fixed "tk4.2/library/menu.tcl", moving a comment in a switch statement ++ above the default case into the default case. When the comment is ++ above the case, it is treated as a list element and a parsing error ++ occurs. You can trigger the error with a command like "tkMenuFind . x". ++ When the comment is inside the case, everything works fine. ++ ++11/30/96 (bug fix) ++ Fixed a memory error that occured when an interpreter was destroyed. ++ One namespace (e.g., base class) caused another (e.g., derived class) ++ to be destroyed. Then the namespace was destroyed again later on. ++ Now, as we iteration through the safeCopy list, we check to make ++ sure the namespace still exists. ++ ++11/30/96 (bug fix) ++ Fixed entryfield mega-widget to avoid using the "%s" state field ++ for key presses. It was using it to find out whether or not Control, ++ Shift, or Alt keys were being held down during a key press. But this ++ field confuses Alt with NumLock when you go between Unix and Windows ++ platforms. The entryfield appeared to be broken when NumLock was ++ turned on. Nothing is lost if we simply ignore it and let all ++ keypresses through. ++ ++12/1/96 (installation) ++ Fixed the way that "pkgIndex.tcl" files are built for Itcl/Itk. ++ When you build with "--enable-shared", the package files load the ++ shared library, but when you build without, the package files ++ use {load "" Itcl} to get the static package. This lets you ++ do "package require" commands in slave interpreters, even if ++ things were built with static packages. ++ ++12/1/96 (bug fix) ++ Fixed how namespaces are deleted when an interpreter is deleted. ++ Previously, namespaces were deleted after the assocData for the ++ interp. If any background errors occurred while the namespace ++ was being deleted, they caused seg faults later on. Now, the ++ global namespace is cleared (but not deleted) *before* deleting ++ the assocData. Any background errors are deleted, and the global ++ namespace is finally deleted at that point. ++ ++12/2/96 (enhancement) JCI ++ Defined "tkOpenDocument" in tk.tcl so that Macintosh users can ++ double-click on an [incr Tcl] source file, and itkwish will be ++ invoked to execute it. ++ ++12/2/96 (bug fix) ++ Fixed the entryfield widget so that characters like: " [ ] { } \ & ++ are substituted properly into the "%c" field when doing character ++ validation. ++ ++12/2/96 (enhancement) **POTENTIAL INCOMPATIBILITY** ++ Changed the HTML parsing in the scrolledhtml widget to speed it up. ++ Also, changed the "-feedback" option so that it appends two numbers ++ on the end of the feedback command: the current position and the ++ maximum position. This frees the caller from having to figure out ++ the maximum position. ++ ++12/2/96 (enhancement) ++ Added "-borderwidth", "-relief" and "-elementborderwidth" options ++ to the feedback widget, so you can control its appearance a little ++ better. ++ ++========================================================================== ++ ------------------------ RELEASE 2.2 - 12/3/96 ------------------------- ++========================================================================== ++ ++12/12/96 (installation) ++ Fixed "iwidgets.tcl" initialization file to rely on the environment ++ variable IWIDGETS_LIBRARY (if it exists), and use the compiled-in ++ path as a last resort. That way, the user can override the iwidgets ++ library with an environment variable setting. ++ ++12/12/96 (installation) ++ Fixed the "catalog" demo for [incr Widgets] to help support Windows3.1. ++ The code is now arranged to make it easy to translate between the ++ real demo names and DOS 8.3 file names. ++ ++12/13/96 (bug fix) ++ Added a "usual" test for all of the [incr Widgets]. This checks to ++ make sure that there is a bit of "usual" code for each widget, that ++ the options in the "usual" code are valid, and that all of the ++ widgets mix together without errors. ++ ++4/11/97 (enhancement) ++ Merged in patches for tcl7.6p2/tk4.2p2 (jingham) ++ ++5/17/97 (bug fix) ++ Fixed itk::Toplevel to have the hull keep the -takefocus option. ++ This fixed a problem with the tab ring in iwidget dialogs. ++ ++6/1/98 (complete rewrite) ++ Rewrote the entire package to work with Tcl8.0 namespaces and the ++ new byte code compiler. ++ ++========================================================================== ++ ----------------------- RELEASE 3.0a1 - 6/16/98 ------------------------ ++========================================================================== ++ ++7/23/98 (bug fix) ++ Removed references to Tcl internal macros such as TclDecrRefCount. ++ This was causing problems under Windows, since those macros use ++ global variables that are not available outside of tcl80.dll. ++ ++7/23/98 (bug fix) ++ Added my own definition of the assert macro. Since Tcl/Tk doesn't ++ use assert, the default version was causing build problems with ++ gcc. ++ ++7/27/98 (configuration change) ++ Changed all "configure" scripts to rely on tclConfig.sh and tkConfig.sh ++ for compile options. ++ ++7/27/98 (configuration change) ++ Changed the initialization process for Itcl/Itk. Both packages now ++ key off of tcl_library to find their initialization scripts. ++ ++7/27/98 (configuration change) ++ Removed IWIDGETS_LIBRARY environment variable from the Iwidgets ++ package. If Iwidgets is installed properly, this variable is not ++ needed. ++ ++7/29/98 (configuration change) ++ Added Scott Stanton's patch to the initialization process. The ++ last-ditch installation directory is no longer compiled into the ++ itcl sources. Instead, itcl searches for the installation directory ++ starting from $tcl_library. Also, if the variable itcl::library is ++ set before loading itcl, then itcl aborts the search and uses that ++ as its library directory. ++ ++7/30/98 (Macintosh) ++ Added Jim Ingham's patches for the Mac. ++ ++7/30/98 (configuration) ++ Fixed Makefiles for Iwidgets 2.2/3.0 to avoid a problem while ++ installing the demo images/html. The INSTALL_DATA program may ++ have a relative name (../../config/install-sh) so we must be ++ careful to "cd" into library, demos, etc., but not into other ++ directories below them. ++ ++8/8/98 (bug fix) ++ Fixed "namespace import" to work with autoloading. If you ++ execute "namespace import iwidgets::*", the auto_import proc ++ will create stubs for all of the iwidgets commands. Executing ++ one of the stubs triggers autoloading for the appropriate command. ++ ++8/10/98 (bug fix) ++ Integrated changes from Scriptics team to work seamlessly with ++ Tcl 8.0.3. ++ ++8/10/98 (bug fix) ++ Fixed the iwidgets::optionmenu to work properly under Windows 95/NT. ++ Extended the "get" method in iwidgets3.0 so that you can query ++ existing elements from an optionmenu. ++ ++========================================================================== ++ ------------------------ RELEASE 3.0 - 8/11/98 ------------------------- ++========================================================================== ++ ++8/16/98 (bug fix) ++ Fixed the windows pkgIndex.tcl files for Itcl and Itk to properly ++ load their .dll. Also fixed iwidgets/catalog to package require ++ Itcl, Itk, and to import ::itcl::* to get "class" defined. (BW) ++ ++12/21/99 (bug fix) ++ Fixed tests for auto_mkindex to work properly outside of itkwish. ++ Tests now include "namespace import itcl::*" instead of assuming that ++ this behavior is built into the wish. ++ ++4/18/00 (feature enhancement) ++ Fixed itcl::find to find classes and objects in *all* namespaces ++ in the interpreter. Until this fix, the itcl::find command would ++ report only the objects in the active namespace or the global ++ namespace. Being able to find classes/objects in all namespaces ++ makes debugging easier. Thanks to Chad Smith for pushing to make ++ this change happen. ++ ++6/26/00 (bug fix) ++ Fixed Itcl_ClassVarResolver so that the formal parameters in a ++ method/proc take precedence over class data members. ++ ++6/30/00 (bug fix) ++ Fixed all itcl/itk/iwidgets3.0.0 tests to run cleanly with the new ++ tcltest package. ++ ++7/1/00 (bug fix) ++ Fixed "itk_component delete" so that the composite option list is ++ cleaned up whenever a component is deleted. For example, suppose ++ a component is the sole contributor of -font. When that component ++ is removed via "itk_component delete", the -font option goes away ++ as well. Also fixed the handling of the itk-delete-* binding for ++ the component. When the component is removed, the binding tag ++ is also removed by itk::remove_destroy_hook. ++ ++7/5/00 (bug fix) ++ Fixed the check done during object creation to avoid clobbering ++ existing commands. Previously, itcl would look for any command-- ++ in the local *and* global namespace--that might be clobbered. ++ Now, it looks for commands only in the local namespace, since ++ those are the only ones that could truly be clobbered. ++ ++7/5/00 (cleanup) ++ Removed obsolete Makefile/configure files in the various "unix" ++ directories. Makefiles and configure files now reside one level ++ above, in the standard TEA place. ++ ++7/11/00 (stubs cleanup) ++ Fix the build so static links do not use the stubs library. ++ ++8/1/00 (stubs cleanup) ++ Added missing declarations for Itcl_InitStubs and Itk_InitStubs ++ and simplified how Itcl Stubs are set in Initialize() of itk_cmds.c ++ ++8/1/00 (Makefile) ++ Added config/installFiles.tcl and changed the various Makefile.in ++ files to use this instead of install-sh. installFiles.tcl can ++ optimize out a copy if the target file is already up-to-date. ++ This eliminates conflicts from parallel builds on different platforms ++ where one build is zipping up the installed files while another platform ++ is copying platform-independent files (i.e., the iwidgets demos). ++ ++8/4/00 (stubs cleanup) ++ Fixed dll linkage problem with the prototypes of the 2 XX_InitStubs ++ functions use. I copied the core too literally. Stubs libraries are ++ always static, so there's no need to play games with __declspec on ++ windows. ++ ++8/7/00 (stubs cleanup) ++ Cleaned up use of Itcl_InitStubs by Itk. Finally got it right after ++ much flailing about. itcl.h has the correct definitions, and ++ itclStubLib.c has the correct #ifdefs. ++ Also nuked extra definitions of itclStubsPtr from the itk_cmds.c file. ++ ++8/17/00 (more stubs cleanup) ++ Tcl_InitStubs in itcl/generic/itcl_cmds.c was using the TCL_VERSION macro ++ set by the tcl.h header. Changed it to be "8.1" instead as it doesn't ++ matter unless Itcl needs special/new features of the core it's header is ++ from. But it doesn't.. so hard code it for an 8.1 minimum to make the ++ Itcl library have a better version range with the core as specific ++ version tracking with the core isn't needed (at this time). ++ ++========================================================================== ++ ------------------------ RELEASE 3.2 - 08/18/00 ------------------------ ++========================================================================== ++ ++9/22/00 (stubs cleanup) ++ Itcl_InitStub prototype in itcl/generic/itcl.h was getting name mangled ++ by c++ compilers. Fixed with an 'extern "C"' appropriately applied. ++ ++4/07/01 (bug fix) ++ Tcl's internal header, tclInt.h, in 8.4a2 got a small change in the Command ++ structure that needed 2 changes in Itcl to resolve. 1) #if/#else/#endif blocks ++ added in itcl_class.c and itc_ensemble.c allowing Itcl to compile. 2) added ++ a global variable called itclCompatFlags that's sets a flag in Itcl_Init() ++ that will modify the logic around access to cmdPtr->flags/deleted. This ++ way, any core compile will yield a fully forward/backward compatible ++ binary (correct logic set at runtime). ++ ++5/22/01 (bug fixes) ++ makefile.vc lives again! Brought back from it's death to conquere windows ++ once again for users who prefer to avoid (or can't understand or get the tools ++ installed for) the TEA build system. ++ ++ Also, numerous fixes relating to Kevin Kenny's Tcl API mods for better CONST ++ support. The latest headers for Tcl where throwing warnings all over the place ++ about type errors. I fixed the sources, but haven't checked against older ++ headers yet. +\ No newline at end of file +diff -Naur insight-6.8.orig/itcl/itcl/configure insight-6.8.new/itcl/itcl/configure +--- insight-6.8.orig/itcl/itcl/configure 2006-07-13 17:41:58.000000000 +0200 ++++ insight-6.8.new/itcl/itcl/configure 2008-08-18 18:56:39.000000000 +0200 +@@ -1,25 +1,54 @@ + #! /bin/sh + # Guess values for system-dependent variables and create Makefiles. +-# Generated by GNU Autoconf 2.59. ++# Generated by GNU Autoconf 2.61 for itcl 3.3. + # +-# Copyright (C) 2003 Free Software Foundation, Inc. ++# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, ++# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + # This configure script is free software; the Free Software Foundation + # gives unlimited permission to copy, distribute and modify it. + ## --------------------- ## + ## M4sh Initialization. ## + ## --------------------- ## + +-# Be Bourne compatible ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh + if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then +- set -o posix ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in ++ *posix*) set -o posix ;; ++esac ++ ++fi ++ ++ ++ ++ ++# PATH needs CR ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ echo "#! /bin/sh" >conf$$.sh ++ echo "exit 0" >>conf$$.sh ++ chmod +x conf$$.sh ++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then ++ PATH_SEPARATOR=';' ++ else ++ PATH_SEPARATOR=: ++ fi ++ rm -f conf$$.sh + fi +-DUALCASE=1; export DUALCASE # for MKS sh + + # Support unset when possible. + if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then +@@ -29,8 +58,43 @@ + fi + + ++# IFS ++# We need space, tab and new line, in precisely that order. Quoting is ++# there to prevent editors from complaining about space-tab. ++# (If _AS_PATH_WALK were called with IFS unset, it would disable word ++# splitting by setting IFS to empty value.) ++as_nl=' ++' ++IFS=" "" $as_nl" ++ ++# Find who we are. Look in the path if we contain no directory separator. ++case $0 in ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++done ++IFS=$as_save_IFS ++ ++ ;; ++esac ++# We did not find ourselves, most probably we were run as `sh COMMAND' ++# in which case we are not to be found in the path. ++if test "x$as_myself" = x; then ++ as_myself=$0 ++fi ++if test ! -f "$as_myself"; then ++ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 ++ { (exit 1); exit 1; } ++fi ++ + # Work around bugs in pre-3.0 UWIN ksh. +-$as_unset ENV MAIL MAILPATH ++for as_var in ENV MAIL MAILPATH ++do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var ++done + PS1='$ ' + PS2='> ' + PS4='+ ' +@@ -44,18 +108,19 @@ + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else +- $as_unset $as_var ++ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi + done + + # Required to use basename. +-if expr a : '\(a\)' >/dev/null 2>&1; then ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr + else + as_expr=false + fi + +-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename + else + as_basename=false +@@ -63,157 +128,388 @@ + + + # Name of the executable. +-as_me=`$as_basename "$0" || ++as_me=`$as_basename -- "$0" || + $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ +- X"$0" : 'X\(/\)$' \| \ +- . : '\(.\)' 2>/dev/null || ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || + echo X/"$0" | +- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } +- /^X\/\(\/\/\)$/{ s//\1/; q; } +- /^X\/\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` + ++# CDPATH. ++$as_unset CDPATH + +-# PATH needs CR, and LINENO needs CR and PATH. +-# Avoid depending upon Character Ranges. +-as_cr_letters='abcdefghijklmnopqrstuvwxyz' +-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +-as_cr_Letters=$as_cr_letters$as_cr_LETTERS +-as_cr_digits='0123456789' +-as_cr_alnum=$as_cr_Letters$as_cr_digits + +-# The user is always right. +-if test "${PATH_SEPARATOR+set}" != set; then +- echo "#! /bin/sh" >conf$$.sh +- echo "exit 0" >>conf$$.sh +- chmod +x conf$$.sh +- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then +- PATH_SEPARATOR=';' +- else +- PATH_SEPARATOR=: +- fi +- rm -f conf$$.sh ++if test "x$CONFIG_SHELL" = x; then ++ if (eval ":") 2>/dev/null; then ++ as_have_required=yes ++else ++ as_have_required=no + fi + ++ if test $as_have_required = yes && (eval ": ++(as_func_return () { ++ (exit \$1) ++} ++as_func_success () { ++ as_func_return 0 ++} ++as_func_failure () { ++ as_func_return 1 ++} ++as_func_ret_success () { ++ return 0 ++} ++as_func_ret_failure () { ++ return 1 ++} + +- as_lineno_1=$LINENO +- as_lineno_2=$LINENO +- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` +- test "x$as_lineno_1" != "x$as_lineno_2" && +- test "x$as_lineno_3" = "x$as_lineno_2" || { +- # Find who we are. Look in the path if we contain no path at all +- # relative or not. +- case $0 in +- *[\\/]* ) as_myself=$0 ;; +- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +-done ++exitcode=0 ++if as_func_success; then ++ : ++else ++ exitcode=1 ++ echo as_func_success failed. ++fi + +- ;; +- esac +- # We did not find ourselves, most probably we were run as `sh COMMAND' +- # in which case we are not to be found in the path. +- if test "x$as_myself" = x; then +- as_myself=$0 +- fi +- if test ! -f "$as_myself"; then +- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 +- { (exit 1); exit 1; }; } +- fi +- case $CONFIG_SHELL in +- '') ++if as_func_failure; then ++ exitcode=1 ++ echo as_func_failure succeeded. ++fi ++ ++if as_func_ret_success; then ++ : ++else ++ exitcode=1 ++ echo as_func_ret_success failed. ++fi ++ ++if as_func_ret_failure; then ++ exitcode=1 ++ echo as_func_ret_failure succeeded. ++fi ++ ++if ( set x; as_func_ret_success y && test x = \"\$1\" ); then ++ : ++else ++ exitcode=1 ++ echo positional parameters were not saved. ++fi ++ ++test \$exitcode = 0) || { (exit 1); exit 1; } ++ ++( ++ as_lineno_1=\$LINENO ++ as_lineno_2=\$LINENO ++ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && ++ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ++") 2> /dev/null; then ++ : ++else ++ as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH + do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. +- for as_base in sh bash ksh sh5; do +- case $as_dir in ++ case $as_dir in + /*) +- if ("$as_dir/$as_base" -c ' ++ for as_base in sh bash ksh sh5; do ++ as_candidate_shells="$as_candidate_shells $as_dir/$as_base" ++ done;; ++ esac ++done ++IFS=$as_save_IFS ++ ++ ++ for as_shell in $as_candidate_shells $SHELL; do ++ # Try only shells that exist, to save several forks. ++ if { test -f "$as_shell" || test -f "$as_shell.exe"; } && ++ { ("$as_shell") 2> /dev/null <<\_ASEOF ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then ++ emulate sh ++ NULLCMD=: ++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in ++ *posix*) set -o posix ;; ++esac ++ ++fi ++ ++ ++: ++_ASEOF ++}; then ++ CONFIG_SHELL=$as_shell ++ as_have_required=yes ++ if { "$as_shell" 2> /dev/null <<\_ASEOF ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then ++ emulate sh ++ NULLCMD=: ++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in ++ *posix*) set -o posix ;; ++esac ++ ++fi ++ ++ ++: ++(as_func_return () { ++ (exit $1) ++} ++as_func_success () { ++ as_func_return 0 ++} ++as_func_failure () { ++ as_func_return 1 ++} ++as_func_ret_success () { ++ return 0 ++} ++as_func_ret_failure () { ++ return 1 ++} ++ ++exitcode=0 ++if as_func_success; then ++ : ++else ++ exitcode=1 ++ echo as_func_success failed. ++fi ++ ++if as_func_failure; then ++ exitcode=1 ++ echo as_func_failure succeeded. ++fi ++ ++if as_func_ret_success; then ++ : ++else ++ exitcode=1 ++ echo as_func_ret_success failed. ++fi ++ ++if as_func_ret_failure; then ++ exitcode=1 ++ echo as_func_ret_failure succeeded. ++fi ++ ++if ( set x; as_func_ret_success y && test x = "$1" ); then ++ : ++else ++ exitcode=1 ++ echo positional parameters were not saved. ++fi ++ ++test $exitcode = 0) || { (exit 1); exit 1; } ++ ++( + as_lineno_1=$LINENO + as_lineno_2=$LINENO +- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && +- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then +- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } +- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } +- CONFIG_SHELL=$as_dir/$as_base +- export CONFIG_SHELL +- exec "$CONFIG_SHELL" "$0" ${1+"$@"} +- fi;; +- esac +- done +-done +-;; +- esac ++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } ++ ++_ASEOF ++}; then ++ break ++fi ++ ++fi ++ ++ done ++ ++ if test "x$CONFIG_SHELL" != x; then ++ for as_var in BASH_ENV ENV ++ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var ++ done ++ export CONFIG_SHELL ++ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} ++fi ++ ++ ++ if test $as_have_required = no; then ++ echo This script requires a shell more modern than all the ++ echo shells that I found on your system. Please install a ++ echo modern shell, or manually run the script under such a ++ echo shell if you do have one. ++ { (exit 1); exit 1; } ++fi ++ ++ ++fi ++ ++fi ++ ++ ++ ++(eval "as_func_return () { ++ (exit \$1) ++} ++as_func_success () { ++ as_func_return 0 ++} ++as_func_failure () { ++ as_func_return 1 ++} ++as_func_ret_success () { ++ return 0 ++} ++as_func_ret_failure () { ++ return 1 ++} ++ ++exitcode=0 ++if as_func_success; then ++ : ++else ++ exitcode=1 ++ echo as_func_success failed. ++fi ++ ++if as_func_failure; then ++ exitcode=1 ++ echo as_func_failure succeeded. ++fi ++ ++if as_func_ret_success; then ++ : ++else ++ exitcode=1 ++ echo as_func_ret_success failed. ++fi ++ ++if as_func_ret_failure; then ++ exitcode=1 ++ echo as_func_ret_failure succeeded. ++fi ++ ++if ( set x; as_func_ret_success y && test x = \"\$1\" ); then ++ : ++else ++ exitcode=1 ++ echo positional parameters were not saved. ++fi ++ ++test \$exitcode = 0") || { ++ echo No shell found that supports shell functions. ++ echo Please tell autoconf@gnu.org about your system, ++ echo including any error possibly output before this ++ echo message ++} ++ ++ ++ ++ as_lineno_1=$LINENO ++ as_lineno_2=$LINENO ++ test "x$as_lineno_1" != "x$as_lineno_2" && ++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a +- # line-number line before each line; the second 'sed' does the real +- # work. The second script uses 'N' to pair each line-number line +- # with the numbered line, and appends trailing '-' during +- # substitution so that $LINENO is not a special case at line end. ++ # line-number line after each line using $LINENO; the second 'sed' ++ # does the real work. The second script uses 'N' to pair each ++ # line-number line with the line containing $LINENO, and appends ++ # trailing '-' during substitution so that $LINENO is not a special ++ # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the +- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) +- sed '=' <$as_myself | ++ # scripts with optimization help from Paolo Bonzini. Blame Lee ++ # E. McMahon (1931-1989) for sed's syntax. :-) ++ sed -n ' ++ p ++ /[$]LINENO/= ++ ' <$as_myself | + sed ' ++ s/[$]LINENO.*/&-/ ++ t lineno ++ b ++ :lineno + N +- s,$,-, +- : loop +- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, ++ :loop ++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop +- s,-$,, +- s,^['$as_cr_digits']*\n,, ++ s/-\n.*// + ' >$as_me.lineno && +- chmod +x $as_me.lineno || ++ chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the +- # original and so on. Autoconf is especially sensible to this). +- . ./$as_me.lineno ++ # original and so on. Autoconf is especially sensitive to this). ++ . "./$as_me.lineno" + # Exit status is that of the last command. + exit + } + + +-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in +- *c*,-n*) ECHO_N= ECHO_C=' +-' ECHO_T=' ' ;; +- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; +- *) ECHO_N= ECHO_C='\c' ECHO_T= ;; ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false ++fi ++ ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in ++-n*) ++ case `echo 'x\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ *) ECHO_C='\c';; ++ esac;; ++*) ++ ECHO_N='-n';; + esac + +-if expr a : '\(a\)' >/dev/null 2>&1; then ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr + else + as_expr=false + fi + + rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file ++else ++ rm -f conf$$.dir ++ mkdir conf$$.dir ++fi + echo >conf$$.file + if ln -s conf$$.file conf$$ 2>/dev/null; then +- # We could just check for DJGPP; but this test a) works b) is more generic +- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). +- if test -f conf$$.exe; then +- # Don't use ln at all; we don't have any links ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -p'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +- else +- as_ln_s='ln -s' +- fi + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +-rm -f conf$$ conf$$.exe conf$$.file ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null + + if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +@@ -222,7 +518,28 @@ + as_mkdir_p=false + fi + +-as_executable_p="test -f" ++if test -x / >/dev/null 2>&1; then ++ as_test_x='test -x' ++else ++ if ls -dL / >/dev/null 2>&1; then ++ as_ls_L_option=L ++ else ++ as_ls_L_option= ++ fi ++ as_test_x=' ++ eval sh -c '\'' ++ if test -d "$1"; then ++ test -d "$1/."; ++ else ++ case $1 in ++ -*)set "./$1";; ++ esac; ++ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ++ ???[sx]*):;;*)false;;esac;fi ++ '\'' sh ++ ' ++fi ++as_executable_p=$as_test_x + + # Sed expression to map a string onto a valid CPP name. + as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +@@ -231,49 +548,205 @@ + as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +-# IFS +-# We need space, tab and new line, in precisely that order. +-as_nl=' +-' +-IFS=" $as_nl" +- +-# CDPATH. +-$as_unset CDPATH + ++exec 7<&0 &1 + + # Name of the host. + # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, + # so uname gets run too. + ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +-exec 6>&1 +- + # + # Initializations. + # + ac_default_prefix=/usr/local ++ac_clean_files= + ac_config_libobj_dir=. ++LIBOBJS= + cross_compiling=no + subdirs= + MFLAGS= + MAKEFLAGS= + SHELL=${CONFIG_SHELL-/bin/sh} + +-# Maximum number of lines to put in a shell here document. +-# This variable seems obsolete. It should probably be removed, and +-# only ac_max_sed_lines should be used. +-: ${ac_max_here_lines=38} +- + # Identity of this package. +-PACKAGE_NAME= +-PACKAGE_TARNAME= +-PACKAGE_VERSION= +-PACKAGE_STRING= +-PACKAGE_BUGREPORT= ++PACKAGE_NAME='itcl' ++PACKAGE_TARNAME='itcl' ++PACKAGE_VERSION='3.3' ++PACKAGE_STRING='itcl 3.3' ++PACKAGE_BUGREPORT='' + +-ac_unique_file="generic/itcl.h" +-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS PACKAGE VERSION CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA SET_MAKE RANLIB ac_ct_RANLIB build build_cpu build_vendor build_os host host_cpu host_vendor host_os CYGPATH RELPATH ITCL_GENERIC_DIR_NATIVE ITCL_WIN_DIR_NATIVE ITCL_UNIX_DIR_NATIVE ITCL_INCLUDES TCL_DBGX TCL_BIN_DIR TCL_SRC_DIR TCL_LIB_FILE TCL_LIBS TCL_DEFS TCL_SHLIB_LD_LIBS TCL_EXTRA_CFLAGS TCL_LD_FLAGS TCL_STUB_LIB_FILE TCL_LIB_SPEC TCL_BUILD_LIB_SPEC TCL_STUB_LIB_SPEC TCL_BUILD_STUB_LIB_SPEC TCL_TOP_DIR_NATIVE TCL_GENERIC_DIR_NATIVE TCL_UNIX_DIR_NATIVE TCL_WIN_DIR_NATIVE TCL_BMAP_DIR_NATIVE TCL_TOOL_DIR_NATIVE TCL_PLATFORM_DIR_NATIVE TCL_INCLUDES CLEANFILES PLATFORM_SOURCES PLATFORM_OBJECTS PLATFORM_DIR CFLAGS_DEBUG CFLAGS_OPTIMIZE STLIB_LD SHLIB_LD SHLIB_CFLAGS SHLIB_LDFLAGS CFLAGS_DEFAULT LDFLAGS_DEFAULT MAKE_LIB MAKE_SHARED_LIB MAKE_STATIC_LIB POST_MAKE_LIB POST_MAKE_STATIC_LIB ITCL_LIB_FILE ITCL_STUB_LIB_FILE ITCL_BUILD_LIB_SPEC ITCL_BUILD_STUB_LIB_SPEC ITCL_LIB_SPEC ITCL_STUB_LIB_SPEC ITCL_LIB_FULL_PATH ITCL_STUB_LIB_FULL_PATH itclstub_LIB_FILE itcl_LIB_FILE SHLIB_LD_LIBS ITCL_VERSION ITCL_MAJOR_VERSION ITCL_MINOR_VERSION ITCL_RELEASE_LEVEL ITCL_SRC_DIR ITCL_SH LIBOBJS LTLIBOBJS' ++# Factoring default headers for most tests. ++ac_includes_default="\ ++#include ++#ifdef HAVE_SYS_TYPES_H ++# include ++#endif ++#ifdef HAVE_SYS_STAT_H ++# include ++#endif ++#ifdef STDC_HEADERS ++# include ++# include ++#else ++# ifdef HAVE_STDLIB_H ++# include ++# endif ++#endif ++#ifdef HAVE_STRING_H ++# if !defined STDC_HEADERS && defined HAVE_MEMORY_H ++# include ++# endif ++# include ++#endif ++#ifdef HAVE_STRINGS_H ++# include ++#endif ++#ifdef HAVE_INTTYPES_H ++# include ++#endif ++#ifdef HAVE_STDINT_H ++# include ++#endif ++#ifdef HAVE_UNISTD_H ++# include ++#endif" ++ ++ac_subst_vars='SHELL ++PATH_SEPARATOR ++PACKAGE_NAME ++PACKAGE_TARNAME ++PACKAGE_VERSION ++PACKAGE_STRING ++PACKAGE_BUGREPORT ++exec_prefix ++prefix ++program_transform_name ++bindir ++sbindir ++libexecdir ++datarootdir ++datadir ++sysconfdir ++sharedstatedir ++localstatedir ++includedir ++oldincludedir ++docdir ++infodir ++htmldir ++dvidir ++pdfdir ++psdir ++libdir ++localedir ++mandir ++DEFS ++ECHO_C ++ECHO_N ++ECHO_T ++LIBS ++build_alias ++host_alias ++target_alias ++CYGPATH ++EXEEXT ++PKG_LIB_FILE ++PKG_STUB_LIB_FILE ++PKG_STUB_SOURCES ++PKG_STUB_OBJECTS ++PKG_TCL_SOURCES ++PKG_HEADERS ++PKG_INCLUDES ++PKG_LIBS ++PKG_CFLAGS ++LN_S ++CONFIG_CLEAN_FILES ++TCL_VERSION ++TCL_BIN_DIR ++TCL_SRC_DIR ++TCL_LIB_FILE ++TCL_LIB_FLAG ++TCL_LIB_SPEC ++TCL_STUB_LIB_FILE ++TCL_STUB_LIB_FLAG ++TCL_STUB_LIB_SPEC ++TCL_LIBS ++TCL_DEFS ++TCL_EXTRA_CFLAGS ++TCL_LD_FLAGS ++TCL_SHLIB_LD_LIBS ++CC ++CFLAGS ++LDFLAGS ++CPPFLAGS ++ac_ct_CC ++OBJEXT ++CPP ++INSTALL_PROGRAM ++INSTALL_SCRIPT ++INSTALL_DATA ++SET_MAKE ++RANLIB ++GREP ++EGREP ++MATH_LIBS ++PKG_SOURCES ++PKG_OBJECTS ++CLEANFILES ++TCL_TOP_DIR_NATIVE ++TCL_GENERIC_DIR_NATIVE ++TCL_UNIX_DIR_NATIVE ++TCL_WIN_DIR_NATIVE ++TCL_BMAP_DIR_NATIVE ++TCL_TOOL_DIR_NATIVE ++TCL_PLATFORM_DIR_NATIVE ++TCL_INCLUDES ++SHARED_BUILD ++AR ++TCLSH_PROG ++CELIB_DIR ++LIBOBJS ++DL_LIBS ++CFLAGS_DEBUG ++CFLAGS_OPTIMIZE ++CFLAGS_WARNING ++STLIB_LD ++SHLIB_LD ++SHLIB_CFLAGS ++SHLIB_LD_LIBS ++LDFLAGS_DEBUG ++LDFLAGS_OPTIMIZE ++LD_LIBRARY_PATH_VAR ++TCL_DBGX ++CFLAGS_DEFAULT ++LDFLAGS_DEFAULT ++MAKE_LIB ++MAKE_SHARED_LIB ++MAKE_STATIC_LIB ++MAKE_STUB_LIB ++RANLIB_STUB ++itcl_STUB_LIB_FILE ++itcl_LIB_FILE ++itcl_BUILD_LIB_SPEC ++itcl_LIB_SPEC ++itcl_BUILD_STUB_LIB_SPEC ++itcl_STUB_LIB_SPEC ++itcl_BUILD_STUB_LIB_PATH ++itcl_STUB_LIB_PATH ++itcl_SRC_DIR ++LTLIBOBJS' + ac_subst_files='' ++ ac_precious_vars='build_alias ++host_alias ++target_alias ++CC ++CFLAGS ++LDFLAGS ++LIBS ++CPPFLAGS ++CPP' ++ + + # Initialize some variables set by options. + ac_init_help= +@@ -300,34 +773,48 @@ + # and all the variables that are supposed to be based on exec_prefix + # by default will actually change. + # Use braces instead of parens because sh, perl, etc. also accept them. ++# (The list follows the same order as the GNU Coding Standards.) + bindir='${exec_prefix}/bin' + sbindir='${exec_prefix}/sbin' + libexecdir='${exec_prefix}/libexec' +-datadir='${prefix}/share' ++datarootdir='${prefix}/share' ++datadir='${datarootdir}' + sysconfdir='${prefix}/etc' + sharedstatedir='${prefix}/com' + localstatedir='${prefix}/var' +-libdir='${exec_prefix}/lib' + includedir='${prefix}/include' + oldincludedir='/usr/include' +-infodir='${prefix}/info' +-mandir='${prefix}/man' ++docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' ++infodir='${datarootdir}/info' ++htmldir='${docdir}' ++dvidir='${docdir}' ++pdfdir='${docdir}' ++psdir='${docdir}' ++libdir='${exec_prefix}/lib' ++localedir='${datarootdir}/locale' ++mandir='${datarootdir}/man' + + ac_prev= ++ac_dashdash= + for ac_option + do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then +- eval "$ac_prev=\$ac_option" ++ eval $ac_prev=\$ac_option + ac_prev= + continue + fi + +- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` ++ case $ac_option in ++ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; ++ *) ac_optarg=yes ;; ++ esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + +- case $ac_option in ++ case $ac_dashdash$ac_option in ++ --) ++ ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; +@@ -349,33 +836,45 @@ + --config-cache | -C) + cache_file=config.cache ;; + +- -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ++ -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; +- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ +- | --da=*) ++ -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + ++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ ++ | --dataroo | --dataro | --datar) ++ ac_prev=datarootdir ;; ++ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ ++ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) ++ datarootdir=$ac_optarg ;; ++ + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. +- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } +- ac_feature=`echo $ac_feature | sed 's/-/_/g'` +- eval "enable_$ac_feature=no" ;; ++ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` ++ eval enable_$ac_feature=no ;; ++ ++ -docdir | --docdir | --docdi | --doc | --do) ++ ac_prev=docdir ;; ++ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) ++ docdir=$ac_optarg ;; ++ ++ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ++ ac_prev=dvidir ;; ++ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) ++ dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. +- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } +- ac_feature=`echo $ac_feature | sed 's/-/_/g'` +- case $ac_option in +- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; +- *) ac_optarg=yes ;; +- esac +- eval "enable_$ac_feature='$ac_optarg'" ;; ++ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` ++ eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ +@@ -402,6 +901,12 @@ + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + ++ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ++ ac_prev=htmldir ;; ++ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ ++ | --ht=*) ++ htmldir=$ac_optarg ;; ++ + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; +@@ -426,13 +931,16 @@ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + ++ -localedir | --localedir | --localedi | --localed | --locale) ++ ac_prev=localedir ;; ++ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) ++ localedir=$ac_optarg ;; ++ + -localstatedir | --localstatedir | --localstatedi | --localstated \ +- | --localstate | --localstat | --localsta | --localst \ +- | --locals | --local | --loca | --loc | --lo) ++ | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ +- | --localstate=* | --localstat=* | --localsta=* | --localst=* \ +- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) ++ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) +@@ -497,6 +1005,16 @@ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + ++ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ++ ac_prev=pdfdir ;; ++ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) ++ pdfdir=$ac_optarg ;; ++ ++ -psdir | --psdir | --psdi | --psd | --ps) ++ ac_prev=psdir ;; ++ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) ++ psdir=$ac_optarg ;; ++ + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; +@@ -549,24 +1067,20 @@ + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. +- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } +- ac_package=`echo $ac_package| sed 's/-/_/g'` +- case $ac_option in +- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; +- *) ac_optarg=yes ;; +- esac +- eval "with_$ac_package='$ac_optarg'" ;; ++ ac_package=`echo $ac_package | sed 's/[-.]/_/g'` ++ eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. +- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } +- ac_package=`echo $ac_package | sed 's/-/_/g'` +- eval "with_$ac_package=no" ;; ++ ac_package=`echo $ac_package | sed 's/[-.]/_/g'` ++ eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. +@@ -597,8 +1111,7 @@ + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } +- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` +- eval "$ac_envvar='$ac_optarg'" ++ eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) +@@ -618,27 +1131,19 @@ + { (exit 1); exit 1; }; } + fi + +-# Be sure to have absolute paths. +-for ac_var in exec_prefix prefix +-do +- eval ac_val=$`echo $ac_var` +- case $ac_val in +- [\\/$]* | ?:[\\/]* | NONE | '' ) ;; +- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 +- { (exit 1); exit 1; }; };; +- esac +-done +- +-# Be sure to have absolute paths. +-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ +- localstatedir libdir includedir oldincludedir infodir mandir ++# Be sure to have absolute directory names. ++for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ ++ datadir sysconfdir sharedstatedir localstatedir includedir \ ++ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ ++ libdir localedir mandir + do +- eval ac_val=$`echo $ac_var` ++ eval ac_val=\$$ac_var + case $ac_val in +- [\\/$]* | ?:[\\/]* ) ;; +- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 +- { (exit 1); exit 1; }; };; ++ [\\/$]* | ?:[\\/]* ) continue;; ++ NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac ++ { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 ++ { (exit 1); exit 1; }; } + done + + # There might be people who depend on the old broken behavior: `$host' +@@ -665,70 +1170,76 @@ + test "$silent" = yes && exec 6>/dev/null + + +-# Find the source files, if location was not specified. +-if test -z "$srcdir"; then +- ac_srcdir_defaulted=yes +- # Try the directory containing this script, then its parent. +- ac_confdir=`(dirname "$0") 2>/dev/null || ++ac_pwd=`pwd` && test -n "$ac_pwd" && ++ac_ls_di=`ls -di .` && ++ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || ++ { echo "$as_me: error: Working directory cannot be determined" >&2 ++ { (exit 1); exit 1; }; } ++test "X$ac_ls_di" = "X$ac_pwd_ls_di" || ++ { echo "$as_me: error: pwd does not report name of working directory" >&2 ++ { (exit 1); exit 1; }; } ++ ++ ++# Find the source files, if location was not specified. ++if test -z "$srcdir"; then ++ ac_srcdir_defaulted=yes ++ # Try the directory containing this script, then the parent directory. ++ ac_confdir=`$as_dirname -- "$0" || + $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ +- X"$0" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || + echo X"$0" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` + srcdir=$ac_confdir +- if test ! -r $srcdir/$ac_unique_file; then ++ if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi + else + ac_srcdir_defaulted=no + fi +-if test ! -r $srcdir/$ac_unique_file; then +- if test "$ac_srcdir_defaulted" = yes; then +- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 +- { (exit 1); exit 1; }; } +- else +- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 +- { (exit 1); exit 1; }; } +- fi +-fi +-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || +- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 +- { (exit 1); exit 1; }; } +-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` +-ac_env_build_alias_set=${build_alias+set} +-ac_env_build_alias_value=$build_alias +-ac_cv_env_build_alias_set=${build_alias+set} +-ac_cv_env_build_alias_value=$build_alias +-ac_env_host_alias_set=${host_alias+set} +-ac_env_host_alias_value=$host_alias +-ac_cv_env_host_alias_set=${host_alias+set} +-ac_cv_env_host_alias_value=$host_alias +-ac_env_target_alias_set=${target_alias+set} +-ac_env_target_alias_value=$target_alias +-ac_cv_env_target_alias_set=${target_alias+set} +-ac_cv_env_target_alias_value=$target_alias +-ac_env_CC_set=${CC+set} +-ac_env_CC_value=$CC +-ac_cv_env_CC_set=${CC+set} +-ac_cv_env_CC_value=$CC +-ac_env_CFLAGS_set=${CFLAGS+set} +-ac_env_CFLAGS_value=$CFLAGS +-ac_cv_env_CFLAGS_set=${CFLAGS+set} +-ac_cv_env_CFLAGS_value=$CFLAGS +-ac_env_LDFLAGS_set=${LDFLAGS+set} +-ac_env_LDFLAGS_value=$LDFLAGS +-ac_cv_env_LDFLAGS_set=${LDFLAGS+set} +-ac_cv_env_LDFLAGS_value=$LDFLAGS +-ac_env_CPPFLAGS_set=${CPPFLAGS+set} +-ac_env_CPPFLAGS_value=$CPPFLAGS +-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} +-ac_cv_env_CPPFLAGS_value=$CPPFLAGS ++if test ! -r "$srcdir/$ac_unique_file"; then ++ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." ++ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 ++ { (exit 1); exit 1; }; } ++fi ++ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ++ac_abs_confdir=`( ++ cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 ++ { (exit 1); exit 1; }; } ++ pwd)` ++# When building in place, set srcdir=. ++if test "$ac_abs_confdir" = "$ac_pwd"; then ++ srcdir=. ++fi ++# Remove unnecessary trailing slashes from srcdir. ++# Double slashes in file names in object file debugging info ++# mess up M-x gdb in Emacs. ++case $srcdir in ++*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; ++esac ++for ac_var in $ac_precious_vars; do ++ eval ac_env_${ac_var}_set=\${${ac_var}+set} ++ eval ac_env_${ac_var}_value=\$${ac_var} ++ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} ++ eval ac_cv_env_${ac_var}_value=\$${ac_var} ++done + + # + # Report the --help message. +@@ -737,7 +1248,7 @@ + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +-\`configure' configures this package to adapt to many kinds of systems. ++\`configure' configures itcl 3.3 to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... + +@@ -757,9 +1268,6 @@ + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +-_ACEOF +- +- cat <<_ACEOF + Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] +@@ -777,165 +1285,144 @@ + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] +- --datadir=DIR read-only architecture-independent data [PREFIX/share] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] +- --infodir=DIR info documentation [PREFIX/info] +- --mandir=DIR man documentation [PREFIX/man] ++ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] ++ --datadir=DIR read-only architecture-independent data [DATAROOTDIR] ++ --infodir=DIR info documentation [DATAROOTDIR/info] ++ --localedir=DIR locale-dependent data [DATAROOTDIR/locale] ++ --mandir=DIR man documentation [DATAROOTDIR/man] ++ --docdir=DIR documentation root [DATAROOTDIR/doc/itcl] ++ --htmldir=DIR html documentation [DOCDIR] ++ --dvidir=DIR dvi documentation [DOCDIR] ++ --pdfdir=DIR pdf documentation [DOCDIR] ++ --psdir=DIR ps documentation [DOCDIR] + _ACEOF + + cat <<\_ACEOF +- +-System types: +- --build=BUILD configure for building on BUILD [guessed] +- --host=HOST cross-compile to build programs to run on HOST [BUILD] + _ACEOF + fi + + if test -n "$ac_init_help"; then +- ++ case $ac_init_help in ++ short | recursive ) echo "Configuration of itcl 3.3:";; ++ esac + cat <<\_ACEOF + + Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] +- --enable-threads build with threads + --enable-shared build and link with shared libraries --enable-shared ++ --enable-64bit enable 64bit support (where applicable) ++ --enable-64bit-vis enable 64bit Sparc VIS support ++ --enable-wince enable Win/CE support (where applicable) ++ --disable-load disallow dynamic loading and "load" command + --enable-symbols build with debugging symbols --disable-symbols + + Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-tcl directory containing tcl configuration (tclConfig.sh) ++ --with-celib=DIR use Windows/CE support library from DIR + + Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory +- CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have +- headers in a nonstandard directory ++ LIBS libraries to pass to the linker, e.g. -l ++ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if ++ you have headers in a nonstandard directory ++ CPP C preprocessor + + Use these variables to override the choices made by `configure' or to help + it to find libraries and programs with nonstandard names/locations. + + _ACEOF ++ac_status=$? + fi + + if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. +- ac_popdir=`pwd` + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue +- test -d $ac_dir || continue ++ test -d "$ac_dir" || continue + ac_builddir=. + +-if test "$ac_dir" != .; then ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` +- # A "../" for each directory in $ac_dir_suffix. +- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +-else +- ac_dir_suffix= ac_top_builddir= +-fi ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix + + case $srcdir in +- .) # No --srcdir option. We are building in place. ++ .) # We are building in place. + ac_srcdir=. +- if test -z "$ac_top_builddir"; then +- ac_top_srcdir=. +- else +- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` +- fi ;; +- [\\/]* | ?:[\\/]* ) # Absolute path. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; +- ac_top_srcdir=$srcdir ;; +- *) # Relative path. +- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix +- ac_top_srcdir=$ac_top_builddir$srcdir ;; +-esac +- +-# Do not use `cd foo && pwd` to compute absolute paths, because +-# the directories may not exist. +-case `pwd` in +-.) ac_abs_builddir="$ac_dir";; +-*) +- case "$ac_dir" in +- .) ac_abs_builddir=`pwd`;; +- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; +- *) ac_abs_builddir=`pwd`/"$ac_dir";; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_builddir=${ac_top_builddir}.;; +-*) +- case ${ac_top_builddir}. in +- .) ac_abs_top_builddir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; +- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_srcdir=$ac_srcdir;; +-*) +- case $ac_srcdir in +- .) ac_abs_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; +- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_srcdir=$ac_top_srcdir;; +-*) +- case $ac_top_srcdir in +- .) ac_abs_top_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; +- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; +- esac;; ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; + esac ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + +- cd $ac_dir +- # Check for guested configure; otherwise get Cygnus style configure. +- if test -f $ac_srcdir/configure.gnu; then +- echo +- $SHELL $ac_srcdir/configure.gnu --help=recursive +- elif test -f $ac_srcdir/configure; then +- echo +- $SHELL $ac_srcdir/configure --help=recursive +- elif test -f $ac_srcdir/configure.ac || +- test -f $ac_srcdir/configure.in; then +- echo +- $ac_configure --help ++ cd "$ac_dir" || { ac_status=$?; continue; } ++ # Check for guested configure. ++ if test -f "$ac_srcdir/configure.gnu"; then ++ echo && ++ $SHELL "$ac_srcdir/configure.gnu" --help=recursive ++ elif test -f "$ac_srcdir/configure"; then ++ echo && ++ $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 +- fi +- cd $ac_popdir ++ fi || ac_status=$? ++ cd "$ac_pwd" || { ac_status=$?; break; } + done + fi + +-test -n "$ac_init_help" && exit 0 ++test -n "$ac_init_help" && exit $ac_status + if $ac_init_version; then + cat <<\_ACEOF ++itcl configure 3.3 ++generated by GNU Autoconf 2.61 + +-Copyright (C) 2003 Free Software Foundation, Inc. ++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, ++2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + This configure script is free software; the Free Software Foundation + gives unlimited permission to copy, distribute and modify it. + _ACEOF +- exit 0 ++ exit + fi +-exec 5>config.log +-cat >&5 <<_ACEOF ++cat >config.log <<_ACEOF + This file contains any messages produced by compilers while + running configure, to aid debugging if configure makes a mistake. + +-It was created by $as_me, which was +-generated by GNU Autoconf 2.59. Invocation command line was ++It was created by itcl $as_me 3.3, which was ++generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + + _ACEOF ++exec 5>>config.log + { + cat <<_ASUNAME + ## --------- ## +@@ -954,7 +1441,7 @@ + /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` + /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` + /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +-hostinfo = `(hostinfo) 2>/dev/null || echo unknown` ++/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` + /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` + /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` + /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` +@@ -968,6 +1455,7 @@ + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" + done ++IFS=$as_save_IFS + + } >&5 + +@@ -989,7 +1477,6 @@ + ac_configure_args= + ac_configure_args0= + ac_configure_args1= +-ac_sep= + ac_must_keep_next=false + for ac_pass in 1 2 + do +@@ -1000,7 +1487,7 @@ + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; +- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ++ *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in +@@ -1022,9 +1509,7 @@ + -* ) ac_must_keep_next=true ;; + esac + fi +- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" +- # Get rid of the leading space. +- ac_sep=" " ++ ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +@@ -1035,8 +1520,8 @@ + # When interrupted or exit'd, cleanup temporary files, and complete + # config.log. We remove comments because anyway the quotes in there + # would cause problems or look ugly. +-# WARNING: Be sure not to use single quotes in there, as some shells, +-# such as our DU 5.0 friend, will then `close' the trap. ++# WARNING: Use '\'' to represent an apostrophe within the trap. ++# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. + trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { +@@ -1049,20 +1534,34 @@ + _ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +-{ ++( ++ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do ++ eval ac_val=\$$ac_var ++ case $ac_val in #( ++ *${as_nl}*) ++ case $ac_var in #( ++ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 ++echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; ++ esac ++ case $ac_var in #( ++ _ | IFS | as_nl) ;; #( ++ *) $as_unset $ac_var ;; ++ esac ;; ++ esac ++ done + (set) 2>&1 | +- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in +- *ac_space=\ *) ++ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( ++ *${as_nl}ac_space=\ *) + sed -n \ +- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; +- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" +- ;; ++ "s/'\''/'\''\\\\'\'''\''/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ++ ;; #( + *) +- sed -n \ +- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; +- esac; +-} ++ esac | ++ sort ++) + echo + + cat <<\_ASBOX +@@ -1073,22 +1572,28 @@ + echo + for ac_var in $ac_subst_vars + do +- eval ac_val=$`echo $ac_var` +- echo "$ac_var='"'"'$ac_val'"'"'" ++ eval ac_val=\$$ac_var ++ case $ac_val in ++ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ esac ++ echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +-## ------------- ## +-## Output files. ## +-## ------------- ## ++## ------------------- ## ++## File substitutions. ## ++## ------------------- ## + _ASBOX + echo + for ac_var in $ac_subst_files + do +- eval ac_val=$`echo $ac_var` +- echo "$ac_var='"'"'$ac_val'"'"'" ++ eval ac_val=\$$ac_var ++ case $ac_val in ++ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; ++ esac ++ echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi +@@ -1100,26 +1605,24 @@ + ## ----------- ## + _ASBOX + echo +- sed "/^$/d" confdefs.h | sort ++ cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 +- rm -f core *.core && +- rm -rf conftest* confdefs* conf$$* $ac_clean_files && ++ rm -f core *.core core.conftest.* && ++ rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +- ' 0 ++' 0 + for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal + done + ac_signal=0 + + # confdefs.h avoids OS command line length limits that DEFS can exceed. +-rm -rf conftest* confdefs.h +-# AIX cpp loses on an empty file, so make sure it contains at least a newline. +-echo >confdefs.h ++rm -f -r conftest* confdefs.h + + # Predefined preprocessor variables. + +@@ -1150,14 +1653,17 @@ + + # Let the site file select an alternate cache file if it wants to. + # Prefer explicitly selected file to automatically selected ones. +-if test -z "$CONFIG_SITE"; then +- if test "x$prefix" != xNONE; then +- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" +- else +- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +- fi ++if test -n "$CONFIG_SITE"; then ++ set x "$CONFIG_SITE" ++elif test "x$prefix" != xNONE; then ++ set x "$prefix/share/config.site" "$prefix/etc/config.site" ++else ++ set x "$ac_default_prefix/share/config.site" \ ++ "$ac_default_prefix/etc/config.site" + fi +-for ac_site_file in $CONFIG_SITE; do ++shift ++for ac_site_file ++do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 + echo "$as_me: loading site script $ac_site_file" >&6;} +@@ -1173,8 +1679,8 @@ + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 + echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in +- [\\/]* | ?:[\\/]* ) . $cache_file;; +- *) . ./$cache_file;; ++ [\\/]* | ?:[\\/]* ) . "$cache_file";; ++ *) . "./$cache_file";; + esac + fi + else +@@ -1186,12 +1692,11 @@ + # Check that the precious variables saved in the cache have kept the same + # value. + ac_cache_corrupted=false +-for ac_var in `(set) 2>&1 | +- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do ++for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set +- eval ac_old_val="\$ac_cv_env_${ac_var}_value" +- eval ac_new_val="\$ac_env_${ac_var}_value" ++ eval ac_old_val=\$ac_cv_env_${ac_var}_value ++ eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +@@ -1216,8 +1721,7 @@ + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in +- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) +- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; ++ *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in +@@ -1234,13 +1738,6 @@ + { (exit 1); exit 1; }; } + fi + +-ac_ext=c +-ac_cpp='$CPP $CPPFLAGS' +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +-ac_compiler_gnu=$ac_cv_c_compiler_gnu +- +- + + + +@@ -1258,100 +1755,65 @@ + + + +-# CYGNUS LOCAL +-ac_aux_dir= +-for ac_dir in ../.. $srcdir/../..; do +- if test -f $ac_dir/install-sh; then +- ac_aux_dir=$ac_dir +- ac_install_sh="$ac_aux_dir/install-sh -c" +- break +- elif test -f $ac_dir/install.sh; then +- ac_aux_dir=$ac_dir +- ac_install_sh="$ac_aux_dir/install.sh -c" +- break +- elif test -f $ac_dir/shtool; then +- ac_aux_dir=$ac_dir +- ac_install_sh="$ac_aux_dir/shtool install -c" +- break +- fi +-done +-if test -z "$ac_aux_dir"; then +- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in ../.. $srcdir/../.." >&5 +-echo "$as_me: error: cannot find install-sh or install.sh in ../.. $srcdir/../.." >&2;} +- { (exit 1); exit 1; }; } +-fi +-ac_config_guess="$SHELL $ac_aux_dir/config.guess" +-ac_config_sub="$SHELL $ac_aux_dir/config.sub" +-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. + +-# END CYGNUS LOCAL + +-#-------------------------------------------------------------------- +-# __CHANGE__ +-# Set your package name and version numbers here. The NODOT_VERSION is +-# required for constructing the library name on systems that don't like +-# dots in library names (Windows). The VERSION variable is used on the +-# other systems. +-#-------------------------------------------------------------------- + +-PACKAGE=itcl + +-MAJOR_VERSION=3 +-MINOR_VERSION=2 +-PATCHLEVEL=.1 + +-VERSION=${MAJOR_VERSION}.${MINOR_VERSION} +-NODOT_VERSION=${MAJOR_VERSION}${MINOR_VERSION} + + ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + #-------------------------------------------------------------------- +-# We put this here so that you can compile with -DVERSION="1.2" to +-# encode the package version directly into the source files. ++# Call TEA_INIT as the first TEA_ macro to set up initial vars. ++# This will define a ${TEA_PLATFORM} variable == "unix" or "windows" ++# as well as PKG_LIB_FILE and PKG_STUB_LIB_FILE. + #-------------------------------------------------------------------- + +-eval cat >>confdefs.h <<_ACEOF +-#define VERSION "${VERSION}" +-_ACEOF +- +- +-#------------------------------------------------------------------------ +-# Handle the --prefix=... option +-#------------------------------------------------------------------------ +- +-if test "${prefix}" = "NONE"; then +- prefix=/usr/local +-fi +-if test "${exec_prefix}" = "NONE"; then +- exec_prefix=$prefix +-fi +- +-#-------------------------------------------------------------------- +-# Check whether --enable-gcc or --disable-gcc was given. Do this +-# before AC_CYGWIN is called so the compiler can +-# be fully tested by built-in autoconf tools. +-# This macro also calls AC_PROG_CC to set the compiler if --enable-gcc +-# was not used. +-#-------------------------------------------------------------------- + +-# CYGNUS LOCAL +-ac_ext=c +-ac_cpp='$CPP $CPPFLAGS' +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +-ac_compiler_gnu=$ac_cv_c_compiler_gnu +-if test -n "$ac_tool_prefix"; then +- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +-set dummy ${ac_tool_prefix}gcc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_CC+set}" = set; then ++ # TEA extensions pass this us the version of TEA they think they ++ # are compatible with. ++ TEA_VERSION="3.2" ++ ++ { echo "$as_me:$LINENO: checking for correct TEA configuration" >&5 ++echo $ECHO_N "checking for correct TEA configuration... $ECHO_C" >&6; } ++ if test x"${PACKAGE_NAME}" = x ; then ++ { { echo "$as_me:$LINENO: error: ++The PACKAGE_NAME variable must be defined by your TEA configure.in" >&5 ++echo "$as_me: error: ++The PACKAGE_NAME variable must be defined by your TEA configure.in" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ if test x"3.2" = x ; then ++ { { echo "$as_me:$LINENO: error: ++TEA version not specified." >&5 ++echo "$as_me: error: ++TEA version not specified." >&2;} ++ { (exit 1); exit 1; }; } ++ elif test "3.2" != "${TEA_VERSION}" ; then ++ { echo "$as_me:$LINENO: result: warning: requested TEA version \"3.2\", have \"${TEA_VERSION}\"" >&5 ++echo "${ECHO_T}warning: requested TEA version \"3.2\", have \"${TEA_VERSION}\"" >&6; } ++ else ++ { echo "$as_me:$LINENO: result: ok (TEA ${TEA_VERSION})" >&5 ++echo "${ECHO_T}ok (TEA ${TEA_VERSION})" >&6; } ++ fi ++ case "`uname -s`" in ++ *win32*|*WIN32*|*CYGWIN_NT*|*CYGWIN_9*|*CYGWIN_ME*|*MINGW32_*) ++ # Extract the first word of "cygpath", so it can be a program name with args. ++set dummy cygpath; ac_word=$2 ++{ echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } ++if test "${ac_cv_prog_CYGPATH+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- if test -n "$CC"; then +- ac_cv_prog_CC="$CC" # Let the user override the test. ++ if test -n "$CYGPATH"; then ++ ac_cv_prog_CYGPATH="$CYGPATH" # Let the user override the test. + else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + for as_dir in $PATH +@@ -1359,154 +1821,499 @@ + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_CC="${ac_tool_prefix}gcc" ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ++ ac_cv_prog_CYGPATH="cygpath -w" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi + done + done ++IFS=$as_save_IFS + ++ test -z "$ac_cv_prog_CYGPATH" && ac_cv_prog_CYGPATH="echo" + fi + fi +-CC=$ac_cv_prog_CC +-if test -n "$CC"; then +- echo "$as_me:$LINENO: result: $CC" >&5 +-echo "${ECHO_T}$CC" >&6 ++CYGPATH=$ac_cv_prog_CYGPATH ++if test -n "$CYGPATH"; then ++ { echo "$as_me:$LINENO: result: $CYGPATH" >&5 ++echo "${ECHO_T}$CYGPATH" >&6; } + else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 ++ { echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6; } + fi + +-fi +-if test -z "$ac_cv_prog_CC"; then +- ac_ct_CC=$CC +- # Extract the first word of "gcc", so it can be a program name with args. +-set dummy gcc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$ac_ct_CC"; then +- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_ac_ct_CC="gcc" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done + +-fi +-fi +-ac_ct_CC=$ac_cv_prog_ac_ct_CC +-if test -n "$ac_ct_CC"; then +- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +-echo "${ECHO_T}$ac_ct_CC" >&6 ++ EXEEXT=".exe" ++ TEA_PLATFORM="windows" ++ ;; ++ *) ++ CYGPATH=echo ++ EXEEXT="" ++ TEA_PLATFORM="unix" ++ ;; ++ esac ++ ++ # Check if exec_prefix is set. If not use fall back to prefix. ++ # Note when adjusted, so that TEA_PREFIX can correct for this. ++ # This is needed for recursive configures, since autoconf propagates ++ # $prefix, but not $exec_prefix (doh!). ++ if test x$exec_prefix = xNONE ; then ++ exec_prefix_default=yes ++ exec_prefix=$prefix ++ fi ++ ++ ++ ++ ++ # This package name must be replaced statically for AC_SUBST to work ++ ++ # Substitute STUB_LIB_FILE in case package creates a stub library too. ++ ++ ++ # We AC_SUBST these here to ensure they are subst'ed, ++ # in case the user doesn't call TEA_ADD_... ++ ++ ++ ++ ++ ++ ++ ++ ++ ++{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 ++echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } ++LN_S=$as_ln_s ++if test "$LN_S" = "ln -s"; then ++ { echo "$as_me:$LINENO: result: yes" >&5 ++echo "${ECHO_T}yes" >&6; } + else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 ++ { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 ++echo "${ECHO_T}no, using $LN_S" >&6; } + fi + +- CC=$ac_ct_CC +-else +- CC="$ac_cv_prog_CC" ++CONFIG_CLEAN_FILES= ++if test ! -d $srcdir/tclconfig ; then ++ if test -d $srcdir/../tclconfig ; then ++ $LN_S $srcdir/../tclconfig tclconfig ++ CONFIG_CLEAN_FILES=tclconfig ++ fi + fi + +-if test -z "$CC"; then +- if test -n "$ac_tool_prefix"; then +- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +-set dummy ${ac_tool_prefix}cc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$CC"; then +- ac_cv_prog_CC="$CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_CC="${ac_tool_prefix}cc" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 ++ ++ac_aux_dir= ++for ac_dir in tclconfig "$srcdir"/tclconfig; do ++ if test -f "$ac_dir/install-sh"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install-sh -c" ++ break ++ elif test -f "$ac_dir/install.sh"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install.sh -c" ++ break ++ elif test -f "$ac_dir/shtool"; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/shtool install -c" ++ break + fi + done +-done +- +-fi +-fi +-CC=$ac_cv_prog_CC +-if test -n "$CC"; then +- echo "$as_me:$LINENO: result: $CC" >&5 +-echo "${ECHO_T}$CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 ++if test -z "$ac_aux_dir"; then ++ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in tclconfig \"$srcdir\"/tclconfig" >&5 ++echo "$as_me: error: cannot find install-sh or install.sh in tclconfig \"$srcdir\"/tclconfig" >&2;} ++ { (exit 1); exit 1; }; } + fi + ++# These three variables are undocumented and unsupported, ++# and are intended to be withdrawn in a future Autoconf release. ++# They can cause serious problems if a builder's source tree is in a directory ++# whose full name contains unusual characters. ++ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ++ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ++ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. ++ ++ ++ ++#-------------------------------------------------------------------- ++# Load the tclConfig.sh file ++#-------------------------------------------------------------------- ++ ++ ++ ++ # ++ # 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 ++ ++# Check whether --with-tcl was given. ++if test "${with_tcl+set}" = set; then ++ withval=$with_tcl; with_tclconfig=${withval} + fi +-if test -z "$ac_cv_prog_CC"; then +- ac_ct_CC=$CC +- # Extract the first word of "cc", so it can be a program name with args. +-set dummy cc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then ++ ++ { echo "$as_me:$LINENO: checking for Tcl configuration" >&5 ++echo $ECHO_N "checking for Tcl configuration... $ECHO_C" >&6; } ++ if test "${ac_cv_c_tclconfig+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- if test -n "$ac_ct_CC"; then +- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_ac_ct_CC="cc" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done + +-fi ++ ++ # For platform-specific directories ++ case $TEA_PLATFORM in ++ windows) platform="win" ;; ++ unix) platform="unix" ;; ++ *) { { echo "$as_me:$LINENO: error: unknown TEA_PLATFORM: \"$TEA_PLATFORM\"" >&5 ++echo "$as_me: error: unknown TEA_PLATFORM: \"$TEA_PLATFORM\"" >&2;} ++ { (exit 1); exit 1; }; } ++ esac ++ ++ # First check to see if --with-tcl was specified. ++ if test x"${with_tclconfig}" != x ; then ++ case ${with_tclconfig} in ++ */tclConfig.sh ) ++ if test -f ${with_tclconfig}; then ++ { echo "$as_me:$LINENO: WARNING: --with-tcl argument should refer to directory containing tclConfig.sh, not to tclConfig.sh itself" >&5 ++echo "$as_me: WARNING: --with-tcl argument should refer to directory containing tclConfig.sh, not to tclConfig.sh itself" >&2;} ++ with_tclconfig=`echo ${with_tclconfig} | sed 's!/tclConfig\.sh$!!'` ++ fi ;; ++ esac ++ if test -f "${with_tclconfig}/tclConfig.sh" ; then ++ ac_cv_c_tclconfig=`(cd ${with_tclconfig}; pwd)` ++ else ++ { { echo "$as_me:$LINENO: error: ${with_tclconfig} directory doesn't contain tclConfig.sh" >&5 ++echo "$as_me: error: ${with_tclconfig} directory doesn't contain tclConfig.sh" >&2;} ++ { (exit 1); exit 1; }; } ++ 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[8-9].[0-9].[0-9]* 2>/dev/null` \ ++ `ls -dr ../tcl[8-9].[0-9] 2>/dev/null` \ ++ `ls -dr ../tcl[8-9].[0-9]* 2>/dev/null` \ ++ ../../tcl \ ++ `ls -dr ../../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \ ++ `ls -dr ../../tcl[8-9].[0-9] 2>/dev/null` \ ++ `ls -dr ../../tcl[8-9].[0-9]* 2>/dev/null` \ ++ ../../../tcl \ ++ `ls -dr ../../../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \ ++ `ls -dr ../../../tcl[8-9].[0-9] 2>/dev/null` \ ++ `ls -dr ../../../tcl[8-9].[0-9]* 2>/dev/null` ; do ++ if test -f "$i/$platform/tclConfig.sh" ; then ++ ac_cv_c_tclconfig=`(cd $i/$platform; 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 ${exec_prefix}/lib 2>/dev/null` \ ++ `ls -d ${prefix}/lib 2>/dev/null` \ ++ `ls -d /usr/local/lib 2>/dev/null` \ ++ `ls -d /usr/contrib/lib 2>/dev/null` \ ++ `ls -d /usr/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[8-9].[0-9].[0-9]* 2>/dev/null` \ ++ `ls -dr ${srcdir}/../tcl[8-9].[0-9] 2>/dev/null` \ ++ `ls -dr ${srcdir}/../tcl[8-9].[0-9]* 2>/dev/null` ; do ++ ++ if test -f "$i/$platform/tclConfig.sh" ; then ++ ac_cv_c_tclconfig=`(cd $i/$platform; pwd)` ++ break ++ fi ++ done ++ fi ++ ++fi ++ ++ ++ if test x"${ac_cv_c_tclconfig}" = x ; then ++ TCL_BIN_DIR="# no Tcl configs found" ++ { echo "$as_me:$LINENO: WARNING: \"Cannot find Tcl configuration definitions\"" >&5 ++echo "$as_me: WARNING: \"Cannot find Tcl configuration definitions\"" >&2;} ++ exit 0 ++ else ++ no_tcl= ++ TCL_BIN_DIR=${ac_cv_c_tclconfig} ++ { echo "$as_me:$LINENO: result: found $TCL_BIN_DIR/tclConfig.sh" >&5 ++echo "${ECHO_T}found $TCL_BIN_DIR/tclConfig.sh" >&6; } ++ fi ++ fi ++ ++ ++ { echo "$as_me:$LINENO: checking for existence of $TCL_BIN_DIR/tclConfig.sh" >&5 ++echo $ECHO_N "checking for existence of $TCL_BIN_DIR/tclConfig.sh... $ECHO_C" >&6; } ++ ++ if test -f "$TCL_BIN_DIR/tclConfig.sh" ; then ++ { echo "$as_me:$LINENO: result: loading" >&5 ++echo "${ECHO_T}loading" >&6; } ++ . $TCL_BIN_DIR/tclConfig.sh ++ else ++ { echo "$as_me:$LINENO: result: file not found" >&5 ++echo "${ECHO_T}file not found" >&6; } ++ fi ++ ++ # ++ # If the TCL_BIN_DIR is the build directory (not the install directory), ++ # then set the common variable name to the value of the build variables. ++ # For example, the variable TCL_LIB_SPEC will be set to the value ++ # of TCL_BUILD_LIB_SPEC. An extension should make use of TCL_LIB_SPEC ++ # instead of TCL_BUILD_LIB_SPEC since it will work with both an ++ # installed and uninstalled version of Tcl. ++ # ++ ++ if test -f $TCL_BIN_DIR/Makefile ; then ++ TCL_LIB_SPEC=${TCL_BUILD_LIB_SPEC} ++ TCL_STUB_LIB_SPEC=${TCL_BUILD_STUB_LIB_SPEC} ++ TCL_STUB_LIB_PATH=${TCL_BUILD_STUB_LIB_PATH} ++ fi ++ ++ # ++ # eval is required to do the TCL_DBGX substitution ++ # ++ ++ eval "TCL_LIB_FILE=\"${TCL_LIB_FILE}\"" ++ eval "TCL_LIB_FLAG=\"${TCL_LIB_FLAG}\"" ++ eval "TCL_LIB_SPEC=\"${TCL_LIB_SPEC}\"" ++ ++ eval "TCL_STUB_LIB_FILE=\"${TCL_STUB_LIB_FILE}\"" ++ eval "TCL_STUB_LIB_FLAG=\"${TCL_STUB_LIB_FLAG}\"" ++ eval "TCL_STUB_LIB_SPEC=\"${TCL_STUB_LIB_SPEC}\"" ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ #AC_SUBST(TCL_BUILD_LIB_SPEC) ++ #AC_SUBST(TCL_BUILD_STUB_LIB_SPEC) ++ ++ ++#----------------------------------------------------------------------- ++# Handle the --prefix=... option by defaulting to what Tcl gave. ++# Must be called after TEA_LOAD_TCLCONFIG and before TEA_SETUP_COMPILER. ++#----------------------------------------------------------------------- ++ ++ ++ if test "${prefix}" = "NONE"; then ++ prefix_default=yes ++ if test x"${TCL_PREFIX}" != x; then ++ { echo "$as_me:$LINENO: --prefix defaulting to TCL_PREFIX ${TCL_PREFIX}" >&5 ++echo "$as_me: --prefix defaulting to TCL_PREFIX ${TCL_PREFIX}" >&6;} ++ prefix=${TCL_PREFIX} ++ else ++ { echo "$as_me:$LINENO: --prefix defaulting to /usr/local" >&5 ++echo "$as_me: --prefix defaulting to /usr/local" >&6;} ++ prefix=/usr/local ++ fi ++ fi ++ if test "${exec_prefix}" = "NONE" -a x"${prefix_default}" = x"yes" \ ++ -o x"${exec_prefix_default}" = x"yes" ; then ++ if test x"${TCL_EXEC_PREFIX}" != x; then ++ { echo "$as_me:$LINENO: --exec-prefix defaulting to TCL_EXEC_PREFIX ${TCL_EXEC_PREFIX}" >&5 ++echo "$as_me: --exec-prefix defaulting to TCL_EXEC_PREFIX ${TCL_EXEC_PREFIX}" >&6;} ++ exec_prefix=${TCL_EXEC_PREFIX} ++ else ++ { echo "$as_me:$LINENO: --exec-prefix defaulting to ${prefix}" >&5 ++echo "$as_me: --exec-prefix defaulting to ${prefix}" >&6;} ++ exec_prefix=$prefix ++ fi ++ fi ++ ++ ++#----------------------------------------------------------------------- ++# Standard compiler checks. ++# This sets up CC by using the CC env var, or looks for gcc otherwise. ++# This also calls AC_PROG_CC, AC_PROG_INSTALL and a few others to create ++# the basic setup necessary to compile executables. ++#----------------------------------------------------------------------- ++ ++ ++ # Don't put any macros that use the compiler (e.g. AC_TRY_COMPILE) ++ # in this macro, they need to go into TEA_SETUP_COMPILER instead. ++ ++ # If the user did not set CFLAGS, set it now to keep ++ # the AC_PROG_CC macro from adding "-g -O2". ++ if test "${CFLAGS+set}" != "set" ; then ++ CFLAGS="" ++ fi ++ ++ ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. ++set dummy ${ac_tool_prefix}gcc; ac_word=$2 ++{ echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } ++if test "${ac_cv_prog_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ++ ac_cv_prog_CC="${ac_tool_prefix}gcc" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++IFS=$as_save_IFS ++ ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ { echo "$as_me:$LINENO: result: $CC" >&5 ++echo "${ECHO_T}$CC" >&6; } ++else ++ { echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_CC"; then ++ ac_ct_CC=$CC ++ # Extract the first word of "gcc", so it can be a program name with args. ++set dummy gcc; ac_word=$2 ++{ echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } ++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$ac_ct_CC"; then ++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ++ ac_cv_prog_ac_ct_CC="gcc" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++IFS=$as_save_IFS ++ ++fi + fi + ac_ct_CC=$ac_cv_prog_ac_ct_CC + if test -n "$ac_ct_CC"; then +- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +-echo "${ECHO_T}$ac_ct_CC" >&6 ++ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 ++echo "${ECHO_T}$ac_ct_CC" >&6; } + else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 ++ { echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6; } + fi + +- CC=$ac_ct_CC ++ if test "x$ac_ct_CC" = x; then ++ CC="" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools ++whose name does not start with the host triplet. If you think this ++configuration is useful to you, please write to autoconf@gnu.org." >&5 ++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools ++whose name does not start with the host triplet. If you think this ++configuration is useful to you, please write to autoconf@gnu.org." >&2;} ++ac_tool_warned=yes ;; ++esac ++ CC=$ac_ct_CC ++ fi + else + CC="$ac_cv_prog_CC" + fi + ++if test -z "$CC"; then ++ if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. ++set dummy ${ac_tool_prefix}cc; ac_word=$2 ++{ echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } ++if test "${ac_cv_prog_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ++ ac_cv_prog_CC="${ac_tool_prefix}cc" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++IFS=$as_save_IFS ++ ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ { echo "$as_me:$LINENO: result: $CC" >&5 ++echo "${ECHO_T}$CC" >&6; } ++else ++ { echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6; } ++fi ++ ++ ++ fi + fi + if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. + set dummy cc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++{ echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } + if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +@@ -1520,7 +2327,7 @@ + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue +@@ -1531,6 +2338,7 @@ + fi + done + done ++IFS=$as_save_IFS + + if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. +@@ -1548,22 +2356,23 @@ + fi + CC=$ac_cv_prog_CC + if test -n "$CC"; then +- echo "$as_me:$LINENO: result: $CC" >&5 +-echo "${ECHO_T}$CC" >&6 ++ { echo "$as_me:$LINENO: result: $CC" >&5 ++echo "${ECHO_T}$CC" >&6; } + else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 ++ { echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6; } + fi + ++ + fi + if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then +- for ac_prog in cl ++ for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. + set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++{ echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } + if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +@@ -1576,36 +2385,38 @@ + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi + done + done ++IFS=$as_save_IFS + + fi + fi + CC=$ac_cv_prog_CC + if test -n "$CC"; then +- echo "$as_me:$LINENO: result: $CC" >&5 +-echo "${ECHO_T}$CC" >&6 ++ { echo "$as_me:$LINENO: result: $CC" >&5 ++echo "${ECHO_T}$CC" >&6; } + else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 ++ { echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6; } + fi + ++ + test -n "$CC" && break + done + fi + if test -z "$CC"; then + ac_ct_CC=$CC +- for ac_prog in cl ++ for ac_prog in cl.exe + do + # Extract the first word of "$ac_prog", so it can be a program name with args. + set dummy $ac_prog; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++{ echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } + if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +@@ -1618,29 +2429,45 @@ + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi + done + done ++IFS=$as_save_IFS + + fi + fi + ac_ct_CC=$ac_cv_prog_ac_ct_CC + if test -n "$ac_ct_CC"; then +- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +-echo "${ECHO_T}$ac_ct_CC" >&6 ++ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 ++echo "${ECHO_T}$ac_ct_CC" >&6; } + else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 ++ { echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6; } + fi + ++ + test -n "$ac_ct_CC" && break + done + +- CC=$ac_ct_CC ++ if test "x$ac_ct_CC" = x; then ++ CC="" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools ++whose name does not start with the host triplet. If you think this ++configuration is useful to you, please write to autoconf@gnu.org." >&5 ++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools ++whose name does not start with the host triplet. If you think this ++configuration is useful to you, please write to autoconf@gnu.org." >&2;} ++ac_tool_warned=yes ;; ++esac ++ CC=$ac_ct_CC ++ fi + fi + + fi +@@ -1653,21 +2480,35 @@ + { (exit 1); exit 1; }; } + + # Provide some information about the compiler. +-echo "$as_me:$LINENO:" \ +- "checking for C compiler version" >&5 ++echo "$as_me:$LINENO: checking for C compiler version" >&5 + ac_compiler=`set X $ac_compile; echo $2` +-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 +- (eval $ac_compiler --version &5) 2>&5 ++{ (ac_try="$ac_compiler --version >&5" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 +- (eval $ac_compiler -v &5) 2>&5 ++{ (ac_try="$ac_compiler -v >&5" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 +- (eval $ac_compiler -V &5) 2>&5 ++{ (ac_try="$ac_compiler -V >&5" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +@@ -1692,47 +2533,77 @@ + # Try to create an executable without -o first, disregard a.out. + # It will help us diagnose broken compilers, and finding out an intuition + # of exeext. +-echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 ++{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 ++echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } + ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 +- (eval $ac_link_default) 2>&5 ++# ++# List of possible output files, starting from the most likely. ++# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) ++# only as a last resort. b.out is created by i960 compilers. ++ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' ++# ++# The IRIX 6 linker writes into existing files which may not be ++# executable, retaining their permissions. Remove them first so a ++# subsequent execution test works. ++ac_rmfiles= ++for ac_file in $ac_files ++do ++ case $ac_file in ++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; ++ * ) ac_rmfiles="$ac_rmfiles $ac_file";; ++ esac ++done ++rm -f $ac_rmfiles ++ ++if { (ac_try="$ac_link_default" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then +- # Find the output, starting from the most likely. This scheme is +-# not robust to junk in `.', hence go to wildcards (a.*) only as a last +-# resort. +- +-# Be careful to initialize this variable, since it used to be cached. +-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. +-ac_cv_exeext= +-# b.out is created by i960 compilers. +-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out ++ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. ++# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' ++# in a Makefile. We should not override ac_cv_exeext if it was cached, ++# so that the user can short-circuit this test for compilers unknown to ++# Autoconf. ++for ac_file in $ac_files '' + do + test -f "$ac_file" || continue + case $ac_file in +- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) +- ;; +- conftest.$ac_ext ) +- # This is the source file. ++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) +- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` +- # FIXME: I believe we export ac_cv_exeext for Libtool, +- # but it would be cool to find out if it's true. Does anybody +- # maintain Libtool? --akim. +- export ac_cv_exeext ++ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; ++ then :; else ++ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` ++ fi ++ # We set ac_cv_exeext here because the later test for it is not ++ # safe: cross compilers may not add the suffix if given an `-o' ++ # argument, so we may need to know it at that point already. ++ # Even if this section looks crufty: it has the advantage of ++ # actually working. + break;; + * ) + break;; + esac + done ++test "$ac_cv_exeext" = no && ac_cv_exeext= ++ + else ++ ac_file='' ++fi ++ ++{ echo "$as_me:$LINENO: result: $ac_file" >&5 ++echo "${ECHO_T}$ac_file" >&6; } ++if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + +@@ -1744,19 +2615,21 @@ + fi + + ac_exeext=$ac_cv_exeext +-echo "$as_me:$LINENO: result: $ac_file" >&5 +-echo "${ECHO_T}$ac_file" >&6 + +-# Check the compiler produces executables we can run. If not, either ++# Check that the compiler produces executables we can run. If not, either + # the compiler is broken, or we cross compile. +-echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 ++{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 ++echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } + # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 + # If not cross compiling, check that we can run a simple program. + if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 ++ { (case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then +@@ -1775,22 +2648,27 @@ + fi + fi + fi +-echo "$as_me:$LINENO: result: yes" >&5 +-echo "${ECHO_T}yes" >&6 ++{ echo "$as_me:$LINENO: result: yes" >&5 ++echo "${ECHO_T}yes" >&6; } + + rm -f a.out a.exe conftest$ac_cv_exeext b.out + ac_clean_files=$ac_clean_files_save +-# Check the compiler produces executables we can run. If not, either ++# Check that the compiler produces executables we can run. If not, either + # the compiler is broken, or we cross compile. +-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 +-echo "$as_me:$LINENO: result: $cross_compiling" >&5 +-echo "${ECHO_T}$cross_compiling" >&6 +- +-echo "$as_me:$LINENO: checking for suffix of executables" >&5 +-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>&5 ++{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 ++echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } ++{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 ++echo "${ECHO_T}$cross_compiling" >&6; } ++ ++{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 ++echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then +@@ -1801,9 +2679,8 @@ + for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in +- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; ++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` +- export ac_cv_exeext + break;; + * ) break;; + esac +@@ -1817,14 +2694,14 @@ + fi + + rm -f conftest$ac_cv_exeext +-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +-echo "${ECHO_T}$ac_cv_exeext" >&6 ++{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 ++echo "${ECHO_T}$ac_cv_exeext" >&6; } + + rm -f conftest.$ac_ext + EXEEXT=$ac_cv_exeext + ac_exeext=$EXEEXT +-echo "$as_me:$LINENO: checking for suffix of object files" >&5 +-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 ++{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 ++echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } + if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +@@ -1844,14 +2721,20 @@ + } + _ACEOF + rm -f conftest.o conftest.obj +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>&5 ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then +- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do ++ for ac_file in conftest.o conftest.obj conftest.*; do ++ test -f "$ac_file" || continue; + case $ac_file in +- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; ++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +@@ -1869,12 +2752,12 @@ + + rm -f conftest.$ac_cv_objext conftest.$ac_ext + fi +-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +-echo "${ECHO_T}$ac_cv_objext" >&6 ++{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 ++echo "${ECHO_T}$ac_cv_objext" >&6; } + OBJEXT=$ac_cv_objext + ac_objext=$OBJEXT +-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 ++{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 ++echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } + if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +@@ -1897,50 +2780,49 @@ + } + _ACEOF + rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes + else + echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + +-ac_compiler_gnu=no ++ ac_compiler_gnu=no + fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_c_compiler_gnu=$ac_compiler_gnu + + fi +-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 ++{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 ++echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } + GCC=`test $ac_compiler_gnu = yes && echo yes` + ac_test_CFLAGS=${CFLAGS+set} + ac_save_CFLAGS=$CFLAGS +-CFLAGS="-g" +-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 ++{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 ++echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } + if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- cat >conftest.$ac_ext <<_ACEOF ++ ac_save_c_werror_flag=$ac_c_werror_flag ++ ac_c_werror_flag=yes ++ ac_cv_prog_cc_g=no ++ CFLAGS="-g" ++ cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext +@@ -1956,59 +2838,139 @@ + } + _ACEOF + rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes + else + echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + +-ac_cv_prog_cc_g=no +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-fi +-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +-if test "$ac_test_CFLAGS" = set; then +- CFLAGS=$ac_save_CFLAGS +-elif test $ac_cv_prog_cc_g = yes; then +- if test "$GCC" = yes; then +- CFLAGS="-g -O2" +- else +- CFLAGS="-g" +- fi +-else +- if test "$GCC" = yes; then +- CFLAGS="-O2" +- else +- CFLAGS= +- fi ++ CFLAGS="" ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ : ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_c_werror_flag=$ac_save_c_werror_flag ++ CFLAGS="-g" ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_cv_prog_cc_g=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ ac_c_werror_flag=$ac_save_c_werror_flag ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 ++echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } ++if test "$ac_test_CFLAGS" = set; then ++ CFLAGS=$ac_save_CFLAGS ++elif test $ac_cv_prog_cc_g = yes; then ++ if test "$GCC" = yes; then ++ CFLAGS="-g -O2" ++ else ++ CFLAGS="-g" ++ fi ++else ++ if test "$GCC" = yes; then ++ CFLAGS="-O2" ++ else ++ CFLAGS= ++ fi + fi +-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 +-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 +-if test "${ac_cv_prog_cc_stdc+set}" = set; then ++{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 ++echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } ++if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- ac_cv_prog_cc_stdc=no ++ ac_cv_prog_cc_c89=no + ac_save_CC=$CC + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ +@@ -2042,12 +3004,17 @@ + /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated +- as 'x'. The following induces an error, until -std1 is added to get ++ as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something +- that's true only with -std1. */ ++ that's true only with -std. */ + int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + ++/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters ++ inside strings and character constants. */ ++#define FOO(x) 'x' ++int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; ++ + int test (int i, double x); + struct s1 {int (*f) (int a);}; + struct s2 {int (*f) (double a);}; +@@ -2062,213 +3029,295 @@ + return 0; + } + _ACEOF +-# Don't try gcc -ansi; that turns off useful extensions and +-# breaks some systems' header files. +-# AIX -qlanglvl=ansi +-# Ultrix and OSF/1 -std1 +-# HP-UX 10.20 and later -Ae +-# HP-UX older versions -Aa -D_HPUX_SOURCE +-# SVR4 -Xc -D__EXTENSIONS__ +-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" ++for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ ++ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" + do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_prog_cc_stdc=$ac_arg +-break ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_cv_prog_cc_c89=$ac_arg + else + echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + ++ + fi +-rm -f conftest.err conftest.$ac_objext ++ ++rm -f core conftest.err conftest.$ac_objext ++ test "x$ac_cv_prog_cc_c89" != "xno" && break + done +-rm -f conftest.$ac_ext conftest.$ac_objext ++rm -f conftest.$ac_ext + CC=$ac_save_CC + + fi +- +-case "x$ac_cv_prog_cc_stdc" in +- x|xno) +- echo "$as_me:$LINENO: result: none needed" >&5 +-echo "${ECHO_T}none needed" >&6 ;; ++# AC_CACHE_VAL ++case "x$ac_cv_prog_cc_c89" in ++ x) ++ { echo "$as_me:$LINENO: result: none needed" >&5 ++echo "${ECHO_T}none needed" >&6; } ;; ++ xno) ++ { echo "$as_me:$LINENO: result: unsupported" >&5 ++echo "${ECHO_T}unsupported" >&6; } ;; + *) +- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 +- CC="$CC $ac_cv_prog_cc_stdc" ;; ++ CC="$CC $ac_cv_prog_cc_c89" ++ { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 ++echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; + esac + +-# Some people use a C++ compiler to compile C. Since we use `exit', +-# in C++ we need to declare it. In case someone uses the same compiler +-# for both compiling C and C++ we need to have the C++ compiler decide +-# the declaration of exit, since it's the most demanding environment. +-cat >conftest.$ac_ext <<_ACEOF +-#ifndef __cplusplus +- choke me ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++ ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 ++echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } ++# On Suns, sometimes $CPP names a directory. ++if test -n "$CPP" && test -d "$CPP"; then ++ CPP= ++fi ++if test -z "$CPP"; then ++ if test "${ac_cv_prog_CPP+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ # Double quotes because CPP needs to be expanded ++ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" ++ do ++ ac_preproc_ok=false ++for ac_c_preproc_warn_flag in '' yes ++do ++ # Use a header file that comes with gcc, so configuring glibc ++ # with a fresh cross-compiler works. ++ # Prefer to if __STDC__ is defined, since ++ # exists even on freestanding compilers. ++ # On the NeXT, cc -E runs the code through the compiler's parser, ++ # not just through cpp. "Syntax error" is here to catch this case. ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#ifdef __STDC__ ++# include ++#else ++# include + #endif ++ Syntax error + _ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 ++if { (ac_try="$ac_cpp conftest.$ac_ext" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then ++ : ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ # Broken: fails on valid input. ++continue ++fi ++ ++rm -f conftest.err conftest.$ac_ext ++ ++ # OK, works on sane cases. Now check whether nonexistent headers ++ # can be detected and how. ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++_ACEOF ++if { (ac_try="$ac_cpp conftest.$ac_ext" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- for ac_declaration in \ +- '' \ +- 'extern "C" void std::exit (int) throw (); using std::exit;' \ +- 'extern "C" void std::exit (int); using std::exit;' \ +- 'extern "C" void exit (int) throw ();' \ +- 'extern "C" void exit (int);' \ +- 'void exit (int);' ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then ++ # Broken: success on invalid input. ++continue ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ # Passes both tests. ++ac_preproc_ok=: ++break ++fi ++ ++rm -f conftest.err conftest.$ac_ext ++ ++done ++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. ++rm -f conftest.err conftest.$ac_ext ++if $ac_preproc_ok; then ++ break ++fi ++ ++ done ++ ac_cv_prog_CPP=$CPP ++ ++fi ++ CPP=$ac_cv_prog_CPP ++else ++ ac_cv_prog_CPP=$CPP ++fi ++{ echo "$as_me:$LINENO: result: $CPP" >&5 ++echo "${ECHO_T}$CPP" >&6; } ++ac_preproc_ok=false ++for ac_c_preproc_warn_flag in '' yes + do ++ # Use a header file that comes with gcc, so configuring glibc ++ # with a fresh cross-compiler works. ++ # Prefer to if __STDC__ is defined, since ++ # exists even on freestanding compilers. ++ # On the NeXT, cc -E runs the code through the compiler's parser, ++ # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ +-$ac_declaration +-#include +-int +-main () +-{ +-exit (42); +- ; +- return 0; +-} ++#ifdef __STDC__ ++# include ++#else ++# include ++#endif ++ Syntax error + _ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 ++if { (ac_try="$ac_cpp conftest.$ac_ext" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then + : + else + echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + ++ # Broken: fails on valid input. + continue + fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++ ++rm -f conftest.err conftest.$ac_ext ++ ++ # OK, works on sane cases. Now check whether nonexistent headers ++ # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ +-$ac_declaration +-int +-main () +-{ +-exit (42); +- ; +- return 0; +-} ++#include + _ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 ++if { (ac_try="$ac_cpp conftest.$ac_ext" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- break ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then ++ # Broken: success on invalid input. ++continue + else + echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-done +-rm -f conftest* +-if test -n "$ac_declaration"; then +- echo '#ifdef __cplusplus' >>confdefs.h +- echo $ac_declaration >>confdefs.h +- echo '#endif' >>confdefs.h ++ # Passes both tests. ++ac_preproc_ok=: ++break + fi + +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 ++rm -f conftest.err conftest.$ac_ext + ++done ++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. ++rm -f conftest.err conftest.$ac_ext ++if $ac_preproc_ok; then ++ : ++else ++ { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check ++See \`config.log' for more details." >&5 ++echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check ++See \`config.log' for more details." >&2;} ++ { (exit 1); exit 1; }; } + fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++ + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' + ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' + ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' + ac_compiler_gnu=$ac_cv_c_compiler_gnu + +-# END CYGNUS LOCAL +-# Find a good install program. We prefer a C program (faster), ++ ++ # Find a good install program. We prefer a C program (faster), + # so one script is as good as another. But avoid the broken or + # incompatible versions: + # SysV /etc/install, /usr/sbin/install +@@ -2281,8 +3330,8 @@ + # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" + # OS/2's system install, which has a completely different semantic + # ./install, which can be erroneously created by make from ./install.sh. +-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 ++{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 ++echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } + if test -z "$INSTALL"; then + if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +@@ -2304,7 +3353,7 @@ + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then ++ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. +@@ -2323,21 +3372,22 @@ + ;; + esac + done ++IFS=$as_save_IFS + + + fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else +- # As a last resort, use the slow shell script. We don't cache a +- # path for INSTALL within a source directory, because that will ++ # As a last resort, use the slow shell script. Don't cache a ++ # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is +- # removed, or if the path is relative. ++ # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi + fi +-echo "$as_me:$LINENO: result: $INSTALL" >&5 +-echo "${ECHO_T}$INSTALL" >&6 ++{ echo "$as_me:$LINENO: result: $INSTALL" >&5 ++echo "${ECHO_T}$INSTALL" >&6; } + + # Use test -z because SunOS4 sh mishandles braces in ${var-val}. + # It thinks the first close brace ends the variable substitution. +@@ -2348,49 +3398,50 @@ + test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + + +-#-------------------------------------------------------------------- +-# Checks to see if the make program sets the $MAKE variable. +-#-------------------------------------------------------------------- +- +-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 +-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` +-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then ++ #-------------------------------------------------------------------- ++ # Checks to see if the make program sets the $MAKE variable. ++ #-------------------------------------------------------------------- ++ ++ { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 ++echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } ++set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` ++if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + cat >conftest.make <<\_ACEOF ++SHELL = /bin/sh + all: +- @echo 'ac_maketemp="$(MAKE)"' ++ @echo '@@@%%%=$(MAKE)=@@@%%%' + _ACEOF + # GNU make sometimes prints "make[1]: Entering...", which would confuse us. +-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` +-if test -n "$ac_maketemp"; then +- eval ac_cv_prog_make_${ac_make}_set=yes +-else +- eval ac_cv_prog_make_${ac_make}_set=no +-fi ++case `${MAKE-make} -f conftest.make 2>/dev/null` in ++ *@@@%%%=?*=@@@%%%*) ++ eval ac_cv_prog_make_${ac_make}_set=yes;; ++ *) ++ eval ac_cv_prog_make_${ac_make}_set=no;; ++esac + rm -f conftest.make + fi +-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then +- echo "$as_me:$LINENO: result: yes" >&5 +-echo "${ECHO_T}yes" >&6 ++if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then ++ { echo "$as_me:$LINENO: result: yes" >&5 ++echo "${ECHO_T}yes" >&6; } + SET_MAKE= + else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 ++ { echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" + fi + + +-#-------------------------------------------------------------------- +-# Find ranlib +-#-------------------------------------------------------------------- ++ #-------------------------------------------------------------------- ++ # Find ranlib ++ #-------------------------------------------------------------------- + +-if test -n "$ac_tool_prefix"; then ++ if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. + set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++{ echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } + if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +@@ -2403,32 +3454,34 @@ + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi + done + done ++IFS=$as_save_IFS + + fi + fi + RANLIB=$ac_cv_prog_RANLIB + if test -n "$RANLIB"; then +- echo "$as_me:$LINENO: result: $RANLIB" >&5 +-echo "${ECHO_T}$RANLIB" >&6 ++ { echo "$as_me:$LINENO: result: $RANLIB" >&5 ++echo "${ECHO_T}$RANLIB" >&6; } + else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 ++ { echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6; } + fi + ++ + fi + if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. + set dummy ranlib; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++{ echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } + if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +@@ -2441,319 +3494,394 @@ + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi + done + done ++IFS=$as_save_IFS + +- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" + fi + fi + ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB + if test -n "$ac_ct_RANLIB"; then +- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +-echo "${ECHO_T}$ac_ct_RANLIB" >&6 ++ { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 ++echo "${ECHO_T}$ac_ct_RANLIB" >&6; } + else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 ++ { echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6; } + fi + +- RANLIB=$ac_ct_RANLIB ++ if test "x$ac_ct_RANLIB" = x; then ++ RANLIB=":" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools ++whose name does not start with the host triplet. If you think this ++configuration is useful to you, please write to autoconf@gnu.org." >&5 ++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools ++whose name does not start with the host triplet. If you think this ++configuration is useful to you, please write to autoconf@gnu.org." >&2;} ++ac_tool_warned=yes ;; ++esac ++ RANLIB=$ac_ct_RANLIB ++ fi + else + RANLIB="$ac_cv_prog_RANLIB" + fi + + +-#-------------------------------------------------------------------- +-# This macro performs additional compiler tests. +-#-------------------------------------------------------------------- ++ #-------------------------------------------------------------------- ++ # Determines the correct binary file extension (.o, .obj, .exe etc.) ++ #-------------------------------------------------------------------- ++ + +-# Make sure we can run config.sub. +-$ac_config_sub sun4 >/dev/null 2>&1 || +- { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 +-echo "$as_me: error: cannot run $ac_config_sub" >&2;} +- { (exit 1); exit 1; }; } + +-echo "$as_me:$LINENO: checking build system type" >&5 +-echo $ECHO_N "checking build system type... $ECHO_C" >&6 +-if test "${ac_cv_build+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- ac_cv_build_alias=$build_alias +-test -z "$ac_cv_build_alias" && +- ac_cv_build_alias=`$ac_config_guess` +-test -z "$ac_cv_build_alias" && +- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +-echo "$as_me: error: cannot guess build type; you must specify one" >&2;} +- { (exit 1); exit 1; }; } +-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || +- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 +-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} +- { (exit 1); exit 1; }; } + +-fi +-echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +-echo "${ECHO_T}$ac_cv_build" >&6 +-build=$ac_cv_build +-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + +-echo "$as_me:$LINENO: checking host system type" >&5 +-echo $ECHO_N "checking host system type... $ECHO_C" >&6 +-if test "${ac_cv_host+set}" = set; then ++{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 ++echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } ++if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- ac_cv_host_alias=$host_alias +-test -z "$ac_cv_host_alias" && +- ac_cv_host_alias=$ac_cv_build_alias +-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || +- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 +-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} +- { (exit 1); exit 1; }; } ++ # Extract the first word of "grep ggrep" to use in msg output ++if test -z "$GREP"; then ++set dummy grep ggrep; ac_prog_name=$2 ++if test "${ac_cv_path_GREP+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_path_GREP_found=false ++# Loop through the user's path and test for each of PROGNAME-LIST ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_prog in grep ggrep; do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" ++ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue ++ # Check for GNU ac_path_GREP and select it if it is found. ++ # Check for GNU $ac_path_GREP ++case `"$ac_path_GREP" --version 2>&1` in ++*GNU*) ++ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; ++*) ++ ac_count=0 ++ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" ++ while : ++ do ++ cat "conftest.in" "conftest.in" >"conftest.tmp" ++ mv "conftest.tmp" "conftest.in" ++ cp "conftest.in" "conftest.nl" ++ echo 'GREP' >> "conftest.nl" ++ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break ++ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ++ ac_count=`expr $ac_count + 1` ++ if test $ac_count -gt ${ac_path_GREP_max-0}; then ++ # Best one so far, save it but keep looking for a better one ++ ac_cv_path_GREP="$ac_path_GREP" ++ ac_path_GREP_max=$ac_count ++ fi ++ # 10*(2^10) chars as input seems more than enough ++ test $ac_count -gt 10 && break ++ done ++ rm -f conftest.in conftest.tmp conftest.nl conftest.out;; ++esac + +-fi +-echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +-echo "${ECHO_T}$ac_cv_host" >&6 +-host=$ac_cv_host +-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + ++ $ac_path_GREP_found && break 3 ++ done ++done + +-case $host_os in +- *cygwin* ) CYGWIN=yes;; +- * ) CYGWIN=no;; +-esac ++done ++IFS=$as_save_IFS + + +-#-------------------------------------------------------------------- +-# Determines the correct binary file extension (.o, .obj, .exe etc.) +-#-------------------------------------------------------------------- ++fi + ++GREP="$ac_cv_path_GREP" ++if test -z "$GREP"; then ++ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 ++echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} ++ { (exit 1); exit 1; }; } ++fi + ++else ++ ac_cv_path_GREP=$GREP ++fi + + +-#-------------------------------------------------------------------- +-# "cygpath" is used on windows to generate native path names for include +-# files. +-# These variables should only be used with the compiler and linker since +-# they generate native path names. +-# +-# Unix tclConfig.sh points SRC_DIR at the top-level directory of +-# the Tcl sources, while the Windows tclConfig.sh points SRC_DIR at +-# the win subdirectory. Hence the different usages of SRC_DIR below. +-# +-# This must be done before calling SC_PUBLIC_TCL_HEADERS +-# +-# RELPATH is used to locate binary extensions relative to the lib directory. +-# It is only needed if mkIndex.tcl can't generate an installed pkgIndex.tcl +-# file for you. +-#-------------------------------------------------------------------- ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 ++echo "${ECHO_T}$ac_cv_path_GREP" >&6; } ++ GREP="$ac_cv_path_GREP" + +-case "${host}" in +- *mingw32* | *windows32*) +- # Extract the first word of "cygpath", so it can be a program name with args. +-set dummy cygpath; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_CYGPATH+set}" = set; then ++ ++{ echo "$as_me:$LINENO: checking for egrep" >&5 ++echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } ++if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- if test -n "$CYGPATH"; then +- ac_cv_prog_CYGPATH="$CYGPATH" # Let the user override the test. ++ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 ++ then ac_cv_path_EGREP="$GREP -E" ++ else ++ # Extract the first word of "egrep" to use in msg output ++if test -z "$EGREP"; then ++set dummy egrep; ac_prog_name=$2 ++if test "${ac_cv_path_EGREP+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 + else ++ ac_path_EGREP_found=false ++# Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH ++for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin + do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. ++ for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_CYGPATH="cygpath -w" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi ++ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" ++ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue ++ # Check for GNU ac_path_EGREP and select it if it is found. ++ # Check for GNU $ac_path_EGREP ++case `"$ac_path_EGREP" --version 2>&1` in ++*GNU*) ++ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; ++*) ++ ac_count=0 ++ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" ++ while : ++ do ++ cat "conftest.in" "conftest.in" >"conftest.tmp" ++ mv "conftest.tmp" "conftest.in" ++ cp "conftest.in" "conftest.nl" ++ echo 'EGREP' >> "conftest.nl" ++ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break ++ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ++ ac_count=`expr $ac_count + 1` ++ if test $ac_count -gt ${ac_path_EGREP_max-0}; then ++ # Best one so far, save it but keep looking for a better one ++ ac_cv_path_EGREP="$ac_path_EGREP" ++ ac_path_EGREP_max=$ac_count ++ fi ++ # 10*(2^10) chars as input seems more than enough ++ test $ac_count -gt 10 && break ++ done ++ rm -f conftest.in conftest.tmp conftest.nl conftest.out;; ++esac ++ ++ ++ $ac_path_EGREP_found && break 3 ++ done + done ++ + done ++IFS=$as_save_IFS ++ + +- test -z "$ac_cv_prog_CYGPATH" && ac_cv_prog_CYGPATH="echo" + fi ++ ++EGREP="$ac_cv_path_EGREP" ++if test -z "$EGREP"; then ++ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 ++echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} ++ { (exit 1); exit 1; }; } + fi +-CYGPATH=$ac_cv_prog_CYGPATH +-if test -n "$CYGPATH"; then +- echo "$as_me:$LINENO: result: $CYGPATH" >&5 +-echo "${ECHO_T}$CYGPATH" >&6 ++ + else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 ++ ac_cv_path_EGREP=$EGREP + fi + +- RELPATH=".. .. bin" +- ;; +- *) +- CYGPATH=echo +- RELPATH=.. +- ;; +-esac + ++ fi ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 ++echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } ++ EGREP="$ac_cv_path_EGREP" + + ++{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 ++echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } ++if test "${ac_cv_header_stdc+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++#include ++#include ++#include + +-#-------------------------------------------------------------------- +-# Includes for this package +-#-------------------------------------------------------------------- ++int ++main () ++{ + +-# CYGNUS LOCAL +-srcdir=`cd ${srcdir} ; pwd` +-ITCL_SRC_DIR_NATIVE=`${CYGPATH} ${srcdir}` +-# END CYGNUS LOCAL +-ITCL_GENERIC_DIR_NATIVE=`${CYGPATH} ${srcdir}/generic` +-ITCL_WIN_DIR_NATIVE=`${CYGPATH} ${srcdir}/win` +-ITCL_UNIX_DIR_NATIVE=`${CYGPATH} ${srcdir}/unix` +- +-case "${host}" in +- *cygwin* | *mingw32* | *windows32*) +- ITCL_PLATFORM_DIR_NATIVE=${ITCL_WIN_DIR_NATIVE} +- ;; +- *) +- ITCL_PLATFORM_DIR_NATIVE=${ITCL_UNIX_DIR_NATIVE} +- ;; ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; + esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_cv_header_stdc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + +-ITCL_INCLUDES="-I\"${ITCL_GENERIC_DIR_NATIVE}\" -I\"${ITCL_PLATFORM_DIR_NATIVE}\"" +- +- +- +- ++ ac_cv_header_stdc=no ++fi + ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +-#-------------------------------------------------------------------- +-# Load the tclConfig.sh file +-#-------------------------------------------------------------------- ++if test $ac_cv_header_stdc = yes; then ++ # SunOS 4.x string.h does not declare mem*, contrary to ANSI. ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include + ++_ACEOF ++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ++ $EGREP "memchr" >/dev/null 2>&1; then ++ : ++else ++ ac_cv_header_stdc=no ++fi ++rm -f conftest* + +- # +- # Ok, lets find the tcl configuration +- # First, look for one uninstalled. +- # the alternative search directory is invoked by --with-tcl +- # ++fi + +- if test x"${no_tcl}" = x ; then +- # we reset no_tcl in case something fails here +- no_tcl=true ++if test $ac_cv_header_stdc = yes; then ++ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include + +-# Check whether --with-tcl or --without-tcl was given. +-if test "${with_tcl+set}" = set; then +- withval="$with_tcl" +- with_tclconfig=${withval} +-fi; +- echo "$as_me:$LINENO: checking for Tcl configuration" >&5 +-echo $ECHO_N "checking for Tcl configuration... $ECHO_C" >&6 +- if test "${ac_cv_c_tclconfig+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 ++_ACEOF ++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ++ $EGREP "free" >/dev/null 2>&1; then ++ : + else ++ ac_cv_header_stdc=no ++fi ++rm -f conftest* + ++fi + +- # 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 +- { { echo "$as_me:$LINENO: error: ${with_tclconfig} directory doesn't contain tclConfig.sh" >&5 +-echo "$as_me: error: ${with_tclconfig} directory doesn't contain tclConfig.sh" >&2;} +- { (exit 1); exit 1; }; } +- 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[8-9].[0-9]* 2>/dev/null` \ +- ../../tcl \ +- `ls -dr ../../tcl[8-9].[0-9]* 2>/dev/null` \ +- ../../../tcl \ +- `ls -dr ../../../tcl[8-9].[0-9]* 2>/dev/null` ; do +- if test -f "$i/unix/tclConfig.sh" ; then +- ac_cv_c_tclconfig=`(cd $i/unix; pwd)` +- break +- fi +- if test -f "$i/win/tclConfig.sh" ; then +- ac_cv_c_tclconfig=`(cd $i/win; 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 2>/dev/null` \ +- `ls -d /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 ++if test $ac_cv_header_stdc = yes; then ++ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. ++ if test "$cross_compiling" = yes; then ++ : ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++#include ++#if ((' ' & 0x0FF) == 0x020) ++# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') ++# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) ++#else ++# define ISLOWER(c) \ ++ (('a' <= (c) && (c) <= 'i') \ ++ || ('j' <= (c) && (c) <= 'r') \ ++ || ('s' <= (c) && (c) <= 'z')) ++# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) ++#endif + +- # 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[8-9].[0-9]* 2>/dev/null` ; do +- if test -f "$i/unix/tclConfig.sh" ; then +- ac_cv_c_tclconfig=`(cd $i/unix; pwd)` +- break +- fi +- if test -f "$i/win/tclConfig.sh" ; then +- ac_cv_c_tclconfig=`(cd $i/win; pwd)` +- break +- fi +- done +- fi ++#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) ++int ++main () ++{ ++ int i; ++ for (i = 0; i < 256; i++) ++ if (XOR (islower (i), ISLOWER (i)) ++ || toupper (i) != TOUPPER (i)) ++ return 2; ++ return 0; ++} ++_ACEOF ++rm -f conftest$ac_exeext ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ++ { (case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_try") 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ : ++else ++ echo "$as_me: program exited with status $ac_status" >&5 ++echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + ++( exit $ac_status ) ++ac_cv_header_stdc=no ++fi ++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + fi + + +- if test x"${ac_cv_c_tclconfig}" = x ; then +- TCL_BIN_DIR="# no Tcl configs found" +- { { echo "$as_me:$LINENO: error: Can't find Tcl configuration definitions" >&5 +-echo "$as_me: error: Can't find Tcl configuration definitions" >&2;} +- { (exit 1); exit 1; }; } +- exit 0 +- else +- no_tcl= +- TCL_BIN_DIR=${ac_cv_c_tclconfig} +- echo "$as_me:$LINENO: result: found $TCL_BIN_DIR/tclConfig.sh" >&5 +-echo "${ECHO_T}found $TCL_BIN_DIR/tclConfig.sh" >&6 +- fi +- fi ++fi ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 ++echo "${ECHO_T}$ac_cv_header_stdc" >&6; } ++if test $ac_cv_header_stdc = yes; then + ++cat >>confdefs.h <<\_ACEOF ++#define STDC_HEADERS 1 ++_ACEOF + +- echo "$as_me:$LINENO: checking for existence of $TCL_BIN_DIR/tclConfig.sh" >&5 +-echo $ECHO_N "checking for existence of $TCL_BIN_DIR/tclConfig.sh... $ECHO_C" >&6 ++fi + +- if test -f "$TCL_BIN_DIR/tclConfig.sh" ; then +- echo "$as_me:$LINENO: result: loading" >&5 +-echo "${ECHO_T}loading" >&6 +- . $TCL_BIN_DIR/tclConfig.sh +- else +- echo "$as_me:$LINENO: result: file not found" >&5 +-echo "${ECHO_T}file not found" >&6 +- fi ++# On IRIX 5.3, sys/types and inttypes.h are conflicting. + +- # +- # The eval is required to do the TCL_DBGX substitution in the +- # TCL_LIB_FILE variable +- # + +- eval TCL_LIB_FILE=${TCL_LIB_FILE} +- eval TCL_LIB_FLAG=${TCL_LIB_FLAG} + + + +@@ -2761,979 +3889,5882 @@ + + + ++for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ ++ inttypes.h stdint.h unistd.h ++do ++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ++{ echo "$as_me:$LINENO: checking for $ac_header" >&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } ++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default + ++#include <$ac_header> ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ eval "$as_ac_Header=yes" ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + ++ eval "$as_ac_Header=no" ++fi + ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++ac_res=`eval echo '${'$as_ac_Header'}'` ++ { echo "$as_me:$LINENO: result: $ac_res" >&5 ++echo "${ECHO_T}$ac_res" >&6; } ++if test `eval echo '${'$as_ac_Header'}'` = yes; then ++ cat >>confdefs.h <<_ACEOF ++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 ++_ACEOF + ++fi + ++done + + + ++ # Any macros that use the compiler (e.g. AC_TRY_COMPILE) have to go here. + + ++ #------------------------------------------------------------------------ ++ # If we're using GCC, see if the compiler understands -pipe. If so, use it. ++ # It makes compiling go faster. (This is only a performance feature.) ++ #------------------------------------------------------------------------ + +-#-------------------------------------------------------------------- +-# __CHANGE__ +-# Choose which headers you need. Extension authors should try very +-# hard to only rely on the Tcl public header files. Internal headers +-# contain private data structures and are subject to change without +-# notice. +-# This must be done AFTER calling SC_PATH_TCLCONFIG/SC_LOAD_TCLCONFIG +-# so that we can extract TCL_SRC_DIR from the config file (in the case +-# of private headers +-#-------------------------------------------------------------------- +- +-#SC_PUBLIC_TCL_HEADERS +- +- echo "$as_me:$LINENO: checking for Tcl private include files" >&5 +-echo $ECHO_N "checking for Tcl private include files... $ECHO_C" >&6 +- +- case "${host}" in +- *mingw32* | *windows32*) +- TCL_TOP_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}`\" +- TCL_GENERIC_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/generic`\" +- TCL_UNIX_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/unix`\" +- TCL_WIN_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/win`\" +- TCL_BMAP_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/bitmaps`\" +- TCL_TOOL_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/tools`\" +- TCL_COMPAT_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/compat`\" +- TCL_PLATFORM_DIR_NATIVE=${TCL_WIN_DIR_NATIVE} +- ;; +- *) +- TCL_TOP_DIR_NATIVE='$(TCL_SRC_DIR)' +- TCL_GENERIC_DIR_NATIVE='$(TCL_TOP_DIR_NATIVE)/generic' +- TCL_UNIX_DIR_NATIVE='$(TCL_TOP_DIR_NATIVE)/unix' +- TCL_WIN_DIR_NATIVE='$(TCL_TOP_DIR_NATIVE)/win' +- TCL_BMAP_DIR_NATIVE='$(TCL_TOP_DIR_NATIVE)/bitmaps' +- TCL_TOOL_DIR_NATIVE='$(TCL_TOP_DIR_NATIVE)/tools' +- TCL_COMPAT_DIR_NATIVE='$(TCL_TOP_DIR_NATIVE)/compat' +- TCL_PLATFORM_DIR_NATIVE=${TCL_UNIX_DIR_NATIVE} +- ;; +- esac +- ++ if test -z "$no_pipe" -a -n "$GCC"; then ++ { echo "$as_me:$LINENO: checking if the compiler understands -pipe" >&5 ++echo $ECHO_N "checking if the compiler understands -pipe... $ECHO_C" >&6; } ++ OLDCC="$CC" ++ CC="$CC -pipe" ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + ++int ++main () ++{ + ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ { echo "$as_me:$LINENO: result: yes" >&5 ++echo "${ECHO_T}yes" >&6; } ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + ++ CC="$OLDCC" ++ { echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6; } ++fi + ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ fi + ++ #-------------------------------------------------------------------- ++ # Common compiler flag setup ++ #-------------------------------------------------------------------- ++ ++ { echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 ++echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; } ++if test "${ac_cv_c_bigendian+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ # See if sys/param.h defines the BYTE_ORDER macro. ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++#include + ++int ++main () ++{ ++#if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \ ++ && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN) ++ bogus endian macros ++#endif + ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ # It does; now see whether it defined to BIG_ENDIAN or not. ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++#include + +- TCL_INCLUDES="-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}" ++int ++main () ++{ ++#if BYTE_ORDER != BIG_ENDIAN ++ not big endian ++#endif + +- echo "$as_me:$LINENO: result: Using srcdir found in tclConfig.sh: ${TCL_SRC_DIR}" >&5 +-echo "${ECHO_T}Using srcdir found in tclConfig.sh: ${TCL_SRC_DIR}" >&6 ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_cv_c_bigendian=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + ++ ac_cv_c_bigendian=no ++fi + +-#-------------------------------------------------------------------- +-# __CHANGE__ +-# A few miscellaneous platform-specific items: +-# +-# Define a special symbol for Windows (BUILD_itcl in this case) so +-# that we create the export library with the dll. See sha1.h on how +-# to use this. +-# +-# Windows creates a few extra files that need to be cleaned up. +-# You can add more files to clean if your extension creates any extra +-# files. +-# +-# Define any extra compiler flags in the PACKAGE_CFLAGS variable. +-# These will be appended to the current set of compiler flags for +-# your system. +-#-------------------------------------------------------------------- ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + +-case "${host}" in +- *cygwin*| *mingw32* | *windows32*) +- cat >>confdefs.h <<\_ACEOF +-#define BUILD_itcl 1 ++ # It does not; compile a test program. ++if test "$cross_compiling" = yes; then ++ # try to guess the endianness by grepping values into an object file ++ ac_cv_c_bigendian=unknown ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ + _ACEOF +- +- CLEANFILES="*.lib *.dll *.exp *.ilk *.pdb vc50.pch" +- PLATFORM_SOURCES='$(WIN_SOURCES)' +- PLATFORM_OBJECTS='$(WIN_OBJECTS)' +- PLATFORM_DIR='$(WIN_DIR)' +- ;; +- *) +- CLEANFILES= +- PLATFORM_SOURCES='$(UNIX_SOURCES)' +- PLATFORM_OBJECTS='$(UNIX_OBJECTS)' +- PLATFORM_DIR='$(UNIX_DIR)' +- ;; ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; ++short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; ++void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } ++short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; ++short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; ++void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } ++int ++main () ++{ ++ _ascii (); _ebcdic (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; + esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then ++ ac_cv_c_bigendian=yes ++fi ++if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then ++ if test "$ac_cv_c_bigendian" = unknown; then ++ ac_cv_c_bigendian=no ++ else ++ # finding both strings is unlikely to happen, but who knows? ++ ac_cv_c_bigendian=unknown ++ fi ++fi ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + + ++fi + ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ + ++ /* Are we little or big endian? From Harbison&Steele. */ ++ union ++ { ++ long int l; ++ char c[sizeof (long int)]; ++ } u; ++ u.l = 1; ++ return u.c[sizeof (long int) - 1] == 1; + ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest$ac_exeext ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ++ { (case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_try") 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_c_bigendian=no ++else ++ echo "$as_me: program exited with status $ac_status" >&5 ++echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + +-#-------------------------------------------------------------------- +-# Check whether --enable-threads or --disable-threads was given. +-# So far only Tcl responds to this one. +-#-------------------------------------------------------------------- +- ++( exit $ac_status ) ++ac_cv_c_bigendian=yes ++fi ++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ++fi + + +- echo "$as_me:$LINENO: checking for building with threads" >&5 +-echo $ECHO_N "checking for building with threads... $ECHO_C" >&6 +- # Check whether --enable-threads or --disable-threads was given. +-if test "${enable_threads+set}" = set; then +- enableval="$enable_threads" +- tcl_ok=$enableval +-else +- tcl_ok=no +-fi; ++fi + +- if test "$tcl_ok" = "yes"; then +- TCL_THREADS=1 +- cat >>confdefs.h <<\_ACEOF +-#define TCL_THREADS 1 +-_ACEOF ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 ++echo "${ECHO_T}$ac_cv_c_bigendian" >&6; } ++case $ac_cv_c_bigendian in ++ yes) + +- cat >>confdefs.h <<\_ACEOF +-#define _REENTRANT 1 ++cat >>confdefs.h <<\_ACEOF ++#define WORDS_BIGENDIAN 1 + _ACEOF ++ ;; ++ no) ++ ;; ++ *) ++ { { echo "$as_me:$LINENO: error: unknown endianness ++presetting ac_cv_c_bigendian=no (or yes) will help" >&5 ++echo "$as_me: error: unknown endianness ++presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} ++ { (exit 1); exit 1; }; } ;; ++esac + ++ if test "${TEA_PLATFORM}" = "unix" ; then + +- case "${host}" in +- *mingw32* | *windows32*) +- echo "$as_me:$LINENO: result: yes" >&5 +-echo "${ECHO_T}yes" >&6 +- ;; +- *) +- echo "$as_me:$LINENO: checking for pthread_mutex_init in -lpthread" >&5 +-echo $ECHO_N "checking for pthread_mutex_init in -lpthread... $ECHO_C" >&6 +-if test "${ac_cv_lib_pthread_pthread_mutex_init+set}" = set; then ++ #-------------------------------------------------------------------- ++ # On a few very rare systems, all of the libm.a stuff is ++ # already in libc.a. Set compiler flags accordingly. ++ # Also, Linux requires the "ieee" library for math to work ++ # right (and it must appear before "-lm"). ++ #-------------------------------------------------------------------- ++ ++ { echo "$as_me:$LINENO: checking for sin" >&5 ++echo $ECHO_N "checking for sin... $ECHO_C" >&6; } ++if test "${ac_cv_func_sin+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- ac_check_lib_save_LIBS=$LIBS +-LIBS="-lpthread $LIBS" +-cat >conftest.$ac_ext <<_ACEOF ++ cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ ++/* Define sin to an innocuous variant, in case declares sin. ++ For example, HP-UX 11i declares gettimeofday. */ ++#define sin innocuous_sin ++ ++/* System header to define __stub macros and hopefully few prototypes, ++ which can conflict with char sin (); below. ++ Prefer to if __STDC__ is defined, since ++ exists even on freestanding compilers. */ ++ ++#ifdef __STDC__ ++# include ++#else ++# include ++#endif ++ ++#undef sin + +-/* Override any gcc2 internal prototype to avoid an error. */ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ + #ifdef __cplusplus + extern "C" + #endif +-/* We use char because int might match the return type of a gcc2 +- builtin and then its argument prototype would still apply. */ +-char pthread_mutex_init (); ++char sin (); ++/* The GNU C library defines this for functions which it implements ++ to always fail with ENOSYS. Some functions are actually named ++ something starting with __ and the normal name is an alias. */ ++#if defined __stub_sin || defined __stub___sin ++choke me ++#endif ++ + int + main () + { +-pthread_mutex_init (); ++return sin (); + ; + return 0; + } + _ACEOF + rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>conftest.er1 ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_lib_pthread_pthread_mutex_init=yes ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && ++ $as_test_x conftest$ac_exeext; then ++ ac_cv_func_sin=yes + else + echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + +-ac_cv_lib_pthread_pthread_mutex_init=no ++ ac_cv_func_sin=no + fi +-rm -f conftest.err conftest.$ac_objext \ ++ ++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +-LIBS=$ac_check_lib_save_LIBS + fi +-echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_mutex_init" >&5 +-echo "${ECHO_T}$ac_cv_lib_pthread_pthread_mutex_init" >&6 +-if test $ac_cv_lib_pthread_pthread_mutex_init = yes; then +- tcl_ok=yes ++{ echo "$as_me:$LINENO: result: $ac_cv_func_sin" >&5 ++echo "${ECHO_T}$ac_cv_func_sin" >&6; } ++if test $ac_cv_func_sin = yes; then ++ MATH_LIBS="" + else +- tcl_ok=no ++ MATH_LIBS="-lm" + fi + +- if test "$tcl_ok" = "yes"; then +- # The space is needed +- THREADS_LIBS=" -lpthread" +- echo "$as_me:$LINENO: result: yes" >&5 +-echo "${ECHO_T}yes" >&6 +- else +- TCL_THREADS=0 +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +- { echo "$as_me:$LINENO: WARNING: \"Don t know how to find pthread lib on your system - you must disable thread support or edit the LIBS in the Makefile...\"" >&5 +-echo "$as_me: WARNING: \"Don t know how to find pthread lib on your system - you must disable thread support or edit the LIBS in the Makefile...\"" >&2;} +- fi +- ;; +- esac +- else +- TCL_THREADS=0 +- echo "$as_me:$LINENO: result: no (default)" >&5 +-echo "${ECHO_T}no (default)" >&6 +- fi +- +- +- +-#-------------------------------------------------------------------- +-# The statement below defines a collection of symbols related to +-# building as a shared library instead of a static library. +-#-------------------------------------------------------------------- +- +- +- echo "$as_me:$LINENO: checking how to build libraries" >&5 +-echo $ECHO_N "checking how to build libraries... $ECHO_C" >&6 +- # Check whether --enable-shared or --disable-shared was given. +-if test "${enable_shared+set}" = set; then +- enableval="$enable_shared" +- tcl_ok=$enableval ++ { echo "$as_me:$LINENO: checking for main in -lieee" >&5 ++echo $ECHO_N "checking for main in -lieee... $ECHO_C" >&6; } ++if test "${ac_cv_lib_ieee_main+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- tcl_ok=no +-fi; +- +-# CYGNUS LOCAL +- case "${host}" in +- *mingw32* | *windows32*) +- # Default to shared build for Windows +- if test "${enable_shared+set}" != set; then +- tcl_ok=yes +- fi +- ;; +- esac +-# END CYGNUS LOCAL +- +- if test "$tcl_ok" = "yes" ; then +- echo "$as_me:$LINENO: result: shared" >&5 +-echo "${ECHO_T}shared" >&6 +- SHARED_BUILD=1 +- else +- echo "$as_me:$LINENO: result: static" >&5 +-echo "${ECHO_T}static" >&6 +- SHARED_BUILD=0 +- cat >>confdefs.h <<\_ACEOF +-#define STATIC_BUILD 1 ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lieee $LIBS" ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ + _ACEOF +- +- fi ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + + +-#-------------------------------------------------------------------- +-# This macro figures out what flags to use with the compiler/linker +-# when building shared/static debug/optimized objects. This information +-# is all taken from the tclConfig.sh file. +-#-------------------------------------------------------------------- ++int ++main () ++{ ++return main (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && ++ $as_test_x conftest$ac_exeext; then ++ ac_cv_lib_ieee_main=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + +-CFLAGS_DEBUG=${TCL_CFLAGS_DEBUG} +-CFLAGS_OPTIMIZE=${TCL_CFLAGS_OPTIMIZE} +-LDFLAGS_DEBUG=${TCL_LDFLAGS_DEBUG} +-LDFLAGS_OPTIMIZE=${TCL_LDFLAGS_OPTIMIZE} +-SHLIB_LD=${TCL_SHLIB_LD} +-STLIB_LD=${TCL_STLIB_LD} +-SHLIB_CFLAGS=${TCL_SHLIB_CFLAGS} ++ ac_cv_lib_ieee_main=no ++fi + ++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_lib_ieee_main" >&5 ++echo "${ECHO_T}$ac_cv_lib_ieee_main" >&6; } ++if test $ac_cv_lib_ieee_main = yes; then ++ MATH_LIBS="-lieee $MATH_LIBS" ++fi + + ++ #-------------------------------------------------------------------- ++ # Interactive UNIX requires -linet instead of -lsocket, plus it ++ # needs net/errno.h to define the socket-related error codes. ++ #-------------------------------------------------------------------- + ++ { echo "$as_me:$LINENO: checking for main in -linet" >&5 ++echo $ECHO_N "checking for main in -linet... $ECHO_C" >&6; } ++if test "${ac_cv_lib_inet_main+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-linet $LIBS" ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + + ++int ++main () ++{ ++return main (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && ++ $as_test_x conftest$ac_exeext; then ++ ac_cv_lib_inet_main=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_cv_lib_inet_main=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_lib_inet_main" >&5 ++echo "${ECHO_T}$ac_cv_lib_inet_main" >&6; } ++if test $ac_cv_lib_inet_main = yes; then ++ LIBS="$LIBS -linet" ++fi ++ ++ if test "${ac_cv_header_net_errno_h+set}" = set; then ++ { echo "$as_me:$LINENO: checking for net/errno.h" >&5 ++echo $ECHO_N "checking for net/errno.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_net_errno_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_net_errno_h" >&5 ++echo "${ECHO_T}$ac_cv_header_net_errno_h" >&6; } ++else ++ # Is the header compilable? ++{ echo "$as_me:$LINENO: checking net/errno.h usability" >&5 ++echo $ECHO_N "checking net/errno.h usability... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++#include ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_header_compiler=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_compiler=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ++echo "${ECHO_T}$ac_header_compiler" >&6; } ++ ++# Is the header present? ++{ echo "$as_me:$LINENO: checking net/errno.h presence" >&5 ++echo $ECHO_N "checking net/errno.h presence... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++_ACEOF ++if { (ac_try="$ac_cpp conftest.$ac_ext" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then ++ ac_header_preproc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_preproc=no ++fi ++ ++rm -f conftest.err conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ++echo "${ECHO_T}$ac_header_preproc" >&6; } ++ ++# So? What about this header? ++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in ++ yes:no: ) ++ { echo "$as_me:$LINENO: WARNING: net/errno.h: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: net/errno.h: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: net/errno.h: proceeding with the compiler's result" >&5 ++echo "$as_me: WARNING: net/errno.h: proceeding with the compiler's result" >&2;} ++ ac_header_preproc=yes ++ ;; ++ no:yes:* ) ++ { echo "$as_me:$LINENO: WARNING: net/errno.h: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: net/errno.h: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: net/errno.h: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: net/errno.h: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: net/errno.h: see the Autoconf documentation" >&5 ++echo "$as_me: WARNING: net/errno.h: see the Autoconf documentation" >&2;} ++ { echo "$as_me:$LINENO: WARNING: net/errno.h: section \"Present But Cannot Be Compiled\"" >&5 ++echo "$as_me: WARNING: net/errno.h: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: net/errno.h: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: net/errno.h: proceeding with the preprocessor's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: net/errno.h: in the future, the compiler will take precedence" >&5 ++echo "$as_me: WARNING: net/errno.h: in the future, the compiler will take precedence" >&2;} ++ ++ ;; ++esac ++{ echo "$as_me:$LINENO: checking for net/errno.h" >&5 ++echo $ECHO_N "checking for net/errno.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_net_errno_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_header_net_errno_h=$ac_header_preproc ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_net_errno_h" >&5 ++echo "${ECHO_T}$ac_cv_header_net_errno_h" >&6; } ++ ++fi ++if test $ac_cv_header_net_errno_h = yes; then ++ cat >>confdefs.h <<\_ACEOF ++#define HAVE_NET_ERRNO_H 1 ++_ACEOF ++ ++fi ++ ++ ++ ++ #-------------------------------------------------------------------- ++ # Check for the existence of the -lsocket and -lnsl libraries. ++ # The order here is important, so that they end up in the right ++ # order in the command line generated by make. Here are some ++ # special considerations: ++ # 1. Use "connect" and "accept" to check for -lsocket, and ++ # "gethostbyname" to check for -lnsl. ++ # 2. Use each function name only once: can't redo a check because ++ # autoconf caches the results of the last check and won't redo it. ++ # 3. Use -lnsl and -lsocket only if they supply procedures that ++ # aren't already present in the normal libraries. This is because ++ # IRIX 5.2 has libraries, but they aren't needed and they're ++ # bogus: they goof up name resolution if used. ++ # 4. On some SVR4 systems, can't use -lsocket without -lnsl too. ++ # To get around this problem, check for both libraries together ++ # if -lsocket doesn't work by itself. ++ #-------------------------------------------------------------------- ++ ++ tcl_checkBoth=0 ++ { echo "$as_me:$LINENO: checking for connect" >&5 ++echo $ECHO_N "checking for connect... $ECHO_C" >&6; } ++if test "${ac_cv_func_connect+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++/* Define connect to an innocuous variant, in case declares connect. ++ For example, HP-UX 11i declares gettimeofday. */ ++#define connect innocuous_connect ++ ++/* System header to define __stub macros and hopefully few prototypes, ++ which can conflict with char connect (); below. ++ Prefer to if __STDC__ is defined, since ++ exists even on freestanding compilers. */ ++ ++#ifdef __STDC__ ++# include ++#else ++# include ++#endif ++ ++#undef connect ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char connect (); ++/* The GNU C library defines this for functions which it implements ++ to always fail with ENOSYS. Some functions are actually named ++ something starting with __ and the normal name is an alias. */ ++#if defined __stub_connect || defined __stub___connect ++choke me ++#endif ++ ++int ++main () ++{ ++return connect (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && ++ $as_test_x conftest$ac_exeext; then ++ ac_cv_func_connect=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_cv_func_connect=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ ++ conftest$ac_exeext conftest.$ac_ext ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5 ++echo "${ECHO_T}$ac_cv_func_connect" >&6; } ++if test $ac_cv_func_connect = yes; then ++ tcl_checkSocket=0 ++else ++ tcl_checkSocket=1 ++fi ++ ++ if test "$tcl_checkSocket" = 1; then ++ { echo "$as_me:$LINENO: checking for setsockopt" >&5 ++echo $ECHO_N "checking for setsockopt... $ECHO_C" >&6; } ++if test "${ac_cv_func_setsockopt+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++/* Define setsockopt to an innocuous variant, in case declares setsockopt. ++ For example, HP-UX 11i declares gettimeofday. */ ++#define setsockopt innocuous_setsockopt ++ ++/* System header to define __stub macros and hopefully few prototypes, ++ which can conflict with char setsockopt (); below. ++ Prefer to if __STDC__ is defined, since ++ exists even on freestanding compilers. */ ++ ++#ifdef __STDC__ ++# include ++#else ++# include ++#endif ++ ++#undef setsockopt ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char setsockopt (); ++/* The GNU C library defines this for functions which it implements ++ to always fail with ENOSYS. Some functions are actually named ++ something starting with __ and the normal name is an alias. */ ++#if defined __stub_setsockopt || defined __stub___setsockopt ++choke me ++#endif ++ ++int ++main () ++{ ++return setsockopt (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && ++ $as_test_x conftest$ac_exeext; then ++ ac_cv_func_setsockopt=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_cv_func_setsockopt=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ ++ conftest$ac_exeext conftest.$ac_ext ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_func_setsockopt" >&5 ++echo "${ECHO_T}$ac_cv_func_setsockopt" >&6; } ++if test $ac_cv_func_setsockopt = yes; then ++ : ++else ++ { echo "$as_me:$LINENO: checking for setsockopt in -lsocket" >&5 ++echo $ECHO_N "checking for setsockopt in -lsocket... $ECHO_C" >&6; } ++if test "${ac_cv_lib_socket_setsockopt+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lsocket $LIBS" ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char setsockopt (); ++int ++main () ++{ ++return setsockopt (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && ++ $as_test_x conftest$ac_exeext; then ++ ac_cv_lib_socket_setsockopt=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_cv_lib_socket_setsockopt=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_lib_socket_setsockopt" >&5 ++echo "${ECHO_T}$ac_cv_lib_socket_setsockopt" >&6; } ++if test $ac_cv_lib_socket_setsockopt = yes; then ++ LIBS="$LIBS -lsocket" ++else ++ tcl_checkBoth=1 ++fi ++ ++fi ++ ++ fi ++ if test "$tcl_checkBoth" = 1; then ++ tk_oldLibs=$LIBS ++ LIBS="$LIBS -lsocket -lnsl" ++ { echo "$as_me:$LINENO: checking for accept" >&5 ++echo $ECHO_N "checking for accept... $ECHO_C" >&6; } ++if test "${ac_cv_func_accept+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++/* Define accept to an innocuous variant, in case declares accept. ++ For example, HP-UX 11i declares gettimeofday. */ ++#define accept innocuous_accept ++ ++/* System header to define __stub macros and hopefully few prototypes, ++ which can conflict with char accept (); below. ++ Prefer to if __STDC__ is defined, since ++ exists even on freestanding compilers. */ ++ ++#ifdef __STDC__ ++# include ++#else ++# include ++#endif ++ ++#undef accept ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char accept (); ++/* The GNU C library defines this for functions which it implements ++ to always fail with ENOSYS. Some functions are actually named ++ something starting with __ and the normal name is an alias. */ ++#if defined __stub_accept || defined __stub___accept ++choke me ++#endif ++ ++int ++main () ++{ ++return accept (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && ++ $as_test_x conftest$ac_exeext; then ++ ac_cv_func_accept=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_cv_func_accept=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ ++ conftest$ac_exeext conftest.$ac_ext ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_func_accept" >&5 ++echo "${ECHO_T}$ac_cv_func_accept" >&6; } ++if test $ac_cv_func_accept = yes; then ++ tcl_checkNsl=0 ++else ++ LIBS=$tk_oldLibs ++fi ++ ++ fi ++ { echo "$as_me:$LINENO: checking for gethostbyname" >&5 ++echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6; } ++if test "${ac_cv_func_gethostbyname+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++/* Define gethostbyname to an innocuous variant, in case declares gethostbyname. ++ For example, HP-UX 11i declares gettimeofday. */ ++#define gethostbyname innocuous_gethostbyname ++ ++/* System header to define __stub macros and hopefully few prototypes, ++ which can conflict with char gethostbyname (); below. ++ Prefer to if __STDC__ is defined, since ++ exists even on freestanding compilers. */ ++ ++#ifdef __STDC__ ++# include ++#else ++# include ++#endif ++ ++#undef gethostbyname ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char gethostbyname (); ++/* The GNU C library defines this for functions which it implements ++ to always fail with ENOSYS. Some functions are actually named ++ something starting with __ and the normal name is an alias. */ ++#if defined __stub_gethostbyname || defined __stub___gethostbyname ++choke me ++#endif ++ ++int ++main () ++{ ++return gethostbyname (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && ++ $as_test_x conftest$ac_exeext; then ++ ac_cv_func_gethostbyname=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_cv_func_gethostbyname=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ ++ conftest$ac_exeext conftest.$ac_ext ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5 ++echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6; } ++if test $ac_cv_func_gethostbyname = yes; then ++ : ++else ++ { echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5 ++echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6; } ++if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lnsl $LIBS" ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char gethostbyname (); ++int ++main () ++{ ++return gethostbyname (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && ++ $as_test_x conftest$ac_exeext; then ++ ac_cv_lib_nsl_gethostbyname=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_cv_lib_nsl_gethostbyname=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5 ++echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6; } ++if test $ac_cv_lib_nsl_gethostbyname = yes; then ++ LIBS="$LIBS -lnsl" ++fi ++ ++fi ++ ++ ++ # Don't perform the eval of the libraries here because DL_LIBS ++ # won't be set until we call TEA_CONFIG_CFLAGS ++ ++ TCL_LIBS='${DL_LIBS} ${LIBS} ${MATH_LIBS}' ++ ++ ++ ++ ++ { echo "$as_me:$LINENO: checking dirent.h" >&5 ++echo $ECHO_N "checking dirent.h... $ECHO_C" >&6; } ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++#include ++int ++main () ++{ ++ ++#ifndef _POSIX_SOURCE ++# ifdef __Lynx__ ++ /* ++ * Generate compilation error to make the test fail: Lynx headers ++ * are only valid if really in the POSIX environment. ++ */ ++ ++ missing_procedure(); ++# endif ++#endif ++DIR *d; ++struct dirent *entryPtr; ++char *p; ++d = opendir("foobar"); ++entryPtr = readdir(d); ++p = entryPtr->d_name; ++closedir(d); ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && ++ $as_test_x conftest$ac_exeext; then ++ tcl_ok=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ tcl_ok=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ ++ conftest$ac_exeext conftest.$ac_ext ++ ++ if test $tcl_ok = no; then ++ cat >>confdefs.h <<\_ACEOF ++#define NO_DIRENT_H 1 ++_ACEOF ++ ++ fi ++ ++ { echo "$as_me:$LINENO: result: $tcl_ok" >&5 ++echo "${ECHO_T}$tcl_ok" >&6; } ++ if test "${ac_cv_header_errno_h+set}" = set; then ++ { echo "$as_me:$LINENO: checking for errno.h" >&5 ++echo $ECHO_N "checking for errno.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_errno_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_errno_h" >&5 ++echo "${ECHO_T}$ac_cv_header_errno_h" >&6; } ++else ++ # Is the header compilable? ++{ echo "$as_me:$LINENO: checking errno.h usability" >&5 ++echo $ECHO_N "checking errno.h usability... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++#include ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_header_compiler=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_compiler=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ++echo "${ECHO_T}$ac_header_compiler" >&6; } ++ ++# Is the header present? ++{ echo "$as_me:$LINENO: checking errno.h presence" >&5 ++echo $ECHO_N "checking errno.h presence... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++_ACEOF ++if { (ac_try="$ac_cpp conftest.$ac_ext" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then ++ ac_header_preproc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_preproc=no ++fi ++ ++rm -f conftest.err conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ++echo "${ECHO_T}$ac_header_preproc" >&6; } ++ ++# So? What about this header? ++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in ++ yes:no: ) ++ { echo "$as_me:$LINENO: WARNING: errno.h: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: errno.h: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: errno.h: proceeding with the compiler's result" >&5 ++echo "$as_me: WARNING: errno.h: proceeding with the compiler's result" >&2;} ++ ac_header_preproc=yes ++ ;; ++ no:yes:* ) ++ { echo "$as_me:$LINENO: WARNING: errno.h: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: errno.h: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: errno.h: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: errno.h: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: errno.h: see the Autoconf documentation" >&5 ++echo "$as_me: WARNING: errno.h: see the Autoconf documentation" >&2;} ++ { echo "$as_me:$LINENO: WARNING: errno.h: section \"Present But Cannot Be Compiled\"" >&5 ++echo "$as_me: WARNING: errno.h: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: errno.h: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: errno.h: proceeding with the preprocessor's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: errno.h: in the future, the compiler will take precedence" >&5 ++echo "$as_me: WARNING: errno.h: in the future, the compiler will take precedence" >&2;} ++ ++ ;; ++esac ++{ echo "$as_me:$LINENO: checking for errno.h" >&5 ++echo $ECHO_N "checking for errno.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_errno_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_header_errno_h=$ac_header_preproc ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_errno_h" >&5 ++echo "${ECHO_T}$ac_cv_header_errno_h" >&6; } ++ ++fi ++if test $ac_cv_header_errno_h = yes; then ++ : ++else ++ cat >>confdefs.h <<\_ACEOF ++#define NO_ERRNO_H 1 ++_ACEOF ++ ++fi ++ ++ ++ if test "${ac_cv_header_float_h+set}" = set; then ++ { echo "$as_me:$LINENO: checking for float.h" >&5 ++echo $ECHO_N "checking for float.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_float_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_float_h" >&5 ++echo "${ECHO_T}$ac_cv_header_float_h" >&6; } ++else ++ # Is the header compilable? ++{ echo "$as_me:$LINENO: checking float.h usability" >&5 ++echo $ECHO_N "checking float.h usability... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++#include ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_header_compiler=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_compiler=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ++echo "${ECHO_T}$ac_header_compiler" >&6; } ++ ++# Is the header present? ++{ echo "$as_me:$LINENO: checking float.h presence" >&5 ++echo $ECHO_N "checking float.h presence... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++_ACEOF ++if { (ac_try="$ac_cpp conftest.$ac_ext" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then ++ ac_header_preproc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_preproc=no ++fi ++ ++rm -f conftest.err conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ++echo "${ECHO_T}$ac_header_preproc" >&6; } ++ ++# So? What about this header? ++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in ++ yes:no: ) ++ { echo "$as_me:$LINENO: WARNING: float.h: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: float.h: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: float.h: proceeding with the compiler's result" >&5 ++echo "$as_me: WARNING: float.h: proceeding with the compiler's result" >&2;} ++ ac_header_preproc=yes ++ ;; ++ no:yes:* ) ++ { echo "$as_me:$LINENO: WARNING: float.h: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: float.h: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: float.h: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: float.h: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: float.h: see the Autoconf documentation" >&5 ++echo "$as_me: WARNING: float.h: see the Autoconf documentation" >&2;} ++ { echo "$as_me:$LINENO: WARNING: float.h: section \"Present But Cannot Be Compiled\"" >&5 ++echo "$as_me: WARNING: float.h: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: float.h: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: float.h: proceeding with the preprocessor's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: float.h: in the future, the compiler will take precedence" >&5 ++echo "$as_me: WARNING: float.h: in the future, the compiler will take precedence" >&2;} ++ ++ ;; ++esac ++{ echo "$as_me:$LINENO: checking for float.h" >&5 ++echo $ECHO_N "checking for float.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_float_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_header_float_h=$ac_header_preproc ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_float_h" >&5 ++echo "${ECHO_T}$ac_cv_header_float_h" >&6; } ++ ++fi ++if test $ac_cv_header_float_h = yes; then ++ : ++else ++ cat >>confdefs.h <<\_ACEOF ++#define NO_FLOAT_H 1 ++_ACEOF ++ ++fi ++ ++ ++ if test "${ac_cv_header_values_h+set}" = set; then ++ { echo "$as_me:$LINENO: checking for values.h" >&5 ++echo $ECHO_N "checking for values.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_values_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_values_h" >&5 ++echo "${ECHO_T}$ac_cv_header_values_h" >&6; } ++else ++ # Is the header compilable? ++{ echo "$as_me:$LINENO: checking values.h usability" >&5 ++echo $ECHO_N "checking values.h usability... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++#include ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_header_compiler=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_compiler=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ++echo "${ECHO_T}$ac_header_compiler" >&6; } ++ ++# Is the header present? ++{ echo "$as_me:$LINENO: checking values.h presence" >&5 ++echo $ECHO_N "checking values.h presence... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++_ACEOF ++if { (ac_try="$ac_cpp conftest.$ac_ext" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then ++ ac_header_preproc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_preproc=no ++fi ++ ++rm -f conftest.err conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ++echo "${ECHO_T}$ac_header_preproc" >&6; } ++ ++# So? What about this header? ++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in ++ yes:no: ) ++ { echo "$as_me:$LINENO: WARNING: values.h: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: values.h: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: values.h: proceeding with the compiler's result" >&5 ++echo "$as_me: WARNING: values.h: proceeding with the compiler's result" >&2;} ++ ac_header_preproc=yes ++ ;; ++ no:yes:* ) ++ { echo "$as_me:$LINENO: WARNING: values.h: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: values.h: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: values.h: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: values.h: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: values.h: see the Autoconf documentation" >&5 ++echo "$as_me: WARNING: values.h: see the Autoconf documentation" >&2;} ++ { echo "$as_me:$LINENO: WARNING: values.h: section \"Present But Cannot Be Compiled\"" >&5 ++echo "$as_me: WARNING: values.h: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: values.h: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: values.h: proceeding with the preprocessor's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: values.h: in the future, the compiler will take precedence" >&5 ++echo "$as_me: WARNING: values.h: in the future, the compiler will take precedence" >&2;} ++ ++ ;; ++esac ++{ echo "$as_me:$LINENO: checking for values.h" >&5 ++echo $ECHO_N "checking for values.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_values_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_header_values_h=$ac_header_preproc ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_values_h" >&5 ++echo "${ECHO_T}$ac_cv_header_values_h" >&6; } ++ ++fi ++if test $ac_cv_header_values_h = yes; then ++ : ++else ++ cat >>confdefs.h <<\_ACEOF ++#define NO_VALUES_H 1 ++_ACEOF ++ ++fi ++ ++ ++ if test "${ac_cv_header_limits_h+set}" = set; then ++ { echo "$as_me:$LINENO: checking for limits.h" >&5 ++echo $ECHO_N "checking for limits.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_limits_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_limits_h" >&5 ++echo "${ECHO_T}$ac_cv_header_limits_h" >&6; } ++else ++ # Is the header compilable? ++{ echo "$as_me:$LINENO: checking limits.h usability" >&5 ++echo $ECHO_N "checking limits.h usability... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++#include ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_header_compiler=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_compiler=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ++echo "${ECHO_T}$ac_header_compiler" >&6; } ++ ++# Is the header present? ++{ echo "$as_me:$LINENO: checking limits.h presence" >&5 ++echo $ECHO_N "checking limits.h presence... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++_ACEOF ++if { (ac_try="$ac_cpp conftest.$ac_ext" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then ++ ac_header_preproc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_preproc=no ++fi ++ ++rm -f conftest.err conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ++echo "${ECHO_T}$ac_header_preproc" >&6; } ++ ++# So? What about this header? ++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in ++ yes:no: ) ++ { echo "$as_me:$LINENO: WARNING: limits.h: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: limits.h: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: limits.h: proceeding with the compiler's result" >&5 ++echo "$as_me: WARNING: limits.h: proceeding with the compiler's result" >&2;} ++ ac_header_preproc=yes ++ ;; ++ no:yes:* ) ++ { echo "$as_me:$LINENO: WARNING: limits.h: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: limits.h: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: limits.h: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: limits.h: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: limits.h: see the Autoconf documentation" >&5 ++echo "$as_me: WARNING: limits.h: see the Autoconf documentation" >&2;} ++ { echo "$as_me:$LINENO: WARNING: limits.h: section \"Present But Cannot Be Compiled\"" >&5 ++echo "$as_me: WARNING: limits.h: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: limits.h: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: limits.h: proceeding with the preprocessor's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: limits.h: in the future, the compiler will take precedence" >&5 ++echo "$as_me: WARNING: limits.h: in the future, the compiler will take precedence" >&2;} ++ ++ ;; ++esac ++{ echo "$as_me:$LINENO: checking for limits.h" >&5 ++echo $ECHO_N "checking for limits.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_limits_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_header_limits_h=$ac_header_preproc ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_limits_h" >&5 ++echo "${ECHO_T}$ac_cv_header_limits_h" >&6; } ++ ++fi ++if test $ac_cv_header_limits_h = yes; then ++ cat >>confdefs.h <<\_ACEOF ++#define HAVE_LIMITS_H 1 ++_ACEOF ++ ++else ++ cat >>confdefs.h <<\_ACEOF ++#define NO_LIMITS_H 1 ++_ACEOF ++ ++fi ++ ++ ++ if test "${ac_cv_header_stdlib_h+set}" = set; then ++ { echo "$as_me:$LINENO: checking for stdlib.h" >&5 ++echo $ECHO_N "checking for stdlib.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_stdlib_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_stdlib_h" >&5 ++echo "${ECHO_T}$ac_cv_header_stdlib_h" >&6; } ++else ++ # Is the header compilable? ++{ echo "$as_me:$LINENO: checking stdlib.h usability" >&5 ++echo $ECHO_N "checking stdlib.h usability... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++#include ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_header_compiler=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_compiler=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ++echo "${ECHO_T}$ac_header_compiler" >&6; } ++ ++# Is the header present? ++{ echo "$as_me:$LINENO: checking stdlib.h presence" >&5 ++echo $ECHO_N "checking stdlib.h presence... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++_ACEOF ++if { (ac_try="$ac_cpp conftest.$ac_ext" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then ++ ac_header_preproc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_preproc=no ++fi ++ ++rm -f conftest.err conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ++echo "${ECHO_T}$ac_header_preproc" >&6; } ++ ++# So? What about this header? ++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in ++ yes:no: ) ++ { echo "$as_me:$LINENO: WARNING: stdlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: stdlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: stdlib.h: proceeding with the compiler's result" >&5 ++echo "$as_me: WARNING: stdlib.h: proceeding with the compiler's result" >&2;} ++ ac_header_preproc=yes ++ ;; ++ no:yes:* ) ++ { echo "$as_me:$LINENO: WARNING: stdlib.h: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: stdlib.h: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: stdlib.h: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: stdlib.h: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: stdlib.h: see the Autoconf documentation" >&5 ++echo "$as_me: WARNING: stdlib.h: see the Autoconf documentation" >&2;} ++ { echo "$as_me:$LINENO: WARNING: stdlib.h: section \"Present But Cannot Be Compiled\"" >&5 ++echo "$as_me: WARNING: stdlib.h: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: stdlib.h: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: stdlib.h: proceeding with the preprocessor's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: stdlib.h: in the future, the compiler will take precedence" >&5 ++echo "$as_me: WARNING: stdlib.h: in the future, the compiler will take precedence" >&2;} ++ ++ ;; ++esac ++{ echo "$as_me:$LINENO: checking for stdlib.h" >&5 ++echo $ECHO_N "checking for stdlib.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_stdlib_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_header_stdlib_h=$ac_header_preproc ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_stdlib_h" >&5 ++echo "${ECHO_T}$ac_cv_header_stdlib_h" >&6; } ++ ++fi ++if test $ac_cv_header_stdlib_h = yes; then ++ tcl_ok=1 ++else ++ tcl_ok=0 ++fi ++ ++ ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++ ++_ACEOF ++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ++ $EGREP "strtol" >/dev/null 2>&1; then ++ : ++else ++ tcl_ok=0 ++fi ++rm -f conftest* ++ ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++ ++_ACEOF ++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ++ $EGREP "strtoul" >/dev/null 2>&1; then ++ : ++else ++ tcl_ok=0 ++fi ++rm -f conftest* ++ ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++ ++_ACEOF ++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ++ $EGREP "strtod" >/dev/null 2>&1; then ++ : ++else ++ tcl_ok=0 ++fi ++rm -f conftest* ++ ++ if test $tcl_ok = 0; then ++ cat >>confdefs.h <<\_ACEOF ++#define NO_STDLIB_H 1 ++_ACEOF ++ ++ fi ++ if test "${ac_cv_header_string_h+set}" = set; then ++ { echo "$as_me:$LINENO: checking for string.h" >&5 ++echo $ECHO_N "checking for string.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_string_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_string_h" >&5 ++echo "${ECHO_T}$ac_cv_header_string_h" >&6; } ++else ++ # Is the header compilable? ++{ echo "$as_me:$LINENO: checking string.h usability" >&5 ++echo $ECHO_N "checking string.h usability... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++#include ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_header_compiler=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_compiler=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ++echo "${ECHO_T}$ac_header_compiler" >&6; } ++ ++# Is the header present? ++{ echo "$as_me:$LINENO: checking string.h presence" >&5 ++echo $ECHO_N "checking string.h presence... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++_ACEOF ++if { (ac_try="$ac_cpp conftest.$ac_ext" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then ++ ac_header_preproc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_preproc=no ++fi ++ ++rm -f conftest.err conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ++echo "${ECHO_T}$ac_header_preproc" >&6; } ++ ++# So? What about this header? ++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in ++ yes:no: ) ++ { echo "$as_me:$LINENO: WARNING: string.h: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: string.h: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: string.h: proceeding with the compiler's result" >&5 ++echo "$as_me: WARNING: string.h: proceeding with the compiler's result" >&2;} ++ ac_header_preproc=yes ++ ;; ++ no:yes:* ) ++ { echo "$as_me:$LINENO: WARNING: string.h: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: string.h: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: string.h: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: string.h: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: string.h: see the Autoconf documentation" >&5 ++echo "$as_me: WARNING: string.h: see the Autoconf documentation" >&2;} ++ { echo "$as_me:$LINENO: WARNING: string.h: section \"Present But Cannot Be Compiled\"" >&5 ++echo "$as_me: WARNING: string.h: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: string.h: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: string.h: proceeding with the preprocessor's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: string.h: in the future, the compiler will take precedence" >&5 ++echo "$as_me: WARNING: string.h: in the future, the compiler will take precedence" >&2;} ++ ++ ;; ++esac ++{ echo "$as_me:$LINENO: checking for string.h" >&5 ++echo $ECHO_N "checking for string.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_string_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_header_string_h=$ac_header_preproc ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_string_h" >&5 ++echo "${ECHO_T}$ac_cv_header_string_h" >&6; } ++ ++fi ++if test $ac_cv_header_string_h = yes; then ++ tcl_ok=1 ++else ++ tcl_ok=0 ++fi ++ ++ ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++ ++_ACEOF ++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ++ $EGREP "strstr" >/dev/null 2>&1; then ++ : ++else ++ tcl_ok=0 ++fi ++rm -f conftest* ++ ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++ ++_ACEOF ++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ++ $EGREP "strerror" >/dev/null 2>&1; then ++ : ++else ++ tcl_ok=0 ++fi ++rm -f conftest* ++ ++ ++ # See also memmove check below for a place where NO_STRING_H can be ++ # set and why. ++ ++ if test $tcl_ok = 0; then ++ cat >>confdefs.h <<\_ACEOF ++#define NO_STRING_H 1 ++_ACEOF ++ ++ fi ++ ++ if test "${ac_cv_header_sys_wait_h+set}" = set; then ++ { echo "$as_me:$LINENO: checking for sys/wait.h" >&5 ++echo $ECHO_N "checking for sys/wait.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_sys_wait_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5 ++echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6; } ++else ++ # Is the header compilable? ++{ echo "$as_me:$LINENO: checking sys/wait.h usability" >&5 ++echo $ECHO_N "checking sys/wait.h usability... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++#include ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_header_compiler=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_compiler=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ++echo "${ECHO_T}$ac_header_compiler" >&6; } ++ ++# Is the header present? ++{ echo "$as_me:$LINENO: checking sys/wait.h presence" >&5 ++echo $ECHO_N "checking sys/wait.h presence... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++_ACEOF ++if { (ac_try="$ac_cpp conftest.$ac_ext" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then ++ ac_header_preproc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_preproc=no ++fi ++ ++rm -f conftest.err conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ++echo "${ECHO_T}$ac_header_preproc" >&6; } ++ ++# So? What about this header? ++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in ++ yes:no: ) ++ { echo "$as_me:$LINENO: WARNING: sys/wait.h: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: sys/wait.h: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: sys/wait.h: proceeding with the compiler's result" >&5 ++echo "$as_me: WARNING: sys/wait.h: proceeding with the compiler's result" >&2;} ++ ac_header_preproc=yes ++ ;; ++ no:yes:* ) ++ { echo "$as_me:$LINENO: WARNING: sys/wait.h: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: sys/wait.h: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: sys/wait.h: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: sys/wait.h: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: sys/wait.h: see the Autoconf documentation" >&5 ++echo "$as_me: WARNING: sys/wait.h: see the Autoconf documentation" >&2;} ++ { echo "$as_me:$LINENO: WARNING: sys/wait.h: section \"Present But Cannot Be Compiled\"" >&5 ++echo "$as_me: WARNING: sys/wait.h: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: sys/wait.h: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: sys/wait.h: proceeding with the preprocessor's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: sys/wait.h: in the future, the compiler will take precedence" >&5 ++echo "$as_me: WARNING: sys/wait.h: in the future, the compiler will take precedence" >&2;} ++ ++ ;; ++esac ++{ echo "$as_me:$LINENO: checking for sys/wait.h" >&5 ++echo $ECHO_N "checking for sys/wait.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_sys_wait_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_header_sys_wait_h=$ac_header_preproc ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5 ++echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6; } ++ ++fi ++if test $ac_cv_header_sys_wait_h = yes; then ++ : ++else ++ cat >>confdefs.h <<\_ACEOF ++#define NO_SYS_WAIT_H 1 ++_ACEOF ++ ++fi ++ ++ ++ if test "${ac_cv_header_dlfcn_h+set}" = set; then ++ { echo "$as_me:$LINENO: checking for dlfcn.h" >&5 ++echo $ECHO_N "checking for dlfcn.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_dlfcn_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_dlfcn_h" >&5 ++echo "${ECHO_T}$ac_cv_header_dlfcn_h" >&6; } ++else ++ # Is the header compilable? ++{ echo "$as_me:$LINENO: checking dlfcn.h usability" >&5 ++echo $ECHO_N "checking dlfcn.h usability... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++#include ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_header_compiler=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_compiler=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ++echo "${ECHO_T}$ac_header_compiler" >&6; } ++ ++# Is the header present? ++{ echo "$as_me:$LINENO: checking dlfcn.h presence" >&5 ++echo $ECHO_N "checking dlfcn.h presence... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++_ACEOF ++if { (ac_try="$ac_cpp conftest.$ac_ext" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then ++ ac_header_preproc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_preproc=no ++fi ++ ++rm -f conftest.err conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ++echo "${ECHO_T}$ac_header_preproc" >&6; } ++ ++# So? What about this header? ++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in ++ yes:no: ) ++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: dlfcn.h: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: proceeding with the compiler's result" >&5 ++echo "$as_me: WARNING: dlfcn.h: proceeding with the compiler's result" >&2;} ++ ac_header_preproc=yes ++ ;; ++ no:yes:* ) ++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: dlfcn.h: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: dlfcn.h: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: see the Autoconf documentation" >&5 ++echo "$as_me: WARNING: dlfcn.h: see the Autoconf documentation" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: section \"Present But Cannot Be Compiled\"" >&5 ++echo "$as_me: WARNING: dlfcn.h: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: dlfcn.h: proceeding with the preprocessor's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: in the future, the compiler will take precedence" >&5 ++echo "$as_me: WARNING: dlfcn.h: in the future, the compiler will take precedence" >&2;} ++ ++ ;; ++esac ++{ echo "$as_me:$LINENO: checking for dlfcn.h" >&5 ++echo $ECHO_N "checking for dlfcn.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_dlfcn_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_header_dlfcn_h=$ac_header_preproc ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_dlfcn_h" >&5 ++echo "${ECHO_T}$ac_cv_header_dlfcn_h" >&6; } ++ ++fi ++if test $ac_cv_header_dlfcn_h = yes; then ++ : ++else ++ cat >>confdefs.h <<\_ACEOF ++#define NO_DLFCN_H 1 ++_ACEOF ++ ++fi ++ ++ ++ ++ # OS/390 lacks sys/param.h (and doesn't need it, by chance). ++ ++for ac_header in sys/param.h ++do ++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then ++ { echo "$as_me:$LINENO: checking for $ac_header" >&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } ++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++fi ++ac_res=`eval echo '${'$as_ac_Header'}'` ++ { echo "$as_me:$LINENO: result: $ac_res" >&5 ++echo "${ECHO_T}$ac_res" >&6; } ++else ++ # Is the header compilable? ++{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 ++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++#include <$ac_header> ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_header_compiler=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_compiler=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ++echo "${ECHO_T}$ac_header_compiler" >&6; } ++ ++# Is the header present? ++{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 ++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <$ac_header> ++_ACEOF ++if { (ac_try="$ac_cpp conftest.$ac_ext" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then ++ ac_header_preproc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_preproc=no ++fi ++ ++rm -f conftest.err conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ++echo "${ECHO_T}$ac_header_preproc" >&6; } ++ ++# So? What about this header? ++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in ++ yes:no: ) ++ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 ++echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ++ ac_header_preproc=yes ++ ;; ++ no:yes:* ) ++ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 ++echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 ++echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 ++echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ++ ++ ;; ++esac ++{ echo "$as_me:$LINENO: checking for $ac_header" >&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } ++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ eval "$as_ac_Header=\$ac_header_preproc" ++fi ++ac_res=`eval echo '${'$as_ac_Header'}'` ++ { echo "$as_me:$LINENO: result: $ac_res" >&5 ++echo "${ECHO_T}$ac_res" >&6; } ++ ++fi ++if test `eval echo '${'$as_ac_Header'}'` = yes; then ++ cat >>confdefs.h <<_ACEOF ++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 ++_ACEOF ++ ++fi ++ ++done ++ ++ ++ ++ # Let the user call this, because if it triggers, they will ++ # need a compat/strtod.c that is correct. Users can also ++ # use Tcl_GetDouble(FromObj) instead. ++ #TEA_BUGGY_STRTOD ++ fi ++ ++ ++#----------------------------------------------------------------------- ++# __CHANGE__ ++# Specify the C source files to compile in TEA_ADD_SOURCES, ++# public headers that need to be installed in TEA_ADD_HEADERS, ++# stub library C source files to compile in TEA_ADD_STUB_SOURCES, ++# and runtime Tcl library files in TEA_ADD_TCL_SOURCES. ++# This defines PKG(_STUB)_SOURCES, PKG(_STUB)_OBJECTS, PKG_HEADERS ++# and PKG_TCL_SOURCES. ++#----------------------------------------------------------------------- ++ ++ ++ vars="itclStubInit.c ++ itcl_bicmds.c ++ itcl_class.c ++ itcl_cmds.c ++ itcl_ensemble.c ++ itcl_linkage.c ++ itcl_methods.c ++ itcl_migrate.c ++ itcl_objects.c ++ itcl_parse.c ++ itcl_util.c" ++ for i in $vars; do ++ case $i in ++ \$*) ++ # allow $-var names ++ PKG_SOURCES="$PKG_SOURCES $i" ++ PKG_OBJECTS="$PKG_OBJECTS $i" ++ ;; ++ *) ++ # check for existence - allows for generic/win/unix VPATH ++ if test ! -f "${srcdir}/$i" -a ! -f "${srcdir}/generic/$i" \ ++ -a ! -f "${srcdir}/win/$i" -a ! -f "${srcdir}/unix/$i" \ ++ ; then ++ { { echo "$as_me:$LINENO: error: could not find source file '$i'" >&5 ++echo "$as_me: error: could not find source file '$i'" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ PKG_SOURCES="$PKG_SOURCES $i" ++ # this assumes it is in a VPATH dir ++ i=`basename $i` ++ # handle user calling this before or after TEA_SETUP_COMPILER ++ if test x"${OBJEXT}" != x ; then ++ j="`echo $i | sed -e 's/\.[^.]*$//'`.${OBJEXT}" ++ else ++ j="`echo $i | sed -e 's/\.[^.]*$//'`.\${OBJEXT}" ++ fi ++ PKG_OBJECTS="$PKG_OBJECTS $j" ++ ;; ++ esac ++ done ++ ++ ++ ++ ++ vars="generic/itcl.h ++ generic/itclDecls.h ++ generic/itclInt.h ++ generic/itclIntDecls.h" ++ for i in $vars; do ++ # check for existence, be strict because it is installed ++ if test ! -f "${srcdir}/$i" ; then ++ { { echo "$as_me:$LINENO: error: could not find header file '${srcdir}/$i'" >&5 ++echo "$as_me: error: could not find header file '${srcdir}/$i'" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ PKG_HEADERS="$PKG_HEADERS $i" ++ done ++ ++ ++ ++ vars="-I\"`${CYGPATH} ${srcdir}/generic`\"" ++ for i in $vars; do ++ PKG_INCLUDES="$PKG_INCLUDES $i" ++ done ++ ++ ++ ++ vars="" ++ for i in $vars; do ++ if test "${TEA_PLATFORM}" = "windows" -a "$GCC" = "yes" ; then ++ # Convert foo.lib to -lfoo for GCC. No-op if not *.lib ++ i=`echo "$i" | sed -e 's/^\([^-].*\)\.lib$/-l\1/i'` ++ fi ++ PKG_LIBS="$PKG_LIBS $i" ++ done ++ ++ ++ ++ PKG_CFLAGS="$PKG_CFLAGS " ++ ++ ++ ++ vars="itclStubLib.c" ++ for i in $vars; do ++ # check for existence - allows for generic/win/unix VPATH ++ if test ! -f "${srcdir}/$i" -a ! -f "${srcdir}/generic/$i" \ ++ -a ! -f "${srcdir}/win/$i" -a ! -f "${srcdir}/unix/$i" \ ++ ; then ++ { { echo "$as_me:$LINENO: error: could not find stub source file '$i'" >&5 ++echo "$as_me: error: could not find stub source file '$i'" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ PKG_STUB_SOURCES="$PKG_STUB_SOURCES $i" ++ # this assumes it is in a VPATH dir ++ i=`basename $i` ++ # handle user calling this before or after TEA_SETUP_COMPILER ++ if test x"${OBJEXT}" != x ; then ++ j="`echo $i | sed -e 's/\.[^.]*$//'`.${OBJEXT}" ++ else ++ j="`echo $i | sed -e 's/\.[^.]*$//'`.\${OBJEXT}" ++ fi ++ PKG_STUB_OBJECTS="$PKG_STUB_OBJECTS $j" ++ done ++ ++ ++ ++ ++ vars="library/itcl.tcl" ++ for i in $vars; do ++ # check for existence, be strict because it is installed ++ if test ! -f "${srcdir}/$i" ; then ++ { { echo "$as_me:$LINENO: error: could not find tcl source file '${srcdir}/$i'" >&5 ++echo "$as_me: error: could not find tcl source file '${srcdir}/$i'" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ PKG_TCL_SOURCES="$PKG_TCL_SOURCES $i" ++ done ++ + + + #-------------------------------------------------------------------- +-# Set the default compiler switches based on the --enable-symbols +-# option. ++# __CHANGE__ ++# A few miscellaneous platform-specific items: ++# ++# Define a special symbol for Windows (BUILD_itcl in this case) so ++# that we create the export library with the dll. See sha1.h on how ++# to use this. ++# ++# Windows creates a few extra files that need to be cleaned up. ++# You can add more files to clean if your extension creates any extra ++# files. ++# ++# Define any extra compiler flags in the PACKAGE_CFLAGS variable. ++# These will be appended to the current set of compiler flags for ++# your system. + #-------------------------------------------------------------------- + ++if test "${TEA_PLATFORM}" = "windows" ; then ++ cat >>confdefs.h <<\_ACEOF ++#define BUILD_itcl 1 ++_ACEOF ++ ++ CLEANFILES="*.lib *.dll *.exp *.ilk *.pdb vc*.pch" ++ ++ vars="dllEntryPoint.c" ++ for i in $vars; do ++ case $i in ++ \$*) ++ # allow $-var names ++ PKG_SOURCES="$PKG_SOURCES $i" ++ PKG_OBJECTS="$PKG_OBJECTS $i" ++ ;; ++ *) ++ # check for existence - allows for generic/win/unix VPATH ++ if test ! -f "${srcdir}/$i" -a ! -f "${srcdir}/generic/$i" \ ++ -a ! -f "${srcdir}/win/$i" -a ! -f "${srcdir}/unix/$i" \ ++ ; then ++ { { echo "$as_me:$LINENO: error: could not find source file '$i'" >&5 ++echo "$as_me: error: could not find source file '$i'" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ PKG_SOURCES="$PKG_SOURCES $i" ++ # this assumes it is in a VPATH dir ++ i=`basename $i` ++ # handle user calling this before or after TEA_SETUP_COMPILER ++ if test x"${OBJEXT}" != x ; then ++ j="`echo $i | sed -e 's/\.[^.]*$//'`.${OBJEXT}" ++ else ++ j="`echo $i | sed -e 's/\.[^.]*$//'`.\${OBJEXT}" ++ fi ++ PKG_OBJECTS="$PKG_OBJECTS $j" ++ ;; ++ esac ++ done ++ ++ ++ ++else ++ CLEANFILES= ++ #TEA_ADD_SOURCES([]) ++fi ++ ++ ++ ++#-------------------------------------------------------------------- ++# __CHANGE__ ++# Choose which headers you need. Extension authors should try very ++# hard to only rely on the Tcl public header files. Internal headers ++# contain private data structures and are subject to change without ++# notice. ++# This must be done AFTER calling TEA_PATH_TCLCONFIG/TEA_LOAD_TCLCONFIG ++# so that we can extract TCL_SRC_DIR from the config file (in the case ++# of private headers ++#-------------------------------------------------------------------- ++ ++#TEA_PUBLIC_TCL_HEADERS ++ ++ { echo "$as_me:$LINENO: checking for Tcl private include files" >&5 ++echo $ECHO_N "checking for Tcl private include files... $ECHO_C" >&6; } ++ ++ if test "${TEA_PLATFORM}" = "windows"; then ++ TCL_TOP_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}`\" ++ TCL_GENERIC_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/generic`\" ++ TCL_UNIX_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/unix`\" ++ TCL_WIN_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/win`\" ++ TCL_BMAP_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/bitmaps`\" ++ TCL_TOOL_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/tools`\" ++ TCL_COMPAT_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/compat`\" ++ TCL_PLATFORM_DIR_NATIVE=${TCL_WIN_DIR_NATIVE} ++ ++ TCL_INCLUDES="-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}" ++ else ++ TCL_TOP_DIR_NATIVE='$(TCL_SRC_DIR)' ++ TCL_GENERIC_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/generic' ++ TCL_UNIX_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/unix' ++ TCL_WIN_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/win' ++ TCL_BMAP_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/bitmaps' ++ TCL_TOOL_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/tools' ++ TCL_COMPAT_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/compat' ++ TCL_PLATFORM_DIR_NATIVE=${TCL_UNIX_DIR_NATIVE} ++ ++ # substitute these in "relaxed" so that TCL_INCLUDES still works ++ # without requiring the other vars to be defined in the Makefile ++ eval "TCL_INCLUDES=\"-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}\"" ++ fi ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ { echo "$as_me:$LINENO: result: Using srcdir found in tclConfig.sh: ${TCL_SRC_DIR}" >&5 ++echo "${ECHO_T}Using srcdir found in tclConfig.sh: ${TCL_SRC_DIR}" >&6; } ++ ++ ++#-------------------------------------------------------------------- ++# We need to enable the threading macros found in tcl.h and tclInt.h. ++# The use of the threading features is determined by the core the ++# extension is loaded into, but we need to compile with these macros ++# turned on. ++#-------------------------------------------------------------------- ++ ++cat >>confdefs.h <<\_ACEOF ++#define TCL_THREADS 1 ++_ACEOF ++ ++ ++#-------------------------------------------------------------------- ++# Check whether --enable-threads or --disable-threads was given. ++# This auto-enables if Tcl was compiled threaded. ++#-------------------------------------------------------------------- ++ ++#TEA_ENABLE_THREADS ++ ++#-------------------------------------------------------------------- ++# The statement below defines a collection of symbols related to ++# building as a shared library instead of a static library. ++#-------------------------------------------------------------------- ++ ++ ++ { echo "$as_me:$LINENO: checking how to build libraries" >&5 ++echo $ECHO_N "checking how to build libraries... $ECHO_C" >&6; } ++ # Check whether --enable-shared was given. ++if test "${enable_shared+set}" = set; then ++ enableval=$enable_shared; tcl_ok=$enableval ++else ++ tcl_ok=yes ++fi ++ ++ ++ if test "${enable_shared+set}" = set; then ++ enableval="$enable_shared" ++ tcl_ok=$enableval ++ else ++ tcl_ok=yes ++ fi ++ ++ if test "$tcl_ok" = "yes" ; then ++ { echo "$as_me:$LINENO: result: shared" >&5 ++echo "${ECHO_T}shared" >&6; } ++ SHARED_BUILD=1 ++ else ++ { echo "$as_me:$LINENO: result: static" >&5 ++echo "${ECHO_T}static" >&6; } ++ SHARED_BUILD=0 ++ cat >>confdefs.h <<\_ACEOF ++#define STATIC_BUILD 1 ++_ACEOF ++ ++ fi ++ ++ ++ ++#-------------------------------------------------------------------- ++# This macro figures out what flags to use with the compiler/linker ++# when building shared/static debug/optimized objects. This information ++# can be taken from the tclConfig.sh file, but this figures it all out. ++#-------------------------------------------------------------------- ++ ++ ++ # Allow the user to provide this setting in the env ++ if test "x${TCLSH_PROG}" = "x" ; then ++ { echo "$as_me:$LINENO: checking for tclsh" >&5 ++echo $ECHO_N "checking for tclsh... $ECHO_C" >&6; } ++ ++ if test "${ac_cv_path_tclsh+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ++ search_path=`echo ${PATH} | sed -e 's/:/ /g'` ++ if test "${TEA_PLATFORM}" != "windows" -o \ ++ \( "$do64bit_ok" = "no" -a "$doWince" = "no" \) ; then ++ # Do not allow target tclsh in known cross-compile builds, ++ # as we need one we can run on this system ++ search_path="${TCL_BIN_DIR} ${TCL_BIN_DIR}/../bin ${exec_prefix}/bin ${prefix}/bin ${search_path}" ++ fi ++ for dir in $search_path ; do ++ for j in `ls -r $dir/tclsh[8-9]*${EXEEXT} 2> /dev/null` \ ++ `ls -r $dir/tclsh*${EXEEXT} 2> /dev/null` ; do ++ if test x"$ac_cv_path_tclsh" = x ; then ++ if test -f "$j" ; then ++ ac_cv_path_tclsh=$j ++ break ++ fi ++ fi ++ done ++ done ++ ++fi ++ ++ ++ if test -f "$ac_cv_path_tclsh" ; then ++ TCLSH_PROG=$ac_cv_path_tclsh ++ { echo "$as_me:$LINENO: result: $TCLSH_PROG" >&5 ++echo "${ECHO_T}$TCLSH_PROG" >&6; } ++ else ++ { { echo "$as_me:$LINENO: error: No tclsh found in PATH: $search_path" >&5 ++echo "$as_me: error: No tclsh found in PATH: $search_path" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ fi ++ ++ ++ ++ ++ ++ # Step 0: Enable 64 bit support? ++ ++ { echo "$as_me:$LINENO: checking if 64bit support is enabled" >&5 ++echo $ECHO_N "checking if 64bit support is enabled... $ECHO_C" >&6; } ++ # Check whether --enable-64bit was given. ++if test "${enable_64bit+set}" = set; then ++ enableval=$enable_64bit; do64bit=$enableval ++else ++ do64bit=no ++fi ++ ++ { echo "$as_me:$LINENO: result: $do64bit" >&5 ++echo "${ECHO_T}$do64bit" >&6; } ++ ++ # Step 0.b: Enable Solaris 64 bit VIS support? ++ ++ { echo "$as_me:$LINENO: checking if 64bit Sparc VIS support is requested" >&5 ++echo $ECHO_N "checking if 64bit Sparc VIS support is requested... $ECHO_C" >&6; } ++ # Check whether --enable-64bit-vis was given. ++if test "${enable_64bit_vis+set}" = set; then ++ enableval=$enable_64bit_vis; do64bitVIS=$enableval ++else ++ do64bitVIS=no ++fi ++ ++ { echo "$as_me:$LINENO: result: $do64bitVIS" >&5 ++echo "${ECHO_T}$do64bitVIS" >&6; } ++ ++ if test "$do64bitVIS" = "yes"; then ++ # Force 64bit on with VIS ++ do64bit=yes ++ fi ++ ++ # Step 0.c: Cross-compiling options for Windows/CE builds? ++ ++ if test "${TEA_PLATFORM}" = "windows" ; then ++ { echo "$as_me:$LINENO: checking if Windows/CE build is requested" >&5 ++echo $ECHO_N "checking if Windows/CE build is requested... $ECHO_C" >&6; } ++ # Check whether --enable-wince was given. ++if test "${enable_wince+set}" = set; then ++ enableval=$enable_wince; doWince=$enableval ++else ++ doWince=no ++fi ++ ++ { echo "$as_me:$LINENO: result: $doWince" >&5 ++echo "${ECHO_T}$doWince" >&6; } ++ fi ++ ++ # Step 1: set the variable "system" to hold the name and version number ++ # for the system. This can usually be done via the "uname" command, but ++ # there are a few systems, like Next, where this doesn't work. ++ ++ { echo "$as_me:$LINENO: checking system version (for dynamic loading)" >&5 ++echo $ECHO_N "checking system version (for dynamic loading)... $ECHO_C" >&6; } ++ if test -f /usr/lib/NextStep/software_version; then ++ system=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version` ++ else ++ system=`uname -s`-`uname -r` ++ if test "$?" -ne 0 ; then ++ { echo "$as_me:$LINENO: result: unknown (can't find uname command)" >&5 ++echo "${ECHO_T}unknown (can't find uname command)" >&6; } ++ system=unknown ++ else ++ # Special check for weird MP-RAS system (uname returns weird ++ # results, and the version is kept in special file). ++ ++ if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then ++ system=MP-RAS-`awk '{print }' /etc/.relid'` ++ fi ++ if test "`uname -s`" = "AIX" ; then ++ system=AIX-`uname -v`.`uname -r` ++ fi ++ if test "${TEA_PLATFORM}" = "windows" ; then ++ system=windows ++ fi ++ { echo "$as_me:$LINENO: result: $system" >&5 ++echo "${ECHO_T}$system" >&6; } ++ fi ++ fi ++ ++ # Step 2: check for existence of -ldl library. This is needed because ++ # Linux can use either -ldl or -ldld for dynamic loading. ++ ++ { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 ++echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } ++if test "${ac_cv_lib_dl_dlopen+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-ldl $LIBS" ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char dlopen (); ++int ++main () ++{ ++return dlopen (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && ++ $as_test_x conftest$ac_exeext; then ++ ac_cv_lib_dl_dlopen=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_cv_lib_dl_dlopen=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 ++echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } ++if test $ac_cv_lib_dl_dlopen = yes; then ++ have_dl=yes ++else ++ have_dl=no ++fi ++ ++ ++ # Step 3: set configuration options based on system name and version. ++ # This is similar to Tcl's unix/tcl.m4 except that we've added a ++ # "windows" case and CC_SEARCH_FLAGS becomes LD_SEARCH_FLAGS for us ++ # (and we have no CC_SEARCH_FLAGS). ++ ++ do64bit_ok=no ++ LDFLAGS_ORIG="$LDFLAGS" ++ TCL_EXPORT_FILE_SUFFIX="" ++ UNSHARED_LIB_SUFFIX="" ++ TCL_TRIM_DOTS='`echo ${PACKAGE_VERSION} | tr -d .`' ++ ECHO_VERSION='`echo ${PACKAGE_VERSION}`' ++ TCL_LIB_VERSIONS_OK=ok ++ CFLAGS_DEBUG=-g ++ if test "$GCC" = "yes" ; then ++ CFLAGS_OPTIMIZE=-O2 ++ CFLAGS_WARNING="-Wall -Wno-implicit-int" ++ else ++ CFLAGS_OPTIMIZE=-O ++ CFLAGS_WARNING="" ++ fi ++ TCL_NEEDS_EXP_FILE=0 ++ TCL_BUILD_EXP_FILE="" ++ TCL_EXP_FILE="" ++ # Extract the first word of "ar", so it can be a program name with args. ++set dummy ar; ac_word=$2 ++{ echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } ++if test "${ac_cv_prog_AR+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$AR"; then ++ ac_cv_prog_AR="$AR" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ++ ac_cv_prog_AR="ar" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++IFS=$as_save_IFS ++ ++fi ++fi ++AR=$ac_cv_prog_AR ++if test -n "$AR"; then ++ { echo "$as_me:$LINENO: result: $AR" >&5 ++echo "${ECHO_T}$AR" >&6; } ++else ++ { echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6; } ++fi ++ ++ ++ STLIB_LD='${AR} cr' ++ LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH" ++ case $system in ++ windows) ++ # This is a 2-stage check to make sure we have the 64-bit SDK ++ # We have to know where the SDK is installed. ++ if test "$do64bit" = "yes" ; then ++ if test "x${MSSDK}x" = "xx" ; then ++ MSSDK="C:/Progra~1/Microsoft SDK" ++ fi ++ # Ensure that this path has no spaces to work in autoconf ++ ++ if test "${TEA_PLATFORM}" = "windows" ; then ++ # we need TCLSH_PROG defined to get Windows short pathnames ++ ++ ++ { echo "$as_me:$LINENO: checking short pathname for MSSDK (${MSSDK})" >&5 ++echo $ECHO_N "checking short pathname for MSSDK (${MSSDK})... $ECHO_C" >&6; } ++ ++ shortpath= ++ case "${MSSDK}" in ++ *\ *) ++ # Only do this if we need to. ++ shortpath=`echo "puts [file attributes {${MSSDK}} -shortname] ; exit" | ${TCLSH_PROG} 2>/dev/null` ++ ;; ++ esac ++ if test "x${shortpath}" = "x" ; then ++ { echo "$as_me:$LINENO: result: not changed" >&5 ++echo "${ECHO_T}not changed" >&6; } ++ else ++ MSSDK=$shortpath ++ { echo "$as_me:$LINENO: result: ${MSSDK}" >&5 ++echo "${ECHO_T}${MSSDK}" >&6; } ++ fi ++ fi ++ ++ if test ! -d "${MSSDK}/bin/win64" ; then ++ { echo "$as_me:$LINENO: WARNING: could not find 64-bit SDK to enable 64bit mode" >&5 ++echo "$as_me: WARNING: could not find 64-bit SDK to enable 64bit mode" >&2;} ++ do64bit="no" ++ else ++ do64bit_ok="yes" ++ fi ++ fi ++ ++ if test "$doWince" != "no" ; then ++ if test "$do64bit" = "yes" ; then ++ { { echo "$as_me:$LINENO: error: Windows/CE and 64-bit builds incompatible" >&5 ++echo "$as_me: error: Windows/CE and 64-bit builds incompatible" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ if test "$GCC" = "yes" ; then ++ { { echo "$as_me:$LINENO: error: Windows/CE and GCC builds incompatible" >&5 ++echo "$as_me: error: Windows/CE and GCC builds incompatible" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ ++ # First, look for one uninstalled. ++ # the alternative search directory is invoked by --with-celib ++ ++ if test x"${no_celib}" = x ; then ++ # we reset no_celib in case something fails here ++ no_celib=true ++ ++# Check whether --with-celib was given. ++if test "${with_celib+set}" = set; then ++ withval=$with_celib; with_celibconfig=${withval} ++fi ++ ++ { echo "$as_me:$LINENO: checking for Windows/CE celib directory" >&5 ++echo $ECHO_N "checking for Windows/CE celib directory... $ECHO_C" >&6; } ++ if test "${ac_cv_c_celibconfig+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ++ # First check to see if --with-celibconfig was specified. ++ if test x"${with_celibconfig}" != x ; then ++ if test -d "${with_celibconfig}/inc" ; then ++ ac_cv_c_celibconfig=`(cd ${with_celibconfig}; pwd)` ++ else ++ { { echo "$as_me:$LINENO: error: ${with_celibconfig} directory doesn't contain inc directory" >&5 ++echo "$as_me: error: ${with_celibconfig} directory doesn't contain inc directory" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ fi ++ ++ # then check for a celib library ++ if test x"${ac_cv_c_celibconfig}" = x ; then ++ for i in \ ++ ../celib-palm-3.0 \ ++ ../celib \ ++ ../../celib-palm-3.0 \ ++ ../../celib \ ++ `ls -dr ../celib-*3.[0-9]* 2>/dev/null` \ ++ ${srcdir}/../celib-palm-3.0 \ ++ ${srcdir}/../celib \ ++ `ls -dr ${srcdir}/../celib-*3.[0-9]* 2>/dev/null` \ ++ ; do ++ if test -d "$i/inc" ; then ++ ac_cv_c_celibconfig=`(cd $i; pwd)` ++ break ++ fi ++ done ++ fi ++ ++fi ++ ++ if test x"${ac_cv_c_celibconfig}" = x ; then ++ { { echo "$as_me:$LINENO: error: Cannot find celib support library directory" >&5 ++echo "$as_me: error: Cannot find celib support library directory" >&2;} ++ { (exit 1); exit 1; }; } ++ else ++ no_celib= ++ CELIB_DIR=${ac_cv_c_celibconfig} ++ { echo "$as_me:$LINENO: result: found $CELIB_DIR" >&5 ++echo "${ECHO_T}found $CELIB_DIR" >&6; } ++ ++ if test "${TEA_PLATFORM}" = "windows" ; then ++ # we need TCLSH_PROG defined to get Windows short pathnames ++ ++ ++ { echo "$as_me:$LINENO: checking short pathname for CELIB_DIR (${ac_cv_c_celibconfig})" >&5 ++echo $ECHO_N "checking short pathname for CELIB_DIR (${ac_cv_c_celibconfig})... $ECHO_C" >&6; } ++ ++ shortpath= ++ case "${ac_cv_c_celibconfig}" in ++ *\ *) ++ # Only do this if we need to. ++ shortpath=`echo "puts [file attributes {${ac_cv_c_celibconfig}} -shortname] ; exit" | ${TCLSH_PROG} 2>/dev/null` ++ ;; ++ esac ++ if test "x${shortpath}" = "x" ; then ++ { echo "$as_me:$LINENO: result: not changed" >&5 ++echo "${ECHO_T}not changed" >&6; } ++ else ++ CELIB_DIR=$shortpath ++ { echo "$as_me:$LINENO: result: ${CELIB_DIR}" >&5 ++echo "${ECHO_T}${CELIB_DIR}" >&6; } ++ fi ++ fi ++ ++ fi ++ fi ++ ++ # Set defaults for common evc4/PPC2003 setup ++ # Currently Tcl requires 300+, possibly 420+ for sockets ++ CEVERSION=420; # could be 211 300 301 400 420 ... ++ TARGETCPU=ARMV4; # could be ARMV4 ARM MIPS SH3 X86 ... ++ ARCH=ARM; # could be ARM MIPS X86EM ... ++ PLATFORM="Pocket PC 2003"; # or "Pocket PC 2002" ++ if test "$doWince" != "yes"; then ++ # If !yes then the user specified something ++ # Reset ARCH to allow user to skip specifying it ++ ARCH= ++ eval `echo $doWince | awk -F, '{ \ ++ if (length($1)) { printf "CEVERSION=\"%s\"\n", $1; \ ++ if ($1 < 400) { printf "PLATFORM=\"Pocket PC 2002\"\n" } }; \ ++ if (length($2)) { printf "TARGETCPU=\"%s\"\n", toupper($2) }; \ ++ if (length($3)) { printf "ARCH=\"%s\"\n", toupper($3) }; \ ++ if (length($4)) { printf "PLATFORM=\"%s\"\n", $4 }; \ ++ }'` ++ if test "x${ARCH}" = "x" ; then ++ ARCH=$TARGETCPU; ++ fi ++ fi ++ OSVERSION=WCE$CEVERSION; ++ if test "x${WCEROOT}" = "x" ; then ++ WCEROOT="C:/Program Files/Microsoft eMbedded C++ 4.0" ++ if test ! -d "${WCEROOT}" ; then ++ WCEROOT="C:/Program Files/Microsoft eMbedded Tools" ++ fi ++ fi ++ if test "x${SDKROOT}" = "x" ; then ++ SDKROOT="C:/Program Files/Windows CE Tools" ++ if test ! -d "${SDKROOT}" ; then ++ SDKROOT="C:/Windows CE Tools" ++ fi ++ fi ++ # Ensure that this path has no spaces to work in autoconf ++ ++ if test "${TEA_PLATFORM}" = "windows" ; then ++ # we need TCLSH_PROG defined to get Windows short pathnames ++ ++ ++ { echo "$as_me:$LINENO: checking short pathname for WCEROOT (${WCEROOT})" >&5 ++echo $ECHO_N "checking short pathname for WCEROOT (${WCEROOT})... $ECHO_C" >&6; } ++ ++ shortpath= ++ case "${WCEROOT}" in ++ *\ *) ++ # Only do this if we need to. ++ shortpath=`echo "puts [file attributes {${WCEROOT}} -shortname] ; exit" | ${TCLSH_PROG} 2>/dev/null` ++ ;; ++ esac ++ if test "x${shortpath}" = "x" ; then ++ { echo "$as_me:$LINENO: result: not changed" >&5 ++echo "${ECHO_T}not changed" >&6; } ++ else ++ WCEROOT=$shortpath ++ { echo "$as_me:$LINENO: result: ${WCEROOT}" >&5 ++echo "${ECHO_T}${WCEROOT}" >&6; } ++ fi ++ fi ++ ++ ++ if test "${TEA_PLATFORM}" = "windows" ; then ++ # we need TCLSH_PROG defined to get Windows short pathnames ++ ++ ++ { echo "$as_me:$LINENO: checking short pathname for SDKROOT (${SDKROOT})" >&5 ++echo $ECHO_N "checking short pathname for SDKROOT (${SDKROOT})... $ECHO_C" >&6; } ++ ++ shortpath= ++ case "${SDKROOT}" in ++ *\ *) ++ # Only do this if we need to. ++ shortpath=`echo "puts [file attributes {${SDKROOT}} -shortname] ; exit" | ${TCLSH_PROG} 2>/dev/null` ++ ;; ++ esac ++ if test "x${shortpath}" = "x" ; then ++ { echo "$as_me:$LINENO: result: not changed" >&5 ++echo "${ECHO_T}not changed" >&6; } ++ else ++ SDKROOT=$shortpath ++ { echo "$as_me:$LINENO: result: ${SDKROOT}" >&5 ++echo "${ECHO_T}${SDKROOT}" >&6; } ++ fi ++ fi ++ ++ if test ! -d "${SDKROOT}/${OSVERSION}/${PLATFORM}/Lib/${TARGETCPU}" \ ++ -o ! -d "${WCEROOT}/EVC/${OSVERSION}/bin"; then ++ { { echo "$as_me:$LINENO: error: could not find PocketPC SDK or target compiler to enable WinCE mode $CEVERSION,$TARGETCPU,$ARCH,$PLATFORM" >&5 ++echo "$as_me: error: could not find PocketPC SDK or target compiler to enable WinCE mode $CEVERSION,$TARGETCPU,$ARCH,$PLATFORM" >&2;} ++ { (exit 1); exit 1; }; } ++ doWince="no" ++ else ++ # We could PATH_NOSPACE these, but that's not important, ++ # as long as we quote them when used. ++ CEINCLUDE="${SDKROOT}/${OSVERSION}/${PLATFORM}/include" ++ if test -d "${CEINCLUDE}/${TARGETCPU}" ; then ++ CEINCLUDE="${CEINCLUDE}/${TARGETCPU}" ++ fi ++ CELIBPATH="${SDKROOT}/${OSVERSION}/${PLATFORM}/Lib/${TARGETCPU}" ++ fi ++ fi ++ ++ if test "$GCC" != "yes" ; then ++ if test "${SHARED_BUILD}" = "0" ; then ++ runtime=-MT ++ else ++ runtime=-MD ++ fi ++ ++ if test "$do64bit" = "yes" ; then ++ # All this magic is necessary for the Win64 SDK RC1 - hobbs ++ CC="${MSSDK}/Bin/Win64/cl.exe" ++ CFLAGS="${CFLAGS} -I${MSSDK}/Include/prerelease \ ++ -I${MSSDK}/Include/Win64/crt \ ++ -I${MSSDK}/Include" ++ RC="${MSSDK}/bin/rc.exe" ++ lflags="-MACHINE:IA64 -LIBPATH:${MSSDK}/Lib/IA64 \ ++ -LIBPATH:${MSSDK}/Lib/Prerelease/IA64 -nologo" ++ LINKBIN="${MSSDK}/bin/win64/link.exe" ++ CFLAGS_DEBUG="-nologo -Zi -Od -W3 ${runtime}d" ++ CFLAGS_OPTIMIZE="-nologo -O2 -W2 ${runtime}" ++ elif test "$doWince" != "no" ; then ++ CEBINROOT="${WCEROOT}/EVC/${OSVERSION}/bin" ++ if test "${TARGETCPU}" = "X86"; then ++ CC="${CEBINROOT}/cl.exe" ++ else ++ CC="${CEBINROOT}/cl${ARCH}.exe" ++ fi ++ CFLAGS="$CFLAGS -I\"${CELIB_DIR}/inc\" -I\"${CEINCLUDE}\"" ++ RC="${WCEROOT}/Common/EVC/bin/rc.exe" ++ arch=`echo ${ARCH} | awk '{print tolower($0)}'` ++ defs="${ARCH} _${ARCH}_ ${arch} PALM_SIZE _MT _WINDOWS" ++ if test "${SHARED_BUILD}" = "1" ; then ++ # Static CE builds require static celib as well ++ defs="${defs} _DLL" ++ fi ++ for i in $defs ; do ++ cat >>confdefs.h <<_ACEOF ++#define $i 1 ++_ACEOF ++ ++ done ++ cat >>confdefs.h <<_ACEOF ++#define _WIN32_WCE $CEVERSION ++_ACEOF ++ ++ cat >>confdefs.h <<_ACEOF ++#define UNDER_CE $CEVERSION ++_ACEOF ++ ++ CFLAGS_DEBUG="-nologo -Zi -Od" ++ CFLAGS_OPTIMIZE="-nologo -Ox" ++ lversion=`echo ${CEVERSION} | sed -e 's/\(.\)\(..\)/\1\.\2/'` ++ lflags="-MACHINE:${ARCH} -LIBPATH:\"${CELIBPATH}\" -subsystem:windowsce,${lversion} -nologo" ++ LINKBIN="${CEBINROOT}/link.exe" ++ ++ else ++ RC="rc" ++ lflags="-nologo" ++ LINKBIN="link" ++ CFLAGS_DEBUG="-nologo -Z7 -Od -W3 -WX ${runtime}d" ++ CFLAGS_OPTIMIZE="-nologo -O2 -W2 ${runtime}" ++ fi ++ fi ++ ++ if test "$GCC" = "yes"; then ++ # mingw gcc mode ++ RC="windres" ++ CFLAGS_DEBUG="-g" ++ CFLAGS_OPTIMIZE="-O2 -fomit-frame-pointer" ++ SHLIB_LD="$CC -shared" ++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' ++ LDFLAGS_CONSOLE="-wl,--subsystem,console ${lflags}" ++ LDFLAGS_WINDOW="-wl,--subsystem,windows ${lflags}" ++ else ++ SHLIB_LD="${LINKBIN} -dll ${lflags}" ++ # link -lib only works when -lib is the first arg ++ STLIB_LD="${LINKBIN} -lib ${lflags}" ++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.lib' ++ PATHTYPE=-w ++ # For information on what debugtype is most useful, see: ++ # http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp ++ # This essentially turns it all on. ++ LDFLAGS_DEBUG="-debug:full -debugtype:both -warn:2" ++ LDFLAGS_OPTIMIZE="-release" ++ if test "$doWince" != "no" ; then ++ LDFLAGS_CONSOLE="-link ${lflags}" ++ LDFLAGS_WINDOW=${LDFLAGS_CONSOLE} ++ else ++ LDFLAGS_CONSOLE="-link -subsystem:console ${lflags}" ++ LDFLAGS_WINDOW="-link -subsystem:windows ${lflags}" ++ fi ++ fi ++ ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".dll" ++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.dll' ++ ++ TCL_LIB_VERSIONS_OK=nodots ++ # Bogus to avoid getting this turned off ++ DL_OBJS="tclLoadNone.obj" ++ ;; ++ AIX-*) ++ if test "${TCL_THREADS}" = "1" -a "$GCC" != "yes" ; then ++ # AIX requires the _r compiler when gcc isn't being used ++ if test "${CC}" != "cc_r" ; then ++ CC=${CC}_r ++ fi ++ { echo "$as_me:$LINENO: result: Using $CC for compiling with threads" >&5 ++echo "${ECHO_T}Using $CC for compiling with threads" >&6; } ++ fi ++ LIBS="$LIBS -lc" ++ SHLIB_CFLAGS="" ++ SHLIB_SUFFIX=".so" ++ SHLIB_LD_LIBS='${LIBS}' ++ ++ DL_OBJS="tclLoadDl.o" ++ LD_LIBRARY_PATH_VAR="LIBPATH" ++ ++ # AIX v<=4.1 has some different flags than 4.2+ ++ if test "$system" = "AIX-4.1" -o "`uname -v`" -lt "4" ; then ++ #LIBOBJS="$LIBOBJS tclLoadAix.o" ++ case " $LIBOBJS " in ++ *" tclLoadAix.$ac_objext "* ) ;; ++ *) LIBOBJS="$LIBOBJS tclLoadAix.$ac_objext" ++ ;; ++esac ++ ++ DL_LIBS="-lld" ++ fi ++ ++ # Check to enable 64-bit flags for compiler/linker on AIX 4+ ++ if test "$do64bit" = "yes" -a "`uname -v`" -gt "3" ; then ++ if test "$GCC" = "yes" ; then ++ { echo "$as_me:$LINENO: WARNING: \"64bit mode not supported with GCC on $system\"" >&5 ++echo "$as_me: WARNING: \"64bit mode not supported with GCC on $system\"" >&2;} ++ else ++ do64bit_ok=yes ++ CFLAGS="$CFLAGS -q64" ++ LDFLAGS="$LDFLAGS -q64" ++ RANLIB="${RANLIB} -X64" ++ AR="${AR} -X64" ++ SHLIB_LD_FLAGS="-b64" ++ fi ++ fi ++ ++ if test "`uname -m`" = "ia64" ; then ++ # AIX-5 uses ELF style dynamic libraries on IA-64, but not PPC ++ SHLIB_LD="/usr/ccs/bin/ld -G -z text" ++ # AIX-5 has dl* in libc.so ++ DL_LIBS="" ++ if test "$GCC" = "yes" ; then ++ LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}' ++ else ++ LD_SEARCH_FLAGS='-R${LIB_RUNTIME_DIR}' ++ fi ++ else ++ if test "$GCC" = "yes" ; then ++ SHLIB_LD="gcc -shared" ++ else ++ SHLIB_LD="/bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry" ++ fi ++ SHLIB_LD="${TCL_SRC_DIR}/unix/ldAix ${SHLIB_LD} ${SHLIB_LD_FLAGS}" ++ DL_LIBS="-ldl" ++ LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' ++ TCL_NEEDS_EXP_FILE=1 ++ TCL_EXPORT_FILE_SUFFIX='${PACKAGE_VERSION}.exp' ++ fi ++ ++ # On AIX <=v4 systems, libbsd.a has to be linked in to support ++ # non-blocking file IO. This library has to be linked in after ++ # the MATH_LIBS or it breaks the pow() function. The way to ++ # insure proper sequencing, is to add it to the tail of MATH_LIBS. ++ # This library also supplies gettimeofday. ++ # ++ # AIX does not have a timezone field in struct tm. When the AIX ++ # bsd library is used, the timezone global and the gettimeofday ++ # methods are to be avoided for timezone deduction instead, we ++ # deduce the timezone by comparing the localtime result on a ++ # known GMT value. ++ ++ { echo "$as_me:$LINENO: checking for gettimeofday in -lbsd" >&5 ++echo $ECHO_N "checking for gettimeofday in -lbsd... $ECHO_C" >&6; } ++if test "${ac_cv_lib_bsd_gettimeofday+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lbsd $LIBS" ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char gettimeofday (); ++int ++main () ++{ ++return gettimeofday (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && ++ $as_test_x conftest$ac_exeext; then ++ ac_cv_lib_bsd_gettimeofday=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_cv_lib_bsd_gettimeofday=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gettimeofday" >&5 ++echo "${ECHO_T}$ac_cv_lib_bsd_gettimeofday" >&6; } ++if test $ac_cv_lib_bsd_gettimeofday = yes; then ++ libbsd=yes ++else ++ libbsd=no ++fi ++ ++ if test $libbsd = yes; then ++ MATH_LIBS="$MATH_LIBS -lbsd" ++ cat >>confdefs.h <<\_ACEOF ++#define USE_DELTA_FOR_TZ 1 ++_ACEOF ++ ++ fi ++ ;; ++ BeOS*) ++ SHLIB_CFLAGS="-fPIC" ++ SHLIB_LD="${CC} -nostart" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ ;; ++ BSD/OS-2.1*|BSD/OS-3*) ++ SHLIB_CFLAGS="" ++ SHLIB_LD="shlicc -r" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ LD_SEARCH_FLAGS="" ++ ;; ++ BSD/OS-4.*) ++ SHLIB_CFLAGS="-export-dynamic -fPIC" ++ SHLIB_LD="cc -shared" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ LDFLAGS="$LDFLAGS -export-dynamic" ++ LD_SEARCH_FLAGS="" ++ ;; ++ dgux*) ++ SHLIB_CFLAGS="-K PIC" ++ SHLIB_LD="cc -G" ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ LD_SEARCH_FLAGS="" ++ ;; ++ HP-UX-*.11.*) ++ # Use updated header definitions where possible ++ cat >>confdefs.h <<\_ACEOF ++#define _XOPEN_SOURCE_EXTENDED 1 ++_ACEOF ++ ++ ++ SHLIB_SUFFIX=".sl" ++ { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 ++echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } ++if test "${ac_cv_lib_dld_shl_load+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-ldld $LIBS" ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char shl_load (); ++int ++main () ++{ ++return shl_load (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && ++ $as_test_x conftest$ac_exeext; then ++ ac_cv_lib_dld_shl_load=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_cv_lib_dld_shl_load=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 ++echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } ++if test $ac_cv_lib_dld_shl_load = yes; then ++ tcl_ok=yes ++else ++ tcl_ok=no ++fi ++ ++ if test "$tcl_ok" = yes; then ++ SHLIB_CFLAGS="+z" ++ SHLIB_LD="ld -b" ++ SHLIB_LD_LIBS='${LIBS}' ++ DL_OBJS="tclLoadShl.o" ++ DL_LIBS="-ldld" ++ LDFLAGS="$LDFLAGS -Wl,-E" ++ LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:.' ++ LD_LIBRARY_PATH_VAR="SHLIB_PATH" ++ fi ++ if test "$GCC" = "yes" ; then ++ SHLIB_LD="gcc -shared" ++ SHLIB_LD_LIBS='${LIBS}' ++ LD_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.' ++ fi ++ ++ # Users may want PA-RISC 1.1/2.0 portable code - needs HP cc ++ #CFLAGS="$CFLAGS +DAportable" ++ ++ # Check to enable 64-bit flags for compiler/linker ++ if test "$do64bit" = "yes" ; then ++ if test "$GCC" = "yes" ; then ++ hpux_arch=`${CC} -dumpmachine` ++ case $hpux_arch in ++ hppa64*) ++ # 64-bit gcc in use. Fix flags for GNU ld. ++ do64bit_ok=yes ++ SHLIB_LD="${CC} -shared" ++ SHLIB_LD_LIBS='${LIBS}' ++ ;; ++ *) ++ { echo "$as_me:$LINENO: WARNING: \"64bit mode not supported with GCC on $system\"" >&5 ++echo "$as_me: WARNING: \"64bit mode not supported with GCC on $system\"" >&2;} ++ ;; ++ esac ++ else ++ do64bit_ok=yes ++ CFLAGS="$CFLAGS +DD64" ++ LDFLAGS="$LDFLAGS +DD64" ++ fi ++ fi ++ ;; ++ HP-UX-*.08.*|HP-UX-*.09.*|HP-UX-*.10.*) ++ SHLIB_SUFFIX=".sl" ++ { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 ++echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } ++if test "${ac_cv_lib_dld_shl_load+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-ldld $LIBS" ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char shl_load (); ++int ++main () ++{ ++return shl_load (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && ++ $as_test_x conftest$ac_exeext; then ++ ac_cv_lib_dld_shl_load=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_cv_lib_dld_shl_load=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 ++echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } ++if test $ac_cv_lib_dld_shl_load = yes; then ++ tcl_ok=yes ++else ++ tcl_ok=no ++fi ++ ++ if test "$tcl_ok" = yes; then ++ SHLIB_CFLAGS="+z" ++ SHLIB_LD="ld -b" ++ SHLIB_LD_LIBS="" ++ DL_OBJS="tclLoadShl.o" ++ DL_LIBS="-ldld" ++ LDFLAGS="$LDFLAGS -Wl,-E" ++ LD_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.' ++ fi ++ LD_LIBRARY_PATH_VAR="SHLIB_PATH" ++ ;; ++ IRIX-4.*) ++ SHLIB_CFLAGS="-G 0" ++ SHLIB_SUFFIX=".a" ++ SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r -G 0" ++ SHLIB_LD_LIBS='${LIBS}' ++ DL_OBJS="tclLoadAout.o" ++ DL_LIBS="" ++ LDFLAGS="$LDFLAGS -Wl,-D,08000000" ++ LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' ++ SHARED_LIB_SUFFIX='${PACKAGE_VERSION}.a' ++ ;; ++ IRIX-5.*) ++ SHLIB_CFLAGS="" ++ SHLIB_LD="ld -shared -rdata_shared" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' ++ ;; ++ IRIX-6.*|IRIX64-6.5*) ++ SHLIB_CFLAGS="" ++ SHLIB_LD="ld -n32 -shared -rdata_shared" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' ++ if test "$GCC" = "yes" ; then ++ CFLAGS="$CFLAGS -mabi=n32" ++ LDFLAGS="$LDFLAGS -mabi=n32" ++ else ++ case $system in ++ IRIX-6.3) ++ # Use to build 6.2 compatible binaries on 6.3. ++ CFLAGS="$CFLAGS -n32 -D_OLD_TERMIOS" ++ ;; ++ *) ++ CFLAGS="$CFLAGS -n32" ++ ;; ++ esac ++ LDFLAGS="$LDFLAGS -n32" ++ fi ++ ;; ++ IRIX64-6.*) ++ SHLIB_CFLAGS="" ++ SHLIB_LD="ld -n32 -shared -rdata_shared" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' ++ ++ # Check to enable 64-bit flags for compiler/linker ++ ++ if test "$do64bit" = "yes" ; then ++ if test "$GCC" = "yes" ; then ++ { echo "$as_me:$LINENO: WARNING: 64bit mode not supported by gcc" >&5 ++echo "$as_me: WARNING: 64bit mode not supported by gcc" >&2;} ++ else ++ do64bit_ok=yes ++ SHLIB_LD="ld -64 -shared -rdata_shared" ++ CFLAGS="$CFLAGS -64" ++ LDFLAGS="$LDFLAGS -64" ++ fi ++ fi ++ ;; ++ Linux*) ++ SHLIB_CFLAGS="-fPIC" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ ++ CFLAGS_OPTIMIZE="-O2 -fomit-frame-pointer" ++ # egcs-2.91.66 on Redhat Linux 6.0 generates lots of warnings ++ # when you inline the string and math operations. Turn this off to ++ # get rid of the warnings. ++ ++ #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" ++ ++ if test "$have_dl" = yes; then ++ SHLIB_LD="${CC} -shared" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ LDFLAGS="$LDFLAGS -Wl,--export-dynamic" ++ LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' ++ else ++ if test "${ac_cv_header_dld_h+set}" = set; then ++ { echo "$as_me:$LINENO: checking for dld.h" >&5 ++echo $ECHO_N "checking for dld.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_dld_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_dld_h" >&5 ++echo "${ECHO_T}$ac_cv_header_dld_h" >&6; } ++else ++ # Is the header compilable? ++{ echo "$as_me:$LINENO: checking dld.h usability" >&5 ++echo $ECHO_N "checking dld.h usability... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++#include ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_header_compiler=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_compiler=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ++echo "${ECHO_T}$ac_header_compiler" >&6; } ++ ++# Is the header present? ++{ echo "$as_me:$LINENO: checking dld.h presence" >&5 ++echo $ECHO_N "checking dld.h presence... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++_ACEOF ++if { (ac_try="$ac_cpp conftest.$ac_ext" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then ++ ac_header_preproc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_preproc=no ++fi ++ ++rm -f conftest.err conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ++echo "${ECHO_T}$ac_header_preproc" >&6; } ++ ++# So? What about this header? ++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in ++ yes:no: ) ++ { echo "$as_me:$LINENO: WARNING: dld.h: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: dld.h: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dld.h: proceeding with the compiler's result" >&5 ++echo "$as_me: WARNING: dld.h: proceeding with the compiler's result" >&2;} ++ ac_header_preproc=yes ++ ;; ++ no:yes:* ) ++ { echo "$as_me:$LINENO: WARNING: dld.h: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: dld.h: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dld.h: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: dld.h: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dld.h: see the Autoconf documentation" >&5 ++echo "$as_me: WARNING: dld.h: see the Autoconf documentation" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dld.h: section \"Present But Cannot Be Compiled\"" >&5 ++echo "$as_me: WARNING: dld.h: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dld.h: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: dld.h: proceeding with the preprocessor's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dld.h: in the future, the compiler will take precedence" >&5 ++echo "$as_me: WARNING: dld.h: in the future, the compiler will take precedence" >&2;} ++ ++ ;; ++esac ++{ echo "$as_me:$LINENO: checking for dld.h" >&5 ++echo $ECHO_N "checking for dld.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_dld_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_header_dld_h=$ac_header_preproc ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_dld_h" >&5 ++echo "${ECHO_T}$ac_cv_header_dld_h" >&6; } ++ ++fi ++if test $ac_cv_header_dld_h = yes; then ++ ++ SHLIB_LD="ld -shared" ++ DL_OBJS="tclLoadDld.o" ++ DL_LIBS="-ldld" ++ LD_SEARCH_FLAGS="" ++fi ++ ++ ++ fi ++ if test "`uname -m`" = "alpha" ; then ++ CFLAGS="$CFLAGS -mieee" ++ fi ++ ++ # The combo of gcc + glibc has a bug related ++ # to inlining of functions like strtod(). The ++ # -fno-builtin flag should address this problem ++ # but it does not work. The -fno-inline flag ++ # is kind of overkill but it works. ++ # Disable inlining only when one of the ++ # files in compat/*.c is being linked in. ++ if test x"${USE_COMPAT}" != x ; then ++ CFLAGS="$CFLAGS -fno-inline" ++ fi ++ ++ ;; ++ GNU*) ++ SHLIB_CFLAGS="-fPIC" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ ++ if test "$have_dl" = yes; then ++ SHLIB_LD="${CC} -shared" ++ DL_OBJS="" ++ DL_LIBS="-ldl" ++ LDFLAGS="$LDFLAGS -Wl,--export-dynamic" ++ LD_SEARCH_FLAGS="" ++ else ++ if test "${ac_cv_header_dld_h+set}" = set; then ++ { echo "$as_me:$LINENO: checking for dld.h" >&5 ++echo $ECHO_N "checking for dld.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_dld_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_dld_h" >&5 ++echo "${ECHO_T}$ac_cv_header_dld_h" >&6; } ++else ++ # Is the header compilable? ++{ echo "$as_me:$LINENO: checking dld.h usability" >&5 ++echo $ECHO_N "checking dld.h usability... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++#include ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_header_compiler=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_compiler=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ++echo "${ECHO_T}$ac_header_compiler" >&6; } ++ ++# Is the header present? ++{ echo "$as_me:$LINENO: checking dld.h presence" >&5 ++echo $ECHO_N "checking dld.h presence... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++_ACEOF ++if { (ac_try="$ac_cpp conftest.$ac_ext" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then ++ ac_header_preproc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_preproc=no ++fi ++ ++rm -f conftest.err conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ++echo "${ECHO_T}$ac_header_preproc" >&6; } ++ ++# So? What about this header? ++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in ++ yes:no: ) ++ { echo "$as_me:$LINENO: WARNING: dld.h: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: dld.h: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dld.h: proceeding with the compiler's result" >&5 ++echo "$as_me: WARNING: dld.h: proceeding with the compiler's result" >&2;} ++ ac_header_preproc=yes ++ ;; ++ no:yes:* ) ++ { echo "$as_me:$LINENO: WARNING: dld.h: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: dld.h: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dld.h: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: dld.h: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dld.h: see the Autoconf documentation" >&5 ++echo "$as_me: WARNING: dld.h: see the Autoconf documentation" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dld.h: section \"Present But Cannot Be Compiled\"" >&5 ++echo "$as_me: WARNING: dld.h: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dld.h: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: dld.h: proceeding with the preprocessor's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dld.h: in the future, the compiler will take precedence" >&5 ++echo "$as_me: WARNING: dld.h: in the future, the compiler will take precedence" >&2;} ++ ++ ;; ++esac ++{ echo "$as_me:$LINENO: checking for dld.h" >&5 ++echo $ECHO_N "checking for dld.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_dld_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_header_dld_h=$ac_header_preproc ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_dld_h" >&5 ++echo "${ECHO_T}$ac_cv_header_dld_h" >&6; } ++ ++fi ++if test $ac_cv_header_dld_h = yes; then ++ ++ SHLIB_LD="ld -shared" ++ DL_OBJS="" ++ DL_LIBS="-ldld" ++ LD_SEARCH_FLAGS="" ++fi ++ ++ ++ fi ++ if test "`uname -m`" = "alpha" ; then ++ CFLAGS="$CFLAGS -mieee" ++ fi ++ ;; ++ MP-RAS-02*) ++ SHLIB_CFLAGS="-K PIC" ++ SHLIB_LD="cc -G" ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ LD_SEARCH_FLAGS="" ++ ;; ++ MP-RAS-*) ++ SHLIB_CFLAGS="-K PIC" ++ SHLIB_LD="cc -G" ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ LDFLAGS="$LDFLAGS -Wl,-Bexport" ++ LD_SEARCH_FLAGS="" ++ ;; ++ NetBSD-*|FreeBSD-[1-2].*) ++ # Not available on all versions: check for include file. ++ if test "${ac_cv_header_dlfcn_h+set}" = set; then ++ { echo "$as_me:$LINENO: checking for dlfcn.h" >&5 ++echo $ECHO_N "checking for dlfcn.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_dlfcn_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_dlfcn_h" >&5 ++echo "${ECHO_T}$ac_cv_header_dlfcn_h" >&6; } ++else ++ # Is the header compilable? ++{ echo "$as_me:$LINENO: checking dlfcn.h usability" >&5 ++echo $ECHO_N "checking dlfcn.h usability... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++#include ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_header_compiler=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_compiler=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ++echo "${ECHO_T}$ac_header_compiler" >&6; } ++ ++# Is the header present? ++{ echo "$as_me:$LINENO: checking dlfcn.h presence" >&5 ++echo $ECHO_N "checking dlfcn.h presence... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++_ACEOF ++if { (ac_try="$ac_cpp conftest.$ac_ext" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then ++ ac_header_preproc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_preproc=no ++fi + +- case "${host}" in +- *mingw32* | *windows32*) +- tcl_dbgx=d +- ;; +- *) +- tcl_dbgx=g +- ;; +- esac ++rm -f conftest.err conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ++echo "${ECHO_T}$ac_header_preproc" >&6; } ++ ++# So? What about this header? ++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in ++ yes:no: ) ++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: dlfcn.h: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: proceeding with the compiler's result" >&5 ++echo "$as_me: WARNING: dlfcn.h: proceeding with the compiler's result" >&2;} ++ ac_header_preproc=yes ++ ;; ++ no:yes:* ) ++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: dlfcn.h: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: dlfcn.h: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: see the Autoconf documentation" >&5 ++echo "$as_me: WARNING: dlfcn.h: see the Autoconf documentation" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: section \"Present But Cannot Be Compiled\"" >&5 ++echo "$as_me: WARNING: dlfcn.h: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: dlfcn.h: proceeding with the preprocessor's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: in the future, the compiler will take precedence" >&5 ++echo "$as_me: WARNING: dlfcn.h: in the future, the compiler will take precedence" >&2;} + +- echo "$as_me:$LINENO: checking for build with symbols" >&5 +-echo $ECHO_N "checking for build with symbols... $ECHO_C" >&6 +- # Check whether --enable-symbols or --disable-symbols was given. +-if test "${enable_symbols+set}" = set; then +- enableval="$enable_symbols" +- tcl_ok=$enableval ++ ;; ++esac ++{ echo "$as_me:$LINENO: checking for dlfcn.h" >&5 ++echo $ECHO_N "checking for dlfcn.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_dlfcn_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- tcl_ok=no +-fi; +- if test "$tcl_ok" = "yes"; then +- CFLAGS_DEFAULT="${CFLAGS_DEBUG}" +- LDFLAGS_DEFAULT="${LDFLAGS_DEBUG}" +- DBGX=${tcl_dbgx} +- TCL_DBGX=${tcl_dbgx} +- echo "$as_me:$LINENO: result: yes" >&5 +-echo "${ECHO_T}yes" >&6 +- else +- CFLAGS_DEFAULT="${CFLAGS_OPTIMIZE}" +- LDFLAGS_DEFAULT="${LDFLAGS_OPTIMIZE}" +- DBGX="" +- TCL_DBGX="" +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +- fi ++ ac_cv_header_dlfcn_h=$ac_header_preproc ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_header_dlfcn_h" >&5 ++echo "${ECHO_T}$ac_cv_header_dlfcn_h" >&6; } + ++fi ++if test $ac_cv_header_dlfcn_h = yes; then ++ ++ # NetBSD/SPARC needs -fPIC, -fpic will not do. ++ SHLIB_CFLAGS="-fPIC" ++ SHLIB_LD="ld -Bshareable -x" ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' ++ { echo "$as_me:$LINENO: checking for ELF" >&5 ++echo $ECHO_N "checking for ELF... $ECHO_C" >&6; } ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + ++#ifdef __ELF__ ++ yes ++#endif + ++_ACEOF ++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ++ $EGREP "yes" >/dev/null 2>&1; then ++ { echo "$as_me:$LINENO: result: yes" >&5 ++echo "${ECHO_T}yes" >&6; } ++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so' ++else ++ { echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6; } ++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0' + ++fi ++rm -f conftest* + + +-if test "${SHARED_BUILD}" = "1" ; then +- CFLAGS='${CFLAGS_DEFAULT} ${CFLAGS_WARNING} ${SHLIB_CFLAGS}' + else +- CFLAGS='${CFLAGS_DEFAULT} ${CFLAGS_WARNING}' ++ ++ SHLIB_CFLAGS="" ++ SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".a" ++ DL_OBJS="tclLoadAout.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' ++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' ++ + fi + +-#-------------------------------------------------------------------- +-# Everyone should be linking against the Tcl stub library. If you +-# can't for some reason, remove this definition. If you aren't using +-# stubs, you also need to modify the SHLIB_LD_LIBS setting below to +-# link against the non-stubbed Tcl library. +-#-------------------------------------------------------------------- + +-if test "${SHARED_BUILD}" = "1" ; then +- cat >>confdefs.h <<\_ACEOF +-#define USE_TCL_STUBS 1 ++ ++ # FreeBSD doesn't handle version numbers with dots. ++ ++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' ++ TCL_LIB_VERSIONS_OK=nodots ++ ;; ++ OpenBSD-*) ++ SHLIB_LD="${CC} -shared" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS="" ++ { echo "$as_me:$LINENO: checking for ELF" >&5 ++echo $ECHO_N "checking for ELF... $ECHO_C" >&6; } ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++#ifdef __ELF__ ++ yes ++#endif ++ + _ACEOF ++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ++ $EGREP "yes" >/dev/null 2>&1; then ++ { echo "$as_me:$LINENO: result: yes" >&5 ++echo "${ECHO_T}yes" >&6; } ++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0' ++else ++ { echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6; } ++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0' + + fi ++rm -f conftest* ++ ++ ++ # OpenBSD doesn't do version numbers with dots. ++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' ++ TCL_LIB_VERSIONS_OK=nodots ++ ;; ++ FreeBSD-*) ++ # FreeBSD 3.* and greater have ELF. ++ SHLIB_CFLAGS="-fPIC" ++ SHLIB_LD="ld -Bshareable -x" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="" ++ LDFLAGS="$LDFLAGS -export-dynamic" ++ LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' ++ if test "${TCL_THREADS}" = "1" ; then ++ # The -pthread needs to go in the CFLAGS, not LIBS ++ LIBS=`echo $LIBS | sed s/-pthread//` ++ CFLAGS="$CFLAGS -pthread" ++ LDFLAGS="$LDFLAGS -pthread" ++ fi ++ case $system in ++ FreeBSD-3.*) ++ # FreeBSD-3 doesn't handle version numbers with dots. ++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' ++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so' ++ TCL_LIB_VERSIONS_OK=nodots ++ ;; ++ esac ++ ;; ++ Darwin-*) ++ SHLIB_CFLAGS="-fno-common" ++ SHLIB_LD="cc -dynamiclib \${LDFLAGS}" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".dylib" ++ DL_OBJS="tclLoadDyld.o" ++ DL_LIBS="" ++ LDFLAGS="$LDFLAGS -prebind -Wl,-search_paths_first" ++ LD_SEARCH_FLAGS="" ++ LD_LIBRARY_PATH_VAR="DYLD_LIBRARY_PATH" ++ CFLAGS_OPTIMIZE="-Os" ++ ;; ++ NEXTSTEP-*) ++ SHLIB_CFLAGS="" ++ SHLIB_LD="cc -nostdlib -r" ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadNext.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS="" ++ ;; ++ OS/390-*) ++ CFLAGS_OPTIMIZE="" # Optimizer is buggy ++ cat >>confdefs.h <<\_ACEOF ++#define _OE_SOCKETS 1 ++_ACEOF ++ # needed in sys/socket.h ++ ;; ++ OSF1-1.0|OSF1-1.1|OSF1-1.2) ++ # OSF/1 1.[012] from OSF, and derivatives, including Paragon OSF/1 ++ SHLIB_CFLAGS="" ++ # Hack: make package name same as library name ++ SHLIB_LD='ld -R -export :' ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadOSF.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS="" ++ ;; ++ OSF1-1.*) ++ # OSF/1 1.3 from OSF using ELF, and derivatives, including AD2 ++ SHLIB_CFLAGS="-fPIC" ++ if test "$SHARED_BUILD" = "1" ; then ++ SHLIB_LD="ld -shared" ++ else ++ SHLIB_LD="ld -non_shared" ++ fi ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS="" ++ ;; ++ OSF1-V*) ++ # Digital OSF/1 ++ SHLIB_CFLAGS="" ++ if test "$SHARED_BUILD" = "1" ; then ++ SHLIB_LD='ld -shared -expect_unresolved "*"' ++ else ++ SHLIB_LD='ld -non_shared -expect_unresolved "*"' ++ fi ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}' ++ if test "$GCC" = "yes" ; then ++ CFLAGS="$CFLAGS -mieee" ++ else ++ CFLAGS="$CFLAGS -DHAVE_TZSET -std1 -ieee" ++ fi ++ # see pthread_intro(3) for pthread support on osf1, k.furukawa ++ if test "${TCL_THREADS}" = "1" ; then ++ CFLAGS="$CFLAGS -DHAVE_PTHREAD_ATTR_SETSTACKSIZE" ++ CFLAGS="$CFLAGS -DTCL_THREAD_STACK_MIN=PTHREAD_STACK_MIN*64" ++ LIBS=`echo $LIBS | sed s/-lpthreads//` ++ if test "$GCC" = "yes" ; then ++ LIBS="$LIBS -lpthread -lmach -lexc" ++ else ++ CFLAGS="$CFLAGS -pthread" ++ LDFLAGS="$LDFLAGS -pthread" ++ fi ++ fi ++ ++ ;; ++ QNX-6*) ++ # QNX RTP ++ # This may work for all QNX, but it was only reported for v6. ++ SHLIB_CFLAGS="-fPIC" ++ SHLIB_LD="ld -Bshareable -x" ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ # dlopen is in -lc on QNX ++ DL_LIBS="" ++ LD_SEARCH_FLAGS="" ++ ;; ++ RISCos-*) ++ SHLIB_CFLAGS="-G 0" ++ SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r -G 0" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".a" ++ DL_OBJS="tclLoadAout.o" ++ DL_LIBS="" ++ LDFLAGS="$LDFLAGS -Wl,-D,08000000" ++ LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' ++ ;; ++ SCO_SV-3.2*) ++ # Note, dlopen is available only on SCO 3.2.5 and greater. However, ++ # this test works, since "uname -s" was non-standard in 3.2.4 and ++ # below. ++ if test "$GCC" = "yes" ; then ++ SHLIB_CFLAGS="-fPIC -melf" ++ LDFLAGS="$LDFLAGS -melf -Wl,-Bexport" ++ else ++ SHLIB_CFLAGS="-Kpic -belf" ++ LDFLAGS="$LDFLAGS -belf -Wl,-Bexport" ++ fi ++ SHLIB_LD="ld -G" ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS="" ++ ;; ++ SINIX*5.4*) ++ SHLIB_CFLAGS="-K PIC" ++ SHLIB_LD="cc -G" ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ LD_SEARCH_FLAGS="" ++ ;; ++ SunOS-4*) ++ SHLIB_CFLAGS="-PIC" ++ SHLIB_LD="ld" ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' ++ ++ # SunOS can't handle version numbers with dots in them in library ++ # specs, like -ltcl7.5, so use -ltcl75 instead. Also, it ++ # requires an extra version number at the end of .so file names. ++ # So, the library has to have a name like libtcl75.so.1.0 ++ ++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0' ++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' ++ TCL_LIB_VERSIONS_OK=nodots ++ ;; ++ SunOS-5.[0-6]*) ++ ++ # Note: If _REENTRANT isn't defined, then Solaris ++ # won't define thread-safe library routines. ++ ++ cat >>confdefs.h <<\_ACEOF ++#define _REENTRANT 1 ++_ACEOF ++ ++ cat >>confdefs.h <<\_ACEOF ++#define _POSIX_PTHREAD_SEMANTICS 1 ++_ACEOF + +-#-------------------------------------------------------------------- +-# This macro generates a line to use when building a library. It +-# depends on values set by the SC_ENABLE_SHARED, SC_ENABLE_SYMBOLS, +-# and SC_LOAD_TCLCONFIG macros above. +-#-------------------------------------------------------------------- + ++ SHLIB_CFLAGS="-KPIC" + +- case "${host}" in +- *mingw32* | *windows32*) +- if test "${CC}" = "cl"; then +- MAKE_STATIC_LIB="\${STLIB_LD} -out:\$@ \$(\$@_OBJECTS) " +- MAKE_SHARED_LIB="\${SHLIB_LD} \${SHLIB_LDFLAGS} \${SHLIB_LD_LIBS} \$(LDFLAGS) -out:\$@ \$(\$@_OBJECTS) " ++ # Note: need the LIBS below, otherwise Tk won't find Tcl's ++ # symbols when dynamically loaded into tclsh. ++ ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ if test "$GCC" = "yes" ; then ++ SHLIB_LD="$CC -shared" ++ LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}' + else +- MAKE_STATIC_LIB="\${STLIB_LD} \$@ \$(\$@_OBJECTS) " +- POST_MAKE_STATIC_LIB="\${RANLIB} \$@" +- MAKE_SHARED_LIB="\${SHLIB_LD} -o \$@ \$(\$@_OBJECTS) \${SHLIB_LDFLAGS} \$(LDFLAGS) \${SHLIB_LD_LIBS} -Wl,--out-implib,\$(patsubst %.dll,lib%.a,\$@)" ++ SHLIB_LD="/usr/ccs/bin/ld -G -z text" ++ LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}' + fi + ;; +- *) +- MAKE_STATIC_LIB="\${STLIB_LD} \$@ \$(\$@_OBJECTS)" +- POST_MAKE_STATIC_LIB="\${RANLIB} \$@" +- MAKE_SHARED_LIB="\${SHLIB_LD} -o \$@ \$(\$@_OBJECTS) \${SHLIB_LDFLAGS} \${SHLIB_LD_LIBS}" ++ SunOS-5*) ++ ++ # Note: If _REENTRANT isn't defined, then Solaris ++ # won't define thread-safe library routines. ++ ++ cat >>confdefs.h <<\_ACEOF ++#define _REENTRANT 1 ++_ACEOF ++ ++ cat >>confdefs.h <<\_ACEOF ++#define _POSIX_PTHREAD_SEMANTICS 1 ++_ACEOF ++ ++ ++ SHLIB_CFLAGS="-KPIC" ++ ++ # Check to enable 64-bit flags for compiler/linker ++ if test "$do64bit" = "yes" ; then ++ arch=`isainfo` ++ if test "$arch" = "sparcv9 sparc" ; then ++ if test "$GCC" = "yes" ; then ++ if test "`gcc -dumpversion` | awk -F. '{print }'" -lt "3" ; then ++ { echo "$as_me:$LINENO: WARNING: 64bit mode not supported with GCC < 3.2 on $system" >&5 ++echo "$as_me: WARNING: 64bit mode not supported with GCC < 3.2 on $system" >&2;} ++ else ++ do64bit_ok=yes ++ CFLAGS="$CFLAGS -m64 -mcpu=v9" ++ LDFLAGS="$LDFLAGS -m64 -mcpu=v9" ++ SHLIB_CFLAGS="-fPIC" ++ fi ++ else ++ do64bit_ok=yes ++ if test "$do64bitVIS" = "yes" ; then ++ CFLAGS="$CFLAGS -xarch=v9a" ++ LDFLAGS="$LDFLAGS -xarch=v9a" ++ else ++ CFLAGS="$CFLAGS -xarch=v9" ++ LDFLAGS="$LDFLAGS -xarch=v9" ++ fi ++ fi ++ else ++ { echo "$as_me:$LINENO: WARNING: \"64bit mode only supported sparcv9 system\"" >&5 ++echo "$as_me: WARNING: \"64bit mode only supported sparcv9 system\"" >&2;} ++ fi ++ fi ++ ++ # Note: need the LIBS below, otherwise Tk won't find Tcl's ++ # symbols when dynamically loaded into tclsh. ++ ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ if test "$GCC" = "yes" ; then ++ SHLIB_LD="$CC -shared" ++ LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}' ++ if test "$do64bit" = "yes" ; then ++ # We need to specify -static-libgcc or we need to ++ # add the path to the sparv9 libgcc. ++ # JH: static-libgcc is necessary for core Tcl, but may ++ # not be necessary for extensions. ++ SHLIB_LD="$SHLIB_LD -m64 -mcpu=v9 -static-libgcc" ++ # for finding sparcv9 libgcc, get the regular libgcc ++ # path, remove so name and append 'sparcv9' ++ #v9gcclibdir="`gcc -print-file-name=libgcc_s.so` | ..." ++ #LD_SEARCH_FLAGS="${LD_SEARCH_FLAGS},-R,$v9gcclibdir" ++ fi ++ else ++ SHLIB_LD="/usr/ccs/bin/ld -G -z text" ++ LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}' ++ fi ++ ;; ++ ULTRIX-4.*) ++ SHLIB_CFLAGS="-G 0" ++ SHLIB_SUFFIX=".a" ++ SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r -G 0" ++ SHLIB_LD_LIBS='${LIBS}' ++ DL_OBJS="tclLoadAout.o" ++ DL_LIBS="" ++ LDFLAGS="$LDFLAGS -Wl,-D,08000000" ++ LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' ++ if test "$GCC" != "yes" ; then ++ CFLAGS="$CFLAGS -DHAVE_TZSET -std1" ++ fi ++ ;; ++ UNIX_SV* | UnixWare-5*) ++ SHLIB_CFLAGS="-KPIC" ++ SHLIB_LD="cc -G" ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ # Some UNIX_SV* systems (unixware 1.1.2 for example) have linkers ++ # that don't grok the -Bexport option. Test that it does. ++ hold_ldflags=$LDFLAGS ++ { echo "$as_me:$LINENO: checking for ld accepts -Bexport flag" >&5 ++echo $ECHO_N "checking for ld accepts -Bexport flag... $ECHO_C" >&6; } ++ LDFLAGS="$LDFLAGS -Wl,-Bexport" ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++int i; ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && ++ $as_test_x conftest$ac_exeext; then ++ found=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ LDFLAGS=$hold_ldflags found=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ ++ conftest$ac_exeext conftest.$ac_ext ++ { echo "$as_me:$LINENO: result: $found" >&5 ++echo "${ECHO_T}$found" >&6; } ++ LD_SEARCH_FLAGS="" + ;; + esac + +- if test "${SHARED_BUILD}" = "1" ; then +- MAKE_LIB=${MAKE_SHARED_LIB} +- else +- MAKE_LIB=${MAKE_STATIC_LIB} +- POST_MAKE_LIB=${POST_MAKE_STATIC_LIB} ++ if test "$do64bit" = "yes" -a "$do64bit_ok" = "no" ; then ++ { echo "$as_me:$LINENO: WARNING: \"64bit support being disabled -- don\'t know magic for this platform\"" >&5 ++echo "$as_me: WARNING: \"64bit support being disabled -- don\'t know magic for this platform\"" >&2;} + fi + ++ # Step 4: If pseudo-static linking is in use (see K. B. Kenny, "Dynamic ++ # Loading for Tcl -- What Became of It?". Proc. 2nd Tcl/Tk Workshop, ++ # New Orleans, LA, Computerized Processes Unlimited, 1994), then we need ++ # to determine which of several header files defines the a.out file ++ # format (a.out.h, sys/exec.h, or sys/exec_aout.h). At present, we ++ # support only a file format that is more or less version-7-compatible. ++ # In particular, ++ # - a.out files must begin with `struct exec'. ++ # - the N_TXTOFF on the `struct exec' must compute the seek address ++ # of the text segment ++ # - The `struct exec' must contain a_magic, a_text, a_data, a_bss ++ # and a_entry fields. ++ # The following compilation should succeed if and only if either sys/exec.h ++ # or a.out.h is usable for the purpose. ++ # ++ # Note that the modified COFF format used on MIPS Ultrix 4.x is usable; the ++ # `struct exec' includes a second header that contains information that ++ # duplicates the v7 fields that are needed. ++ ++ if test "x$DL_OBJS" = "xtclLoadAout.o" ; then ++ { echo "$as_me:$LINENO: checking sys/exec.h" >&5 ++echo $ECHO_N "checking sys/exec.h... $ECHO_C" >&6; } ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++int ++main () ++{ + ++ struct exec foo; ++ unsigned long seek; ++ int flag; ++#if defined(__mips) || defined(mips) ++ seek = N_TXTOFF (foo.ex_f, foo.ex_o); ++#else ++ seek = N_TXTOFF (foo); ++#endif ++ flag = (foo.a_magic == OMAGIC); ++ return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry; + ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ tcl_ok=usable ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + ++ tcl_ok=unusable ++fi + ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ { echo "$as_me:$LINENO: result: $tcl_ok" >&5 ++echo "${ECHO_T}$tcl_ok" >&6; } ++ if test $tcl_ok = usable; then ++ cat >>confdefs.h <<\_ACEOF ++#define USE_SYS_EXEC_H 1 ++_ACEOF + ++ else ++ { echo "$as_me:$LINENO: checking a.out.h" >&5 ++echo $ECHO_N "checking a.out.h... $ECHO_C" >&6; } ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++int ++main () ++{ + ++ struct exec foo; ++ unsigned long seek; ++ int flag; ++#if defined(__mips) || defined(mips) ++ seek = N_TXTOFF (foo.ex_f, foo.ex_o); ++#else ++ seek = N_TXTOFF (foo); ++#endif ++ flag = (foo.a_magic == OMAGIC); ++ return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry; + +-#-------------------------------------------------------------------- +-# eval these two values to dereference the ${DBGX} variable. +-#-------------------------------------------------------------------- ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ tcl_ok=usable ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + +-eval "SHARED_LIB_SUFFIX=${TCL_SHARED_LIB_SUFFIX}" +-eval "UNSHARED_LIB_SUFFIX=${TCL_UNSHARED_LIB_SUFFIX}" ++ tcl_ok=unusable ++fi + +-#-------------------------------------------------------------------- +-# Shared libraries and static libraries have different names. +-#-------------------------------------------------------------------- ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ { echo "$as_me:$LINENO: result: $tcl_ok" >&5 ++echo "${ECHO_T}$tcl_ok" >&6; } ++ if test $tcl_ok = usable; then ++ cat >>confdefs.h <<\_ACEOF ++#define USE_A_OUT_H 1 ++_ACEOF + +-# CYGNUS LOCAL ++ else ++ { echo "$as_me:$LINENO: checking sys/exec_aout.h" >&5 ++echo $ECHO_N "checking sys/exec_aout.h... $ECHO_C" >&6; } ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++int ++main () ++{ + +-if test "${SHARED_BUILD}" = "1" ; then +- # FIXME: Need to devise a TCL_TOOL macro to deal with this! +- case "${host}" in +- *cygwin* | *mingw32* | *windows32*) +- SHLIB_LD_LIBS="${TCL_BUILD_STUB_LIB_SPEC} ${TCL_SHLIB_LD_LIBS}" +- # Need to link to the .a or .lib not the .dll! +- +- libname=${PACKAGE} +- suffix=${SHARED_LIB_SUFFIX} +- +- case "${host}" in +- *windows32* | *mingw32* | *cygwin*) +- eval "long_libname=\"${TCL_VENDOR_PREFIX}${libname}${suffix}\"" +- ;; +- *) +- eval "long_libname=\"lib${TCL_VENDOR_PREFIX}${libname}${suffix}\"" +- ;; +- esac ++ struct exec foo; ++ unsigned long seek; ++ int flag; ++#if defined(__mips) || defined(mips) ++ seek = N_TXTOFF (foo.ex_f, foo.ex_o); ++#else ++ seek = N_TXTOFF (foo); ++#endif ++ flag = (foo.a_midmag == OMAGIC); ++ return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry; ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ tcl_ok=usable ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + +- eval "long_libname=${long_libname}" ++ tcl_ok=unusable ++fi + +- # Trick to replace DBGX with TCL_DBGX +- DBGX='${TCL_DBGX}' +- eval "long_libname=${long_libname}" ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ { echo "$as_me:$LINENO: result: $tcl_ok" >&5 ++echo "${ECHO_T}$tcl_ok" >&6; } ++ if test $tcl_ok = usable; then ++ cat >>confdefs.h <<\_ACEOF ++#define USE_SYS_EXEC_AOUT_H 1 ++_ACEOF + +- ITCL_SHLIB_FILE=$long_libname ++ else ++ DL_OBJS="" ++ fi ++ fi ++ fi ++ fi + ++ # Step 5: disable dynamic loading if requested via a command-line switch. ++ ++ # Check whether --enable-load was given. ++if test "${enable_load+set}" = set; then ++ enableval=$enable_load; tcl_ok=$enableval ++else ++ tcl_ok=yes ++fi ++ ++ if test "$tcl_ok" = "no"; then ++ DL_OBJS="" ++ fi ++ ++ if test "x$DL_OBJS" != "x" ; then ++ BUILD_DLTEST="\$(DLTEST_TARGETS)" ++ else ++ echo "Can't figure out how to do dynamic loading or shared libraries" ++ echo "on this system." ++ SHLIB_CFLAGS="" ++ SHLIB_LD="" ++ SHLIB_SUFFIX="" ++ DL_OBJS="tclLoadNone.o" ++ DL_LIBS="" ++ LDFLAGS="$LDFLAGS_ORIG" ++ LD_SEARCH_FLAGS="" ++ BUILD_DLTEST="" ++ fi ++ ++ # If we're running gcc, then change the C flags for compiling shared ++ # libraries to the right flags for gcc, instead of those for the ++ # standard manufacturer compiler. ++ ++ if test "$DL_OBJS" != "tclLoadNone.o" ; then ++ if test "$GCC" = "yes" ; then ++ case $system in ++ AIX-*) ++ ;; ++ BSD/OS*) ++ ;; ++ IRIX*) ++ ;; ++ NetBSD-*|FreeBSD-*) ++ ;; ++ Darwin-*) ++ ;; ++ RISCos-*) ++ ;; ++ SCO_SV-3.2*) ++ ;; ++ ULTRIX-4.*) ++ ;; ++ windows) ++ ;; ++ *) ++ SHLIB_CFLAGS="-fPIC" ++ ;; ++ esac ++ fi ++ fi ++ ++ if test "$SHARED_LIB_SUFFIX" = "" ; then ++ SHARED_LIB_SUFFIX='${PACKAGE_VERSION}${SHLIB_SUFFIX}' ++ fi ++ if test "$UNSHARED_LIB_SUFFIX" = "" ; then ++ UNSHARED_LIB_SUFFIX='${PACKAGE_VERSION}.a' ++ fi + +- libname=${PACKAGE} +- suffix=${UNSHARED_LIB_SUFFIX} + +- case "${host}" in +- *windows32* | *mingw32*) +- if test "$GCC" != yes; then +- eval "long_libname=\"${TCL_VENDOR_PREFIX}${libname}${suffix}\"" +- else +- eval "long_libname=\"lib${TCL_VENDOR_PREFIX}${libname}${suffix}\"" +- fi +- ;; +- *) +- eval "long_libname=\"lib${TCL_VENDOR_PREFIX}${libname}${suffix}\"" +- ;; +- esac + +- eval "long_libname=${long_libname}" + +- # Trick to replace DBGX with TCL_DBGX +- DBGX='${TCL_DBGX}' +- eval "long_libname=${long_libname}" + +- ITCL_LIB_FILE=$long_libname + +- ITCL_TARGET_FILE=${ITCL_SHLIB_FILE} +- ;; +- *) +- SHLIB_LD_LIBS="${TCL_BUILD_LIB_SPEC}" + +- libname=${PACKAGE} +- suffix=${SHARED_LIB_SUFFIX} + +- case "${host}" in +- *windows32* | *mingw32* | *cygwin*) +- eval "long_libname=\"${TCL_VENDOR_PREFIX}${libname}${suffix}\"" +- ;; +- *) +- eval "long_libname=\"lib${TCL_VENDOR_PREFIX}${libname}${suffix}\"" +- ;; +- esac + +- eval "long_libname=${long_libname}" + +- # Trick to replace DBGX with TCL_DBGX +- DBGX='${TCL_DBGX}' +- eval "long_libname=${long_libname}" + +- ITCL_LIB_FILE=$long_libname + +- ITCL_TARGET_FILE=${ITCL_LIB_FILE} +- ;; +- esac +-else + +- libname=${PACKAGE} +- suffix=${UNSHARED_LIB_SUFFIX} + +- case "${host}" in +- *windows32* | *mingw32*) +- if test "$GCC" != yes; then +- eval "long_libname=\"${TCL_VENDOR_PREFIX}${libname}${suffix}\"" +- else +- eval "long_libname=\"lib${TCL_VENDOR_PREFIX}${libname}${suffix}\"" +- fi +- ;; +- *) +- eval "long_libname=\"lib${TCL_VENDOR_PREFIX}${libname}${suffix}\"" +- ;; +- esac ++ # These must be called after we do the basic CFLAGS checks and ++ # verify any possible 64-bit or similar switches are necessary ++ ++ { echo "$as_me:$LINENO: checking for required early compiler flags" >&5 ++echo $ECHO_N "checking for required early compiler flags... $ECHO_C" >&6; } ++ tcl_flags="" ++ ++ if test "${tcl_cv_flag__isoc99_source+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++int ++main () ++{ ++char *p = (char *)strtoll; char *q = (char *)strtoull; ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ tcl_cv_flag__isoc99_source=no ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + +- eval "long_libname=${long_libname}" ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#define _ISOC99_SOURCE 1 ++#include ++int ++main () ++{ ++char *p = (char *)strtoll; char *q = (char *)strtoull; ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ tcl_cv_flag__isoc99_source=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + +- # Trick to replace DBGX with TCL_DBGX +- DBGX='${TCL_DBGX}' +- eval "long_libname=${long_libname}" ++ tcl_cv_flag__isoc99_source=no ++fi + +- ITCL_LIB_FILE=$long_libname ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi + +- ITCL_TARGET_FILE=${ITCL_LIB_FILE} ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + ++ if test "x${tcl_cv_flag__isoc99_source}" = "xyes" ; then ++ cat >>confdefs.h <<\_ACEOF ++#define _ISOC99_SOURCE 1 ++_ACEOF + +- libname=${PACKAGE}stub +- suffix=${UNSHARED_LIB_SUFFIX} ++ tcl_flags="$tcl_flags _ISOC99_SOURCE" ++ fi + +- case "${host}" in +- *windows32* | *mingw32*) +- if test "$GCC" != yes; then +- eval "long_libname=\"${TCL_VENDOR_PREFIX}${libname}${suffix}\"" +- else +- eval "long_libname=\"lib${TCL_VENDOR_PREFIX}${libname}${suffix}\"" +- fi +- ;; +- *) +- eval "long_libname=\"lib${TCL_VENDOR_PREFIX}${libname}${suffix}\"" +- ;; +- esac + +- eval "long_libname=${long_libname}" ++ if test "${tcl_cv_flag__largefile64_source+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++int ++main () ++{ ++struct stat64 buf; int i = stat64("/", &buf); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ tcl_cv_flag__largefile64_source=no ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#define _LARGEFILE64_SOURCE 1 ++#include ++int ++main () ++{ ++struct stat64 buf; int i = stat64("/", &buf); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ tcl_cv_flag__largefile64_source=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ tcl_cv_flag__largefile64_source=no ++fi + +- # Trick to replace DBGX with TCL_DBGX +- DBGX='${TCL_DBGX}' +- eval "long_libname=${long_libname}" ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi + +- ITCL_STUB_LIB_FILE=$long_libname ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi + ++ if test "x${tcl_cv_flag__largefile64_source}" = "xyes" ; then ++ cat >>confdefs.h <<\_ACEOF ++#define _LARGEFILE64_SOURCE 1 ++_ACEOF + ++ tcl_flags="$tcl_flags _LARGEFILE64_SOURCE" ++ fi + ++ if test "x${tcl_flags}" = "x" ; then ++ { echo "$as_me:$LINENO: result: none" >&5 ++echo "${ECHO_T}none" >&6; } ++ else ++ { echo "$as_me:$LINENO: result: ${tcl_flags}" >&5 ++echo "${ECHO_T}${tcl_flags}" >&6; } ++ fi + + ++ { echo "$as_me:$LINENO: checking for 64-bit integer type" >&5 ++echo $ECHO_N "checking for 64-bit integer type... $ECHO_C" >&6; } ++ if test "${tcl_cv_type_64bit+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else + +- libname=${PACKAGE} +- version=${VERSION} ++ tcl_cv_type_64bit=none ++ # See if the compiler knows natively about __int64 ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + +- # If the . character is not allowed in lib name, remove it from version +- if test "${TCL_LIB_VERSIONS_OK}" != "ok"; then +- version=`echo $version | tr -d .` +- fi ++int ++main () ++{ ++__int64 value = (__int64) 0; ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ tcl_type_64bit=__int64 ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + +- short_libname="-l${TCL_VENDOR_PREFIX}${libname}${version}\${TCL_DBGX}" +- ITCL_LIB_FLAG=$short_libname ++ tcl_type_64bit="long long" ++fi + ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ # See if we should use long anyway Note that we substitute in the ++ # type that is our current guess for a 64-bit type inside this check ++ # program, so it should be modified only carefully... ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + +- libname=${PACKAGE}stub +- version=${VERSION} ++int ++main () ++{ ++switch (0) { ++ case 1: case (sizeof(${tcl_type_64bit})==sizeof(long)): ; ++ } ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ tcl_cv_type_64bit=${tcl_type_64bit} ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + +- # If the . character is not allowed in lib name, remove it from version +- if test "${TCL_LIB_VERSIONS_OK}" != "ok"; then +- version=`echo $version | tr -d .` +- fi + +- short_libname="-l${TCL_VENDOR_PREFIX}${libname}${version}\${TCL_DBGX}" +- ITCL_STUB_LIB_FLAG=$short_libname ++fi + ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi + ++ if test "${tcl_cv_type_64bit}" = none ; then ++ cat >>confdefs.h <<\_ACEOF ++#define TCL_WIDE_INT_IS_LONG 1 ++_ACEOF + +- case "${host}" in +- *windows32* | *mingw32*) +- if test "$GCC" != yes; then ++ { echo "$as_me:$LINENO: result: using long" >&5 ++echo "${ECHO_T}using long" >&6; } ++ elif test "${tcl_cv_type_64bit}" = "__int64" \ ++ -a "${TEA_PLATFORM}" = "windows" ; then ++ # We actually want to use the default tcl.h checks in this ++ # case to handle both TCL_WIDE_INT_TYPE and TCL_LL_MODIFIER* ++ { echo "$as_me:$LINENO: result: using Tcl header defaults" >&5 ++echo "${ECHO_T}using Tcl header defaults" >&6; } ++ else ++ cat >>confdefs.h <<_ACEOF ++#define TCL_WIDE_INT_TYPE ${tcl_cv_type_64bit} ++_ACEOF + +- val="`pwd`/${ITCL_LIB_FLAG}" ++ { echo "$as_me:$LINENO: result: ${tcl_cv_type_64bit}" >&5 ++echo "${ECHO_T}${tcl_cv_type_64bit}" >&6; } + +- if test "$val" = "" ; then +- { { echo "$as_me:$LINENO: error: Empty value for variable ITCL_BUILD_LIB_SPEC" >&5 +-echo "$as_me: error: Empty value for variable ITCL_BUILD_LIB_SPEC" >&2;} +- { (exit 1); exit 1; }; } +- fi ++ # Now check for auxiliary declarations ++ { echo "$as_me:$LINENO: checking for struct dirent64" >&5 ++echo $ECHO_N "checking for struct dirent64... $ECHO_C" >&6; } ++ if test "${tcl_cv_struct_dirent64+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else + +- case "${host}" in +- *windows32* | *mingw32*) +- if test "${CYGPATH}" = ""; then +- { { echo "$as_me:$LINENO: error: CYGPATH variable is not defined." >&5 +-echo "$as_me: error: CYGPATH variable is not defined." >&2;} +- { (exit 1); exit 1; }; } +- elif test "${CYGPATH}" = "echo"; then +- # No cygpath when cross compiling +- ITCL_BUILD_LIB_SPEC=$val +- else +- # store literal argument text in a variable +- val=$val +- # Convert Cygwin to Windows path (/tmp/foo -> C:\Tmp\foo) +- val="`${CYGPATH} $val`" +- # Convert path like C:\Tmp\foo to C:/Tmp/foo +- ITCL_BUILD_LIB_SPEC="`echo $val | sed -e s#\\\\\\\\#/#g`" +- fi +- ;; +- *) +- # Default to a no-op under Unix or Cygwin gcc +- ITCL_BUILD_LIB_SPEC=$val +- ;; +- esac ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++#include ++int ++main () ++{ ++struct dirent64 p; ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ tcl_cv_struct_dirent64=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + +- else ++ tcl_cv_struct_dirent64=no ++fi + +- val=`pwd` ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi + +- if test "$val" = "" ; then +- { { echo "$as_me:$LINENO: error: Empty value for variable dirname" >&5 +-echo "$as_me: error: Empty value for variable dirname" >&2;} +- { (exit 1); exit 1; }; } +- fi ++ if test "x${tcl_cv_struct_dirent64}" = "xyes" ; then ++ cat >>confdefs.h <<\_ACEOF ++#define HAVE_STRUCT_DIRENT64 1 ++_ACEOF + +- case "${host}" in +- *windows32* | *mingw32*) +- if test "${CYGPATH}" = ""; then +- { { echo "$as_me:$LINENO: error: CYGPATH variable is not defined." >&5 +-echo "$as_me: error: CYGPATH variable is not defined." >&2;} +- { (exit 1); exit 1; }; } +- elif test "${CYGPATH}" = "echo"; then +- # No cygpath when cross compiling +- dirname=$val +- else +- # store literal argument text in a variable +- val=$val +- # Convert Cygwin to Windows path (/tmp/foo -> C:\Tmp\foo) +- val="`${CYGPATH} $val`" +- # Convert path like C:\Tmp\foo to C:/Tmp/foo +- dirname="`echo $val | sed -e s#\\\\\\\\#/#g`" +- fi +- ;; +- *) +- # Default to a no-op under Unix or Cygwin gcc +- dirname=$val +- ;; +- esac ++ fi ++ { echo "$as_me:$LINENO: result: ${tcl_cv_struct_dirent64}" >&5 ++echo "${ECHO_T}${tcl_cv_struct_dirent64}" >&6; } + +- ITCL_BUILD_LIB_SPEC="-L${dirname} ${ITCL_LIB_FLAG}" +- fi +- ;; +- *) +- ITCL_BUILD_LIB_SPEC="-L`pwd` ${ITCL_LIB_FLAG}" +- ;; +- esac ++ { echo "$as_me:$LINENO: checking for struct stat64" >&5 ++echo $ECHO_N "checking for struct stat64... $ECHO_C" >&6; } ++ if test "${tcl_cv_struct_stat64+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else + ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++int ++main () ++{ ++struct stat64 p; + +- case "${host}" in +- *windows32* | *mingw32*) +- if test "$GCC" != yes; then +- +- val="`pwd`/${ITCL_STUB_LIB_FLAG}" +- +- if test "$val" = "" ; then +- { { echo "$as_me:$LINENO: error: Empty value for variable ITCL_BUILD_STUB_LIB_SPEC" >&5 +-echo "$as_me: error: Empty value for variable ITCL_BUILD_STUB_LIB_SPEC" >&2;} +- { (exit 1); exit 1; }; } +- fi ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ tcl_cv_struct_stat64=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + +- case "${host}" in +- *windows32* | *mingw32*) +- if test "${CYGPATH}" = ""; then +- { { echo "$as_me:$LINENO: error: CYGPATH variable is not defined." >&5 +-echo "$as_me: error: CYGPATH variable is not defined." >&2;} +- { (exit 1); exit 1; }; } +- elif test "${CYGPATH}" = "echo"; then +- # No cygpath when cross compiling +- ITCL_BUILD_STUB_LIB_SPEC=$val +- else +- # store literal argument text in a variable +- val=$val +- # Convert Cygwin to Windows path (/tmp/foo -> C:\Tmp\foo) +- val="`${CYGPATH} $val`" +- # Convert path like C:\Tmp\foo to C:/Tmp/foo +- ITCL_BUILD_STUB_LIB_SPEC="`echo $val | sed -e s#\\\\\\\\#/#g`" +- fi +- ;; +- *) +- # Default to a no-op under Unix or Cygwin gcc +- ITCL_BUILD_STUB_LIB_SPEC=$val +- ;; +- esac ++ tcl_cv_struct_stat64=no ++fi + +- else ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi + +- val=`pwd` ++ if test "x${tcl_cv_struct_stat64}" = "xyes" ; then ++ cat >>confdefs.h <<\_ACEOF ++#define HAVE_STRUCT_STAT64 1 ++_ACEOF + +- if test "$val" = "" ; then +- { { echo "$as_me:$LINENO: error: Empty value for variable dirname" >&5 +-echo "$as_me: error: Empty value for variable dirname" >&2;} +- { (exit 1); exit 1; }; } +- fi ++ fi ++ { echo "$as_me:$LINENO: result: ${tcl_cv_struct_stat64}" >&5 ++echo "${ECHO_T}${tcl_cv_struct_stat64}" >&6; } + +- case "${host}" in +- *windows32* | *mingw32*) +- if test "${CYGPATH}" = ""; then +- { { echo "$as_me:$LINENO: error: CYGPATH variable is not defined." >&5 +-echo "$as_me: error: CYGPATH variable is not defined." >&2;} +- { (exit 1); exit 1; }; } +- elif test "${CYGPATH}" = "echo"; then +- # No cygpath when cross compiling +- dirname=$val +- else +- # store literal argument text in a variable +- val=$val +- # Convert Cygwin to Windows path (/tmp/foo -> C:\Tmp\foo) +- val="`${CYGPATH} $val`" +- # Convert path like C:\Tmp\foo to C:/Tmp/foo +- dirname="`echo $val | sed -e s#\\\\\\\\#/#g`" +- fi +- ;; +- *) +- # Default to a no-op under Unix or Cygwin gcc +- dirname=$val +- ;; +- esac ++ { echo "$as_me:$LINENO: checking for off64_t" >&5 ++echo $ECHO_N "checking for off64_t... $ECHO_C" >&6; } ++ if test "${tcl_cv_type_off64_t+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else + +- ITCL_BUILD_STUB_LIB_SPEC="-L${dirname} ${ITCL_STUB_LIB_FLAG}" +- fi +- ;; +- *) +- ITCL_BUILD_STUB_LIB_SPEC="-L`pwd` ${ITCL_STUB_LIB_FLAG}" +- ;; +- esac ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include ++int ++main () ++{ ++off64_t offset; + ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ tcl_cv_type_off64_t=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 + ++ tcl_cv_type_off64_t=no ++fi + ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi + ++ if test "x${tcl_cv_type_off64_t}" = "xyes" ; then ++ cat >>confdefs.h <<\_ACEOF ++#define HAVE_TYPE_OFF64_T 1 ++_ACEOF + +- case "${host}" in +- *windows32* | *mingw32*) +- if test "$GCC" != yes; then +- +- val="${exec_prefix}/lib/${ITCL_LIB_FLAG}" +- +- if test "$val" = "" ; then +- { { echo "$as_me:$LINENO: error: Empty value for variable ITCL_LIB_SPEC" >&5 +-echo "$as_me: error: Empty value for variable ITCL_LIB_SPEC" >&2;} +- { (exit 1); exit 1; }; } +- fi ++ fi ++ { echo "$as_me:$LINENO: result: ${tcl_cv_type_off64_t}" >&5 ++echo "${ECHO_T}${tcl_cv_type_off64_t}" >&6; } ++ fi + +- case "${host}" in +- *windows32* | *mingw32*) +- if test "${CYGPATH}" = ""; then +- { { echo "$as_me:$LINENO: error: CYGPATH variable is not defined." >&5 +-echo "$as_me: error: CYGPATH variable is not defined." >&2;} +- { (exit 1); exit 1; }; } +- elif test "${CYGPATH}" = "echo"; then +- # No cygpath when cross compiling +- ITCL_LIB_SPEC=$val +- else +- # store literal argument text in a variable +- val=$val +- # Convert Cygwin to Windows path (/tmp/foo -> C:\Tmp\foo) +- val="`${CYGPATH} $val`" +- # Convert path like C:\Tmp\foo to C:/Tmp/foo +- ITCL_LIB_SPEC="`echo $val | sed -e s#\\\\\\\\#/#g`" +- fi +- ;; +- *) +- # Default to a no-op under Unix or Cygwin gcc +- ITCL_LIB_SPEC=$val +- ;; +- esac + +- else + +- val=${exec_prefix}/lib ++#-------------------------------------------------------------------- ++# Set the default compiler switches based on the --enable-symbols ++# option. ++#-------------------------------------------------------------------- + +- if test "$val" = "" ; then +- { { echo "$as_me:$LINENO: error: Empty value for variable dirname" >&5 +-echo "$as_me: error: Empty value for variable dirname" >&2;} +- { (exit 1); exit 1; }; } +- fi + +- case "${host}" in +- *windows32* | *mingw32*) +- if test "${CYGPATH}" = ""; then +- { { echo "$as_me:$LINENO: error: CYGPATH variable is not defined." >&5 +-echo "$as_me: error: CYGPATH variable is not defined." >&2;} +- { (exit 1); exit 1; }; } +- elif test "${CYGPATH}" = "echo"; then +- # No cygpath when cross compiling +- dirname=$val +- else +- # store literal argument text in a variable +- val=$val +- # Convert Cygwin to Windows path (/tmp/foo -> C:\Tmp\foo) +- val="`${CYGPATH} $val`" +- # Convert path like C:\Tmp\foo to C:/Tmp/foo +- dirname="`echo $val | sed -e s#\\\\\\\\#/#g`" +- fi +- ;; +- *) +- # Default to a no-op under Unix or Cygwin gcc +- dirname=$val +- ;; +- esac + +- ITCL_LIB_SPEC="-L${dirname} ${ITCL_LIB_FLAG}" +- fi +- ;; +- *) +- ITCL_LIB_SPEC="-L${exec_prefix}/lib ${ITCL_LIB_FLAG}" +- ;; +- esac + ++ DBGX="" + +- case "${host}" in +- *windows32* | *mingw32*) +- if test "$GCC" != yes; then +- +- val="${exec_prefix}/lib/${ITCL_STUB_LIB_FLAG}" +- +- if test "$val" = "" ; then +- { { echo "$as_me:$LINENO: error: Empty value for variable ITCL_STUB_LIB_SPEC" >&5 +-echo "$as_me: error: Empty value for variable ITCL_STUB_LIB_SPEC" >&2;} +- { (exit 1); exit 1; }; } +- fi ++ { echo "$as_me:$LINENO: checking for build with symbols" >&5 ++echo $ECHO_N "checking for build with symbols... $ECHO_C" >&6; } ++ # Check whether --enable-symbols was given. ++if test "${enable_symbols+set}" = set; then ++ enableval=$enable_symbols; tcl_ok=$enableval ++else ++ tcl_ok=no ++fi + +- case "${host}" in +- *windows32* | *mingw32*) +- if test "${CYGPATH}" = ""; then +- { { echo "$as_me:$LINENO: error: CYGPATH variable is not defined." >&5 +-echo "$as_me: error: CYGPATH variable is not defined." >&2;} +- { (exit 1); exit 1; }; } +- elif test "${CYGPATH}" = "echo"; then +- # No cygpath when cross compiling +- ITCL_STUB_LIB_SPEC=$val +- else +- # store literal argument text in a variable +- val=$val +- # Convert Cygwin to Windows path (/tmp/foo -> C:\Tmp\foo) +- val="`${CYGPATH} $val`" +- # Convert path like C:\Tmp\foo to C:/Tmp/foo +- ITCL_STUB_LIB_SPEC="`echo $val | sed -e s#\\\\\\\\#/#g`" +- fi +- ;; +- *) +- # Default to a no-op under Unix or Cygwin gcc +- ITCL_STUB_LIB_SPEC=$val +- ;; +- esac ++ if test "$tcl_ok" = "no"; then ++ CFLAGS_DEFAULT="${CFLAGS_OPTIMIZE}" ++ LDFLAGS_DEFAULT="${LDFLAGS_OPTIMIZE}" ++ { echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6; } ++ else ++ CFLAGS_DEFAULT="${CFLAGS_DEBUG}" ++ LDFLAGS_DEFAULT="${LDFLAGS_DEBUG}" ++ if test "$tcl_ok" = "yes"; then ++ { echo "$as_me:$LINENO: result: yes (standard debugging)" >&5 ++echo "${ECHO_T}yes (standard debugging)" >&6; } ++ fi ++ fi ++ if test "${TEA_PLATFORM}" != "windows" ; then ++ LDFLAGS_DEFAULT="${LDFLAGS}" ++ fi + +- else + +- val=${exec_prefix}/lib + +- if test "$val" = "" ; then +- { { echo "$as_me:$LINENO: error: Empty value for variable dirname" >&5 +-echo "$as_me: error: Empty value for variable dirname" >&2;} +- { (exit 1); exit 1; }; } +- fi + +- case "${host}" in +- *windows32* | *mingw32*) +- if test "${CYGPATH}" = ""; then +- { { echo "$as_me:$LINENO: error: CYGPATH variable is not defined." >&5 +-echo "$as_me: error: CYGPATH variable is not defined." >&2;} +- { (exit 1); exit 1; }; } +- elif test "${CYGPATH}" = "echo"; then +- # No cygpath when cross compiling +- dirname=$val +- else +- # store literal argument text in a variable +- val=$val +- # Convert Cygwin to Windows path (/tmp/foo -> C:\Tmp\foo) +- val="`${CYGPATH} $val`" +- # Convert path like C:\Tmp\foo to C:/Tmp/foo +- dirname="`echo $val | sed -e s#\\\\\\\\#/#g`" +- fi +- ;; +- *) +- # Default to a no-op under Unix or Cygwin gcc +- dirname=$val +- ;; +- esac + +- ITCL_STUB_LIB_SPEC="-L${dirname} ${ITCL_STUB_LIB_FLAG}" +- fi +- ;; +- *) +- ITCL_STUB_LIB_SPEC="-L${exec_prefix}/lib ${ITCL_STUB_LIB_FLAG}" +- ;; +- esac ++ if test "$tcl_ok" = "mem" -o "$tcl_ok" = "all"; then ++ cat >>confdefs.h <<\_ACEOF ++#define TCL_MEM_DEBUG 1 ++_ACEOF + ++ fi + ++ if test "$tcl_ok" != "yes" -a "$tcl_ok" != "no"; then ++ if test "$tcl_ok" = "all"; then ++ { echo "$as_me:$LINENO: result: enabled symbols mem debugging" >&5 ++echo "${ECHO_T}enabled symbols mem debugging" >&6; } ++ else ++ { echo "$as_me:$LINENO: result: enabled $tcl_ok debugging" >&5 ++echo "${ECHO_T}enabled $tcl_ok debugging" >&6; } ++ fi ++ fi + + ++#-------------------------------------------------------------------- ++# Everyone should be linking against the Tcl stub library. If you ++# can't for some reason, remove this definition. If you aren't using ++# stubs, you also need to modify the SHLIB_LD_LIBS setting below to ++# link against the non-stubbed Tcl library. ++#-------------------------------------------------------------------- + ++if test "${SHARED_BUILD}" = "1" ; then ++ cat >>confdefs.h <<\_ACEOF ++#define USE_TCL_STUBS 1 ++_ACEOF + +- val="`pwd`/${ITCL_LIB_FILE}" ++fi + +- if test "$val" = "" ; then +- { { echo "$as_me:$LINENO: error: Empty value for variable ITCL_LIB_FULL_PATH" >&5 +-echo "$as_me: error: Empty value for variable ITCL_LIB_FULL_PATH" >&2;} +- { (exit 1); exit 1; }; } +- fi ++#-------------------------------------------------------------------- ++# This macro generates a line to use when building a library. It ++# depends on values set by the TEA_ENABLE_SHARED, TEA_ENABLE_SYMBOLS, ++# and TEA_LOAD_TCLCONFIG macros above. ++#-------------------------------------------------------------------- + +- case "${host}" in +- *windows32* | *mingw32*) +- if test "${CYGPATH}" = ""; then +- { { echo "$as_me:$LINENO: error: CYGPATH variable is not defined." >&5 +-echo "$as_me: error: CYGPATH variable is not defined." >&2;} +- { (exit 1); exit 1; }; } +- elif test "${CYGPATH}" = "echo"; then +- # No cygpath when cross compiling +- ITCL_LIB_FULL_PATH=$val +- else +- # store literal argument text in a variable +- val=$val +- # Convert Cygwin to Windows path (/tmp/foo -> C:\Tmp\foo) +- val="`${CYGPATH} $val`" +- # Convert path like C:\Tmp\foo to C:/Tmp/foo +- ITCL_LIB_FULL_PATH="`echo $val | sed -e s#\\\\\\\\#/#g`" +- fi +- ;; +- *) +- # Default to a no-op under Unix or Cygwin gcc +- ITCL_LIB_FULL_PATH=$val +- ;; +- esac + ++ if test "${TEA_PLATFORM}" = "windows" -a "$GCC" != "yes"; then ++ MAKE_STATIC_LIB="\${STLIB_LD} -out:\$@ \$(PKG_OBJECTS)" ++ MAKE_SHARED_LIB="\${SHLIB_LD} \${SHLIB_LD_LIBS} \${LDFLAGS_DEFAULT} -out:\$@ \$(PKG_OBJECTS)" ++ MAKE_STUB_LIB="\${STLIB_LD} -out:\$@ \$(PKG_STUB_OBJECTS)" ++ else ++ MAKE_STATIC_LIB="\${STLIB_LD} \$@ \$(PKG_OBJECTS)" ++ MAKE_SHARED_LIB="\${SHLIB_LD} -o \$@ \$(PKG_OBJECTS) \${SHLIB_LD_LIBS}" ++ MAKE_STUB_LIB="\${STLIB_LD} \$@ \$(PKG_STUB_OBJECTS)" ++ fi + ++ if test "${SHARED_BUILD}" = "1" ; then ++ MAKE_LIB="${MAKE_SHARED_LIB} " ++ else ++ MAKE_LIB="${MAKE_STATIC_LIB} " ++ fi + ++ #-------------------------------------------------------------------- ++ # Shared libraries and static libraries have different names. ++ # Use the double eval to make sure any variables in the suffix is ++ # substituted. (@@@ Might not be necessary anymore) ++ #-------------------------------------------------------------------- ++ ++ if test "${TEA_PLATFORM}" = "windows" ; then ++ if test "${SHARED_BUILD}" = "1" ; then ++ # We force the unresolved linking of symbols that are really in ++ # the private libraries of Tcl and Tk. ++ SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \"`${CYGPATH} ${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}`\"" ++ if test x"${TK_BIN_DIR}" != x ; then ++ SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \"`${CYGPATH} ${TK_BIN_DIR}/${TK_STUB_LIB_FILE}`\"" ++ fi ++ eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${SHARED_LIB_SUFFIX}" ++ else ++ eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}" ++ fi ++ # Some packages build there own stubs libraries ++ if test "$GCC" = "yes"; then ++ eval eval "PKG_STUB_LIB_FILE=lib${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}" ++ else ++ eval eval "PKG_STUB_LIB_FILE=${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}" ++ fi + +- val="`pwd`/${ITCL_STUB_LIB_FILE}" ++ # These aren't needed on Windows (either MSVC or gcc) ++ RANLIB=: ++ RANLIB_STUB=: ++ else ++ RANLIB_STUB="${RANLIB}" ++ if test "${SHARED_BUILD}" = "1" ; then ++ SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TCL_STUB_LIB_SPEC}" ++ if test x"${TK_BIN_DIR}" != x ; then ++ SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TK_STUB_LIB_SPEC}" ++ fi ++ eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${SHARED_LIB_SUFFIX}" ++ RANLIB=: ++ else ++ eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}" ++ fi ++ # Some packages build there own stubs libraries ++ eval eval "PKG_STUB_LIB_FILE=lib${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}" ++ fi + +- if test "$val" = "" ; then +- { { echo "$as_me:$LINENO: error: Empty value for variable ITCL_STUB_LIB_FULL_PATH" >&5 +-echo "$as_me: error: Empty value for variable ITCL_STUB_LIB_FULL_PATH" >&2;} +- { (exit 1); exit 1; }; } +- fi ++ # These are escaped so that only CFLAGS is picked up at configure time. ++ # The other values will be substituted at make time. ++ CFLAGS="${CFLAGS} \${CFLAGS_DEFAULT} \${CFLAGS_WARNING}" ++ if test "${SHARED_BUILD}" = "1" ; then ++ CFLAGS="${CFLAGS} \${SHLIB_CFLAGS}" ++ fi + +- case "${host}" in +- *windows32* | *mingw32*) +- if test "${CYGPATH}" = ""; then +- { { echo "$as_me:$LINENO: error: CYGPATH variable is not defined." >&5 +-echo "$as_me: error: CYGPATH variable is not defined." >&2;} +- { (exit 1); exit 1; }; } +- elif test "${CYGPATH}" = "echo"; then +- # No cygpath when cross compiling +- ITCL_STUB_LIB_FULL_PATH=$val +- else +- # store literal argument text in a variable +- val=$val +- # Convert Cygwin to Windows path (/tmp/foo -> C:\Tmp\foo) +- val="`${CYGPATH} $val`" +- # Convert path like C:\Tmp\foo to C:/Tmp/foo +- ITCL_STUB_LIB_FULL_PATH="`echo $val | sed -e s#\\\\\\\\#/#g`" +- fi +- ;; +- *) +- # Default to a no-op under Unix or Cygwin gcc +- ITCL_STUB_LIB_FULL_PATH=$val +- ;; +- esac + + + + + +-itclstub_LIB_FILE=${ITCL_STUB_LIB_FILE} +-itcl_LIB_FILE=${ITCL_TARGET_FILE} + +-# END CYGNUS LOCAL + + #-------------------------------------------------------------------- + # __CHANGE__ +@@ -3742,64 +9773,103 @@ + # library. + #-------------------------------------------------------------------- + +- ++itcl_STUB_LIB_FILE=${PKG_STUB_LIB_FILE} ++itcl_LIB_FILE=${PKG_LIB_FILE} + + + + #-------------------------------------------------------------------- +-# Cache the stub library name so that the itk configure script can pick +-# it up. ++# Find tclsh so that we can run pkg_mkIndex to generate the pkgIndex.tcl ++# file during the install process. Don't run the TCLSH_PROG through ++# ${CYGPATH} because it's being used directly by make. ++# Require that we use a tclsh shell version 8.2 or later since earlier ++# versions have bugs in the pkg_mkIndex routine. + #-------------------------------------------------------------------- + +-if test "${ac_cv_itclstub_LIB_FILE+set}" = set; then ++ ++ # Allow the user to provide this setting in the env ++ if test "x${TCLSH_PROG}" = "x" ; then ++ { echo "$as_me:$LINENO: checking for tclsh" >&5 ++echo $ECHO_N "checking for tclsh... $ECHO_C" >&6; } ++ ++ if test "${ac_cv_path_tclsh+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- ac_cv_itclstub_LIB_FILE=${itclstub_LIB_FILE} ++ ++ search_path=`echo ${PATH} | sed -e 's/:/ /g'` ++ if test "${TEA_PLATFORM}" != "windows" -o \ ++ \( "$do64bit_ok" = "no" -a "$doWince" = "no" \) ; then ++ # Do not allow target tclsh in known cross-compile builds, ++ # as we need one we can run on this system ++ search_path="${TCL_BIN_DIR} ${TCL_BIN_DIR}/../bin ${exec_prefix}/bin ${prefix}/bin ${search_path}" ++ fi ++ for dir in $search_path ; do ++ for j in `ls -r $dir/tclsh[8-9]*${EXEEXT} 2> /dev/null` \ ++ `ls -r $dir/tclsh*${EXEEXT} 2> /dev/null` ; do ++ if test x"$ac_cv_path_tclsh" = x ; then ++ if test -f "$j" ; then ++ ac_cv_path_tclsh=$j ++ break ++ fi ++ fi ++ done ++ done ++ + fi + + +-#-------------------------------------------------------------------- +-# Find tclsh so that we can run pkg_mkIndex to generate the pkgIndex.tcl +-# file during the install process. Don't run the TCLSH_PROG through +-# ${CYGPATH} because it's being used directly by make. +-# Require that we use a tclsh shell version 8.2 or later since earlier +-# versions have bugs in the pkg_mkIndex routine. +-#-------------------------------------------------------------------- ++ if test -f "$ac_cv_path_tclsh" ; then ++ TCLSH_PROG=$ac_cv_path_tclsh ++ { echo "$as_me:$LINENO: result: $TCLSH_PROG" >&5 ++echo "${ECHO_T}$TCLSH_PROG" >&6; } ++ else ++ { { echo "$as_me:$LINENO: error: No tclsh found in PATH: $search_path" >&5 ++echo "$as_me: error: No tclsh found in PATH: $search_path" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ fi ++ + +-# CYGNUS LOCAL +-# A Tcl shell is not available when bootstrapping! +-# END CYGNUS LOCAL + + #-------------------------------------------------------------------- +-# Finally, substitute all of the various values into the Makefile. ++# These are for itclConfig.sh + #-------------------------------------------------------------------- + +-# CYGNUS LOCAL +- +-# Note: The itclConfig.sh file below is not included in the net release. +-# We subst these variables to retain compatibility with the previous +-# version of itclConfig.sh. +- +-ITCL_VERSION=${VERSION} ++# pkglibdir must be a fully qualified path and (not ${exec_prefix}/lib) ++eval pkglibdir="${libdir}/${PACKAGE_NAME}${PACKAGE_VERSION}" ++if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then ++ eval itcl_LIB_FLAG="-litcl${PACKAGE_VERSION}${DBGX}" ++ eval itcl_STUB_LIB_FLAG="-litclstub${PACKAGE_VERSION}${DBGX}" ++else ++ eval itcl_LIB_FLAG="-litcl`echo ${PACKAGE_VERSION} | tr -d .`${DBGX}" ++ eval itcl_STUB_LIB_FLAG="-litclstub`echo ${PACKAGE_VERSION} | tr -d .`${DBGX}" ++fi ++itcl_BUILD_LIB_SPEC="-L`pwd` ${itcl_LIB_FLAG}" ++itcl_LIB_SPEC="-L${pkglibdir} ${itcl_LIB_FLAG}" + ++itcl_BUILD_STUB_LIB_SPEC="-L`pwd` ${itcl_STUB_LIB_FLAG}" ++itcl_STUB_LIB_SPEC="-L${pkglibdir} ${itcl_STUB_LIB_FLAG}" ++itcl_BUILD_STUB_LIB_PATH="`pwd`/${itcl_STUB_LIB_FILE}" ++itcl_STUB_LIB_PATH="${pkglibdir}/${itcl_STUB_LIB_FILE}" + +-ITCL_MAJOR_VERSION=${MAJOR_VERSION} + + +-ITCL_MINOR_VERSION=${MINOR_VERSION} + + +-ITCL_RELEASE_LEVEL=${PATCHLEVEL} + + +-ITCL_SRC_DIR=${ITCL_SRC_DIR_NATIVE} + ++# itcl_SRC_DIR must be a fully qualified path ++eval itcl_SRC_DIR="$srcdir" ++itcl_SRC_DIR=`cd "${itcl_SRC_DIR}"; pwd` + +-ITCL_SH=NONE + ++#-------------------------------------------------------------------- ++# Finally, substitute all of the various values into the Makefile. ++#-------------------------------------------------------------------- + ++ac_config_files="$ac_config_files Makefile pkgIndex.tcl itclConfig.sh" + +- ac_config_files="$ac_config_files Makefile itclConfig.sh pkgIndex.tcl" + cat >confcache <<\_ACEOF + # This file is a shell script that caches the results of configure + # tests run on this system so they can be shared between configure +@@ -3818,39 +9888,58 @@ + + # The following way of writing the cache mishandles newlines in values, + # but we know of no workaround that is simple, portable, and efficient. +-# So, don't put newlines in cache variables' values. ++# So, we kill variables containing newlines. + # Ultrix sh set writes to stderr and can't be redirected directly, + # and sets the high bit in the cache file unless we assign to the vars. +-{ ++( ++ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do ++ eval ac_val=\$$ac_var ++ case $ac_val in #( ++ *${as_nl}*) ++ case $ac_var in #( ++ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 ++echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; ++ esac ++ case $ac_var in #( ++ _ | IFS | as_nl) ;; #( ++ *) $as_unset $ac_var ;; ++ esac ;; ++ esac ++ done ++ + (set) 2>&1 | +- case `(ac_space=' '; set | grep ac_space) 2>&1` in +- *ac_space=\ *) ++ case $as_nl`(ac_space=' '; set) 2>&1` in #( ++ *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" +- ;; ++ ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. +- sed -n \ +- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; +- esac; +-} | ++ esac | ++ sort ++) | + sed ' ++ /^ac_cv_env_/b end + t clear +- : clear ++ :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end +- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ +- : end' >>confcache +-if diff $cache_file confcache >/dev/null 2>&1; then :; else +- if test -w $cache_file; then +- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" ++ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ ++ :end' >>confcache ++if diff "$cache_file" confcache >/dev/null 2>&1; then :; else ++ if test -w "$cache_file"; then ++ test "x$cache_file" != "x/dev/null" && ++ { echo "$as_me:$LINENO: updating cache $cache_file" >&5 ++echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else +- echo "not updating unwritable cache $cache_file" ++ { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 ++echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi + fi + rm -f confcache +@@ -3859,63 +9948,48 @@ + # Let make expand exec_prefix. + test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +-# VPATH may cause trouble with some makes, so we remove $(srcdir), +-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +-# trailing colons and then remove the whole line if VPATH becomes empty +-# (actually we leave an empty line to preserve line numbers). +-if test "x$srcdir" = x.; then +- ac_vpsub='/^[ ]*VPATH[ ]*=/{ +-s/:*\$(srcdir):*/:/; +-s/:*\${srcdir}:*/:/; +-s/:*@srcdir@:*/:/; +-s/^\([^=]*=[ ]*\):*/\1/; +-s/:*$//; +-s/^[^=]*=[ ]*$//; +-}' +-fi +- + # Transform confdefs.h into DEFS. + # Protect against shell expansion while executing Makefile rules. + # Protect against Makefile macro expansion. + # + # If the first sed substitution is executed (which looks for macros that +-# take arguments), then we branch to the quote section. Otherwise, ++# take arguments), then branch to the quote section. Otherwise, + # look for a macro that doesn't take arguments. +-cat >confdef2opt.sed <<\_ACEOF ++ac_script=' + t clear +-: clear +-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g ++:clear ++s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g + t quote +-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g ++s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g + t quote +-d +-: quote +-s,[ `~#$^&*(){}\\|;'"<>?],\\&,g +-s,\[,\\&,g +-s,\],\\&,g +-s,\$,$$,g +-p +-_ACEOF +-# We use echo to avoid assuming a particular line-breaking character. +-# The extra dot is to prevent the shell from consuming trailing +-# line-breaks from the sub-command output. A line-break within +-# single-quotes doesn't work because, if this script is created in a +-# platform that uses two characters for line-breaks (e.g., DOS), tr +-# would break. +-ac_LF_and_DOT=`echo; echo .` +-DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` +-rm -f confdef2opt.sed ++b any ++:quote ++s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g ++s/\[/\\&/g ++s/\]/\\&/g ++s/\$/$$/g ++H ++:any ++${ ++ g ++ s/^\n// ++ s/\n/ /g ++ p ++} ++' ++DEFS=`sed -n "$ac_script" confdefs.h` + + + ac_libobjs= + ac_ltlibobjs= + for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. +- ac_i=`echo "$ac_i" | +- sed 's/\$U\././;s/\.o$//;s/\.obj$//'` +- # 2. Add them. +- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" +- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' ++ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ++ ac_i=`echo "$ac_i" | sed "$ac_script"` ++ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR ++ # will be set to the directory where LIBOBJS objects are built. ++ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ++ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' + done + LIBOBJS=$ac_libobjs + +@@ -3946,17 +10020,45 @@ + ## M4sh Initialization. ## + ## --------------------- ## + +-# Be Bourne compatible ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh + if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then +- set -o posix ++ setopt NO_GLOB_SUBST ++else ++ case `(set -o) 2>/dev/null` in ++ *posix*) set -o posix ;; ++esac ++ ++fi ++ ++ ++ ++ ++# PATH needs CR ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ echo "#! /bin/sh" >conf$$.sh ++ echo "exit 0" >>conf$$.sh ++ chmod +x conf$$.sh ++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then ++ PATH_SEPARATOR=';' ++ else ++ PATH_SEPARATOR=: ++ fi ++ rm -f conf$$.sh + fi +-DUALCASE=1; export DUALCASE # for MKS sh + + # Support unset when possible. + if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then +@@ -3966,8 +10068,43 @@ + fi + + ++# IFS ++# We need space, tab and new line, in precisely that order. Quoting is ++# there to prevent editors from complaining about space-tab. ++# (If _AS_PATH_WALK were called with IFS unset, it would disable word ++# splitting by setting IFS to empty value.) ++as_nl=' ++' ++IFS=" "" $as_nl" ++ ++# Find who we are. Look in the path if we contain no directory separator. ++case $0 in ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++done ++IFS=$as_save_IFS ++ ++ ;; ++esac ++# We did not find ourselves, most probably we were run as `sh COMMAND' ++# in which case we are not to be found in the path. ++if test "x$as_myself" = x; then ++ as_myself=$0 ++fi ++if test ! -f "$as_myself"; then ++ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 ++ { (exit 1); exit 1; } ++fi ++ + # Work around bugs in pre-3.0 UWIN ksh. +-$as_unset ENV MAIL MAILPATH ++for as_var in ENV MAIL MAILPATH ++do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var ++done + PS1='$ ' + PS2='> ' + PS4='+ ' +@@ -3981,18 +10118,19 @@ + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else +- $as_unset $as_var ++ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi + done + + # Required to use basename. +-if expr a : '\(a\)' >/dev/null 2>&1; then ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr + else + as_expr=false + fi + +-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename + else + as_basename=false +@@ -4000,159 +10138,120 @@ + + + # Name of the executable. +-as_me=`$as_basename "$0" || ++as_me=`$as_basename -- "$0" || + $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ +- X"$0" : 'X\(/\)$' \| \ +- . : '\(.\)' 2>/dev/null || ++ X"$0" : 'X\(/\)' \| . 2>/dev/null || + echo X/"$0" | +- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } +- /^X\/\(\/\/\)$/{ s//\1/; q; } +- /^X\/\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- +- +-# PATH needs CR, and LINENO needs CR and PATH. +-# Avoid depending upon Character Ranges. +-as_cr_letters='abcdefghijklmnopqrstuvwxyz' +-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +-as_cr_Letters=$as_cr_letters$as_cr_LETTERS +-as_cr_digits='0123456789' +-as_cr_alnum=$as_cr_Letters$as_cr_digits ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\/\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` + +-# The user is always right. +-if test "${PATH_SEPARATOR+set}" != set; then +- echo "#! /bin/sh" >conf$$.sh +- echo "exit 0" >>conf$$.sh +- chmod +x conf$$.sh +- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then +- PATH_SEPARATOR=';' +- else +- PATH_SEPARATOR=: +- fi +- rm -f conf$$.sh +-fi ++# CDPATH. ++$as_unset CDPATH + + +- as_lineno_1=$LINENO +- as_lineno_2=$LINENO +- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` +- test "x$as_lineno_1" != "x$as_lineno_2" && +- test "x$as_lineno_3" = "x$as_lineno_2" || { +- # Find who we are. Look in the path if we contain no path at all +- # relative or not. +- case $0 in +- *[\\/]* ) as_myself=$0 ;; +- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +-done + +- ;; +- esac +- # We did not find ourselves, most probably we were run as `sh COMMAND' +- # in which case we are not to be found in the path. +- if test "x$as_myself" = x; then +- as_myself=$0 +- fi +- if test ! -f "$as_myself"; then +- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} +- { (exit 1); exit 1; }; } +- fi +- case $CONFIG_SHELL in +- '') +- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for as_base in sh bash ksh sh5; do +- case $as_dir in +- /*) +- if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO +- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && +- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then +- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } +- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } +- CONFIG_SHELL=$as_dir/$as_base +- export CONFIG_SHELL +- exec "$CONFIG_SHELL" "$0" ${1+"$@"} +- fi;; +- esac +- done +-done +-;; +- esac ++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a +- # line-number line before each line; the second 'sed' does the real +- # work. The second script uses 'N' to pair each line-number line +- # with the numbered line, and appends trailing '-' during +- # substitution so that $LINENO is not a special case at line end. ++ # line-number line after each line using $LINENO; the second 'sed' ++ # does the real work. The second script uses 'N' to pair each ++ # line-number line with the line containing $LINENO, and appends ++ # trailing '-' during substitution so that $LINENO is not a special ++ # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the +- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) +- sed '=' <$as_myself | ++ # scripts with optimization help from Paolo Bonzini. Blame Lee ++ # E. McMahon (1931-1989) for sed's syntax. :-) ++ sed -n ' ++ p ++ /[$]LINENO/= ++ ' <$as_myself | + sed ' ++ s/[$]LINENO.*/&-/ ++ t lineno ++ b ++ :lineno + N +- s,$,-, +- : loop +- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, ++ :loop ++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop +- s,-$,, +- s,^['$as_cr_digits']*\n,, ++ s/-\n.*// + ' >$as_me.lineno && +- chmod +x $as_me.lineno || +- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} ++ chmod +x "$as_me.lineno" || ++ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the +- # original and so on. Autoconf is especially sensible to this). +- . ./$as_me.lineno ++ # original and so on. Autoconf is especially sensitive to this). ++ . "./$as_me.lineno" + # Exit status is that of the last command. + exit + } + + +-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in +- *c*,-n*) ECHO_N= ECHO_C=' +-' ECHO_T=' ' ;; +- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; +- *) ECHO_N= ECHO_C='\c' ECHO_T= ;; ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false ++fi ++ ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in ++-n*) ++ case `echo 'x\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ *) ECHO_C='\c';; ++ esac;; ++*) ++ ECHO_N='-n';; + esac + +-if expr a : '\(a\)' >/dev/null 2>&1; then ++if expr a : '\(a\)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr + else + as_expr=false + fi + + rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file ++else ++ rm -f conf$$.dir ++ mkdir conf$$.dir ++fi + echo >conf$$.file + if ln -s conf$$.file conf$$ 2>/dev/null; then +- # We could just check for DJGPP; but this test a) works b) is more generic +- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). +- if test -f conf$$.exe; then +- # Don't use ln at all; we don't have any links ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -p'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +- else +- as_ln_s='ln -s' +- fi + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +-rm -f conf$$ conf$$.exe conf$$.file ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null + + if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +@@ -4161,7 +10260,28 @@ + as_mkdir_p=false + fi + +-as_executable_p="test -f" ++if test -x / >/dev/null 2>&1; then ++ as_test_x='test -x' ++else ++ if ls -dL / >/dev/null 2>&1; then ++ as_ls_L_option=L ++ else ++ as_ls_L_option= ++ fi ++ as_test_x=' ++ eval sh -c '\'' ++ if test -d "$1"; then ++ test -d "$1/."; ++ else ++ case $1 in ++ -*)set "./$1";; ++ esac; ++ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ++ ???[sx]*):;;*)false;;esac;fi ++ '\'' sh ++ ' ++fi ++as_executable_p=$as_test_x + + # Sed expression to map a string onto a valid CPP name. + as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +@@ -4170,31 +10290,14 @@ + as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +-# IFS +-# We need space, tab and new line, in precisely that order. +-as_nl=' +-' +-IFS=" $as_nl" +- +-# CDPATH. +-$as_unset CDPATH +- + exec 6>&1 + +-# Open the log real soon, to keep \$[0] and so on meaningful, and to ++# Save the log message, to keep $[0] and so on meaningful, and to + # report actual input values of CONFIG_FILES etc. instead of their +-# values after options handling. Logging --version etc. is OK. +-exec 5>>config.log +-{ +- echo +- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +-## Running $as_me. ## +-_ASBOX +-} >&5 +-cat >&5 <<_CSEOF +- +-This file was extended by $as_me, which was +-generated by GNU Autoconf 2.59. Invocation command line was ++# values after options handling. ++ac_log=" ++This file was extended by itcl $as_me 3.3, which was ++generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS +@@ -4202,30 +10305,18 @@ + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +-_CSEOF +-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +-echo >&5 ++on `(hostname || uname -n) 2>/dev/null | sed 1q` ++" ++ + _ACEOF + ++cat >>$CONFIG_STATUS <<_ACEOF + # Files that config.status was made for. +-if test -n "$ac_config_files"; then +- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS +-fi ++config_files="$ac_config_files" + +-if test -n "$ac_config_headers"; then +- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS +-fi +- +-if test -n "$ac_config_links"; then +- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS +-fi +- +-if test -n "$ac_config_commands"; then +- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS +-fi ++_ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF +- + ac_cs_usage="\ + \`$as_me' instantiates files from templates according to the + current configuration. +@@ -4233,7 +10324,7 @@ + Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit +- -V, --version print version number, then exit ++ -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions +@@ -4244,19 +10335,21 @@ + $config_files + + Report bugs to ." +-_ACEOF + ++_ACEOF + cat >>$CONFIG_STATUS <<_ACEOF + ac_cs_version="\\ +-config.status +-configured by $0, generated by GNU Autoconf 2.59, +- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" ++itcl config.status 3.3 ++configured by $0, generated by GNU Autoconf 2.61, ++ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +-Copyright (C) 2003 Free Software Foundation, Inc. ++Copyright (C) 2006 Free Software Foundation, Inc. + This config.status script is free software; the Free Software Foundation + gives unlimited permission to copy, distribute and modify it." +-srcdir=$srcdir +-INSTALL="$INSTALL" ++ ++ac_pwd='$ac_pwd' ++srcdir='$srcdir' ++INSTALL='$INSTALL' + _ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF +@@ -4267,60 +10360,42 @@ + do + case $1 in + --*=*) +- ac_option=`expr "x$1" : 'x\([^=]*\)='` +- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` ++ ac_option=`expr "X$1" : 'X\([^=]*\)='` ++ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; +- -*) ++ *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; +- *) # This is not an option, so the user has probably given explicit +- # arguments. +- ac_option=$1 +- ac_need_defaults=false;; + esac + + case $ac_option in + # Handling of the options. +-_ACEOF +-cat >>$CONFIG_STATUS <<\_ACEOF + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; +- --version | --vers* | -V ) +- echo "$ac_cs_version"; exit 0 ;; +- --he | --h) +- # Conflict between --help and --header +- { { echo "$as_me:$LINENO: error: ambiguous option: $1 +-Try \`$0 --help' for more information." >&5 +-echo "$as_me: error: ambiguous option: $1 +-Try \`$0 --help' for more information." >&2;} +- { (exit 1); exit 1; }; };; +- --help | --hel | -h ) +- echo "$ac_cs_usage"; exit 0 ;; +- --debug | --d* | -d ) ++ --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) ++ echo "$ac_cs_version"; exit ;; ++ --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; +- --header | --heade | --head | --hea ) +- $ac_shift +- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" +- ac_need_defaults=false;; ++ --he | --h | --help | --hel | -h ) ++ echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. +- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +-Try \`$0 --help' for more information." >&5 +-echo "$as_me: error: unrecognized option: $1 +-Try \`$0 --help' for more information." >&2;} ++ -*) { echo "$as_me: error: unrecognized option: $1 ++Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + +- *) ac_config_targets="$ac_config_targets $1" ;; ++ *) ac_config_targets="$ac_config_targets $1" ++ ac_need_defaults=false ;; + + esac + shift +@@ -4336,30 +10411,44 @@ + _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF + if \$ac_cs_recheck; then +- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 +- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion ++ echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 ++ CONFIG_SHELL=$SHELL ++ export CONFIG_SHELL ++ exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + fi + + _ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF ++exec 5>>config.log ++{ ++ echo ++ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ++## Running $as_me. ## ++_ASBOX ++ echo "$ac_log" ++} >&5 + +- +- +- ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF ++_ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF ++ ++# Handling of arguments. + for ac_config_target in $ac_config_targets + do +- case "$ac_config_target" in +- # Handling of arguments. +- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; +- "itclConfig.sh" ) CONFIG_FILES="$CONFIG_FILES itclConfig.sh" ;; +- "pkgIndex.tcl" ) CONFIG_FILES="$CONFIG_FILES pkgIndex.tcl" ;; ++ case $ac_config_target in ++ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; ++ "pkgIndex.tcl") CONFIG_FILES="$CONFIG_FILES pkgIndex.tcl" ;; ++ "itclConfig.sh") CONFIG_FILES="$CONFIG_FILES itclConfig.sh" ;; ++ + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 + echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac + done + ++ + # If the user did not use the arguments to specify the items to instantiate, + # then the envvar interface is used. Set only those that are not. + # We use the long form for the default assignment because of an extremely +@@ -4369,371 +10458,479 @@ + fi + + # Have a temporary directory for convenience. Make it in the build tree +-# simply because there is no reason to put it here, and in addition, ++# simply because there is no reason against having it here, and in addition, + # creating and moving files from /tmp can sometimes cause problems. +-# Create a temporary directory, and hook for its removal unless debugging. ++# Hook for its removal unless debugging. ++# Note that there is a small window in which the directory will not be cleaned: ++# after its creation but before its name has been assigned to `$tmp'. + $debug || + { +- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 ++ tmp= ++ trap 'exit_status=$? ++ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ++' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 + } +- + # Create a (secure) tmp directory for tmp files. + + { +- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && ++ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" + } || + { +- tmp=./confstat$$-$RANDOM +- (umask 077 && mkdir $tmp) ++ tmp=./conf$$-$RANDOM ++ (umask 077 && mkdir "$tmp") + } || + { + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } + } + +-_ACEOF +- +-cat >>$CONFIG_STATUS <<_ACEOF +- + # +-# CONFIG_FILES section. ++# Set up the sed scripts for CONFIG_FILES section. + # + + # No need to generate the scripts if there are no CONFIG_FILES. + # This happens for instance when ./config.status config.h +-if test -n "\$CONFIG_FILES"; then +- # Protect against being on the right side of a sed subst in config.status. +- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; +- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF +-s,@SHELL@,$SHELL,;t t +-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t +-s,@exec_prefix@,$exec_prefix,;t t +-s,@prefix@,$prefix,;t t +-s,@program_transform_name@,$program_transform_name,;t t +-s,@bindir@,$bindir,;t t +-s,@sbindir@,$sbindir,;t t +-s,@libexecdir@,$libexecdir,;t t +-s,@datadir@,$datadir,;t t +-s,@sysconfdir@,$sysconfdir,;t t +-s,@sharedstatedir@,$sharedstatedir,;t t +-s,@localstatedir@,$localstatedir,;t t +-s,@libdir@,$libdir,;t t +-s,@includedir@,$includedir,;t t +-s,@oldincludedir@,$oldincludedir,;t t +-s,@infodir@,$infodir,;t t +-s,@mandir@,$mandir,;t t +-s,@build_alias@,$build_alias,;t t +-s,@host_alias@,$host_alias,;t t +-s,@target_alias@,$target_alias,;t t +-s,@DEFS@,$DEFS,;t t +-s,@ECHO_C@,$ECHO_C,;t t +-s,@ECHO_N@,$ECHO_N,;t t +-s,@ECHO_T@,$ECHO_T,;t t +-s,@LIBS@,$LIBS,;t t +-s,@PACKAGE@,$PACKAGE,;t t +-s,@VERSION@,$VERSION,;t t +-s,@CC@,$CC,;t t +-s,@CFLAGS@,$CFLAGS,;t t +-s,@LDFLAGS@,$LDFLAGS,;t t +-s,@CPPFLAGS@,$CPPFLAGS,;t t +-s,@ac_ct_CC@,$ac_ct_CC,;t t +-s,@EXEEXT@,$EXEEXT,;t t +-s,@OBJEXT@,$OBJEXT,;t t +-s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t +-s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t +-s,@INSTALL_DATA@,$INSTALL_DATA,;t t +-s,@SET_MAKE@,$SET_MAKE,;t t +-s,@RANLIB@,$RANLIB,;t t +-s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t +-s,@build@,$build,;t t +-s,@build_cpu@,$build_cpu,;t t +-s,@build_vendor@,$build_vendor,;t t +-s,@build_os@,$build_os,;t t +-s,@host@,$host,;t t +-s,@host_cpu@,$host_cpu,;t t +-s,@host_vendor@,$host_vendor,;t t +-s,@host_os@,$host_os,;t t +-s,@CYGPATH@,$CYGPATH,;t t +-s,@RELPATH@,$RELPATH,;t t +-s,@ITCL_GENERIC_DIR_NATIVE@,$ITCL_GENERIC_DIR_NATIVE,;t t +-s,@ITCL_WIN_DIR_NATIVE@,$ITCL_WIN_DIR_NATIVE,;t t +-s,@ITCL_UNIX_DIR_NATIVE@,$ITCL_UNIX_DIR_NATIVE,;t t +-s,@ITCL_INCLUDES@,$ITCL_INCLUDES,;t t +-s,@TCL_DBGX@,$TCL_DBGX,;t t +-s,@TCL_BIN_DIR@,$TCL_BIN_DIR,;t t +-s,@TCL_SRC_DIR@,$TCL_SRC_DIR,;t t +-s,@TCL_LIB_FILE@,$TCL_LIB_FILE,;t t +-s,@TCL_LIBS@,$TCL_LIBS,;t t +-s,@TCL_DEFS@,$TCL_DEFS,;t t +-s,@TCL_SHLIB_LD_LIBS@,$TCL_SHLIB_LD_LIBS,;t t +-s,@TCL_EXTRA_CFLAGS@,$TCL_EXTRA_CFLAGS,;t t +-s,@TCL_LD_FLAGS@,$TCL_LD_FLAGS,;t t +-s,@TCL_STUB_LIB_FILE@,$TCL_STUB_LIB_FILE,;t t +-s,@TCL_LIB_SPEC@,$TCL_LIB_SPEC,;t t +-s,@TCL_BUILD_LIB_SPEC@,$TCL_BUILD_LIB_SPEC,;t t +-s,@TCL_STUB_LIB_SPEC@,$TCL_STUB_LIB_SPEC,;t t +-s,@TCL_BUILD_STUB_LIB_SPEC@,$TCL_BUILD_STUB_LIB_SPEC,;t t +-s,@TCL_TOP_DIR_NATIVE@,$TCL_TOP_DIR_NATIVE,;t t +-s,@TCL_GENERIC_DIR_NATIVE@,$TCL_GENERIC_DIR_NATIVE,;t t +-s,@TCL_UNIX_DIR_NATIVE@,$TCL_UNIX_DIR_NATIVE,;t t +-s,@TCL_WIN_DIR_NATIVE@,$TCL_WIN_DIR_NATIVE,;t t +-s,@TCL_BMAP_DIR_NATIVE@,$TCL_BMAP_DIR_NATIVE,;t t +-s,@TCL_TOOL_DIR_NATIVE@,$TCL_TOOL_DIR_NATIVE,;t t +-s,@TCL_PLATFORM_DIR_NATIVE@,$TCL_PLATFORM_DIR_NATIVE,;t t +-s,@TCL_INCLUDES@,$TCL_INCLUDES,;t t +-s,@CLEANFILES@,$CLEANFILES,;t t +-s,@PLATFORM_SOURCES@,$PLATFORM_SOURCES,;t t +-s,@PLATFORM_OBJECTS@,$PLATFORM_OBJECTS,;t t +-s,@PLATFORM_DIR@,$PLATFORM_DIR,;t t +-s,@CFLAGS_DEBUG@,$CFLAGS_DEBUG,;t t +-s,@CFLAGS_OPTIMIZE@,$CFLAGS_OPTIMIZE,;t t +-s,@STLIB_LD@,$STLIB_LD,;t t +-s,@SHLIB_LD@,$SHLIB_LD,;t t +-s,@SHLIB_CFLAGS@,$SHLIB_CFLAGS,;t t +-s,@SHLIB_LDFLAGS@,$SHLIB_LDFLAGS,;t t +-s,@CFLAGS_DEFAULT@,$CFLAGS_DEFAULT,;t t +-s,@LDFLAGS_DEFAULT@,$LDFLAGS_DEFAULT,;t t +-s,@MAKE_LIB@,$MAKE_LIB,;t t +-s,@MAKE_SHARED_LIB@,$MAKE_SHARED_LIB,;t t +-s,@MAKE_STATIC_LIB@,$MAKE_STATIC_LIB,;t t +-s,@POST_MAKE_LIB@,$POST_MAKE_LIB,;t t +-s,@POST_MAKE_STATIC_LIB@,$POST_MAKE_STATIC_LIB,;t t +-s,@ITCL_LIB_FILE@,$ITCL_LIB_FILE,;t t +-s,@ITCL_STUB_LIB_FILE@,$ITCL_STUB_LIB_FILE,;t t +-s,@ITCL_BUILD_LIB_SPEC@,$ITCL_BUILD_LIB_SPEC,;t t +-s,@ITCL_BUILD_STUB_LIB_SPEC@,$ITCL_BUILD_STUB_LIB_SPEC,;t t +-s,@ITCL_LIB_SPEC@,$ITCL_LIB_SPEC,;t t +-s,@ITCL_STUB_LIB_SPEC@,$ITCL_STUB_LIB_SPEC,;t t +-s,@ITCL_LIB_FULL_PATH@,$ITCL_LIB_FULL_PATH,;t t +-s,@ITCL_STUB_LIB_FULL_PATH@,$ITCL_STUB_LIB_FULL_PATH,;t t +-s,@itclstub_LIB_FILE@,$itclstub_LIB_FILE,;t t +-s,@itcl_LIB_FILE@,$itcl_LIB_FILE,;t t +-s,@SHLIB_LD_LIBS@,$SHLIB_LD_LIBS,;t t +-s,@ITCL_VERSION@,$ITCL_VERSION,;t t +-s,@ITCL_MAJOR_VERSION@,$ITCL_MAJOR_VERSION,;t t +-s,@ITCL_MINOR_VERSION@,$ITCL_MINOR_VERSION,;t t +-s,@ITCL_RELEASE_LEVEL@,$ITCL_RELEASE_LEVEL,;t t +-s,@ITCL_SRC_DIR@,$ITCL_SRC_DIR,;t t +-s,@ITCL_SH@,$ITCL_SH,;t t +-s,@LIBOBJS@,$LIBOBJS,;t t +-s,@LTLIBOBJS@,$LTLIBOBJS,;t t +-CEOF +- +-_ACEOF +- +- cat >>$CONFIG_STATUS <<\_ACEOF +- # Split the substitutions into bite-sized pieces for seds with +- # small command number limits, like on Digital OSF/1 and HP-UX. +- ac_max_sed_lines=48 +- ac_sed_frag=1 # Number of current file. +- ac_beg=1 # First line for current file. +- ac_end=$ac_max_sed_lines # Line after last line for current file. +- ac_more_lines=: +- ac_sed_cmds= +- while $ac_more_lines; do +- if test $ac_beg -gt 1; then +- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag +- else +- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag +- fi +- if test ! -s $tmp/subs.frag; then +- ac_more_lines=false +- else +- # The purpose of the label and of the branching condition is to +- # speed up the sed processing (if there are no `@' at all, there +- # is no need to browse any of the substitutions). +- # These are the two extra sed commands mentioned above. +- (echo ':t +- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed +- if test -z "$ac_sed_cmds"; then +- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" +- else +- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" +- fi +- ac_sed_frag=`expr $ac_sed_frag + 1` +- ac_beg=$ac_end +- ac_end=`expr $ac_end + $ac_max_sed_lines` +- fi +- done +- if test -z "$ac_sed_cmds"; then +- ac_sed_cmds=cat ++if test -n "$CONFIG_FILES"; then ++ ++_ACEOF ++ ++ ++ ++ac_delim='%!_!# ' ++for ac_last_try in false false false false false :; do ++ cat >conf$$subs.sed <<_ACEOF ++SHELL!$SHELL$ac_delim ++PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim ++PACKAGE_NAME!$PACKAGE_NAME$ac_delim ++PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim ++PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim ++PACKAGE_STRING!$PACKAGE_STRING$ac_delim ++PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim ++exec_prefix!$exec_prefix$ac_delim ++prefix!$prefix$ac_delim ++program_transform_name!$program_transform_name$ac_delim ++bindir!$bindir$ac_delim ++sbindir!$sbindir$ac_delim ++libexecdir!$libexecdir$ac_delim ++datarootdir!$datarootdir$ac_delim ++datadir!$datadir$ac_delim ++sysconfdir!$sysconfdir$ac_delim ++sharedstatedir!$sharedstatedir$ac_delim ++localstatedir!$localstatedir$ac_delim ++includedir!$includedir$ac_delim ++oldincludedir!$oldincludedir$ac_delim ++docdir!$docdir$ac_delim ++infodir!$infodir$ac_delim ++htmldir!$htmldir$ac_delim ++dvidir!$dvidir$ac_delim ++pdfdir!$pdfdir$ac_delim ++psdir!$psdir$ac_delim ++libdir!$libdir$ac_delim ++localedir!$localedir$ac_delim ++mandir!$mandir$ac_delim ++DEFS!$DEFS$ac_delim ++ECHO_C!$ECHO_C$ac_delim ++ECHO_N!$ECHO_N$ac_delim ++ECHO_T!$ECHO_T$ac_delim ++LIBS!$LIBS$ac_delim ++build_alias!$build_alias$ac_delim ++host_alias!$host_alias$ac_delim ++target_alias!$target_alias$ac_delim ++CYGPATH!$CYGPATH$ac_delim ++EXEEXT!$EXEEXT$ac_delim ++PKG_LIB_FILE!$PKG_LIB_FILE$ac_delim ++PKG_STUB_LIB_FILE!$PKG_STUB_LIB_FILE$ac_delim ++PKG_STUB_SOURCES!$PKG_STUB_SOURCES$ac_delim ++PKG_STUB_OBJECTS!$PKG_STUB_OBJECTS$ac_delim ++PKG_TCL_SOURCES!$PKG_TCL_SOURCES$ac_delim ++PKG_HEADERS!$PKG_HEADERS$ac_delim ++PKG_INCLUDES!$PKG_INCLUDES$ac_delim ++PKG_LIBS!$PKG_LIBS$ac_delim ++PKG_CFLAGS!$PKG_CFLAGS$ac_delim ++LN_S!$LN_S$ac_delim ++CONFIG_CLEAN_FILES!$CONFIG_CLEAN_FILES$ac_delim ++TCL_VERSION!$TCL_VERSION$ac_delim ++TCL_BIN_DIR!$TCL_BIN_DIR$ac_delim ++TCL_SRC_DIR!$TCL_SRC_DIR$ac_delim ++TCL_LIB_FILE!$TCL_LIB_FILE$ac_delim ++TCL_LIB_FLAG!$TCL_LIB_FLAG$ac_delim ++TCL_LIB_SPEC!$TCL_LIB_SPEC$ac_delim ++TCL_STUB_LIB_FILE!$TCL_STUB_LIB_FILE$ac_delim ++TCL_STUB_LIB_FLAG!$TCL_STUB_LIB_FLAG$ac_delim ++TCL_STUB_LIB_SPEC!$TCL_STUB_LIB_SPEC$ac_delim ++TCL_LIBS!$TCL_LIBS$ac_delim ++TCL_DEFS!$TCL_DEFS$ac_delim ++TCL_EXTRA_CFLAGS!$TCL_EXTRA_CFLAGS$ac_delim ++TCL_LD_FLAGS!$TCL_LD_FLAGS$ac_delim ++TCL_SHLIB_LD_LIBS!$TCL_SHLIB_LD_LIBS$ac_delim ++CC!$CC$ac_delim ++CFLAGS!$CFLAGS$ac_delim ++LDFLAGS!$LDFLAGS$ac_delim ++CPPFLAGS!$CPPFLAGS$ac_delim ++ac_ct_CC!$ac_ct_CC$ac_delim ++OBJEXT!$OBJEXT$ac_delim ++CPP!$CPP$ac_delim ++INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim ++INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim ++INSTALL_DATA!$INSTALL_DATA$ac_delim ++SET_MAKE!$SET_MAKE$ac_delim ++RANLIB!$RANLIB$ac_delim ++GREP!$GREP$ac_delim ++EGREP!$EGREP$ac_delim ++MATH_LIBS!$MATH_LIBS$ac_delim ++PKG_SOURCES!$PKG_SOURCES$ac_delim ++PKG_OBJECTS!$PKG_OBJECTS$ac_delim ++CLEANFILES!$CLEANFILES$ac_delim ++TCL_TOP_DIR_NATIVE!$TCL_TOP_DIR_NATIVE$ac_delim ++TCL_GENERIC_DIR_NATIVE!$TCL_GENERIC_DIR_NATIVE$ac_delim ++TCL_UNIX_DIR_NATIVE!$TCL_UNIX_DIR_NATIVE$ac_delim ++TCL_WIN_DIR_NATIVE!$TCL_WIN_DIR_NATIVE$ac_delim ++TCL_BMAP_DIR_NATIVE!$TCL_BMAP_DIR_NATIVE$ac_delim ++TCL_TOOL_DIR_NATIVE!$TCL_TOOL_DIR_NATIVE$ac_delim ++TCL_PLATFORM_DIR_NATIVE!$TCL_PLATFORM_DIR_NATIVE$ac_delim ++TCL_INCLUDES!$TCL_INCLUDES$ac_delim ++SHARED_BUILD!$SHARED_BUILD$ac_delim ++AR!$AR$ac_delim ++TCLSH_PROG!$TCLSH_PROG$ac_delim ++CELIB_DIR!$CELIB_DIR$ac_delim ++LIBOBJS!$LIBOBJS$ac_delim ++DL_LIBS!$DL_LIBS$ac_delim ++CFLAGS_DEBUG!$CFLAGS_DEBUG$ac_delim ++_ACEOF ++ ++ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then ++ break ++ elif $ac_last_try; then ++ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 ++echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} ++ { (exit 1); exit 1; }; } ++ else ++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +-fi # test -n "$CONFIG_FILES" ++done ++ ++ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` ++if test -n "$ac_eof"; then ++ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ++ ac_eof=`expr $ac_eof + 1` ++fi ++ ++cat >>$CONFIG_STATUS <<_ACEOF ++cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof ++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b ++_ACEOF ++sed ' ++s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g ++s/^/s,@/; s/!/@,|#_!!_#|/ ++:n ++t n ++s/'"$ac_delim"'$/,g/; t ++s/$/\\/; p ++N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ++' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF ++CEOF$ac_eof ++_ACEOF ++ ++ ++ac_delim='%!_!# ' ++for ac_last_try in false false false false false :; do ++ cat >conf$$subs.sed <<_ACEOF ++CFLAGS_OPTIMIZE!$CFLAGS_OPTIMIZE$ac_delim ++CFLAGS_WARNING!$CFLAGS_WARNING$ac_delim ++STLIB_LD!$STLIB_LD$ac_delim ++SHLIB_LD!$SHLIB_LD$ac_delim ++SHLIB_CFLAGS!$SHLIB_CFLAGS$ac_delim ++SHLIB_LD_LIBS!$SHLIB_LD_LIBS$ac_delim ++LDFLAGS_DEBUG!$LDFLAGS_DEBUG$ac_delim ++LDFLAGS_OPTIMIZE!$LDFLAGS_OPTIMIZE$ac_delim ++LD_LIBRARY_PATH_VAR!$LD_LIBRARY_PATH_VAR$ac_delim ++TCL_DBGX!$TCL_DBGX$ac_delim ++CFLAGS_DEFAULT!$CFLAGS_DEFAULT$ac_delim ++LDFLAGS_DEFAULT!$LDFLAGS_DEFAULT$ac_delim ++MAKE_LIB!$MAKE_LIB$ac_delim ++MAKE_SHARED_LIB!$MAKE_SHARED_LIB$ac_delim ++MAKE_STATIC_LIB!$MAKE_STATIC_LIB$ac_delim ++MAKE_STUB_LIB!$MAKE_STUB_LIB$ac_delim ++RANLIB_STUB!$RANLIB_STUB$ac_delim ++itcl_STUB_LIB_FILE!$itcl_STUB_LIB_FILE$ac_delim ++itcl_LIB_FILE!$itcl_LIB_FILE$ac_delim ++itcl_BUILD_LIB_SPEC!$itcl_BUILD_LIB_SPEC$ac_delim ++itcl_LIB_SPEC!$itcl_LIB_SPEC$ac_delim ++itcl_BUILD_STUB_LIB_SPEC!$itcl_BUILD_STUB_LIB_SPEC$ac_delim ++itcl_STUB_LIB_SPEC!$itcl_STUB_LIB_SPEC$ac_delim ++itcl_BUILD_STUB_LIB_PATH!$itcl_BUILD_STUB_LIB_PATH$ac_delim ++itcl_STUB_LIB_PATH!$itcl_STUB_LIB_PATH$ac_delim ++itcl_SRC_DIR!$itcl_SRC_DIR$ac_delim ++LTLIBOBJS!$LTLIBOBJS$ac_delim ++_ACEOF ++ ++ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 27; then ++ break ++ elif $ac_last_try; then ++ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 ++echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} ++ { (exit 1); exit 1; }; } ++ else ++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " ++ fi ++done ++ ++ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` ++if test -n "$ac_eof"; then ++ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ++ ac_eof=`expr $ac_eof + 1` ++fi + ++cat >>$CONFIG_STATUS <<_ACEOF ++cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof ++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end ++_ACEOF ++sed ' ++s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g ++s/^/s,@/; s/!/@,|#_!!_#|/ ++:n ++t n ++s/'"$ac_delim"'$/,g/; t ++s/$/\\/; p ++N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ++' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF ++:end ++s/|#_!!_#|//g ++CEOF$ac_eof + _ACEOF ++ ++ ++# VPATH may cause trouble with some makes, so we remove $(srcdir), ++# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and ++# trailing colons and then remove the whole line if VPATH becomes empty ++# (actually we leave an empty line to preserve line numbers). ++if test "x$srcdir" = x.; then ++ ac_vpsub='/^[ ]*VPATH[ ]*=/{ ++s/:*\$(srcdir):*/:/ ++s/:*\${srcdir}:*/:/ ++s/:*@srcdir@:*/:/ ++s/^\([^=]*=[ ]*\):*/\1/ ++s/:*$// ++s/^[^=]*=[ ]*$// ++}' ++fi ++ + cat >>$CONFIG_STATUS <<\_ACEOF +-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue +- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". +- case $ac_file in +- - | *:- | *:-:* ) # input from stdin +- cat >$tmp/stdin +- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` +- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; +- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` +- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; +- * ) ac_file_in=$ac_file.in ;; ++fi # test -n "$CONFIG_FILES" ++ ++ ++for ac_tag in :F $CONFIG_FILES ++do ++ case $ac_tag in ++ :[FHLC]) ac_mode=$ac_tag; continue;; ++ esac ++ case $ac_mode$ac_tag in ++ :[FHL]*:*);; ++ :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 ++echo "$as_me: error: Invalid tag $ac_tag." >&2;} ++ { (exit 1); exit 1; }; };; ++ :[FH]-) ac_tag=-:-;; ++ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; ++ esac ++ ac_save_IFS=$IFS ++ IFS=: ++ set x $ac_tag ++ IFS=$ac_save_IFS ++ shift ++ ac_file=$1 ++ shift ++ ++ case $ac_mode in ++ :L) ac_source=$1;; ++ :[FH]) ++ ac_file_inputs= ++ for ac_f ++ do ++ case $ac_f in ++ -) ac_f="$tmp/stdin";; ++ *) # Look for the file first in the build tree, then in the source tree ++ # (if the path is not absolute). The absolute path cannot be DOS-style, ++ # because $ac_f cannot contain `:'. ++ test -f "$ac_f" || ++ case $ac_f in ++ [\\/$]*) false;; ++ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; ++ esac || ++ { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 ++echo "$as_me: error: cannot find input file: $ac_f" >&2;} ++ { (exit 1); exit 1; }; };; ++ esac ++ ac_file_inputs="$ac_file_inputs $ac_f" ++ done ++ ++ # Let's still pretend it is `configure' which instantiates (i.e., don't ++ # use $as_me), people would be surprised to read: ++ # /* config.h. Generated by config.status. */ ++ configure_input="Generated from "`IFS=: ++ echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." ++ if test x"$ac_file" != x-; then ++ configure_input="$ac_file. $configure_input" ++ { echo "$as_me:$LINENO: creating $ac_file" >&5 ++echo "$as_me: creating $ac_file" >&6;} ++ fi ++ ++ case $ac_tag in ++ *:-:* | *:-) cat >"$tmp/stdin";; ++ esac ++ ;; + esac + +- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. +- ac_dir=`(dirname "$ac_file") 2>/dev/null || ++ ac_dir=`$as_dirname -- "$ac_file" || + $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ +- X"$ac_file" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || ++ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || + echo X"$ac_file" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- { if $as_mkdir_p; then +- mkdir -p "$ac_dir" +- else +- as_dir="$ac_dir" ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ { as_dir="$ac_dir" ++ case $as_dir in #( ++ -*) as_dir=./$as_dir;; ++ esac ++ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= +- while test ! -d "$as_dir"; do +- as_dirs="$as_dir $as_dirs" +- as_dir=`(dirname "$as_dir") 2>/dev/null || ++ while :; do ++ case $as_dir in #( ++ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( ++ *) as_qdir=$as_dir;; ++ esac ++ as_dirs="'$as_qdir' $as_dirs" ++ as_dir=`$as_dirname -- "$as_dir" || + $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ +- X"$as_dir" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || ++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || + echo X"$as_dir" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ test -d "$as_dir" && break + done +- test ! -n "$as_dirs" || mkdir $as_dirs +- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} ++ test -z "$as_dirs" || eval "mkdir $as_dirs" ++ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 ++echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } +- + ac_builddir=. + +-if test "$ac_dir" != .; then ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` +- # A "../" for each directory in $ac_dir_suffix. +- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +-else +- ac_dir_suffix= ac_top_builddir= +-fi ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix + + case $srcdir in +- .) # No --srcdir option. We are building in place. ++ .) # We are building in place. + ac_srcdir=. +- if test -z "$ac_top_builddir"; then +- ac_top_srcdir=. +- else +- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` +- fi ;; +- [\\/]* | ?:[\\/]* ) # Absolute path. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; +- ac_top_srcdir=$srcdir ;; +- *) # Relative path. +- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix +- ac_top_srcdir=$ac_top_builddir$srcdir ;; ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; + esac ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + +-# Do not use `cd foo && pwd` to compute absolute paths, because +-# the directories may not exist. +-case `pwd` in +-.) ac_abs_builddir="$ac_dir";; +-*) +- case "$ac_dir" in +- .) ac_abs_builddir=`pwd`;; +- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; +- *) ac_abs_builddir=`pwd`/"$ac_dir";; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_builddir=${ac_top_builddir}.;; +-*) +- case ${ac_top_builddir}. in +- .) ac_abs_top_builddir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; +- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_srcdir=$ac_srcdir;; +-*) +- case $ac_srcdir in +- .) ac_abs_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; +- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_srcdir=$ac_top_srcdir;; +-*) +- case $ac_top_srcdir in +- .) ac_abs_top_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; +- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; +- esac;; +-esac + ++ case $ac_mode in ++ :F) ++ # ++ # CONFIG_FILE ++ # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; +- *) ac_INSTALL=$ac_top_builddir$INSTALL ;; ++ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac ++_ACEOF + +- if test x"$ac_file" != x-; then +- { echo "$as_me:$LINENO: creating $ac_file" >&5 +-echo "$as_me: creating $ac_file" >&6;} +- rm -f "$ac_file" +- fi +- # Let's still pretend it is `configure' which instantiates (i.e., don't +- # use $as_me), people would be surprised to read: +- # /* config.h. Generated by config.status. */ +- if test x"$ac_file" = x-; then +- configure_input= +- else +- configure_input="$ac_file. " +- fi +- configure_input=$configure_input"Generated from `echo $ac_file_in | +- sed 's,.*/,,'` by configure." +- +- # First look for the input files in the build tree, otherwise in the +- # src tree. +- ac_file_inputs=`IFS=: +- for f in $ac_file_in; do +- case $f in +- -) echo $tmp/stdin ;; +- [\\/$]*) +- # Absolute (can't be DOS-style, as IFS=:) +- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +-echo "$as_me: error: cannot find input file: $f" >&2;} +- { (exit 1); exit 1; }; } +- echo "$f";; +- *) # Relative +- if test -f "$f"; then +- # Build tree +- echo "$f" +- elif test -f "$srcdir/$f"; then +- # Source tree +- echo "$srcdir/$f" +- else +- # /dev/null tree +- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +-echo "$as_me: error: cannot find input file: $f" >&2;} +- { (exit 1); exit 1; }; } +- fi;; +- esac +- done` || { (exit 1); exit 1; } ++cat >>$CONFIG_STATUS <<\_ACEOF ++# If the template does not know about datarootdir, expand it. ++# FIXME: This hack should be removed a few years after 2.60. ++ac_datarootdir_hack=; ac_datarootdir_seen= ++ ++case `sed -n '/datarootdir/ { ++ p ++ q ++} ++/@datadir@/p ++/@docdir@/p ++/@infodir@/p ++/@localedir@/p ++/@mandir@/p ++' $ac_file_inputs` in ++*datarootdir*) ac_datarootdir_seen=yes;; ++*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) ++ { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 ++echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF ++ ac_datarootdir_hack=' ++ s&@datadir@&$datadir&g ++ s&@docdir@&$docdir&g ++ s&@infodir@&$infodir&g ++ s&@localedir@&$localedir&g ++ s&@mandir@&$mandir&g ++ s&\\\${datarootdir}&$datarootdir&g' ;; ++esac + _ACEOF ++ ++# Neutralize VPATH when `$srcdir' = `.'. ++# Shell code in configure.ac might set extrasub. ++# FIXME: do we really want to maintain this feature? + cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub + $extrasub +@@ -4741,29 +10938,40 @@ + cat >>$CONFIG_STATUS <<\_ACEOF + :t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b +-s,@configure_input@,$configure_input,;t t +-s,@srcdir@,$ac_srcdir,;t t +-s,@abs_srcdir@,$ac_abs_srcdir,;t t +-s,@top_srcdir@,$ac_top_srcdir,;t t +-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +-s,@builddir@,$ac_builddir,;t t +-s,@abs_builddir@,$ac_abs_builddir,;t t +-s,@top_builddir@,$ac_top_builddir,;t t +-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +-s,@INSTALL@,$ac_INSTALL,;t t +-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out +- rm -f $tmp/stdin +- if test x"$ac_file" != x-; then +- mv $tmp/out $ac_file +- else +- cat $tmp/out +- rm -f $tmp/out +- fi ++s&@configure_input@&$configure_input&;t t ++s&@top_builddir@&$ac_top_builddir_sub&;t t ++s&@srcdir@&$ac_srcdir&;t t ++s&@abs_srcdir@&$ac_abs_srcdir&;t t ++s&@top_srcdir@&$ac_top_srcdir&;t t ++s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t ++s&@builddir@&$ac_builddir&;t t ++s&@abs_builddir@&$ac_abs_builddir&;t t ++s&@abs_top_builddir@&$ac_abs_top_builddir&;t t ++s&@INSTALL@&$ac_INSTALL&;t t ++$ac_datarootdir_hack ++" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out ++ ++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && ++ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && ++ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && ++ { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' ++which seems to be undefined. Please make sure it is defined." >&5 ++echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' ++which seems to be undefined. Please make sure it is defined." >&2;} + +-done +-_ACEOF ++ rm -f "$tmp/stdin" ++ case $ac_file in ++ -) cat "$tmp/out"; rm -f "$tmp/out";; ++ *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; ++ esac ++ ;; ++ ++ ++ ++ esac ++ ++done # for ac_tag + +-cat >>$CONFIG_STATUS <<\_ACEOF + + { (exit 0); exit 0; } + _ACEOF +@@ -4792,5 +11000,3 @@ + $ac_cs_success || { (exit 1); exit 1; } + fi + +- +-# END CYGNUS LOCAL +diff -Naur insight-6.8.orig/itcl/itcl/configure.ac insight-6.8.new/itcl/itcl/configure.ac +--- insight-6.8.orig/itcl/itcl/configure.ac 1970-01-01 01:00:00.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/configure.ac 2008-08-18 18:56:39.000000000 +0200 +@@ -0,0 +1,247 @@ ++#!/bin/bash -norc ++#-------------------------------------------------------------------- ++# Sample configure.in for Tcl Extensions. The only places you should ++# need to modify this file are marked by the string __CHANGE__ ++#-------------------------------------------------------------------- ++ ++#----------------------------------------------------------------------- ++# This initializes the environment with PACKAGE_NAME and PACKAGE_VERSION ++# set as provided. These will also be added as -D defs in your Makefile ++# so you can encode the package version directly into the source files. ++#----------------------------------------------------------------------- ++ ++AC_INIT([itcl], [3.3]) ++ ++#-------------------------------------------------------------------- ++# Call TEA_INIT as the first TEA_ macro to set up initial vars. ++# This will define a ${TEA_PLATFORM} variable == "unix" or "windows" ++# as well as PKG_LIB_FILE and PKG_STUB_LIB_FILE. ++#-------------------------------------------------------------------- ++ ++TEA_INIT([3.2]) ++ ++AC_PROG_LN_S ++CONFIG_CLEAN_FILES= ++if test ! -d $srcdir/tclconfig ; then ++ if test -d $srcdir/../tclconfig ; then ++ $LN_S $srcdir/../tclconfig tclconfig ++ CONFIG_CLEAN_FILES=tclconfig ++ fi ++fi ++AC_SUBST(CONFIG_CLEAN_FILES) ++ ++AC_CONFIG_AUX_DIR(tclconfig) ++ ++#-------------------------------------------------------------------- ++# Load the tclConfig.sh file ++#-------------------------------------------------------------------- ++ ++TEA_PATH_TCLCONFIG ++TEA_LOAD_TCLCONFIG ++ ++#----------------------------------------------------------------------- ++# Handle the --prefix=... option by defaulting to what Tcl gave. ++# Must be called after TEA_LOAD_TCLCONFIG and before TEA_SETUP_COMPILER. ++#----------------------------------------------------------------------- ++ ++TEA_PREFIX ++ ++#----------------------------------------------------------------------- ++# Standard compiler checks. ++# This sets up CC by using the CC env var, or looks for gcc otherwise. ++# This also calls AC_PROG_CC, AC_PROG_INSTALL and a few others to create ++# the basic setup necessary to compile executables. ++#----------------------------------------------------------------------- ++ ++TEA_SETUP_COMPILER ++ ++#----------------------------------------------------------------------- ++# __CHANGE__ ++# Specify the C source files to compile in TEA_ADD_SOURCES, ++# public headers that need to be installed in TEA_ADD_HEADERS, ++# stub library C source files to compile in TEA_ADD_STUB_SOURCES, ++# and runtime Tcl library files in TEA_ADD_TCL_SOURCES. ++# This defines PKG(_STUB)_SOURCES, PKG(_STUB)_OBJECTS, PKG_HEADERS ++# and PKG_TCL_SOURCES. ++#----------------------------------------------------------------------- ++ ++TEA_ADD_SOURCES([itclStubInit.c ++ itcl_bicmds.c ++ itcl_class.c ++ itcl_cmds.c ++ itcl_ensemble.c ++ itcl_linkage.c ++ itcl_methods.c ++ itcl_migrate.c ++ itcl_objects.c ++ itcl_parse.c ++ itcl_util.c]) ++TEA_ADD_HEADERS([generic/itcl.h ++ generic/itclDecls.h ++ generic/itclInt.h ++ generic/itclIntDecls.h]) ++TEA_ADD_INCLUDES([-I\"`${CYGPATH} ${srcdir}/generic`\"]) ++TEA_ADD_LIBS([]) ++TEA_ADD_CFLAGS([]) ++TEA_ADD_STUB_SOURCES([itclStubLib.c]) ++TEA_ADD_TCL_SOURCES([library/itcl.tcl]) ++ ++#-------------------------------------------------------------------- ++# __CHANGE__ ++# A few miscellaneous platform-specific items: ++# ++# Define a special symbol for Windows (BUILD_itcl in this case) so ++# that we create the export library with the dll. See sha1.h on how ++# to use this. ++# ++# Windows creates a few extra files that need to be cleaned up. ++# You can add more files to clean if your extension creates any extra ++# files. ++# ++# Define any extra compiler flags in the PACKAGE_CFLAGS variable. ++# These will be appended to the current set of compiler flags for ++# your system. ++#-------------------------------------------------------------------- ++ ++if test "${TEA_PLATFORM}" = "windows" ; then ++ AC_DEFINE(BUILD_itcl) ++ CLEANFILES="*.lib *.dll *.exp *.ilk *.pdb vc*.pch" ++ TEA_ADD_SOURCES([dllEntryPoint.c]) ++else ++ CLEANFILES= ++ #TEA_ADD_SOURCES([]) ++fi ++ ++AC_SUBST(CLEANFILES) ++ ++#-------------------------------------------------------------------- ++# __CHANGE__ ++# Choose which headers you need. Extension authors should try very ++# hard to only rely on the Tcl public header files. Internal headers ++# contain private data structures and are subject to change without ++# notice. ++# This must be done AFTER calling TEA_PATH_TCLCONFIG/TEA_LOAD_TCLCONFIG ++# so that we can extract TCL_SRC_DIR from the config file (in the case ++# of private headers ++#-------------------------------------------------------------------- ++ ++#TEA_PUBLIC_TCL_HEADERS ++TEA_PRIVATE_TCL_HEADERS ++ ++#-------------------------------------------------------------------- ++# We need to enable the threading macros found in tcl.h and tclInt.h. ++# The use of the threading features is determined by the core the ++# extension is loaded into, but we need to compile with these macros ++# turned on. ++#-------------------------------------------------------------------- ++ ++AC_DEFINE(TCL_THREADS) ++ ++#-------------------------------------------------------------------- ++# Check whether --enable-threads or --disable-threads was given. ++# This auto-enables if Tcl was compiled threaded. ++#-------------------------------------------------------------------- ++ ++#TEA_ENABLE_THREADS ++ ++#-------------------------------------------------------------------- ++# The statement below defines a collection of symbols related to ++# building as a shared library instead of a static library. ++#-------------------------------------------------------------------- ++ ++TEA_ENABLE_SHARED ++ ++#-------------------------------------------------------------------- ++# This macro figures out what flags to use with the compiler/linker ++# when building shared/static debug/optimized objects. This information ++# can be taken from the tclConfig.sh file, but this figures it all out. ++#-------------------------------------------------------------------- ++ ++TEA_CONFIG_CFLAGS ++ ++#-------------------------------------------------------------------- ++# Set the default compiler switches based on the --enable-symbols ++# option. ++#-------------------------------------------------------------------- ++ ++TEA_ENABLE_SYMBOLS ++ ++#-------------------------------------------------------------------- ++# Everyone should be linking against the Tcl stub library. If you ++# can't for some reason, remove this definition. If you aren't using ++# stubs, you also need to modify the SHLIB_LD_LIBS setting below to ++# link against the non-stubbed Tcl library. ++#-------------------------------------------------------------------- ++ ++if test "${SHARED_BUILD}" = "1" ; then ++ AC_DEFINE(USE_TCL_STUBS) ++fi ++ ++#-------------------------------------------------------------------- ++# This macro generates a line to use when building a library. It ++# depends on values set by the TEA_ENABLE_SHARED, TEA_ENABLE_SYMBOLS, ++# and TEA_LOAD_TCLCONFIG macros above. ++#-------------------------------------------------------------------- ++ ++TEA_MAKE_LIB ++ ++#-------------------------------------------------------------------- ++# __CHANGE__ ++# Change the name from exampeA_LIB_FILE to match your package name. ++# Use the stub_LIB_FILE substitution if your package creates a stub ++# library. ++#-------------------------------------------------------------------- ++ ++itcl_STUB_LIB_FILE=${PKG_STUB_LIB_FILE} ++itcl_LIB_FILE=${PKG_LIB_FILE} ++AC_SUBST(itcl_STUB_LIB_FILE) ++AC_SUBST(itcl_LIB_FILE) ++ ++#-------------------------------------------------------------------- ++# Find tclsh so that we can run pkg_mkIndex to generate the pkgIndex.tcl ++# file during the install process. Don't run the TCLSH_PROG through ++# ${CYGPATH} because it's being used directly by make. ++# Require that we use a tclsh shell version 8.2 or later since earlier ++# versions have bugs in the pkg_mkIndex routine. ++#-------------------------------------------------------------------- ++ ++TEA_PROG_TCLSH ++ ++#-------------------------------------------------------------------- ++# These are for itclConfig.sh ++#-------------------------------------------------------------------- ++ ++# pkglibdir must be a fully qualified path and (not ${exec_prefix}/lib) ++eval pkglibdir="${libdir}/${PACKAGE_NAME}${PACKAGE_VERSION}" ++if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then ++ eval itcl_LIB_FLAG="-litcl${PACKAGE_VERSION}${DBGX}" ++ eval itcl_STUB_LIB_FLAG="-litclstub${PACKAGE_VERSION}${DBGX}" ++else ++ eval itcl_LIB_FLAG="-litcl`echo ${PACKAGE_VERSION} | tr -d .`${DBGX}" ++ eval itcl_STUB_LIB_FLAG="-litclstub`echo ${PACKAGE_VERSION} | tr -d .`${DBGX}" ++fi ++itcl_BUILD_LIB_SPEC="-L`pwd` ${itcl_LIB_FLAG}" ++itcl_LIB_SPEC="-L${pkglibdir} ${itcl_LIB_FLAG}" ++ ++itcl_BUILD_STUB_LIB_SPEC="-L`pwd` ${itcl_STUB_LIB_FLAG}" ++itcl_STUB_LIB_SPEC="-L${pkglibdir} ${itcl_STUB_LIB_FLAG}" ++itcl_BUILD_STUB_LIB_PATH="`pwd`/${itcl_STUB_LIB_FILE}" ++itcl_STUB_LIB_PATH="${pkglibdir}/${itcl_STUB_LIB_FILE}" ++ ++AC_SUBST(itcl_BUILD_LIB_SPEC) ++AC_SUBST(itcl_LIB_SPEC) ++AC_SUBST(itcl_BUILD_STUB_LIB_SPEC) ++AC_SUBST(itcl_STUB_LIB_SPEC) ++AC_SUBST(itcl_BUILD_STUB_LIB_PATH) ++AC_SUBST(itcl_STUB_LIB_PATH) ++ ++# itcl_SRC_DIR must be a fully qualified path ++eval itcl_SRC_DIR="$srcdir" ++itcl_SRC_DIR=`cd "${itcl_SRC_DIR}"; pwd` ++AC_SUBST(itcl_SRC_DIR) ++ ++#-------------------------------------------------------------------- ++# Finally, substitute all of the various values into the Makefile. ++#-------------------------------------------------------------------- ++ ++AC_OUTPUT([Makefile pkgIndex.tcl itclConfig.sh]) +diff -Naur insight-6.8.orig/itcl/itcl/configure.in insight-6.8.new/itcl/itcl/configure.in +--- insight-6.8.orig/itcl/itcl/configure.in 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/configure.in 1970-01-01 01:00:00.000000000 +0100 +@@ -1,409 +0,0 @@ +-#-------------------------------------------------------------------- +-# Sample configure.in for Tcl Extensions. The only places you should +-# need to modify this file are marked by the string __CHANGE__ +-#-------------------------------------------------------------------- +- +-#-------------------------------------------------------------------- +-# __CHANGE__ +-# This very first macro is used to verify that the configure script can +-# find the sources. The argument to AC_INIT should be a unique filename +-# for this package, and can be a relative path, such as: +-# +-# AC_INIT(../generic/tcl.h) +-#-------------------------------------------------------------------- +- +-AC_INIT(generic/itcl.h) +-# CYGNUS LOCAL +-AC_CONFIG_AUX_DIR(../..) +-# END CYGNUS LOCAL +- +-#-------------------------------------------------------------------- +-# __CHANGE__ +-# Set your package name and version numbers here. The NODOT_VERSION is +-# required for constructing the library name on systems that don't like +-# dots in library names (Windows). The VERSION variable is used on the +-# other systems. +-#-------------------------------------------------------------------- +- +-PACKAGE=itcl +- +-MAJOR_VERSION=3 +-MINOR_VERSION=2 +-PATCHLEVEL=.1 +- +-VERSION=${MAJOR_VERSION}.${MINOR_VERSION} +-NODOT_VERSION=${MAJOR_VERSION}${MINOR_VERSION} +- +- +-AC_SUBST(PACKAGE) +-AC_SUBST(VERSION) +- +-#-------------------------------------------------------------------- +-# We put this here so that you can compile with -DVERSION="1.2" to +-# encode the package version directly into the source files. +-#-------------------------------------------------------------------- +- +-eval AC_DEFINE_UNQUOTED(VERSION, "${VERSION}") +- +-#------------------------------------------------------------------------ +-# Handle the --prefix=... option +-#------------------------------------------------------------------------ +- +-if test "${prefix}" = "NONE"; then +- prefix=/usr/local +-fi +-if test "${exec_prefix}" = "NONE"; then +- exec_prefix=$prefix +-fi +- +-#-------------------------------------------------------------------- +-# Check whether --enable-gcc or --disable-gcc was given. Do this +-# before AC_CYGWIN is called so the compiler can +-# be fully tested by built-in autoconf tools. +-# This macro also calls AC_PROG_CC to set the compiler if --enable-gcc +-# was not used. +-#-------------------------------------------------------------------- +- +-# CYGNUS LOCAL +-dnl SC_ENABLE_GCC +-AC_PROG_CC +-# END CYGNUS LOCAL +-AC_PROG_INSTALL +- +-#-------------------------------------------------------------------- +-# Checks to see if the make program sets the $MAKE variable. +-#-------------------------------------------------------------------- +- +-AC_PROG_MAKE_SET +- +-#-------------------------------------------------------------------- +-# Find ranlib +-#-------------------------------------------------------------------- +- +-AC_PROG_RANLIB +- +-#-------------------------------------------------------------------- +-# This macro performs additional compiler tests. +-#-------------------------------------------------------------------- +- +-AC_CYGWIN +- +-#-------------------------------------------------------------------- +-# Determines the correct binary file extension (.o, .obj, .exe etc.) +-#-------------------------------------------------------------------- +- +-AC_OBJEXT +-AC_EXEEXT +- +-#-------------------------------------------------------------------- +-# "cygpath" is used on windows to generate native path names for include +-# files. +-# These variables should only be used with the compiler and linker since +-# they generate native path names. +-# +-# Unix tclConfig.sh points SRC_DIR at the top-level directory of +-# the Tcl sources, while the Windows tclConfig.sh points SRC_DIR at +-# the win subdirectory. Hence the different usages of SRC_DIR below. +-# +-# This must be done before calling SC_PUBLIC_TCL_HEADERS +-# +-# RELPATH is used to locate binary extensions relative to the lib directory. +-# It is only needed if mkIndex.tcl can't generate an installed pkgIndex.tcl +-# file for you. +-#-------------------------------------------------------------------- +- +-case "${host}" in +- *mingw32* | *windows32*) +- AC_CHECK_PROG(CYGPATH, cygpath, cygpath -w, echo) +- RELPATH=".. .. bin" +- ;; +- *) +- CYGPATH=echo +- RELPATH=.. +- ;; +-esac +- +-AC_SUBST(CYGPATH) +-AC_SUBST(RELPATH) +- +-#-------------------------------------------------------------------- +-# Includes for this package +-#-------------------------------------------------------------------- +- +-# CYGNUS LOCAL +-srcdir=`cd ${srcdir} ; pwd` +-ITCL_SRC_DIR_NATIVE=`${CYGPATH} ${srcdir}` +-# END CYGNUS LOCAL +-ITCL_GENERIC_DIR_NATIVE=`${CYGPATH} ${srcdir}/generic` +-ITCL_WIN_DIR_NATIVE=`${CYGPATH} ${srcdir}/win` +-ITCL_UNIX_DIR_NATIVE=`${CYGPATH} ${srcdir}/unix` +- +-case "${host}" in +- *cygwin* | *mingw32* | *windows32*) +- ITCL_PLATFORM_DIR_NATIVE=${ITCL_WIN_DIR_NATIVE} +- ;; +- *) +- ITCL_PLATFORM_DIR_NATIVE=${ITCL_UNIX_DIR_NATIVE} +- ;; +-esac +- +-ITCL_INCLUDES="-I\"${ITCL_GENERIC_DIR_NATIVE}\" -I\"${ITCL_PLATFORM_DIR_NATIVE}\"" +- +-AC_SUBST(ITCL_GENERIC_DIR_NATIVE) +-AC_SUBST(ITCL_WIN_DIR_NATIVE) +-AC_SUBST(ITCL_UNIX_DIR_NATIVE) +-AC_SUBST(ITCL_INCLUDES) +- +-#-------------------------------------------------------------------- +-# Load the tclConfig.sh file +-#-------------------------------------------------------------------- +- +-SC_PATH_TCLCONFIG +-SC_LOAD_TCLCONFIG +- +-#-------------------------------------------------------------------- +-# __CHANGE__ +-# Choose which headers you need. Extension authors should try very +-# hard to only rely on the Tcl public header files. Internal headers +-# contain private data structures and are subject to change without +-# notice. +-# This must be done AFTER calling SC_PATH_TCLCONFIG/SC_LOAD_TCLCONFIG +-# so that we can extract TCL_SRC_DIR from the config file (in the case +-# of private headers +-#-------------------------------------------------------------------- +- +-#SC_PUBLIC_TCL_HEADERS +-SC_PRIVATE_TCL_HEADERS +- +-#-------------------------------------------------------------------- +-# __CHANGE__ +-# A few miscellaneous platform-specific items: +-# +-# Define a special symbol for Windows (BUILD_itcl in this case) so +-# that we create the export library with the dll. See sha1.h on how +-# to use this. +-# +-# Windows creates a few extra files that need to be cleaned up. +-# You can add more files to clean if your extension creates any extra +-# files. +-# +-# Define any extra compiler flags in the PACKAGE_CFLAGS variable. +-# These will be appended to the current set of compiler flags for +-# your system. +-#-------------------------------------------------------------------- +- +-case "${host}" in +- *cygwin*| *mingw32* | *windows32*) +- AC_DEFINE(BUILD_itcl) +- CLEANFILES="*.lib *.dll *.exp *.ilk *.pdb vc50.pch" +- PLATFORM_SOURCES='$(WIN_SOURCES)' +- PLATFORM_OBJECTS='$(WIN_OBJECTS)' +- PLATFORM_DIR='$(WIN_DIR)' +- ;; +- *) +- CLEANFILES= +- PLATFORM_SOURCES='$(UNIX_SOURCES)' +- PLATFORM_OBJECTS='$(UNIX_OBJECTS)' +- PLATFORM_DIR='$(UNIX_DIR)' +- ;; +-esac +- +-AC_SUBST(CLEANFILES) +-AC_SUBST(PLATFORM_SOURCES) +-AC_SUBST(PLATFORM_OBJECTS) +-AC_SUBST(PLATFORM_DIR) +- +-#-------------------------------------------------------------------- +-# Check whether --enable-threads or --disable-threads was given. +-# So far only Tcl responds to this one. +-#-------------------------------------------------------------------- +- +-SC_ENABLE_THREADS +- +-#-------------------------------------------------------------------- +-# The statement below defines a collection of symbols related to +-# building as a shared library instead of a static library. +-#-------------------------------------------------------------------- +- +-SC_ENABLE_SHARED +- +-#-------------------------------------------------------------------- +-# This macro figures out what flags to use with the compiler/linker +-# when building shared/static debug/optimized objects. This information +-# is all taken from the tclConfig.sh file. +-#-------------------------------------------------------------------- +- +-CFLAGS_DEBUG=${TCL_CFLAGS_DEBUG} +-CFLAGS_OPTIMIZE=${TCL_CFLAGS_OPTIMIZE} +-LDFLAGS_DEBUG=${TCL_LDFLAGS_DEBUG} +-LDFLAGS_OPTIMIZE=${TCL_LDFLAGS_OPTIMIZE} +-SHLIB_LD=${TCL_SHLIB_LD} +-STLIB_LD=${TCL_STLIB_LD} +-SHLIB_CFLAGS=${TCL_SHLIB_CFLAGS} +- +-AC_SUBST(CFLAGS_DEBUG) +-AC_SUBST(CFLAGS_OPTIMIZE) +-AC_SUBST(STLIB_LD) +-AC_SUBST(SHLIB_LD) +-AC_SUBST(SHLIB_CFLAGS) +-AC_SUBST(SHLIB_LDFLAGS) +- +-#-------------------------------------------------------------------- +-# Set the default compiler switches based on the --enable-symbols +-# option. +-#-------------------------------------------------------------------- +- +-SC_ENABLE_SYMBOLS +- +-if test "${SHARED_BUILD}" = "1" ; then +- CFLAGS='${CFLAGS_DEFAULT} ${CFLAGS_WARNING} ${SHLIB_CFLAGS}' +-else +- CFLAGS='${CFLAGS_DEFAULT} ${CFLAGS_WARNING}' +-fi +- +-#-------------------------------------------------------------------- +-# Everyone should be linking against the Tcl stub library. If you +-# can't for some reason, remove this definition. If you aren't using +-# stubs, you also need to modify the SHLIB_LD_LIBS setting below to +-# link against the non-stubbed Tcl library. +-#-------------------------------------------------------------------- +- +-if test "${SHARED_BUILD}" = "1" ; then +- AC_DEFINE(USE_TCL_STUBS) +-fi +- +-#-------------------------------------------------------------------- +-# This macro generates a line to use when building a library. It +-# depends on values set by the SC_ENABLE_SHARED, SC_ENABLE_SYMBOLS, +-# and SC_LOAD_TCLCONFIG macros above. +-#-------------------------------------------------------------------- +- +-SC_MAKE_LIB +- +-#-------------------------------------------------------------------- +-# eval these two values to dereference the ${DBGX} variable. +-#-------------------------------------------------------------------- +- +-eval "SHARED_LIB_SUFFIX=${TCL_SHARED_LIB_SUFFIX}" +-eval "UNSHARED_LIB_SUFFIX=${TCL_UNSHARED_LIB_SUFFIX}" +- +-#-------------------------------------------------------------------- +-# Shared libraries and static libraries have different names. +-#-------------------------------------------------------------------- +- +-# CYGNUS LOCAL +- +-if test "${SHARED_BUILD}" = "1" ; then +- # FIXME: Need to devise a TCL_TOOL macro to deal with this! +- case "${host}" in +- *cygwin* | *mingw32* | *windows32*) +- SHLIB_LD_LIBS="${TCL_BUILD_STUB_LIB_SPEC} ${TCL_SHLIB_LD_LIBS}" +- # Need to link to the .a or .lib not the .dll! +- TCL_TOOL_SHARED_LIB_LONGNAME(ITCL_SHLIB_FILE, ${PACKAGE}, ${SHARED_LIB_SUFFIX}) +- TCL_TOOL_STATIC_LIB_LONGNAME(ITCL_LIB_FILE, ${PACKAGE}, ${UNSHARED_LIB_SUFFIX}) +- ITCL_TARGET_FILE=${ITCL_SHLIB_FILE} +- ;; +- *) +- SHLIB_LD_LIBS="${TCL_BUILD_LIB_SPEC}" +- TCL_TOOL_SHARED_LIB_LONGNAME(ITCL_LIB_FILE, ${PACKAGE}, ${SHARED_LIB_SUFFIX}) +- ITCL_TARGET_FILE=${ITCL_LIB_FILE} +- ;; +- esac +-else +- TCL_TOOL_STATIC_LIB_LONGNAME(ITCL_LIB_FILE, ${PACKAGE}, ${UNSHARED_LIB_SUFFIX}) +- ITCL_TARGET_FILE=${ITCL_LIB_FILE} +-fi +- +-TCL_TOOL_STATIC_LIB_LONGNAME(ITCL_STUB_LIB_FILE, ${PACKAGE}stub, ${UNSHARED_LIB_SUFFIX}) +- +-AC_SUBST(ITCL_LIB_FILE) +-AC_SUBST(ITCL_STUB_LIB_FILE) +- +-TCL_TOOL_LIB_SHORTNAME(ITCL_LIB_FLAG, ${PACKAGE}, ${VERSION}) +-TCL_TOOL_LIB_SHORTNAME(ITCL_STUB_LIB_FLAG, ${PACKAGE}stub, ${VERSION}) +- +-TCL_TOOL_LIB_SPEC(ITCL_BUILD_LIB_SPEC, `pwd`, ${ITCL_LIB_FLAG}) +-TCL_TOOL_LIB_SPEC(ITCL_BUILD_STUB_LIB_SPEC, `pwd`, ${ITCL_STUB_LIB_FLAG}) +-AC_SUBST(ITCL_BUILD_LIB_SPEC) +-AC_SUBST(ITCL_BUILD_STUB_LIB_SPEC) +- +-TCL_TOOL_LIB_SPEC(ITCL_LIB_SPEC, ${exec_prefix}/lib, ${ITCL_LIB_FLAG}) +-TCL_TOOL_LIB_SPEC(ITCL_STUB_LIB_SPEC, ${exec_prefix}/lib, ${ITCL_STUB_LIB_FLAG}) +-AC_SUBST(ITCL_LIB_SPEC) +-AC_SUBST(ITCL_STUB_LIB_SPEC) +- +-TCL_TOOL_LIB_PATH(ITCL_LIB_FULL_PATH, `pwd`, ${ITCL_LIB_FILE}) +-TCL_TOOL_LIB_PATH(ITCL_STUB_LIB_FULL_PATH, `pwd`, ${ITCL_STUB_LIB_FILE}) +-AC_SUBST(ITCL_LIB_FULL_PATH) +-AC_SUBST(ITCL_STUB_LIB_FULL_PATH) +- +-itclstub_LIB_FILE=${ITCL_STUB_LIB_FILE} +-itcl_LIB_FILE=${ITCL_TARGET_FILE} +- +-# END CYGNUS LOCAL +- +-#-------------------------------------------------------------------- +-# __CHANGE__ +-# Change the name from exampeA_LIB_FILE to match your package name. +-# Use the stub_LIB_FILE substitution if your package creates a stub +-# library. +-#-------------------------------------------------------------------- +- +-AC_SUBST(itclstub_LIB_FILE) +-AC_SUBST(itcl_LIB_FILE) +-AC_SUBST(SHLIB_LD_LIBS) +- +-#-------------------------------------------------------------------- +-# Cache the stub library name so that the itk configure script can pick +-# it up. +-#-------------------------------------------------------------------- +- +-AC_CACHE_VAL(ac_cv_itclstub_LIB_FILE, ac_cv_itclstub_LIB_FILE=${itclstub_LIB_FILE}) +- +-#-------------------------------------------------------------------- +-# Find tclsh so that we can run pkg_mkIndex to generate the pkgIndex.tcl +-# file during the install process. Don't run the TCLSH_PROG through +-# ${CYGPATH} because it's being used directly by make. +-# Require that we use a tclsh shell version 8.2 or later since earlier +-# versions have bugs in the pkg_mkIndex routine. +-#-------------------------------------------------------------------- +- +-# CYGNUS LOCAL +-# A Tcl shell is not available when bootstrapping! +-dnl SC_PROG_TCLSH +-# END CYGNUS LOCAL +- +-#-------------------------------------------------------------------- +-# Finally, substitute all of the various values into the Makefile. +-#-------------------------------------------------------------------- +- +-# CYGNUS LOCAL +- +-# Note: The itclConfig.sh file below is not included in the net release. +-# We subst these variables to retain compatibility with the previous +-# version of itclConfig.sh. +- +-ITCL_VERSION=${VERSION} +-AC_SUBST(ITCL_VERSION) +- +-ITCL_MAJOR_VERSION=${MAJOR_VERSION} +-AC_SUBST(ITCL_MAJOR_VERSION) +- +-ITCL_MINOR_VERSION=${MINOR_VERSION} +-AC_SUBST(ITCL_MINOR_VERSION) +- +-ITCL_RELEASE_LEVEL=${PATCHLEVEL} +-AC_SUBST(ITCL_RELEASE_LEVEL) +- +-ITCL_SRC_DIR=${ITCL_SRC_DIR_NATIVE} +-AC_SUBST(ITCL_SRC_DIR) +- +-ITCL_SH=NONE +-AC_SUBST(ITCL_SH) +- +- +-AC_OUTPUT([Makefile \ +- itclConfig.sh \ +- pkgIndex.tcl]) +- +-# END CYGNUS LOCAL +diff -Naur insight-6.8.orig/itcl/itcl/doc/body.n insight-6.8.new/itcl/itcl/doc/body.n +--- insight-6.8.orig/itcl/itcl/doc/body.n 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/doc/body.n 2008-08-18 18:56:39.000000000 +0200 +@@ -4,7 +4,7 @@ + '\" See the file "license.terms" for information on usage and redistribution + '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. + '\" +-'\" RCS: $Id: body.n,v 1.1 1998/07/27 18:41:58 stanton Exp $ ++'\" RCS: $Id: body.n,v 1.4 2004/09/25 22:50:43 davygrvy Exp $ + '\" + .so man.macros + .TH body n 3.0 itcl "[incr\ Tcl]" +@@ -13,7 +13,7 @@ + .SH NAME + body \- change the body for a class method/proc + .SH SYNOPSIS +-\fBbody \fIclassName\fB::\fIfunction args body\fR ++\fBitcl::body \fIclassName\fB::\fIfunction args body\fR + .BE + + .SH DESCRIPTION +@@ -86,7 +86,7 @@ + definition, but they can be redefined via the \fBbody\fR command + as well. + .CS +-class File { ++itcl::class File { + private variable fid "" + constructor {name access} { + set fid [open $name $access] +@@ -100,13 +100,13 @@ + method eof {} + } + +-body File::get {} { ++itcl::body File::get {} { + return [gets $fid] + } +-body File::put {line} { ++itcl::body File::put {line} { + puts $fid $line + } +-body File::eof {} { ++itcl::body File::eof {} { + return [::eof $fid] + } + +@@ -117,7 +117,7 @@ + while {![x eof]} { + puts "=> [x get]" + } +-delete object x ++itcl::delete object x + .CE + + .SH KEYWORDS +diff -Naur insight-6.8.orig/itcl/itcl/doc/class.n insight-6.8.new/itcl/itcl/doc/class.n +--- insight-6.8.orig/itcl/itcl/doc/class.n 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/doc/class.n 2008-08-18 18:56:39.000000000 +0200 +@@ -4,7 +4,7 @@ + '\" See the file "license.terms" for information on usage and redistribution + '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. + '\" +-'\" RCS: $Id: class.n,v 1.2 1998/08/11 14:40:35 welch Exp $ ++'\" RCS: $Id: class.n,v 1.5 2004/09/25 22:50:43 davygrvy Exp $ + '\" + .so man.macros + .TH class n "" itcl "[incr\ Tcl]" +@@ -13,7 +13,7 @@ + .SH NAME + class \- create a class of objects + .SH SYNOPSIS +-\fBclass \fIclassName\fR \fB{ ++\fBitcl::class \fIclassName\fR \fB{ + .br + \fBinherit \fIbaseClass\fR ?\fIbaseClass\fR...? + .br +@@ -227,7 +227,7 @@ + This allows common data members to be initialized as arrays. + For example: + .CS +-class Foo { ++itcl::class Foo { + common boolean + set boolean(true) 1 + set boolean(false) 0 +@@ -366,7 +366,7 @@ + with its own specialized behavior. For example, suppose we have + a Toaster class that looks like this: + .CS +-class Toaster { ++itcl::class Toaster { + variable crumbs 0 + method toast {nslices} { + if {$crumbs > 50} { +@@ -383,7 +383,7 @@ + the "toast" method. If we want to access the base class method, + we can qualify it with the base class name, to avoid ambiguity: + .CS +-class SmartToaster { ++itcl::class SmartToaster { + inherit Toaster + method toast {nslices} { + if {$crumbs > 40} { +@@ -396,7 +396,7 @@ + Instead of hard-coding the base class name, we can use the + "chain" command like this: + .CS +-class SmartToaster { ++itcl::class SmartToaster { + inherit Toaster + method toast {nslices} { + if {$crumbs > 40} { +diff -Naur insight-6.8.orig/itcl/itcl/doc/code.n insight-6.8.new/itcl/itcl/doc/code.n +--- insight-6.8.orig/itcl/itcl/doc/code.n 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/doc/code.n 2008-08-18 18:56:39.000000000 +0200 +@@ -4,7 +4,7 @@ + '\" See the file "license.terms" for information on usage and redistribution + '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. + '\" +-'\" RCS: $Id: code.n,v 1.1 1998/07/27 18:41:59 stanton Exp $ ++'\" RCS: $Id: code.n,v 1.3 2004/09/25 22:50:43 davygrvy Exp $ + '\" + .so man.macros + .TH code n 3.0 itcl "[incr\ Tcl]" +@@ -13,7 +13,7 @@ + .SH NAME + code \- capture the namespace context for a code fragment + .SH SYNOPSIS +-\fBcode \fR?\fB-namespace \fIname\fR? \fIcommand \fR?\fIarg arg ...\fR? ++\fBitcl::code \fR?\fB-namespace \fIname\fR? \fIcommand \fR?\fIarg arg ...\fR? + .BE + + .SH DESCRIPTION +diff -Naur insight-6.8.orig/itcl/itcl/doc/configbody.n insight-6.8.new/itcl/itcl/doc/configbody.n +--- insight-6.8.orig/itcl/itcl/doc/configbody.n 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/doc/configbody.n 2008-08-18 18:56:39.000000000 +0200 +@@ -4,7 +4,7 @@ + '\" See the file "license.terms" for information on usage and redistribution + '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. + '\" +-'\" RCS: $Id: configbody.n,v 1.1 1998/07/27 18:41:59 stanton Exp $ ++'\" RCS: $Id: configbody.n,v 1.4 2004/09/25 22:50:43 davygrvy Exp $ + '\" + .so man.macros + .TH configbody n 3.0 itcl "[incr\ Tcl]" +@@ -13,7 +13,7 @@ + .SH NAME + configbody \- change the "config" code for a public variable + .SH SYNOPSIS +-\fBconfigbody \fIclassName\fB::\fIvarName body\fR ++\fBitcl::configbody \fIclassName\fB::\fIvarName body\fR + .BE + + .SH DESCRIPTION +@@ -76,7 +76,7 @@ + the "config" code for a public variable is optional. The "-access" + option, for example, does not have it. + .CS +-class File { ++itcl::class File { + private variable fid "" + + public variable name "" +@@ -96,17 +96,17 @@ + method eof {} + } + +-body File::get {} { ++itcl::body File::get {} { + return [gets $fid] + } +-body File::put {line} { ++itcl::body File::put {line} { + puts $fid $line + } +-body File::eof {} { ++itcl::body File::eof {} { + return [::eof $fid] + } + +-configbody File::name { ++itcl::configbody File::name { + if {$fid != ""} { + close $fid + } +@@ -122,7 +122,7 @@ + while {![x eof]} { + puts "=> [x get]" + } +-delete object x ++itcl::delete object x + .CE + + .SH KEYWORDS +diff -Naur insight-6.8.orig/itcl/itcl/doc/delete.n insight-6.8.new/itcl/itcl/doc/delete.n +--- insight-6.8.orig/itcl/itcl/doc/delete.n 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/doc/delete.n 2008-08-18 18:56:39.000000000 +0200 +@@ -4,7 +4,7 @@ + '\" See the file "license.terms" for information on usage and redistribution + '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. + '\" +-'\" RCS: $Id: delete.n,v 1.1 1998/07/27 18:42:00 stanton Exp $ ++'\" RCS: $Id: delete.n,v 1.4 2004/09/25 22:50:43 davygrvy Exp $ + '\" + .so man.macros + .TH delete n 3.0 itcl "[incr\ Tcl]" +@@ -13,7 +13,7 @@ + .SH NAME + delete \- delete things in the interpreter + .SH SYNOPSIS +-\fBdelete \fIoption\fR ?\fIarg arg ...\fR? ++\fBitcl::delete \fIoption\fR ?\fIarg arg ...\fR? + .BE + + .SH DESCRIPTION +@@ -47,7 +47,7 @@ + If the access command for an object resides in another namespace, + then its qualified name can be used: + .CS +-delete object foo::bar::x ++itcl::delete object foo::bar::x + .CE + If an error is encountered while destructing an object, the + \fBdelete\fR command is aborted and the object remains alive. +diff -Naur insight-6.8.orig/itcl/itcl/doc/ensemble.n insight-6.8.new/itcl/itcl/doc/ensemble.n +--- insight-6.8.orig/itcl/itcl/doc/ensemble.n 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/doc/ensemble.n 2008-08-18 18:56:39.000000000 +0200 +@@ -4,7 +4,7 @@ + '\" See the file "license.terms" for information on usage and redistribution + '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. + '\" +-'\" RCS: $Id: ensemble.n,v 1.1 1998/07/27 18:42:00 stanton Exp $ ++'\" RCS: $Id: ensemble.n,v 1.4 2004/09/25 22:50:43 davygrvy Exp $ + '\" + .so man.macros + .TH ensemble n 3.0 itcl "[incr\ Tcl]" +@@ -13,7 +13,7 @@ + .SH NAME + ensemble \- create or modify a composite command + .SH SYNOPSIS +-\fBensemble \fIensName\fR ?\fIcommand arg arg...\fR? ++\fBitcl::ensemble \fIensName\fR ?\fIcommand arg arg...\fR? + .br + or + .br +@@ -150,14 +150,14 @@ + .CE + The Tcl package could define the following ensemble: + .CS +-ensemble wait part variable {name} { ++itcl::ensemble wait part variable {name} { + uplevel vwait $name + } + .CE + The Tk package could add some options to this ensemble, with a + command like this: + .CS +-ensemble wait { ++itcl::ensemble wait { + part visibility {name} { + tkwait visibility $name + } +diff -Naur insight-6.8.orig/itcl/itcl/doc/find.n insight-6.8.new/itcl/itcl/doc/find.n +--- insight-6.8.orig/itcl/itcl/doc/find.n 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/doc/find.n 2008-08-18 18:56:39.000000000 +0200 +@@ -4,7 +4,7 @@ + '\" See the file "license.terms" for information on usage and redistribution + '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. + '\" +-'\" RCS: $Id: find.n,v 1.2 2000/04/19 06:51:04 mmc Exp $ ++'\" RCS: $Id: find.n,v 1.5 2004/09/25 22:50:43 davygrvy Exp $ + '\" + .so man.macros + .TH find n 3.0 itcl "[incr\ Tcl]" +@@ -13,7 +13,7 @@ + .SH NAME + find \- search for classes and objects + .SH SYNOPSIS +-\fBfind \fIoption\fR ?\fIarg arg ...\fR? ++\fBitcl::find \fIoption\fR ?\fIarg arg ...\fR? + .BE + + .SH DESCRIPTION +@@ -42,7 +42,7 @@ + Therefore, you can use the following command to obtain a list where + all names are fully-qualified: + .CS +-find classes ::* ++itcl::find classes ::* + .CE + .TP + \fBfind objects ?\fIpattern\fR? ?\fB-class \fIclassName\fR? ?\fB-isa \fIclassName\fR? +@@ -65,7 +65,7 @@ + Therefore, you can use the following command to obtain a list where + all names are fully-qualified: + .CS +-find objects ::* ++itcl::find objects ::* + .CE + + .SH KEYWORDS +diff -Naur insight-6.8.orig/itcl/itcl/doc/is.n insight-6.8.new/itcl/itcl/doc/is.n +--- insight-6.8.orig/itcl/itcl/doc/is.n 1970-01-01 01:00:00.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/doc/is.n 2008-08-18 18:56:39.000000000 +0200 +@@ -0,0 +1,66 @@ ++'\" ++'\" Copyright (c) 1993-1998 Lucent Technologies, Inc. ++'\" ++'\" See the file "license.terms" for information on usage and redistribution ++'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. ++'\" ++'\" RCS: $Id: is.n,v 1.6 2004/09/25 22:50:43 davygrvy Exp $ ++'\" ++.so man.macros ++.TH is n 3.3 itcl "[incr\ Tcl]" ++.BS ++'\" Note: do not modify the .SH NAME line immediately below! ++.SH NAME ++is \- test argument to see if it is a class or an object ++.SH SYNOPSIS ++\fBitcl::is \fIoption\fR ?\fIarg arg ...\fR? ++.BE ++ ++.SH DESCRIPTION ++.PP ++The \fBis\fR command is used to check if the argument given is ++a class or an object; depending on the option given. If the argument ++if a class or object, then 1 is returned. Otherwise, 0 is returned. ++The \fBis\fR command also recognizes the commands wrapped in the ++itcl \fBcode command. ++.PP ++The \fIoption\fR argument determines what action is carried out ++by the command. The legal \fIoptions\fR (which may be abbreviated) ++are: ++.TP ++\fBis class \fIcommand\fR ++Returns 1 if command is a class, and returns 0 otherwise. ++.sp ++The fully qualified name of the class needs to be given as the \fIcommand\fR ++argument. So, if a class resides in a namespace, then the namespace needs to ++be specified as well. So, if a class \fBC resides in a namespace \fBN, then ++the command should be called like: ++.CS ++\fBis N::C\fR ++ or ++\fBis ::N::C\fR ++.CE ++.TP ++\fBis\fR object ?\fB-class \fIclassName\fR? \fIcommand\fR ++Returns 1 if \fIcommand\fR is an object, and returns 0 otherwise. ++.sp ++If the optional "\fB-class\fR" parameter is specified, then the ++\fIcommand\fR will be checked within the context of the class ++given. Note that \fIclassName\fR has to exist. If not, then an ++error will be given. So, if \fIclassName\fR is uncertain to be ++a class, then the programmer will need to check it's existance ++beforehand, or wrap it in a catch statement. ++.sp ++So, if \fBc\fR is an object in the class \fBC\fR, in namespace N then ++these are the possibilities (all return 1): ++.CS ++set obj [N::C c] ++itcl::is object N::c ++itcl::is object c ++itcl::is object $obj ++itcl::is object [itcl::code c] ++.CE ++ ++.SH KEYWORDS ++class, object ++ +diff -Naur insight-6.8.orig/itcl/itcl/doc/itcl_class.n insight-6.8.new/itcl/itcl/doc/itcl_class.n +--- insight-6.8.orig/itcl/itcl/doc/itcl_class.n 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/doc/itcl_class.n 1970-01-01 01:00:00.000000000 +0100 +@@ -1,419 +0,0 @@ +-'\" +-'\" Copyright (c) 1993-1998 Lucent Technologies, Inc. +-'\" +-'\" See the file "license.terms" for information on usage and redistribution +-'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. +-'\" +-'\" RCS: $Id: itcl_class.n,v 1.1 1998/07/27 18:42:01 stanton Exp $ +-'\" +-.so man.macros +-.TH itcl_class n 3.0 itcl "[incr\ Tcl]" +-.BS +-'\" Note: do not modify the .SH NAME line immediately below! +-.SH NAME +-itcl_class \- create a class of objects (obsolete) +-.SH SYNOPSIS +-\fBitcl_class \fIclassName\fR \fB{ +-.br +- \fBinherit \fIbaseClass\fR ?\fIbaseClass\fR...? +-.br +- \fBconstructor \fIargs\fR ?\fIinit\fR? \fIbody\fR +-.br +- \fBdestructor \fIbody\fR +-.br +- \fBmethod \fIname args body\fR +-.br +- \fBproc \fIname args body\fR +-.br +- \fBpublic \fIvarName\fR ?\fIinit\fR? ?\fIconfig\fR? +-.br +- \fBprotected \fIvarName\fR ?\fIinit\fR? +-.br +- \fBcommon \fIvarName\fR ?\fIinit\fR? +-.br +-\fB}\fR +-.sp +-\fIclassName objName\fR ?\fIargs...\fR? +-.br +-\fIclassName\fR \fB#auto\fR ?\fIargs...\fR? +-.br +-\fIclassName\fR \fB::\fR \fIproc\fR ?\fIargs...\fR? +-.sp +-\fIobjName method\fR ?\fIargs...\fR? +-.sp +-\fICommands available within class methods/procs:\fR +-.br +-\fBglobal \fIvarName\fR ?\fIvarName...\fR? +-.br +-\fBprevious \fIcommand\fR ?\fIargs...\fR? +-.br +-\fBvirtual \fIcommand\fR ?\fIargs...\fR? +-.BE +- +-.SH DESCRIPTION +-.PP +-This command is considered obsolete, but is retained for +-backward-compatibility with earlier versions of \fB[incr\ Tcl]\fR. +-It has been replaced by the \fBclass\fR command, which should +-be used for any new development. +- +-.TP +-\fBitcl_class \fIclassName definition\fR +-Provides the definition for a class named \fIclassName\fR. If +-\fIclassName\fR is already defined, then this command returns +-an error. If the class definition is successfully parsed, +-\fIclassName\fR becomes a command in the current namespace +-context, handling the +-creation of objects and providing access to class scope. +-The class \fIdefinition\fR +-is evaluated as a series of Tcl statements that define +-elements within the class. In addition to the usual +-commands, the following class definition commands are recognized: +-.RS +-.TP +-\fBinherit \fIbaseClass\fR ?\fIbaseClass\fR...? +-Declares one or more base classes, causing the current class to +-inherit their characteristics. Classes must have been defined by +-a previous \fBitcl_class\fR command, or must be available to the +-auto-loading facility (see "AUTO-LOADING" below). A single class +-definition can contain no more than one \fBinherit\fR command. +-.RS +-.LP +-When the same member name appears in two or more base classes, +-the base class that appears first in the \fBinherit\fR list takes +-precedence. For example, if classes "Foo" and "Bar" both contain +-the member "x", then the "\fBinherit\fR" statement: +-.CS +-inherit Foo Bar +-.CE +-allows "Foo::x" to be accessed simply as "x" but forces "Bar::x" (and +-all other inherited members named "x") to be referenced with their +-explicit "\fIclass\fR::\fImember\fR" name. +-.RE +-.TP +-\fBconstructor \fIargs\fR ?\fIinit\fR? \fIbody\fR +-Declares the argument list and body used for the constructor, which +-is automatically invoked whenever an object is created. Before +-.VS +-the \fIbody\fR is executed, the optional \fIinit\fR statement is +-used to invoke any base class constructors that require arguments. +-Variables in the \fIargs\fR specification can be accessed in the +-\fIinit\fR code fragment, and passed to base class constructors. +-After evaluating the \fIinit\fR statement, any base class +-constructors that have not been executed are invoked without +-arguments. This ensures that all base classes are fully +-constructed before the constructor \fIbody\fR is executed. +-.VE +-If construction is successful, the constructor always returns +-the object name\-regardless of how the \fIbody\fR is defined\-and +-the object name becomes a command in the current namespace context. +-If construction fails, an error message is returned. +-.TP +-\fBdestructor \fIbody\fR +-Declares the body used for the destructor, which is automatically invoked +-whenever an object is deleted. If the destructor is successful, the object +-data is destroyed and the object name is removed as a command from the +-interpreter. If destruction fails, an error message is returned +-and the object remains. +-.RS +-.LP +-.VS +-When an object is destroyed, all destructors in a class hierarchy +-are invoked in order from most- to least-specific. This is the +-order that the classes are reported by the "\fBinfo heritage\fR" +-command, and it is exactly the opposite of the default constructor +-order. +-.VE +-.RE +-.TP +-\fBmethod \fIname args body\fR +-Declares a method called \fIname\fR with an argument list \fIargs\fR +-and a \fIbody\fR of Tcl statements. A method is just like the usual +-Tcl "proc" except that it has transparent access to +-.VS +-object-specific variables, as well as +-.VE +-common variables. Within the class scope, a method can be invoked +-like any other command\-simply by using its name. Outside of the +-class scope, the method name must be prefaced by an object +-name. Methods in a base class that are redefined in the current class +-or hidden by another base class can be explicitly scoped using the +-"\fIclass\fR::\fImethod\fR" syntax. +-.TP +-\fBproc \fIname args body\fR +-Declares a proc called \fIname\fR with an argument list \fIargs\fR +-and a \fIbody\fR of Tcl statements. A proc is similar to a method, +-except that it can be invoked without referring to a specific object, +-and therefore has access only to common variables\-not +-.VS +-to object-specific variables declared with the \fBpublic\fR +-and \fBprotected\fR commands. +-.VE +-Within the class scope, a proc can be invoked +-like any other command\-simply by using its name. In any other +-namespace context, the proc is invoked using a qualified name +-like "\fIclassName\fB::\fIproc\fR". +-Procs in a base class that are redefined in the current +-class, or hidden by another base class, can also be accessed +-via their qualified name. +-.TP +-\fBpublic \fIvarName\fR ?\fIinit\fR? ?\fIconfig\fR? +-Declares a public variable named \fIvarName\fR. Public variables are +-visible in methods within the scope of their class and any derived class. +-In addition, they can be modified outside of the class scope using the special +-"config" formal argument (see "ARGUMENT LISTS" above). If the optional +-\fIinit\fR is specified, it is used as the initial value of the variable +-when a new object is created. If the optional \fIconfig\fR command +-is specified, +-it is invoked whenever a public variable is modified via the "config" +-formal argument; if the \fIconfig\fR command returns an error, the +-public variable is reset to its value before configuration, and the +-method handling the configuration returns an error. +-.TP +-\fBprotected \fIvarName\fR ?\fIinit\fR? +-Declares a protected variable named \fIvarName\fR. Protected variables +-are visible in methods within the scope of their class and any derived class, +-but cannot +-be modified outside of the class scope. If the optional \fIinit\fR +-is specified, it is used as the initial value of the variable when a new +-object is created. Initialization forces the variable to be a simple +-scalar value; uninitialized variables, on the other hand, can be used +-as arrays. All objects have a built-in protected variable named +-"this" which is initialized to the instance name for the object. +-.TP +-\fBcommon \fIvarName\fR ?\fIinit\fR? +-Declares a common variable named \fIvarName\fR. Common variables are +-shared among all objects in a class. They are visible in methods and +-procs in the scope of their class and any derived class, but cannot be +-modified outside of the class scope. +-If the optional \fIinit\fR is specified, it is used as the +-initial value of the variable. Initialization forces the variable to be +-a simple scalar value; uninitialized variables, on the other hand, can +-be used as arrays. +-.RS +-.LP +-Once a common variable has been declared, it can be configured using +-ordinary Tcl code within the class definition. This facility is +-particularly useful when the initialization of the variable is +-non-trivial\-when the variable contains an array of values, for example: +-.CS +-itcl_class Foo { +- . +- . +- common boolean +- set boolean(true) 1 +- set boolean(false) 0 +-} +-.CE +-.RE +-.RE +- +-.SH CLASS USAGE +-.PP +-When a class definition has been loaded (or made available to the +-auto-loader), the class name can be used as a command. +-.TP +-\fIclassName objName\fR ?\fIargs...\fR? +-Creates a new object in class \fIclassName\fR with the name \fIobjName\fR. +-Remaining arguments are passed to the constructor. If construction is +-successful, the object name is returned and this name becomes a command +-in the current namespace context. Otherwise, an error is returned. +-.TP +-\fIclassName\fR #auto ?\fIargs...\fR? +-Creates a new object in class \fIclassName\fR with an automatically +-generated name. Names are of the form \fIclassName\fR, +-.VS +-where the \fIclassName\fR part is modified to start with a lowercase +-letter. In class "Toaster", for example, the "\fB#auto\fR" specification +-would produce names toaster0, toaster1, etc. Remaining arguments are +-.VE +-passed to the constructor. If construction is successful, the object +-name is returned and this name becomes a command in the current +-namespace context. Otherwise, an error is returned. +-.TP +-\fIclassName\fR :: \fIproc\fR ?\fIargs...\fR? +-Used outside of the class scope to invoke a class proc named \fIproc\fR. +-Class procs are like ordinary Tcl procs, except that they are executed +-in the scope of the class and therefore have transparent +-access to common data members. +-.RS +-.LP +-.VS +-Notice that, unlike any other scope qualifier in \fB[incr\ Tcl]\fR, the "::" +-shown above is surrounded by spaces. This is unnecessary with the +-new namespace facility, and is considered obsolete. The capability +-is still supported, however, to provide backward-compatibility with +-earlier versions. +-.VE +-.RE +- +-.SH OBJECT USAGE +-.TP +-\fIobjName method\fR ?\fIargs...\fR? +-Invokes a method named \fImethod\fR to operate on the specified object. +-Remaining arguments are passed to the method. The method name can +-be "constructor", "destructor", any method name appearing in the +-class definition, or any of the following built-in methods. +-.SH BUILT-IN METHODS +-.TP +-\fIobjName\fR \fBisa \fIclassName\fR +-Returns non-zero if the given \fIclassName\fR can be found in the +-object's heritage, and zero otherwise. +-.TP +-\fIobjName\fR \fBdelete\fR +-Invokes the destructor associated with an object. +-If the destructor is successful, data associated with the object is +-deleted and \fIobjName\fR is removed as a command from the +-interpreter. Returns the empty string, regardless of the destructor +-body. +-.RS +-.LP +-.VS +-The built-in \fBdelete\fR method has been replaced by the +-"\fBdelete object\fR" command in the global namespace, and +-is considered obsolete. The capability is still supported, +-however, to provide backward-compatibility with earlier versions. +-.VE +-.RE +-.TP +-\fIobjName\fR \fBinfo \fIoption\fR ?\fIargs...\fR? +-Returns information related to the class definition or to +-a particular object named \fIobjName\fR. +-The \fIoption\fR parameter includes the following things, as well as +-the options recognized by the usual Tcl "info" command: +-.RS +-.TP +-\fIobjName\fR \fBinfo class\fR +-.VS +-Returns the name of the most-specific class for object \fIobjName\fR. +-.VE +-.TP +-\fIobjName\fR \fBinfo inherit\fR +-Returns the list of base classes as they were defined in the +-"\fBinherit\fR" command, or an empty string if this class +-has no base classes. +-.TP +-\fIobjName\fR \fBinfo heritage\fR +-Returns the current class name and the entire list of base classes in +-the order that they are traversed for member lookup and object +-destruction. +-.TP +-\fIobjName\fR \fBinfo method\fR ?\fImethodName\fR? ?\fB-args\fR? ?\fB-body\fR? +-With no arguments, this command returns a list of all class methods. +-If \fImethodName\fR is specified, it returns information for a specific method. +-If neither of the optional \fB-args\fR or \fB-body\fR flags is specified, +-a complete method definition is returned as a list of three elements +-including the method name, argument list and body. Otherwise, the +-requested information is returned without the method name. +-If the \fImethodName\fR is not recognized, an empty string is returned. +-.TP +-\fIobjName\fR \fBinfo proc\fR ?\fIprocName\fR? ?\fB-args\fR? ?\fB-body\fR? +-With no arguments, this command returns a list of all class procs. +-If \fIprocName\fR is specified, it returns information for a specific proc. +-If neither of the optional \fB-args\fR or \fB-body\fR flags is specified, +-a complete proc definition is returned as a list of three elements +-including the proc name, argument list and body. Otherwise, the +-requested information is returned without the proc name. +-If the \fIprocName\fR is not recognized, an empty string is returned. +-.TP +-\fIobjName\fR \fBinfo public\fR ?\fIvarName\fR? ?\fB-init\fR? ?\fB-value\fR? ?\fB-config\fR? +-With no arguments, this command returns a list of all public variables. +-If \fIvarName\fR is specified, it returns information for a specific public +-variable. +-If none of the optional \fB-init\fR, \fB-value\fR or \fB-config\fR flags +-are specified, all available information is returned as a list of four +-elements including the variable name, initial value, current value, +-and configuration commands. Otherwise, the requested information is +-returned without the variable name. +-If the \fIvarName\fR is not recognized, an empty string is returned. +-.TP +-\fIobjName\fR \fBinfo protected\fR ?\fIvarName\fR? ?\fB-init\fR? ?\fB-value\fR? +-With no arguments, this command returns a list of all protected variables. +-If \fIvarName\fR is specified, it returns information for a specific protected +-variable. +-If neither of the optional \fB-init\fR or \fB-value\fR flags is specified, +-all available information is returned as a list of three elements +-including the variable name, initial value and current value. +-Otherwise, the requested information is returned without the variable name. +-If the \fIvarName\fR is not recognized, an empty string is returned. +-.TP +-\fIobjName\fR \fBinfo common\fR ?\fIvarName\fR? ?\fB-init\fR? ?\fB-value\fR? +-With no arguments, this command returns a list of all common variables. +-If \fIvarName\fR is specified, it returns information for a specific common +-variable. +-If neither of the optional \fB-init\fR or \fB-value\fR flags is specified, +-all available information is returned as a list of three elements +-including the variable name, initial value and current value. +-Otherwise, the requested information is returned without the variable name. +-If the \fIvarName\fR is not recognized, an empty string is returned. +-.RE +-.SH OTHER BUILT-IN COMMANDS +-The following commands are also available within the scope of each class. +-They cannot be accessed from outside of the class as proper methods or +-procs; rather, they are useful inside the class when implementing its +-functionality. +-.TP +-\fBglobal \fIvarName\fR ?\fIvarName...\fR? +-Creates a link to one or more global variables in the current +-namespace context. Global variables can also be accessed in +-other namespaces by including namespace qualifiers in \fIvarName\fR. +-This is useful when communicating with Tk widgets that rely on global +-variables. +-.TP +-\fBprevious \fIcommand\fR ?\fIargs...\fR? +-Invokes \fIcommand\fR in the scope of the most immediate base class +-.VS +-(i.e., the "previous" class) for the object. For classes using single +-.VE +-inheritance, this facility can be used to avoid hard-wired base class +-references of the form "\fIclass\fR::\fIcommand\fR", making code easier +-to maintain. For classes using multiple inheritance, the utility of +-this function is dubious. +-If the class at the relevant scope has no base class, an error is returned. +-.TP +-\fBvirtual \fIcommand\fR ?\fIargs...\fR? +-.VS +-Invokes \fIcommand\fR in the scope of the most-specific class for the +-object. The methods within a class are automatically virtual; whenever +-an unqualified method name is used, it always refers to the most-specific +-implementation for that method. This function provides a way of +-evaluating code fragments in a base class that have access to the +-most-specific object information. It is useful, for example, for +-creating base classes that can capture and save an object's state. +-It inverts the usual notions of object-oriented programming, however, +-and should therefore be used sparingly. +-.VE +- +-.SH AUTO-LOADING +-.PP +-Class definitions need not be loaded explicitly; they can be loaded as +-needed by the usual Tcl auto-loading facility. Each directory containing +-class definition files should have an accompanying "tclIndex" file. +-Each line in this file identifies a Tcl procedure or \fB[incr\ Tcl]\fR +-class definition and the file where the definition can be found. +-.PP +-For example, suppose a directory contains the definitions for classes +-"Toaster" and "SmartToaster". Then the "tclIndex" file for this +-directory would look like: +-.CS +-# Tcl autoload index file, version 2.0 for [incr Tcl] +-# This file is generated by the "auto_mkindex" command +-# and sourced to set up indexing information for one or +-# more commands. Typically each line is a command that +-# sets an element in the auto_index array, where the +-# element name is the name of a command and the value is +-# a script that loads the command. +- +-set auto_index(::Toaster) "source $dir/Toaster.itcl" +-set auto_index(::SmartToaster) "source $dir/SmartToaster.itcl" +-.PP +-The \fBauto_mkindex\fR command is used to automatically +-generate "tclIndex" files. +-.CE +-The auto-loader must be made aware of this directory by appending +-the directory name to the "auto_path" variable. When this is in +-place, classes will be auto-loaded as needed when used in an +-application. +- +-.SH KEYWORDS +-class, object, object-oriented +diff -Naur insight-6.8.orig/itcl/itcl/doc/itcl_info.n insight-6.8.new/itcl/itcl/doc/itcl_info.n +--- insight-6.8.orig/itcl/itcl/doc/itcl_info.n 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/doc/itcl_info.n 1970-01-01 01:00:00.000000000 +0100 +@@ -1,62 +0,0 @@ +-'\" +-'\" Copyright (c) 1993-1998 Lucent Technologies, Inc. +-'\" +-'\" See the file "license.terms" for information on usage and redistribution +-'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. +-'\" +-'\" RCS: $Id: itcl_info.n,v 1.2 1998/10/29 21:24:20 stanton Exp $ +-'\" +-.so man.macros +-.TH itcl_info n 3.0 itcl "[incr\ Tcl]" +-.BS +-'\" Note: do not modify the .SH NAME line immediately below! +-.SH NAME +-itcl_info \- query info regarding classes and objects (obsolete) +-.SH SYNOPSIS +-\fBitcl_info classes ?\fIpattern\fR? +-.br +-\fBitcl_info objects ?\fIpattern\fR? ?\fB-class \fIclassName\fR? ?\fB-isa \fIclassName\fR? +-.BE +- +-.SH DESCRIPTION +-.PP +-This command is considered obsolete, but is retained for +-backward-compatibility with earlier versions of \fB[incr\ Tcl]\fR. +-It has been replaced by the "\fBfind classes\fR" and "\fBfind objects\fR" +-commands, which should be used for any new development. +- +-.PP +-The following commands are available in the global namespace to +-query information about classes and objects that have been created. +-.TP +-\fBitcl_info classes ?\fIpattern\fR? +-Returns a list of classes available in the current namespace context. +-.VS +-If a class belongs to the current namespace context, its simple name +-is reported; otherwise, if a class is imported from another namespace, +-its fully-qualified name is reported. +-.VE +-.sp +-If the optional \fIpattern\fR is specified, then the reported names +-are compared using the rules of the "\fBstring match\fR" command, +-and only matching names are reported. +-.TP +-\fBitcl_info objects ?\fIpattern\fR? ?\fB-class \fIclassName\fR? ?\fB-isa \fIclassName\fR? +-Returns a list of objects available in the current namespace context. +-.VS +-If an object belongs to the current namespace context, its simple name +-is reported; otherwise, if an object is imported from another namespace, +-its fully-qualified access command is reported. +-.VE +-.sp +-If the optional \fIpattern\fR is specified, then the reported names +-are compared using the rules of the "\fBstring match\fR" command, +-and only matching names are reported. +-If the optional "\fB-class\fR" parameter is specified, this list is +-restricted to objects whose most-specific class is \fIclassName\fR. +-If the optional "\fB-isa\fR" parameter is specified, this list is +-further restricted to objects having the given \fIclassName\fR +-anywhere in their heritage. +- +-.SH KEYWORDS +-class, object, object-oriented +diff -Naur insight-6.8.orig/itcl/itcl/doc/itcl.n insight-6.8.new/itcl/itcl/doc/itcl.n +--- insight-6.8.orig/itcl/itcl/doc/itcl.n 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/doc/itcl.n 2008-08-18 18:56:39.000000000 +0200 +@@ -4,7 +4,7 @@ + '\" See the file "license.terms" for information on usage and redistribution + '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. + '\" +-'\" RCS: $Id: itcl.n,v 1.1 1998/07/27 18:42:01 stanton Exp $ ++'\" RCS: $Id: itcl.n,v 1.3 2004/09/25 22:50:43 davygrvy Exp $ + '\" + .so man.macros + .TH itcl n 3.0 itcl "[incr\ Tcl]" +diff -Naur insight-6.8.orig/itcl/itcl/doc/itclsh.1 insight-6.8.new/itcl/itcl/doc/itclsh.1 +--- insight-6.8.orig/itcl/itcl/doc/itclsh.1 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/doc/itclsh.1 1970-01-01 01:00:00.000000000 +0100 +@@ -1,30 +0,0 @@ +-'\" +-'\" Copyright (c) 1996 Lucent Technologies +-'\" +-'\" See the file "license.terms" for information on usage and redistribution +-'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. +-'\" +-'\" $Id: itclsh.1,v 1.1 1998/07/27 18:42:02 stanton Exp $ +-'\" +-.so man.macros +-.TH itclsh 1 "" itcl "[incr\ Tcl]" +-.BS +-'\" Note: do not modify the .SH NAME line immediately below! +-.SH NAME +-itclsh \- Simple shell for [incr Tcl] +-.SH SYNOPSIS +-\fBitclsh\fR ?\fIfileName arg arg ...\fR? +-.BE +- +-.SH DESCRIPTION +-.PP +-\fBitclsh\fR is a shell-like application that reads Tcl commands +-from its standard input, or from a file, and evaluates them. +-It is just like \fBtclsh\fR, but includes the \fB[incr\ Tcl]\fR +-extensions for object-oriented programming. +-.PP +-See the \fBtclsh\fR man page for details concerning usage. See +-the \fBitcl\fR man page for an overview of \fB[incr\ Tcl]\fR. +- +-.SH KEYWORDS +-Tcl, itcl, interpreter, script file, shell +diff -Naur insight-6.8.orig/itcl/itcl/doc/itclvars.n insight-6.8.new/itcl/itcl/doc/itclvars.n +--- insight-6.8.orig/itcl/itcl/doc/itclvars.n 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/doc/itclvars.n 2008-08-18 18:56:39.000000000 +0200 +@@ -4,7 +4,7 @@ + '\" See the file "license.terms" for information on usage and redistribution + '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. + '\" +-'\" RCS: $Id: itclvars.n,v 1.1 1998/07/27 18:42:02 stanton Exp $ ++'\" RCS: $Id: itclvars.n,v 1.3 2004/09/25 22:50:43 davygrvy Exp $ + '\" + .so man.macros + .TH itclvars n 3.0 itcl "[incr\ Tcl]" +diff -Naur insight-6.8.orig/itcl/itcl/doc/local.n insight-6.8.new/itcl/itcl/doc/local.n +--- insight-6.8.orig/itcl/itcl/doc/local.n 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/doc/local.n 2008-08-18 18:56:39.000000000 +0200 +@@ -4,7 +4,7 @@ + '\" See the file "license.terms" for information on usage and redistribution + '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. + '\" +-'\" RCS: $Id: local.n,v 1.1 1998/07/27 18:42:03 stanton Exp $ ++'\" RCS: $Id: local.n,v 1.4 2004/09/25 22:50:43 davygrvy Exp $ + '\" + .so man.macros + .TH local n "" itcl "[incr\ Tcl]" +@@ -13,7 +13,7 @@ + .SH NAME + local \- create an object local to a procedure + .SH SYNOPSIS +-\fBlocal \fIclassName objName\fR ?\fIarg arg ...\fR? ++\fBitcl::local \fIclassName objName\fR ?\fIarg arg ...\fR? + .BE + + .SH DESCRIPTION +@@ -37,7 +37,7 @@ + constructor/destructor show the object coming and going + as the procedure is called. + .CS +-class counter { ++itcl::class counter { + private variable count 0 + constructor {} { + puts "created: $this" +@@ -68,7 +68,7 @@ + set result [test 10] + puts "test: $result" + +-puts "objects: [info objects]" ++puts "objects: [itcl::find objects *]" + .CE + + .SH KEYWORDS +diff -Naur insight-6.8.orig/itcl/itcl/doc/RegisterC.3 insight-6.8.new/itcl/itcl/doc/RegisterC.3 +--- insight-6.8.orig/itcl/itcl/doc/RegisterC.3 1970-01-01 01:00:00.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/doc/RegisterC.3 2008-08-18 18:56:39.000000000 +0200 +@@ -0,0 +1,124 @@ ++'\" ++'\" Copyright (c) 1993-1998 Lucent Technologies, Inc. ++'\" ++'\" See the file "license.terms" for information on usage and redistribution ++'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. ++'\" ++'\" RCS: $Id: RegisterC.3,v 1.5 2004/09/27 05:17:11 davygrvy Exp $ ++'\" ++.so man.macros ++.TH Itcl_RegisterC 3 3.0 itcl "[incr\ Tcl] Library Procedures" ++.BS ++'\" Note: do not modify the .SH NAME line immediately below! ++.SH NAME ++Itcl_RegisterC, Itcl_RegisterObjC, Itcl_FindC \- Associate a symbolic name with a C procedure. ++.SH SYNOPSIS ++.nf ++\fB#include \fR ++.sp ++int ++\fBItcl_RegisterC\fR(\fIinterp, cmdName, argProc, clientData, deleteProc\fR) ++.sp ++int ++\fBItcl_RegisterObjC\fR(\fIinterp, cmdName, objProc, clientData, deleteProc\fR) ++.sp ++int ++\fBItcl_FindC\fR(\fIinterp, cmdName, argProcPtr, objProcPtr, cDataPtr\fR) ++.SH ARGUMENTS ++.AP Tcl_Interp *interp in ++Interpreter in which to create new command. ++.VS 8.4 ++.AP "CONST char" *cmdName in ++.VE ++Name of command. ++.AP Tcl_CmdProc *argProc in ++Implementation of new command: \fIargProc\fR will be called whenever ++.AP Tcl_CmdProc **argProcPtr in/out ++The Tcl_CmdProc * to receive the pointer. ++.AP Tcl_ObjCmdProc *objProc in ++Implementation of the new command: \fIobjProc\fR will be called whenever ++.AP Tcl_ObjCmdProc **objProcPtr in/out ++The Tcl_ObjCmdProc * to receive the pointer. ++.AP ClientData clientData in ++Arbitrary one-word value to pass to \fIproc\fR and \fIdeleteProc\fR. ++.AP ClientData *cDataPtr in/out ++The ClientData to receive the pointer. ++.AP Tcl_CmdDeleteProc *deleteProc in ++Procedure to call before \fIcmdName\fR is deleted from the interpreter; ++allows for command-specific cleanup. If NULL, then no procedure is ++called before the command is deleted. ++.BE ++ ++.SH DESCRIPTION ++.PP ++Used to associate a symbolic name with an (argc,argv) C procedure ++that handles a Tcl command. Procedures that are registered in this ++manner can be referenced in the body of an [incr Tcl] class ++definition to specify C procedures to acting as methods/procs. ++Usually invoked in an initialization routine for an extension, ++called out in Tcl_AppInit() at the start of an application. ++.PP ++Each symbolic procedure can have an arbitrary client data value ++associated with it. This value is passed into the command ++handler whenever it is invoked. ++.PP ++A symbolic procedure name can be used only once for a given style ++(arg/obj) handler. If the name is defined with an arg-style ++handler, it can be redefined with an obj-style handler; or if ++the name is defined with an obj-style handler, it can be redefined ++with an arg-style handler. In either case, any previous client ++data is discarded and the new client data is remembered. However, ++if a name is redefined to a different handler of the same style, ++this procedure returns an error. ++.PP ++Returns TCL_OK on success, or TCL_ERROR (along with an error message ++in interp->result) if anything goes wrong. ++.PP ++C procedures can be integrated into an \fB[incr\ Tcl]\fR class ++definition to implement methods, procs, and the "config" code ++for public variables. Any body that starts with "\fB@\fR" ++is treated as the symbolic name for a C procedure. ++.PP ++Symbolic names are established by registering procedures via ++\fBItcl_RegisterC()\fR. This is usually done in the \fBTcl_AppInit()\fR ++procedure, which is automatically called when the interpreter starts up. ++In the following example, the procedure \fCMy_FooCmd()\fR is registered ++with the symbolic name "foo". This procedure can be referenced in ++the \fBbody\fR command as "\fC@foo\fR". ++.CS ++int ++Tcl_AppInit(interp) ++ Tcl_Interp *interp; /* Interpreter for application. */ ++{ ++ if (Itcl_Init(interp) == TCL_ERROR) { ++ return TCL_ERROR; ++ } ++ ++ if (Itcl_RegisterC(interp, "foo", My_FooCmd) != TCL_OK) { ++ return TCL_ERROR; ++ } ++} ++.CE ++C procedures are implemented just like ordinary Tcl commands. ++See the \fBCrtCommand\fR man page for details. Within the procedure, ++class data members can be accessed like ordinary variables ++using \fBTcl_SetVar()\fR, \fBTcl_GetVar()\fR, \fBTcl_TraceVar()\fR, ++etc. Class methods and procs can be executed like ordinary commands ++using \fBTcl_Eval()\fR. \fB[incr\ Tcl]\fR makes this possible by ++automatically setting up the context before executing the C procedure. ++.PP ++This scheme provides a natural migration path for code development. ++Classes can be developed quickly using Tcl code to implement the ++bodies. An entire application can be built and tested. When ++necessary, individual bodies can be implemented with C code to ++improve performance. ++.PP ++See the Archetype class in \fB[incr\ Tk]\fR for an example of how this ++C linking method is used. ++ ++.SH "SEE ALSO" ++Tcl_CreateCommand, Tcl_CreateObjCommand ++ ++.SH KEYWORDS ++class, object ++ +diff -Naur insight-6.8.orig/itcl/itcl/doc/scope.n insight-6.8.new/itcl/itcl/doc/scope.n +--- insight-6.8.orig/itcl/itcl/doc/scope.n 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/doc/scope.n 2008-08-18 18:56:39.000000000 +0200 +@@ -4,7 +4,7 @@ + '\" See the file "license.terms" for information on usage and redistribution + '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. + '\" +-'\" RCS: $Id: scope.n,v 1.5 1998/08/23 16:32:23 stanton Exp $ ++'\" RCS: $Id: scope.n,v 1.7 2004/09/25 22:50:43 davygrvy Exp $ + '\" + .so man.macros + .TH scope n "" itcl "[incr\ Tcl]" +@@ -13,7 +13,7 @@ + .SH NAME + scope \- capture the namespace context for a variable + .SH SYNOPSIS +-\fBscope \fIname\fR ++\fBitcl::scope \fIname\fR + .BE + + .SH DESCRIPTION +diff -Naur insight-6.8.orig/itcl/itcl/doc/Stack.3 insight-6.8.new/itcl/itcl/doc/Stack.3 +--- insight-6.8.orig/itcl/itcl/doc/Stack.3 1970-01-01 01:00:00.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/doc/Stack.3 2008-08-18 18:56:39.000000000 +0200 +@@ -0,0 +1,60 @@ ++'\" ++'\" Copyright (c) 1993-1998 Lucent Technologies, Inc. ++'\" ++'\" See the file "license.terms" for information on usage and redistribution ++'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. ++'\" ++'\" RCS: $Id: Stack.3,v 1.2 2004/09/26 00:51:55 davygrvy Exp $ ++'\" ++.so man.macros ++.TH Itcl_InitStack 3 3.0 itcl "[incr\ Tcl] Library Procedures" ++.BS ++'\" Note: do not modify the .SH NAME line immediately below! ++.SH NAME ++Itcl_InitStack, Itcl_DeleteStack, Itcl_PushStack, Itcl_PopStack, Itcl_PeekStack, Itcl_GetStackValue, Itcl_GetStackSize \- Manipulate an Itcl stack object. ++.SH SYNOPSIS ++.nf ++\fB#include \fR ++.sp ++int ++\fBItcl_InitStack\fR(\fIstack\fR) ++.sp ++int ++\fBItcl_DeleteStack\fR(\fIstack\fR) ++.sp ++int ++\fBItcl_PushStack\fR(\fIcdata, stack\fR) ++.sp ++ClientData ++\fBItcl_PopStack\fR(\fIstack\fR) ++.sp ++ClientData ++\fBItcl_PeekStack\fR(\fIstack\fR) ++.sp ++ClientData ++\fBItcl_GetStackValue\fR(\fIstack, pos\fR) ++.sp ++int ++\fBItcl_GetStackSize\fR(\fIstack\fR) ++.SH ARGUMENTS ++.AP Itcl_Stack *stack in ++Stack info structure. ++.AP int pos in ++position in stack order from the top. ++.AP ClientData clientData in ++Arbitrary one-word value to save in the stack. ++.BE ++ ++.SH DESCRIPTION ++.PP ++\fBItcl_InitStack\fR initializes a stack structure and \fBItcl_DeleteStack\fR ++deletes it. \fBItcl_PushStack\fR pushes the \fIcdata\fR value onto the stack. ++\fBItcl_PopStack\fR removes and returns the top most \fIcdata\fR value. ++\fBItcl_PeekStack\fR returns the top most value, but does not remove it. ++\fBItcl_GetStackValue\fR gets a value at some index within the stack. Index ++"0" is the first value pushed onto the stack. \fBItcl_GetStackSize\fR ++returns the count of entries on the stack. ++ ++.SH KEYWORDS ++stack ++ +diff -Naur insight-6.8.orig/itcl/itcl/generic/itcl_bicmds.c insight-6.8.new/itcl/itcl/generic/itcl_bicmds.c +--- insight-6.8.orig/itcl/itcl/generic/itcl_bicmds.c 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/generic/itcl_bicmds.c 2008-08-18 18:56:39.000000000 +0200 +@@ -22,7 +22,7 @@ + * mmclennan@lucent.com + * http://www.tcltk.com/itcl + * +- * RCS: $Id: itcl_bicmds.c,v 1.5 2001/05/22 15:36:52 davygrvy Exp $ ++ * RCS: $Id: itcl_bicmds.c,v 1.9 2005/02/10 23:20:28 hobbs Exp $ + * ======================================================================== + * Copyright (c) 1993-1998 Lucent Technologies, Inc. + * ------------------------------------------------------------------------ +@@ -323,7 +323,8 @@ + ItclObject *contextObj; + + int i, result; +- char *token, *lastval; ++ CONST char *lastval; ++ char *token; + ItclClass *cdPtr; + Tcl_HashSearch place; + Tcl_HashEntry *entry; +@@ -487,7 +488,7 @@ + * set up for public variable access. + */ + mcode = member->code; +- if (mcode && mcode->procPtr->bodyPtr) { ++ if (mcode && Itcl_IsMemberCodeImplemented(mcode)) { + + uplevelFramePtr = _Tcl_GetCallFrame(interp, 1); + oldFramePtr = _Tcl_ActivateCallFrame(interp, uplevelFramePtr); +@@ -546,7 +547,7 @@ + ItclClass *contextClass; + ItclObject *contextObj; + +- char *name, *val; ++ CONST char *name, *val; + ItclVarLookup *vlookup; + Tcl_HashEntry *entry; + +@@ -588,9 +589,9 @@ + contextObj, contextObj->classDefn); + + if (val) { +- Tcl_SetResult(interp, val, TCL_VOLATILE); ++ Tcl_SetObjResult(interp, Tcl_NewStringObj(val, -1)); + } else { +- Tcl_SetResult(interp, "", TCL_STATIC); ++ Tcl_SetObjResult(interp, Tcl_NewStringObj("", -1)); + } + return TCL_OK; + } +@@ -615,7 +616,7 @@ + ItclVarDefn *vdefn; /* public variable to be reported */ + ItclObject *contextObj; /* object containing this variable */ + { +- char *val; ++ CONST char *val; + ItclClass *cdefnPtr; + Tcl_HashEntry *entry; + ItclVarLookup *vlookup; +@@ -655,7 +656,7 @@ + contextObj->classDefn); + + if (val) { +- objPtr = Tcl_NewStringObj(val, -1); ++ objPtr = Tcl_NewStringObj((CONST84 char *)val, -1); + } else { + objPtr = Tcl_NewStringObj("", -1); + } +@@ -825,12 +826,10 @@ + * signal an error. + */ + if (Itcl_GetContext(interp, &contextClass, &contextObj) != TCL_OK) { +- name = Tcl_GetStringFromObj(objv[0], (int*)NULL); +- Tcl_ResetResult(interp); +- Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +- "\nget info like this instead: ", +- "\n namespace eval className { info ", name, "... }", +- (char*)NULL); ++ Tcl_Obj *msg = Tcl_NewStringObj("\nget info like this instead: " \ ++ "\n namespace eval className { info ", -1); ++ Tcl_AppendStringsToObj(msg, Tcl_GetString(objv[0]), "... }", NULL); ++ Tcl_SetObjResult(interp, msg); + return TCL_ERROR; + } + +@@ -855,7 +854,7 @@ + name = contextNs->fullName; + } + +- Tcl_SetResult(interp, name, TCL_VOLATILE); ++ Tcl_SetObjResult(interp, Tcl_NewStringObj(name, -1)); + return TCL_OK; + } + +@@ -1133,7 +1132,7 @@ + break; + + case BIfBodyIdx: +- if (mcode && mcode->procPtr->bodyPtr) { ++ if (mcode && Itcl_IsMemberCodeImplemented(mcode)) { + objPtr = mcode->procPtr->bodyPtr; + } else { + objPtr = Tcl_NewStringObj("", -1); +@@ -1247,7 +1246,7 @@ + ItclObject *contextObj; + + int i, result; +- char *val, *name; ++ CONST char *val, *name; + ItclClass *cdefn; + Tcl_HashSearch place; + Tcl_HashEntry *entry; +@@ -1334,7 +1333,7 @@ + for (i=0 ; i < objc; i++) { + switch (ivlist[i]) { + case BIvConfigIdx: +- if (member->code && member->code->procPtr->bodyPtr) { ++ if (member->code && Itcl_IsMemberCodeImplemented(member->code)) { + objPtr = member->code->procPtr->bodyPtr; + } else { + objPtr = Tcl_NewStringObj("", -1); +@@ -1370,13 +1369,13 @@ + + case BIvProtectIdx: + val = Itcl_ProtectionStr(member->protection); +- objPtr = Tcl_NewStringObj(val, -1); ++ objPtr = Tcl_NewStringObj((CONST84 char *)val, -1); + break; + + case BIvTypeIdx: + val = ((member->flags & ITCL_COMMON) != 0) + ? "common" : "variable"; +- objPtr = Tcl_NewStringObj(val, -1); ++ objPtr = Tcl_NewStringObj((CONST84 char *)val, -1); + break; + + case BIvValueIdx: +@@ -1400,7 +1399,7 @@ + if (val == NULL) { + val = ""; + } +- objPtr = Tcl_NewStringObj(val, -1); ++ objPtr = Tcl_NewStringObj((CONST84 char *)val, -1); + break; + } + +@@ -1526,7 +1525,7 @@ + /* + * Return a string describing the implementation. + */ +- if (mcode && mcode->procPtr->bodyPtr) { ++ if (mcode && Itcl_IsMemberCodeImplemented(mcode)) { + objPtr = mcode->procPtr->bodyPtr; + } else { + objPtr = Tcl_NewStringObj("", -1); +diff -Naur insight-6.8.orig/itcl/itcl/generic/itcl_class.c insight-6.8.new/itcl/itcl/generic/itcl_class.c +--- insight-6.8.orig/itcl/itcl/generic/itcl_class.c 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/generic/itcl_class.c 2008-08-18 18:56:39.000000000 +0200 +@@ -23,7 +23,7 @@ + * mmclennan@lucent.com + * http://www.tcltk.com/itcl + * +- * RCS: $Id: itcl_class.c,v 1.9 2001/05/22 01:35:38 davygrvy Exp $ ++ * RCS: $Id: itcl_class.c,v 1.18 2004/12/14 08:16:23 davygrvy Exp $ + * ======================================================================== + * Copyright (c) 1993-1998 Lucent Technologies, Inc. + * ------------------------------------------------------------------------ +@@ -67,10 +67,10 @@ + */ + int + Itcl_CreateClass(interp, path, info, rPtr) +- Tcl_Interp* interp; /* interpreter that will contain new class */ +- char* path; /* name of new class */ +- ItclObjectInfo *info; /* info for all known objects */ +- ItclClass **rPtr; /* returns: pointer to class definition */ ++ Tcl_Interp* interp; /* interpreter that will contain new class */ ++ CONST char* path; /* name of new class */ ++ ItclObjectInfo *info; /* info for all known objects */ ++ ItclClass **rPtr; /* returns: pointer to class definition */ + { + char *head, *tail; + Tcl_DString buffer; +@@ -89,8 +89,8 @@ + * We'll just replace the namespace data below with the + * proper class data. + */ +- classNs = Tcl_FindNamespace(interp, path, (Tcl_Namespace*)NULL, +- /* flags */ 0); ++ classNs = Tcl_FindNamespace(interp, (CONST84 char *)path, ++ (Tcl_Namespace*)NULL, /* flags */ 0); + + if (classNs != NULL && Itcl_IsClassNamespace(classNs)) { + Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +@@ -105,8 +105,8 @@ + * usual Tcl commands from being clobbered when a programmer + * makes a bogus call like "class info". + */ +- cmd = Tcl_FindCommand(interp, path, (Tcl_Namespace*)NULL, +- /* flags */ TCL_NAMESPACE_ONLY); ++ cmd = Tcl_FindCommand(interp, (CONST84 char *)path, ++ (Tcl_Namespace*)NULL, /* flags */ TCL_NAMESPACE_ONLY); + + if (cmd != NULL && !Itcl_IsStub(cmd)) { + Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +@@ -181,7 +181,7 @@ + Itcl_PreserveData((ClientData)cdPtr); + + if (classNs == NULL) { +- classNs = Tcl_CreateNamespace(interp, path, ++ classNs = Tcl_CreateNamespace(interp, (CONST84 char *)path, + (ClientData)cdPtr, ItclDestroyClassNamesp); + } + else { +@@ -398,9 +398,15 @@ + elem = Itcl_FirstListElem(&cdefnPtr->derived); + while (elem) { + cdPtr = (ItclClass*)Itcl_GetListValue(elem); +- elem = Itcl_NextListElem(elem); /* advance here--elem will go away */ +- + Tcl_DeleteNamespace(cdPtr->namesp); ++ ++ /* As the first namespace is now destroyed we have to get the ++ * new first element of the hash table. We cannot go to the ++ * next element from the current one, because the current one ++ * is deleted. itcl Patch #593112, for Bug #577719. ++ */ ++ ++ elem = Itcl_FirstListElem(&cdefnPtr->derived); + } + + /* +@@ -652,7 +658,7 @@ + ItclClass* + Itcl_FindClass(interp, path, autoload) + Tcl_Interp* interp; /* interpreter containing class */ +- char* path; /* path name for class */ ++ CONST char* path; /* path name for class */ + { + Tcl_Namespace* classNs; + +@@ -717,7 +723,7 @@ + Tcl_Namespace* + Itcl_FindClassNamespace(interp, path) + Tcl_Interp* interp; /* interpreter containing class */ +- char* path; /* path name for class */ ++ CONST char* path; /* path name for class */ + { + Tcl_Namespace* contextNs = Tcl_GetCurrentNamespace(interp); + Tcl_Namespace* classNs; +@@ -728,8 +734,8 @@ + * see if it's the current namespace, and try the global + * namespace as well. + */ +- classNs = Tcl_FindNamespace(interp, path, (Tcl_Namespace*)NULL, +- /* flags */ 0); ++ classNs = Tcl_FindNamespace(interp, (CONST84 char *)path, ++ (Tcl_Namespace*)NULL, /* flags */ 0); + + if ( !classNs && contextNs->parentPtr != NULL && + (*path != ':' || *(path+1) != ':') ) { +@@ -909,7 +915,7 @@ + objc-2, objv+2, &newObj); + + if (result == TCL_OK) { +- Tcl_SetResult(interp, objName, TCL_VOLATILE); ++ Tcl_SetObjResult(interp, Tcl_NewStringObj(objName, -1)); + } + + Tcl_DStringFree(&buffer); +@@ -933,12 +939,12 @@ + */ + int + Itcl_ClassCmdResolver(interp, name, context, flags, rPtr) +- Tcl_Interp *interp; /* current interpreter */ +- CONST char* name; /* name of the command being accessed */ +- Tcl_Namespace *context; /* namespace performing the resolution */ +- int flags; /* TCL_LEAVE_ERR_MSG => leave error messages +- * in interp if anything goes wrong */ +- Tcl_Command *rPtr; /* returns: resolved command */ ++ Tcl_Interp *interp; /* current interpreter */ ++ CONST char* name; /* name of the command being accessed */ ++ Tcl_Namespace *context; /* namespace performing the resolution */ ++ int flags; /* TCL_LEAVE_ERR_MSG => leave error messages ++ * in interp if anything goes wrong */ ++ Tcl_Command *rPtr; /* returns: resolved command */ + { + ItclClass *cdefn = (ItclClass*)context->clientData; + +@@ -1053,7 +1059,7 @@ + int + Itcl_ClassVarResolver(interp, name, context, flags, rPtr) + Tcl_Interp *interp; /* current interpreter */ +- char* name; /* name of the variable being accessed */ ++ CONST char* name; /* name of the variable being accessed */ + Tcl_Namespace *context; /* namespace performing the resolution */ + int flags; /* TCL_LEAVE_ERR_MSG => leave error messages + * in interp if anything goes wrong */ +@@ -1206,7 +1212,7 @@ + int + Itcl_ClassCompiledVarResolver(interp, name, length, context, rPtr) + Tcl_Interp *interp; /* current interpreter */ +- char* name; /* name of the variable being accessed */ ++ CONST char* name; /* name of the variable being accessed */ + int length; /* number of characters in name */ + Tcl_Namespace *context; /* namespace performing the resolution */ + Tcl_ResolvedVarInfo **rPtr; /* returns: info that makes it possible to +@@ -1675,13 +1681,13 @@ + * anything goes wrong, this returns NULL. + * ------------------------------------------------------------------------ + */ +-char* ++CONST char* + Itcl_GetCommonVar(interp, name, contextClass) + Tcl_Interp *interp; /* current interpreter */ +- char *name; /* name of desired instance variable */ ++ CONST char *name; /* name of desired instance variable */ + ItclClass *contextClass; /* name is interpreted in this scope */ + { +- char *val = NULL; ++ CONST char *val = NULL; + int result; + Tcl_CallFrame frame; + +@@ -1694,7 +1700,7 @@ + contextClass->namesp, /*isProcCallFrame*/ 0); + + if (result == TCL_OK) { +- val = Tcl_GetVar2(interp, name, (char*)NULL, 0); ++ val = Tcl_GetVar2(interp, (CONST84 char *)name, (char*)NULL, 0); + Tcl_PopCallFrame(interp); + } + return val; +@@ -1714,7 +1720,7 @@ + Itcl_CreateMember(interp, cdefn, name) + Tcl_Interp* interp; /* interpreter managing this action */ + ItclClass *cdefn; /* class definition */ +- char* name; /* name of new member */ ++ CONST char* name; /* name of new member */ + { + ItclMember *memPtr; + int fullsize; +diff -Naur insight-6.8.orig/itcl/itcl/generic/itcl_cmds.c insight-6.8.new/itcl/itcl/generic/itcl_cmds.c +--- insight-6.8.orig/itcl/itcl/generic/itcl_cmds.c 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/generic/itcl_cmds.c 2008-08-18 18:56:39.000000000 +0200 +@@ -21,7 +21,7 @@ + * mmclennan@lucent.com + * http://www.tcltk.com/itcl + * +- * RCS: $Id: itcl_cmds.c,v 1.13 2001/05/22 01:50:21 davygrvy Exp $ ++ * RCS: $Id: itcl_cmds.c,v 1.25 2005/03/25 21:08:03 hobbs Exp $ + * ======================================================================== + * Copyright (c) 1993-1998 Lucent Technologies, Inc. + * ------------------------------------------------------------------------ +@@ -69,6 +69,13 @@ + lappend dirs [file join $bindir .. .. library]\n\ + lappend dirs [file join $bindir .. .. itcl library]\n\ + lappend dirs [file join $bindir .. .. .. itcl library]\n\ ++ # On MacOSX, check the directories in the tcl_pkgPath\n\ ++ if {[string equal $::tcl_platform(platform) \"unix\"] && \ ++ [string equal $::tcl_platform(os) \"Darwin\"]} {\n\ ++ foreach d $::tcl_pkgPath {\n\ ++ lappend dirs [file join $d itcl$version]\n\ ++ }\n\ ++ }\n\ + }\n\ + foreach i $dirs {\n\ + set library $i\n\ +@@ -101,9 +108,6 @@ + return $ptr\n\ + }"; + +-extern ItclStubs itclStubs; +- +- + int itclCompatFlags = -1; + + +@@ -130,9 +134,15 @@ + Tcl_Namespace *itclNs; + ItclObjectInfo *info; + +- if (Tcl_InitStubs(interp, "8.1", 0) == NULL) { +- return TCL_ERROR; +- }; ++#ifndef USE_TCL_STUBS ++ if (Tcl_PkgRequire(interp, "Tcl", TCL_VERSION, 1) == NULL) { ++ return TCL_ERROR; ++ } ++#else ++ if (Tcl_InitStubs(interp, TCL_VERSION, 1) == NULL) { ++ return TCL_ERROR; ++ } ++#endif + + /* + * See if [incr Tcl] is already installed. +@@ -145,21 +155,26 @@ + /* + * Set the compatability options. Stubs allows us to load into many + * version of the Tcl core. Some problems have crept-in, and we need +- * to adapt dynamically regarding use of some internal structures that +- * have changed since 8.1.0 +- * +- * TODO: make a TIP for exporting a Tcl_CommandIsDeleted function in the core. ++ * to adapt dynamically regarding use of some internal structures and ++ * functions that have changed (or have been added) since 8.1.0 + */ ++#if TCL_DOES_STUBS + if (itclCompatFlags == -1) { + int maj, min, ptch, type; + + itclCompatFlags = 0; + Tcl_GetVersion(&maj, &min, &ptch, &type); + ++ /* ver >= 8.4a1 */ + if ((maj == 8) && (min >= 4)) { +- itclCompatFlags = ITCL_COMPAT_USECMDFLAGS; ++ /* TODO: make a TIP for exporting a Tcl_CommandIsDeleted ++ * function in the core. */ ++ itclCompatFlags |= ITCL_COMPAT_USECMDFLAGS; + } + } ++#else ++ itclCompatFlags = 0; ++#endif + + + /* +@@ -248,6 +263,28 @@ + Itcl_PreserveData((ClientData)info); + + /* ++ * Create the "itcl::is" command to test object ++ * and classes existence. ++ */ ++ if (Itcl_CreateEnsemble(interp, "::itcl::is") != TCL_OK) { ++ return TCL_ERROR; ++ } ++ if (Itcl_AddEnsemblePart(interp, "::itcl::is", ++ "class", "name", Itcl_IsClassCmd, ++ (ClientData)info, Itcl_ReleaseData) != TCL_OK) { ++ return TCL_ERROR; ++ } ++ Itcl_PreserveData((ClientData)info); ++ ++ if (Itcl_AddEnsemblePart(interp, "::itcl::is", ++ "object", "?-class classname? name", Itcl_IsObjectCmd, ++ (ClientData)info, Itcl_ReleaseData) != TCL_OK) { ++ return TCL_ERROR; ++ } ++ Itcl_PreserveData((ClientData)info); ++ ++ ++ /* + * Add "code" and "scope" commands for handling scoped values. + */ + Tcl_CreateObjCommand(interp, "::itcl::code", Itcl_CodeCmd, +@@ -297,22 +334,29 @@ + } + + /* +- * Install stuff needed for backward compatibility with previous +- * version of [incr Tcl]. +- */ +- if (Itcl_OldInit(interp, info) != TCL_OK) { +- return TCL_ERROR; +- } +- +- /* + * Export all commands in the "itcl" namespace so that they + * can be imported with something like "namespace import itcl::*" + */ + itclNs = Tcl_FindNamespace(interp, "::itcl", (Tcl_Namespace*)NULL, + TCL_LEAVE_ERR_MSG); + ++ /* ++ * This was changed from a glob export (itcl::*) to explicit ++ * command exports, so that the itcl::is command can *not* be ++ * exported. This is done for concern that the itcl::is command ++ * imported might be confusing ("is"). ++ */ + if (!itclNs || +- Tcl_Export(interp, itclNs, "*", /* resetListFirst */ 1) != TCL_OK) { ++ (Tcl_Export(interp, itclNs, "body", /* reset */ 1) != TCL_OK) || ++ (Tcl_Export(interp, itclNs, "class", 0) != TCL_OK) || ++ (Tcl_Export(interp, itclNs, "code", 0) != TCL_OK) || ++ (Tcl_Export(interp, itclNs, "configbody", 0) != TCL_OK) || ++ (Tcl_Export(interp, itclNs, "delete", 0) != TCL_OK) || ++ (Tcl_Export(interp, itclNs, "delete_helper", 0) != TCL_OK) || ++ (Tcl_Export(interp, itclNs, "ensemble", 0) != TCL_OK) || ++ (Tcl_Export(interp, itclNs, "find", 0) != TCL_OK) || ++ (Tcl_Export(interp, itclNs, "local", 0) != TCL_OK) || ++ (Tcl_Export(interp, itclNs, "scope", 0) != TCL_OK)) { + return TCL_ERROR; + } + +@@ -329,10 +373,20 @@ + /* + * Package is now loaded. + */ +- if (Tcl_PkgProvideEx(interp, "Itcl", ITCL_VERSION, +- (ClientData) &itclStubs) != TCL_OK) { ++#if TCL_DOES_STUBS ++ { ++ extern ItclStubs itclStubs; ++ if (Tcl_PkgProvideEx(interp, "Itcl", ITCL_VERSION, ++ (ClientData)&itclStubs) != TCL_OK) { ++ return TCL_ERROR; ++ } ++ } ++#else ++ if (Tcl_PkgProvide(interp, "Itcl", ITCL_VERSION) != TCL_OK) { + return TCL_ERROR; + } ++#endif ++ + return TCL_OK; + } + +@@ -469,7 +523,7 @@ + int forceFullNames = 0; + + char *pattern; +- CONST char *name; ++ CONST char *cmdName; + int newEntry, handledActiveNs; + Tcl_HashTable unique; + Tcl_HashEntry *entry; +@@ -477,7 +531,7 @@ + Itcl_Stack search; + Tcl_Command cmd, originalCmd; + Namespace *nsPtr; +- Tcl_Obj *listPtr, *objPtr; ++ Tcl_Obj *objPtr; + + if (objc > 2) { + Tcl_WrongNumArgs(interp, 1, objv, "?pattern?"); +@@ -485,7 +539,7 @@ + } + + if (objc == 2) { +- pattern = Tcl_GetStringFromObj(objv[1], (int*)NULL); ++ pattern = Tcl_GetString(objv[1]); + forceFullNames = (strstr(pattern, "::") != NULL); + } else { + pattern = NULL; +@@ -497,7 +551,6 @@ + * in this interpreter. If we find any commands that + * represent classes, report them. + */ +- listPtr = Tcl_NewListObj(0, (Tcl_Obj* CONST*)NULL); + + Itcl_InitStack(&search); + Itcl_PushStack((ClientData)globalNs, &search); +@@ -532,10 +585,10 @@ + + objPtr = Tcl_NewStringObj((char*)NULL, 0); + Tcl_GetCommandFullName(interp, cmd, objPtr); +- name = Tcl_GetStringFromObj(objPtr, (int*)NULL); ++ cmdName = Tcl_GetString(objPtr); + } else { +- name = Tcl_GetCommandName(interp, cmd); +- objPtr = Tcl_NewStringObj(name, -1); ++ cmdName = Tcl_GetCommandName(interp, cmd); ++ objPtr = Tcl_NewStringObj((CONST84 char *)cmdName, -1); + } + + if (originalCmd) { +@@ -543,10 +596,16 @@ + } + Tcl_CreateHashEntry(&unique, (char*)cmd, &newEntry); + +- if (newEntry && (!pattern || Tcl_StringMatch(name, pattern))) { ++ if (newEntry && ++ (!pattern || Tcl_StringMatch((CONST84 char *)cmdName, ++ pattern))) { + Tcl_ListObjAppendElement((Tcl_Interp*)NULL, +- listPtr, objPtr); +- } ++ Tcl_GetObjResult(interp), objPtr); ++ } else { ++ /* if not appended to the result, free objPtr. */ ++ Tcl_DecrRefCount(objPtr); ++ } ++ + } + entry = Tcl_NextHashEntry(&place); + } +@@ -565,7 +624,6 @@ + Tcl_DeleteHashTable(&unique); + Itcl_DeleteStack(&search); + +- Tcl_SetObjResult(interp, listPtr); + return TCL_OK; + } + +@@ -598,8 +656,8 @@ + ItclClass *classDefn = NULL; + ItclClass *isaDefn = NULL; + +- char *name, *token; +- CONST char *cmdName; ++ char *name = NULL, *token = NULL; ++ CONST char *cmdName = NULL; + int pos, newEntry, match, handledActiveNs; + ItclObject *contextObj; + Tcl_HashTable unique; +@@ -609,7 +667,7 @@ + Tcl_Command cmd, originalCmd; + Namespace *nsPtr; + Command *cmdPtr; +- Tcl_Obj *listPtr, *objPtr; ++ Tcl_Obj *objPtr; + + /* + * Parse arguments: +@@ -617,7 +675,7 @@ + */ + pos = 0; + while (++pos < objc) { +- token = Tcl_GetStringFromObj(objv[pos], (int*)NULL); ++ token = Tcl_GetString(objv[pos]); + if (*token != '-') { + if (!pattern) { + pattern = token; +@@ -627,7 +685,7 @@ + } + } + else if ((pos+1 < objc) && (strcmp(token,"-class") == 0)) { +- name = Tcl_GetStringFromObj(objv[pos+1], (int*)NULL); ++ name = Tcl_GetString(objv[pos+1]); + classDefn = Itcl_FindClass(interp, name, /* autoload */ 1); + if (classDefn == NULL) { + return TCL_ERROR; +@@ -635,7 +693,7 @@ + pos++; + } + else if ((pos+1 < objc) && (strcmp(token,"-isa") == 0)) { +- name = Tcl_GetStringFromObj(objv[pos+1], (int*)NULL); ++ name = Tcl_GetString(objv[pos+1]); + isaDefn = Itcl_FindClass(interp, name, /* autoload */ 1); + if (isaDefn == NULL) { + return TCL_ERROR; +@@ -669,7 +727,6 @@ + * in this interpreter. If we find any commands that + * represent objects, report them. + */ +- listPtr = Tcl_NewListObj(0, (Tcl_Obj* CONST*)NULL); + + Itcl_InitStack(&search); + Itcl_PushStack((ClientData)globalNs, &search); +@@ -709,16 +766,18 @@ + + objPtr = Tcl_NewStringObj((char*)NULL, 0); + Tcl_GetCommandFullName(interp, cmd, objPtr); +- name = Tcl_GetStringFromObj(objPtr, (int*)NULL); ++ cmdName = Tcl_GetString(objPtr); + } else { + cmdName = Tcl_GetCommandName(interp, cmd); +- objPtr = Tcl_NewStringObj(cmdName, -1); ++ objPtr = Tcl_NewStringObj((CONST84 char *)cmdName, -1); + } + + Tcl_CreateHashEntry(&unique, (char*)cmd, &newEntry); + + match = 0; +- if (newEntry && (!pattern || Tcl_StringMatch(name, pattern))) { ++ if (newEntry && ++ (!pattern || Tcl_StringMatch((CONST84 char *)cmdName, ++ pattern))) { + if (!classDefn || (contextObj->classDefn == classDefn)) { + if (!isaDefn) { + match = 1; +@@ -736,10 +795,9 @@ + + if (match) { + Tcl_ListObjAppendElement((Tcl_Interp*)NULL, +- listPtr, objPtr); ++ Tcl_GetObjResult(interp), objPtr); + } else { +- Tcl_IncrRefCount(objPtr); /* throw away the name */ +- Tcl_DecrRefCount(objPtr); ++ Tcl_DecrRefCount(objPtr); /* throw away the name */ + } + } + entry = Tcl_NextHashEntry(&place); +@@ -759,7 +817,6 @@ + Tcl_DeleteHashTable(&unique); + Itcl_DeleteStack(&search); + +- Tcl_SetObjResult(interp, listPtr); + return TCL_OK; + } + +@@ -821,9 +878,8 @@ + } + else if (result != TCL_OK) { + char mesg[256], *name; +- name = Tcl_GetStringFromObj(objv[0], (int*)NULL); +- sprintf(mesg, "\n (%.100s body line %d)", +- name, interp->errorLine); ++ name = Tcl_GetString(objv[0]); ++ sprintf(mesg, "\n (%.100s body line %d)", name, interp->errorLine); + Tcl_AddErrorInfo(interp, mesg); + } + +@@ -865,7 +921,7 @@ + * then delete them. + */ + for (i=1; i < objc; i++) { +- name = Tcl_GetStringFromObj(objv[i], (int*)NULL); ++ name = Tcl_GetString(objv[i]); + cdefn = Itcl_FindClass(interp, name, /* autoload */ 1); + if (cdefn == NULL) { + return TCL_ERROR; +@@ -873,7 +929,7 @@ + } + + for (i=1; i < objc; i++) { +- name = Tcl_GetStringFromObj(objv[i], (int*)NULL); ++ name = Tcl_GetString(objv[i]); + cdefn = Itcl_FindClass(interp, name, /* autoload */ 0); + + if (cdefn) { +@@ -1454,3 +1510,181 @@ + { + /* do nothing */ + } ++ ++ ++/* ++ * ------------------------------------------------------------------------ ++ * Itcl_IsObjectCmd() ++ * ++ * Invoked by Tcl whenever the user issues an "itcl::is object" ++ * command to test whether the argument is an object or not. ++ * syntax: ++ * ++ * itcl::is object ?-class classname? commandname ++ * ++ * Returns 1 if it is an object, 0 otherwise ++ * ------------------------------------------------------------------------ ++ */ ++int ++Itcl_IsObjectCmd(clientData, interp, objc, objv) ++ ClientData clientData; /* class/object info */ ++ Tcl_Interp *interp; /* current interpreter */ ++ int objc; /* number of arguments */ ++ Tcl_Obj *CONST objv[]; /* argument objects */ ++{ ++ ++ int classFlag = 0; ++ int idx = 0; ++ char *name; ++ char *cname; ++ char *cmdName; ++ char *token; ++ Tcl_Command cmd; ++ Command *cmdPtr; ++ Tcl_Namespace *contextNs = NULL; ++ ItclClass *classDefn = NULL; ++ ItclObject *contextObj; ++ ++ /* ++ * Handle the arguments. ++ * objc needs to be either: ++ * 2 itcl::is object commandname ++ * 4 itcl::is object -class classname commandname ++ */ ++ if (objc != 2 && objc != 4) { ++ Tcl_WrongNumArgs(interp, 1, objv, "?-class classname? commandname"); ++ return TCL_ERROR; ++ } ++ ++ /* ++ * Parse the command args. Look for the -class ++ * keyword. ++ */ ++ for (idx=1; idx < objc; idx++) { ++ token = Tcl_GetString(objv[idx]); ++ ++ if (strcmp(token,"-class") == 0) { ++ cname = Tcl_GetString(objv[idx+1]); ++ classDefn = Itcl_FindClass(interp, cname, /* no autoload */ 0); ++ ++ if (classDefn == NULL) { ++ return TCL_ERROR; ++ } ++ ++ idx++; ++ classFlag = 1; ++ } else { ++ name = Tcl_GetString(objv[idx]); ++ } ++ ++ } /* end for objc loop */ ++ ++ ++ /* ++ * The object name may be a scoped value of the form ++ * "namespace inscope ". If it is, ++ * decode it. ++ */ ++ if (Itcl_DecodeScopedCommand(interp, name, &contextNs, &cmdName) ++ != TCL_OK) { ++ return TCL_ERROR; ++ } ++ ++ cmd = Tcl_FindCommand(interp, cmdName, contextNs, /* flags */ 0); ++ ++ /* ++ * Need the NULL test, or the test will fail if cmd is NULL ++ */ ++ if (cmd == NULL || ! Itcl_IsObject(cmd)) { ++ Tcl_SetObjResult(interp, Tcl_NewBooleanObj(0)); ++ return TCL_OK; ++ } ++ ++ /* ++ * Handle the case when the -class flag is given ++ */ ++ if (classFlag) { ++ cmdPtr = (Command*)cmd; ++ contextObj = (ItclObject*)cmdPtr->objClientData; ++ ++ if (! Itcl_ObjectIsa(contextObj, classDefn)) { ++ ++ Tcl_SetObjResult(interp, Tcl_NewBooleanObj(0)); ++ return TCL_OK; ++ } ++ ++ } ++ ++ /* ++ * Got this far, so assume that it is a valid object ++ */ ++ Tcl_SetObjResult(interp, Tcl_NewBooleanObj(1)); ++ ckfree(cmdName); ++ ++ return TCL_OK; ++} ++ ++ ++ ++/* ++ * ------------------------------------------------------------------------ ++ * Itcl_IsClassCmd() ++ * ++ * Invoked by Tcl whenever the user issues an "itcl::is class" ++ * command to test whether the argument is an itcl class or not ++ * syntax: ++ * ++ * itcl::is class commandname ++ * ++ * Returns 1 if it is a class, 0 otherwise ++ * ------------------------------------------------------------------------ ++ */ ++int ++Itcl_IsClassCmd(clientData, interp, objc, objv) ++ ClientData clientData; /* class/object info */ ++ Tcl_Interp *interp; /* current interpreter */ ++ int objc; /* number of arguments */ ++ Tcl_Obj *CONST objv[]; /* argument objects */ ++{ ++ ++ char *cname; ++ char *name; ++ ItclClass *classDefn = NULL; ++ Tcl_Namespace *contextNs = NULL; ++ ++ /* ++ * Need itcl::is class classname ++ */ ++ if (objc != 2) { ++ Tcl_WrongNumArgs(interp, 1, objv, "commandname"); ++ return TCL_ERROR; ++ } ++ ++ name = Tcl_GetString(objv[1]); ++ ++ /* ++ * The object name may be a scoped value of the form ++ * "namespace inscope ". If it is, ++ * decode it. ++ */ ++ if (Itcl_DecodeScopedCommand(interp, name, &contextNs, &cname) != TCL_OK) { ++ return TCL_ERROR; ++ } ++ ++ classDefn = Itcl_FindClass(interp, cname, /* no autoload */ 0); ++ ++ /* ++ * If classDefn is NULL, then it wasn't found, hence it ++ * isn't a class ++ */ ++ if (classDefn != NULL) { ++ Tcl_SetObjResult(interp, Tcl_NewBooleanObj(1)); ++ } else { ++ Tcl_SetObjResult(interp, Tcl_NewBooleanObj(0)); ++ } ++ ++ ckfree(cname); ++ ++ return TCL_OK; ++ ++} /* end Itcl_IsClassCmd function */ +diff -Naur insight-6.8.orig/itcl/itcl/generic/itcl.decls insight-6.8.new/itcl/itcl/generic/itcl.decls +--- insight-6.8.orig/itcl/itcl/generic/itcl.decls 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/generic/itcl.decls 2008-08-18 18:56:39.000000000 +0200 +@@ -10,7 +10,7 @@ + # See the file "license.terms" for information on usage and redistribution + # of this file, and for a DISCLAIMER OF ALL WARRANTIES. + # +-# RCS: $Id: itcl.decls,v 1.2 2000/08/04 22:11:50 davidg Exp $ ++# RCS: $Id: itcl.decls,v 1.3 2003/12/17 02:25:37 davygrvy Exp $ + + library itcl + +@@ -33,18 +33,19 @@ + int Itcl_SafeInit(Tcl_Interp *interp) + } + declare 2 generic { +- int Itcl_RegisterC(Tcl_Interp *interp, char *name, \ ++ int Itcl_RegisterC(Tcl_Interp *interp, CONST char *name, \ + Tcl_CmdProc *proc, ClientData clientData, \ + Tcl_CmdDeleteProc *deleteProc) + } + declare 3 generic { +- int Itcl_RegisterObjC (Tcl_Interp *interp, char *name, \ ++ int Itcl_RegisterObjC (Tcl_Interp *interp, CONST char *name, \ + Tcl_ObjCmdProc *proc, ClientData clientData, \ + Tcl_CmdDeleteProc *deleteProc) + } + declare 4 generic { +- int Itcl_FindC(Tcl_Interp *interp, char *name, Tcl_CmdProc **argProcPtr, \ +- Tcl_ObjCmdProc **objProcPtr, ClientData *cDataPtr) ++ int Itcl_FindC(Tcl_Interp *interp, CONST char *name, \ ++ Tcl_CmdProc **argProcPtr, Tcl_ObjCmdProc **objProcPtr, \ ++ ClientData *cDataPtr) + } + declare 5 generic { + void Itcl_InitStack(Itcl_Stack *stack) +diff -Naur insight-6.8.orig/itcl/itcl/generic/itclDecls.h insight-6.8.new/itcl/itcl/generic/itclDecls.h +--- insight-6.8.orig/itcl/itcl/generic/itclDecls.h 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/generic/itclDecls.h 2008-08-18 18:56:39.000000000 +0200 +@@ -3,12 +3,10 @@ + * + * Declarations of functions in the platform independent public Itcl API. + * +- * Copyright (c) 1998-1999 by XXXX +- * + * See the file "license.terms" for information on usage and redistribution + * of this file, and for a DISCLAIMER OF ALL WARRANTIES. + * +- * RCS: $Id: itclDecls.h,v 1.2 2000/08/04 22:11:50 davidg Exp $ ++ * RCS: $Id: itclDecls.h,v 1.9 2003/12/23 05:22:45 davygrvy Exp $ + */ + + #ifndef _ITCLDECLS +@@ -26,79 +24,158 @@ + * Exported function declarations: + */ + ++#ifndef Itcl_Init_TCL_DECLARED ++#define Itcl_Init_TCL_DECLARED + /* 0 */ +-EXTERN int Itcl_Init _ANSI_ARGS_((Tcl_Interp * interp)); ++TCL_EXTERN(int) Itcl_Init _ANSI_ARGS_((Tcl_Interp * interp)); ++#endif ++#ifndef Itcl_SafeInit_TCL_DECLARED ++#define Itcl_SafeInit_TCL_DECLARED + /* 1 */ +-EXTERN int Itcl_SafeInit _ANSI_ARGS_((Tcl_Interp * interp)); ++TCL_EXTERN(int) Itcl_SafeInit _ANSI_ARGS_((Tcl_Interp * interp)); ++#endif ++#ifndef Itcl_RegisterC_TCL_DECLARED ++#define Itcl_RegisterC_TCL_DECLARED + /* 2 */ +-EXTERN int Itcl_RegisterC _ANSI_ARGS_((Tcl_Interp * interp, +- char * name, Tcl_CmdProc * proc, ++TCL_EXTERN(int) Itcl_RegisterC _ANSI_ARGS_((Tcl_Interp * interp, ++ CONST char * name, Tcl_CmdProc * proc, + ClientData clientData, + Tcl_CmdDeleteProc * deleteProc)); ++#endif ++#ifndef Itcl_RegisterObjC_TCL_DECLARED ++#define Itcl_RegisterObjC_TCL_DECLARED + /* 3 */ +-EXTERN int Itcl_RegisterObjC _ANSI_ARGS_((Tcl_Interp * interp, +- char * name, Tcl_ObjCmdProc * proc, ++TCL_EXTERN(int) Itcl_RegisterObjC _ANSI_ARGS_((Tcl_Interp * interp, ++ CONST char * name, Tcl_ObjCmdProc * proc, + ClientData clientData, + Tcl_CmdDeleteProc * deleteProc)); ++#endif ++#ifndef Itcl_FindC_TCL_DECLARED ++#define Itcl_FindC_TCL_DECLARED + /* 4 */ +-EXTERN int Itcl_FindC _ANSI_ARGS_((Tcl_Interp * interp, +- char * name, Tcl_CmdProc ** argProcPtr, ++TCL_EXTERN(int) Itcl_FindC _ANSI_ARGS_((Tcl_Interp * interp, ++ CONST char * name, Tcl_CmdProc ** argProcPtr, + Tcl_ObjCmdProc ** objProcPtr, + ClientData * cDataPtr)); ++#endif ++#ifndef Itcl_InitStack_TCL_DECLARED ++#define Itcl_InitStack_TCL_DECLARED + /* 5 */ +-EXTERN void Itcl_InitStack _ANSI_ARGS_((Itcl_Stack * stack)); ++TCL_EXTERN(void) Itcl_InitStack _ANSI_ARGS_((Itcl_Stack * stack)); ++#endif ++#ifndef Itcl_DeleteStack_TCL_DECLARED ++#define Itcl_DeleteStack_TCL_DECLARED + /* 6 */ +-EXTERN void Itcl_DeleteStack _ANSI_ARGS_((Itcl_Stack * stack)); ++TCL_EXTERN(void) Itcl_DeleteStack _ANSI_ARGS_((Itcl_Stack * stack)); ++#endif ++#ifndef Itcl_PushStack_TCL_DECLARED ++#define Itcl_PushStack_TCL_DECLARED + /* 7 */ +-EXTERN void Itcl_PushStack _ANSI_ARGS_((ClientData cdata, ++TCL_EXTERN(void) Itcl_PushStack _ANSI_ARGS_((ClientData cdata, + Itcl_Stack * stack)); ++#endif ++#ifndef Itcl_PopStack_TCL_DECLARED ++#define Itcl_PopStack_TCL_DECLARED + /* 8 */ +-EXTERN ClientData Itcl_PopStack _ANSI_ARGS_((Itcl_Stack * stack)); ++TCL_EXTERN(ClientData) Itcl_PopStack _ANSI_ARGS_((Itcl_Stack * stack)); ++#endif ++#ifndef Itcl_PeekStack_TCL_DECLARED ++#define Itcl_PeekStack_TCL_DECLARED + /* 9 */ +-EXTERN ClientData Itcl_PeekStack _ANSI_ARGS_((Itcl_Stack * stack)); ++TCL_EXTERN(ClientData) Itcl_PeekStack _ANSI_ARGS_((Itcl_Stack * stack)); ++#endif ++#ifndef Itcl_GetStackValue_TCL_DECLARED ++#define Itcl_GetStackValue_TCL_DECLARED + /* 10 */ +-EXTERN ClientData Itcl_GetStackValue _ANSI_ARGS_((Itcl_Stack * stack, ++TCL_EXTERN(ClientData) Itcl_GetStackValue _ANSI_ARGS_((Itcl_Stack * stack, + int pos)); ++#endif ++#ifndef Itcl_InitList_TCL_DECLARED ++#define Itcl_InitList_TCL_DECLARED + /* 11 */ +-EXTERN void Itcl_InitList _ANSI_ARGS_((Itcl_List * listPtr)); ++TCL_EXTERN(void) Itcl_InitList _ANSI_ARGS_((Itcl_List * listPtr)); ++#endif ++#ifndef Itcl_DeleteList_TCL_DECLARED ++#define Itcl_DeleteList_TCL_DECLARED + /* 12 */ +-EXTERN void Itcl_DeleteList _ANSI_ARGS_((Itcl_List * listPtr)); ++TCL_EXTERN(void) Itcl_DeleteList _ANSI_ARGS_((Itcl_List * listPtr)); ++#endif ++#ifndef Itcl_CreateListElem_TCL_DECLARED ++#define Itcl_CreateListElem_TCL_DECLARED + /* 13 */ +-EXTERN Itcl_ListElem* Itcl_CreateListElem _ANSI_ARGS_((Itcl_List * listPtr)); ++TCL_EXTERN(Itcl_ListElem*) Itcl_CreateListElem _ANSI_ARGS_(( ++ Itcl_List * listPtr)); ++#endif ++#ifndef Itcl_DeleteListElem_TCL_DECLARED ++#define Itcl_DeleteListElem_TCL_DECLARED + /* 14 */ +-EXTERN Itcl_ListElem* Itcl_DeleteListElem _ANSI_ARGS_(( ++TCL_EXTERN(Itcl_ListElem*) Itcl_DeleteListElem _ANSI_ARGS_(( + Itcl_ListElem * elemPtr)); ++#endif ++#ifndef Itcl_InsertList_TCL_DECLARED ++#define Itcl_InsertList_TCL_DECLARED + /* 15 */ +-EXTERN Itcl_ListElem* Itcl_InsertList _ANSI_ARGS_((Itcl_List * listPtr, ++TCL_EXTERN(Itcl_ListElem*) Itcl_InsertList _ANSI_ARGS_((Itcl_List * listPtr, + ClientData val)); ++#endif ++#ifndef Itcl_InsertListElem_TCL_DECLARED ++#define Itcl_InsertListElem_TCL_DECLARED + /* 16 */ +-EXTERN Itcl_ListElem* Itcl_InsertListElem _ANSI_ARGS_((Itcl_ListElem * pos, +- ClientData val)); ++TCL_EXTERN(Itcl_ListElem*) Itcl_InsertListElem _ANSI_ARGS_(( ++ Itcl_ListElem * pos, ClientData val)); ++#endif ++#ifndef Itcl_AppendList_TCL_DECLARED ++#define Itcl_AppendList_TCL_DECLARED + /* 17 */ +-EXTERN Itcl_ListElem* Itcl_AppendList _ANSI_ARGS_((Itcl_List * listPtr, ++TCL_EXTERN(Itcl_ListElem*) Itcl_AppendList _ANSI_ARGS_((Itcl_List * listPtr, + ClientData val)); ++#endif ++#ifndef Itcl_AppendListElem_TCL_DECLARED ++#define Itcl_AppendListElem_TCL_DECLARED + /* 18 */ +-EXTERN Itcl_ListElem* Itcl_AppendListElem _ANSI_ARGS_((Itcl_ListElem * pos, +- ClientData val)); ++TCL_EXTERN(Itcl_ListElem*) Itcl_AppendListElem _ANSI_ARGS_(( ++ Itcl_ListElem * pos, ClientData val)); ++#endif ++#ifndef Itcl_SetListValue_TCL_DECLARED ++#define Itcl_SetListValue_TCL_DECLARED + /* 19 */ +-EXTERN void Itcl_SetListValue _ANSI_ARGS_(( ++TCL_EXTERN(void) Itcl_SetListValue _ANSI_ARGS_(( + Itcl_ListElem * elemPtr, ClientData val)); ++#endif ++#ifndef Itcl_EventuallyFree_TCL_DECLARED ++#define Itcl_EventuallyFree_TCL_DECLARED + /* 20 */ +-EXTERN void Itcl_EventuallyFree _ANSI_ARGS_((ClientData cdata, ++TCL_EXTERN(void) Itcl_EventuallyFree _ANSI_ARGS_((ClientData cdata, + Tcl_FreeProc * fproc)); ++#endif ++#ifndef Itcl_PreserveData_TCL_DECLARED ++#define Itcl_PreserveData_TCL_DECLARED + /* 21 */ +-EXTERN void Itcl_PreserveData _ANSI_ARGS_((ClientData cdata)); ++TCL_EXTERN(void) Itcl_PreserveData _ANSI_ARGS_((ClientData cdata)); ++#endif ++#ifndef Itcl_ReleaseData_TCL_DECLARED ++#define Itcl_ReleaseData_TCL_DECLARED + /* 22 */ +-EXTERN void Itcl_ReleaseData _ANSI_ARGS_((ClientData cdata)); ++TCL_EXTERN(void) Itcl_ReleaseData _ANSI_ARGS_((ClientData cdata)); ++#endif ++#ifndef Itcl_SaveInterpState_TCL_DECLARED ++#define Itcl_SaveInterpState_TCL_DECLARED + /* 23 */ +-EXTERN Itcl_InterpState Itcl_SaveInterpState _ANSI_ARGS_(( ++TCL_EXTERN(Itcl_InterpState) Itcl_SaveInterpState _ANSI_ARGS_(( + Tcl_Interp* interp, int status)); ++#endif ++#ifndef Itcl_RestoreInterpState_TCL_DECLARED ++#define Itcl_RestoreInterpState_TCL_DECLARED + /* 24 */ +-EXTERN int Itcl_RestoreInterpState _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_RestoreInterpState _ANSI_ARGS_(( + Tcl_Interp* interp, Itcl_InterpState state)); ++#endif ++#ifndef Itcl_DiscardInterpState_TCL_DECLARED ++#define Itcl_DiscardInterpState_TCL_DECLARED + /* 25 */ +-EXTERN void Itcl_DiscardInterpState _ANSI_ARGS_(( ++TCL_EXTERN(void) Itcl_DiscardInterpState _ANSI_ARGS_(( + Itcl_InterpState state)); ++#endif + + typedef struct ItclStubHooks { + struct ItclIntStubs *itclIntStubs; +@@ -110,9 +187,9 @@ + + int (*itcl_Init) _ANSI_ARGS_((Tcl_Interp * interp)); /* 0 */ + int (*itcl_SafeInit) _ANSI_ARGS_((Tcl_Interp * interp)); /* 1 */ +- int (*itcl_RegisterC) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_CmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc)); /* 2 */ +- int (*itcl_RegisterObjC) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_ObjCmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc)); /* 3 */ +- int (*itcl_FindC) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_CmdProc ** argProcPtr, Tcl_ObjCmdProc ** objProcPtr, ClientData * cDataPtr)); /* 4 */ ++ int (*itcl_RegisterC) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, Tcl_CmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc)); /* 2 */ ++ int (*itcl_RegisterObjC) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, Tcl_ObjCmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc)); /* 3 */ ++ int (*itcl_FindC) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, Tcl_CmdProc ** argProcPtr, Tcl_ObjCmdProc ** objProcPtr, ClientData * cDataPtr)); /* 4 */ + void (*itcl_InitStack) _ANSI_ARGS_((Itcl_Stack * stack)); /* 5 */ + void (*itcl_DeleteStack) _ANSI_ARGS_((Itcl_Stack * stack)); /* 6 */ + void (*itcl_PushStack) _ANSI_ARGS_((ClientData cdata, Itcl_Stack * stack)); /* 7 */ +@@ -136,13 +213,7 @@ + void (*itcl_DiscardInterpState) _ANSI_ARGS_((Itcl_InterpState state)); /* 25 */ + } ItclStubs; + +-#ifdef __cplusplus +-extern "C" { +-#endif +-extern ItclStubs *itclStubsPtr; +-#ifdef __cplusplus +-} +-#endif ++TCL_EXTERNC ItclStubs *itclStubsPtr; + + #if defined(USE_ITCL_STUBS) && !defined(USE_ITCL_STUB_PROCS) + +diff -Naur insight-6.8.orig/itcl/itcl/generic/itcl_ensemble.c insight-6.8.new/itcl/itcl/generic/itcl_ensemble.c +--- insight-6.8.orig/itcl/itcl/generic/itcl_ensemble.c 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/generic/itcl_ensemble.c 2008-08-18 18:56:39.000000000 +0200 +@@ -23,7 +23,7 @@ + * mmclennan@lucent.com + * http://www.tcltk.com/itcl + * +- * RCS: $Id: itcl_ensemble.c,v 1.6 2001/04/08 06:17:33 davygrvy Exp $ ++ * RCS: $Id: itcl_ensemble.c,v 1.11 2003/12/24 01:09:56 davygrvy Exp $ + * ======================================================================== + * Copyright (c) 1993-1998 Lucent Technologies, Inc. + * ------------------------------------------------------------------------ +@@ -105,7 +105,7 @@ + Ensemble *parentEnsData, char *ensName)); + + static int AddEnsemblePart _ANSI_ARGS_((Tcl_Interp *interp, +- Ensemble* ensData, char* partName, char* usageInfo, ++ Ensemble* ensData, CONST char* partName, CONST char* usageInfo, + Tcl_ObjCmdProc *objProc, ClientData clientData, + Tcl_CmdDeleteProc *deleteProc, EnsemblePart **rVal)); + +@@ -115,15 +115,15 @@ + int nameArgc, Ensemble** ensDataPtr)); + + static int CreateEnsemblePart _ANSI_ARGS_((Tcl_Interp *interp, +- Ensemble *ensData, char* partName, EnsemblePart **ensPartPtr)); ++ Ensemble *ensData, CONST char* partName, EnsemblePart **ensPartPtr)); + + static void DeleteEnsemblePart _ANSI_ARGS_((EnsemblePart *ensPart)); + + static int FindEnsemblePart _ANSI_ARGS_((Tcl_Interp *interp, +- Ensemble *ensData, char* partName, EnsemblePart **rensPart)); ++ Ensemble *ensData, CONST char* partName, EnsemblePart **rensPart)); + + static int FindEnsemblePartIndex _ANSI_ARGS_((Ensemble *ensData, +- char *partName, int *posPtr)); ++ CONST char *partName, int *posPtr)); + + static void ComputeMinChars _ANSI_ARGS_((Ensemble *ensData, int pos)); + +@@ -209,7 +209,7 @@ + int + Itcl_CreateEnsemble(interp, ensName) + Tcl_Interp *interp; /* interpreter to be updated */ +- char* ensName; /* name of the new ensemble */ ++ CONST char* ensName; /* name of the new ensemble */ + { + char **nameArgv = NULL; + int nameArgc; +@@ -219,7 +219,8 @@ + /* + * Split the ensemble name into its path components. + */ +- if (Tcl_SplitList(interp, ensName, &nameArgc, &nameArgv) != TCL_OK) { ++ if (Tcl_SplitList(interp, (CONST84 char *)ensName, &nameArgc, ++ &nameArgv) != TCL_OK) { + goto ensCreateFail; + } + if (nameArgc < 1) { +@@ -310,9 +311,9 @@ + objProc, clientData, deleteProc) + + Tcl_Interp *interp; /* interpreter to be updated */ +- char* ensName; /* ensemble containing this part */ +- char* partName; /* name of the new part */ +- char* usageInfo; /* usage info for argument list */ ++ CONST char* ensName; /* ensemble containing this part */ ++ CONST char* partName; /* name of the new part */ ++ CONST char* usageInfo; /* usage info for argument list */ + Tcl_ObjCmdProc *objProc; /* handling procedure for part */ + ClientData clientData; /* client data associated with part */ + Tcl_CmdDeleteProc *deleteProc; /* procedure used to destroy client data */ +@@ -326,7 +327,8 @@ + /* + * Parse the ensemble name and look for a containing ensemble. + */ +- if (Tcl_SplitList(interp, ensName, &nameArgc, &nameArgv) != TCL_OK) { ++ if (Tcl_SplitList(interp, (CONST84 char *)ensName, &nameArgc, ++ &nameArgv) != TCL_OK) { + goto ensPartFail; + } + if (FindEnsemble(interp, nameArgv, nameArgc, &ensData) != TCL_OK) { +@@ -389,8 +391,8 @@ + int + Itcl_GetEnsemblePart(interp, ensName, partName, infoPtr) + Tcl_Interp *interp; /* interpreter to be updated */ +- char *ensName; /* ensemble containing the part */ +- char *partName; /* name of the desired part */ ++ CONST char *ensName; /* ensemble containing the part */ ++ CONST char *partName; /* name of the desired part */ + Tcl_CmdInfo *infoPtr; /* returns: info associated with part */ + { + char **nameArgv = NULL; +@@ -407,7 +409,8 @@ + */ + state = Itcl_SaveInterpState(interp, TCL_OK); + +- if (Tcl_SplitList(interp, ensName, &nameArgc, &nameArgv) != TCL_OK) { ++ if (Tcl_SplitList(interp, (CONST84 char *)ensName, &nameArgc, ++ &nameArgv) != TCL_OK) { + goto ensGetFail; + } + if (FindEnsemble(interp, nameArgv, nameArgc, &ensData) != TCL_OK) { +@@ -501,7 +504,7 @@ + int + Itcl_GetEnsembleUsage(interp, ensName, objPtr) + Tcl_Interp *interp; /* interpreter containing the ensemble */ +- char *ensName; /* name of the ensemble */ ++ CONST char *ensName; /* name of the ensemble */ + Tcl_Obj *objPtr; /* returns: summary of usage info */ + { + char **nameArgv = NULL; +@@ -516,7 +519,8 @@ + */ + state = Itcl_SaveInterpState(interp, TCL_OK); + +- if (Tcl_SplitList(interp, ensName, &nameArgc, &nameArgv) != TCL_OK) { ++ if (Tcl_SplitList(interp, (CONST84 char *)ensName, &nameArgc, ++ &nameArgv) != TCL_OK) { + goto ensUsageFail; + } + if (FindEnsemble(interp, nameArgv, nameArgc, &ensData) != TCL_OK) { +@@ -798,29 +802,22 @@ + return TCL_ERROR; + } + +- ensData->cmd = parentEnsData->cmd; +- ensData->parent = ensPart; ++ ensData->cmd = parentEnsData->cmd; ++ ensData->parent = ensPart; + +- cmdPtr = (Command*)ckalloc(sizeof(Command)); +- cmdPtr->hPtr = NULL; +- cmdPtr->nsPtr = ((Command*)ensData->cmd)->nsPtr; +- cmdPtr->refCount = 0; +- cmdPtr->cmdEpoch = 0; +- cmdPtr->compileProc = NULL; +- cmdPtr->objProc = HandleEnsemble; +- cmdPtr->objClientData = (ClientData)ensData; +- cmdPtr->proc = NULL; +- cmdPtr->clientData = NULL; +- cmdPtr->deleteProc = DeleteEnsemble; +- cmdPtr->deleteData = cmdPtr->objClientData; +- #if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION < 4) +- cmdPtr->deleted = 0; +- #else +- cmdPtr->flags = 0; +- #endif +- cmdPtr->importRefPtr = NULL; ++ /* ++ * Initialize non-NULL data only. This allows us to handle the ++ * structure differences between versions better. ++ */ ++ cmdPtr = (Command *) ckalloc(sizeof(Command)); ++ memset((VOID *) cmdPtr, 0, sizeof(Command)); ++ cmdPtr->nsPtr = ((Command *) ensData->cmd)->nsPtr; ++ cmdPtr->objProc = HandleEnsemble; ++ cmdPtr->objClientData = (ClientData)ensData; ++ cmdPtr->deleteProc = DeleteEnsemble; ++ cmdPtr->deleteData = cmdPtr->objClientData; + +- ensPart->cmdPtr = cmdPtr; ++ ensPart->cmdPtr = cmdPtr; + + return TCL_OK; + } +@@ -860,8 +857,8 @@ + + Tcl_Interp *interp; /* interpreter to be updated */ + Ensemble* ensData; /* ensemble that will contain this part */ +- char* partName; /* name of the new part */ +- char* usageInfo; /* usage info for argument list */ ++ CONST char* partName; /* name of the new part */ ++ CONST char* usageInfo; /* usage info for argument list */ + Tcl_ObjCmdProc *objProc; /* handling procedure for part */ + ClientData clientData; /* client data associated with part */ + Tcl_CmdDeleteProc *deleteProc; /* procedure used to destroy client data */ +@@ -882,27 +879,20 @@ + strcpy(ensPart->usage, usageInfo); + } + +- cmdPtr = (Command*)ckalloc(sizeof(Command)); +- cmdPtr->hPtr = NULL; +- cmdPtr->nsPtr = ((Command*)ensData->cmd)->nsPtr; +- cmdPtr->refCount = 0; +- cmdPtr->cmdEpoch = 0; +- cmdPtr->compileProc = NULL; +- cmdPtr->objProc = objProc; +- cmdPtr->objClientData = (ClientData)clientData; +- cmdPtr->proc = NULL; +- cmdPtr->clientData = NULL; +- cmdPtr->deleteProc = deleteProc; +- cmdPtr->deleteData = (ClientData)clientData; +-#if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION < 4) +- cmdPtr->deleted = 0; +-#else +- cmdPtr->flags = 0; +-#endif +- cmdPtr->importRefPtr = NULL; ++ /* ++ * Initialize non-NULL data only. This allows us to handle the ++ * structure differences between versions better. ++ */ ++ cmdPtr = (Command *) ckalloc(sizeof(Command)); ++ memset((VOID *) cmdPtr, 0, sizeof(Command)); ++ cmdPtr->nsPtr = ((Command *) ensData->cmd)->nsPtr; ++ cmdPtr->objProc = objProc; ++ cmdPtr->objClientData = (ClientData)clientData; ++ cmdPtr->deleteProc = deleteProc; ++ cmdPtr->deleteData = (ClientData)clientData; + +- ensPart->cmdPtr = cmdPtr; +- *rVal = ensPart; ++ ensPart->cmdPtr = cmdPtr; ++ *rVal = ensPart; + + return TCL_OK; + } +@@ -1055,7 +1045,7 @@ + CreateEnsemblePart(interp, ensData, partName, ensPartPtr) + Tcl_Interp *interp; /* interpreter containing the ensemble */ + Ensemble *ensData; /* ensemble being modified */ +- char* partName; /* name of the new part */ ++ CONST char* partName; /* name of the new part */ + EnsemblePart **ensPartPtr; /* returns: new ensemble part */ + { + int i, pos, size; +@@ -1201,7 +1191,7 @@ + FindEnsemblePart(interp, ensData, partName, rensPart) + Tcl_Interp *interp; /* interpreter containing the ensemble */ + Ensemble *ensData; /* ensemble being searched */ +- char* partName; /* name of the desired part */ ++ CONST char* partName; /* name of the desired part */ + EnsemblePart **rensPart; /* returns: pointer to the desired part */ + { + int pos = 0; +@@ -1316,7 +1306,7 @@ + static int + FindEnsemblePartIndex(ensData, partName, posPtr) + Ensemble *ensData; /* ensemble being searched */ +- char *partName; /* name of desired part */ ++ CONST char *partName; /* name of desired part */ + int *posPtr; /* returns: index for part */ + { + int pos = 0; +@@ -1640,7 +1630,7 @@ + } + if (FindEnsemblePart(interp, ensData, ensName, &ensPart) + != TCL_OK) { +- panic("Itcl_EnsembleCmd: can't create ensemble"); ++ Tcl_Panic("Itcl_EnsembleCmd: can't create ensemble"); + } + } + +@@ -1707,11 +1697,11 @@ + * Otherwise, the offending command is reported twice. + */ + if (status == TCL_ERROR) { +- char *errInfo = Tcl_GetVar2(ensInfo->parser, "::errorInfo", ++ CONST char *errInfo = Tcl_GetVar2(ensInfo->parser, "::errorInfo", + (char*)NULL, TCL_GLOBAL_ONLY); + + if (errInfo) { +- Tcl_AddObjErrorInfo(interp, errInfo, -1); ++ Tcl_AddObjErrorInfo(interp, (CONST84 char *)errInfo, -1); + } + + if (objc == 3) { +diff -Naur insight-6.8.orig/itcl/itcl/generic/itcl.h insight-6.8.new/itcl/itcl/generic/itcl.h +--- insight-6.8.orig/itcl/itcl/generic/itcl.h 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/generic/itcl.h 2008-08-18 18:56:39.000000000 +0200 +@@ -39,10 +39,7 @@ + * mmclennan@lucent.com + * http://www.tcltk.com/itcl + * +- * modified for Stubs 5/20/1999 by +- * David Gravereaux +- * +- * RCS: $Id: itcl.h,v 1.15 2001/05/25 00:12:29 davygrvy Exp $ ++ * RCS: $Id: itcl.h,v 1.29 2004/08/10 20:58:44 hobbs Exp $ + * ======================================================================== + * Copyright (c) 1993-1998 Lucent Technologies, Inc. + * ------------------------------------------------------------------------ +@@ -54,23 +51,24 @@ + + #include "tcl.h" + +-#undef TCL_STORAGE_CLASS +-#ifdef BUILD_itcl +-# define TCL_STORAGE_CLASS DLLEXPORT +-#else +-# ifdef USE_ITCL_STUBS +-# define TCL_STORAGE_CLASS +-# else +-/* FIXME. We only build static itcl, otherwise this would be DLLIMPORT */ +-# define TCL_STORAGE_CLASS +-# endif ++#ifndef TCL_ALPHA_RELEASE ++# define TCL_ALPHA_RELEASE 0 + #endif ++#ifndef TCL_BETA_RELEASE ++# define TCL_BETA_RELEASE 1 ++#endif ++#ifndef TCL_FINAL_RELEASE ++# define TCL_FINAL_RELEASE 2 ++#endif ++ + +-#define ITCL_VERSION "3.2" +-#define ITCL_PATCH_LEVEL "3.2.1" +-#define ITCL_MAJOR_VERSION 3 +-#define ITCL_MINOR_VERSION 2 +-#define ITCL_RELEASE_LEVEL 1 ++#define ITCL_MAJOR_VERSION 3 ++#define ITCL_MINOR_VERSION 3 ++#define ITCL_RELEASE_LEVEL TCL_FINAL_RELEASE ++#define ITCL_RELEASE_SERIAL 0 ++ ++#define ITCL_VERSION "3.3" ++#define ITCL_PATCH_LEVEL "3.3.0" + + /* + * A special definition used to allow this header file to be included +@@ -81,6 +79,67 @@ + + #ifndef RC_INVOKED + ++#undef TCL_STORAGE_CLASS ++#ifdef BUILD_itcl ++# define TCL_STORAGE_CLASS DLLEXPORT ++#else ++# ifdef USE_ITCL_STUBS ++# define TCL_STORAGE_CLASS ++# else ++# define TCL_STORAGE_CLASS DLLIMPORT ++# endif ++#endif ++ ++/* ++ * Fix the Borland bug that's in the EXTERN macro from tcl.h. ++ */ ++#ifndef TCL_EXTERN ++# undef DLLIMPORT ++# undef DLLEXPORT ++# ifdef __cplusplus ++# define TCL_EXTERNC extern "C" ++# else ++# define TCL_EXTERNC extern ++# endif ++# if defined(STATIC_BUILD) ++# define DLLIMPORT ++# define DLLEXPORT ++# define TCL_EXTERN(RTYPE) TCL_EXTERNC RTYPE ++# elif (defined(__WIN32__) && ( \ ++ defined(_MSC_VER) || (__BORLANDC__ >= 0x0550) || \ ++ defined(__LCC__) || defined(__WATCOMC__) || \ ++ (defined(__GNUC__) && defined(__declspec)) \ ++ )) || (defined(MAC_TCL) && FUNCTION_DECLSPEC) ++# define DLLIMPORT __declspec(dllimport) ++# define DLLEXPORT __declspec(dllexport) ++# define TCL_EXTERN(RTYPE) TCL_EXTERNC TCL_STORAGE_CLASS RTYPE ++# elif defined(__BORLANDC__) ++# define DLLIMPORT __import ++# define DLLEXPORT __export ++ /* Pre-5.5 Borland requires the attributes be placed after the */ ++ /* return type instead. */ ++# define TCL_EXTERN(RTYPE) TCL_EXTERNC RTYPE TCL_STORAGE_CLASS ++# else ++# define DLLIMPORT ++# define DLLEXPORT ++# define TCL_EXTERN(RTYPE) TCL_EXTERNC TCL_STORAGE_CLASS RTYPE ++# endif ++#endif ++ ++ ++/* ++ * Starting from the 8.4 core, Tcl API is CONST'ified. Our API is always ++ * CONST, but we need to build with Tcl when it isn't CONST and fake it ++ * when needed with <= 8.3 ++ * ++ * http://wiki.tcl.tk/3669 ++ */ ++ ++#ifndef CONST84 ++# define CONST84 ++#endif ++ ++ + /* + * Protection levels: + * +@@ -153,11 +212,9 @@ + + #ifdef USE_ITCL_STUBS + +-#ifdef __cplusplus +-extern "C" +-#endif +-CONST char * Itcl_InitStubs _ANSI_ARGS_((Tcl_Interp *interp, +- char *version, int exact)); ++TCL_EXTERNC CONST char * ++ Itcl_InitStubs _ANSI_ARGS_((Tcl_Interp *interp, ++ CONST char *version, int exact)); + #else + #define Itcl_InitStubs(interp, version, exact) \ + Tcl_PkgRequire(interp, "Itcl", version, exact) +diff -Naur insight-6.8.orig/itcl/itcl/generic/itclInt.decls insight-6.8.new/itcl/itcl/generic/itclInt.decls +--- insight-6.8.orig/itcl/itcl/generic/itclInt.decls 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/generic/itclInt.decls 2008-08-18 18:56:39.000000000 +0200 +@@ -1,15 +1,17 @@ + # itclInt.decls -- + # + # This file contains the declarations for all unsupported +-# functions that are exported by the Tcl library. This file +-# is used to generate the itclIntDecls.h and itclIntStub.c +-# files ++# functions that are exported by the Itcl library. ++# ++# By "unsupported", it should be noted that due to Tcl's hiding ++# of the data types used, we inherit this hidden-ness ourselves, ++# too, unfortunately. + # + # Copyright (c) 1998-1999 by Scriptics Corporation. + # See the file "license.terms" for information on usage and redistribution + # of this file, and for a DISCLAIMER OF ALL WARRANTIES. + # +-# RCS: @(#) $Id: itclInt.decls,v 1.2 2001/05/22 01:35:38 davygrvy Exp $ ++# RCS: @(#) $Id: itclInt.decls,v 1.8 2003/12/17 02:54:39 davygrvy Exp $ + + library itcl + +@@ -29,10 +31,10 @@ + int Itcl_IsClass (Tcl_Command cmd) + } + declare 2 generic { +- ItclClass* Itcl_FindClass (Tcl_Interp* interp, char* path, int autoload) ++ ItclClass* Itcl_FindClass (Tcl_Interp* interp, CONST char* path, int autoload) + } + declare 3 generic { +- int Itcl_FindObject (Tcl_Interp *interp, char *name, ItclObject **roPtr) ++ int Itcl_FindObject (Tcl_Interp *interp, CONST char *name, ItclObject **roPtr) + } + declare 4 generic { + int Itcl_IsObject (Tcl_Command cmd) +@@ -57,18 +59,18 @@ + ItclObjectInfo *info) + } + declare 11 generic { +- void Itcl_ParseNamespPath (char *name, Tcl_DString *buffer, \ ++ void Itcl_ParseNamespPath (CONST char *name, Tcl_DString *buffer, \ + char **head, char **tail) + } + declare 12 generic { +- int Itcl_DecodeScopedCommand (Tcl_Interp *interp, char *name, \ ++ int Itcl_DecodeScopedCommand (Tcl_Interp *interp, CONST char *name, \ + Tcl_Namespace **rNsPtr, char **rCmdPtr) + } + declare 13 generic { + int Itcl_EvalArgs (Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) + } + declare 14 generic { +- Tcl_Obj* Itcl_CreateArgs (Tcl_Interp *interp, char *string, \ ++ Tcl_Obj* Itcl_CreateArgs (Tcl_Interp *interp, CONST char *string, \ + int objc, Tcl_Obj *CONST objv[]) + } + declare 15 generic { +@@ -138,14 +140,14 @@ + # + + declare 31 generic { +- int Itcl_CreateClass (Tcl_Interp* interp, char* path, \ ++ int Itcl_CreateClass (Tcl_Interp* interp, CONST char* path, \ + ItclObjectInfo *info, ItclClass **rPtr) + } + declare 32 generic { + int Itcl_DeleteClass (Tcl_Interp *interp, ItclClass *cdefnPtr) + } + declare 33 generic { +- Tcl_Namespace* Itcl_FindClassNamespace (Tcl_Interp* interp, char* path) ++ Tcl_Namespace* Itcl_FindClassNamespace (Tcl_Interp* interp, CONST char* path) + } + declare 34 generic { + int Itcl_HandleClass (ClientData clientData, Tcl_Interp *interp, \ +@@ -156,11 +158,11 @@ + Tcl_Namespace *context, int flags, Tcl_Command *rPtr) + } + declare 36 generic { +- int Itcl_ClassVarResolver (Tcl_Interp *interp, char* name, \ ++ int Itcl_ClassVarResolver (Tcl_Interp *interp, CONST char* name, \ + Tcl_Namespace *context, int flags, Tcl_Var *rPtr) + } + declare 37 generic { +- int Itcl_ClassCompiledVarResolver (Tcl_Interp *interp, char* name, \ ++ int Itcl_ClassCompiledVarResolver (Tcl_Interp *interp, CONST char* name, \ + int length, Tcl_Namespace *context, Tcl_ResolvedVarInfo **rPtr) + } + declare 38 generic { +@@ -174,12 +176,12 @@ + void Itcl_DeleteVarDefn (ItclVarDefn *vdefn) + } + declare 41 generic { +- char* Itcl_GetCommonVar (Tcl_Interp *interp, char *name, \ ++ CONST char* Itcl_GetCommonVar (Tcl_Interp *interp, CONST char *name, \ + ItclClass *contextClass) + } + declare 42 generic { + ItclMember* Itcl_CreateMember (Tcl_Interp* interp, ItclClass *cdefn, \ +- char* name) ++ CONST char* name) + } + declare 43 generic { + void Itcl_DeleteMember (ItclMember *memPtr) +@@ -191,7 +193,7 @@ + # + + declare 44 generic { +- int Itcl_CreateObject (Tcl_Interp *interp, char* name, ItclClass *cdefn, \ ++ int Itcl_CreateObject (Tcl_Interp *interp, CONST char* name, ItclClass *cdefn, \ + int objc, Tcl_Obj *CONST objv[], ItclObject **roPtr) + } + declare 45 generic { +@@ -206,11 +208,11 @@ + int objc, Tcl_Obj *CONST objv[]) + } + declare 48 generic { +- char* Itcl_GetInstanceVar (Tcl_Interp *interp, char *name, \ ++ CONST char* Itcl_GetInstanceVar (Tcl_Interp *interp, CONST char *name, \ + ItclObject *contextObj, ItclClass *contextClass) + } + declare 49 generic { +- int Itcl_ScopedVarResolver (Tcl_Interp *interp, char *name, \ ++ int Itcl_ScopedVarResolver (Tcl_Interp *interp, CONST char *name, \ + Tcl_Namespace *contextNs, int flags, Tcl_Var *rPtr) + } + +@@ -228,30 +230,31 @@ + Tcl_Obj *CONST objv[]) + } + declare 52 generic { +- int Itcl_CreateMethod (Tcl_Interp* interp, ItclClass *cdefn, char* name, \ +- char* arglist, char* body) ++ int Itcl_CreateMethod (Tcl_Interp* interp, ItclClass *cdefn, ++ CONST char* name, CONST char* arglist, CONST char* body) + } + declare 53 generic { +- int Itcl_CreateProc (Tcl_Interp* interp, ItclClass *cdefn, char* name, \ +- char* arglist, char* body) ++ int Itcl_CreateProc (Tcl_Interp* interp, ItclClass *cdefn, ++ CONST char* name, CONST char* arglist, CONST char* body) + } + declare 54 generic { + int Itcl_CreateMemberFunc (Tcl_Interp* interp, ItclClass *cdefn, \ +- char* name, char* arglist, char* body, ItclMemberFunc** mfuncPtr) ++ CONST char* name, CONST char* arglist, CONST char* body, \ ++ ItclMemberFunc** mfuncPtr) + } + declare 55 generic { + int Itcl_ChangeMemberFunc (Tcl_Interp* interp, ItclMemberFunc* mfunc, \ +- char* arglist, char* body) ++ CONST char* arglist, CONST char* body) + } + declare 56 generic { +- void Itcl_DeleteMemberFunc (char* cdata) ++ void Itcl_DeleteMemberFunc (CONST char* cdata) + } + declare 57 generic { + int Itcl_CreateMemberCode (Tcl_Interp* interp, ItclClass *cdefn, \ +- char* arglist, char* body, ItclMemberCode** mcodePtr) ++ CONST char* arglist, CONST char* body, ItclMemberCode** mcodePtr) + } + declare 58 generic { +- void Itcl_DeleteMemberCode (char* cdata) ++ void Itcl_DeleteMemberCode (CONST char* cdata) + } + declare 59 generic { + int Itcl_GetMemberCode (Tcl_Interp* interp, ItclMember* member) +@@ -266,11 +269,11 @@ + Tcl_Obj *CONST objv[]) + } + declare 62 generic { +- int Itcl_CreateArgList (Tcl_Interp* interp, char* decl, int* argcPtr, \ ++ int Itcl_CreateArgList (Tcl_Interp* interp, CONST char* decl, int* argcPtr, \ + CompiledLocal** argPtr) + } + declare 63 generic { +- CompiledLocal* Itcl_CreateArg (char* name, char* init) ++ CompiledLocal* Itcl_CreateArg (CONST char* name, CONST char* init) + } + declare 64 generic { + void Itcl_DeleteArgList (CompiledLocal *arglist) +@@ -303,7 +306,7 @@ + ItclClass *contextClass) + } + declare 72 generic { +- int Itcl_InvokeMethodIfExists (Tcl_Interp *interp, char *name, \ ++ int Itcl_InvokeMethodIfExists (Tcl_Interp *interp, CONST char *name, \ + ItclClass *contextClass, ItclObject *contextObj, int objc, \ + Tcl_Obj *CONST objv[]) + } +@@ -360,7 +363,7 @@ + int objc, Tcl_Obj *CONST objv[]) + } + declare 85 generic { +- int Itcl_ParseVarResolver (Tcl_Interp *interp, char* name, \ ++ int Itcl_ParseVarResolver (Tcl_Interp *interp, CONST char* name, \ + Tcl_Namespace *contextNs, int flags, Tcl_Var* rPtr) + } + +@@ -433,22 +436,22 @@ + int Itcl_EnsembleInit (Tcl_Interp *interp) + } + declare 101 generic { +- int Itcl_CreateEnsemble (Tcl_Interp *interp, char* ensName) ++ int Itcl_CreateEnsemble (Tcl_Interp *interp, CONST char* ensName) + } + declare 102 generic { +- int Itcl_AddEnsemblePart (Tcl_Interp *interp, char* ensName, \ +- char* partName, char* usageInfo, Tcl_ObjCmdProc *objProc, \ ++ int Itcl_AddEnsemblePart (Tcl_Interp *interp, CONST char* ensName, \ ++ CONST char* partName, CONST char* usageInfo, Tcl_ObjCmdProc *objProc, \ + ClientData clientData, Tcl_CmdDeleteProc *deleteProc) + } + declare 103 generic { +- int Itcl_GetEnsemblePart (Tcl_Interp *interp, char *ensName, \ +- char *partName, Tcl_CmdInfo *infoPtr) ++ int Itcl_GetEnsemblePart (Tcl_Interp *interp, CONST char *ensName, \ ++ CONST char *partName, Tcl_CmdInfo *infoPtr) + } + declare 104 generic { + int Itcl_IsEnsemble (Tcl_CmdInfo* infoPtr) + } + declare 105 generic { +- int Itcl_GetEnsembleUsage (Tcl_Interp *interp, char *ensName, \ ++ int Itcl_GetEnsembleUsage (Tcl_Interp *interp, CONST char *ensName, \ + Tcl_Obj *objPtr) + } + declare 106 generic { +@@ -473,12 +476,13 @@ + # Commands provided for backward compatibility + # + +-declare 110 generic { +- int Itcl_OldInit (Tcl_Interp* interp, ItclObjectInfo* info) +-} +-declare 111 generic { +- int Itcl_InstallOldBiMethods (Tcl_Interp *interp, ItclClass *cdefn) +-} ++# not used anymore (3.3) ++#declare 110 generic { ++# int Itcl_OldInit (Tcl_Interp* interp, ItclObjectInfo* info) ++#} ++#declare 111 generic { ++# int Itcl_InstallOldBiMethods (Tcl_Interp *interp, ItclClass *cdefn) ++#} + + + # +@@ -496,5 +500,14 @@ + Var* _TclNewVar (void) + } + declare 115 generic { +- void Itcl_Assert (char *testExpr, char *fileName, int lineNum) ++ void Itcl_Assert (CONST char *testExpr, CONST char *fileName, int lineNum) ++} ++ ++declare 116 generic { ++ int Itcl_IsObjectCmd (ClientData clientData, Tcl_Interp *interp, \ ++ int objc, Tcl_Obj *CONST objv[]) ++} ++declare 117 generic { ++ int Itcl_IsClassCmd (ClientData clientData, Tcl_Interp *interp, \ ++ int objc, Tcl_Obj *CONST objv[]) + } +diff -Naur insight-6.8.orig/itcl/itcl/generic/itclIntDecls.h insight-6.8.new/itcl/itcl/generic/itclIntDecls.h +--- insight-6.8.orig/itcl/itcl/generic/itclIntDecls.h 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/generic/itclIntDecls.h 2008-08-18 18:56:39.000000000 +0200 +@@ -6,12 +6,10 @@ + * interfaces are not guaranteed to remain the same between + * versions. Use at your own risk. + * +- * Copyright (c) 1998-1999 by XXXX +- * + * See the file "license.terms" for information on usage and redistribution + * of this file, and for a DISCLAIMER OF ALL WARRANTIES. + * +- * RCS: $Id: itclIntDecls.h,v 1.3 2001/05/22 01:35:38 davygrvy Exp $ ++ * RCS: $Id: itclIntDecls.h,v 1.12 2003/12/23 05:22:45 davygrvy Exp $ + */ + + #ifndef _ITCLINTDECLS +@@ -29,422 +27,771 @@ + * Exported function declarations: + */ + ++#ifndef Itcl_IsClassNamespace_TCL_DECLARED ++#define Itcl_IsClassNamespace_TCL_DECLARED + /* 0 */ +-EXTERN int Itcl_IsClassNamespace _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_IsClassNamespace _ANSI_ARGS_(( + Tcl_Namespace * namesp)); ++#endif ++#ifndef Itcl_IsClass_TCL_DECLARED ++#define Itcl_IsClass_TCL_DECLARED + /* 1 */ +-EXTERN int Itcl_IsClass _ANSI_ARGS_((Tcl_Command cmd)); ++TCL_EXTERN(int) Itcl_IsClass _ANSI_ARGS_((Tcl_Command cmd)); ++#endif ++#ifndef Itcl_FindClass_TCL_DECLARED ++#define Itcl_FindClass_TCL_DECLARED + /* 2 */ +-EXTERN ItclClass* Itcl_FindClass _ANSI_ARGS_((Tcl_Interp* interp, +- char* path, int autoload)); ++TCL_EXTERN(ItclClass*) Itcl_FindClass _ANSI_ARGS_((Tcl_Interp* interp, ++ CONST char* path, int autoload)); ++#endif ++#ifndef Itcl_FindObject_TCL_DECLARED ++#define Itcl_FindObject_TCL_DECLARED + /* 3 */ +-EXTERN int Itcl_FindObject _ANSI_ARGS_((Tcl_Interp * interp, +- char * name, ItclObject ** roPtr)); ++TCL_EXTERN(int) Itcl_FindObject _ANSI_ARGS_((Tcl_Interp * interp, ++ CONST char * name, ItclObject ** roPtr)); ++#endif ++#ifndef Itcl_IsObject_TCL_DECLARED ++#define Itcl_IsObject_TCL_DECLARED + /* 4 */ +-EXTERN int Itcl_IsObject _ANSI_ARGS_((Tcl_Command cmd)); ++TCL_EXTERN(int) Itcl_IsObject _ANSI_ARGS_((Tcl_Command cmd)); ++#endif ++#ifndef Itcl_ObjectIsa_TCL_DECLARED ++#define Itcl_ObjectIsa_TCL_DECLARED + /* 5 */ +-EXTERN int Itcl_ObjectIsa _ANSI_ARGS_((ItclObject * contextObj, ++TCL_EXTERN(int) Itcl_ObjectIsa _ANSI_ARGS_((ItclObject * contextObj, + ItclClass * cdefn)); ++#endif ++#ifndef Itcl_Protection_TCL_DECLARED ++#define Itcl_Protection_TCL_DECLARED + /* 6 */ +-EXTERN int Itcl_Protection _ANSI_ARGS_((Tcl_Interp * interp, ++TCL_EXTERN(int) Itcl_Protection _ANSI_ARGS_((Tcl_Interp * interp, + int newLevel)); ++#endif ++#ifndef Itcl_ProtectionStr_TCL_DECLARED ++#define Itcl_ProtectionStr_TCL_DECLARED + /* 7 */ +-EXTERN char* Itcl_ProtectionStr _ANSI_ARGS_((int pLevel)); ++TCL_EXTERN(char*) Itcl_ProtectionStr _ANSI_ARGS_((int pLevel)); ++#endif ++#ifndef Itcl_CanAccess_TCL_DECLARED ++#define Itcl_CanAccess_TCL_DECLARED + /* 8 */ +-EXTERN int Itcl_CanAccess _ANSI_ARGS_((ItclMember* memberPtr, ++TCL_EXTERN(int) Itcl_CanAccess _ANSI_ARGS_((ItclMember* memberPtr, + Tcl_Namespace* fromNsPtr)); ++#endif ++#ifndef Itcl_CanAccessFunc_TCL_DECLARED ++#define Itcl_CanAccessFunc_TCL_DECLARED + /* 9 */ +-EXTERN int Itcl_CanAccessFunc _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_CanAccessFunc _ANSI_ARGS_(( + ItclMemberFunc* mfunc, + Tcl_Namespace* fromNsPtr)); ++#endif ++#ifndef Itcl_GetTrueNamespace_TCL_DECLARED ++#define Itcl_GetTrueNamespace_TCL_DECLARED + /* 10 */ +-EXTERN Tcl_Namespace* Itcl_GetTrueNamespace _ANSI_ARGS_(( ++TCL_EXTERN(Tcl_Namespace*) Itcl_GetTrueNamespace _ANSI_ARGS_(( + Tcl_Interp * interp, ItclObjectInfo * info)); ++#endif ++#ifndef Itcl_ParseNamespPath_TCL_DECLARED ++#define Itcl_ParseNamespPath_TCL_DECLARED + /* 11 */ +-EXTERN void Itcl_ParseNamespPath _ANSI_ARGS_((char * name, ++TCL_EXTERN(void) Itcl_ParseNamespPath _ANSI_ARGS_((CONST char * name, + Tcl_DString * buffer, char ** head, + char ** tail)); ++#endif ++#ifndef Itcl_DecodeScopedCommand_TCL_DECLARED ++#define Itcl_DecodeScopedCommand_TCL_DECLARED + /* 12 */ +-EXTERN int Itcl_DecodeScopedCommand _ANSI_ARGS_(( +- Tcl_Interp * interp, char * name, ++TCL_EXTERN(int) Itcl_DecodeScopedCommand _ANSI_ARGS_(( ++ Tcl_Interp * interp, CONST char * name, + Tcl_Namespace ** rNsPtr, char ** rCmdPtr)); ++#endif ++#ifndef Itcl_EvalArgs_TCL_DECLARED ++#define Itcl_EvalArgs_TCL_DECLARED + /* 13 */ +-EXTERN int Itcl_EvalArgs _ANSI_ARGS_((Tcl_Interp * interp, ++TCL_EXTERN(int) Itcl_EvalArgs _ANSI_ARGS_((Tcl_Interp * interp, + int objc, Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_CreateArgs_TCL_DECLARED ++#define Itcl_CreateArgs_TCL_DECLARED + /* 14 */ +-EXTERN Tcl_Obj* Itcl_CreateArgs _ANSI_ARGS_((Tcl_Interp * interp, +- char * string, int objc, ++TCL_EXTERN(Tcl_Obj*) Itcl_CreateArgs _ANSI_ARGS_((Tcl_Interp * interp, ++ CONST char * string, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_PushContext_TCL_DECLARED ++#define Itcl_PushContext_TCL_DECLARED + /* 15 */ +-EXTERN int Itcl_PushContext _ANSI_ARGS_((Tcl_Interp * interp, ++TCL_EXTERN(int) Itcl_PushContext _ANSI_ARGS_((Tcl_Interp * interp, + ItclMember * member, + ItclClass * contextClass, + ItclObject * contextObj, + ItclContext * contextPtr)); ++#endif ++#ifndef Itcl_PopContext_TCL_DECLARED ++#define Itcl_PopContext_TCL_DECLARED + /* 16 */ +-EXTERN void Itcl_PopContext _ANSI_ARGS_((Tcl_Interp * interp, ++TCL_EXTERN(void) Itcl_PopContext _ANSI_ARGS_((Tcl_Interp * interp, + ItclContext * contextPtr)); ++#endif ++#ifndef Itcl_GetContext_TCL_DECLARED ++#define Itcl_GetContext_TCL_DECLARED + /* 17 */ +-EXTERN int Itcl_GetContext _ANSI_ARGS_((Tcl_Interp * interp, ++TCL_EXTERN(int) Itcl_GetContext _ANSI_ARGS_((Tcl_Interp * interp, + ItclClass ** cdefnPtr, + ItclObject ** odefnPtr)); ++#endif ++#ifndef Itcl_InitHierIter_TCL_DECLARED ++#define Itcl_InitHierIter_TCL_DECLARED + /* 18 */ +-EXTERN void Itcl_InitHierIter _ANSI_ARGS_((ItclHierIter * iter, ++TCL_EXTERN(void) Itcl_InitHierIter _ANSI_ARGS_((ItclHierIter * iter, + ItclClass * cdefn)); ++#endif ++#ifndef Itcl_DeleteHierIter_TCL_DECLARED ++#define Itcl_DeleteHierIter_TCL_DECLARED + /* 19 */ +-EXTERN void Itcl_DeleteHierIter _ANSI_ARGS_((ItclHierIter * iter)); ++TCL_EXTERN(void) Itcl_DeleteHierIter _ANSI_ARGS_((ItclHierIter * iter)); ++#endif ++#ifndef Itcl_AdvanceHierIter_TCL_DECLARED ++#define Itcl_AdvanceHierIter_TCL_DECLARED + /* 20 */ +-EXTERN ItclClass* Itcl_AdvanceHierIter _ANSI_ARGS_(( ++TCL_EXTERN(ItclClass*) Itcl_AdvanceHierIter _ANSI_ARGS_(( + ItclHierIter * iter)); ++#endif ++#ifndef Itcl_FindClassesCmd_TCL_DECLARED ++#define Itcl_FindClassesCmd_TCL_DECLARED + /* 21 */ +-EXTERN int Itcl_FindClassesCmd _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_FindClassesCmd _ANSI_ARGS_(( + ClientData clientData, Tcl_Interp * interp, + int objc, Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_FindObjectsCmd_TCL_DECLARED ++#define Itcl_FindObjectsCmd_TCL_DECLARED + /* 22 */ +-EXTERN int Itcl_FindObjectsCmd _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_FindObjectsCmd _ANSI_ARGS_(( + ClientData clientData, Tcl_Interp * interp, + int objc, Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_ProtectionCmd_TCL_DECLARED ++#define Itcl_ProtectionCmd_TCL_DECLARED + /* 23 */ +-EXTERN int Itcl_ProtectionCmd _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_ProtectionCmd _ANSI_ARGS_(( + ClientData clientData, Tcl_Interp * interp, + int objc, Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_DelClassCmd_TCL_DECLARED ++#define Itcl_DelClassCmd_TCL_DECLARED + /* 24 */ +-EXTERN int Itcl_DelClassCmd _ANSI_ARGS_((ClientData clientData, ++TCL_EXTERN(int) Itcl_DelClassCmd _ANSI_ARGS_((ClientData clientData, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_DelObjectCmd_TCL_DECLARED ++#define Itcl_DelObjectCmd_TCL_DECLARED + /* 25 */ +-EXTERN int Itcl_DelObjectCmd _ANSI_ARGS_((ClientData clientData, ++TCL_EXTERN(int) Itcl_DelObjectCmd _ANSI_ARGS_((ClientData clientData, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_ScopeCmd_TCL_DECLARED ++#define Itcl_ScopeCmd_TCL_DECLARED + /* 26 */ +-EXTERN int Itcl_ScopeCmd _ANSI_ARGS_((ClientData clientData, ++TCL_EXTERN(int) Itcl_ScopeCmd _ANSI_ARGS_((ClientData clientData, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_CodeCmd_TCL_DECLARED ++#define Itcl_CodeCmd_TCL_DECLARED + /* 27 */ +-EXTERN int Itcl_CodeCmd _ANSI_ARGS_((ClientData clientData, ++TCL_EXTERN(int) Itcl_CodeCmd _ANSI_ARGS_((ClientData clientData, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_StubCreateCmd_TCL_DECLARED ++#define Itcl_StubCreateCmd_TCL_DECLARED + /* 28 */ +-EXTERN int Itcl_StubCreateCmd _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_StubCreateCmd _ANSI_ARGS_(( + ClientData clientData, Tcl_Interp * interp, + int objc, Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_StubExistsCmd_TCL_DECLARED ++#define Itcl_StubExistsCmd_TCL_DECLARED + /* 29 */ +-EXTERN int Itcl_StubExistsCmd _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_StubExistsCmd _ANSI_ARGS_(( + ClientData clientData, Tcl_Interp * interp, + int objc, Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_IsStub_TCL_DECLARED ++#define Itcl_IsStub_TCL_DECLARED + /* 30 */ +-EXTERN int Itcl_IsStub _ANSI_ARGS_((Tcl_Command cmd)); ++TCL_EXTERN(int) Itcl_IsStub _ANSI_ARGS_((Tcl_Command cmd)); ++#endif ++#ifndef Itcl_CreateClass_TCL_DECLARED ++#define Itcl_CreateClass_TCL_DECLARED + /* 31 */ +-EXTERN int Itcl_CreateClass _ANSI_ARGS_((Tcl_Interp* interp, +- char* path, ItclObjectInfo * info, ++TCL_EXTERN(int) Itcl_CreateClass _ANSI_ARGS_((Tcl_Interp* interp, ++ CONST char* path, ItclObjectInfo * info, + ItclClass ** rPtr)); ++#endif ++#ifndef Itcl_DeleteClass_TCL_DECLARED ++#define Itcl_DeleteClass_TCL_DECLARED + /* 32 */ +-EXTERN int Itcl_DeleteClass _ANSI_ARGS_((Tcl_Interp * interp, ++TCL_EXTERN(int) Itcl_DeleteClass _ANSI_ARGS_((Tcl_Interp * interp, + ItclClass * cdefnPtr)); ++#endif ++#ifndef Itcl_FindClassNamespace_TCL_DECLARED ++#define Itcl_FindClassNamespace_TCL_DECLARED + /* 33 */ +-EXTERN Tcl_Namespace* Itcl_FindClassNamespace _ANSI_ARGS_(( +- Tcl_Interp* interp, char* path)); ++TCL_EXTERN(Tcl_Namespace*) Itcl_FindClassNamespace _ANSI_ARGS_(( ++ Tcl_Interp* interp, CONST char* path)); ++#endif ++#ifndef Itcl_HandleClass_TCL_DECLARED ++#define Itcl_HandleClass_TCL_DECLARED + /* 34 */ +-EXTERN int Itcl_HandleClass _ANSI_ARGS_((ClientData clientData, ++TCL_EXTERN(int) Itcl_HandleClass _ANSI_ARGS_((ClientData clientData, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_ClassCmdResolver_TCL_DECLARED ++#define Itcl_ClassCmdResolver_TCL_DECLARED + /* 35 */ +-EXTERN int Itcl_ClassCmdResolver _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_ClassCmdResolver _ANSI_ARGS_(( + Tcl_Interp * interp, CONST char* name, + Tcl_Namespace * context, int flags, + Tcl_Command * rPtr)); ++#endif ++#ifndef Itcl_ClassVarResolver_TCL_DECLARED ++#define Itcl_ClassVarResolver_TCL_DECLARED + /* 36 */ +-EXTERN int Itcl_ClassVarResolver _ANSI_ARGS_(( +- Tcl_Interp * interp, char* name, ++TCL_EXTERN(int) Itcl_ClassVarResolver _ANSI_ARGS_(( ++ Tcl_Interp * interp, CONST char* name, + Tcl_Namespace * context, int flags, + Tcl_Var * rPtr)); ++#endif ++#ifndef Itcl_ClassCompiledVarResolver_TCL_DECLARED ++#define Itcl_ClassCompiledVarResolver_TCL_DECLARED + /* 37 */ +-EXTERN int Itcl_ClassCompiledVarResolver _ANSI_ARGS_(( +- Tcl_Interp * interp, char* name, int length, +- Tcl_Namespace * context, ++TCL_EXTERN(int) Itcl_ClassCompiledVarResolver _ANSI_ARGS_(( ++ Tcl_Interp * interp, CONST char* name, ++ int length, Tcl_Namespace * context, + Tcl_ResolvedVarInfo ** rPtr)); ++#endif ++#ifndef Itcl_BuildVirtualTables_TCL_DECLARED ++#define Itcl_BuildVirtualTables_TCL_DECLARED + /* 38 */ +-EXTERN void Itcl_BuildVirtualTables _ANSI_ARGS_(( ++TCL_EXTERN(void) Itcl_BuildVirtualTables _ANSI_ARGS_(( + ItclClass* cdefnPtr)); ++#endif ++#ifndef Itcl_CreateVarDefn_TCL_DECLARED ++#define Itcl_CreateVarDefn_TCL_DECLARED + /* 39 */ +-EXTERN int Itcl_CreateVarDefn _ANSI_ARGS_((Tcl_Interp * interp, ++TCL_EXTERN(int) Itcl_CreateVarDefn _ANSI_ARGS_((Tcl_Interp * interp, + ItclClass* cdefn, char* name, char* init, + char* config, ItclVarDefn** vdefnPtr)); ++#endif ++#ifndef Itcl_DeleteVarDefn_TCL_DECLARED ++#define Itcl_DeleteVarDefn_TCL_DECLARED + /* 40 */ +-EXTERN void Itcl_DeleteVarDefn _ANSI_ARGS_((ItclVarDefn * vdefn)); ++TCL_EXTERN(void) Itcl_DeleteVarDefn _ANSI_ARGS_((ItclVarDefn * vdefn)); ++#endif ++#ifndef Itcl_GetCommonVar_TCL_DECLARED ++#define Itcl_GetCommonVar_TCL_DECLARED + /* 41 */ +-EXTERN char* Itcl_GetCommonVar _ANSI_ARGS_((Tcl_Interp * interp, +- char * name, ItclClass * contextClass)); ++TCL_EXTERN(CONST char*) Itcl_GetCommonVar _ANSI_ARGS_((Tcl_Interp * interp, ++ CONST char * name, ItclClass * contextClass)); ++#endif ++#ifndef Itcl_CreateMember_TCL_DECLARED ++#define Itcl_CreateMember_TCL_DECLARED + /* 42 */ +-EXTERN ItclMember* Itcl_CreateMember _ANSI_ARGS_((Tcl_Interp* interp, +- ItclClass * cdefn, char* name)); ++TCL_EXTERN(ItclMember*) Itcl_CreateMember _ANSI_ARGS_((Tcl_Interp* interp, ++ ItclClass * cdefn, CONST char* name)); ++#endif ++#ifndef Itcl_DeleteMember_TCL_DECLARED ++#define Itcl_DeleteMember_TCL_DECLARED + /* 43 */ +-EXTERN void Itcl_DeleteMember _ANSI_ARGS_((ItclMember * memPtr)); ++TCL_EXTERN(void) Itcl_DeleteMember _ANSI_ARGS_((ItclMember * memPtr)); ++#endif ++#ifndef Itcl_CreateObject_TCL_DECLARED ++#define Itcl_CreateObject_TCL_DECLARED + /* 44 */ +-EXTERN int Itcl_CreateObject _ANSI_ARGS_((Tcl_Interp * interp, +- char* name, ItclClass * cdefn, int objc, +- Tcl_Obj *CONST objv[], ItclObject ** roPtr)); ++TCL_EXTERN(int) Itcl_CreateObject _ANSI_ARGS_((Tcl_Interp * interp, ++ CONST char* name, ItclClass * cdefn, ++ int objc, Tcl_Obj *CONST objv[], ++ ItclObject ** roPtr)); ++#endif ++#ifndef Itcl_DeleteObject_TCL_DECLARED ++#define Itcl_DeleteObject_TCL_DECLARED + /* 45 */ +-EXTERN int Itcl_DeleteObject _ANSI_ARGS_((Tcl_Interp * interp, ++TCL_EXTERN(int) Itcl_DeleteObject _ANSI_ARGS_((Tcl_Interp * interp, + ItclObject * contextObj)); ++#endif ++#ifndef Itcl_DestructObject_TCL_DECLARED ++#define Itcl_DestructObject_TCL_DECLARED + /* 46 */ +-EXTERN int Itcl_DestructObject _ANSI_ARGS_((Tcl_Interp * interp, ++TCL_EXTERN(int) Itcl_DestructObject _ANSI_ARGS_((Tcl_Interp * interp, + ItclObject * contextObj, int flags)); ++#endif ++#ifndef Itcl_HandleInstance_TCL_DECLARED ++#define Itcl_HandleInstance_TCL_DECLARED + /* 47 */ +-EXTERN int Itcl_HandleInstance _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_HandleInstance _ANSI_ARGS_(( + ClientData clientData, Tcl_Interp * interp, + int objc, Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_GetInstanceVar_TCL_DECLARED ++#define Itcl_GetInstanceVar_TCL_DECLARED + /* 48 */ +-EXTERN char* Itcl_GetInstanceVar _ANSI_ARGS_((Tcl_Interp * interp, +- char * name, ItclObject * contextObj, ++TCL_EXTERN(CONST char*) Itcl_GetInstanceVar _ANSI_ARGS_(( ++ Tcl_Interp * interp, CONST char * name, ++ ItclObject * contextObj, + ItclClass * contextClass)); ++#endif ++#ifndef Itcl_ScopedVarResolver_TCL_DECLARED ++#define Itcl_ScopedVarResolver_TCL_DECLARED + /* 49 */ +-EXTERN int Itcl_ScopedVarResolver _ANSI_ARGS_(( +- Tcl_Interp * interp, char * name, ++TCL_EXTERN(int) Itcl_ScopedVarResolver _ANSI_ARGS_(( ++ Tcl_Interp * interp, CONST char * name, + Tcl_Namespace * contextNs, int flags, + Tcl_Var * rPtr)); ++#endif ++#ifndef Itcl_BodyCmd_TCL_DECLARED ++#define Itcl_BodyCmd_TCL_DECLARED + /* 50 */ +-EXTERN int Itcl_BodyCmd _ANSI_ARGS_((ClientData dummy, ++TCL_EXTERN(int) Itcl_BodyCmd _ANSI_ARGS_((ClientData dummy, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_ConfigBodyCmd_TCL_DECLARED ++#define Itcl_ConfigBodyCmd_TCL_DECLARED + /* 51 */ +-EXTERN int Itcl_ConfigBodyCmd _ANSI_ARGS_((ClientData dummy, ++TCL_EXTERN(int) Itcl_ConfigBodyCmd _ANSI_ARGS_((ClientData dummy, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_CreateMethod_TCL_DECLARED ++#define Itcl_CreateMethod_TCL_DECLARED + /* 52 */ +-EXTERN int Itcl_CreateMethod _ANSI_ARGS_((Tcl_Interp* interp, +- ItclClass * cdefn, char* name, char* arglist, +- char* body)); ++TCL_EXTERN(int) Itcl_CreateMethod _ANSI_ARGS_((Tcl_Interp* interp, ++ ItclClass * cdefn, CONST char* name, ++ CONST char* arglist, CONST char* body)); ++#endif ++#ifndef Itcl_CreateProc_TCL_DECLARED ++#define Itcl_CreateProc_TCL_DECLARED + /* 53 */ +-EXTERN int Itcl_CreateProc _ANSI_ARGS_((Tcl_Interp* interp, +- ItclClass * cdefn, char* name, char* arglist, +- char* body)); ++TCL_EXTERN(int) Itcl_CreateProc _ANSI_ARGS_((Tcl_Interp* interp, ++ ItclClass * cdefn, CONST char* name, ++ CONST char* arglist, CONST char* body)); ++#endif ++#ifndef Itcl_CreateMemberFunc_TCL_DECLARED ++#define Itcl_CreateMemberFunc_TCL_DECLARED + /* 54 */ +-EXTERN int Itcl_CreateMemberFunc _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_CreateMemberFunc _ANSI_ARGS_(( + Tcl_Interp* interp, ItclClass * cdefn, +- char* name, char* arglist, char* body, +- ItclMemberFunc** mfuncPtr)); ++ CONST char* name, CONST char* arglist, ++ CONST char* body, ItclMemberFunc** mfuncPtr)); ++#endif ++#ifndef Itcl_ChangeMemberFunc_TCL_DECLARED ++#define Itcl_ChangeMemberFunc_TCL_DECLARED + /* 55 */ +-EXTERN int Itcl_ChangeMemberFunc _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_ChangeMemberFunc _ANSI_ARGS_(( + Tcl_Interp* interp, ItclMemberFunc* mfunc, +- char* arglist, char* body)); ++ CONST char* arglist, CONST char* body)); ++#endif ++#ifndef Itcl_DeleteMemberFunc_TCL_DECLARED ++#define Itcl_DeleteMemberFunc_TCL_DECLARED + /* 56 */ +-EXTERN void Itcl_DeleteMemberFunc _ANSI_ARGS_((char* cdata)); ++TCL_EXTERN(void) Itcl_DeleteMemberFunc _ANSI_ARGS_((CONST char* cdata)); ++#endif ++#ifndef Itcl_CreateMemberCode_TCL_DECLARED ++#define Itcl_CreateMemberCode_TCL_DECLARED + /* 57 */ +-EXTERN int Itcl_CreateMemberCode _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_CreateMemberCode _ANSI_ARGS_(( + Tcl_Interp* interp, ItclClass * cdefn, +- char* arglist, char* body, ++ CONST char* arglist, CONST char* body, + ItclMemberCode** mcodePtr)); ++#endif ++#ifndef Itcl_DeleteMemberCode_TCL_DECLARED ++#define Itcl_DeleteMemberCode_TCL_DECLARED + /* 58 */ +-EXTERN void Itcl_DeleteMemberCode _ANSI_ARGS_((char* cdata)); ++TCL_EXTERN(void) Itcl_DeleteMemberCode _ANSI_ARGS_((CONST char* cdata)); ++#endif ++#ifndef Itcl_GetMemberCode_TCL_DECLARED ++#define Itcl_GetMemberCode_TCL_DECLARED + /* 59 */ +-EXTERN int Itcl_GetMemberCode _ANSI_ARGS_((Tcl_Interp* interp, ++TCL_EXTERN(int) Itcl_GetMemberCode _ANSI_ARGS_((Tcl_Interp* interp, + ItclMember* member)); ++#endif + /* Slot 60 is reserved */ ++#ifndef Itcl_EvalMemberCode_TCL_DECLARED ++#define Itcl_EvalMemberCode_TCL_DECLARED + /* 61 */ +-EXTERN int Itcl_EvalMemberCode _ANSI_ARGS_((Tcl_Interp * interp, ++TCL_EXTERN(int) Itcl_EvalMemberCode _ANSI_ARGS_((Tcl_Interp * interp, + ItclMemberFunc * mfunc, ItclMember * member, + ItclObject * contextObj, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_CreateArgList_TCL_DECLARED ++#define Itcl_CreateArgList_TCL_DECLARED + /* 62 */ +-EXTERN int Itcl_CreateArgList _ANSI_ARGS_((Tcl_Interp* interp, +- char* decl, int* argcPtr, ++TCL_EXTERN(int) Itcl_CreateArgList _ANSI_ARGS_((Tcl_Interp* interp, ++ CONST char* decl, int* argcPtr, + CompiledLocal** argPtr)); ++#endif ++#ifndef Itcl_CreateArg_TCL_DECLARED ++#define Itcl_CreateArg_TCL_DECLARED + /* 63 */ +-EXTERN CompiledLocal* Itcl_CreateArg _ANSI_ARGS_((char* name, char* init)); ++TCL_EXTERN(CompiledLocal*) Itcl_CreateArg _ANSI_ARGS_((CONST char* name, ++ CONST char* init)); ++#endif ++#ifndef Itcl_DeleteArgList_TCL_DECLARED ++#define Itcl_DeleteArgList_TCL_DECLARED + /* 64 */ +-EXTERN void Itcl_DeleteArgList _ANSI_ARGS_(( ++TCL_EXTERN(void) Itcl_DeleteArgList _ANSI_ARGS_(( + CompiledLocal * arglist)); ++#endif ++#ifndef Itcl_ArgList_TCL_DECLARED ++#define Itcl_ArgList_TCL_DECLARED + /* 65 */ +-EXTERN Tcl_Obj* Itcl_ArgList _ANSI_ARGS_((int argc, ++TCL_EXTERN(Tcl_Obj*) Itcl_ArgList _ANSI_ARGS_((int argc, + CompiledLocal* arglist)); ++#endif ++#ifndef Itcl_EquivArgLists_TCL_DECLARED ++#define Itcl_EquivArgLists_TCL_DECLARED + /* 66 */ +-EXTERN int Itcl_EquivArgLists _ANSI_ARGS_((CompiledLocal* arg1, ++TCL_EXTERN(int) Itcl_EquivArgLists _ANSI_ARGS_((CompiledLocal* arg1, + int arg1c, CompiledLocal* arg2, int arg2c)); ++#endif ++#ifndef Itcl_GetMemberFuncUsage_TCL_DECLARED ++#define Itcl_GetMemberFuncUsage_TCL_DECLARED + /* 67 */ +-EXTERN void Itcl_GetMemberFuncUsage _ANSI_ARGS_(( ++TCL_EXTERN(void) Itcl_GetMemberFuncUsage _ANSI_ARGS_(( + ItclMemberFunc * mfunc, + ItclObject * contextObj, Tcl_Obj * objPtr)); ++#endif ++#ifndef Itcl_ExecMethod_TCL_DECLARED ++#define Itcl_ExecMethod_TCL_DECLARED + /* 68 */ +-EXTERN int Itcl_ExecMethod _ANSI_ARGS_((ClientData clientData, ++TCL_EXTERN(int) Itcl_ExecMethod _ANSI_ARGS_((ClientData clientData, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_ExecProc_TCL_DECLARED ++#define Itcl_ExecProc_TCL_DECLARED + /* 69 */ +-EXTERN int Itcl_ExecProc _ANSI_ARGS_((ClientData clientData, ++TCL_EXTERN(int) Itcl_ExecProc _ANSI_ARGS_((ClientData clientData, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_AssignArgs_TCL_DECLARED ++#define Itcl_AssignArgs_TCL_DECLARED + /* 70 */ +-EXTERN int Itcl_AssignArgs _ANSI_ARGS_((Tcl_Interp * interp, ++TCL_EXTERN(int) Itcl_AssignArgs _ANSI_ARGS_((Tcl_Interp * interp, + int objc, Tcl_Obj *CONST objv[], + ItclMemberFunc * mfunc)); ++#endif ++#ifndef Itcl_ConstructBase_TCL_DECLARED ++#define Itcl_ConstructBase_TCL_DECLARED + /* 71 */ +-EXTERN int Itcl_ConstructBase _ANSI_ARGS_((Tcl_Interp * interp, ++TCL_EXTERN(int) Itcl_ConstructBase _ANSI_ARGS_((Tcl_Interp * interp, + ItclObject * contextObj, + ItclClass * contextClass)); ++#endif ++#ifndef Itcl_InvokeMethodIfExists_TCL_DECLARED ++#define Itcl_InvokeMethodIfExists_TCL_DECLARED + /* 72 */ +-EXTERN int Itcl_InvokeMethodIfExists _ANSI_ARGS_(( +- Tcl_Interp * interp, char * name, ++TCL_EXTERN(int) Itcl_InvokeMethodIfExists _ANSI_ARGS_(( ++ Tcl_Interp * interp, CONST char * name, + ItclClass * contextClass, + ItclObject * contextObj, int objc, + Tcl_Obj *CONST objv[])); ++#endif + /* Slot 73 is reserved */ ++#ifndef Itcl_ReportFuncErrors_TCL_DECLARED ++#define Itcl_ReportFuncErrors_TCL_DECLARED + /* 74 */ +-EXTERN int Itcl_ReportFuncErrors _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_ReportFuncErrors _ANSI_ARGS_(( + Tcl_Interp* interp, ItclMemberFunc * mfunc, + ItclObject * contextObj, int result)); ++#endif ++#ifndef Itcl_ParseInit_TCL_DECLARED ++#define Itcl_ParseInit_TCL_DECLARED + /* 75 */ +-EXTERN int Itcl_ParseInit _ANSI_ARGS_((Tcl_Interp * interp, ++TCL_EXTERN(int) Itcl_ParseInit _ANSI_ARGS_((Tcl_Interp * interp, + ItclObjectInfo * info)); ++#endif ++#ifndef Itcl_ClassCmd_TCL_DECLARED ++#define Itcl_ClassCmd_TCL_DECLARED + /* 76 */ +-EXTERN int Itcl_ClassCmd _ANSI_ARGS_((ClientData clientData, ++TCL_EXTERN(int) Itcl_ClassCmd _ANSI_ARGS_((ClientData clientData, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_ClassInheritCmd_TCL_DECLARED ++#define Itcl_ClassInheritCmd_TCL_DECLARED + /* 77 */ +-EXTERN int Itcl_ClassInheritCmd _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_ClassInheritCmd _ANSI_ARGS_(( + ClientData clientData, Tcl_Interp * interp, + int objc, Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_ClassProtectionCmd_TCL_DECLARED ++#define Itcl_ClassProtectionCmd_TCL_DECLARED + /* 78 */ +-EXTERN int Itcl_ClassProtectionCmd _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_ClassProtectionCmd _ANSI_ARGS_(( + ClientData clientData, Tcl_Interp * interp, + int objc, Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_ClassConstructorCmd_TCL_DECLARED ++#define Itcl_ClassConstructorCmd_TCL_DECLARED + /* 79 */ +-EXTERN int Itcl_ClassConstructorCmd _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_ClassConstructorCmd _ANSI_ARGS_(( + ClientData clientData, Tcl_Interp * interp, + int objc, Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_ClassDestructorCmd_TCL_DECLARED ++#define Itcl_ClassDestructorCmd_TCL_DECLARED + /* 80 */ +-EXTERN int Itcl_ClassDestructorCmd _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_ClassDestructorCmd _ANSI_ARGS_(( + ClientData clientData, Tcl_Interp * interp, + int objc, Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_ClassMethodCmd_TCL_DECLARED ++#define Itcl_ClassMethodCmd_TCL_DECLARED + /* 81 */ +-EXTERN int Itcl_ClassMethodCmd _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_ClassMethodCmd _ANSI_ARGS_(( + ClientData clientData, Tcl_Interp * interp, + int objc, Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_ClassProcCmd_TCL_DECLARED ++#define Itcl_ClassProcCmd_TCL_DECLARED + /* 82 */ +-EXTERN int Itcl_ClassProcCmd _ANSI_ARGS_((ClientData clientData, ++TCL_EXTERN(int) Itcl_ClassProcCmd _ANSI_ARGS_((ClientData clientData, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_ClassVariableCmd_TCL_DECLARED ++#define Itcl_ClassVariableCmd_TCL_DECLARED + /* 83 */ +-EXTERN int Itcl_ClassVariableCmd _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_ClassVariableCmd _ANSI_ARGS_(( + ClientData clientData, Tcl_Interp * interp, + int objc, Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_ClassCommonCmd_TCL_DECLARED ++#define Itcl_ClassCommonCmd_TCL_DECLARED + /* 84 */ +-EXTERN int Itcl_ClassCommonCmd _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_ClassCommonCmd _ANSI_ARGS_(( + ClientData clientData, Tcl_Interp * interp, + int objc, Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_ParseVarResolver_TCL_DECLARED ++#define Itcl_ParseVarResolver_TCL_DECLARED + /* 85 */ +-EXTERN int Itcl_ParseVarResolver _ANSI_ARGS_(( +- Tcl_Interp * interp, char* name, ++TCL_EXTERN(int) Itcl_ParseVarResolver _ANSI_ARGS_(( ++ Tcl_Interp * interp, CONST char* name, + Tcl_Namespace * contextNs, int flags, + Tcl_Var* rPtr)); ++#endif ++#ifndef Itcl_BiInit_TCL_DECLARED ++#define Itcl_BiInit_TCL_DECLARED + /* 86 */ +-EXTERN int Itcl_BiInit _ANSI_ARGS_((Tcl_Interp * interp)); ++TCL_EXTERN(int) Itcl_BiInit _ANSI_ARGS_((Tcl_Interp * interp)); ++#endif ++#ifndef Itcl_InstallBiMethods_TCL_DECLARED ++#define Itcl_InstallBiMethods_TCL_DECLARED + /* 87 */ +-EXTERN int Itcl_InstallBiMethods _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_InstallBiMethods _ANSI_ARGS_(( + Tcl_Interp * interp, ItclClass * cdefn)); ++#endif ++#ifndef Itcl_BiIsaCmd_TCL_DECLARED ++#define Itcl_BiIsaCmd_TCL_DECLARED + /* 88 */ +-EXTERN int Itcl_BiIsaCmd _ANSI_ARGS_((ClientData clientData, ++TCL_EXTERN(int) Itcl_BiIsaCmd _ANSI_ARGS_((ClientData clientData, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_BiConfigureCmd_TCL_DECLARED ++#define Itcl_BiConfigureCmd_TCL_DECLARED + /* 89 */ +-EXTERN int Itcl_BiConfigureCmd _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_BiConfigureCmd _ANSI_ARGS_(( + ClientData clientData, Tcl_Interp * interp, + int objc, Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_BiCgetCmd_TCL_DECLARED ++#define Itcl_BiCgetCmd_TCL_DECLARED + /* 90 */ +-EXTERN int Itcl_BiCgetCmd _ANSI_ARGS_((ClientData clientData, ++TCL_EXTERN(int) Itcl_BiCgetCmd _ANSI_ARGS_((ClientData clientData, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_BiChainCmd_TCL_DECLARED ++#define Itcl_BiChainCmd_TCL_DECLARED + /* 91 */ +-EXTERN int Itcl_BiChainCmd _ANSI_ARGS_((ClientData dummy, ++TCL_EXTERN(int) Itcl_BiChainCmd _ANSI_ARGS_((ClientData dummy, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_BiInfoClassCmd_TCL_DECLARED ++#define Itcl_BiInfoClassCmd_TCL_DECLARED + /* 92 */ +-EXTERN int Itcl_BiInfoClassCmd _ANSI_ARGS_((ClientData dummy, ++TCL_EXTERN(int) Itcl_BiInfoClassCmd _ANSI_ARGS_((ClientData dummy, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_BiInfoInheritCmd_TCL_DECLARED ++#define Itcl_BiInfoInheritCmd_TCL_DECLARED + /* 93 */ +-EXTERN int Itcl_BiInfoInheritCmd _ANSI_ARGS_((ClientData dummy, ++TCL_EXTERN(int) Itcl_BiInfoInheritCmd _ANSI_ARGS_((ClientData dummy, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_BiInfoHeritageCmd_TCL_DECLARED ++#define Itcl_BiInfoHeritageCmd_TCL_DECLARED + /* 94 */ +-EXTERN int Itcl_BiInfoHeritageCmd _ANSI_ARGS_((ClientData dummy, ++TCL_EXTERN(int) Itcl_BiInfoHeritageCmd _ANSI_ARGS_((ClientData dummy, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_BiInfoFunctionCmd_TCL_DECLARED ++#define Itcl_BiInfoFunctionCmd_TCL_DECLARED + /* 95 */ +-EXTERN int Itcl_BiInfoFunctionCmd _ANSI_ARGS_((ClientData dummy, ++TCL_EXTERN(int) Itcl_BiInfoFunctionCmd _ANSI_ARGS_((ClientData dummy, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_BiInfoVariableCmd_TCL_DECLARED ++#define Itcl_BiInfoVariableCmd_TCL_DECLARED + /* 96 */ +-EXTERN int Itcl_BiInfoVariableCmd _ANSI_ARGS_((ClientData dummy, ++TCL_EXTERN(int) Itcl_BiInfoVariableCmd _ANSI_ARGS_((ClientData dummy, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_BiInfoBodyCmd_TCL_DECLARED ++#define Itcl_BiInfoBodyCmd_TCL_DECLARED + /* 97 */ +-EXTERN int Itcl_BiInfoBodyCmd _ANSI_ARGS_((ClientData dummy, ++TCL_EXTERN(int) Itcl_BiInfoBodyCmd _ANSI_ARGS_((ClientData dummy, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_BiInfoArgsCmd_TCL_DECLARED ++#define Itcl_BiInfoArgsCmd_TCL_DECLARED + /* 98 */ +-EXTERN int Itcl_BiInfoArgsCmd _ANSI_ARGS_((ClientData dummy, ++TCL_EXTERN(int) Itcl_BiInfoArgsCmd _ANSI_ARGS_((ClientData dummy, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_DefaultInfoCmd_TCL_DECLARED ++#define Itcl_DefaultInfoCmd_TCL_DECLARED + /* 99 */ +-EXTERN int Itcl_DefaultInfoCmd _ANSI_ARGS_((ClientData dummy, ++TCL_EXTERN(int) Itcl_DefaultInfoCmd _ANSI_ARGS_((ClientData dummy, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_EnsembleInit_TCL_DECLARED ++#define Itcl_EnsembleInit_TCL_DECLARED + /* 100 */ +-EXTERN int Itcl_EnsembleInit _ANSI_ARGS_((Tcl_Interp * interp)); ++TCL_EXTERN(int) Itcl_EnsembleInit _ANSI_ARGS_((Tcl_Interp * interp)); ++#endif ++#ifndef Itcl_CreateEnsemble_TCL_DECLARED ++#define Itcl_CreateEnsemble_TCL_DECLARED + /* 101 */ +-EXTERN int Itcl_CreateEnsemble _ANSI_ARGS_((Tcl_Interp * interp, +- char* ensName)); ++TCL_EXTERN(int) Itcl_CreateEnsemble _ANSI_ARGS_((Tcl_Interp * interp, ++ CONST char* ensName)); ++#endif ++#ifndef Itcl_AddEnsemblePart_TCL_DECLARED ++#define Itcl_AddEnsemblePart_TCL_DECLARED + /* 102 */ +-EXTERN int Itcl_AddEnsemblePart _ANSI_ARGS_(( +- Tcl_Interp * interp, char* ensName, +- char* partName, char* usageInfo, ++TCL_EXTERN(int) Itcl_AddEnsemblePart _ANSI_ARGS_(( ++ Tcl_Interp * interp, CONST char* ensName, ++ CONST char* partName, CONST char* usageInfo, + Tcl_ObjCmdProc * objProc, + ClientData clientData, + Tcl_CmdDeleteProc * deleteProc)); ++#endif ++#ifndef Itcl_GetEnsemblePart_TCL_DECLARED ++#define Itcl_GetEnsemblePart_TCL_DECLARED + /* 103 */ +-EXTERN int Itcl_GetEnsemblePart _ANSI_ARGS_(( +- Tcl_Interp * interp, char * ensName, +- char * partName, Tcl_CmdInfo * infoPtr)); ++TCL_EXTERN(int) Itcl_GetEnsemblePart _ANSI_ARGS_(( ++ Tcl_Interp * interp, CONST char * ensName, ++ CONST char * partName, Tcl_CmdInfo * infoPtr)); ++#endif ++#ifndef Itcl_IsEnsemble_TCL_DECLARED ++#define Itcl_IsEnsemble_TCL_DECLARED + /* 104 */ +-EXTERN int Itcl_IsEnsemble _ANSI_ARGS_((Tcl_CmdInfo* infoPtr)); ++TCL_EXTERN(int) Itcl_IsEnsemble _ANSI_ARGS_((Tcl_CmdInfo* infoPtr)); ++#endif ++#ifndef Itcl_GetEnsembleUsage_TCL_DECLARED ++#define Itcl_GetEnsembleUsage_TCL_DECLARED + /* 105 */ +-EXTERN int Itcl_GetEnsembleUsage _ANSI_ARGS_(( +- Tcl_Interp * interp, char * ensName, ++TCL_EXTERN(int) Itcl_GetEnsembleUsage _ANSI_ARGS_(( ++ Tcl_Interp * interp, CONST char * ensName, + Tcl_Obj * objPtr)); ++#endif ++#ifndef Itcl_GetEnsembleUsageForObj_TCL_DECLARED ++#define Itcl_GetEnsembleUsageForObj_TCL_DECLARED + /* 106 */ +-EXTERN int Itcl_GetEnsembleUsageForObj _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_GetEnsembleUsageForObj _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * ensObjPtr, + Tcl_Obj * objPtr)); ++#endif ++#ifndef Itcl_EnsembleCmd_TCL_DECLARED ++#define Itcl_EnsembleCmd_TCL_DECLARED + /* 107 */ +-EXTERN int Itcl_EnsembleCmd _ANSI_ARGS_((ClientData clientData, ++TCL_EXTERN(int) Itcl_EnsembleCmd _ANSI_ARGS_((ClientData clientData, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_EnsPartCmd_TCL_DECLARED ++#define Itcl_EnsPartCmd_TCL_DECLARED + /* 108 */ +-EXTERN int Itcl_EnsPartCmd _ANSI_ARGS_((ClientData clientData, ++TCL_EXTERN(int) Itcl_EnsPartCmd _ANSI_ARGS_((ClientData clientData, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_EnsembleErrorCmd_TCL_DECLARED ++#define Itcl_EnsembleErrorCmd_TCL_DECLARED + /* 109 */ +-EXTERN int Itcl_EnsembleErrorCmd _ANSI_ARGS_(( ++TCL_EXTERN(int) Itcl_EnsembleErrorCmd _ANSI_ARGS_(( + ClientData clientData, Tcl_Interp * interp, + int objc, Tcl_Obj *CONST objv[])); +-/* 110 */ +-EXTERN int Itcl_OldInit _ANSI_ARGS_((Tcl_Interp* interp, +- ItclObjectInfo* info)); +-/* 111 */ +-EXTERN int Itcl_InstallOldBiMethods _ANSI_ARGS_(( +- Tcl_Interp * interp, ItclClass * cdefn)); ++#endif ++/* Slot 110 is reserved */ ++/* Slot 111 is reserved */ ++#ifndef _Tcl_GetCallFrame_TCL_DECLARED ++#define _Tcl_GetCallFrame_TCL_DECLARED + /* 112 */ +-EXTERN Tcl_CallFrame* _Tcl_GetCallFrame _ANSI_ARGS_((Tcl_Interp * interp, +- int level)); ++TCL_EXTERN(Tcl_CallFrame*) _Tcl_GetCallFrame _ANSI_ARGS_(( ++ Tcl_Interp * interp, int level)); ++#endif ++#ifndef _Tcl_ActivateCallFrame_TCL_DECLARED ++#define _Tcl_ActivateCallFrame_TCL_DECLARED + /* 113 */ +-EXTERN Tcl_CallFrame* _Tcl_ActivateCallFrame _ANSI_ARGS_(( ++TCL_EXTERN(Tcl_CallFrame*) _Tcl_ActivateCallFrame _ANSI_ARGS_(( + Tcl_Interp * interp, + Tcl_CallFrame * framePtr)); ++#endif ++#ifndef _TclNewVar_TCL_DECLARED ++#define _TclNewVar_TCL_DECLARED + /* 114 */ +-EXTERN Var* _TclNewVar _ANSI_ARGS_((void)); ++TCL_EXTERN(Var*) _TclNewVar _ANSI_ARGS_((void)); ++#endif ++#ifndef Itcl_Assert_TCL_DECLARED ++#define Itcl_Assert_TCL_DECLARED + /* 115 */ +-EXTERN void Itcl_Assert _ANSI_ARGS_((char * testExpr, +- char * fileName, int lineNum)); ++TCL_EXTERN(void) Itcl_Assert _ANSI_ARGS_((CONST char * testExpr, ++ CONST char * fileName, int lineNum)); ++#endif ++#ifndef Itcl_IsObjectCmd_TCL_DECLARED ++#define Itcl_IsObjectCmd_TCL_DECLARED ++/* 116 */ ++TCL_EXTERN(int) Itcl_IsObjectCmd _ANSI_ARGS_((ClientData clientData, ++ Tcl_Interp * interp, int objc, ++ Tcl_Obj *CONST objv[])); ++#endif ++#ifndef Itcl_IsClassCmd_TCL_DECLARED ++#define Itcl_IsClassCmd_TCL_DECLARED ++/* 117 */ ++TCL_EXTERN(int) Itcl_IsClassCmd _ANSI_ARGS_((ClientData clientData, ++ Tcl_Interp * interp, int objc, ++ Tcl_Obj *CONST objv[])); ++#endif + + typedef struct ItclIntStubs { + int magic; +@@ -452,8 +799,8 @@ + + int (*itcl_IsClassNamespace) _ANSI_ARGS_((Tcl_Namespace * namesp)); /* 0 */ + int (*itcl_IsClass) _ANSI_ARGS_((Tcl_Command cmd)); /* 1 */ +- ItclClass* (*itcl_FindClass) _ANSI_ARGS_((Tcl_Interp* interp, char* path, int autoload)); /* 2 */ +- int (*itcl_FindObject) _ANSI_ARGS_((Tcl_Interp * interp, char * name, ItclObject ** roPtr)); /* 3 */ ++ ItclClass* (*itcl_FindClass) _ANSI_ARGS_((Tcl_Interp* interp, CONST char* path, int autoload)); /* 2 */ ++ int (*itcl_FindObject) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, ItclObject ** roPtr)); /* 3 */ + int (*itcl_IsObject) _ANSI_ARGS_((Tcl_Command cmd)); /* 4 */ + int (*itcl_ObjectIsa) _ANSI_ARGS_((ItclObject * contextObj, ItclClass * cdefn)); /* 5 */ + int (*itcl_Protection) _ANSI_ARGS_((Tcl_Interp * interp, int newLevel)); /* 6 */ +@@ -461,10 +808,10 @@ + int (*itcl_CanAccess) _ANSI_ARGS_((ItclMember* memberPtr, Tcl_Namespace* fromNsPtr)); /* 8 */ + int (*itcl_CanAccessFunc) _ANSI_ARGS_((ItclMemberFunc* mfunc, Tcl_Namespace* fromNsPtr)); /* 9 */ + Tcl_Namespace* (*itcl_GetTrueNamespace) _ANSI_ARGS_((Tcl_Interp * interp, ItclObjectInfo * info)); /* 10 */ +- void (*itcl_ParseNamespPath) _ANSI_ARGS_((char * name, Tcl_DString * buffer, char ** head, char ** tail)); /* 11 */ +- int (*itcl_DecodeScopedCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_Namespace ** rNsPtr, char ** rCmdPtr)); /* 12 */ ++ void (*itcl_ParseNamespPath) _ANSI_ARGS_((CONST char * name, Tcl_DString * buffer, char ** head, char ** tail)); /* 11 */ ++ int (*itcl_DecodeScopedCommand) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, Tcl_Namespace ** rNsPtr, char ** rCmdPtr)); /* 12 */ + int (*itcl_EvalArgs) _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 13 */ +- Tcl_Obj* (*itcl_CreateArgs) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int objc, Tcl_Obj *CONST objv[])); /* 14 */ ++ Tcl_Obj* (*itcl_CreateArgs) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * string, int objc, Tcl_Obj *CONST objv[])); /* 14 */ + int (*itcl_PushContext) _ANSI_ARGS_((Tcl_Interp * interp, ItclMember * member, ItclClass * contextClass, ItclObject * contextObj, ItclContext * contextPtr)); /* 15 */ + void (*itcl_PopContext) _ANSI_ARGS_((Tcl_Interp * interp, ItclContext * contextPtr)); /* 16 */ + int (*itcl_GetContext) _ANSI_ARGS_((Tcl_Interp * interp, ItclClass ** cdefnPtr, ItclObject ** odefnPtr)); /* 17 */ +@@ -481,39 +828,39 @@ + int (*itcl_StubCreateCmd) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 28 */ + int (*itcl_StubExistsCmd) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 29 */ + int (*itcl_IsStub) _ANSI_ARGS_((Tcl_Command cmd)); /* 30 */ +- int (*itcl_CreateClass) _ANSI_ARGS_((Tcl_Interp* interp, char* path, ItclObjectInfo * info, ItclClass ** rPtr)); /* 31 */ ++ int (*itcl_CreateClass) _ANSI_ARGS_((Tcl_Interp* interp, CONST char* path, ItclObjectInfo * info, ItclClass ** rPtr)); /* 31 */ + int (*itcl_DeleteClass) _ANSI_ARGS_((Tcl_Interp * interp, ItclClass * cdefnPtr)); /* 32 */ +- Tcl_Namespace* (*itcl_FindClassNamespace) _ANSI_ARGS_((Tcl_Interp* interp, char* path)); /* 33 */ ++ Tcl_Namespace* (*itcl_FindClassNamespace) _ANSI_ARGS_((Tcl_Interp* interp, CONST char* path)); /* 33 */ + int (*itcl_HandleClass) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 34 */ + int (*itcl_ClassCmdResolver) _ANSI_ARGS_((Tcl_Interp * interp, CONST char* name, Tcl_Namespace * context, int flags, Tcl_Command * rPtr)); /* 35 */ +- int (*itcl_ClassVarResolver) _ANSI_ARGS_((Tcl_Interp * interp, char* name, Tcl_Namespace * context, int flags, Tcl_Var * rPtr)); /* 36 */ +- int (*itcl_ClassCompiledVarResolver) _ANSI_ARGS_((Tcl_Interp * interp, char* name, int length, Tcl_Namespace * context, Tcl_ResolvedVarInfo ** rPtr)); /* 37 */ ++ int (*itcl_ClassVarResolver) _ANSI_ARGS_((Tcl_Interp * interp, CONST char* name, Tcl_Namespace * context, int flags, Tcl_Var * rPtr)); /* 36 */ ++ int (*itcl_ClassCompiledVarResolver) _ANSI_ARGS_((Tcl_Interp * interp, CONST char* name, int length, Tcl_Namespace * context, Tcl_ResolvedVarInfo ** rPtr)); /* 37 */ + void (*itcl_BuildVirtualTables) _ANSI_ARGS_((ItclClass* cdefnPtr)); /* 38 */ + int (*itcl_CreateVarDefn) _ANSI_ARGS_((Tcl_Interp * interp, ItclClass* cdefn, char* name, char* init, char* config, ItclVarDefn** vdefnPtr)); /* 39 */ + void (*itcl_DeleteVarDefn) _ANSI_ARGS_((ItclVarDefn * vdefn)); /* 40 */ +- char* (*itcl_GetCommonVar) _ANSI_ARGS_((Tcl_Interp * interp, char * name, ItclClass * contextClass)); /* 41 */ +- ItclMember* (*itcl_CreateMember) _ANSI_ARGS_((Tcl_Interp* interp, ItclClass * cdefn, char* name)); /* 42 */ ++ CONST char* (*itcl_GetCommonVar) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, ItclClass * contextClass)); /* 41 */ ++ ItclMember* (*itcl_CreateMember) _ANSI_ARGS_((Tcl_Interp* interp, ItclClass * cdefn, CONST char* name)); /* 42 */ + void (*itcl_DeleteMember) _ANSI_ARGS_((ItclMember * memPtr)); /* 43 */ +- int (*itcl_CreateObject) _ANSI_ARGS_((Tcl_Interp * interp, char* name, ItclClass * cdefn, int objc, Tcl_Obj *CONST objv[], ItclObject ** roPtr)); /* 44 */ ++ int (*itcl_CreateObject) _ANSI_ARGS_((Tcl_Interp * interp, CONST char* name, ItclClass * cdefn, int objc, Tcl_Obj *CONST objv[], ItclObject ** roPtr)); /* 44 */ + int (*itcl_DeleteObject) _ANSI_ARGS_((Tcl_Interp * interp, ItclObject * contextObj)); /* 45 */ + int (*itcl_DestructObject) _ANSI_ARGS_((Tcl_Interp * interp, ItclObject * contextObj, int flags)); /* 46 */ + int (*itcl_HandleInstance) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 47 */ +- char* (*itcl_GetInstanceVar) _ANSI_ARGS_((Tcl_Interp * interp, char * name, ItclObject * contextObj, ItclClass * contextClass)); /* 48 */ +- int (*itcl_ScopedVarResolver) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_Namespace * contextNs, int flags, Tcl_Var * rPtr)); /* 49 */ ++ CONST char* (*itcl_GetInstanceVar) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, ItclObject * contextObj, ItclClass * contextClass)); /* 48 */ ++ int (*itcl_ScopedVarResolver) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, Tcl_Namespace * contextNs, int flags, Tcl_Var * rPtr)); /* 49 */ + int (*itcl_BodyCmd) _ANSI_ARGS_((ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 50 */ + int (*itcl_ConfigBodyCmd) _ANSI_ARGS_((ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 51 */ +- int (*itcl_CreateMethod) _ANSI_ARGS_((Tcl_Interp* interp, ItclClass * cdefn, char* name, char* arglist, char* body)); /* 52 */ +- int (*itcl_CreateProc) _ANSI_ARGS_((Tcl_Interp* interp, ItclClass * cdefn, char* name, char* arglist, char* body)); /* 53 */ +- int (*itcl_CreateMemberFunc) _ANSI_ARGS_((Tcl_Interp* interp, ItclClass * cdefn, char* name, char* arglist, char* body, ItclMemberFunc** mfuncPtr)); /* 54 */ +- int (*itcl_ChangeMemberFunc) _ANSI_ARGS_((Tcl_Interp* interp, ItclMemberFunc* mfunc, char* arglist, char* body)); /* 55 */ +- void (*itcl_DeleteMemberFunc) _ANSI_ARGS_((char* cdata)); /* 56 */ +- int (*itcl_CreateMemberCode) _ANSI_ARGS_((Tcl_Interp* interp, ItclClass * cdefn, char* arglist, char* body, ItclMemberCode** mcodePtr)); /* 57 */ +- void (*itcl_DeleteMemberCode) _ANSI_ARGS_((char* cdata)); /* 58 */ ++ int (*itcl_CreateMethod) _ANSI_ARGS_((Tcl_Interp* interp, ItclClass * cdefn, CONST char* name, CONST char* arglist, CONST char* body)); /* 52 */ ++ int (*itcl_CreateProc) _ANSI_ARGS_((Tcl_Interp* interp, ItclClass * cdefn, CONST char* name, CONST char* arglist, CONST char* body)); /* 53 */ ++ int (*itcl_CreateMemberFunc) _ANSI_ARGS_((Tcl_Interp* interp, ItclClass * cdefn, CONST char* name, CONST char* arglist, CONST char* body, ItclMemberFunc** mfuncPtr)); /* 54 */ ++ int (*itcl_ChangeMemberFunc) _ANSI_ARGS_((Tcl_Interp* interp, ItclMemberFunc* mfunc, CONST char* arglist, CONST char* body)); /* 55 */ ++ void (*itcl_DeleteMemberFunc) _ANSI_ARGS_((CONST char* cdata)); /* 56 */ ++ int (*itcl_CreateMemberCode) _ANSI_ARGS_((Tcl_Interp* interp, ItclClass * cdefn, CONST char* arglist, CONST char* body, ItclMemberCode** mcodePtr)); /* 57 */ ++ void (*itcl_DeleteMemberCode) _ANSI_ARGS_((CONST char* cdata)); /* 58 */ + int (*itcl_GetMemberCode) _ANSI_ARGS_((Tcl_Interp* interp, ItclMember* member)); /* 59 */ + void *reserved60; + int (*itcl_EvalMemberCode) _ANSI_ARGS_((Tcl_Interp * interp, ItclMemberFunc * mfunc, ItclMember * member, ItclObject * contextObj, int objc, Tcl_Obj *CONST objv[])); /* 61 */ +- int (*itcl_CreateArgList) _ANSI_ARGS_((Tcl_Interp* interp, char* decl, int* argcPtr, CompiledLocal** argPtr)); /* 62 */ +- CompiledLocal* (*itcl_CreateArg) _ANSI_ARGS_((char* name, char* init)); /* 63 */ ++ int (*itcl_CreateArgList) _ANSI_ARGS_((Tcl_Interp* interp, CONST char* decl, int* argcPtr, CompiledLocal** argPtr)); /* 62 */ ++ CompiledLocal* (*itcl_CreateArg) _ANSI_ARGS_((CONST char* name, CONST char* init)); /* 63 */ + void (*itcl_DeleteArgList) _ANSI_ARGS_((CompiledLocal * arglist)); /* 64 */ + Tcl_Obj* (*itcl_ArgList) _ANSI_ARGS_((int argc, CompiledLocal* arglist)); /* 65 */ + int (*itcl_EquivArgLists) _ANSI_ARGS_((CompiledLocal* arg1, int arg1c, CompiledLocal* arg2, int arg2c)); /* 66 */ +@@ -522,7 +869,7 @@ + int (*itcl_ExecProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 69 */ + int (*itcl_AssignArgs) _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[], ItclMemberFunc * mfunc)); /* 70 */ + int (*itcl_ConstructBase) _ANSI_ARGS_((Tcl_Interp * interp, ItclObject * contextObj, ItclClass * contextClass)); /* 71 */ +- int (*itcl_InvokeMethodIfExists) _ANSI_ARGS_((Tcl_Interp * interp, char * name, ItclClass * contextClass, ItclObject * contextObj, int objc, Tcl_Obj *CONST objv[])); /* 72 */ ++ int (*itcl_InvokeMethodIfExists) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, ItclClass * contextClass, ItclObject * contextObj, int objc, Tcl_Obj *CONST objv[])); /* 72 */ + void *reserved73; + int (*itcl_ReportFuncErrors) _ANSI_ARGS_((Tcl_Interp* interp, ItclMemberFunc * mfunc, ItclObject * contextObj, int result)); /* 74 */ + int (*itcl_ParseInit) _ANSI_ARGS_((Tcl_Interp * interp, ItclObjectInfo * info)); /* 75 */ +@@ -535,7 +882,7 @@ + int (*itcl_ClassProcCmd) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 82 */ + int (*itcl_ClassVariableCmd) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 83 */ + int (*itcl_ClassCommonCmd) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 84 */ +- int (*itcl_ParseVarResolver) _ANSI_ARGS_((Tcl_Interp * interp, char* name, Tcl_Namespace * contextNs, int flags, Tcl_Var* rPtr)); /* 85 */ ++ int (*itcl_ParseVarResolver) _ANSI_ARGS_((Tcl_Interp * interp, CONST char* name, Tcl_Namespace * contextNs, int flags, Tcl_Var* rPtr)); /* 85 */ + int (*itcl_BiInit) _ANSI_ARGS_((Tcl_Interp * interp)); /* 86 */ + int (*itcl_InstallBiMethods) _ANSI_ARGS_((Tcl_Interp * interp, ItclClass * cdefn)); /* 87 */ + int (*itcl_BiIsaCmd) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 88 */ +@@ -551,30 +898,26 @@ + int (*itcl_BiInfoArgsCmd) _ANSI_ARGS_((ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 98 */ + int (*itcl_DefaultInfoCmd) _ANSI_ARGS_((ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 99 */ + int (*itcl_EnsembleInit) _ANSI_ARGS_((Tcl_Interp * interp)); /* 100 */ +- int (*itcl_CreateEnsemble) _ANSI_ARGS_((Tcl_Interp * interp, char* ensName)); /* 101 */ +- int (*itcl_AddEnsemblePart) _ANSI_ARGS_((Tcl_Interp * interp, char* ensName, char* partName, char* usageInfo, Tcl_ObjCmdProc * objProc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc)); /* 102 */ +- int (*itcl_GetEnsemblePart) _ANSI_ARGS_((Tcl_Interp * interp, char * ensName, char * partName, Tcl_CmdInfo * infoPtr)); /* 103 */ ++ int (*itcl_CreateEnsemble) _ANSI_ARGS_((Tcl_Interp * interp, CONST char* ensName)); /* 101 */ ++ int (*itcl_AddEnsemblePart) _ANSI_ARGS_((Tcl_Interp * interp, CONST char* ensName, CONST char* partName, CONST char* usageInfo, Tcl_ObjCmdProc * objProc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc)); /* 102 */ ++ int (*itcl_GetEnsemblePart) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * ensName, CONST char * partName, Tcl_CmdInfo * infoPtr)); /* 103 */ + int (*itcl_IsEnsemble) _ANSI_ARGS_((Tcl_CmdInfo* infoPtr)); /* 104 */ +- int (*itcl_GetEnsembleUsage) _ANSI_ARGS_((Tcl_Interp * interp, char * ensName, Tcl_Obj * objPtr)); /* 105 */ ++ int (*itcl_GetEnsembleUsage) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * ensName, Tcl_Obj * objPtr)); /* 105 */ + int (*itcl_GetEnsembleUsageForObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * ensObjPtr, Tcl_Obj * objPtr)); /* 106 */ + int (*itcl_EnsembleCmd) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 107 */ + int (*itcl_EnsPartCmd) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 108 */ + int (*itcl_EnsembleErrorCmd) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 109 */ +- int (*itcl_OldInit) _ANSI_ARGS_((Tcl_Interp* interp, ItclObjectInfo* info)); /* 110 */ +- int (*itcl_InstallOldBiMethods) _ANSI_ARGS_((Tcl_Interp * interp, ItclClass * cdefn)); /* 111 */ ++ void *reserved110; ++ void *reserved111; + Tcl_CallFrame* (*_Tcl_GetCallFrame) _ANSI_ARGS_((Tcl_Interp * interp, int level)); /* 112 */ + Tcl_CallFrame* (*_Tcl_ActivateCallFrame) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_CallFrame * framePtr)); /* 113 */ + Var* (*_TclNewVar) _ANSI_ARGS_((void)); /* 114 */ +- void (*itcl_Assert) _ANSI_ARGS_((char * testExpr, char * fileName, int lineNum)); /* 115 */ ++ void (*itcl_Assert) _ANSI_ARGS_((CONST char * testExpr, CONST char * fileName, int lineNum)); /* 115 */ ++ int (*itcl_IsObjectCmd) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 116 */ ++ int (*itcl_IsClassCmd) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 117 */ + } ItclIntStubs; + +-#ifdef __cplusplus +-extern "C" { +-#endif +-extern ItclIntStubs *itclIntStubsPtr; +-#ifdef __cplusplus +-} +-#endif ++TCL_EXTERNC ItclIntStubs *itclIntStubsPtr; + + #if defined(USE_ITCL_STUBS) && !defined(USE_ITCL_STUB_PROCS) + +@@ -1016,14 +1359,8 @@ + #define Itcl_EnsembleErrorCmd \ + (itclIntStubsPtr->itcl_EnsembleErrorCmd) /* 109 */ + #endif +-#ifndef Itcl_OldInit +-#define Itcl_OldInit \ +- (itclIntStubsPtr->itcl_OldInit) /* 110 */ +-#endif +-#ifndef Itcl_InstallOldBiMethods +-#define Itcl_InstallOldBiMethods \ +- (itclIntStubsPtr->itcl_InstallOldBiMethods) /* 111 */ +-#endif ++/* Slot 110 is reserved */ ++/* Slot 111 is reserved */ + #ifndef _Tcl_GetCallFrame + #define _Tcl_GetCallFrame \ + (itclIntStubsPtr->_Tcl_GetCallFrame) /* 112 */ +@@ -1040,6 +1377,14 @@ + #define Itcl_Assert \ + (itclIntStubsPtr->itcl_Assert) /* 115 */ + #endif ++#ifndef Itcl_IsObjectCmd ++#define Itcl_IsObjectCmd \ ++ (itclIntStubsPtr->itcl_IsObjectCmd) /* 116 */ ++#endif ++#ifndef Itcl_IsClassCmd ++#define Itcl_IsClassCmd \ ++ (itclIntStubsPtr->itcl_IsClassCmd) /* 117 */ ++#endif + + #endif /* defined(USE_ITCL_STUBS) && !defined(USE_ITCL_STUB_PROCS) */ + +diff -Naur insight-6.8.orig/itcl/itcl/generic/itclInt.h insight-6.8.new/itcl/itcl/generic/itclInt.h +--- insight-6.8.orig/itcl/itcl/generic/itclInt.h 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/generic/itclInt.h 2008-08-18 18:56:39.000000000 +0200 +@@ -39,7 +39,7 @@ + * mmclennan@lucent.com + * http://www.tcltk.com/itcl + * +- * RCS: $Id: itclInt.h,v 1.7 2001/04/07 07:20:53 davygrvy Exp $ ++ * RCS: $Id: itclInt.h,v 1.14 2005/02/10 23:20:27 hobbs Exp $ + * ======================================================================== + * Copyright (c) 1993-1998 Lucent Technologies, Inc. + * ------------------------------------------------------------------------ +@@ -49,14 +49,77 @@ + #ifndef ITCLINT_H + #define ITCLINT_H + +-#include "itcl.h" + #include "tclInt.h" ++#include "itcl.h" + + #ifdef BUILD_itcl + # undef TCL_STORAGE_CLASS + # define TCL_STORAGE_CLASS DLLEXPORT + #endif + ++/* ++ * Fix Tcl bug #803489 the right way. We need to always use the old Stub ++ * slot positions, not the new broken ones part of TIP 127. I do like ++ * that these functions have moved to the public space (about time), but ++ * the slot change is the killer and is the painful side affect. ++ */ ++ ++#if defined(USE_TCL_STUBS) && \ ++ (TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION >= 5) ++# undef Tcl_CreateNamespace ++# define Tcl_CreateNamespace \ ++ (tclIntStubsPtr->tcl_CreateNamespace) ++# undef Tcl_DeleteNamespace ++# define Tcl_DeleteNamespace \ ++ (tclIntStubsPtr->tcl_DeleteNamespace) ++# undef Tcl_AppendExportList ++# define Tcl_AppendExportList \ ++ (tclIntStubsPtr->tcl_AppendExportList) ++# undef Tcl_Export ++# define Tcl_Export \ ++ (tclIntStubsPtr->tcl_Export) ++# undef Tcl_Import ++# define Tcl_Import \ ++ (tclIntStubsPtr->tcl_Import) ++# undef Tcl_ForgetImport ++# define Tcl_ForgetImport \ ++ (tclIntStubsPtr->tcl_ForgetImport) ++# undef Tcl_GetCurrentNamespace ++# define Tcl_GetCurrentNamespace \ ++ (tclIntStubsPtr->tcl_GetCurrentNamespace) ++# undef Tcl_GetGlobalNamespace ++# define Tcl_GetGlobalNamespace \ ++ (tclIntStubsPtr->tcl_GetGlobalNamespace) ++# undef Tcl_FindNamespace ++# define Tcl_FindNamespace \ ++ (tclIntStubsPtr->tcl_FindNamespace) ++# undef Tcl_FindCommand ++# define Tcl_FindCommand \ ++ (tclIntStubsPtr->tcl_FindCommand) ++# undef Tcl_GetCommandFromObj ++# define Tcl_GetCommandFromObj \ ++ (tclIntStubsPtr->tcl_GetCommandFromObj) ++# undef Tcl_GetCommandFullName ++# define Tcl_GetCommandFullName \ ++ (tclIntStubsPtr->tcl_GetCommandFullName) ++#endif ++ ++/* ++ * Some backward compatability adjustments. ++ */ ++ ++#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 0 ++# define Tcl_GetString(obj) Tcl_GetStringFromObj((obj), NULL) ++# define TCL_DECLARE_MUTEX(mutexVar) ++# define Tcl_MutexLock(mutexVar) ++# define Tcl_MutexUnlock(mutexVar) ++# define Tcl_Panic panic ++#endif ++ ++#define TCL_DOES_STUBS \ ++ (TCL_MAJOR_VERSION > 8 || TCL_MAJOR_VERSION == 8 && (TCL_MINOR_VERSION > 1 || \ ++ (TCL_MINOR_VERSION == 1 && TCL_RELEASE_LEVEL == TCL_FINAL_RELEASE))) ++ + + /* + * Common info for managing all known objects. +@@ -157,6 +220,9 @@ + + } ItclMemberCode; + ++#define Itcl_IsMemberCodeImplemented(mcode) \ ++ (((mcode)->flags & ITCL_IMPLEMENT_NONE) == 0) ++ + /* + * Basic representation for class members (commands/variables) + */ +@@ -255,15 +321,11 @@ + */ + + #undef assert +-#ifdef NDEBUG ++#ifndef DEBUG + #define assert(EX) ((void)0) + #else +-#if defined(__STDC__) +-#define assert(EX) (void)((EX) || (Itcl_Assert(#EX, __FILE__, __LINE__), 0)) +-#else +-#define assert(EX) (void)((EX) || (Itcl_Assert("EX", __FILE__, __LINE__), 0)) +-#endif /* __STDC__ */ +-#endif /* NDEBUG */ ++#define assert(EX) (void)((EX) || (Itcl_Assert(STRINGIFY(EX), __FILE__, __LINE__), 0)) ++#endif /* DEBUG */ + + #undef TCL_STORAGE_CLASS + #define TCL_STORAGE_CLASS DLLIMPORT +diff -Naur insight-6.8.orig/itcl/itcl/generic/itcl_linkage.c insight-6.8.new/itcl/itcl/generic/itcl_linkage.c +--- insight-6.8.orig/itcl/itcl/generic/itcl_linkage.c 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/generic/itcl_linkage.c 2008-08-18 18:56:39.000000000 +0200 +@@ -22,7 +22,7 @@ + * mmclennan@lucent.com + * http://www.tcltk.com/itcl + * +- * RCS: $Id: itcl_linkage.c,v 1.1 1998/07/27 18:41:46 stanton Exp $ ++ * RCS: $Id: itcl_linkage.c,v 1.2 2003/12/17 02:25:37 davygrvy Exp $ + * ======================================================================== + * Copyright (c) 1993-1998 Lucent Technologies, Inc. + * ------------------------------------------------------------------------ +@@ -76,7 +76,7 @@ + int + Itcl_RegisterC(interp, name, proc, clientData, deleteProc) + Tcl_Interp *interp; /* interpreter handling this registration */ +- char *name; /* symbolic name for procedure */ ++ CONST char *name; /* symbolic name for procedure */ + Tcl_CmdProc *proc; /* procedure handling Tcl command */ + ClientData clientData; /* client data associated with proc */ + Tcl_CmdDeleteProc *deleteProc; /* proc called to free up client data */ +@@ -161,7 +161,7 @@ + int + Itcl_RegisterObjC(interp, name, proc, clientData, deleteProc) + Tcl_Interp *interp; /* interpreter handling this registration */ +- char *name; /* symbolic name for procedure */ ++ CONST char *name; /* symbolic name for procedure */ + Tcl_ObjCmdProc *proc; /* procedure handling Tcl command */ + ClientData clientData; /* client data associated with proc */ + Tcl_CmdDeleteProc *deleteProc; /* proc called to free up client data */ +@@ -230,7 +230,7 @@ + int + Itcl_FindC(interp, name, argProcPtr, objProcPtr, cDataPtr) + Tcl_Interp *interp; /* interpreter handling this registration */ +- char *name; /* symbolic name for procedure */ ++ CONST char *name; /* symbolic name for procedure */ + Tcl_CmdProc **argProcPtr; /* returns (argc,argv) command handler */ + Tcl_ObjCmdProc **objProcPtr; /* returns (objc,objv) command handler */ + ClientData *cDataPtr; /* returns client data */ +diff -Naur insight-6.8.orig/itcl/itcl/generic/itcl_methods.c insight-6.8.new/itcl/itcl/generic/itcl_methods.c +--- insight-6.8.orig/itcl/itcl/generic/itcl_methods.c 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/generic/itcl_methods.c 2008-08-18 18:56:39.000000000 +0200 +@@ -23,7 +23,7 @@ + * mmclennan@lucent.com + * http://www.tcltk.com/itcl + * +- * RCS: $Id: itcl_methods.c,v 1.6 2001/05/22 23:48:58 davygrvy Exp $ ++ * RCS: $Id: itcl_methods.c,v 1.14 2005/02/11 17:15:14 hobbs Exp $ + * ======================================================================== + * Copyright (c) 1993-1998 Lucent Technologies, Inc. + * ------------------------------------------------------------------------ +@@ -294,9 +294,9 @@ + Itcl_CreateMethod(interp, cdefn, name, arglist, body) + Tcl_Interp* interp; /* interpreter managing this action */ + ItclClass *cdefn; /* class definition */ +- char* name; /* name of new method */ +- char* arglist; /* space-separated list of arg names */ +- char* body; /* body of commands for the method */ ++ CONST char* name; /* name of new method */ ++ CONST char* arglist; /* space-separated list of arg names */ ++ CONST char* body; /* body of commands for the method */ + { + ItclMemberFunc *mfunc; + Tcl_DString buffer; +@@ -331,8 +331,8 @@ + name = Tcl_DStringValue(&buffer); + + Itcl_PreserveData((ClientData)mfunc); +- mfunc->accessCmd = Tcl_CreateObjCommand(interp, name, Itcl_ExecMethod, +- (ClientData)mfunc, Itcl_ReleaseData); ++ mfunc->accessCmd = Tcl_CreateObjCommand(interp, (CONST84 char *)name, ++ Itcl_ExecMethod, (ClientData)mfunc, Itcl_ReleaseData); + + Tcl_DStringFree(&buffer); + return TCL_OK; +@@ -345,7 +345,7 @@ + * + * Installs a class proc into the namespace associated with a class. + * If another command with the same name is already installed, then +- * it is overwritten. Returns TCL_OK on success, or TCL_ERROR (along ++ * it is overwritten. Returns TCL_OK on success, or TCL_ERROR (along + * with an error message in the specified interp) if anything goes + * wrong. + * ------------------------------------------------------------------------ +@@ -354,9 +354,9 @@ + Itcl_CreateProc(interp, cdefn, name, arglist, body) + Tcl_Interp* interp; /* interpreter managing this action */ + ItclClass *cdefn; /* class definition */ +- char* name; /* name of new proc */ +- char* arglist; /* space-separated list of arg names */ +- char* body; /* body of commands for the proc */ ++ CONST char* name; /* name of new proc */ ++ CONST char* arglist; /* space-separated list of arg names */ ++ CONST char* body; /* body of commands for the proc */ + { + ItclMemberFunc *mfunc; + Tcl_DString buffer; +@@ -396,8 +396,8 @@ + name = Tcl_DStringValue(&buffer); + + Itcl_PreserveData((ClientData)mfunc); +- mfunc->accessCmd = Tcl_CreateObjCommand(interp, name, Itcl_ExecProc, +- (ClientData)mfunc, Itcl_ReleaseData); ++ mfunc->accessCmd = Tcl_CreateObjCommand(interp, (CONST84 char *)name, ++ Itcl_ExecProc, (ClientData)mfunc, Itcl_ReleaseData); + + Tcl_DStringFree(&buffer); + return TCL_OK; +@@ -423,9 +423,9 @@ + Itcl_CreateMemberFunc(interp, cdefn, name, arglist, body, mfuncPtr) + Tcl_Interp* interp; /* interpreter managing this action */ + ItclClass *cdefn; /* class definition */ +- char* name; /* name of new member */ +- char* arglist; /* space-separated list of arg names */ +- char* body; /* body of commands for the method */ ++ CONST char* name; /* name of new member */ ++ CONST char* arglist; /* space-separated list of arg names */ ++ CONST char* body; /* body of commands for the method */ + ItclMemberFunc** mfuncPtr; /* returns: pointer to new method defn */ + { + int newEntry; +@@ -518,8 +518,8 @@ + Itcl_ChangeMemberFunc(interp, mfunc, arglist, body) + Tcl_Interp* interp; /* interpreter managing this action */ + ItclMemberFunc* mfunc; /* command member being changed */ +- char* arglist; /* space-separated list of arg names */ +- char* body; /* body of commands for the method */ ++ CONST char* arglist; /* space-separated list of arg names */ ++ CONST char* body; /* body of commands for the method */ + { + ItclMemberCode *mcode = NULL; + Tcl_Obj *objPtr; +@@ -579,7 +579,7 @@ + */ + void + Itcl_DeleteMemberFunc(cdata) +- char* cdata; /* pointer to member function definition */ ++ CONST char* cdata; /* pointer to member function definition */ + { + ItclMemberFunc* mfunc = (ItclMemberFunc*)cdata; + +@@ -618,8 +618,8 @@ + Itcl_CreateMemberCode(interp, cdefn, arglist, body, mcodePtr) + Tcl_Interp* interp; /* interpreter managing this action */ + ItclClass *cdefn; /* class containing this member */ +- char* arglist; /* space-separated list of arg names */ +- char* body; /* body of commands for the method */ ++ CONST char* arglist; /* space-separated list of arg names */ ++ CONST char* body; /* body of commands for the method */ + ItclMemberCode** mcodePtr; /* returns: pointer to new implementation */ + { + int argc; +@@ -668,11 +668,12 @@ + procPtr->cmdPtr->nsPtr = (Namespace*)cdefn->namesp; + + if (body) { +- procPtr->bodyPtr = Tcl_NewStringObj(body, -1); +- Tcl_IncrRefCount(procPtr->bodyPtr); ++ procPtr->bodyPtr = Tcl_NewStringObj((CONST84 char *)body, -1); + } else { +- procPtr->bodyPtr = NULL; ++ procPtr->bodyPtr = Tcl_NewStringObj((CONST84 char *)"", -1); ++ mcode->flags |= ITCL_IMPLEMENT_NONE; + } ++ Tcl_IncrRefCount(procPtr->bodyPtr); + + /* + * Plug the argument list into the "compiled locals" list. +@@ -695,7 +696,7 @@ + * as a symbolic name for a C procedure. + */ + if (body == NULL) { +- mcode->flags |= ITCL_IMPLEMENT_NONE; ++ /* No-op */ + } + else if (*body == '@') { + Tcl_CmdProc *argCmdProc; +@@ -745,7 +746,7 @@ + */ + void + Itcl_DeleteMemberCode(cdata) +- char* cdata; /* pointer to member function definition */ ++ CONST char* cdata; /* pointer to member function definition */ + { + ItclMemberCode* mcode = (ItclMemberCode*)cdata; + +@@ -789,15 +790,16 @@ + Tcl_Interp* interp; /* interpreter managing this action */ + ItclMember* member; /* member containing code body */ + { +- ItclMemberCode *mcode = member->code; +- + int result; ++ ItclMemberCode *mcode = member->code; ++ assert(mcode != NULL); + + /* + * If the implementation has not yet been defined, try to + * autoload it now. + */ +- if ((mcode->flags & ITCL_IMPLEMENT_NONE) != 0) { ++ ++ if (!Itcl_IsMemberCodeImplemented(mcode)) { + result = Tcl_VarEval(interp, "::auto_load ", member->fullname, + (char*)NULL); + +@@ -820,8 +822,9 @@ + * the member and look at the current code pointer again. + */ + mcode = member->code; ++ assert(mcode != NULL); + +- if ((mcode->flags & ITCL_IMPLEMENT_NONE) != 0) { ++ if (!Itcl_IsMemberCodeImplemented(mcode)) { + Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), + "member function \"", member->fullname, + "\" is not defined and cannot be autoloaded", +@@ -1003,7 +1006,7 @@ + result = Tcl_EvalObj(interp, mcode->procPtr->bodyPtr); + } + else { +- panic("itcl: bad implementation flag for %s", member->fullname); ++ Tcl_Panic("itcl: bad implementation flag for %s", member->fullname); + } + + /* +@@ -1050,7 +1053,7 @@ + int + Itcl_CreateArgList(interp, decl, argcPtr, argPtr) + Tcl_Interp* interp; /* interpreter managing this function */ +- char* decl; /* string representing argument list */ ++ CONST char* decl; /* string representing argument list */ + int* argcPtr; /* returns number of args in argument list */ + CompiledLocal** argPtr; /* returns pointer to parsed argument list */ + { +@@ -1064,7 +1067,8 @@ + *argcPtr = 0; + + if (decl) { +- if (Tcl_SplitList(interp, decl, &argc, &argv) != TCL_OK) { ++ if (Tcl_SplitList(interp, (CONST84 char *)decl, &argc, &argv) ++ != TCL_OK) { + return TCL_ERROR; + } + +@@ -1142,8 +1146,8 @@ + */ + CompiledLocal* + Itcl_CreateArg(name, init) +- char* name; /* name of new argument */ +- char* init; /* initial value */ ++ CONST char* name; /* name of new argument */ ++ CONST char* init; /* initial value */ + { + CompiledLocal *localPtr = NULL; + int nameLen; +@@ -1164,7 +1168,7 @@ + localPtr->resolveInfo = NULL; + + if (init != NULL) { +- localPtr->defValuePtr = Tcl_NewStringObj(init, -1); ++ localPtr->defValuePtr = Tcl_NewStringObj((CONST84 char *)init, -1); + Tcl_IncrRefCount(localPtr->defValuePtr); + } else { + localPtr->defValuePtr = NULL; +@@ -1338,7 +1342,7 @@ + Tcl_Obj *objPtr; /* returns: string showing usage */ + { + int argcount; +- CONST char *name; ++ char *name; + CompiledLocal *arglist, *argPtr; + Tcl_HashEntry *entry; + ItclMemberFunc *mf; +@@ -1365,25 +1369,22 @@ + Tcl_GetCommandFullName(contextObj->classDefn->interp, + contextObj->classDefn->accessCmd, objPtr); + Tcl_AppendToObj(objPtr, " ", -1); +- name = Tcl_GetCommandName(contextObj->classDefn->interp, +- contextObj->accessCmd); ++ name = (char *) Tcl_GetCommandName( ++ contextObj->classDefn->interp, contextObj->accessCmd); + Tcl_AppendToObj(objPtr, name, -1); + } else { + Tcl_AppendToObj(objPtr, mfunc->member->fullname, -1); + } +- } +- else if (contextObj && contextObj->accessCmd) { +- name = Tcl_GetCommandName(contextObj->classDefn->interp, ++ } else if (contextObj && contextObj->accessCmd) { ++ name = (char *) Tcl_GetCommandName(contextObj->classDefn->interp, + contextObj->accessCmd); + Tcl_AppendStringsToObj(objPtr, name, " ", mfunc->member->name, + (char*)NULL); +- } +- else { ++ } else { + Tcl_AppendStringsToObj(objPtr, " ", mfunc->member->name, + (char*)NULL); + } +- } +- else { ++ } else { + Tcl_AppendToObj(objPtr, mfunc->member->fullname, -1); + } + +@@ -1672,6 +1673,24 @@ + framePtr->numCompiledLocals = localCt; + framePtr->compiledLocals = contextPtr->compiledLocals; + ++ /* ++ * Invoking TclInitCompiledLocals with a framePtr->procPtr->bodyPtr ++ * that is not a compiled byte code type leads to a crash. So ++ * make sure that the body is compiled here. This needs to ++ * be done even if the body of the Itcl method is not implemented ++ * as a Tcl proc or has no implementation. The empty string should ++ * have been defined as the body if no implementation was defined. ++ */ ++ assert(mcode->procPtr->bodyPtr != NULL); ++ ++ result = TclProcCompileProc(interp, mcode->procPtr, ++ mcode->procPtr->bodyPtr, (Namespace*)member->classDefn->namesp, ++ "body for", member->fullname); ++ ++ if (result != TCL_OK) { ++ return result; ++ } ++ + TclInitCompiledLocals(interp, framePtr, + (Namespace*)contextClass->namesp); + } +@@ -1852,12 +1871,12 @@ + argPtr=argPtr->nextPtr, argsLeft--, varPtr++, objv++, objc--) + { + if (!TclIsVarArgument(argPtr)) { +- panic("local variable %s is not argument but should be", ++ Tcl_Panic("local variable %s is not argument but should be", + argPtr->name); + return TCL_ERROR; + } + if (TclIsVarTemporary(argPtr)) { +- panic("local variable is temporary but should be an argument"); ++ Tcl_Panic("local variable is temporary but should be an argument"); + return TCL_ERROR; + } + +@@ -2171,7 +2190,7 @@ + int result = TCL_OK; + + int i; +- char *val; ++ CONST char *val; + Tcl_DString lastval; + ItclContext context; + Tcl_CallFrame *oldFramePtr, *uplevelFramePtr; +@@ -2360,7 +2379,7 @@ + int + Itcl_InvokeMethodIfExists(interp, name, contextClass, contextObj, objc, objv) + Tcl_Interp *interp; /* interpreter */ +- char *name; /* name of desired method */ ++ CONST char *name; /* name of desired method */ + ItclClass *contextClass; /* current class being constructed */ + ItclObject *contextObj; /* object being constructed */ + int objc; /* number of arguments */ +diff -Naur insight-6.8.orig/itcl/itcl/generic/itcl_migrate.c insight-6.8.new/itcl/itcl/generic/itcl_migrate.c +--- insight-6.8.orig/itcl/itcl/generic/itcl_migrate.c 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/generic/itcl_migrate.c 2008-08-18 18:56:39.000000000 +0200 +@@ -12,7 +12,7 @@ + * mmclennan@lucent.com + * http://www.tcltk.com/itcl + * +- * RCS: $Id: itcl_migrate.c,v 1.1 1998/07/27 18:41:47 stanton Exp $ ++ * RCS: $Id: itcl_migrate.c,v 1.2 2003/12/24 01:09:56 davygrvy Exp $ + * ======================================================================== + * Copyright (c) 1993-1998 Lucent Technologies, Inc. + * ------------------------------------------------------------------------ +@@ -49,7 +49,7 @@ + CallFrame *framePtr; + + if (level < 0) { +- panic("itcl: _Tcl_GetCallFrame called with bad number of levels"); ++ Tcl_Panic("itcl: _Tcl_GetCallFrame called with bad number of levels"); + } + + framePtr = iPtr->varFramePtr; +diff -Naur insight-6.8.orig/itcl/itcl/generic/itcl_objects.c insight-6.8.new/itcl/itcl/generic/itcl_objects.c +--- insight-6.8.orig/itcl/itcl/generic/itcl_objects.c 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/generic/itcl_objects.c 2008-08-18 18:56:39.000000000 +0200 +@@ -22,7 +22,7 @@ + * mmclennan@lucent.com + * http://www.tcltk.com/itcl + * +- * RCS: $Id: itcl_objects.c,v 1.5 2001/05/22 15:32:47 davygrvy Exp $ ++ * RCS: $Id: itcl_objects.c,v 1.13 2003/12/23 03:11:04 davygrvy Exp $ + * ======================================================================== + * Copyright (c) 1993-1998 Lucent Technologies, Inc. + * ------------------------------------------------------------------------ +@@ -38,7 +38,7 @@ + ItclObject* obj)); + + static char* ItclTraceThisVar _ANSI_ARGS_((ClientData cdata, +- Tcl_Interp *interp, char *name1, char *name2, int flags)); ++ Tcl_Interp *interp, CONST char *name1, CONST char *name2, int flags)); + + static void ItclDestroyObject _ANSI_ARGS_((ClientData cdata)); + static void ItclFreeObject _ANSI_ARGS_((char* cdata)); +@@ -73,7 +73,7 @@ + int + Itcl_CreateObject(interp, name, cdefn, objc, objv, roPtr) + Tcl_Interp *interp; /* interpreter mananging new object */ +- char* name; /* name of new object */ ++ CONST char* name; /* name of new object */ + ItclClass *cdefn; /* class for new object */ + int objc; /* number of arguments */ + Tcl_Obj *CONST objv[]; /* argument objects */ +@@ -102,8 +102,8 @@ + * only in the current namespace context. Otherwise, we might + * find a global command, but that wouldn't be clobbered! + */ +- cmd = Tcl_FindCommand(interp, name, (Tcl_Namespace*)NULL, +- TCL_NAMESPACE_ONLY); ++ cmd = Tcl_FindCommand(interp, (CONST84 char *)name, ++ (Tcl_Namespace*)NULL, TCL_NAMESPACE_ONLY); + + if (cmd != NULL && !Itcl_IsStub(cmd)) { + Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +@@ -192,7 +192,7 @@ + if (cdPtr == cdefnPtr) { + ItclCreateObjVar(interp, vdefn, newObj); + Tcl_SetVar2(interp, "this", (char*)NULL, "", 0); +- Tcl_TraceVar2(interp, "this", (char*)NULL, ++ Tcl_TraceVar2(interp, "this", NULL, + TCL_TRACE_READS|TCL_TRACE_WRITES, ItclTraceThisVar, + (ClientData)newObj); + } +@@ -490,7 +490,7 @@ + int + Itcl_FindObject(interp, name, roPtr) + Tcl_Interp *interp; /* interpreter containing this object */ +- char *name; /* name of the object */ ++ CONST char *name; /* name of the object */ + ItclObject **roPtr; /* returns: object data or NULL */ + { + Tcl_Namespace *contextNs = NULL; +@@ -522,9 +522,8 @@ + *roPtr = NULL; + } + +- if (cmdName != name) { +- ckfree(cmdName); +- } ++ ckfree(cmdName); ++ + return TCL_OK; + } + +@@ -704,15 +703,15 @@ + * anything goes wrong, this returns NULL. + * ------------------------------------------------------------------------ + */ +-char* ++CONST char* + Itcl_GetInstanceVar(interp, name, contextObj, contextClass) + Tcl_Interp *interp; /* current interpreter */ +- char *name; /* name of desired instance variable */ ++ CONST char *name; /* name of desired instance variable */ + ItclObject *contextObj; /* current object */ + ItclClass *contextClass; /* name is interpreted in this scope */ + { + ItclContext context; +- char *val; ++ CONST char *val; + + /* + * Make sure that the current namespace context includes an +@@ -736,7 +735,8 @@ + return NULL; + } + +- val = Tcl_GetVar2(interp, name, (char*)NULL, TCL_LEAVE_ERR_MSG); ++ val = Tcl_GetVar2(interp, (CONST84 char *)name, (char*)NULL, ++ TCL_LEAVE_ERR_MSG); + Itcl_PopContext(interp, &context); + + return val; +@@ -849,11 +849,11 @@ + /* ARGSUSED */ + static char* + ItclTraceThisVar(cdata, interp, name1, name2, flags) +- ClientData cdata; /* object instance data */ +- Tcl_Interp *interp; /* interpreter managing this variable */ +- char *name1; /* variable name */ +- char *name2; /* unused */ +- int flags; /* flags indicating read/write */ ++ ClientData cdata; /* object instance data */ ++ Tcl_Interp *interp; /* interpreter managing this variable */ ++ CONST char *name1; /* variable name */ ++ CONST char *name2; /* unused */ ++ int flags; /* flags indicating read/write */ + { + ItclObject *contextObj = (ItclObject*)cdata; + char *objName; +@@ -871,8 +871,8 @@ + contextObj->accessCmd, objPtr); + } + +- objName = Tcl_GetStringFromObj(objPtr, (int*)NULL); +- Tcl_SetVar(interp, name1, objName, 0); ++ objName = Tcl_GetString(objPtr); ++ Tcl_SetVar(interp, (CONST84 char *)name1, objName, 0); + + Tcl_DecrRefCount(objPtr); + return NULL; +@@ -1144,7 +1144,7 @@ + int + Itcl_ScopedVarResolver(interp, name, contextNs, flags, rPtr) + Tcl_Interp *interp; /* current interpreter */ +- char *name; /* variable name being resolved */ ++ CONST char *name; /* variable name being resolved */ + Tcl_Namespace *contextNs; /* current namespace context */ + int flags; /* TCL_LEAVE_ERR_MSG => leave error message */ + Tcl_Var *rPtr; /* returns: resolved variable */ +@@ -1175,7 +1175,8 @@ + errs = NULL; + } + +- if (Tcl_SplitList(errs, name, &namec, &namev) != TCL_OK) { ++ if (Tcl_SplitList(errs, (CONST84 char *)name, &namec, &namev) ++ != TCL_OK) { + return TCL_ERROR; + } + if (namec != 3) { +diff -Naur insight-6.8.orig/itcl/itcl/generic/itcl_obsolete.c insight-6.8.new/itcl/itcl/generic/itcl_obsolete.c +--- insight-6.8.orig/itcl/itcl/generic/itcl_obsolete.c 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/generic/itcl_obsolete.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,1953 +0,0 @@ +-/* +- * ------------------------------------------------------------------------ +- * PACKAGE: [incr Tcl] +- * DESCRIPTION: Object-Oriented Extensions to Tcl +- * +- * [incr Tcl] provides object-oriented extensions to Tcl, much as +- * C++ provides object-oriented extensions to C. It provides a means +- * of encapsulating related procedures together with their shared data +- * in a local namespace that is hidden from the outside world. It +- * promotes code re-use through inheritance. More than anything else, +- * it encourages better organization of Tcl applications through the +- * object-oriented paradigm, leading to code that is easier to +- * understand and maintain. +- * +- * Procedures in this file support the old-style syntax for [incr Tcl] +- * class definitions: +- * +- * itcl_class { +- * inherit ... +- * +- * constructor {} { } +- * destructor { } +- * +- * method {} { } +- * proc {} { } +- * +- * public ?? ?? +- * protected ?? +- * common ?? +- * } +- * +- * This capability will be removed in a future release, after users +- * have had a chance to switch over to the new syntax. +- * +- * ======================================================================== +- * AUTHOR: Michael J. McLennan +- * Bell Labs Innovations for Lucent Technologies +- * mmclennan@lucent.com +- * http://www.tcltk.com/itcl +- * +- * RCS: $Id: itcl_obsolete.c,v 1.1 1998/07/27 18:41:48 stanton Exp $ +- * ======================================================================== +- * Copyright (c) 1993-1998 Lucent Technologies, Inc. +- * ------------------------------------------------------------------------ +- * See the file "license.terms" for information on usage and redistribution +- * of this file, and for a DISCLAIMER OF ALL WARRANTIES. +- */ +-#include "itclInt.h" +- +-/* +- * FORWARD DECLARATIONS +- */ +-static int ItclOldClassCmd _ANSI_ARGS_((ClientData cdata, +- Tcl_Interp *interp, int objc, Tcl_Obj* CONST objv[])); +- +-static int ItclOldMethodCmd _ANSI_ARGS_((ClientData cdata, +- Tcl_Interp *interp, int objc, Tcl_Obj* CONST objv[])); +-static int ItclOldPublicCmd _ANSI_ARGS_((ClientData cdata, +- Tcl_Interp *interp, int objc, Tcl_Obj* CONST objv[])); +-static int ItclOldProtectedCmd _ANSI_ARGS_((ClientData cdata, +- Tcl_Interp *interp, int objc, Tcl_Obj* CONST objv[])); +-static int ItclOldCommonCmd _ANSI_ARGS_((ClientData cdata, +- Tcl_Interp *interp, int objc, Tcl_Obj* CONST objv[])); +- +-static int ItclOldBiDeleteCmd _ANSI_ARGS_((ClientData cdata, +- Tcl_Interp *interp, int objc, Tcl_Obj* CONST objv[])); +-static int ItclOldBiVirtualCmd _ANSI_ARGS_((ClientData cdata, +- Tcl_Interp *interp, int objc, Tcl_Obj* CONST objv[])); +-static int ItclOldBiPreviousCmd _ANSI_ARGS_((ClientData cdata, +- Tcl_Interp *interp, int objc, Tcl_Obj* CONST objv[])); +- +-static int ItclOldBiInfoMethodsCmd _ANSI_ARGS_((ClientData cdata, +- Tcl_Interp *interp, int objc, Tcl_Obj* CONST objv[])); +-static int ItclOldBiInfoProcsCmd _ANSI_ARGS_((ClientData cdata, +- Tcl_Interp *interp, int objc, Tcl_Obj* CONST objv[])); +-static int ItclOldBiInfoPublicsCmd _ANSI_ARGS_((ClientData cdata, +- Tcl_Interp *interp, int objc, Tcl_Obj* CONST objv[])); +-static int ItclOldBiInfoProtectedsCmd _ANSI_ARGS_((ClientData cdata, +- Tcl_Interp *interp, int objc, Tcl_Obj* CONST objv[])); +-static int ItclOldBiInfoCommonsCmd _ANSI_ARGS_((ClientData cdata, +- Tcl_Interp *interp, int objc, Tcl_Obj* CONST objv[])); +- +- +-/* +- * Standard list of built-in methods for old-style objects. +- */ +-typedef struct BiMethod { +- char* name; /* method name */ +- char* usage; /* string describing usage */ +- char* registration; /* registration name for C proc */ +- Tcl_ObjCmdProc *proc; /* implementation C proc */ +-} BiMethod; +- +-static BiMethod BiMethodList[] = { +- { "cget", "-option", +- "@itcl-oldstyle-cget", Itcl_BiCgetCmd }, +- { "configure", "?-option? ?value -option value...?", +- "@itcl-oldstyle-configure", Itcl_BiConfigureCmd }, +- { "delete", "", +- "@itcl-oldstyle-delete", ItclOldBiDeleteCmd }, +- { "isa", "className", +- "@itcl-oldstyle-isa", Itcl_BiIsaCmd }, +-}; +-static int BiMethodListLen = sizeof(BiMethodList)/sizeof(BiMethod); +- +- +-/* +- * ------------------------------------------------------------------------ +- * Itcl_OldInit() +- * +- * Invoked by Itcl_Init() whenever a new interpeter is created to add +- * [incr Tcl] facilities. Adds the commands needed for backward +- * compatibility with previous releases of [incr Tcl]. +- * ------------------------------------------------------------------------ +- */ +-int +-Itcl_OldInit(interp,info) +- Tcl_Interp *interp; /* interpreter to be updated */ +- ItclObjectInfo *info; /* info regarding all known objects */ +-{ +- int i; +- Tcl_Namespace *parserNs, *oldBiNs; +- +- /* +- * Declare all of the old-style built-in methods as C procedures. +- */ +- for (i=0; i < BiMethodListLen; i++) { +- if (Itcl_RegisterObjC(interp, +- BiMethodList[i].registration+1, BiMethodList[i].proc, +- (ClientData)NULL, (Tcl_CmdDeleteProc*)NULL) != TCL_OK) { +- +- return TCL_ERROR; +- } +- } +- +- /* +- * Create the "itcl::old-parser" namespace for backward +- * compatibility, to handle the old-style class definitions. +- */ +- parserNs = Tcl_CreateNamespace(interp, "::itcl::old-parser", +- (ClientData)info, Itcl_ReleaseData); +- +- if (!parserNs) { +- Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +- " (cannot initialize itcl old-style parser)", +- (char*)NULL); +- return TCL_ERROR; +- } +- Itcl_PreserveData((ClientData)info); +- +- /* +- * Add commands for parsing old-style class definitions. +- */ +- Tcl_CreateObjCommand(interp, "::itcl::old-parser::inherit", +- Itcl_ClassInheritCmd, (ClientData)info, (Tcl_CmdDeleteProc*)NULL); +- +- Tcl_CreateObjCommand(interp, "::itcl::old-parser::constructor", +- Itcl_ClassConstructorCmd, (ClientData)info, (Tcl_CmdDeleteProc*)NULL); +- +- Tcl_CreateObjCommand(interp, "::itcl::old-parser::destructor", +- Itcl_ClassDestructorCmd, (ClientData)info, (Tcl_CmdDeleteProc*)NULL); +- +- Tcl_CreateObjCommand(interp, "::itcl::old-parser::method", +- ItclOldMethodCmd, (ClientData)info, (Tcl_CmdDeleteProc*)NULL); +- +- Tcl_CreateObjCommand(interp, "::itcl::old-parser::proc", +- Itcl_ClassProcCmd, (ClientData)info, (Tcl_CmdDeleteProc*)NULL); +- +- Tcl_CreateObjCommand(interp, "::itcl::old-parser::public", +- ItclOldPublicCmd, (ClientData)info, (Tcl_CmdDeleteProc*)NULL); +- +- Tcl_CreateObjCommand(interp, "::itcl::old-parser::protected", +- ItclOldProtectedCmd, (ClientData)info, (Tcl_CmdDeleteProc*)NULL); +- +- Tcl_CreateObjCommand(interp, "::itcl::old-parser::common", +- ItclOldCommonCmd, (ClientData)info, (Tcl_CmdDeleteProc*)NULL); +- +- /* +- * Set the runtime variable resolver for the parser namespace, +- * to control access to "common" data members while parsing +- * the class definition. +- */ +- Tcl_SetNamespaceResolvers(parserNs, (Tcl_ResolveCmdProc*)NULL, +- Itcl_ParseVarResolver, (Tcl_ResolveCompiledVarProc*)NULL); +- +- /* +- * Create the "itcl::old-builtin" namespace for backward +- * compatibility with the old-style built-in commands. +- */ +- Tcl_CreateObjCommand(interp, "::itcl::old-builtin::virtual", +- ItclOldBiVirtualCmd, (ClientData)NULL, (Tcl_CmdDeleteProc*)NULL); +- +- Tcl_CreateObjCommand(interp, "::itcl::old-builtin::previous", +- ItclOldBiPreviousCmd, (ClientData)NULL, (Tcl_CmdDeleteProc*)NULL); +- +- if (Itcl_CreateEnsemble(interp, "::itcl::old-builtin::info") != TCL_OK) { +- return TCL_ERROR; +- } +- +- if (Itcl_AddEnsemblePart(interp, "::itcl::old-builtin::info", +- "class", "", Itcl_BiInfoClassCmd, +- (ClientData)NULL, (Tcl_CmdDeleteProc*)NULL) +- != TCL_OK || +- +- Itcl_AddEnsemblePart(interp, "::itcl::old-builtin::info", +- "inherit", "", Itcl_BiInfoInheritCmd, +- (ClientData)NULL, (Tcl_CmdDeleteProc*)NULL) +- != TCL_OK || +- +- Itcl_AddEnsemblePart(interp, "::itcl::old-builtin::info", +- "heritage", "", Itcl_BiInfoHeritageCmd, +- (ClientData)NULL, (Tcl_CmdDeleteProc*)NULL) +- != TCL_OK || +- +- Itcl_AddEnsemblePart(interp, "::itcl::old-builtin::info", +- "method", "?methodName? ?-args? ?-body?", +- ItclOldBiInfoMethodsCmd, +- (ClientData)NULL, (Tcl_CmdDeleteProc*)NULL) +- != TCL_OK || +- +- Itcl_AddEnsemblePart(interp, "::itcl::old-builtin::info", +- "proc", "?procName? ?-args? ?-body?", +- ItclOldBiInfoProcsCmd, +- (ClientData)NULL, (Tcl_CmdDeleteProc*)NULL) +- != TCL_OK || +- +- Itcl_AddEnsemblePart(interp, "::itcl::old-builtin::info", +- "public", "?varName? ?-init? ?-value? ?-config?", +- ItclOldBiInfoPublicsCmd, +- (ClientData)NULL, (Tcl_CmdDeleteProc*)NULL) +- != TCL_OK || +- +- Itcl_AddEnsemblePart(interp, "::itcl::old-builtin::info", +- "protected", "?varName? ?-init? ?-value?", +- ItclOldBiInfoProtectedsCmd, +- (ClientData)NULL,(Tcl_CmdDeleteProc*)NULL) +- != TCL_OK || +- +- Itcl_AddEnsemblePart(interp, "::itcl::old-builtin::info", +- "common", "?varName? ?-init? ?-value?", +- ItclOldBiInfoCommonsCmd, +- (ClientData)NULL,(Tcl_CmdDeleteProc*)NULL) +- != TCL_OK || +- +- Itcl_AddEnsemblePart(interp, "::itcl::old-builtin::info", +- "args", "procname", Itcl_BiInfoArgsCmd, +- (ClientData)NULL, (Tcl_CmdDeleteProc*)NULL) +- != TCL_OK || +- +- Itcl_AddEnsemblePart(interp, "::itcl::old-builtin::info", +- "body", "procname", Itcl_BiInfoBodyCmd, +- (ClientData)NULL, (Tcl_CmdDeleteProc*)NULL) +- != TCL_OK +- ) { +- return TCL_ERROR; +- } +- +- /* +- * Plug in an "@error" handler to handle other options from +- * the usual info command. +- */ +- if (Itcl_AddEnsemblePart(interp, "::itcl::old-builtin::info", +- "@error", (char*)NULL, Itcl_DefaultInfoCmd, +- (ClientData)NULL, (Tcl_CmdDeleteProc*)NULL) +- != TCL_OK +- ) { +- return TCL_ERROR; +- } +- +- oldBiNs = Tcl_FindNamespace(interp, "::itcl::old-builtin", +- (Tcl_Namespace*)NULL, TCL_LEAVE_ERR_MSG); +- +- if (!oldBiNs || +- Tcl_Export(interp, oldBiNs, "*", /* resetListFirst */ 1) != TCL_OK) { +- return TCL_ERROR; +- } +- +- /* +- * Install the "itcl_class" and "itcl_info" commands into +- * the global scope. This supports the old syntax for +- * backward compatibility. +- */ +- Tcl_CreateObjCommand(interp, "::itcl_class", ItclOldClassCmd, +- (ClientData)info, Itcl_ReleaseData); +- Itcl_PreserveData((ClientData)info); +- +- +- if (Itcl_CreateEnsemble(interp, "::itcl_info") != TCL_OK) { +- return TCL_ERROR; +- } +- +- if (Itcl_AddEnsemblePart(interp, "::itcl_info", +- "classes", "?pattern?", +- Itcl_FindClassesCmd, (ClientData)info, Itcl_ReleaseData) +- != TCL_OK) { +- return TCL_ERROR; +- } +- Itcl_PreserveData((ClientData)info); +- +- if (Itcl_AddEnsemblePart(interp, "::itcl_info", +- "objects", "?-class className? ?-isa className? ?pattern?", +- Itcl_FindObjectsCmd, (ClientData)info, Itcl_ReleaseData) +- != TCL_OK) { +- return TCL_ERROR; +- } +- Itcl_PreserveData((ClientData)info); +- +- return TCL_OK; +-} +- +- +-/* +- * ------------------------------------------------------------------------ +- * Itcl_InstallOldBiMethods() +- * +- * Invoked when a class is first created, just after the class +- * definition has been parsed, to add definitions for built-in +- * methods to the class. If a method already exists in the class +- * with the same name as the built-in, then the built-in is skipped. +- * Otherwise, a method definition for the built-in method is added. +- * +- * Returns TCL_OK if successful, or TCL_ERROR (along with an error +- * message in the interpreter) if anything goes wrong. +- * ------------------------------------------------------------------------ +- */ +-int +-Itcl_InstallOldBiMethods(interp, cdefn) +- Tcl_Interp *interp; /* current interpreter */ +- ItclClass *cdefn; /* class definition to be updated */ +-{ +- int result = TCL_OK; +- +- int i; +- ItclHierIter hier; +- ItclClass *cdPtr; +- Tcl_HashEntry *entry; +- +- /* +- * Scan through all of the built-in methods and see if +- * that method already exists in the class. If not, add +- * it in. +- * +- * TRICKY NOTE: The virtual tables haven't been built yet, +- * so look for existing methods the hard way--by scanning +- * through all classes. +- */ +- for (i=0; i < BiMethodListLen; i++) { +- Itcl_InitHierIter(&hier, cdefn); +- cdPtr = Itcl_AdvanceHierIter(&hier); +- +- entry = NULL; +- while (cdPtr) { +- entry = Tcl_FindHashEntry(&cdPtr->functions, BiMethodList[i].name); +- if (entry) { +- break; +- } +- cdPtr = Itcl_AdvanceHierIter(&hier); +- } +- Itcl_DeleteHierIter(&hier); +- +- if (!entry) { +- result = Itcl_CreateMethod(interp, cdefn, BiMethodList[i].name, +- BiMethodList[i].usage, BiMethodList[i].registration); +- +- if (result != TCL_OK) { +- break; +- } +- } +- } +- return result; +-} +- +- +-/* +- * ------------------------------------------------------------------------ +- * ItclOldClassCmd() +- * +- * Invoked by Tcl whenever the user issues a "itcl_class" command to +- * specify a class definition. Handles the following syntax: +- * +- * itcl_class { +- * inherit ... +- * +- * constructor {} { } +- * destructor { } +- * +- * method {} { } +- * proc {} { } +- * +- * public ?? ?? +- * protected ?? +- * common ?? +- * } +- * +- * NOTE: This command is will only be provided for a limited time, +- * to support backward compatibility with the old-style +- * [incr Tcl] syntax. Users should convert their scripts +- * to use the newer syntax (Itcl_ClassCmd()) as soon as possible. +- * +- * ------------------------------------------------------------------------ +- */ +-static int +-ItclOldClassCmd(clientData, interp, objc, objv) +- ClientData clientData; /* info for all known objects */ +- Tcl_Interp *interp; /* current interpreter */ +- int objc; /* number of arguments */ +- Tcl_Obj *CONST objv[]; /* argument objects */ +-{ +- ItclObjectInfo* info = (ItclObjectInfo*)clientData; +- +- int result; +- char *className; +- Tcl_Namespace *parserNs; +- ItclClass *cdefnPtr; +- Tcl_HashEntry* entry; +- ItclMemberFunc *mfunc; +- Tcl_CallFrame frame; +- +- if (objc != 3) { +- Tcl_WrongNumArgs(interp, 1, objv, "name { definition }"); +- return TCL_ERROR; +- } +- className = Tcl_GetStringFromObj(objv[1], (int*)NULL); +- +- /* +- * Find the namespace to use as a parser for the class definition. +- * If for some reason it is destroyed, bail out here. +- */ +- parserNs = Tcl_FindNamespace(interp, "::itcl::old-parser", +- (Tcl_Namespace*)NULL, TCL_LEAVE_ERR_MSG); +- +- if (parserNs == NULL) { +- char msg[256]; +- sprintf(msg, "\n (while parsing class definition for \"%.100s\")", +- className); +- Tcl_AddErrorInfo(interp, msg); +- return TCL_ERROR; +- } +- +- /* +- * Try to create the specified class and its namespace. +- */ +- if (Itcl_CreateClass(interp, className, info, &cdefnPtr) != TCL_OK) { +- return TCL_ERROR; +- } +- cdefnPtr->flags |= ITCL_OLD_STYLE; +- +- /* +- * Import the built-in commands from the itcl::old-builtin +- * and itcl::builtin namespaces. Do this before parsing the +- * class definition, so methods/procs can override the built-in +- * commands. +- */ +- result = Tcl_Import(interp, cdefnPtr->namesp, "::itcl::builtin::*", +- /* allowOverwrite */ 1); +- +- if (result == TCL_OK) { +- result = Tcl_Import(interp, cdefnPtr->namesp, "::itcl::old-builtin::*", +- /* allowOverwrite */ 1); +- } +- +- if (result != TCL_OK) { +- char msg[256]; +- sprintf(msg, "\n (while installing built-in commands for class \"%.100s\")", className); +- Tcl_AddErrorInfo(interp, msg); +- +- Tcl_DeleteNamespace(cdefnPtr->namesp); +- return TCL_ERROR; +- } +- +- /* +- * Push this class onto the class definition stack so that it +- * becomes the current context for all commands in the parser. +- * Activate the parser and evaluate the class definition. +- */ +- Itcl_PushStack((ClientData)cdefnPtr, &info->cdefnStack); +- +- result = Tcl_PushCallFrame(interp, &frame, parserNs, +- /* isProcCallFrame */ 0); +- +- if (result == TCL_OK) { +- result = Tcl_EvalObj(interp, objv[2]); +- Tcl_PopCallFrame(interp); +- } +- Itcl_PopStack(&info->cdefnStack); +- +- if (result != TCL_OK) { +- char msg[256]; +- sprintf(msg, "\n (class \"%.200s\" body line %d)", +- className, interp->errorLine); +- Tcl_AddErrorInfo(interp, msg); +- +- Tcl_DeleteNamespace(cdefnPtr->namesp); +- return TCL_ERROR; +- } +- +- /* +- * At this point, parsing of the class definition has succeeded. +- * Add built-in methods such as "configure" and "cget"--as long +- * as they don't conflict with those defined in the class. +- */ +- if (Itcl_InstallOldBiMethods(interp, cdefnPtr) != TCL_OK) { +- Tcl_DeleteNamespace(cdefnPtr->namesp); +- return TCL_ERROR; +- } +- +- /* +- * See if this class has a "constructor", and if it does, mark +- * it as "old-style". This will allow the "config" argument +- * to work. +- */ +- entry = Tcl_FindHashEntry(&cdefnPtr->functions, "constructor"); +- if (entry) { +- mfunc = (ItclMemberFunc*)Tcl_GetHashValue(entry); +- mfunc->member->flags |= ITCL_OLD_STYLE; +- } +- +- /* +- * Build the virtual tables for this class. +- */ +- Itcl_BuildVirtualTables(cdefnPtr); +- +- Tcl_ResetResult(interp); +- return TCL_OK; +-} +- +- +-/* +- * ------------------------------------------------------------------------ +- * ItclOldMethodCmd() +- * +- * Invoked by Tcl during the parsing of a class definition whenever +- * the "method" command is invoked to define an object method. +- * Handles the following syntax: +- * +- * method {} {} +- * +- * ------------------------------------------------------------------------ +- */ +-static int +-ItclOldMethodCmd(clientData, interp, objc, objv) +- ClientData clientData; /* info for all known objects */ +- Tcl_Interp *interp; /* current interpreter */ +- int objc; /* number of arguments */ +- Tcl_Obj *CONST objv[]; /* argument objects */ +-{ +- ItclObjectInfo *info = (ItclObjectInfo*)clientData; +- ItclClass *cdefn = (ItclClass*)Itcl_PeekStack(&info->cdefnStack); +- +- char *name, *arglist, *body; +- Tcl_HashEntry *entry; +- ItclMemberFunc *mfunc; +- +- if (objc != 4) { +- Tcl_WrongNumArgs(interp, 1, objv, "name args body"); +- return TCL_ERROR; +- } +- +- name = Tcl_GetStringFromObj(objv[1], (int*)NULL); +- if (Tcl_FindHashEntry(&cdefn->functions, name)) { +- Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +- "\"", name, "\" already defined in class \"", cdefn->name, "\"", +- (char*)NULL); +- return TCL_ERROR; +- } +- +- arglist = Tcl_GetStringFromObj(objv[2], (int*)NULL); +- body = Tcl_GetStringFromObj(objv[3], (int*)NULL); +- +- if (Itcl_CreateMethod(interp, cdefn, name, arglist, body) != TCL_OK) { +- return TCL_ERROR; +- } +- +- /* +- * Find the method that was just created and mark it as an +- * "old-style" method, so that the magic "config" argument +- * will be allowed to work. This is done for backward- +- * compatibility with earlier releases. In the latest version, +- * use of the "config" argument is discouraged. +- */ +- entry = Tcl_FindHashEntry(&cdefn->functions, name); +- if (entry) { +- mfunc = (ItclMemberFunc*)Tcl_GetHashValue(entry); +- mfunc->member->flags |= ITCL_OLD_STYLE; +- } +- +- return TCL_OK; +-} +- +- +-/* +- * ------------------------------------------------------------------------ +- * ItclOldPublicCmd() +- * +- * Invoked by Tcl during the parsing of a class definition whenever +- * the "public" command is invoked to define a public variable. +- * Handles the following syntax: +- * +- * public ?? ?? +- * +- * ------------------------------------------------------------------------ +- */ +-static int +-ItclOldPublicCmd(clientData, interp, objc, objv) +- ClientData clientData; /* info for all known objects */ +- Tcl_Interp *interp; /* current interpreter */ +- int objc; /* number of arguments */ +- Tcl_Obj *CONST objv[]; /* argument objects */ +-{ +- ItclObjectInfo *info = (ItclObjectInfo*)clientData; +- ItclClass *cdefnPtr = (ItclClass*)Itcl_PeekStack(&info->cdefnStack); +- +- char *name, *init, *config; +- ItclVarDefn *vdefn; +- +- if ((objc < 2) || (objc > 4)) { +- Tcl_WrongNumArgs(interp, 1, objv, "varname ?init? ?config?"); +- return TCL_ERROR; +- } +- +- /* +- * Make sure that the variable name does not contain anything +- * goofy like a "::" scope qualifier. +- */ +- name = Tcl_GetStringFromObj(objv[1], (int*)NULL); +- if (strstr(name, "::")) { +- Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +- "bad variable name \"", name, "\"", +- (char*)NULL); +- return TCL_ERROR; +- } +- +- init = NULL; +- config = NULL; +- if (objc >= 3) { +- init = Tcl_GetStringFromObj(objv[2], (int*)NULL); +- } +- if (objc >= 4) { +- config = Tcl_GetStringFromObj(objv[3], (int*)NULL); +- } +- +- if (Itcl_CreateVarDefn(interp, cdefnPtr, name, init, config, +- &vdefn) != TCL_OK) { +- +- return TCL_ERROR; +- } +- +- vdefn->member->protection = ITCL_PUBLIC; +- +- return TCL_OK; +-} +- +-/* +- * ------------------------------------------------------------------------ +- * ItclOldProtectedCmd() +- * +- * Invoked by Tcl during the parsing of a class definition whenever +- * the "protected" command is invoked to define a protected variable. +- * Handles the following syntax: +- * +- * protected ?? +- * +- * ------------------------------------------------------------------------ +- */ +-static int +-ItclOldProtectedCmd(clientData, interp, objc, objv) +- ClientData clientData; /* info for all known objects */ +- Tcl_Interp *interp; /* current interpreter */ +- int objc; /* number of arguments */ +- Tcl_Obj *CONST objv[]; /* argument objects */ +-{ +- ItclObjectInfo *info = (ItclObjectInfo*)clientData; +- ItclClass *cdefnPtr = (ItclClass*)Itcl_PeekStack(&info->cdefnStack); +- +- char *name, *init; +- ItclVarDefn *vdefn; +- +- if ((objc < 2) || (objc > 3)) { +- Tcl_WrongNumArgs(interp, 1, objv, "varname ?init?"); +- return TCL_ERROR; +- } +- +- /* +- * Make sure that the variable name does not contain anything +- * goofy like a "::" scope qualifier. +- */ +- name = Tcl_GetStringFromObj(objv[1], (int*)NULL); +- if (strstr(name, "::")) { +- Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +- "bad variable name \"", name, "\"", +- (char*)NULL); +- return TCL_ERROR; +- } +- +- if (objc == 3) { +- init = Tcl_GetStringFromObj(objv[2], (int*)NULL); +- } else { +- init = NULL; +- } +- +- if (Itcl_CreateVarDefn(interp, cdefnPtr, name, init, (char*)NULL, +- &vdefn) != TCL_OK) { +- +- return TCL_ERROR; +- } +- +- vdefn->member->protection = ITCL_PROTECTED; +- +- return TCL_OK; +-} +- +-/* +- * ------------------------------------------------------------------------ +- * ItclOldCommonCmd() +- * +- * Invoked by Tcl during the parsing of a class definition whenever +- * the "common" command is invoked to define a variable that is +- * common to all objects in the class. Handles the following syntax: +- * +- * common ?? +- * +- * ------------------------------------------------------------------------ +- */ +-static int +-ItclOldCommonCmd(clientData, interp, objc, objv) +- ClientData clientData; /* info for all known objects */ +- Tcl_Interp *interp; /* current interpreter */ +- int objc; /* number of arguments */ +- Tcl_Obj *CONST objv[]; /* argument objects */ +-{ +- ItclObjectInfo *info = (ItclObjectInfo*)clientData; +- ItclClass *cdefnPtr = (ItclClass*)Itcl_PeekStack(&info->cdefnStack); +- +- int newEntry; +- char *name, *init; +- ItclVarDefn *vdefn; +- Tcl_HashEntry *entry; +- Namespace *nsPtr; +- Var *varPtr; +- +- if ((objc < 2) || (objc > 3)) { +- Tcl_WrongNumArgs(interp, 1, objv, "varname ?init?"); +- return TCL_ERROR; +- } +- +- /* +- * Make sure that the variable name does not contain anything +- * goofy like a "::" scope qualifier. +- */ +- name = Tcl_GetStringFromObj(objv[1], (int*)NULL); +- if (strstr(name, "::")) { +- Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +- "bad variable name \"", name, "\"", +- (char*)NULL); +- return TCL_ERROR; +- } +- +- if (objc == 3) { +- init = Tcl_GetStringFromObj(objv[2], (int*)NULL); +- } else { +- init = NULL; +- } +- +- if (Itcl_CreateVarDefn(interp, cdefnPtr, name, init, (char*)NULL, +- &vdefn) != TCL_OK) { +- +- return TCL_ERROR; +- } +- +- vdefn->member->protection = ITCL_PROTECTED; +- vdefn->member->flags |= ITCL_COMMON; +- +- /* +- * Create the variable in the namespace associated with the +- * class. Do this the hard way, to avoid the variable resolver +- * procedures. These procedures won't work until we rebuild +- * the virtual tables below. +- */ +- nsPtr = (Namespace*)cdefnPtr->namesp; +- entry = Tcl_CreateHashEntry(&nsPtr->varTable, +- vdefn->member->name, &newEntry); +- +- varPtr = _TclNewVar(); +- varPtr->hPtr = entry; +- varPtr->nsPtr = nsPtr; +- varPtr->refCount++; /* protect from being deleted */ +- +- Tcl_SetHashValue(entry, varPtr); +- +- /* +- * TRICKY NOTE: Make sure to rebuild the virtual tables for this +- * class so that this variable is ready to access. The variable +- * resolver for the parser namespace needs this info to find the +- * variable if the developer tries to set it within the class +- * definition. +- * +- * If an initialization value was specified, then initialize +- * the variable now. +- */ +- Itcl_BuildVirtualTables(cdefnPtr); +- +- if (init) { +- init = Tcl_SetVar(interp, vdefn->member->name, init, +- TCL_NAMESPACE_ONLY); +- +- if (!init) { +- Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +- "cannot initialize common variable \"", +- vdefn->member->name, "\"", +- (char*)NULL); +- return TCL_ERROR; +- } +- } +- return TCL_OK; +-} +- +- +-/* +- * ------------------------------------------------------------------------ +- * ItclOldDeleteCmd() +- * +- * Invokes the destructors, and deletes the object that invoked this +- * operation. If an error is encountered during destruction, the +- * delete operation is aborted. Handles the following syntax: +- * +- * delete +- * +- * When an object is successfully deleted, it is removed from the +- * list of known objects, and its access command is deleted. +- * ------------------------------------------------------------------------ +- */ +-/* ARGSUSED */ +-static int +-ItclOldBiDeleteCmd(dummy, interp, objc, objv) +- ClientData dummy; /* not used */ +- Tcl_Interp *interp; /* current interpreter */ +- int objc; /* number of arguments */ +- Tcl_Obj *CONST objv[]; /* argument objects */ +-{ +- ItclClass *contextClass; +- ItclObject *contextObj; +- +- if (objc != 1) { +- Tcl_WrongNumArgs(interp, 1, objv, ""); +- return TCL_ERROR; +- } +- +- /* +- * If there is an object context, then destruct the object +- * and delete it. +- */ +- if (Itcl_GetContext(interp, &contextClass, &contextObj) != TCL_OK) { +- return TCL_ERROR; +- } +- +- if (!contextObj) { +- Tcl_SetResult(interp, "improper usage: should be \"object delete\"", +- TCL_STATIC); +- return TCL_ERROR; +- } +- +- if (Itcl_DeleteObject(interp, contextObj) != TCL_OK) { +- return TCL_ERROR; +- } +- +- Tcl_ResetResult(interp); +- return TCL_OK; +-} +- +- +-/* +- * ------------------------------------------------------------------------ +- * ItclOldVirtualCmd() +- * +- * Executes the remainder of its command line arguments in the +- * most-specific class scope for the current object. If there is +- * no object context, this fails. +- * +- * NOTE: All methods are now implicitly virtual, and there are +- * much better ways to manipulate scope. This command is only +- * provided for backward-compatibility, and should be avoided. +- * +- * Returns a status TCL_OK/TCL_ERROR to indicate success/failure. +- * ------------------------------------------------------------------------ +- */ +-/* ARGSUSED */ +-static int +-ItclOldBiVirtualCmd(dummy, interp, objc, objv) +- ClientData dummy; /* not used */ +- Tcl_Interp *interp; /* current interpreter */ +- int objc; /* number of arguments */ +- Tcl_Obj *CONST objv[]; /* argument objects */ +-{ +- int result; +- ItclClass *contextClass; +- ItclObject *contextObj; +- ItclContext context; +- +- if (objc == 1) { +- Tcl_WrongNumArgs(interp, 1, objv, "command ?args...?"); +- Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +- "\n This command will be removed soon.", +- "\n Commands are now virtual by default.", +- (char*)NULL); +- return TCL_ERROR; +- } +- +- /* +- * If there is no object context, then return an error. +- */ +- if (Itcl_GetContext(interp, &contextClass, &contextObj) != TCL_OK) { +- return TCL_ERROR; +- } +- if (!contextObj) { +- Tcl_ResetResult(interp); +- Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +- "cannot use \"virtual\" without an object context\n", +- " This command will be removed soon.\n", +- " Commands are now virtual by default.", +- (char*)NULL); +- return TCL_ERROR; +- } +- +- /* +- * Install the most-specific namespace for this object, with +- * the object context as clientData. Invoke the rest of the +- * args as a command in that namespace. +- */ +- if (Itcl_PushContext(interp, (ItclMember*)NULL, contextObj->classDefn, +- contextObj, &context) != TCL_OK) { +- +- return TCL_ERROR; +- } +- +- result = Itcl_EvalArgs(interp, objc-1, objv+1); +- Itcl_PopContext(interp, &context); +- +- return result; +-} +- +- +-/* +- * ------------------------------------------------------------------------ +- * ItclOldPreviousCmd() +- * +- * Executes the remainder of its command line arguments in the +- * previous class scope (i.e., the next scope up in the heritage +- * list). +- * +- * NOTE: There are much better ways to manipulate scope. This +- * command is only provided for backward-compatibility, and should +- * be avoided. +- * +- * Returns a status TCL_OK/TCL_ERROR to indicate success/failure. +- * ------------------------------------------------------------------------ +- */ +-/* ARGSUSED */ +-static int +-ItclOldBiPreviousCmd(dummy, interp, objc, objv) +- ClientData dummy; /* not used */ +- Tcl_Interp *interp; /* current interpreter */ +- int objc; /* number of arguments */ +- Tcl_Obj *CONST objv[]; /* argument objects */ +-{ +- int result; +- char *name; +- ItclClass *contextClass, *base; +- ItclObject *contextObj; +- ItclMember *member; +- ItclMemberFunc *mfunc; +- Itcl_ListElem *elem; +- Tcl_HashEntry *entry; +- +- if (objc < 2) { +- Tcl_WrongNumArgs(interp, 1, objv, "command ?args...?"); +- return TCL_ERROR; +- } +- +- /* +- * If the current context is not a class namespace, +- * return an error. +- */ +- if (Itcl_GetContext(interp, &contextClass, &contextObj) != TCL_OK) { +- return TCL_ERROR; +- } +- +- /* +- * Get the heritage information for this class and move one +- * level up in the hierarchy. If there is no base class, +- * return an error. +- */ +- elem = Itcl_FirstListElem(&contextClass->bases); +- if (!elem) { +- Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +- "no previous class in inheritance hierarchy for \"", +- contextClass->name, "\"", +- (char*)NULL); +- return TCL_ERROR; +- } +- base = (ItclClass*)Itcl_GetListValue(elem); +- +- /* +- * Look in the command resolution table for the base class +- * to find the desired method. +- */ +- name = Tcl_GetStringFromObj(objv[1], (int*)NULL); +- entry = Tcl_FindHashEntry(&base->resolveCmds, name); +- if (!entry) { +- Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +- "invalid command name \"", base->name, "::", name, "\"", +- (char*)NULL); +- return TCL_ERROR; +- } +- +- mfunc = (ItclMemberFunc*)Tcl_GetHashValue(entry); +- member = mfunc->member; +- +- /* +- * Make sure that this method is accessible. +- */ +- if (mfunc->member->protection != ITCL_PUBLIC) { +- Tcl_Namespace *contextNs = Itcl_GetTrueNamespace(interp, +- member->classDefn->info); +- +- if (!Itcl_CanAccessFunc(mfunc, contextNs)) { +- Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +- "can't access \"", member->fullname, "\": ", +- Itcl_ProtectionStr(member->protection), " function", +- (char*)NULL); +- return TCL_ERROR; +- } +- } +- +- /* +- * Invoke the desired method by calling Itcl_EvalMemberCode. +- * directly. This bypasses the virtual behavior built into +- * the usual Itcl_ExecMethod handler. +- */ +- result = Itcl_EvalMemberCode(interp, mfunc, member, contextObj, +- objc-1, objv+1); +- +- result = Itcl_ReportFuncErrors(interp, mfunc, contextObj, result); +- +- return result; +-} +- +- +-/* +- * ------------------------------------------------------------------------ +- * ItclOldBiInfoMethodsCmd() +- * +- * Returns information regarding methods for an object. This command +- * can be invoked with or without an object context: +- * +- * info... <= returns info for most-specific class +- * info... <= returns info for active namespace +- * +- * Handles the following syntax: +- * +- * info method ?methodName? ?-args? ?-body? +- * +- * If the ?methodName? is not specified, then a list of all known +- * methods is returned. Otherwise, the information (args/body) for +- * a specific method is returned. Returns a status TCL_OK/TCL_ERROR +- * to indicate success/failure. +- * ------------------------------------------------------------------------ +- */ +-/* ARGSUSED */ +-static int +-ItclOldBiInfoMethodsCmd(dummy, interp, objc, objv) +- ClientData dummy; /* not used */ +- Tcl_Interp *interp; /* current interpreter */ +- int objc; /* number of arguments */ +- Tcl_Obj *CONST objv[]; /* argument objects */ +-{ +- char *methodName = NULL; +- int methodArgs = 0; +- int methodBody = 0; +- +- char *token; +- ItclClass *contextClass, *cdefn; +- ItclObject *contextObj; +- ItclHierIter hier; +- Tcl_HashSearch place; +- Tcl_HashEntry *entry; +- ItclMemberFunc *mfunc; +- ItclMemberCode *mcode; +- Tcl_Obj *objPtr, *listPtr; +- +- /* +- * If this command is not invoked within a class namespace, +- * signal an error. +- */ +- if (Itcl_GetContext(interp, &contextClass, &contextObj) != TCL_OK) { +- return TCL_ERROR; +- } +- +- /* +- * If there is an object context, then use the most-specific +- * class for the object. Otherwise, use the current class +- * namespace. +- */ +- if (contextObj) { +- contextClass = contextObj->classDefn; +- } +- +- /* +- * Process args: ?methodName? ?-args? ?-body? +- */ +- objv++; /* skip over command name */ +- objc--; +- +- if (objc > 0) { +- methodName = Tcl_GetStringFromObj(*objv, (int*)NULL); +- objc--; objv++; +- } +- for ( ; objc > 0; objc--, objv++) { +- token = Tcl_GetStringFromObj(*objv, (int*)NULL); +- if (strcmp(token, "-args") == 0) +- methodArgs = ~0; +- else if (strcmp(token, "-body") == 0) +- methodBody = ~0; +- else { +- Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +- "bad option \"", token, "\": should be -args or -body", +- (char*)NULL); +- return TCL_ERROR; +- } +- } +- +- /* +- * Return info for a specific method. +- */ +- if (methodName) { +- entry = Tcl_FindHashEntry(&contextClass->resolveCmds, methodName); +- if (entry) { +- int i, valc = 0; +- Tcl_Obj *valv[5]; +- +- mfunc = (ItclMemberFunc*)Tcl_GetHashValue(entry); +- if ((mfunc->member->flags & ITCL_COMMON) != 0) { +- return TCL_OK; +- } +- +- /* +- * If the implementation has not yet been defined, +- * autoload it now. +- */ +- if (Itcl_GetMemberCode(interp, mfunc->member) != TCL_OK) { +- return TCL_ERROR; +- } +- mcode = mfunc->member->code; +- +- if (!methodArgs && !methodBody) { +- objPtr = Tcl_NewStringObj(mfunc->member->classDefn->name, -1); +- Tcl_AppendToObj(objPtr, "::", -1); +- Tcl_AppendToObj(objPtr, mfunc->member->name, -1); +- Tcl_IncrRefCount(objPtr); +- valv[valc++] = objPtr; +- methodArgs = methodBody = ~0; +- } +- if (methodArgs) { +- if (mcode->arglist) { +- objPtr = Itcl_ArgList(mcode->argcount, mcode->arglist); +- Tcl_IncrRefCount(objPtr); +- valv[valc++] = objPtr; +- } +- else { +- objPtr = Tcl_NewStringObj("", -1); +- Tcl_IncrRefCount(objPtr); +- valv[valc++] = objPtr; +- } +- } +- if (methodBody) { +- objPtr = mcode->procPtr->bodyPtr; +- Tcl_IncrRefCount(objPtr); +- valv[valc++] = objPtr; +- } +- +- /* +- * If the result list has a single element, then +- * return it using Tcl_SetResult() so that it will +- * look like a string and not a list with one element. +- */ +- if (valc == 1) { +- objPtr = valv[0]; +- } else { +- objPtr = Tcl_NewListObj(valc, valv); +- } +- Tcl_SetObjResult(interp, objPtr); +- +- for (i=0; i < valc; i++) { +- Tcl_DecrRefCount(valv[i]); +- } +- } +- } +- +- /* +- * Return the list of available methods. +- */ +- else { +- listPtr = Tcl_NewListObj(0, (Tcl_Obj* CONST*)NULL); +- +- Itcl_InitHierIter(&hier, contextClass); +- while ((cdefn=Itcl_AdvanceHierIter(&hier)) != NULL) { +- entry = Tcl_FirstHashEntry(&cdefn->functions, &place); +- while (entry) { +- mfunc = (ItclMemberFunc*)Tcl_GetHashValue(entry); +- +- if ((mfunc->member->flags & ITCL_COMMON) == 0) { +- objPtr = Tcl_NewStringObj(mfunc->member->classDefn->name, -1); +- Tcl_AppendToObj(objPtr, "::", -1); +- Tcl_AppendToObj(objPtr, mfunc->member->name, -1); +- +- Tcl_ListObjAppendElement((Tcl_Interp*)NULL, listPtr, +- objPtr); +- } +- entry = Tcl_NextHashEntry(&place); +- } +- } +- Itcl_DeleteHierIter(&hier); +- +- Tcl_SetObjResult(interp, listPtr); +- } +- return TCL_OK; +-} +- +- +-/* +- * ------------------------------------------------------------------------ +- * ItclOldBiInfoProcsCmd() +- * +- * Returns information regarding procs for a class. This command +- * can be invoked with or without an object context: +- * +- * info... <= returns info for most-specific class +- * info... <= returns info for active namespace +- * +- * Handles the following syntax: +- * +- * info proc ?procName? ?-args? ?-body? +- * +- * If the ?procName? is not specified, then a list of all known +- * procs is returned. Otherwise, the information (args/body) for +- * a specific proc is returned. Returns a status TCL_OK/TCL_ERROR +- * to indicate success/failure. +- * ------------------------------------------------------------------------ +- */ +-/* ARGSUSED */ +-static int +-ItclOldBiInfoProcsCmd(dummy, interp, objc, objv) +- ClientData dummy; /* not used */ +- Tcl_Interp *interp; /* current interpreter */ +- int objc; /* number of arguments */ +- Tcl_Obj *CONST objv[]; /* argument objects */ +-{ +- char *procName = NULL; +- int procArgs = 0; +- int procBody = 0; +- +- char *token; +- ItclClass *contextClass, *cdefn; +- ItclObject *contextObj; +- ItclHierIter hier; +- Tcl_HashSearch place; +- Tcl_HashEntry *entry; +- ItclMemberFunc *mfunc; +- ItclMemberCode *mcode; +- Tcl_Obj *objPtr, *listPtr; +- +- /* +- * If this command is not invoked within a class namespace, +- * signal an error. +- */ +- if (Itcl_GetContext(interp, &contextClass, &contextObj) != TCL_OK) { +- return TCL_ERROR; +- } +- +- /* +- * If there is an object context, then use the most-specific +- * class for the object. Otherwise, use the current class +- * namespace. +- */ +- if (contextObj) { +- contextClass = contextObj->classDefn; +- } +- +- /* +- * Process args: ?procName? ?-args? ?-body? +- */ +- objv++; /* skip over command name */ +- objc--; +- +- if (objc > 0) { +- procName = Tcl_GetStringFromObj(*objv, (int*)NULL); +- objc--; objv++; +- } +- for ( ; objc > 0; objc--, objv++) { +- token = Tcl_GetStringFromObj(*objv, (int*)NULL); +- if (strcmp(token, "-args") == 0) +- procArgs = ~0; +- else if (strcmp(token, "-body") == 0) +- procBody = ~0; +- else { +- Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +- "bad option \"", token, "\": should be -args or -body", +- (char*)NULL); +- return TCL_ERROR; +- } +- } +- +- /* +- * Return info for a specific proc. +- */ +- if (procName) { +- entry = Tcl_FindHashEntry(&contextClass->resolveCmds, procName); +- if (entry) { +- int i, valc = 0; +- Tcl_Obj *valv[5]; +- +- mfunc = (ItclMemberFunc*)Tcl_GetHashValue(entry); +- if ((mfunc->member->flags & ITCL_COMMON) == 0) { +- return TCL_OK; +- } +- +- /* +- * If the implementation has not yet been defined, +- * autoload it now. +- */ +- if (Itcl_GetMemberCode(interp, mfunc->member) != TCL_OK) { +- return TCL_ERROR; +- } +- mcode = mfunc->member->code; +- +- if (!procArgs && !procBody) { +- objPtr = Tcl_NewStringObj(mfunc->member->fullname, -1); +- Tcl_IncrRefCount(objPtr); +- valv[valc++] = objPtr; +- procArgs = procBody = ~0; +- } +- if (procArgs) { +- if (mcode->arglist) { +- objPtr = Itcl_ArgList(mcode->argcount, mcode->arglist); +- Tcl_IncrRefCount(objPtr); +- valv[valc++] = objPtr; +- } +- else { +- objPtr = Tcl_NewStringObj("", -1); +- Tcl_IncrRefCount(objPtr); +- valv[valc++] = objPtr; +- } +- } +- if (procBody) { +- objPtr = mcode->procPtr->bodyPtr; +- Tcl_IncrRefCount(objPtr); +- valv[valc++] = objPtr; +- } +- +- /* +- * If the result list has a single element, then +- * return it using Tcl_SetResult() so that it will +- * look like a string and not a list with one element. +- */ +- if (valc == 1) { +- objPtr = valv[0]; +- } else { +- objPtr = Tcl_NewListObj(valc, valv); +- } +- Tcl_SetObjResult(interp, objPtr); +- +- for (i=0; i < valc; i++) { +- Tcl_DecrRefCount(valv[i]); +- } +- } +- } +- +- /* +- * Return the list of available procs. +- */ +- else { +- listPtr = Tcl_NewListObj(0, (Tcl_Obj* CONST*)NULL); +- +- Itcl_InitHierIter(&hier, contextClass); +- while ((cdefn=Itcl_AdvanceHierIter(&hier)) != NULL) { +- entry = Tcl_FirstHashEntry(&cdefn->functions, &place); +- while (entry) { +- mfunc = (ItclMemberFunc*)Tcl_GetHashValue(entry); +- +- if ((mfunc->member->flags & ITCL_COMMON) != 0) { +- objPtr = Tcl_NewStringObj(mfunc->member->classDefn->name, -1); +- Tcl_AppendToObj(objPtr, "::", -1); +- Tcl_AppendToObj(objPtr, mfunc->member->name, -1); +- +- Tcl_ListObjAppendElement((Tcl_Interp*)NULL, listPtr, +- objPtr); +- } +- entry = Tcl_NextHashEntry(&place); +- } +- } +- Itcl_DeleteHierIter(&hier); +- +- Tcl_SetObjResult(interp, listPtr); +- } +- return TCL_OK; +-} +- +- +-/* +- * ------------------------------------------------------------------------ +- * ItclOldBiInfoPublicsCmd() +- * +- * Sets the interpreter result to contain information for public +- * variables in the class. Handles the following syntax: +- * +- * info public ?varName? ?-init? ?-value? ?-config? +- * +- * If the ?varName? is not specified, then a list of all known public +- * variables is returned. Otherwise, the information (init/value/config) +- * for a specific variable is returned. Returns a status +- * TCL_OK/TCL_ERROR to indicate success/failure. +- * ------------------------------------------------------------------------ +- */ +-/* ARGSUSED */ +-static int +-ItclOldBiInfoPublicsCmd(dummy, interp, objc, objv) +- ClientData dummy; /* not used */ +- Tcl_Interp *interp; /* current interpreter */ +- int objc; /* number of arguments */ +- Tcl_Obj *CONST objv[]; /* argument objects */ +-{ +- char *varName = NULL; +- int varInit = 0; +- int varCheck = 0; +- int varValue = 0; +- +- char *token, *val; +- ItclClass *contextClass; +- ItclObject *contextObj; +- +- ItclClass *cdPtr; +- ItclVarLookup *vlookup; +- ItclVarDefn *vdefn; +- ItclMember *member; +- ItclHierIter hier; +- Tcl_HashEntry *entry; +- Tcl_HashSearch place; +- Tcl_Obj *objPtr, *listPtr; +- +- /* +- * If this command is not invoked within a class namespace, +- * signal an error. +- */ +- if (Itcl_GetContext(interp, &contextClass, &contextObj) != TCL_OK) { +- return TCL_ERROR; +- } +- +- /* +- * Process args: ?varName? ?-init? ?-value? ?-config? +- */ +- objv++; /* skip over command name */ +- objc--; +- +- if (objc > 0) { +- varName = Tcl_GetStringFromObj(*objv, (int*)NULL); +- objc--; objv++; +- } +- for ( ; objc > 0; objc--, objv++) { +- token = Tcl_GetStringFromObj(*objv, (int*)NULL); +- if (strcmp(token, "-init") == 0) +- varInit = ~0; +- else if (strcmp(token, "-value") == 0) +- varValue = ~0; +- else if (strcmp(token, "-config") == 0) +- varCheck = ~0; +- else { +- Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +- "bad option \"", token, +- "\": should be -init, -value or -config", +- (char*)NULL); +- return TCL_ERROR; +- } +- } +- +- /* +- * Return info for a specific variable. +- */ +- if (varName) { +- vlookup = NULL; +- entry = Tcl_FindHashEntry(&contextClass->resolveVars, varName); +- if (entry) { +- vlookup = (ItclVarLookup*)Tcl_GetHashValue(entry); +- if (vlookup->vdefn->member->protection != ITCL_PUBLIC) { +- vlookup = NULL; +- } +- } +- +- if (vlookup) { +- int i, valc = 0; +- Tcl_Obj *valv[5]; +- +- member = vlookup->vdefn->member; +- +- if (!varInit && !varCheck && !varValue) { +- objPtr = Tcl_NewStringObj(member->classDefn->name, -1); +- Tcl_AppendToObj(objPtr, "::", -1); +- Tcl_AppendToObj(objPtr, member->name, -1); +- Tcl_IncrRefCount(objPtr); +- valv[valc++] = objPtr; +- varInit = varCheck = varValue = ~0; +- } +- if (varInit) { +- val = (vlookup->vdefn->init) ? vlookup->vdefn->init : ""; +- objPtr = Tcl_NewStringObj(val, -1); +- Tcl_IncrRefCount(objPtr); +- valv[valc++] = objPtr; +- } +- if (varValue) { +- val = Itcl_GetInstanceVar(interp, member->fullname, +- contextObj, contextObj->classDefn); +- +- if (!val) { +- val = ""; +- } +- objPtr = Tcl_NewStringObj(val, -1); +- Tcl_IncrRefCount(objPtr); +- valv[valc++] = objPtr; +- } +- +- if (varCheck) { +- if (member->code && member->code->procPtr->bodyPtr) { +- objPtr = member->code->procPtr->bodyPtr; +- } else { +- objPtr = Tcl_NewStringObj("", -1); +- } +- Tcl_IncrRefCount(objPtr); +- valv[valc++] = objPtr; +- } +- +- /* +- * If the result list has a single element, then +- * return it using Tcl_SetResult() so that it will +- * look like a string and not a list with one element. +- */ +- if (valc == 1) { +- objPtr = valv[0]; +- } else { +- objPtr = Tcl_NewListObj(valc, valv); +- } +- Tcl_SetObjResult(interp, objPtr); +- +- for (i=0; i < valc; i++) { +- Tcl_DecrRefCount(valv[i]); +- } +- } +- } +- +- /* +- * Return the list of public variables. +- */ +- else { +- listPtr = Tcl_NewListObj(0, (Tcl_Obj* CONST*)NULL); +- +- Itcl_InitHierIter(&hier, contextClass); +- cdPtr = Itcl_AdvanceHierIter(&hier); +- while (cdPtr != NULL) { +- entry = Tcl_FirstHashEntry(&cdPtr->variables, &place); +- while (entry) { +- vdefn = (ItclVarDefn*)Tcl_GetHashValue(entry); +- member = vdefn->member; +- +- if ((member->flags & ITCL_COMMON) == 0 && +- member->protection == ITCL_PUBLIC) { +- +- objPtr = Tcl_NewStringObj(member->classDefn->name, -1); +- Tcl_AppendToObj(objPtr, "::", -1); +- Tcl_AppendToObj(objPtr, member->name, -1); +- +- Tcl_ListObjAppendElement((Tcl_Interp*)NULL, listPtr, +- objPtr); +- } +- entry = Tcl_NextHashEntry(&place); +- } +- cdPtr = Itcl_AdvanceHierIter(&hier); +- } +- Itcl_DeleteHierIter(&hier); +- +- Tcl_SetObjResult(interp, listPtr); +- } +- return TCL_OK; +-} +- +-/* +- * ------------------------------------------------------------------------ +- * ItclOldBiInfoProtectedsCmd() +- * +- * Sets the interpreter result to contain information for protected +- * variables in the class. Handles the following syntax: +- * +- * info protected ?varName? ?-init? ?-value? +- * +- * If the ?varName? is not specified, then a list of all known public +- * variables is returned. Otherwise, the information (init/value) +- * for a specific variable is returned. Returns a status +- * TCL_OK/TCL_ERROR to indicate success/failure. +- * ------------------------------------------------------------------------ +- */ +-/* ARGSUSED */ +-static int +-ItclOldBiInfoProtectedsCmd(dummy, interp, objc, objv) +- ClientData dummy; /* not used */ +- Tcl_Interp *interp; /* current interpreter */ +- int objc; /* number of arguments */ +- Tcl_Obj *CONST objv[]; /* argument objects */ +-{ +- char *varName = NULL; +- int varInit = 0; +- int varValue = 0; +- +- char *token, *val; +- ItclClass *contextClass; +- ItclObject *contextObj; +- +- ItclClass *cdPtr; +- ItclVarLookup *vlookup; +- ItclVarDefn *vdefn; +- ItclMember *member; +- ItclHierIter hier; +- Tcl_HashEntry *entry; +- Tcl_HashSearch place; +- Tcl_Obj *objPtr, *listPtr; +- +- /* +- * If this command is not invoked within a class namespace, +- * signal an error. +- */ +- if (Itcl_GetContext(interp, &contextClass, &contextObj) != TCL_OK) { +- return TCL_ERROR; +- } +- +- /* +- * Process args: ?varName? ?-init? ?-value? +- */ +- objv++; /* skip over command name */ +- objc--; +- +- if (objc > 0) { +- varName = Tcl_GetStringFromObj(*objv, (int*)NULL); +- objc--; objv++; +- } +- for ( ; objc > 0; objc--, objv++) { +- token = Tcl_GetStringFromObj(*objv, (int*)NULL); +- if (strcmp(token, "-init") == 0) +- varInit = ~0; +- else if (strcmp(token, "-value") == 0) +- varValue = ~0; +- else { +- Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +- "bad option \"", token, "\": should be -init or -value", +- (char*)NULL); +- return TCL_ERROR; +- } +- } +- +- /* +- * Return info for a specific variable. +- */ +- if (varName) { +- vlookup = NULL; +- entry = Tcl_FindHashEntry(&contextClass->resolveVars, varName); +- if (entry) { +- vlookup = (ItclVarLookup*)Tcl_GetHashValue(entry); +- if (vlookup->vdefn->member->protection != ITCL_PROTECTED) { +- vlookup = NULL; +- } +- } +- +- if (vlookup) { +- int i, valc = 0; +- Tcl_Obj *valv[5]; +- +- member = vlookup->vdefn->member; +- +- if (!varInit && !varValue) { +- objPtr = Tcl_NewStringObj(member->classDefn->name, -1); +- Tcl_AppendToObj(objPtr, "::", -1); +- Tcl_AppendToObj(objPtr, member->name, -1); +- Tcl_IncrRefCount(objPtr); +- valv[valc++] = objPtr; +- varInit = varValue = ~0; +- } +- +- /* +- * If this is the built-in "this" variable, then +- * report the object name as its initialization string. +- */ +- if (varInit) { +- if ((member->flags & ITCL_THIS_VAR) != 0) { +- if (contextObj && contextObj->accessCmd) { +- objPtr = Tcl_NewStringObj("", -1); +- Tcl_IncrRefCount(objPtr); +- Tcl_GetCommandFullName(contextObj->classDefn->interp, +- contextObj->accessCmd, objPtr); +- valv[valc++] = objPtr; +- } +- else { +- objPtr = Tcl_NewStringObj("", -1); +- Tcl_IncrRefCount(objPtr); +- valv[valc++] = objPtr; +- } +- } +- else { +- val = (vlookup->vdefn->init) ? vlookup->vdefn->init : ""; +- objPtr = Tcl_NewStringObj(val, -1); +- Tcl_IncrRefCount(objPtr); +- valv[valc++] = objPtr; +- } +- } +- +- if (varValue) { +- val = Itcl_GetInstanceVar(interp, member->fullname, +- contextObj, contextObj->classDefn); +- +- if (!val) { +- val = ""; +- } +- objPtr = Tcl_NewStringObj(val, -1); +- Tcl_IncrRefCount(objPtr); +- valv[valc++] = objPtr; +- } +- +- /* +- * If the result list has a single element, then +- * return it using Tcl_SetResult() so that it will +- * look like a string and not a list with one element. +- */ +- if (valc == 1) { +- objPtr = valv[0]; +- } else { +- objPtr = Tcl_NewListObj(valc, valv); +- } +- Tcl_SetObjResult(interp, objPtr); +- +- for (i=0; i < valc; i++) { +- Tcl_DecrRefCount(valv[i]); +- } +- } +- } +- +- /* +- * Return the list of public variables. +- */ +- else { +- listPtr = Tcl_NewListObj(0, (Tcl_Obj* CONST*)NULL); +- +- Itcl_InitHierIter(&hier, contextClass); +- cdPtr = Itcl_AdvanceHierIter(&hier); +- while (cdPtr != NULL) { +- entry = Tcl_FirstHashEntry(&cdPtr->variables, &place); +- while (entry) { +- vdefn = (ItclVarDefn*)Tcl_GetHashValue(entry); +- member = vdefn->member; +- +- if ((member->flags & ITCL_COMMON) == 0 && +- member->protection == ITCL_PROTECTED) { +- +- objPtr = Tcl_NewStringObj(member->classDefn->name, -1); +- Tcl_AppendToObj(objPtr, "::", -1); +- Tcl_AppendToObj(objPtr, member->name, -1); +- +- Tcl_ListObjAppendElement((Tcl_Interp*)NULL, listPtr, +- objPtr); +- } +- entry = Tcl_NextHashEntry(&place); +- } +- cdPtr = Itcl_AdvanceHierIter(&hier); +- } +- Itcl_DeleteHierIter(&hier); +- +- Tcl_SetObjResult(interp, listPtr); +- } +- return TCL_OK; +-} +- +-/* +- * ------------------------------------------------------------------------ +- * ItclOldBiInfoCommonsCmd() +- * +- * Sets the interpreter result to contain information for common +- * variables in the class. Handles the following syntax: +- * +- * info common ?varName? ?-init? ?-value? +- * +- * If the ?varName? is not specified, then a list of all known common +- * variables is returned. Otherwise, the information (init/value) +- * for a specific variable is returned. Returns a status +- * TCL_OK/TCL_ERROR to indicate success/failure. +- * ------------------------------------------------------------------------ +- */ +-/* ARGSUSED */ +-static int +-ItclOldBiInfoCommonsCmd(dummy, interp, objc, objv) +- ClientData dummy; /* not used */ +- Tcl_Interp *interp; /* current interpreter */ +- int objc; /* number of arguments */ +- Tcl_Obj *CONST objv[]; /* argument objects */ +-{ +- char *varName = NULL; +- int varInit = 0; +- int varValue = 0; +- +- char *token, *val; +- ItclClass *contextClass; +- ItclObject *contextObj; +- +- ItclClass *cdPtr; +- ItclVarDefn *vdefn; +- ItclVarLookup *vlookup; +- ItclMember *member; +- ItclHierIter hier; +- Tcl_HashEntry *entry; +- Tcl_HashSearch place; +- Tcl_Obj *objPtr, *listPtr; +- +- /* +- * If this command is not invoked within a class namespace, +- * signal an error. +- */ +- if (Itcl_GetContext(interp, &contextClass, &contextObj) != TCL_OK) { +- return TCL_ERROR; +- } +- +- /* +- * Process args: ?varName? ?-init? ?-value? +- */ +- objv++; /* skip over command name */ +- objc--; +- +- if (objc > 0) { +- varName = Tcl_GetStringFromObj(*objv, (int*)NULL); +- objc--; objv++; +- } +- for ( ; objc > 0; objc--, objv++) { +- token = Tcl_GetStringFromObj(*objv, (int*)NULL); +- if (strcmp(token, "-init") == 0) +- varInit = ~0; +- else if (strcmp(token, "-value") == 0) +- varValue = ~0; +- else { +- Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +- "bad option \"", token, "\": should be -init or -value", +- (char*)NULL); +- return TCL_ERROR; +- } +- } +- +- /* +- * Return info for a specific variable. +- */ +- if (varName) { +- vlookup = NULL; +- entry = Tcl_FindHashEntry(&contextClass->resolveVars, varName); +- if (entry) { +- vlookup = (ItclVarLookup*)Tcl_GetHashValue(entry); +- if (vlookup->vdefn->member->protection != ITCL_PROTECTED) { +- vlookup = NULL; +- } +- } +- +- if (vlookup) { +- int i, valc = 0; +- Tcl_Obj *valv[5]; +- +- member = vlookup->vdefn->member; +- +- if (!varInit && !varValue) { +- objPtr = Tcl_NewStringObj(member->classDefn->name, -1); +- Tcl_AppendToObj(objPtr, "::", -1); +- Tcl_AppendToObj(objPtr, member->name, -1); +- Tcl_IncrRefCount(objPtr); +- valv[valc++] = objPtr; +- varInit = varValue = ~0; +- } +- if (varInit) { +- val = (vlookup->vdefn->init) ? vlookup->vdefn->init : ""; +- objPtr = Tcl_NewStringObj(val, -1); +- Tcl_IncrRefCount(objPtr); +- valv[valc++] = objPtr; +- } +- +- if (varValue) { +- val = Itcl_GetCommonVar(interp, member->fullname, +- contextObj->classDefn); +- +- if (!val) { +- val = ""; +- } +- objPtr = Tcl_NewStringObj(val, -1); +- Tcl_IncrRefCount(objPtr); +- valv[valc++] = objPtr; +- } +- +- /* +- * If the result list has a single element, then +- * return it using Tcl_SetResult() so that it will +- * look like a string and not a list with one element. +- */ +- if (valc == 1) { +- objPtr = valv[0]; +- } else { +- objPtr = Tcl_NewListObj(valc, valv); +- } +- Tcl_SetObjResult(interp, objPtr); +- +- for (i=0; i < valc; i++) { +- Tcl_DecrRefCount(valv[i]); +- } +- } +- } +- +- /* +- * Return the list of public variables. +- */ +- else { +- listPtr = Tcl_NewListObj(0, (Tcl_Obj* CONST*)NULL); +- +- Itcl_InitHierIter(&hier, contextClass); +- cdPtr = Itcl_AdvanceHierIter(&hier); +- while (cdPtr != NULL) { +- entry = Tcl_FirstHashEntry(&cdPtr->variables, &place); +- while (entry) { +- vdefn = (ItclVarDefn*)Tcl_GetHashValue(entry); +- member = vdefn->member; +- +- if ((member->flags & ITCL_COMMON) && +- member->protection == ITCL_PROTECTED) { +- +- objPtr = Tcl_NewStringObj(member->classDefn->name, -1); +- Tcl_AppendToObj(objPtr, "::", -1); +- Tcl_AppendToObj(objPtr, member->name, -1); +- +- Tcl_ListObjAppendElement((Tcl_Interp*)NULL, listPtr, +- objPtr); +- } +- entry = Tcl_NextHashEntry(&place); +- } +- cdPtr = Itcl_AdvanceHierIter(&hier); +- } +- Itcl_DeleteHierIter(&hier); +- +- Tcl_SetObjResult(interp, listPtr); +- } +- return TCL_OK; +-} +diff -Naur insight-6.8.orig/itcl/itcl/generic/itcl_parse.c insight-6.8.new/itcl/itcl/generic/itcl_parse.c +--- insight-6.8.orig/itcl/itcl/generic/itcl_parse.c 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/generic/itcl_parse.c 2008-08-18 18:56:39.000000000 +0200 +@@ -37,7 +37,7 @@ + * mmclennan@lucent.com + * http://www.tcltk.com/itcl + * +- * RCS: $Id: itcl_parse.c,v 1.4 2000/01/03 15:56:48 csmith Exp $ ++ * RCS: $Id: itcl_parse.c,v 1.7 2004/11/15 20:14:07 davygrvy Exp $ + * ======================================================================== + * Copyright (c) 1993-1998 Lucent Technologies, Inc. + * ------------------------------------------------------------------------ +@@ -364,7 +364,7 @@ + * parent namespace (currently active). If not, try + * to autoload its definition. + */ +- token = Tcl_GetStringFromObj(*objv, (int*)NULL); ++ token = Tcl_GetString(*objv); + baseCdefnPtr = Itcl_FindClass(interp, token, /* autoload */ 1); + if (!baseCdefnPtr) { + Tcl_Obj *resultPtr = Tcl_GetObjResult(interp); +@@ -643,13 +643,13 @@ + * If there is an object initialization statement, pick this + * out and take the last argument as the constructor body. + */ +- arglist = Tcl_GetStringFromObj(objv[1], (int*)NULL); ++ arglist = Tcl_GetString(objv[1]); + if (objc == 3) { +- body = Tcl_GetStringFromObj(objv[2], (int*)NULL); ++ body = Tcl_GetString(objv[2]); + } else { + cdefnPtr->initCode = objv[2]; + Tcl_IncrRefCount(cdefnPtr->initCode); +- body = Tcl_GetStringFromObj(objv[3], (int*)NULL); ++ body = Tcl_GetString(objv[3]); + } + + if (Itcl_CreateMethod(interp, cdefnPtr, name, arglist, body) != TCL_OK) { +@@ -960,10 +960,10 @@ + Itcl_BuildVirtualTables(cdefnPtr); + + if (init) { +- init = Tcl_SetVar(interp, vdefn->member->name, init, ++ CONST char *val = Tcl_SetVar(interp, vdefn->member->name, init, + TCL_NAMESPACE_ONLY); + +- if (!init) { ++ if (!val) { + Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), + "cannot initialize common variable \"", + vdefn->member->name, "\"", +@@ -1013,7 +1013,7 @@ + int + Itcl_ParseVarResolver(interp, name, contextNs, flags, rPtr) + Tcl_Interp *interp; /* current interpreter */ +- char* name; /* name of the variable being accessed */ ++ CONST char* name; /* name of the variable being accessed */ + Tcl_Namespace *contextNs; /* namespace context */ + int flags; /* TCL_GLOBAL_ONLY => global variable + * TCL_NAMESPACE_ONLY => namespace variable */ +diff -Naur insight-6.8.orig/itcl/itcl/generic/itclStubInit.c insight-6.8.new/itcl/itcl/generic/itclStubInit.c +--- insight-6.8.orig/itcl/itcl/generic/itclStubInit.c 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/generic/itclStubInit.c 2008-08-18 18:56:39.000000000 +0200 +@@ -8,7 +8,7 @@ + * See the file "license.terms" for information on usage and redistribution + * of this file, and for a DISCLAIMER OF ALL WARRANTIES. + * +- * RCS: $Id: itclStubInit.c,v 1.2 2000/08/04 22:11:50 davidg Exp $ ++ * RCS: $Id: itclStubInit.c,v 1.4 2002/08/11 03:43:46 davygrvy Exp $ + */ + + #include "itclInt.h" +@@ -139,12 +139,14 @@ + Itcl_EnsembleCmd, /* 107 */ + Itcl_EnsPartCmd, /* 108 */ + Itcl_EnsembleErrorCmd, /* 109 */ +- Itcl_OldInit, /* 110 */ +- Itcl_InstallOldBiMethods, /* 111 */ ++ NULL, /* 110 */ ++ NULL, /* 111 */ + _Tcl_GetCallFrame, /* 112 */ + _Tcl_ActivateCallFrame, /* 113 */ + _TclNewVar, /* 114 */ + Itcl_Assert, /* 115 */ ++ Itcl_IsObjectCmd, /* 116 */ ++ Itcl_IsClassCmd, /* 117 */ + }; + + static ItclStubHooks itclStubHooks = { +diff -Naur insight-6.8.orig/itcl/itcl/generic/itclStubLib.c insight-6.8.new/itcl/itcl/generic/itclStubLib.c +--- insight-6.8.orig/itcl/itcl/generic/itclStubLib.c 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/generic/itclStubLib.c 2008-08-18 18:56:39.000000000 +0200 +@@ -4,13 +4,12 @@ + * Stub object that will be statically linked into extensions that wish + * to access Itcl. + * +- * Copyright (c) 1998-1999 by XXXX + * Copyright (c) 1998 Paul Duffin. + * + * See the file "license.terms" for information on usage and redistribution + * of this file, and for a DISCLAIMER OF ALL WARRANTIES. + * +- * RCS: $Id: itclStubLib.c,v 1.6 2001/05/25 00:12:29 davygrvy Exp $ ++ * RCS: $Id: itclStubLib.c,v 1.9 2003/12/24 03:38:02 davygrvy Exp $ + */ + + /* +@@ -44,7 +43,7 @@ + * + * Itcl_InitStubs -- + * +- * Tries to initialise the stub table pointers and ensures that ++ * Tries to initialize the stub table pointers and ensures that + * the correct version of Itcl is loaded. + * + * Results: +@@ -57,15 +56,19 @@ + *---------------------------------------------------------------------- + */ + ++#ifdef Itcl_InitStubs ++#undef Itcl_InitStubs ++#endif ++ + CONST char * + Itcl_InitStubs (interp, version, exact) + Tcl_Interp *interp; +- char *version; ++ CONST char *version; + int exact; + { + CONST char *actualVersion; + +- actualVersion = Tcl_PkgRequireEx(interp, "Itcl", version, exact, ++ actualVersion = Tcl_PkgRequireEx(interp, "Itcl", (CONST84 char *)version, exact, + (ClientData *) &itclStubsPtr); + + if (actualVersion == NULL) { +diff -Naur insight-6.8.orig/itcl/itcl/generic/itcl_util.c insight-6.8.new/itcl/itcl/generic/itcl_util.c +--- insight-6.8.orig/itcl/itcl/generic/itcl_util.c 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/generic/itcl_util.c 2008-08-18 18:56:39.000000000 +0200 +@@ -21,7 +21,7 @@ + * mmclennan@lucent.com + * http://www.tcltk.com/itcl + * +- * RCS: $Id: itcl_util.c,v 1.6 2001/09/06 21:42:12 davygrvy Exp $ ++ * RCS: $Id: itcl_util.c,v 1.14 2004/11/23 21:48:45 davygrvy Exp $ + * ======================================================================== + * Copyright (c) 1993-1998 Lucent Technologies, Inc. + * ------------------------------------------------------------------------ +@@ -82,15 +82,12 @@ + + void + Itcl_Assert(testExpr, fileName, lineNumber) +- char *testExpr; /* string representing test expression */ +- char *fileName; /* file name containing this call */ +- int lineNumber; /* line number containing this call */ +-{ +-#ifndef NDEBUG +- fprintf(stderr, "Assertion failed: \"%s\" (line %d of %s)", +- testExpr, lineNumber, fileName); +- abort(); +-#endif ++ CONST char *testExpr; /* string representing test expression */ ++ CONST char *fileName; /* file name containing this call */ ++ int lineNumber; /* line number containing this call */ ++{ ++ Tcl_Panic("Itcl Assertion failed: \"%s\" (line %d of %s)", ++ testExpr, lineNumber, fileName); + } + + +@@ -699,7 +696,7 @@ + } + if (!entry) { + Tcl_MutexUnlock(&ItclPreservedListLock); +- panic("Itcl_ReleaseData can't find reference for 0x%x", cdata); ++ Tcl_Panic("Itcl_ReleaseData can't find reference for 0x%x", cdata); + } + + /* +@@ -751,7 +748,11 @@ + Interp *iPtr = (Interp*)interp; + + InterpState *info; +- char *val; ++ CONST char *val; ++ ++#ifndef ERR_IN_PROGRESS /* this disappeared in 8.5a2 */ ++ return (Itcl_InterpState) Tcl_SaveInterpState(interp, status); ++#endif + + info = (InterpState*)ckalloc(sizeof(InterpState)); + info->validate = TCL_STATE_VALID; +@@ -770,7 +771,11 @@ + /* + * If an error is in progress, preserve its state. + */ ++#ifdef ERR_IN_PROGRESS /* this disappeared in 8.5a2 */ + if ((iPtr->flags & ERR_IN_PROGRESS) != 0) { ++#else ++ if (iPtr->errorInfo != NULL) { ++#endif + val = Tcl_GetVar(interp, "errorInfo", TCL_GLOBAL_ONLY); + if (val) { + info->errorInfo = ckalloc((unsigned)(strlen(val)+1)); +@@ -811,12 +816,15 @@ + Tcl_Interp* interp; /* interpreter being modified */ + Itcl_InterpState state; /* token representing interpreter state */ + { +- Interp *iPtr = (Interp*)interp; + InterpState *info = (InterpState*)state; + int status; + ++#ifndef ERR_IN_PROGRESS /* this disappeared in 8.5a2 */ ++ return Tcl_RestoreInterpState(interp, (Tcl_InterpState)state); ++#endif ++ + if (info->validate != TCL_STATE_VALID) { +- panic("bad token in Itcl_RestoreInterpState"); ++ Tcl_Panic("bad token in Itcl_RestoreInterpState"); + } + Tcl_ResetResult(interp); + +@@ -832,10 +840,7 @@ + } + + if (info->errorCode) { +- (void) Tcl_SetVar2(interp, "errorCode", (char*)NULL, +- info->errorCode, TCL_GLOBAL_ONLY); +- iPtr->flags |= ERROR_CODE_SET; +- ++ Tcl_SetObjErrorCode(interp, Tcl_NewStringObj(info->errorCode, -1)); + ckfree(info->errorCode); + } + +@@ -871,8 +876,13 @@ + { + InterpState *info = (InterpState*)state; + ++#ifndef ERR_IN_PROGRESS /* this disappeared in 8.5a2 */ ++ Tcl_DiscardInterpState((Tcl_InterpState)state); ++ return; ++#endif ++ + if (info->validate != TCL_STATE_VALID) { +- panic("bad token in Itcl_DiscardInterpState"); ++ Tcl_Panic("bad token in Itcl_DiscardInterpState"); + } + + if (info->errorInfo) { +@@ -1149,12 +1159,12 @@ + */ + void + Itcl_ParseNamespPath(name, buffer, head, tail) +- char *name; /* path name to class member */ ++ CONST char *name; /* path name to class member */ + Tcl_DString *buffer; /* dynamic string buffer (uninitialized) */ + char **head; /* returns "namesp::namesp::namesp" part */ + char **tail; /* returns "element" part */ + { +- register char *sep; ++ register char *sep, *newname; + + Tcl_DStringInit(buffer); + +@@ -1164,12 +1174,12 @@ + * scope qualifier. + */ + Tcl_DStringAppend(buffer, name, -1); +- name = Tcl_DStringValue(buffer); ++ newname = Tcl_DStringValue(buffer); + +- for (sep=name; *sep != '\0'; sep++) ++ for (sep=newname; *sep != '\0'; sep++) + ; + +- while (--sep > name) { ++ while (--sep > newname) { + if (*sep == ':' && *(sep-1) == ':') { + break; + } +@@ -1180,20 +1190,20 @@ + * up until the head is found. This supports the Tcl namespace + * behavior, which allows names like "foo:::bar". + */ +- if (sep > name) { ++ if (sep > newname) { + *tail = sep+1; +- while (sep > name && *(sep-1) == ':') { ++ while (sep > newname && *(sep-1) == ':') { + sep--; + } + *sep = '\0'; +- *head = name; ++ *head = newname; + } + + /* + * No :: separators--the whole name is treated as a tail. + */ + else { +- *tail = name; ++ *tail = newname; + *head = NULL; + } + } +@@ -1218,19 +1228,21 @@ + */ + int + Itcl_DecodeScopedCommand(interp, name, rNsPtr, rCmdPtr) +- Tcl_Interp *interp; /* current interpreter */ +- char *name; /* string to be decoded */ +- Tcl_Namespace **rNsPtr; /* returns: namespace for scoped value */ +- char **rCmdPtr; /* returns: simple command word */ ++ Tcl_Interp *interp; /* current interpreter */ ++ CONST char *name; /* string to be decoded */ ++ Tcl_Namespace **rNsPtr; /* returns: namespace for scoped value */ ++ char **rCmdPtr; /* returns: simple command word */ + { + Tcl_Namespace *nsPtr = NULL; +- char *cmdName = name; ++ char *cmdName; + int len = strlen(name); +- +- char *pos; ++ CONST char *pos; + int listc, result; + char **listv; + ++ cmdName = ckalloc((unsigned)strlen(name)+1); ++ strcpy(cmdName, name); ++ + if ((*name == 'n') && (len > 17) && (strncmp(name, "namespace", 9) == 0)) { + for (pos = (name + 9); (*pos == ' '); pos++) { + /* empty body: skip over spaces */ +@@ -1238,7 +1250,8 @@ + if ((*pos == 'i') && ((pos + 7) <= (name + len)) + && (strncmp(pos, "inscope", 7) == 0)) { + +- result = Tcl_SplitList(interp, name, &listc, &listv); ++ result = Tcl_SplitList(interp, (CONST84 char *)name, &listc, ++ &listv); + if (result == TCL_OK) { + if (listc != 4) { + Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), +@@ -1246,15 +1259,14 @@ + "namespace inscope namesp command\"", + (char*)NULL); + result = TCL_ERROR; +- } +- else { ++ } else { + nsPtr = Tcl_FindNamespace(interp, listv[2], + (Tcl_Namespace*)NULL, TCL_LEAVE_ERR_MSG); + + if (!nsPtr) { + result = TCL_ERROR; +- } +- else { ++ } else { ++ ckfree(cmdName); + cmdName = ckalloc((unsigned)(strlen(listv[3])+1)); + strcpy(cmdName, listv[3]); + } +@@ -1313,7 +1325,7 @@ + cmdPtr = (Command*)cmd; + + cmdlinec = objc; +- cmdlinev = (Tcl_Obj**)objv; ++ cmdlinev = (Tcl_Obj **) objv; + + /* + * If the command is still not found, handle it with the +@@ -1327,16 +1339,13 @@ + Tcl_ResetResult(interp); + Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), + "invalid command name \"", +- Tcl_GetStringFromObj(objv[0], (int*)NULL), "\"", +- (char*)NULL); ++ Tcl_GetStringFromObj(objv[0], NULL), "\"", NULL); + return TCL_ERROR; + } + cmdPtr = (Command*)cmd; + + cmdlinePtr = Itcl_CreateArgs(interp, "unknown", objc, objv); +- +- (void) Tcl_ListObjGetElements((Tcl_Interp*)NULL, cmdlinePtr, +- &cmdlinec, &cmdlinev); ++ Tcl_ListObjGetElements(NULL, cmdlinePtr, &cmdlinec, &cmdlinev); + } + + /* +@@ -1373,7 +1382,7 @@ + Tcl_Obj* + Itcl_CreateArgs(interp, string, objc, objv) + Tcl_Interp *interp; /* current interpreter */ +- char *string; /* first command word */ ++ CONST char *string; /* first command word */ + int objc; /* number of arguments */ + Tcl_Obj *CONST objv[]; /* argument objects */ + { +@@ -1382,7 +1391,7 @@ + + listPtr = Tcl_NewListObj(0, (Tcl_Obj**)NULL); + Tcl_ListObjAppendElement((Tcl_Interp*)NULL, listPtr, +- Tcl_NewStringObj(string, -1)); ++ Tcl_NewStringObj((CONST84 char *)string, -1)); + + for (i=0; i < objc; i++) { + Tcl_ListObjAppendElement((Tcl_Interp*)NULL, listPtr, objv[i]); +diff -Naur insight-6.8.orig/itcl/itcl/INCOMPATIBLE insight-6.8.new/itcl/itcl/INCOMPATIBLE +--- insight-6.8.orig/itcl/itcl/INCOMPATIBLE 1970-01-01 01:00:00.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/INCOMPATIBLE 2008-08-18 18:56:39.000000000 +0200 +@@ -0,0 +1,102 @@ ++ ++As much as possible, I've tried to make itcl3.0 backward-compatible ++with earlier releases. The class definition syntax has not changed ++at all from itcl2.2, and the old itcl1.x syntax is still supported. ++But you'll notice changes related to namespaces. John Ousterhout ++adopted a slightly different namespace model for Tcl8. The syntax ++of the "namespace" command is different, as well as the semantics ++for command/variable lookups and imports. Also, John Ousterhout ++failed to adopt ensembles into the Tcl core, so itcl can't add ++functions like "info objects" and "info classes" into the usual "info" ++command. These functions have been moved to a new "itcl::find" command. ++ ++The [incr Widgets] package has changed quite a bit. There are many ++new widgets, and some of the existing widgets were streamlined--some ++of the widget options were removed to improve performance. For details, ++see the "CHANGES" file in the iwidgets3.0.0 directory. Because there ++are a lot of changes, this distribution contains the iwidgets2.2.0 ++package, which is backward-compatible with the existing [incr Widgets]. ++ ++Following is a quick summary of changes, to serve as a porting guide. ++ ++ ++----------------------------------|------------------------------------- ++ You have code like this... | change to this... ++----------------------------------|------------------------------------- ++ namespace foo {...} | namespace eval foo {...} ++ | ++ delete namespace foo | namespace delete foo ++ | ++ info which -namespace $name | if {![string match ::* $name]} { ++ | set name [namespace current]::$name ++ | } ++ | ++ info context | namespace current ++ | ++ info objects ... | itcl::find objects ... ++ | ++ info classes ... | itcl::find classes ... ++ | ++ In itcl2.2, commands/classes | In Tcl8.0, all commands/classes that ++ could be found in any namespace | are not in the global namespace must ++ in a hierarchy. So within a | be qualified. For example, the ++ namespace like "iwidgets" you | "iwidgets" namespace has a bunch of ++ could use simple names like: | classes within it. You must always ++ | refer to these classes with qualified ++ | names, like this: ++ | ++ Labeledwidget::alignlabels ... | iwidgets::Labeledwidget::alignlabels ... ++ Pane #auto | iwidgets::Pane #auto ++ | ++ | ++ In itcl2.2, the "global" | In Tcl8.0, the "variable" command is ++ command was used to access | used to access variables in a namespace: ++ variables in a namespace: | ++ | ++ namespace foo { | namespace eval foo { ++ variable x 0 | variable x 0 ++ proc example {} { | proc example {} { ++ global x | variable x ++ return $x | return $x ++ } | } ++ } | } ++ | ++ | ++ public itk_component add... | itk_component add ... ++ protected itk_component add... | itk_component add -protected ... ++ private itk_component add... | itk_component add -private ... ++ | ++ | ++ ++ OTHER DIFFERENCES ++------------------------------------------------------------------------ ++- You can now use instance variables (along with the usual common ++ variables) with the "scope" command. Thus, you're no longer forced ++ to use the trick with a common array like: [scope modes($this)] ++ ++- All widget/mega-widget access commands (e.g., ".foo.bar") are ++ installed in the global namespace. Therefore, they can be accessed ++ from any namespace context. ++ ++- The [incr Widgets] package used to be loaded by default. You must ++ now use the "package require" command to load it explicitly: ++ ++ package require Iwidgets <-- loads the lastest (iwidgets3.0.0) ++ package require -exact Iwidgets 2.2 <-- loads the older release ++ ++- Command/variable names are now reported with fully-qualified names ++ in "info" inquiries and in error messages. ++ ++- No public/protected/private declarations outside of class definitions ++ ++- The "scope" command used to be more or less the same as the "code" ++ command. In itcl3.x, "scope" is only for variables, and if a variable ++ is not recognized, you'll get an error. ++ ++- The "code" command used to return a value like "@scope ...". It now ++ returns "namespace inscope ...", to be compatible with Tcl8. ++ ++- The prototypes for Itcl_RegisterC and Itcl_FindC have changed. You ++ can now include ClientData when you register C functions. Also, there ++ is a new Itcl_RegisterObjC function for (objc,objv)-style command ++ handlers. +diff -Naur insight-6.8.orig/itcl/itcl/itclConfig.sh.in insight-6.8.new/itcl/itcl/itclConfig.sh.in +--- insight-6.8.orig/itcl/itcl/itclConfig.sh.in 2003-01-21 22:04:23.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/itclConfig.sh.in 2008-08-18 18:56:39.000000000 +0200 +@@ -12,36 +12,51 @@ + # The information in this file is specific to a single platform. + + # Itcl's version number. +-ITCL_VERSION='@ITCL_VERSION@' +-ITCL_MAJOR_VERSION='@ITCL_MAJOR_VERSION@' +-ITCL_MINOR_VERSION='@ITCL_MINOR_VERSION@' +-ITCL_RELEASE_LEVEL='@ITCL_RELEASE_LEVEL@' ++itcl_VERSION='@PACKAGE_VERSION@' ++ITCL_VERSION='@PACKAGE_VERSION@' + + # The name of the Itcl library (may be either a .a file or a shared library): +-ITCL_LIB_FILE=@ITCL_LIB_FILE@ ++itcl_LIB_FILE=@itcl_LIB_FILE@ ++ITCL_LIB_FILE=@itcl_LIB_FILE@ + + # String to pass to linker to pick up the Itcl library from its + # build directory. +-ITCL_BUILD_LIB_SPEC='@ITCL_BUILD_LIB_SPEC@' ++itcl_BUILD_LIB_SPEC='@itcl_BUILD_LIB_SPEC@' ++ITCL_BUILD_LIB_SPEC='@itcl_BUILD_LIB_SPEC@' + + # String to pass to linker to pick up the Itcl library from its + # installed directory. +-ITCL_LIB_SPEC='@ITCL_LIB_SPEC@' ++itcl_LIB_SPEC='@itcl_LIB_SPEC@' ++ITCL_LIB_SPEC='@itcl_LIB_SPEC@' + + # The name of the Itcl stub library (a .a file): +-ITCL_STUB_LIB_FILE=@ITCL_STUB_LIB_FILE@ ++itcl_STUB_LIB_FILE=@itcl_STUB_LIB_FILE@ ++ITCL_STUB_LIB_FILE=@itcl_STUB_LIB_FILE@ + + # String to pass to linker to pick up the Itcl stub library from its + # build directory. +-ITCL_BUILD_STUB_LIB_SPEC='@ITCL_BUILD_STUB_LIB_SPEC@' ++itcl_BUILD_STUB_LIB_SPEC='@itcl_BUILD_STUB_LIB_SPEC@' ++ITCL_BUILD_STUB_LIB_SPEC='@itcl_BUILD_STUB_LIB_SPEC@' + + # String to pass to linker to pick up the Itcl stub library from its + # installed directory. +-ITCL_STUB_LIB_SPEC='@ITCL_STUB_LIB_SPEC@' ++itcl_STUB_LIB_SPEC='@itcl_STUB_LIB_SPEC@' ++ITCL_STUB_LIB_SPEC='@itcl_STUB_LIB_SPEC@' ++ ++# String to pass to linker to pick up the Itcl stub library from its ++# build directory. ++itcl_BUILD_STUB_LIB_PATH='@itcl_BUILD_STUB_LIB_PATH@' ++ITCL_BUILD_STUB_LIB_PATH='@itcl_BUILD_STUB_LIB_PATH@' ++ ++# String to pass to linker to pick up the Itcl stub library from its ++# installed directory. ++itcl_STUB_LIB_PATH='@itcl_STUB_LIB_PATH@' ++ITCL_STUB_LIB_PATH='@itcl_STUB_LIB_PATH@' + + # Location of the top-level source directories from which [incr Tcl] + # was built. This is the directory that contains generic, unix, etc. + # If [incr Tcl] was compiled in a different place than the directory + # containing the source files, this points to the location of the sources, + # not the location where [incr Tcl] was compiled. +-ITCL_SRC_DIR='@ITCL_SRC_DIR@' ++itcl_SRC_DIR='@itcl_SRC_DIR@' ++ITCL_SRC_DIR='@itcl_SRC_DIR@' +diff -Naur insight-6.8.orig/itcl/itcl/library/itcl.tcl insight-6.8.new/itcl/itcl/library/itcl.tcl +--- insight-6.8.orig/itcl/itcl/library/itcl.tcl 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/library/itcl.tcl 2008-08-18 18:56:39.000000000 +0200 +@@ -9,7 +9,7 @@ + # mmclennan@lucent.com + # http://www.tcltk.com/itcl + # +-# RCS: $Id: itcl.tcl,v 1.4 2001/04/14 21:35:54 davygrvy Exp $ ++# RCS: $Id: itcl.tcl,v 1.5 2002/09/29 19:30:27 davygrvy Exp $ + # ---------------------------------------------------------------------- + # Copyright (c) 1993-1998 Lucent Technologies, Inc. + # ====================================================================== +@@ -50,19 +50,17 @@ + # USAGE: itcl::class name body + # Adds an entry for the given class declaration. + # +-foreach cmd {itcl::class itcl_class} { +- auto_mkindex_parser::command $cmd {name body} { +- variable index +- variable scriptFile +- append index "set [list auto_index([fullname $name])]" +- append index " \[list source \[file join \$dir [list $scriptFile]\]\]\n" ++auto_mkindex_parser::command itcl::class {name body} { ++ variable index ++ variable scriptFile ++ append index "set [list auto_index([fullname $name])]" ++ append index " \[list source \[file join \$dir [list $scriptFile]\]\]\n" + +- variable parser +- variable contextStack +- set contextStack [linsert $contextStack 0 $name] +- $parser eval $body +- set contextStack [lrange $contextStack 1 end] +- } ++ variable parser ++ variable contextStack ++ set contextStack [linsert $contextStack 0 $name] ++ $parser eval $body ++ set contextStack [lrange $contextStack 1 end] + } + + # +diff -Naur insight-6.8.orig/itcl/itcl/mac/itclMacApplication.r insight-6.8.new/itcl/itcl/mac/itclMacApplication.r +--- insight-6.8.orig/itcl/itcl/mac/itclMacApplication.r 2003-01-21 21:40:27.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/mac/itclMacApplication.r 1970-01-01 01:00:00.000000000 +0100 +@@ -1,99 +0,0 @@ +-/* +- * tclMacApplication.r -- +- * +- * This file creates resources for use Tcl Shell application. +- * It should be viewed as an example of how to create a new +- * Tcl application using the shared Tcl libraries. +- * +- * Copyright (c) 1996 Sun Microsystems, Inc. +- * +- * See the file "license.terms" for information on usage and redistribution +- * of this file, and for a DISCLAIMER OF ALL WARRANTIES. +- * +- * SCCS: @(#) tclMacApplication.r 1.1 96/09/11 21:12:54 +- */ +- +-#include +-#include +- +-/* +- * The folowing include and defines help construct +- * the version string for Tcl. +- */ +- +-#define RESOURCE_INCLUDED +-#include "tcl.h" +-#include "itcl.h" +-#include "itclPatch.h" +- +-/* Should really have one of these in itcl too, but for now... */ +- +-#if (TCL_RELEASE_LEVEL == 0) +-# define RELEASE_LEVEL alpha +-#elif (TCL_RELEASE_LEVEL == 1) +-# define RELEASE_LEVEL beta +-#elif (TCL_RELEASE_LEVEL == 2) +-# define RELEASE_LEVEL final +-#endif +- +-#if (TCL_RELEASE_LEVEL == 2) +-# define MINOR_VERSION (ITCL_MINOR_VERSION * 16) + TCL_RELEASE_SERIAL +-#else +-# define MINOR_VERSION ITCL_MINOR_VERSION * 16 +-#endif +- +-resource 'vers' (1) { +- ITCL_MAJOR_VERSION, MINOR_VERSION, +- RELEASE_LEVEL, 0x00, verUS, +- ITCL_PATCH_LEVEL, +- ITCL_PATCH_LEVEL ", by Michael McLennan � Lucent Technologies, Inc." +-}; +- +-resource 'vers' (2) { +- ITCL_MAJOR_VERSION, MINOR_VERSION, +- RELEASE_LEVEL, 0x00, verUS, +- ITCL_PATCH_LEVEL, +- "Itcl Shell " ITCL_PATCH_LEVEL " � 1993-1998" +-}; +- +-#define ITCL_APP_CREATOR 'ITcL' +- +-type ITCL_APP_CREATOR as 'STR '; +-resource ITCL_APP_CREATOR (0, purgeable) { +- "Itcl Shell " ITCL_PATCH_LEVEL " � 1993-1998" +-}; +- +-/* +- * The 'kind' resource works with a 'BNDL' in Macintosh Easy Open +- * to affect the text the Finder displays in the "kind" column and +- * file info dialog. This information will be applied to all files +- * with the listed creator and type. +- */ +- +-resource 'kind' (128, "Itcl kind", purgeable) { +- ITCL_APP_CREATOR, +- 0, /* region = USA */ +- { +- 'APPL', "Itcl Shell", +- } +-}; +- +-/* +- * The following resource is used when creating the 'env' variable in +- * the Macintosh environment. The creation mechanisim looks for the +- * 'STR#' resource named "Tcl Environment Variables" rather than a +- * specific resource number. (In other words, feel free to change the +- * resource id if it conflicts with your application.) Each string in +- * the resource must be of the form "KEYWORD=SOME STRING". See Tcl +- * documentation for futher information about the env variable. +- * +- * A good example of something you may want to set is: "TCL_LIBRARY=My +- * disk:etc." +- */ +- +-resource 'STR#' (128, "Tcl Environment Variables") { +- { "SCHEDULE_NAME=Agent Controller Schedule", +- "SCHEDULE_PATH=Lozoya:System Folder:Tcl Lib:Tcl-Scheduler" +- }; +-}; +- +diff -Naur insight-6.8.orig/itcl/itcl/mac/itclMacLibrary.r insight-6.8.new/itcl/itcl/mac/itclMacLibrary.r +--- insight-6.8.orig/itcl/itcl/mac/itclMacLibrary.r 2003-01-21 21:40:27.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/mac/itclMacLibrary.r 1970-01-01 01:00:00.000000000 +0100 +@@ -1,154 +0,0 @@ +-/* +- * tclMacLibrary.r -- +- * +- * This file creates resources used by the Tcl shared library. +- * Many thanks go to "Jay Lieske, Jr." who +- * wrote the initial version of this file. +- * +- * Copyright (c) 1996 Sun Microsystems, Inc. +- * +- * See the file "license.terms" for information on usage and redistribution +- * of this file, and for a DISCLAIMER OF ALL WARRANTIES. +- * +- * SCCS: @(#) tclMacLibrary.r 1.3 96/09/12 17:40:07 +- */ +- +-#include +-#include +- +-/* +- * The folowing include and defines help construct +- * the version string for Tcl. +- */ +- +-#define RESOURCE_INCLUDED +-#include "tcl.h" +-#include "itcl.h" +- +-#if (TCL_RELEASE_LEVEL == 0) +-# define RELEASE_LEVEL alpha +-#elif (TCL_RELEASE_LEVEL == 1) +-# define RELEASE_LEVEL beta +-#elif (TCL_RELEASE_LEVEL == 2) +-# define RELEASE_LEVEL final +-#endif +- +-#if (TCL_RELEASE_LEVEL == 2) +-# define MINOR_VERSION (ITCL_MINOR_VERSION * 16) + TCL_RELEASE_SERIAL +-#else +-# define MINOR_VERSION ITCL_MINOR_VERSION * 16 +-#endif +- +-resource 'vers' (1) { +- ITCL_MAJOR_VERSION, MINOR_VERSION, +- RELEASE_LEVEL, 0x00, verUS, +- ITCL_PATCH_LEVEL, +- ITCL_PATCH_LEVEL ", by Michael McLennan � Lucent Technologies, Inc." +-}; +- +-resource 'vers' (2) { +- ITCL_MAJOR_VERSION, MINOR_VERSION, +- RELEASE_LEVEL, 0x00, verUS, +- ITCL_PATCH_LEVEL, +- "Itcl Shell " ITCL_PATCH_LEVEL " � 1993-1998" +-}; +- +- +-/* +- * Currently the creator for all Tcl/Tk libraries and extensions +- * should be 'TclL'. This will allow those extension and libraries +- * to use the common icon for Tcl extensions. However, this signature +- * still needs to be approved by the signature police at Apple and may +- * change. +- */ +-#define ITCL_CREATOR 'ITcL' +-#define TCL_LIBRARY_RESOURCES 2000 +-#define ITCL_LIBRARY_RESOURCES 2000 +- +-/* +- * The 'BNDL' resource is the primary link between a file's +- * creator/type and its icon. This resource acts for all Tcl shared +- * libraries; other libraries will not need one and ought to use +- * custom icons rather than new file types for a different appearance. +- */ +- +-resource 'BNDL' (TCL_LIBRARY_RESOURCES, "Tcl bundle", purgeable) +-{ +- ITCL_CREATOR, +- 0, +- { /* array TypeArray: 2 elements */ +- /* [1] */ +- 'FREF', +- { /* array IDArray: 1 elements */ +- /* [1] */ +- 0, TCL_LIBRARY_RESOURCES +- }, +- /* [2] */ +- 'ICN#', +- { /* array IDArray: 1 elements */ +- /* [1] */ +- 0, TCL_LIBRARY_RESOURCES +- } +- } +-}; +- +-resource 'FREF' (TCL_LIBRARY_RESOURCES, purgeable) +-{ +- 'shlb', 0, "" +-}; +- +-type ITCL_CREATOR as 'STR '; +-resource ITCL_CREATOR (0, purgeable) { +- "Itcl Library " ITCL_PATCH_LEVEL " � 1993-1998" +-}; +- +-/* +- * The 'kind' resource works with a 'BNDL' in Macintosh Easy Open +- * to affect the text the Finder displays in the "kind" column and +- * file info dialog. This information will be applied to all files +- * with the listed creator and type. +- */ +- +-resource 'kind' (TCL_LIBRARY_RESOURCES, "Itcl kind", purgeable) { +- ITCL_CREATOR, +- 0, /* region = USA */ +- { +- 'shlb', "Itcl Library" +- } +-}; +- +- +-/* +- * The -16397 string will be displayed by Finder when a user +- * tries to open the shared library. The string should +- * give the user a little detail about the library's capabilities +- * and enough information to install the library in the correct location. +- * A similar string should be placed in all shared libraries. +- */ +-resource 'STR ' (-16397, purgeable) { +- "Itcl Library\n\n" +- "This is one of the libraries needed to run the Itcl flavor of the Tool Command Language programs. " +- "To work properly, it should be placed in the �Tool Command Language� folder " +- "within the Extensions folder." +-}; +- +-/* +- * The mechanisim below loads Tcl source into the resource fork of the +- * application. The example below creates a TEXT resource named +- * "Init" from the file "init.tcl". This allows applications to use +- * Tcl to define the behavior of the application without having to +- * require some predetermined file structure - all needed Tcl "files" +- * are located within the application. To source a file for the +- * resource fork the source command has been modified to support +- * sourcing from resources. In the below case "source -rsrc {Init}" +- * will load the TEXT resource named "Init". +- */ +- +-#include "itclMacTclCode.r" +- +-data 'TEXT' (ITCL_LIBRARY_RESOURCES+1,"pkgIndex",purgeable, preload) { +- "# Tcl package index file, version 1.0\n" +- "package ifneeded Itcl 3.1 [list load [file join $dir itcl31[info sharedlibextension]] Itcl]\n" +-}; +- +- +diff -Naur insight-6.8.orig/itcl/itcl/mac/itclMacResource.r insight-6.8.new/itcl/itcl/mac/itclMacResource.r +--- insight-6.8.orig/itcl/itcl/mac/itclMacResource.r 2003-01-21 21:40:27.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/mac/itclMacResource.r 1970-01-01 01:00:00.000000000 +0100 +@@ -1,94 +0,0 @@ +-/* +- * tclMacResource.r -- +- * +- * This file creates resources for use in a simple shell. +- * This is designed to be an example of using the Tcl libraries +- * statically in a Macintosh Application. For an example of +- * of using the dynamic libraries look at tclMacApplication.r. +- * +- * Copyright (c) 1993-94 Lockheed Missle & Space Company +- * Copyright (c) 1994-96 Sun Microsystems, Inc. +- * +- * See the file "license.terms" for information on usage and redistribution +- * of this file, and for a DISCLAIMER OF ALL WARRANTIES. +- * +- * SCCS: @(#) tclMacResource.r 1.14 96/09/11 21:14:36 +- */ +- +-#include +-#include +- +-/* +- * The folowing include and defines help construct +- * the version string for Tcl. +- */ +- +-#define RESOURCE_INCLUDED +-#include "tcl.h" +-#include "itcl.h" +-#include "itclPatch.h" +- +-#if (TCL_RELEASE_LEVEL == 0) +-# define RELEASE_LEVEL alpha +-#elif (TCL_RELEASE_LEVEL == 1) +-# define RELEASE_LEVEL beta +-#elif (TCL_RELEASE_LEVEL == 2) +-# define RELEASE_LEVEL final +-#endif +- +-#if (TCL_RELEASE_LEVEL == 2) +-# define MINOR_VERSION (ITCL_MINOR_VERSION * 16) + TCL_RELEASE_SERIAL +-#else +-# define MINOR_VERSION ITCL_MINOR_VERSION * 16 +-#endif +- +-resource 'vers' (1) { +- ITCL_MAJOR_VERSION, MINOR_VERSION, +- RELEASE_LEVEL, 0x00, verUS, +- ITCL_PATCH_LEVEL, +- ITCL_PATCH_LEVEL ", by Michael McLennan � Lucent Technologies, Inc." +-}; +- +-resource 'vers' (2) { +- ITCL_MAJOR_VERSION, MINOR_VERSION, +- RELEASE_LEVEL, 0x00, verUS, +- ITCL_PATCH_LEVEL, +- "Simple Itcl Shell " ITCL_PATCH_LEVEL " � 1993-1998" +-}; +- +-#define TCL_LIBRARY_RESOURCES 1000 +-#define ITCL_LIBRARY_RESOURCES 2000 +- +-/* +- * The mechanisim below loads Tcl source into the resource fork of the +- * application. The example below creates a TEXT resource named +- * "Init" from the file "init.tcl". This allows applications to use +- * Tcl to define the behavior of the application without having to +- * require some predetermined file structure - all needed Tcl "files" +- * are located within the application. To source a file for the +- * resource fork the source command has been modified to support +- * sourcing from resources. In the below case "source -rsrc {Init}" +- * will load the TEXT resource named "Init". +- */ +-read 'TEXT' (TCL_LIBRARY_RESOURCES, "Init", purgeable, preload) ":::tcl" TCL_VERSION ":library:init.tcl"; +-read 'TEXT' (ITCL_LIBRARY_RESOURCES, "itcl", purgeable,preload) "::library:itcl.tcl"; +- +-/* +- * The following resource is used when creating the 'env' variable in +- * the Macintosh environment. The creation mechanisim looks for the +- * 'STR#' resource named "Tcl Environment Variables" rather than a +- * specific resource number. (In other words, feel free to change the +- * resource id if it conflicts with your application.) Each string in +- * the resource must be of the form "KEYWORD=SOME STRING". See Tcl +- * documentation for futher information about the env variable. +- * +- * A good example of something you may want to set is: "TCL_LIBRARY=My +- * disk:etc." +- */ +- +-resource 'STR#' (128, "Tcl Environment Variables") { +- { "SCHEDULE_NAME=Agent Controller Schedule", +- "SCHEDULE_PATH=Lozoya:System Folder:Tcl Lib:Tcl-Scheduler" +- }; +-}; +- +diff -Naur insight-6.8.orig/itcl/itcl/mac/itclMacTclCode.r insight-6.8.new/itcl/itcl/mac/itclMacTclCode.r +--- insight-6.8.orig/itcl/itcl/mac/itclMacTclCode.r 2003-01-21 21:40:27.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/mac/itclMacTclCode.r 1970-01-01 01:00:00.000000000 +0100 +@@ -1,32 +0,0 @@ +-/* +- * itclMacTclCode.r +- * +- * This file includes the Itcl code that is needed to startup Tcl. +- * It is to be included either in the resource fork of the shared library, or in the +- * resource fork of the application for a statically bound application. +- * +- * Jim Ingham +- * Lucent Technologies 1996 +- * +- */ +- +-#include +-#include +- +- +- +-#define ITCL_LIBRARY_RESOURCES 2500 +- +-/* +- * The mechanisim below loads Tcl source into the resource fork of the +- * application. The example below creates a TEXT resource named +- * "Init" from the file "init.tcl". This allows applications to use +- * Tcl to define the behavior of the application without having to +- * require some predetermined file structure - all needed Tcl "files" +- * are located within the application. To source a file for the +- * resource fork the source command has been modified to support +- * sourcing from resources. In the below case "source -rsrc {Init}" +- * will load the TEXT resource named "Init". +- */ +- +-read 'TEXT' (ITCL_LIBRARY_RESOURCES, "itcl", purgeable,preload) "::library:itcl.tcl"; +diff -Naur insight-6.8.orig/itcl/itcl/mac/itclStaticApplication.r insight-6.8.new/itcl/itcl/mac/itclStaticApplication.r +--- insight-6.8.orig/itcl/itcl/mac/itclStaticApplication.r 2003-01-21 21:40:27.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/mac/itclStaticApplication.r 1970-01-01 01:00:00.000000000 +0100 +@@ -1,26 +0,0 @@ +-/* +- * itkStaticPkgIndex.r -- +- * +- * This file creates resources which bind in the static version of the +- * pkgIndex files. +- * +- * Copyright (c) 1996 Sun Microsystems, Inc. +- * +- * See the file "license.terms" for information on usage and redistribution +- * of this file, and for a DISCLAIMER OF ALL WARRANTIES. +- * +- * SCCS: @(#) tkMacLibrary.r 1.5 96/10/03 17:54:21 +- */ +- +-#include +-#include +-#include +- +-#define ITCL_LIBRARY_RESOURCES 2500 +- +-#include "itclMacTclCode.r" +- +-data 'TEXT' (ITCL_LIBRARY_RESOURCES+20,"itcl:pkgIndex",purgeable, preload) { +- "# Tcl package index file, version 1.0\n" +- "package ifneeded Itcl 2.2 {load {} Itcl}\n" +-}; +diff -Naur insight-6.8.orig/itcl/itcl/mac/MW_ItclHeader.pch insight-6.8.new/itcl/itcl/mac/MW_ItclHeader.pch +--- insight-6.8.orig/itcl/itcl/mac/MW_ItclHeader.pch 2003-01-21 21:40:27.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/mac/MW_ItclHeader.pch 1970-01-01 01:00:00.000000000 +0100 +@@ -1,74 +0,0 @@ +-/* +- * MW_TclHeader.pch -- +- * +- * This file is the source for a pre-compilied header that gets used +- * for all files in the Tcl projects. This make compilies go a bit +- * faster. This file is only intended to be used in the MetroWerks +- * CodeWarrior environment. It essentially acts as a place to set +- * compiler flags. See MetroWerks documention for more details. +- * +- * Copyright (c) 1995-1997 Sun Microsystems, Inc. +- * +- * See the file "license.terms" for information on usage and redistribution +- * of this file, and for a DISCLAIMER OF ALL WARRANTIES. +- * +- * SCCS: @(#) MW_TclHeader.pch 1.27 97/11/20 18:45:25 +- */ +- +-/* +- * To use the compilied header you need to set the "Prefix file" in +- * the "C/C++ Language" preference panel to point to the created +- * compilied header. The name of the header depends on the +- * architecture we are compiling for (see the code below). For +- * example, for a 68k app the prefix file should be: MW_TclHeader68K. +- */ +-#if __POWERPC__ +-#pragma precompile_target "MW_ItclHeaderPPC" +-#include "MW_TclHeaderPPC" +-#elif __CFM68K__ +-#pragma precompile_target "MW_ItclHeaderCFM68K" +-#include "MW_TclHeaderCFM68K" +-#else +-#pragma precompile_target "MW_ItclHeader68K" +-#include "MW_TclHeader68K" +-#endif +- +-/* +- * Macintosh Tcl must be compiled with certain compiler options to +- * ensure that it will work correctly. The following pragmas are +- * used to ensure that those options are set correctly. An error +- * will occur at compile time if they are not set correctly. +- */ +- +-#if !__option(enumsalwaysint) +-#error Tcl requires the Metrowerks setting "Enums always ints". +-#endif +- +-#if !defined(__POWERPC__) +-#if !__option(far_data) +-#error Tcl requires the Metrowerks setting "Far data". +-#endif +-#endif +- +-#if !defined(__POWERPC__) +-#if !__option(fourbyteints) +-#error Tcl requires the Metrowerks setting "4 byte ints". +-#endif +-#endif +- +-#if !defined(__POWERPC__) +-#if !__option(IEEEdoubles) +-#error Tcl requires the Metrowerks setting "8 byte doubles". +-#endif +-#endif +- +-/* +- * Place any includes below that will are needed by the majority of the +- * and is OK to be in any file in the system. The pragma's are used +- * to control what functions are exported in the Tcl shared library. +- */ +- +-#pragma export on +-#include "itcl.h" +-#pragma export reset +- +diff -Naur insight-6.8.orig/itcl/itcl/mac/pkgIndex.tcl insight-6.8.new/itcl/itcl/mac/pkgIndex.tcl +--- insight-6.8.orig/itcl/itcl/mac/pkgIndex.tcl 2003-01-21 21:40:27.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/mac/pkgIndex.tcl 1970-01-01 01:00:00.000000000 +0100 +@@ -1,3 +0,0 @@ +-# Tcl package index file, version 1.0 +- +-package ifneeded Itcl 3.1 [list load [file join $dir itcl31[info sharedlibextension]] Itcl] +diff -Naur insight-6.8.orig/itcl/itcl/mac/tclMacAppInit.c insight-6.8.new/itcl/itcl/mac/tclMacAppInit.c +--- insight-6.8.orig/itcl/itcl/mac/tclMacAppInit.c 2003-01-21 21:40:27.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/mac/tclMacAppInit.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,227 +0,0 @@ +-/* +- * tclMacAppInit.c -- +- * +- * Provides a version of the Tcl_AppInit procedure for the example shell. +- * +- * Copyright (c) 1993-1994 Lockheed Missle & Space Company, AI Center +- * Copyright (c) 1995-1997 Sun Microsystems, Inc. +- * +- * See the file "license.terms" for information on usage and redistribution +- * of this file, and for a DISCLAIMER OF ALL WARRANTIES. +- * +- * SCCS: @(#) tclMacAppInit.c 1.20 97/07/28 11:03:58 +- */ +- +-/* include tclInt.h for access to namespace API */ +-#include "tclInt.h" +- +-#include "tclInt.h" +-#include "tclPort.h" +-#include "tclMac.h" +-#include "tclMacInt.h" +- +-#include "itcl.h" +- +-#if defined(THINK_C) +-# include +-#elif defined(__MWERKS__) +-# include +-short InstallConsole _ANSI_ARGS_((short fd)); +-#endif +- +-#ifdef TCL_TEST +-EXTERN int TclObjTest_Init _ANSI_ARGS_((Tcl_Interp *interp)); +-EXTERN int Tcltest_Init _ANSI_ARGS_((Tcl_Interp *interp)); +-#endif /* TCL_TEST */ +- +-/* +- * Forward declarations for procedures defined later in this file: +- */ +- +-static int MacintoshInit _ANSI_ARGS_((void)); +- +-/* +- *---------------------------------------------------------------------- +- * +- * main -- +- * +- * Main program for tclsh. This file can be used as a prototype +- * for other applications using the Tcl library. +- * +- * Results: +- * None. This procedure never returns (it exits the process when +- * it's done. +- * +- * Side effects: +- * This procedure initializes the Macintosh world and then +- * calls Tcl_Main. Tcl_Main will never return except to exit. +- * +- *---------------------------------------------------------------------- +- */ +- +-void +-main( +- int argc, /* Number of arguments. */ +- char **argv) /* Array of argument strings. */ +-{ +- char *newArgv[2]; +- +- if (MacintoshInit() != TCL_OK) { +- Tcl_Exit(1); +- } +- +- argc = 1; +- newArgv[0] = "itclsh"; +- newArgv[1] = NULL; +- Tcl_Main(argc, newArgv, Tcl_AppInit); +-} +- +-/* +- *---------------------------------------------------------------------- +- * +- * Tcl_AppInit -- +- * +- * This procedure performs application-specific initialization. +- * Most applications, especially those that incorporate additional +- * packages, will have their own version of this procedure. +- * +- * Results: +- * Returns a standard Tcl completion code, and leaves an error +- * message in interp->result if an error occurs. +- * +- * Side effects: +- * Depends on the startup script. +- * +- *---------------------------------------------------------------------- +- */ +- +-int +-Tcl_AppInit( +- Tcl_Interp *interp) /* Interpreter for application. */ +-{ +- if (Tcl_Init(interp) == TCL_ERROR) { +- return TCL_ERROR; +- } +- +-#ifdef TCL_TEST +- if (Tcltest_Init(interp) == TCL_ERROR) { +- return TCL_ERROR; +- } +- Tcl_StaticPackage(interp, "Tcltest", Tcltest_Init, +- (Tcl_PackageInitProc *) NULL); +- if (TclObjTest_Init(interp) == TCL_ERROR) { +- return TCL_ERROR; +- } +-#endif /* TCL_TEST */ +- +- /* +- * Call the init procedures for included packages. Each call should +- * look like this: +- * +- * if (Mod_Init(interp) == TCL_ERROR) { +- * return TCL_ERROR; +- * } +- * +- * where "Mod" is the name of the module. +- */ +- if (Itcl_Init(interp) == TCL_ERROR) { +- return TCL_ERROR; +- } +- Tcl_StaticPackage(interp, "Itcl", Itcl_Init, Itcl_SafeInit); +- +- /* +- * This is itclsh, so import all [incr Tcl] commands by +- * default into the global namespace. Fix up the autoloader +- * to do the same. +- */ +- if (Tcl_Import(interp, Tcl_GetGlobalNamespace(interp), +- "::itcl::*", /* allowOverwrite */ 1) != TCL_OK) { +- return TCL_ERROR; +- } +- +- if (Tcl_Eval(interp, "auto_mkindex_parser::slavehook { _%@namespace import -force ::itcl::* }") != TCL_OK) { +- return TCL_ERROR; +- } +- +- /* +- * Call Tcl_CreateCommand for application-specific commands, if +- * they weren't already created by the init procedures called above. +- * Each call would loo like this: +- * +- * Tcl_CreateCommand(interp, "tclName", CFuncCmd, NULL, NULL); +- */ +- +- /* +- * Specify a user-specific startup script to invoke if the application +- * is run interactively. On the Mac we can specifiy either a TEXT resource +- * which contains the script or the more UNIX like file location +- * may also used. (I highly recommend using the resource method.) +- */ +- +- Tcl_SetVar(interp, "tcl_rcRsrcName", "itclshrc", TCL_GLOBAL_ONLY); +- /* Tcl_SetVar(interp, "tcl_rcFileName", "~/.itclshrc", TCL_GLOBAL_ONLY); */ +- +- return TCL_OK; +-} +- +-/* +- *---------------------------------------------------------------------- +- * +- * MacintoshInit -- +- * +- * This procedure calls initalization routines to set up a simple +- * console on a Macintosh. This is necessary as the Mac doesn't +- * have a stdout & stderr by default. +- * +- * Results: +- * Returns TCL_OK if everything went fine. If it didn't the +- * application should probably fail. +- * +- * Side effects: +- * Inits the appropiate console package. +- * +- *---------------------------------------------------------------------- +- */ +- +-static int +-MacintoshInit() +-{ +-#if GENERATING68K && !GENERATINGCFM +- SetApplLimit(GetApplLimit() - (TCL_MAC_68K_STACK_GROWTH)); +-#endif +- MaxApplZone(); +- +-#if defined(THINK_C) +- +- /* Set options for Think C console package */ +- /* The console package calls the Mac init calls */ +- console_options.pause_atexit = 0; +- console_options.title = "\pTcl Interpreter"; +- +-#elif defined(__MWERKS__) +- +- /* Set options for CodeWarrior SIOUX package */ +- SIOUXSettings.autocloseonquit = true; +- SIOUXSettings.showstatusline = true; +- SIOUXSettings.asktosaveonclose = false; +- InstallConsole(0); +- SIOUXSetTitle("\pTcl Interpreter"); +- +-#elif defined(applec) +- +- /* Init packages used by MPW SIOW package */ +- InitGraf((Ptr)&qd.thePort); +- InitFonts(); +- InitWindows(); +- InitMenus(); +- TEInit(); +- InitDialogs(nil); +- InitCursor(); +- +-#endif +- +- Tcl_MacSetEventProc((Tcl_MacConvertEventPtr) SIOUXHandleOneEvent); +- +- /* No problems with initialization */ +- return TCL_OK; +-} +diff -Naur insight-6.8.orig/itcl/itcl/Makefile.in insight-6.8.new/itcl/itcl/Makefile.in +--- insight-6.8.orig/itcl/itcl/Makefile.in 2008-08-18 18:53:54.000000000 +0200 ++++ insight-6.8.new/itcl/itcl/Makefile.in 2008-08-18 19:12:19.000000000 +0200 +@@ -7,232 +7,146 @@ + # replaced in the actual Makefile. + # + # Copyright (c) 1999 Scriptics Corporation. ++# Copyright (c) 2002-2004 ActiveState Corporation. + # + # See the file "license.terms" for information on usage and redistribution + # of this file, and for a DISCLAIMER OF ALL WARRANTIES. + # +-# RCS: @(#) $Id: Makefile.in,v 1.2.4.4 2001/07/13 00:57:11 mdejong Exp $ ++# RCS: @(#) $Id: Makefile.in,v 1.27 2005/03/25 22:58:48 dgp Exp $ + + #======================================================================== +-# Edit the following few lines when writing a new extension ++# The names of the source files is defined in the configure script. ++# The object files are used for linking into the final library. ++# This will be used when a dist target is added to the Makefile. ++# It is not important to specify the directory, as long as it is the ++# $(srcdir) or in the generic, win or unix subdirectory. + #======================================================================== + ++PKG_SOURCES = @PKG_SOURCES@ ++PKG_OBJECTS = @PKG_OBJECTS@ ++ ++PKG_STUB_SOURCES = @PKG_STUB_SOURCES@ ++PKG_STUB_OBJECTS = @PKG_STUB_OBJECTS@ ++ + #======================================================================== +-# Change the name of the variable "exampleA_LIB_FILE" to match the one +-# used in the configure script. This is the parameterized name of the +-# library that we are building. ++# PKG_TCL_SOURCES identifies Tcl runtime files that are associated with ++# this package that need to be installed, if any. + #======================================================================== + +-lib_BINARIES=$(itcl_LIB_FILE) $(itclstub_LIB_FILE) +-BINARIES=$(lib_BINARIES) ++PKG_TCL_SOURCES = @PKG_TCL_SOURCES@ + + #======================================================================== +-# Enumerate the names of the source files included in this package. +-# This will be used when a dist target is added to the Makefile. ++# This is a list of header files to be installed ++# itk.h includes itclInt.h, which needs itclIntDecls.h, ++# so we must install them. + #======================================================================== + +-WIN_DIR=$(srcdir)/win +-UNIX_DIR=$(srcdir)/unix +-GENERIC_DIR=$(srcdir)/generic +-PLATFORM_DIR=@PLATFORM_DIR@ +- +-WIN_SOURCES=$(PLATFORM_DIR)/tclAppInit.c \ +- $(PLATFORM_DIR)/dllEntryPoint.c +-UNIX_SOURCES=$(PLATFORM_DIR)/tclAppInit.c +-GENERIC_SOURCES = $(GENERIC_DIR)/itclStubInit.c \ +- $(GENERIC_DIR)/itclStubLib.c \ +- $(GENERIC_DIR)/itcl_bicmds.c \ +- $(GENERIC_DIR)/itcl_class.c \ +- $(GENERIC_DIR)/itcl_cmds.c \ +- $(GENERIC_DIR)/itcl_ensemble.c \ +- $(GENERIC_DIR)/itcl_linkage.c \ +- $(GENERIC_DIR)/itcl_methods.c \ +- $(GENERIC_DIR)/itcl_migrate.c \ +- $(GENERIC_DIR)/itcl_objects.c \ +- $(GENERIC_DIR)/itcl_obsolete.c \ +- $(GENERIC_DIR)/itcl_parse.c \ +- $(GENERIC_DIR)/itcl_util.c +-PLATFORM_SOURCES = @PLATFORM_SOURCES@ +-itcl_SOURCES = $(PLATFORM_SOURCES) $(GENERIC_SOURCES) +-SOURCES = $(itcl_SOURCES) +- +-#======================================================================== +-# Enumerate the names of the object files included in this package. +-# These objects are created and linked into the final library. In +-# most cases these object files will correspond to the source files +-# above. +-# ++PKG_HEADERS = @PKG_HEADERS@ ++ ++#======================================================================== ++# Nothing of the variables below this line need to be changed. Please ++# check the TARGETS section below to make sure the make targets are ++# correct. + #======================================================================== + +-WIN_OBJECTS = dllEntryPoint.$(OBJEXT) +-UNIX_OBJECTS = +-GENERIC_OBJECTS = itclStubInit.$(OBJEXT) \ +- itcl_bicmds.$(OBJEXT) \ +- itcl_class.$(OBJEXT) \ +- itcl_cmds.$(OBJEXT) \ +- itcl_ensemble.$(OBJEXT) \ +- itcl_linkage.$(OBJEXT) \ +- itcl_methods.$(OBJEXT) \ +- itcl_migrate.$(OBJEXT) \ +- itcl_objects.$(OBJEXT) \ +- itcl_obsolete.$(OBJEXT) \ +- itcl_parse.$(OBJEXT) \ +- itcl_util.$(OBJEXT) +-PLATFORM_OBJECTS = @PLATFORM_OBJECTS@ +-itclstub_OBJECTS = itclStubLib.$(OBJEXT) +-itcl_OBJECTS = $(PLATFORM_OBJECTS) $(GENERIC_OBJECTS) +-OBJECTS = $(itcl_OBJECTS) $(itclstub_OBJECTS) +- +-#======================================================================== +-# The substitution of "exampleA_LIB_FILE" into the variable name below +-# let's us refer to the objects for the library without knowing the name +-# of the library in advance. It also lets us use the "$@" variable in +-# the rule for building the library, so we can refer to both the list of +-# objects and the library itself in a platform-independent manner. ++#======================================================================== ++# Change the name of the variable "exampleA_LIB_FILE" to match the one ++# used in the configure script. This is the parameterized name of the ++# library that we are building. + #======================================================================== + +-itcl_LIB_FILE = @itcl_LIB_FILE@ +-@itcl_LIB_FILE@_OBJECTS = $(itcl_OBJECTS) ++PKG_LIB_FILE = @PKG_LIB_FILE@ ++PKG_STUB_LIB_FILE = @PKG_STUB_LIB_FILE@ + +-itclstub_LIB_FILE = @itclstub_LIB_FILE@ +-@itclstub_LIB_FILE@_OBJECTS = $(itclstub_OBJECTS) ++lib_BINARIES = $(PKG_LIB_FILE) $(PKG_STUB_LIB_FILE) ++BINARIES = $(lib_BINARIES) + +-#======================================================================== +-# This is a list of header files to be installed +-# itk.h includes itclInt.h, which needs itclIntDecls.h, so we must install them. +-#======================================================================== ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++libdir = @libdir@ ++datadir = @datadir@ ++mandir = @mandir@ ++includedir = @includedir@ ++ ++DESTDIR = ++ ++PKG_DIR = $(PACKAGE_NAME)$(PACKAGE_VERSION) ++pkgdatadir = $(datadir)/$(PKG_DIR) ++pkglibdir = $(libdir)/$(PKG_DIR) ++pkgincludedir = $(includedir)/$(PKG_DIR) ++ ++top_builddir = . ++ ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++ ++PACKAGE_NAME = @PACKAGE_NAME@ ++PACKAGE_VERSION = @PACKAGE_VERSION@ ++CC = @CC@ ++CFLAGS_DEFAULT = @CFLAGS_DEFAULT@ ++CFLAGS_WARNING = @CFLAGS_WARNING@ ++CLEANFILES = @CLEANFILES@ ++EXEEXT = @EXEEXT@ ++LDFLAGS_DEFAULT = @LDFLAGS_DEFAULT@ ++MAKE_LIB = @MAKE_LIB@ ++MAKE_SHARED_LIB = @MAKE_SHARED_LIB@ ++MAKE_STATIC_LIB = @MAKE_STATIC_LIB@ ++MAKE_STUB_LIB = @MAKE_STUB_LIB@ ++OBJEXT = @OBJEXT@ ++RANLIB_LIB = @RANLIB@ ++RANLIB_STUB = @RANLIB_STUB@ ++SHLIB_CFLAGS = @SHLIB_CFLAGS@ ++SHLIB_LD = @SHLIB_LD@ ++SHLIB_LD_FLAGS = @SHLIB_LD_FLAGS@ ++SHLIB_LD_LIBS = @SHLIB_LD_LIBS@ ++STLIB_LD = @STLIB_LD@ ++TCL_DEFS = @TCL_DEFS@ ++TCL_BIN_DIR = @TCL_BIN_DIR@ ++TCL_SRC_DIR = @TCL_SRC_DIR@ ++# This is necessary for packages that use private Tcl headers ++TCL_TOP_DIR_NATIVE = @TCL_TOP_DIR_NATIVE@ + +-GENERIC_HDRS= \ +- $(srcdir)/generic/itcl.h \ +- $(srcdir)/generic/itclDecls.h \ +- $(srcdir)/generic/itclInt.h \ +- $(srcdir)/generic/itclIntDecls.h ++# Not used, but retained for reference of what libs Tcl required ++TCL_LIBS = @TCL_LIBS@ + + #======================================================================== +-# Add additional lines to handle any additional AC_SUBST cases that +-# have been added to the configure script. ++# TCLLIBPATH seeds the auto_path in Tcl's init.tcl so we can test our ++# package without installing. The other environment variables allow us ++# to test against an uninstalled Tcl. Add special env vars that you ++# require for testing here (like TCLX_LIBRARY). + #======================================================================== + +-SAMPLE_NEW_VAR=@SAMPLE_NEW_VAR@ ++EXTRA_PATH = $(top_builddir):$(TCL_BIN_DIR) ++TCLSH_ENV = TCL_LIBRARY=`@CYGPATH@ $(TCL_SRC_DIR)/library` \ ++ ITCL_LIBRARY=`@CYGPATH@ $(srcdir)/library` \ ++ @LD_LIBRARY_PATH_VAR@="$(EXTRA_PATH):$(@LD_LIBRARY_PATH_VAR@)" \ ++ PATH="$(EXTRA_PATH):$(PATH)" \ ++ TCLLIBPATH="$(top_builddir)" ++TCLSH_PROG = @TCLSH_PROG@ ++TCLSH = $(TCLSH_ENV) $(TCLSH_PROG) ++SHARED_BUILD = @SHARED_BUILD@ + +-# CYGNUS LOCAL +-ITCL_LIBRARY = @datadir@/itcl$(VERSION) +-# END CYGNUS LOCAL ++INCLUDES = @PKG_INCLUDES@ @TCL_INCLUDES@ + +-ITCL_GENERIC_DIR_NATIVE = @ITCL_GENERIC_DIR_NATIVE@ +-ITCL_UNIX_DIR_NATIVE = @ITCL_UNIX_DIR_NATIVE@ +-ITCL_WIN_DIR_NATIVE = @ITCL_WIN_DIR_NATIVE@ ++PKG_CFLAGS = @PKG_CFLAGS@ + +-#======================================================================== +-# Nothing of the variables below this line need to be changed. Please +-# check the TARGETS section below to make sure the make targets are +-# correct. +-#======================================================================== ++DEFS = @DEFS@ $(PKG_CFLAGS) \ ++ -DITCL_LIBRARY=\"$(pkglibdir)\" -DUSE_NON_CONST + +-SHELL = @SHELL@ ++CONFIG_CLEAN_FILES = @CONFIG_CLEAN_FILES@ Makefile itclConfig.sh pkgIndex.tcl + +-srcdir = @srcdir@ +-top_srcdir = @top_srcdir@ +-prefix = @prefix@ +-exec_prefix = @exec_prefix@ +- +-bindir = @bindir@ +-sbindir = @sbindir@ +-libexecdir = @libexecdir@ +-datadir = @datadir@ +-sysconfdir = @sysconfdir@ +-sharedstatedir = @sharedstatedir@ +-localstatedir = @localstatedir@ +-libdir = @libdir@ +-infodir = @infodir@ +-mandir = @mandir@ +-includedir = @includedir@ +-oldincludedir = /usr/include +- +-pkgdatadir = $(datadir)/@PACKAGE@@VERSION@ +-pkglibdir = $(libdir)/@PACKAGE@@VERSION@ +-pkgincludedir = $(includedir)/@PACKAGE@@VERSION@ +- +-top_builddir = . +- +-# CYGNUS LOCAL +-INSTALL = @INSTALL@ +-# END CYGNUS LOCAL +-INSTALL_PROGRAM = @INSTALL_PROGRAM@ +-INSTALL_DATA = @INSTALL_DATA@ +-INSTALL_SCRIPT = @INSTALL_SCRIPT@ +-INSTALL_STRIP_FLAG = +-transform = @program_transform_name@ +- +-NORMAL_INSTALL = : +-PRE_INSTALL = : +-POST_INSTALL = : +-NORMAL_UNINSTALL = : +-PRE_UNINSTALL = : +-POST_UNINSTALL = : +- +-PACKAGE = @PACKAGE@ +-VERSION = @VERSION@ +-CC = @CC@ +-CFLAGS_DEBUG = @CFLAGS_DEBUG@ +-CFLAGS_DEFAULT = @CFLAGS_DEFAULT@ +-CFLAGS_OPTIMIZE = @CFLAGS_OPTIMIZE@ +-CLEANFILES = @CLEANFILES@ +-EXEEXT = @EXEEXT@ +-LDFLAGS_DEBUG = @LDFLAGS_DEBUG@ +-LDFLAGS_DEFAULT = @LDFLAGS_DEFAULT@ +-LDFLAGS_OPTIMIZE = @LDFLAGS_OPTIMIZE@ +-MAKE_LIB = @MAKE_LIB@ +-MAKE_SHARED_LIB = @MAKE_SHARED_LIB@ +-MAKE_STATIC_LIB = @MAKE_STATIC_LIB@ +-OBJEXT = @OBJEXT@ +-RANLIB = @RANLIB@ +-SHLIB_CFLAGS = @SHLIB_CFLAGS@ +-SHLIB_LD = @SHLIB_LD@ +-SHLIB_LDFLAGS = @SHLIB_LDFLAGS@ +-SHLIB_LD_LIBS = @SHLIB_LD_LIBS@ +-STLIB_LD = @STLIB_LD@ +-TCL_BIN_DIR = @TCL_BIN_DIR@ +-TCL_DEFS = @TCL_DEFS@ +-TCL_EXTRA_CFLAGS = @TCL_EXTRA_CFLAGS@ +-TCL_LD_FLAGS = @TCL_LD_FLAGS@ +-TCL_LIBS = @TCL_LIBS@ +-TCL_SHLIB_LD_LIBS = @TCL_SHLIB_LD_LIBS@ +-TCL_SRC_DIR = @TCL_SRC_DIR@ +-TCL_DBGX = @TCL_DBGX@ +-TCL_STUB_LIB_FILE = @TCL_STUB_LIB_FILE@ +-TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@ +-TCL_TOOL_DIR_NATIVE = @TCL_TOOL_DIR_NATIVE@ +-TCL_TOP_DIR_NATIVE = @TCL_TOP_DIR_NATIVE@ +-TCL_UNIX_DIR_NATIVE = @TCL_UNIX_DIR_NATIVE@ +-TCL_WIN_DIR_NATIVE = @TCL_WIN_DIR_NATIVE@ +-INCLUDE_DIR_NATIVE = @INCLUDE_DIR_NATIVE@ +-TCL_BMAP_DIR_NATIVE = @TCL_BMAP_DIR_NATIVE@ +-TCL_PLATFORM_DIR_NATIVE = @TCL_PLATFORM_DIR_NATIVE@ +-TCL_GENERIC_DIR_NATIVE = @TCL_GENERIC_DIR_NATIVE@ +-TCLSH_PROG = @TCLSH_PROG@ +-ITCL_INCLUDES = @ITCL_INCLUDES@ +- +-AUTOCONF = autoconf +- +-LDFLAGS = $(LDFLAGS_DEFAULT) +- +-INCLUDES = @TCL_INCLUDES@ @ITCL_INCLUDES@ +- +-EXTRA_CFLAGS = $(AC_FLAGS) $(PROTO_FLAGS) $(MEM_DEBUG_FLAGS) $(NO_DEPRECATED_FLAGS) $(TCL_EXTRA_CFLAGS) +- +-DEFS = @DEFS@ $(EXTRA_CFLAGS) -DITCL_LIBRARY=\"$(ITCL_LIBRARY)\" +- +-ACLOCAL_M4 = $(srcdir)/aclocal.m4 +-mkinstalldirs = $(SHELL) $(top_srcdir)/../config/mkinstalldirs +- +-CPPFLAGS = @CPPFLAGS@ +-LIBS = @LIBS@ +-AR = ar +-CFLAGS = @CFLAGS@ +-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +-CCLD = $(CC) +-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ ++CPPFLAGS = @CPPFLAGS@ ++LIBS = @PKG_LIBS@ @LIBS@ ++AR = @AR@ ++CFLAGS = @CFLAGS@ ++COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) + + #======================================================================== + # Start of user-definable TARGETS section +@@ -270,16 +184,11 @@ + #======================================================================== + + install-libraries: libraries +- $(mkinstalldirs) $(includedir) +- @echo "Installing header files in $(includedir)" +- @for i in $(GENERIC_HDRS) ; do \ +- echo "Installing $$i" ; \ +- $(INSTALL_DATA) $$i $(DESTDIR)$(includedir) ; \ +- done; +- @echo "Installing library files in $(ITCL_LIBRARY)" +- @for i in $(srcdir)/library/*.tcl ; do \ +- echo "Installing $$i" ; \ +- $(INSTALL_DATA) $$i $(DESTDIR)$(ITCL_LIBRARY) ; \ ++ @mkdir -p $(DESTDIR)$(includedir) ++ @echo "Installing header files in $(DESTDIR)$(includedir)" ++ @list='$(PKG_HEADERS)'; for i in $$list; do \ ++ echo "Installing $(srcdir)/$$i" ; \ ++ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(includedir) ; \ + done; + + #======================================================================== +@@ -288,105 +197,113 @@ + #======================================================================== + + install-doc: doc +- $(mkinstalldirs) $(DESTDIR)$(mandir)/mann +- @echo "Installing man pages in $(mandir)" +- @cd $(srcdir)/doc; for i in *.n; \ +- do \ ++ @mkdir -p $(DESTDIR)$(mandir)/mann ++ @echo "Installing man pages in $(DESTDIR)$(mandir)" ++ @cd $(srcdir)/doc; for i in *.n; do \ + echo "Installing $$i"; \ ++ rm -f $(DESTDIR)$(mandir)/mann/`basename $$i`; \ + sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \ + $$i > $(DESTDIR)$(mandir)/mann/$$i; \ + chmod 444 $(DESTDIR)$(mandir)/mann/$$i; \ +- done ++ done ++ ++test: binaries libraries ++ $(TCLSH) `@CYGPATH@ $(srcdir)/tests/all.tcl` -load "package require Itcl" $(TESTFLAGS) + +-test: $(TCLSH_PROG) +- $(TCLSH_PROG) `@CYGPATH@ $(srcdir)/tests/all.tcl` \ +- -exedir `@CYGPATH@ $(bindir)` $(TESTFLAGS) ++shell: binaries libraries ++ @$(TCLSH) $(SCRIPT) ++ ++gdb: ++ $(TCLSH_ENV) gdb $(TCLSH_PROG) $(SCRIPT) + + depend: + + #======================================================================== +-# Enumerate the names of the object files included in this package. +-# These objects are created and linked into the final library. In +-# most cases these object files will correspond to the source files +-# above. +-# +-# $(exampleA_LIB_FILE) should be listed as part of the BINARIES variable +-# at the top of the Makefile. That will ensure that this target is built +-# when you run "make binaries". ++# $(PKG_LIB_FILE) should be listed as part of the BINARIES variable ++# mentioned above. That will ensure that this target is built when you ++# run "make binaries". + # +-# You shouldn't need to modify this target, except to change the package +-# name from "exampleA" to your package's name. ++# The $(PKG_OBJECTS) objects are created and linked into the final ++# library. In most cases these object files will correspond to the ++# source files above. + #======================================================================== + +-$(itcl_LIB_FILE): $(itcl_OBJECTS) +- -rm -f $(itcl_LIB_FILE) +- @MAKE_LIB@ +- @POST_MAKE_LIB@ +- +-$(itclstub_LIB_FILE): $(itclstub_OBJECTS) +- -rm -f $(itclstub_LIB_FILE) +- @MAKE_STATIC_LIB@ +- @POST_MAKE_STATIC_LIB@ ++$(PKG_LIB_FILE): $(PKG_OBJECTS) ++ -rm -f $(PKG_LIB_FILE) ++ ${MAKE_LIB} ++ $(RANLIB_LIB) $(PKG_LIB_FILE) ++ ++$(PKG_STUB_LIB_FILE): $(PKG_STUB_OBJECTS) ++ -rm -f $(PKG_STUB_LIB_FILE) ++ ${MAKE_STUB_LIB} ++ $(RANLIB_STUB) $(PKG_STUB_LIB_FILE) + + #======================================================================== + # We need to enumerate the list of .c to .o lines here. +-# Unfortunately, there does not seem to be any other way to do this +-# in a Makefile-independent way. We can't use VPATH because it picks up +-# object files that may be located in the source directory. + # + # In the following lines, $(srcdir) refers to the toplevel directory + # containing your extension. If your sources are in a subdirectory, + # you will have to modify the paths to reflect this: + # +-# exampleA.$(OBJEXT): $(srcdir)/src/win/exampleA.c +-# $(COMPILE) -c `@CYGPATH@ $(srcdir)/src/win/exampleA.c` -o $@ +-#======================================================================== +- +-dllEntryPoint.$(OBJEXT): $(WIN_DIR)/dllEntryPoint.c +- $(COMPILE) -c `@CYGPATH@ $(WIN_DIR)/dllEntryPoint.c` -o $@ +- +-tclAppInit.$(OBJEXT): $(PLATFORM_DIR)/tclAppInit.c +- $(COMPILE) -c `@CYGPATH@ $(PLATFORM_DIR)/tclAppInit.c` -o $@ +- +-itclStubInit.$(OBJEXT): $(GENERIC_DIR)/itclStubInit.c +- $(COMPILE) -c `@CYGPATH@ $(GENERIC_DIR)/itclStubInit.c` -o $@ +- +-itclStubLib.$(OBJEXT): $(GENERIC_DIR)/itclStubLib.c +- $(COMPILE) -c `@CYGPATH@ $(GENERIC_DIR)/itclStubLib.c` -o $@ +- +-itcl_bicmds.$(OBJEXT): $(GENERIC_DIR)/itcl_bicmds.c +- $(COMPILE) -c `@CYGPATH@ $(GENERIC_DIR)/itcl_bicmds.c` -o $@ +- +-itcl_class.$(OBJEXT): $(GENERIC_DIR)/itcl_class.c +- $(COMPILE) -c `@CYGPATH@ $(GENERIC_DIR)/itcl_class.c` -o $@ +- +-itcl_cmds.$(OBJEXT): $(GENERIC_DIR)/itcl_cmds.c Makefile +- $(COMPILE) -c `@CYGPATH@ $(GENERIC_DIR)/itcl_cmds.c` -o $@ +- +-itcl_ensemble.$(OBJEXT): $(GENERIC_DIR)/itcl_ensemble.c Makefile +- $(COMPILE) -c `@CYGPATH@ $(GENERIC_DIR)/itcl_ensemble.c` -o $@ +- +-itcl_linkage.$(OBJEXT): $(GENERIC_DIR)/itcl_linkage.c +- $(COMPILE) -c `@CYGPATH@ $(GENERIC_DIR)/itcl_linkage.c` -o $@ +- +-itcl_methods.$(OBJEXT): $(GENERIC_DIR)/itcl_methods.c +- $(COMPILE) -c `@CYGPATH@ $(GENERIC_DIR)/itcl_methods.c` -o $@ +- +-itcl_migrate.$(OBJEXT): $(GENERIC_DIR)/itcl_migrate.c +- $(COMPILE) -c `@CYGPATH@ $(GENERIC_DIR)/itcl_migrate.c` -o $@ +- +-itcl_objects.$(OBJEXT): $(GENERIC_DIR)/itcl_objects.c +- $(COMPILE) -c `@CYGPATH@ $(GENERIC_DIR)/itcl_objects.c` -o $@ +- +-itcl_obsolete.$(OBJEXT): $(GENERIC_DIR)/itcl_obsolete.c +- $(COMPILE) -c `@CYGPATH@ $(GENERIC_DIR)/itcl_obsolete.c` -o $@ +- +-itcl_parse.$(OBJEXT): $(GENERIC_DIR)/itcl_parse.c +- $(COMPILE) -c `@CYGPATH@ $(GENERIC_DIR)/itcl_parse.c` -o $@ ++# exampleA.$(OBJEXT): $(srcdir)/generic/exampleA.c ++# $(COMPILE) -c `@CYGPATH@ $(srcdir)/generic/exampleA.c` -o $@ ++# ++# Setting the VPATH variable to a list of paths will cause the makefile ++# to look into these paths when resolving .c to .obj dependencies. ++# As necessary, add $(srcdir):$(srcdir)/compat:.... ++#======================================================================== ++ ++VPATH = $(srcdir)/unix:$(srcdir)/generic:$(srcdir)/win ++ ++.c.$(OBJEXT): ++ $(COMPILE) -c `@CYGPATH@ $<` -o $@ ++ ++#======================================================================== ++# Distribution creation ++# You may need to tweak this target to make it work correctly. ++#======================================================================== ++ ++#COMPRESS = tar cvf $(PKG_DIR).tar $(PKG_DIR); compress $(PKG_DIR).tar ++COMPRESS = gtar zcvf $(PKG_DIR).tar.gz $(PKG_DIR) ++DIST_ROOT = /tmp/dist ++DIST_DIR = $(DIST_ROOT)/$(PKG_DIR) ++ ++dist-clean: ++ rm -rf $(DIST_DIR) $(DIST_ROOT)/$(PKG_DIR).tar.* ++ ++dist: dist-clean doc ++ mkdir -p $(DIST_DIR) ++ cp -p $(srcdir)/license* $(srcdir)/aclocal.m4 $(srcdir)/configure \ ++ $(srcdir)/*.in $(DIST_DIR)/ ++ chmod 664 $(DIST_DIR)/Makefile.in $(DIST_DIR)/aclocal.m4 ++ chmod 775 $(DIST_DIR)/configure $(DIST_DIR)/configure.in ++ ++ mkdir $(DIST_DIR)/tclconfig ++ cp $(srcdir)/tclconfig/install-sh $(srcdir)/tclconfig/tcl.m4 \ ++ $(DIST_DIR)/tclconfig/ ++ chmod 664 $(DIST_DIR)/tclconfig/tcl.m4 ++ chmod +x $(DIST_DIR)/tclconfig/install-sh ++ ++ list='doc generic library tests tests/old win win/rc'; \ ++ for p in $$list; do \ ++ if test -d $(srcdir)/$$p ; then \ ++ mkdir $(DIST_DIR)/$$p; \ ++ for q in $(srcdir)/$$p/*; do \ ++ if test -f $$q ; then \ ++ cp -p $$q $(DIST_DIR)/$$p/; \ ++ fi; \ ++ done; \ ++ fi; \ ++ done + +-itcl_util.$(OBJEXT): $(GENERIC_DIR)/itcl_util.c +- $(COMPILE) -c `@CYGPATH@ $(GENERIC_DIR)/itcl_util.c` -o $@ ++ list='CHANGES ChangeLog INCOMPATIBLE README TODO'; \ ++ for p in $$list; do \ ++ if test -f $(srcdir)/../$$p ; then \ ++ cp -p $(srcdir)/../$$p $(DIST_DIR)/; \ ++ fi; \ ++ done + ++ (cd $(DIST_ROOT); $(COMPRESS);) + + #======================================================================== + # End of user-definable section +@@ -405,9 +322,8 @@ + + distclean: clean + -rm -f *.tab.c +- -rm -f Makefile $(CONFIG_CLEAN_FILES) +- -rm -f config.cache config.log stamp-h stamp-h[0-9]* +- -rm -f config.status itclConfig.sh pkgIndex.tcl ++ -rm -f $(CONFIG_CLEAN_FILES) ++ -rm -f config.cache config.log config.status + + #======================================================================== + # Install binary object libraries. On Windows this includes both .dll and +@@ -421,31 +337,39 @@ + # You should not have to modify this target. + #======================================================================== + +-install-lib-binaries: installdirs ++install-lib-binaries: ++ @mkdir -p $(DESTDIR)$(pkglibdir) + @list='$(lib_BINARIES)'; for p in $$list; do \ + if test -f $$p; then \ ++ echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/$$p"; \ ++ $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/$$p; \ ++ stub=`echo $$p|sed -e "s/.*\(stub\).*/\1/"`; \ ++ if test "x$$stub" = "xstub"; then \ ++ echo " $(RANLIB_STUB) $(DESTDIR)$(pkglibdir)/$$p"; \ ++ $(RANLIB_STUB) $(DESTDIR)$(pkglibdir)/$$p; \ ++ else \ ++ echo " $(RANLIB_LIB) $(DESTDIR)$(pkglibdir)/$$p"; \ ++ $(RANLIB_LIB) $(DESTDIR)$(pkglibdir)/$$p; \ ++ fi; \ + ext=`echo $$p|sed -e "s/.*\.//"`; \ + if test "x$$ext" = "xdll"; then \ +- echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$p"; \ +- $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$p; \ + lib=`basename $$p|sed -e 's/.[^.]*$$//'`.lib; \ + if test -f $$lib; then \ +- echo " $(INSTALL_PROGRAM) $$lib $(DESTDIR)$(libdir)/$$lib"; \ +- $(INSTALL_PROGRAM) $$lib $(DESTDIR)$(libdir)/$$lib; \ ++ echo " $(INSTALL_DATA) $$lib $(DESTDIR)$(pkglibdir)/$$lib"; \ ++ $(INSTALL_DATA) $$lib $(DESTDIR)$(pkglibdir)/$$lib; \ + fi; \ +- else \ +- echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libdir)/$$p"; \ +- $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libdir)/$$p; \ + fi; \ +- else :; fi; \ ++ fi; \ + done +- @list='$(lib_BINARIES)'; for p in $$list; do \ +- if test -f $$p; then \ +- echo " $(RANLIB) $(DESTDIR)$(libdir)/$$p"; \ +- $(RANLIB) $(DESTDIR)$(libdir)/$$p; \ +- else :; fi; \ ++ @list='$(PKG_TCL_SOURCES)'; for p in $$list; do \ ++ if test -f $(srcdir)/$$p; then \ ++ destp=`basename $$p`; \ ++ echo " Install $$destp $(DESTDIR)$(pkglibdir)/$$destp"; \ ++ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkglibdir)/$$destp; \ ++ fi; \ + done + $(INSTALL_DATA) pkgIndex.tcl $(DESTDIR)$(pkglibdir) ++ $(INSTALL_DATA) itclConfig.sh $(DESTDIR)$(libdir) + + #======================================================================== + # Install binary executables (e.g. .exe files) +@@ -453,40 +377,34 @@ + # You should not have to modify this target. + #======================================================================== + +-install-bin-binaries: installdirs ++install-bin-binaries: ++ @mkdir -p $(DESTDIR)$(bindir) + @list='$(bin_BINARIES)'; for p in $$list; do \ + if test -f $$p; then \ +- echo " $(INSTALL_DATA) $$p $(DESTDIR)$(bindir)/$$p"; \ +- $(INSTALL_DATA) $$p $(DESTDIR)$(bindir)/$$p; \ +- else :; fi; \ ++ echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$p"; \ ++ $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$p; \ ++ fi; \ + done + +-.SUFFIXES: .c .o .obj ++.SUFFIXES: .c .$(OBJEXT) + + Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) \ + && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status + +-#config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) +-# $(SHELL) ./config.status --recheck +-#$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) +-# cd $(srcdir) && $(AUTOCONF) +- +- + uninstall-binaries: +- @$(NORMAL_UNINSTALL) +- list='$(BINARIES)'; for p in $$list; do \ +- rm -f $(DESTDIR)$(libdir)/$$p; \ ++ list='$(lib_BINARIES)'; for p in $$list; do \ ++ rm -f $(DESTDIR)$(pkglibdir)/$$p; \ ++ done ++ list='$(PKG_TCL_SOURCES)'; for p in $$list; do \ ++ p=`basename $$p`; \ ++ rm -f $(DESTDIR)$(pkglibdir)/$$p; \ ++ done ++ list='$(bin_BINARIES)'; for p in $$list; do \ ++ rm -f $(DESTDIR)$(bindir)/$$p; \ + done + +-installdirs: +- $(mkinstalldirs) $(DESTDIR)$(libdir) +- $(mkinstalldirs) $(DESTDIR)$(bindir) +- $(mkinstalldirs) $(DESTDIR)$(pkglibdir) +- $(mkinstalldirs) $(DESTDIR)$(ITCL_LIBRARY) +- +-.PHONY: all binaries clean depend distclean doc install installdirs \ +-libraries test ++.PHONY: all binaries clean depend distclean doc install libraries test + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. +diff -Naur insight-6.8.orig/itcl/itcl/pkgIndex.tcl.in insight-6.8.new/itcl/itcl/pkgIndex.tcl.in +--- insight-6.8.orig/itcl/itcl/pkgIndex.tcl.in 2003-01-21 21:40:26.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/pkgIndex.tcl.in 2008-08-18 18:56:44.000000000 +0200 +@@ -1,3 +1,3 @@ + # Tcl package index file, version 1.0 + +-package ifneeded Itcl @VERSION@ [list load [file join $dir @RELPATH@ "@itcl_LIB_FILE@"] Itcl] ++package ifneeded Itcl @PACKAGE_VERSION@ [list load [file join $dir "@PKG_LIB_FILE@"] Itcl] +diff -Naur insight-6.8.orig/itcl/itcl/README insight-6.8.new/itcl/itcl/README +--- insight-6.8.orig/itcl/itcl/README 1970-01-01 01:00:00.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/README 2008-08-18 18:56:39.000000000 +0200 +@@ -0,0 +1,311 @@ ++------------------------------------------------------------------------ ++ [incr Tcl] - version 3.3 for Tcl/Tk 8.0.3 and beyond ++------------------------------------------------------------------------ ++ This is a bug-fix release in the itcl3.x series. ++ ++ As much as possible, I've tried to make itcl3.x backward-compatible ++ with earlier releases. The class definition syntax has not changed ++ at all from itcl2.2, and the old itcl1.x syntax is still supported. ++ But you'll notice changes related to the new namespace mechanism in ++ Tcl 8.0. For information on incompatibilities and porting to itcl3.x, ++ read the INCOMPATIBLE file in this directory, or check out the itcl ++ web site: ++ ++ http://incrtcl.sourceforge.net/ ++ http://www.tcltk.com/itcl/ ++ ++ Many people through the years have helped me with [incr Tcl] ++ development, and I thank them for their contributions. Please ++ read the acknowledgements section below. ++ ++ Send comments or suggestions to the [incr Tcl] mailing list ++ (itcl@scriptics.com) or directly to me (mmc@cadence.com). ++ If you want to subscribe to the mailing list, send a message ++ with the subject "subscribe" to "itcl-request@tcltk.com". ++ ++======================================================================== ++ Copyright (c) 1993-1998 Lucent Technologies, Inc. ++ Copyright (c) 1998-2000 Cadence Design Systems, Inc. ++======================================================================== ++ ++ OVERVIEW ++------------------------------------------------------------------------ ++ - What is [incr Tcl]? ++ - Getting started ++ - Installation ++ - Integrating [incr Tcl] with other extensions ++ - Acknowledgements ++------------------------------------------------------------------------ ++ ++ ++ What is [incr Tcl]? ++------------------------------------------------------------------------ ++ [incr Tcl] is an object-oriented extension of the Tcl language. It ++ was created to support more structured programming in Tcl. Tcl scripts ++ that grow beyond a few thousand lines become extremely difficult to ++ maintain. This is because the building blocks of vanilla Tcl are ++ procedures and global variables, and all of these building blocks ++ must reside in a single global namespace. There is no support for ++ protection or encapsulation. ++ ++ [incr Tcl] introduces the notion of objects. Each object is a bag ++ of data with a set of procedures or "methods" that are used to ++ manipulate it. Objects are organized into "classes" with identical ++ characteristics, and classes can inherit functionality from one ++ another. This object-oriented paradigm adds another level of ++ organization on top of the basic variable/procedure elements, and ++ the resulting code is easier to understand and maintain. ++ ++ Among other things, [incr Tcl] can be used to create new widgets that ++ look and work like the usual Tk widgets, but are written entirely at ++ the Tcl language level (C code is optional). These "mega-widgets" ++ can be created using [incr Tk], a set of base classes which provide ++ the core mega-widget functionality. [incr Widgets] is a set of ++ high-level mega-widgets built using [incr Tk]. It has more than ++ 50 widget classes, and can be used right out of the box to create: ++ ++ - fileselectiondialog ++ - tabnotebook ++ - panedwindow ++ - scrolledhtml ++ - combobox ++ - optionmenu ++ - scrolledlistbox ++ - scrolledframe ++ - messagedialog ++ - and many others... ++ ++ Classes and/or related procedures can also be encapsulated in their ++ own "namespace". A namespace is a collection of commands, variables, ++ classes and other namespaces that is set apart from the usual global ++ scope. Elements within a namespace can be "private" or "protected", ++ so that access to them is restricted. An "import" command allows all ++ of the elements from one namespace to be integrated into another. ++ ++ Extension writers will immediately see the benefit of namespaces. ++ With vanilla Tcl, each extension must add its commands and variables ++ at the global scope. Extension writers are encouraged to add a unique ++ prefix to all of the names in their package, to avoid naming collisions. ++ Extensions can now sit in their own namespace of commands and variables, ++ and sensitive elements can be protected from accidental access. For ++ example, the current release of [incr Tcl] has a namespace "itcl" ++ for object-oriented support, a namespace "itk" for mega-widget ++ support, and a namespace "iwidgets" for the [incr Widgets] package. ++ Each of these namespaces has its own collection of commands and ++ variables. Developers can then pick and choose among the extensions, ++ and integrate the parts that they need for their application by ++ importing various namespaces at the global scope. ++ ++ ++ Getting started ++------------------------------------------------------------------------ ++ If you're just getting started with [incr Tcl], check out these ++ useful resources: ++ ++ - FREE TUTORIAL on our web site: http://www.tcltk.com/itcl/ ++ ++ - BOOK: "[incr Tcl/Tk] from the Ground Up," by Chad Smith ++ (ISBN 0-07-212106-8) ++ ++ - BOOK: "Tcl/Tk Tools," edited by Mark Harrison ++ (ISBN 1-56592-218-2) ++ ++ Also, run the "catalog" demo to get an overview of the [incr Widgets] ++ package. On Windows and Macintosh systems, this is installed as one ++ of the executables. On Unix systems, this is installed in the ++ "lib/itcl/iwidgets3.0.0/demos" library directory. ++ ++ The file "iwidgets3.0.0/doc/iwidgets.ps" contains a tutorial ++ introduction to the [incr Widgets] package. The mega-widget classes ++ in [incr Widgets] show off most of the functionality in this release. ++ You can use them as a pattern to create your own widget classes. ++ ++ If you're a seasoned itcl professional, check the CHANGES file for a ++ summary of recent enhancements. Consult the man pages for detailed ++ information on particular commands. ++ ++ Check out our web site for the latest news: ++ ++ http://incrtcl.sourceforge.net/ ++ ++ Installation on Unix Systems ++------------------------------------------------------------------------ ++ 1) Obtain this distribution from an archive site like this: ++ ++ http://incrtcl.sourceforge.net/ ++ http://sourceforge.net/project/showfiles.php?group_id=13244 ++ ++ 2) Uncompress and untar the distribution: ++ ++ gunzip itcl.tar.gz ++ tar xvf itcl.tar ++ ++ 3) Run the configuration script: ++ ++ cd itcl ++ ./configure ++ ++ or, for systems that don't recognize "#!" in shell scripts: ++ ++ cd itcl ++ /bin/sh ./configure ++ ++ The "configure" script finds the appropriate compiler flags and ++ generates new Makefiles from template files (Makefile.in). ++ ++ By default, the configuration script will set things up so ++ that everything is installed in "/usr/local". You can change ++ this by specifying a different "prefix" in the "configure" command: ++ ++ ./configure --prefix=/your/install/path ++ ++ If your Tcl installation is sitting somewhere other than right ++ next to this package, you may have to tell configure where to ++ find it: ++ ++ ./configure --with-tcl=/usr/local/tcl/lib ++ ++ If you want to debug, you can add this option as well: ++ ++ ./configure --enable-symbols ++ ++ 4) Build the libraries and the executables. From the toplevel ++ directory type: ++ ++ make all ++ ++ 5) Install the libraries, executables, man pages and script files. ++ From the toplevel directory type: ++ ++ make install ++ ++ 6) Use the final product: ++ ++ $ tclsh ++ % package require Itcl ++ % itcl::class Foo { method testing {} { return "testing!" } } ++ ++ If you don't like the itcl:: prefix, you can import the itcl ++ commands into the global namespace: ++ ++ % namespace import -force itcl::* ++ % class Foo { ... } ++ ++ Note that you'll find the same behavior with [incr Widgets]: ++ ++ $ wish ++ % package require Iwidgets ++ % iwidgets::optionmenu .om ++ % namespace import -force iwidgets::* ++ % optionmenu .om ++ ++ ++ Installation on Windows ++------------------------------------------------------------------------ ++ Follow the usual TEA instructions for building under Windows. ++ Requires Cygwin and Visual C++ 6.0. ++ ++ ++ Installation on Macintosh Systems ++------------------------------------------------------------------------ ++ Many thanks to Jim Ingham for putting up Macintosh binaries for ++ various releases. Check out http://www.tcltk.com/itcl for downloads. ++ ++ ++ Integrating [incr Tcl] with other extensions ++------------------------------------------------------------------------ ++ [incr Tcl] is now a pure extension to Tcl/Tk. Therefore, if you ++ build the Tcl/Tk core and this package with the "--enable-shared" ++ option, you can load [incr Tcl] into a vanilla tclsh, as follows: ++ ++ package require Itcl ++ ++ Similarly, you can load [incr Tcl] along with the [incr Tk] mega-widget ++ facility into a vanilla wish, as follows: ++ ++ package require Itk ++ ++ You can load [incr Tcl], [incr Tk], and the [incr Widgets] package ++ like this: ++ ++ package require Iwidgets ++ ++ If you require the earlier release of [incr Widgets] for some reason, ++ you can specify the version number: ++ ++ package require Iwidgets 2.2 ++ ++ Other packages should plug-and-play in the same fashion. ++ ++ >> NOTE: If you have any trouble with dynamic loading on UNIX ++ >> systems, you may need to set your LD_LIBRARY_PATH environment ++ >> variable to include the "lib" directory for your Tcl/Tk ++ >> installation. For example: ++ >> ++ >> LD_LIBRARY_PATH="/usr/local/tcl/lib:$LD_LIBRARY_PATH" ++ >> export LD_LIBRARY_PATH ++ ++ ++ Acknowledgements ++------------------------------------------------------------------------ ++ Thanks to Chad Smith for writing an excellent, comprehensive ++ book "[incr Tcl/Tk] from the Ground Up," for many helpful bug ++ reports, and for nudging me along to fix things. ++ ++ Thanks to Matt Newman for providing the Tcl-only "tcl++" package ++ that helped so many people move forward while waiting for the ++ itcl3.0 release. ++ ++ Thanks to John Ousterhout and the Scriptics team for bundling this ++ package with their TclPro product. It's gratifying to see [incr Tcl] ++ accepted as a mainstream product. ++ ++ Thanks to Mark Ulferts, Sue Yockey, John Sigler, Bill Scott, Alfredo ++ Jahn, Bret Schuhmacher, Tako Schotanus and Kris Raney for building ++ the [incr Widgets] package. With a sketchy overview and a crappy ++ prototype of [incr Tk], they managed to build a nice set of mega-widgets. ++ Their initial designs helped me smooth out the rough spots in [incr Tk]. ++ Thanks especially to Mark Ulferts for keeping things up over the past ++ few years, and for streamlining the package for itcl3.0. ++ ++ Thanks to Jan Nijtmans, Karel Zuiderveld, and Vince Darley for helping ++ to keep up with Tcl/Tk releases, and for supporting the "plus" and ++ "dash" patches under [incr Tcl]. ++ ++ Thanks to Forest Rouse and ICEM CFD Engineering for integrating ++ [incr Tcl] into their Tcl/Tk compiler. This is a large undertaking, ++ and they have done an excellent job. ++ ++ Thanks to Alfredo Jahn and Bret Schuhmacher at WebNet for helping ++ to create the [incr Tcl] web site, and for maintaining the ++ [incr Tcl] mailing list for many years. ++ ++ Thanks to extension writers like Mark Diekhans (tclX) and Ioi Lam (Tix) ++ for making their packages compatible with [incr Tcl]. ++ ++ Thanks to George Howlett for teaching me how namespaces should really ++ work. He has been a constant source of inspiration, and has kept ++ a careful watch against many bad ideas. Jim Ingham fleshed out the ++ notion of explicit scoping, added many nice features to [incr Tk], ++ and has helped tremendously with porting. Lee Bernhard worked on ++ distributed systems with Iclient/Iserver, and also helped with porting. ++ Bill Scott, with a steady stream of bug reports, helped me understand ++ the questions that a typical user might have. He forced me to reinvent ++ the paradigm on more than one occasion. ++ ++ Thanks to all of the alpha-testers that helped me polish this release. ++ ++ Thanks to Mark Harrison for his enthusiasm and support. Due in ++ large part to his evangelism, I have been able to make [incr Tcl] ++ development a mainstream activity. ++ ++ And many thanks to my wife Maria and my children Maxwell and Katie ++ for putting up with all of this. ++ ++--Michael ++. . . . . . . . . . . . . . . . . ---_----------- ++ . . . . . . . . . | c a d e n c e | ++ Michael McLennan . --------------- ++ mmc@cadence.com . Cadence Design Systems, Inc. ++ phone: 610-398-6348 . 7535 Windsor Dr. Suite A-200 ++ fax: 610-530-7985 . Allentown, PA 18195 +diff -Naur insight-6.8.orig/itcl/itcl/tclconfig/install-sh insight-6.8.new/itcl/itcl/tclconfig/install-sh +--- insight-6.8.orig/itcl/itcl/tclconfig/install-sh 1970-01-01 01:00:00.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tclconfig/install-sh 2008-08-18 18:56:44.000000000 +0200 +@@ -0,0 +1,119 @@ ++#!/bin/sh ++ ++# ++# install - install a program, script, or datafile ++# This comes from X11R5; it is not part of GNU. ++# ++# $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $ ++# ++# This script is compatible with the BSD install script, but was written ++# from scratch. ++# ++ ++ ++# set DOITPROG to echo to test this script ++ ++# Don't use :- since 4.3BSD and earlier shells don't like it. ++doit="${DOITPROG-}" ++ ++ ++# put in absolute paths if you don't have them in your path; or use env. vars. ++ ++mvprog="${MVPROG-mv}" ++cpprog="${CPPROG-cp}" ++chmodprog="${CHMODPROG-chmod}" ++chownprog="${CHOWNPROG-chown}" ++chgrpprog="${CHGRPPROG-chgrp}" ++stripprog="${STRIPPROG-strip}" ++rmprog="${RMPROG-rm}" ++ ++instcmd="$mvprog" ++chmodcmd="" ++chowncmd="" ++chgrpcmd="" ++stripcmd="" ++rmcmd="$rmprog -f" ++mvcmd="$mvprog" ++src="" ++dst="" ++ ++while [ x"$1" != x ]; do ++ case $1 in ++ -c) instcmd="$cpprog" ++ shift ++ continue;; ++ ++ -m) chmodcmd="$chmodprog $2" ++ shift ++ shift ++ continue;; ++ ++ -o) chowncmd="$chownprog $2" ++ shift ++ shift ++ continue;; ++ ++ -g) chgrpcmd="$chgrpprog $2" ++ shift ++ shift ++ continue;; ++ ++ -s) stripcmd="$stripprog" ++ shift ++ continue;; ++ ++ *) if [ x"$src" = x ] ++ then ++ src=$1 ++ else ++ dst=$1 ++ fi ++ shift ++ continue;; ++ esac ++done ++ ++if [ x"$src" = x ] ++then ++ echo "install: no input file specified" ++ exit 1 ++fi ++ ++if [ x"$dst" = x ] ++then ++ echo "install: no destination specified" ++ exit 1 ++fi ++ ++ ++# If destination is a directory, append the input filename; if your system ++# does not like double slashes in filenames, you may need to add some logic ++ ++if [ -d $dst ] ++then ++ dst="$dst"/`basename $src` ++fi ++ ++# Make a temp file name in the proper directory. ++ ++dstdir=`dirname $dst` ++dsttmp=$dstdir/#inst.$$# ++ ++# Move or copy the file name to the temp name ++ ++$doit $instcmd $src $dsttmp ++ ++# and set any options; do chmod last to preserve setuid bits ++ ++if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; fi ++if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; fi ++if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; fi ++if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; fi ++ ++# Now rename the file to the real destination. ++ ++$doit $rmcmd $dst ++$doit $mvcmd $dsttmp $dst ++ ++ ++exit 0 +diff -Naur insight-6.8.orig/itcl/itcl/tclconfig/tcl.m4 insight-6.8.new/itcl/itcl/tclconfig/tcl.m4 +--- insight-6.8.orig/itcl/itcl/tclconfig/tcl.m4 1970-01-01 01:00:00.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tclconfig/tcl.m4 2008-08-18 18:56:44.000000000 +0200 +@@ -0,0 +1,3847 @@ ++# tcl.m4 -- ++# ++# This file provides a set of autoconf macros to help TEA-enable ++# a Tcl extension. ++# ++# Copyright (c) 1999-2000 Ajuba Solutions. ++# Copyright (c) 2002-2005 ActiveState Corporation. ++# ++# See the file "license.terms" for information on usage and redistribution ++# of this file, and for a DISCLAIMER OF ALL WARRANTIES. ++# ++# RCS: @(#) $Id: tcl.m4,v 1.6 2005/03/25 19:40:47 dgp Exp $ ++ ++AC_PREREQ(2.50) ++ ++#------------------------------------------------------------------------ ++# TEA_PATH_TCLCONFIG -- ++# ++# Locate the tclConfig.sh file and perform a sanity check on ++# the Tcl compile flags ++# ++# Arguments: ++# none ++# ++# Results: ++# ++# Adds the following arguments to configure: ++# --with-tcl=... ++# ++# Defines the following vars: ++# TCL_BIN_DIR Full path to the directory containing ++# the tclConfig.sh file ++#------------------------------------------------------------------------ ++ ++AC_DEFUN(TEA_PATH_TCLCONFIG, [ ++ dnl Make sure we are initialized ++ AC_REQUIRE([TEA_INIT]) ++ # ++ # 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,[ ++ ++ # For platform-specific directories ++ case $TEA_PLATFORM in ++ windows) platform="win" ;; ++ unix) platform="unix" ;; ++ *) AC_MSG_ERROR([unknown TEA_PLATFORM: \"$TEA_PLATFORM\"]) ++ esac ++ ++ # First check to see if --with-tcl was specified. ++ if test x"${with_tclconfig}" != x ; then ++ case ${with_tclconfig} in ++ */tclConfig.sh ) ++ if test -f ${with_tclconfig}; then ++ AC_MSG_WARN([--with-tcl argument should refer to directory containing tclConfig.sh, not to tclConfig.sh itself]) ++ with_tclconfig=`echo ${with_tclconfig} | sed 's!/tclConfig\.sh$!!'` ++ fi ;; ++ esac ++ 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[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \ ++ `ls -dr ../tcl[[8-9]].[[0-9]] 2>/dev/null` \ ++ `ls -dr ../tcl[[8-9]].[[0-9]]* 2>/dev/null` \ ++ ../../tcl \ ++ `ls -dr ../../tcl[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \ ++ `ls -dr ../../tcl[[8-9]].[[0-9]] 2>/dev/null` \ ++ `ls -dr ../../tcl[[8-9]].[[0-9]]* 2>/dev/null` \ ++ ../../../tcl \ ++ `ls -dr ../../../tcl[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \ ++ `ls -dr ../../../tcl[[8-9]].[[0-9]] 2>/dev/null` \ ++ `ls -dr ../../../tcl[[8-9]].[[0-9]]* 2>/dev/null` ; do ++ if test -f "$i/$platform/tclConfig.sh" ; then ++ ac_cv_c_tclconfig=`(cd $i/$platform; 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 ${exec_prefix}/lib 2>/dev/null` \ ++ `ls -d ${prefix}/lib 2>/dev/null` \ ++ `ls -d /usr/local/lib 2>/dev/null` \ ++ `ls -d /usr/contrib/lib 2>/dev/null` \ ++ `ls -d /usr/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[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \ ++ `ls -dr ${srcdir}/../tcl[[8-9]].[[0-9]] 2>/dev/null` \ ++ `ls -dr ${srcdir}/../tcl[[8-9]].[[0-9]]* 2>/dev/null` ; do ++ ++ if test -f "$i/$platform/tclConfig.sh" ; then ++ ac_cv_c_tclconfig=`(cd $i/$platform; pwd)` ++ break ++ fi ++ done ++ fi ++ ]) ++ ++ if test x"${ac_cv_c_tclconfig}" = x ; then ++ TCL_BIN_DIR="# no Tcl configs found" ++ AC_MSG_WARN("Cannot find Tcl configuration definitions") ++ exit 0 ++ else ++ no_tcl= ++ TCL_BIN_DIR=${ac_cv_c_tclconfig} ++ AC_MSG_RESULT([found $TCL_BIN_DIR/tclConfig.sh]) ++ fi ++ fi ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_PATH_TKCONFIG -- ++# ++# Locate the tkConfig.sh file ++# ++# Arguments: ++# none ++# ++# Results: ++# ++# Adds the following arguments to configure: ++# --with-tk=... ++# ++# Defines the following vars: ++# TK_BIN_DIR Full path to the directory containing ++# the tkConfig.sh file ++#------------------------------------------------------------------------ ++ ++AC_DEFUN(TEA_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,[ ++ ++ # For platform-specific directories ++ case $TEA_PLATFORM in ++ windows) platform="win" ;; ++ unix) platform="unix" ;; ++ *) AC_MSG_ERROR([unknown TEA_PLATFORM: \"$TEA_PLATFORM\"]) ++ esac ++ ++ # First check to see if --with-tkconfig was specified. ++ if test x"${with_tkconfig}" != x ; then ++ case ${with_tkconfig} in ++ */tkConfig.sh ) ++ if test -f ${with_tkconfig}; then ++ AC_MSG_WARN([--with-tk argument should refer to directory containing tkConfig.sh, not to tkConfig.sh itself]) ++ with_tkconfig=`echo ${with_tkconfig} | sed 's!/tkConfig\.sh$!!'` ++ fi ;; ++ esac ++ 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[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \ ++ `ls -dr ../tk[[8-9]].[[0-9]] 2>/dev/null` \ ++ `ls -dr ../tk[[8-9]].[[0-9]]* 2>/dev/null` \ ++ ../../tk \ ++ `ls -dr ../../tk[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \ ++ `ls -dr ../../tk[[8-9]].[[0-9]] 2>/dev/null` \ ++ `ls -dr ../../tk[[8-9]].[[0-9]]* 2>/dev/null` \ ++ ../../../tk \ ++ `ls -dr ../../../tk[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \ ++ `ls -dr ../../../tk[[8-9]].[[0-9]] 2>/dev/null` \ ++ `ls -dr ../../../tk[[8-9]].[[0-9]]* 2>/dev/null` ; do ++ if test -f "$i/$platform/tkConfig.sh" ; then ++ ac_cv_c_tkconfig=`(cd $i/$platform; 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 ${exec_prefix}/lib 2>/dev/null` \ ++ `ls -d ${prefix}/lib 2>/dev/null` \ ++ `ls -d /usr/local/lib 2>/dev/null` \ ++ `ls -d /usr/contrib/lib 2>/dev/null` \ ++ `ls -d /usr/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[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \ ++ `ls -dr ${srcdir}/../tk[[8-9]].[[0-9]] 2>/dev/null` \ ++ `ls -dr ${srcdir}/../tk[[8-9]].[[0-9]]* 2>/dev/null` ; do ++ if test -f "$i/$platform/tkConfig.sh" ; then ++ ac_cv_c_tkconfig=`(cd $i/$platform; pwd)` ++ break ++ fi ++ done ++ fi ++ ]) ++ if test x"${ac_cv_c_tkconfig}" = x ; then ++ TK_BIN_DIR="# no Tk configs found" ++ AC_MSG_WARN("Cannot find Tk configuration definitions") ++ exit 0 ++ else ++ no_tk= ++ TK_BIN_DIR=${ac_cv_c_tkconfig} ++ AC_MSG_RESULT([found $TK_BIN_DIR/tkConfig.sh]) ++ fi ++ fi ++ ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_LOAD_TCLCONFIG -- ++# ++# Load the tclConfig.sh file ++# ++# Arguments: ++# ++# Requires the following vars to be set: ++# TCL_BIN_DIR ++# ++# Results: ++# ++# Subst the following vars: ++# TCL_BIN_DIR ++# TCL_SRC_DIR ++# TCL_LIB_FILE ++# ++#------------------------------------------------------------------------ ++ ++AC_DEFUN(TEA_LOAD_TCLCONFIG, [ ++ AC_MSG_CHECKING([for existence of $TCL_BIN_DIR/tclConfig.sh]) ++ ++ if test -f "$TCL_BIN_DIR/tclConfig.sh" ; then ++ AC_MSG_RESULT([loading]) ++ . $TCL_BIN_DIR/tclConfig.sh ++ else ++ AC_MSG_RESULT([file not found]) ++ fi ++ ++ # ++ # If the TCL_BIN_DIR is the build directory (not the install directory), ++ # then set the common variable name to the value of the build variables. ++ # For example, the variable TCL_LIB_SPEC will be set to the value ++ # of TCL_BUILD_LIB_SPEC. An extension should make use of TCL_LIB_SPEC ++ # instead of TCL_BUILD_LIB_SPEC since it will work with both an ++ # installed and uninstalled version of Tcl. ++ # ++ ++ if test -f $TCL_BIN_DIR/Makefile ; then ++ TCL_LIB_SPEC=${TCL_BUILD_LIB_SPEC} ++ TCL_STUB_LIB_SPEC=${TCL_BUILD_STUB_LIB_SPEC} ++ TCL_STUB_LIB_PATH=${TCL_BUILD_STUB_LIB_PATH} ++ fi ++ ++ # ++ # eval is required to do the TCL_DBGX substitution ++ # ++ ++ eval "TCL_LIB_FILE=\"${TCL_LIB_FILE}\"" ++ eval "TCL_LIB_FLAG=\"${TCL_LIB_FLAG}\"" ++ eval "TCL_LIB_SPEC=\"${TCL_LIB_SPEC}\"" ++ ++ eval "TCL_STUB_LIB_FILE=\"${TCL_STUB_LIB_FILE}\"" ++ eval "TCL_STUB_LIB_FLAG=\"${TCL_STUB_LIB_FLAG}\"" ++ eval "TCL_STUB_LIB_SPEC=\"${TCL_STUB_LIB_SPEC}\"" ++ ++ AC_SUBST(TCL_VERSION) ++ AC_SUBST(TCL_BIN_DIR) ++ AC_SUBST(TCL_SRC_DIR) ++ ++ AC_SUBST(TCL_LIB_FILE) ++ AC_SUBST(TCL_LIB_FLAG) ++ AC_SUBST(TCL_LIB_SPEC) ++ ++ AC_SUBST(TCL_STUB_LIB_FILE) ++ AC_SUBST(TCL_STUB_LIB_FLAG) ++ AC_SUBST(TCL_STUB_LIB_SPEC) ++ ++ AC_SUBST(TCL_LIBS) ++ AC_SUBST(TCL_DEFS) ++ AC_SUBST(TCL_EXTRA_CFLAGS) ++ AC_SUBST(TCL_LD_FLAGS) ++ AC_SUBST(TCL_SHLIB_LD_LIBS) ++ #AC_SUBST(TCL_BUILD_LIB_SPEC) ++ #AC_SUBST(TCL_BUILD_STUB_LIB_SPEC) ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_LOAD_TKCONFIG -- ++# ++# Load the tkConfig.sh file ++# ++# Arguments: ++# ++# Requires the following vars to be set: ++# TK_BIN_DIR ++# ++# Results: ++# ++# Sets the following vars that should be in tkConfig.sh: ++# TK_BIN_DIR ++#------------------------------------------------------------------------ ++ ++AC_DEFUN(TEA_LOAD_TKCONFIG, [ ++ AC_MSG_CHECKING([for existence of ${TK_BIN_DIR}/tkConfig.sh]) ++ ++ if test -f "${TK_BIN_DIR}/tkConfig.sh" ; then ++ AC_MSG_RESULT([loading]) ++ . $TK_BIN_DIR/tkConfig.sh ++ else ++ AC_MSG_RESULT([could not find ${TK_BIN_DIR}/tkConfig.sh]) ++ fi ++ ++ # ++ # If the TK_BIN_DIR is the build directory (not the install directory), ++ # then set the common variable name to the value of the build variables. ++ # For example, the variable TK_LIB_SPEC will be set to the value ++ # of TK_BUILD_LIB_SPEC. An extension should make use of TK_LIB_SPEC ++ # instead of TK_BUILD_LIB_SPEC since it will work with both an ++ # installed and uninstalled version of Tcl. ++ # ++ ++ if test -f $TK_BIN_DIR/Makefile ; then ++ TK_LIB_SPEC=${TK_BUILD_LIB_SPEC} ++ TK_STUB_LIB_SPEC=${TK_BUILD_STUB_LIB_SPEC} ++ TK_STUB_LIB_PATH=${TK_BUILD_STUB_LIB_PATH} ++ fi ++ ++ # ++ # eval is required to do the TK_DBGX substitution ++ # ++ ++ eval "TK_LIB_FILE=\"${TK_LIB_FILE}\"" ++ eval "TK_LIB_FLAG=\"${TK_LIB_FLAG}\"" ++ eval "TK_LIB_SPEC=\"${TK_LIB_SPEC}\"" ++ ++ eval "TK_STUB_LIB_FILE=\"${TK_STUB_LIB_FILE}\"" ++ eval "TK_STUB_LIB_FLAG=\"${TK_STUB_LIB_FLAG}\"" ++ eval "TK_STUB_LIB_SPEC=\"${TK_STUB_LIB_SPEC}\"" ++ ++ AC_SUBST(TK_VERSION) ++ AC_SUBST(TK_BIN_DIR) ++ AC_SUBST(TK_SRC_DIR) ++ ++ AC_SUBST(TK_LIB_FILE) ++ AC_SUBST(TK_LIB_FLAG) ++ AC_SUBST(TK_LIB_SPEC) ++ ++ AC_SUBST(TK_STUB_LIB_FILE) ++ AC_SUBST(TK_STUB_LIB_FLAG) ++ AC_SUBST(TK_STUB_LIB_SPEC) ++ ++ AC_SUBST(TK_LIBS) ++ AC_SUBST(TK_XINCLUDES) ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_ENABLE_SHARED -- ++# ++# Allows the building of shared libraries ++# ++# Arguments: ++# none ++# ++# Results: ++# ++# Adds the following arguments to configure: ++# --enable-shared=yes|no ++# ++# Defines the following vars: ++# STATIC_BUILD Used for building import/export libraries ++# on Windows. ++# ++# Sets the following vars: ++# SHARED_BUILD Value of 1 or 0 ++#------------------------------------------------------------------------ ++ ++AC_DEFUN(TEA_ENABLE_SHARED, [ ++ AC_MSG_CHECKING([how to build libraries]) ++ AC_ARG_ENABLE(shared, ++ [ --enable-shared build and link with shared libraries [--enable-shared]], ++ [tcl_ok=$enableval], [tcl_ok=yes]) ++ ++ if test "${enable_shared+set}" = set; then ++ enableval="$enable_shared" ++ tcl_ok=$enableval ++ else ++ tcl_ok=yes ++ fi ++ ++ if test "$tcl_ok" = "yes" ; then ++ AC_MSG_RESULT([shared]) ++ SHARED_BUILD=1 ++ else ++ AC_MSG_RESULT([static]) ++ SHARED_BUILD=0 ++ AC_DEFINE(STATIC_BUILD) ++ fi ++ AC_SUBST(SHARED_BUILD) ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_ENABLE_THREADS -- ++# ++# Specify if thread support should be enabled. If "yes" is ++# specified as an arg (optional), threads are enabled by default. ++# TCL_THREADS is checked so that if you are compiling an extension ++# against a threaded core, your extension must be compiled threaded ++# as well. ++# ++# 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(TEA_ENABLE_THREADS, [ ++ AC_ARG_ENABLE(threads, [ --enable-threads build with threads], ++ [tcl_ok=$enableval], [tcl_ok=$1]) ++ ++ if test "$tcl_ok" = "yes" -o "${TCL_THREADS}" = 1; then ++ TCL_THREADS=1 ++ ++ if test "${TEA_PLATFORM}" != "windows" ; then ++ # We are always OK on Windows, so check what this platform wants. ++ AC_DEFINE(USE_THREAD_ALLOC) ++ AC_DEFINE(_REENTRANT) ++ AC_DEFINE(_THREAD_SAFE) ++ AC_CHECK_LIB(pthread,pthread_mutex_init,tcl_ok=yes,tcl_ok=no) ++ if test "$tcl_ok" = "no"; then ++ # Check a little harder for __pthread_mutex_init in the ++ # same library, as some systems hide it there until ++ # pthread.h is defined. We could alternatively do an ++ # AC_TRY_COMPILE with pthread.h, but that will work with ++ # libpthread really doesn't exist, like AIX 4.2. ++ # [Bug: 4359] ++ AC_CHECK_LIB(pthread, __pthread_mutex_init, ++ tcl_ok=yes, tcl_ok=no) ++ fi ++ ++ if test "$tcl_ok" = "yes"; then ++ # The space is needed ++ THREADS_LIBS=" -lpthread" ++ else ++ AC_CHECK_LIB(pthreads, pthread_mutex_init, ++ tcl_ok=yes, tcl_ok=no) ++ if test "$tcl_ok" = "yes"; then ++ # The space is needed ++ THREADS_LIBS=" -lpthreads" ++ else ++ AC_CHECK_LIB(c, pthread_mutex_init, ++ tcl_ok=yes, tcl_ok=no) ++ if test "$tcl_ok" = "no"; then ++ AC_CHECK_LIB(c_r, pthread_mutex_init, ++ tcl_ok=yes, tcl_ok=no) ++ if test "$tcl_ok" = "yes"; then ++ # The space is needed ++ THREADS_LIBS=" -pthread" ++ else ++ TCL_THREADS=0 ++ AC_MSG_WARN("Don t know how to find pthread lib on your system - thread support disabled") ++ fi ++ fi ++ fi ++ fi ++ ++ # Does the pthread-implementation provide ++ # 'pthread_attr_setstacksize' ? ++ ++ ac_saved_libs=$LIBS ++ LIBS="$LIBS $THREADS_LIBS" ++ AC_CHECK_FUNCS(pthread_attr_setstacksize) ++ LIBS=$ac_saved_libs ++ AC_CHECK_FUNCS(readdir_r) ++ fi ++ else ++ TCL_THREADS=0 ++ fi ++ # Do checking message here to not mess up interleaved configure output ++ AC_MSG_CHECKING([for building with threads]) ++ if test "${TCL_THREADS}" = "1"; then ++ AC_DEFINE(TCL_THREADS) ++ #LIBS="$LIBS $THREADS_LIBS" ++ AC_MSG_RESULT([yes]) ++ else ++ AC_MSG_RESULT([no (default)]) ++ fi ++ # TCL_THREADS sanity checking. See if our request for building with ++ # threads is the same as the way Tcl was built. If not, warn the user. ++ case ${TCL_DEFS} in ++ *THREADS=1*) ++ if test "${TCL_THREADS}" = "0"; then ++ AC_MSG_WARN([ ++ Building ${PACKAGE_NAME} without threads enabled, but building against a Tcl ++ that IS thread-enabled.]) ++ fi ++ ;; ++ *) ++ if test "${TCL_THREADS}" = "1"; then ++ AC_MSG_WARN([ ++ --enable-threads requested, but attempting building against a Tcl ++ that is NOT thread-enabled.]) ++ fi ++ ;; ++ esac ++ AC_SUBST(TCL_THREADS) ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_ENABLE_SYMBOLS -- ++# ++# Specify if debugging symbols should be used ++# Memory (TCL_MEM_DEBUG) debugging can also be enabled. ++# ++# Arguments: ++# none ++# ++# Requires the following vars to be set: ++# CFLAGS_DEBUG ++# CFLAGS_OPTIMIZE ++# LDFLAGS_DEBUG ++# LDFLAGS_OPTIMIZE ++# ++# Results: ++# ++# Adds the following arguments to configure: ++# --enable-symbols ++# ++# Defines the following vars: ++# CFLAGS_DEFAULT Sets to CFLAGS_DEBUG if true ++# Sets to CFLAGS_OPTIMIZE if false ++# LDFLAGS_DEFAULT Sets to LDFLAGS_DEBUG if true ++# Sets to LDFLAGS_OPTIMIZE if false ++# DBGX Formerly used as debug library extension; ++# always blank now. ++# ++#------------------------------------------------------------------------ ++ ++AC_DEFUN(TEA_ENABLE_SYMBOLS, [ ++ dnl Make sure we are initialized ++ AC_REQUIRE([TEA_CONFIG_CFLAGS]) ++ ++ DBGX="" ++ ++ AC_MSG_CHECKING([for build with symbols]) ++ AC_ARG_ENABLE(symbols, [ --enable-symbols build with debugging symbols [--disable-symbols]], [tcl_ok=$enableval], [tcl_ok=no]) ++ if test "$tcl_ok" = "no"; then ++ CFLAGS_DEFAULT="${CFLAGS_OPTIMIZE}" ++ LDFLAGS_DEFAULT="${LDFLAGS_OPTIMIZE}" ++ AC_MSG_RESULT([no]) ++ else ++ CFLAGS_DEFAULT="${CFLAGS_DEBUG}" ++ LDFLAGS_DEFAULT="${LDFLAGS_DEBUG}" ++ if test "$tcl_ok" = "yes"; then ++ AC_MSG_RESULT([yes (standard debugging)]) ++ fi ++ fi ++ if test "${TEA_PLATFORM}" != "windows" ; then ++ LDFLAGS_DEFAULT="${LDFLAGS}" ++ fi ++ ++ AC_SUBST(TCL_DBGX) ++ AC_SUBST(CFLAGS_DEFAULT) ++ AC_SUBST(LDFLAGS_DEFAULT) ++ ++ if test "$tcl_ok" = "mem" -o "$tcl_ok" = "all"; then ++ AC_DEFINE(TCL_MEM_DEBUG) ++ fi ++ ++ if test "$tcl_ok" != "yes" -a "$tcl_ok" != "no"; then ++ if test "$tcl_ok" = "all"; then ++ AC_MSG_RESULT([enabled symbols mem debugging]) ++ else ++ AC_MSG_RESULT([enabled $tcl_ok debugging]) ++ fi ++ fi ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_ENABLE_LANGINFO -- ++# ++# Allows use of modern nl_langinfo check for better l10n. ++# This is only relevant for Unix. ++# ++# Arguments: ++# none ++# ++# Results: ++# ++# Adds the following arguments to configure: ++# --enable-langinfo=yes|no (default is yes) ++# ++# Defines the following vars: ++# HAVE_LANGINFO Triggers use of nl_langinfo if defined. ++# ++#------------------------------------------------------------------------ ++ ++AC_DEFUN(TEA_ENABLE_LANGINFO, [ ++ AC_ARG_ENABLE(langinfo, ++ [ --enable-langinfo use nl_langinfo if possible to determine ++ encoding at startup, otherwise use old heuristic], ++ [langinfo_ok=$enableval], [langinfo_ok=yes]) ++ ++ HAVE_LANGINFO=0 ++ if test "$langinfo_ok" = "yes"; then ++ if test "$langinfo_ok" = "yes"; then ++ AC_CHECK_HEADER(langinfo.h,[langinfo_ok=yes],[langinfo_ok=no]) ++ fi ++ fi ++ AC_MSG_CHECKING([whether to use nl_langinfo]) ++ if test "$langinfo_ok" = "yes"; then ++ AC_TRY_COMPILE([#include ], ++ [nl_langinfo(CODESET);],[langinfo_ok=yes],[langinfo_ok=no]) ++ if test "$langinfo_ok" = "no"; then ++ langinfo_ok="no (could not compile with nl_langinfo)"; ++ fi ++ if test "$langinfo_ok" = "yes"; then ++ AC_DEFINE(HAVE_LANGINFO) ++ fi ++ fi ++ AC_MSG_RESULT([$langinfo_ok]) ++]) ++ ++#-------------------------------------------------------------------- ++# TEA_CONFIG_CFLAGS ++# ++# Try to determine the proper flags to pass to the compiler ++# for building shared libraries and other such nonsense. ++# ++# Arguments: ++# none ++# ++# Results: ++# ++# Defines the following vars: ++# ++# DL_OBJS - Name of the object file that implements dynamic ++# loading for Tcl on this system. ++# DL_LIBS - Library file(s) to include in tclsh and other base ++# applications in order for the "load" command to work. ++# LDFLAGS - Flags to pass to the compiler when linking object ++# files into an executable application binary such ++# as tclsh. ++# LD_SEARCH_FLAGS-Flags to pass to ld, such as "-R /usr/local/tcl/lib", ++# that tell the run-time dynamic linker where to look ++# for shared libraries such as libtcl.so. Depends on ++# the variable LIB_RUNTIME_DIR in the Makefile. ++# SHLIB_CFLAGS - Flags to pass to cc when compiling the components ++# of a shared library (may request position-independent ++# code, among other things). ++# SHLIB_LD - Base command to use for combining object files ++# into a shared library. ++# SHLIB_LD_LIBS - Dependent libraries for the linker to scan when ++# creating shared libraries. This symbol typically ++# goes at the end of the "ld" commands that build ++# shared libraries. The value of the symbol is ++# "${LIBS}" if all of the dependent libraries should ++# be specified when creating a shared library. If ++# dependent libraries should not be specified (as on ++# SunOS 4.x, where they cause the link to fail, or in ++# general if Tcl and Tk aren't themselves shared ++# libraries), then this symbol has an empty string ++# as its value. ++# SHLIB_SUFFIX - Suffix to use for the names of dynamically loadable ++# extensions. An empty string means we don't know how ++# to use shared libraries on this platform. ++# TCL_LIB_FILE - Name of the file that contains the Tcl library, such ++# as libtcl7.8.so or libtcl7.8.a. ++# TCL_LIB_SUFFIX -Specifies everything that comes after the "libtcl" ++# in the shared library name, using the ++# ${PACKAGE_VERSION} variable to put the version in ++# the right place. This is used by platforms that ++# need non-standard library names. ++# Examples: ${PACKAGE_VERSION}.so.1.1 on NetBSD, ++# since it needs to have a version after the .so, and ++# ${PACKAGE_VERSION}.a on AIX, since the Tcl shared ++# library needs to have a .a extension whereas shared ++# objects for loadable extensions have a .so ++# extension. Defaults to ++# ${PACKAGE_VERSION}${SHLIB_SUFFIX}. ++# TCL_NEEDS_EXP_FILE - ++# 1 means that an export file is needed to link to a ++# shared library. ++# TCL_EXP_FILE - The name of the installed export / import file which ++# should be used to link to the Tcl shared library. ++# Empty if Tcl is unshared. ++# TCL_BUILD_EXP_FILE - ++# The name of the built export / import file which ++# should be used to link to the Tcl shared library. ++# Empty if Tcl is unshared. ++# CFLAGS_DEBUG - ++# Flags used when running the compiler in debug mode ++# CFLAGS_OPTIMIZE - ++# Flags used when running the compiler in optimize mode ++# CFLAGS - We add CFLAGS to pass to the compiler ++# ++# Subst's the following vars: ++# DL_LIBS ++# CFLAGS_DEBUG ++# CFLAGS_OPTIMIZE ++# CFLAGS_WARNING ++# ++# STLIB_LD ++# SHLIB_LD ++# SHLIB_CFLAGS ++# LDFLAGS_DEBUG ++# LDFLAGS_OPTIMIZE ++#-------------------------------------------------------------------- ++ ++AC_DEFUN(TEA_CONFIG_CFLAGS, [ ++ dnl Make sure we are initialized ++ AC_REQUIRE([TEA_INIT]) ++ ++ # Step 0: Enable 64 bit support? ++ ++ AC_MSG_CHECKING([if 64bit support is enabled]) ++ AC_ARG_ENABLE(64bit,[ --enable-64bit enable 64bit support (where applicable)], [do64bit=$enableval], [do64bit=no]) ++ AC_MSG_RESULT([$do64bit]) ++ ++ # Step 0.b: Enable Solaris 64 bit VIS support? ++ ++ AC_MSG_CHECKING([if 64bit Sparc VIS support is requested]) ++ AC_ARG_ENABLE(64bit-vis,[ --enable-64bit-vis enable 64bit Sparc VIS support], [do64bitVIS=$enableval], [do64bitVIS=no]) ++ AC_MSG_RESULT([$do64bitVIS]) ++ ++ if test "$do64bitVIS" = "yes"; then ++ # Force 64bit on with VIS ++ do64bit=yes ++ fi ++ ++ # Step 0.c: Cross-compiling options for Windows/CE builds? ++ ++ if test "${TEA_PLATFORM}" = "windows" ; then ++ AC_MSG_CHECKING([if Windows/CE build is requested]) ++ AC_ARG_ENABLE(wince,[ --enable-wince enable Win/CE support (where applicable)], [doWince=$enableval], [doWince=no]) ++ AC_MSG_RESULT($doWince) ++ fi ++ ++ # Step 1: set the variable "system" to hold the name and version number ++ # for the system. This can usually be done via the "uname" command, but ++ # there are a few systems, like Next, where this doesn't work. ++ ++ AC_MSG_CHECKING([system version (for dynamic loading)]) ++ if test -f /usr/lib/NextStep/software_version; then ++ system=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version` ++ else ++ system=`uname -s`-`uname -r` ++ if test "$?" -ne 0 ; then ++ AC_MSG_RESULT([unknown (can't find uname command)]) ++ system=unknown ++ else ++ # Special check for weird MP-RAS system (uname returns weird ++ # results, and the version is kept in special file). ++ ++ if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then ++ system=MP-RAS-`awk '{print $3}' /etc/.relid'` ++ fi ++ if test "`uname -s`" = "AIX" ; then ++ system=AIX-`uname -v`.`uname -r` ++ fi ++ if test "${TEA_PLATFORM}" = "windows" ; then ++ system=windows ++ fi ++ AC_MSG_RESULT([$system]) ++ fi ++ fi ++ ++ # Step 2: check for existence of -ldl library. This is needed because ++ # Linux can use either -ldl or -ldld for dynamic loading. ++ ++ AC_CHECK_LIB(dl, dlopen, have_dl=yes, have_dl=no) ++ ++ # Step 3: set configuration options based on system name and version. ++ # This is similar to Tcl's unix/tcl.m4 except that we've added a ++ # "windows" case and CC_SEARCH_FLAGS becomes LD_SEARCH_FLAGS for us ++ # (and we have no CC_SEARCH_FLAGS). ++ ++ do64bit_ok=no ++ LDFLAGS_ORIG="$LDFLAGS" ++ TCL_EXPORT_FILE_SUFFIX="" ++ UNSHARED_LIB_SUFFIX="" ++ TCL_TRIM_DOTS='`echo ${PACKAGE_VERSION} | tr -d .`' ++ ECHO_VERSION='`echo ${PACKAGE_VERSION}`' ++ TCL_LIB_VERSIONS_OK=ok ++ CFLAGS_DEBUG=-g ++ if test "$GCC" = "yes" ; then ++ CFLAGS_OPTIMIZE=-O2 ++ CFLAGS_WARNING="-Wall -Wno-implicit-int" ++ else ++ CFLAGS_OPTIMIZE=-O ++ CFLAGS_WARNING="" ++ fi ++ TCL_NEEDS_EXP_FILE=0 ++ TCL_BUILD_EXP_FILE="" ++ TCL_EXP_FILE="" ++dnl FIXME: Replace AC_CHECK_PROG with AC_CHECK_TOOL once cross compiling is fixed. ++dnl AC_CHECK_TOOL(AR, ar, :) ++ AC_CHECK_PROG(AR, ar, ar) ++ STLIB_LD='${AR} cr' ++ LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH" ++ case $system in ++ windows) ++ # This is a 2-stage check to make sure we have the 64-bit SDK ++ # We have to know where the SDK is installed. ++ if test "$do64bit" = "yes" ; then ++ if test "x${MSSDK}x" = "xx" ; then ++ MSSDK="C:/Progra~1/Microsoft SDK" ++ fi ++ # Ensure that this path has no spaces to work in autoconf ++ TEA_PATH_NOSPACE(MSSDK, ${MSSDK}) ++ if test ! -d "${MSSDK}/bin/win64" ; then ++ AC_MSG_WARN([could not find 64-bit SDK to enable 64bit mode]) ++ do64bit="no" ++ else ++ do64bit_ok="yes" ++ fi ++ fi ++ ++ if test "$doWince" != "no" ; then ++ if test "$do64bit" = "yes" ; then ++ AC_MSG_ERROR([Windows/CE and 64-bit builds incompatible]) ++ fi ++ if test "$GCC" = "yes" ; then ++ AC_MSG_ERROR([Windows/CE and GCC builds incompatible]) ++ fi ++ TEA_PATH_CELIB ++ # Set defaults for common evc4/PPC2003 setup ++ # Currently Tcl requires 300+, possibly 420+ for sockets ++ CEVERSION=420; # could be 211 300 301 400 420 ... ++ TARGETCPU=ARMV4; # could be ARMV4 ARM MIPS SH3 X86 ... ++ ARCH=ARM; # could be ARM MIPS X86EM ... ++ PLATFORM="Pocket PC 2003"; # or "Pocket PC 2002" ++ if test "$doWince" != "yes"; then ++ # If !yes then the user specified something ++ # Reset ARCH to allow user to skip specifying it ++ ARCH= ++ eval `echo $doWince | awk -F, '{ \ ++ if (length([$]1)) { printf "CEVERSION=\"%s\"\n", [$]1; \ ++ if ([$]1 < 400) { printf "PLATFORM=\"Pocket PC 2002\"\n" } }; \ ++ if (length([$]2)) { printf "TARGETCPU=\"%s\"\n", toupper([$]2) }; \ ++ if (length([$]3)) { printf "ARCH=\"%s\"\n", toupper([$]3) }; \ ++ if (length([$]4)) { printf "PLATFORM=\"%s\"\n", [$]4 }; \ ++ }'` ++ if test "x${ARCH}" = "x" ; then ++ ARCH=$TARGETCPU; ++ fi ++ fi ++ OSVERSION=WCE$CEVERSION; ++ if test "x${WCEROOT}" = "x" ; then ++ WCEROOT="C:/Program Files/Microsoft eMbedded C++ 4.0" ++ if test ! -d "${WCEROOT}" ; then ++ WCEROOT="C:/Program Files/Microsoft eMbedded Tools" ++ fi ++ fi ++ if test "x${SDKROOT}" = "x" ; then ++ SDKROOT="C:/Program Files/Windows CE Tools" ++ if test ! -d "${SDKROOT}" ; then ++ SDKROOT="C:/Windows CE Tools" ++ fi ++ fi ++ # Ensure that this path has no spaces to work in autoconf ++ TEA_PATH_NOSPACE(WCEROOT, ${WCEROOT}) ++ TEA_PATH_NOSPACE(SDKROOT, ${SDKROOT}) ++ if test ! -d "${SDKROOT}/${OSVERSION}/${PLATFORM}/Lib/${TARGETCPU}" \ ++ -o ! -d "${WCEROOT}/EVC/${OSVERSION}/bin"; then ++ AC_MSG_ERROR([could not find PocketPC SDK or target compiler to enable WinCE mode [$CEVERSION,$TARGETCPU,$ARCH,$PLATFORM]]) ++ doWince="no" ++ else ++ # We could PATH_NOSPACE these, but that's not important, ++ # as long as we quote them when used. ++ CEINCLUDE="${SDKROOT}/${OSVERSION}/${PLATFORM}/include" ++ if test -d "${CEINCLUDE}/${TARGETCPU}" ; then ++ CEINCLUDE="${CEINCLUDE}/${TARGETCPU}" ++ fi ++ CELIBPATH="${SDKROOT}/${OSVERSION}/${PLATFORM}/Lib/${TARGETCPU}" ++ fi ++ fi ++ ++ if test "$GCC" != "yes" ; then ++ if test "${SHARED_BUILD}" = "0" ; then ++ runtime=-MT ++ else ++ runtime=-MD ++ fi ++ ++ if test "$do64bit" = "yes" ; then ++ # All this magic is necessary for the Win64 SDK RC1 - hobbs ++ CC="${MSSDK}/Bin/Win64/cl.exe" ++ CFLAGS="${CFLAGS} -I${MSSDK}/Include/prerelease \ ++ -I${MSSDK}/Include/Win64/crt \ ++ -I${MSSDK}/Include" ++ RC="${MSSDK}/bin/rc.exe" ++ lflags="-MACHINE:IA64 -LIBPATH:${MSSDK}/Lib/IA64 \ ++ -LIBPATH:${MSSDK}/Lib/Prerelease/IA64 -nologo" ++ LINKBIN="${MSSDK}/bin/win64/link.exe" ++ CFLAGS_DEBUG="-nologo -Zi -Od -W3 ${runtime}d" ++ CFLAGS_OPTIMIZE="-nologo -O2 -W2 ${runtime}" ++ elif test "$doWince" != "no" ; then ++ CEBINROOT="${WCEROOT}/EVC/${OSVERSION}/bin" ++ if test "${TARGETCPU}" = "X86"; then ++ CC="${CEBINROOT}/cl.exe" ++ else ++ CC="${CEBINROOT}/cl${ARCH}.exe" ++ fi ++ CFLAGS="$CFLAGS -I\"${CELIB_DIR}/inc\" -I\"${CEINCLUDE}\"" ++ RC="${WCEROOT}/Common/EVC/bin/rc.exe" ++ arch=`echo ${ARCH} | awk '{print tolower([$]0)}'` ++ defs="${ARCH} _${ARCH}_ ${arch} PALM_SIZE _MT _WINDOWS" ++ if test "${SHARED_BUILD}" = "1" ; then ++ # Static CE builds require static celib as well ++ defs="${defs} _DLL" ++ fi ++ for i in $defs ; do ++ AC_DEFINE_UNQUOTED($i) ++ done ++ AC_DEFINE_UNQUOTED(_WIN32_WCE, $CEVERSION) ++ AC_DEFINE_UNQUOTED(UNDER_CE, $CEVERSION) ++ CFLAGS_DEBUG="-nologo -Zi -Od" ++ CFLAGS_OPTIMIZE="-nologo -Ox" ++ lversion=`echo ${CEVERSION} | sed -e 's/\(.\)\(..\)/\1\.\2/'` ++ lflags="-MACHINE:${ARCH} -LIBPATH:\"${CELIBPATH}\" -subsystem:windowsce,${lversion} -nologo" ++ LINKBIN="${CEBINROOT}/link.exe" ++ AC_SUBST(CELIB_DIR) ++ else ++ RC="rc" ++ lflags="-nologo" ++ LINKBIN="link" ++ CFLAGS_DEBUG="-nologo -Z7 -Od -W3 -WX ${runtime}d" ++ CFLAGS_OPTIMIZE="-nologo -O2 -W2 ${runtime}" ++ fi ++ fi ++ ++ if test "$GCC" = "yes"; then ++ # mingw gcc mode ++ RC="windres" ++ CFLAGS_DEBUG="-g" ++ CFLAGS_OPTIMIZE="-O2 -fomit-frame-pointer" ++ SHLIB_LD="$CC -shared" ++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' ++ LDFLAGS_CONSOLE="-wl,--subsystem,console ${lflags}" ++ LDFLAGS_WINDOW="-wl,--subsystem,windows ${lflags}" ++ else ++ SHLIB_LD="${LINKBIN} -dll ${lflags}" ++ # link -lib only works when -lib is the first arg ++ STLIB_LD="${LINKBIN} -lib ${lflags}" ++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.lib' ++ PATHTYPE=-w ++ # For information on what debugtype is most useful, see: ++ # http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp ++ # This essentially turns it all on. ++ LDFLAGS_DEBUG="-debug:full -debugtype:both -warn:2" ++ LDFLAGS_OPTIMIZE="-release" ++ if test "$doWince" != "no" ; then ++ LDFLAGS_CONSOLE="-link ${lflags}" ++ LDFLAGS_WINDOW=${LDFLAGS_CONSOLE} ++ else ++ LDFLAGS_CONSOLE="-link -subsystem:console ${lflags}" ++ LDFLAGS_WINDOW="-link -subsystem:windows ${lflags}" ++ fi ++ fi ++ ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".dll" ++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.dll' ++ ++ TCL_LIB_VERSIONS_OK=nodots ++ # Bogus to avoid getting this turned off ++ DL_OBJS="tclLoadNone.obj" ++ ;; ++ AIX-*) ++ if test "${TCL_THREADS}" = "1" -a "$GCC" != "yes" ; then ++ # AIX requires the _r compiler when gcc isn't being used ++ if test "${CC}" != "cc_r" ; then ++ CC=${CC}_r ++ fi ++ AC_MSG_RESULT([Using $CC for compiling with threads]) ++ fi ++ LIBS="$LIBS -lc" ++ SHLIB_CFLAGS="" ++ SHLIB_SUFFIX=".so" ++ SHLIB_LD_LIBS='${LIBS}' ++ ++ DL_OBJS="tclLoadDl.o" ++ LD_LIBRARY_PATH_VAR="LIBPATH" ++ ++ # AIX v<=4.1 has some different flags than 4.2+ ++ if test "$system" = "AIX-4.1" -o "`uname -v`" -lt "4" ; then ++ #LIBOBJS="$LIBOBJS tclLoadAix.o" ++ AC_LIBOBJ([tclLoadAix]) ++ DL_LIBS="-lld" ++ fi ++ ++ # Check to enable 64-bit flags for compiler/linker on AIX 4+ ++ if test "$do64bit" = "yes" -a "`uname -v`" -gt "3" ; then ++ if test "$GCC" = "yes" ; then ++ AC_MSG_WARN("64bit mode not supported with GCC on $system") ++ else ++ do64bit_ok=yes ++ CFLAGS="$CFLAGS -q64" ++ LDFLAGS="$LDFLAGS -q64" ++ RANLIB="${RANLIB} -X64" ++ AR="${AR} -X64" ++ SHLIB_LD_FLAGS="-b64" ++ fi ++ fi ++ ++ if test "`uname -m`" = "ia64" ; then ++ # AIX-5 uses ELF style dynamic libraries on IA-64, but not PPC ++ SHLIB_LD="/usr/ccs/bin/ld -G -z text" ++ # AIX-5 has dl* in libc.so ++ DL_LIBS="" ++ if test "$GCC" = "yes" ; then ++ LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}' ++ else ++ LD_SEARCH_FLAGS='-R${LIB_RUNTIME_DIR}' ++ fi ++ else ++ if test "$GCC" = "yes" ; then ++ SHLIB_LD="gcc -shared" ++ else ++ SHLIB_LD="/bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry" ++ fi ++ SHLIB_LD="${TCL_SRC_DIR}/unix/ldAix ${SHLIB_LD} ${SHLIB_LD_FLAGS}" ++ DL_LIBS="-ldl" ++ LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' ++ TCL_NEEDS_EXP_FILE=1 ++ TCL_EXPORT_FILE_SUFFIX='${PACKAGE_VERSION}.exp' ++ fi ++ ++ # On AIX <=v4 systems, libbsd.a has to be linked in to support ++ # non-blocking file IO. This library has to be linked in after ++ # the MATH_LIBS or it breaks the pow() function. The way to ++ # insure proper sequencing, is to add it to the tail of MATH_LIBS. ++ # This library also supplies gettimeofday. ++ # ++ # AIX does not have a timezone field in struct tm. When the AIX ++ # bsd library is used, the timezone global and the gettimeofday ++ # methods are to be avoided for timezone deduction instead, we ++ # deduce the timezone by comparing the localtime result on a ++ # known GMT value. ++ ++ AC_CHECK_LIB(bsd, gettimeofday, libbsd=yes, libbsd=no) ++ if test $libbsd = yes; then ++ MATH_LIBS="$MATH_LIBS -lbsd" ++ AC_DEFINE(USE_DELTA_FOR_TZ) ++ fi ++ ;; ++ BeOS*) ++ SHLIB_CFLAGS="-fPIC" ++ SHLIB_LD="${CC} -nostart" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ ;; ++ BSD/OS-2.1*|BSD/OS-3*) ++ SHLIB_CFLAGS="" ++ SHLIB_LD="shlicc -r" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ LD_SEARCH_FLAGS="" ++ ;; ++ BSD/OS-4.*) ++ SHLIB_CFLAGS="-export-dynamic -fPIC" ++ SHLIB_LD="cc -shared" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ LDFLAGS="$LDFLAGS -export-dynamic" ++ LD_SEARCH_FLAGS="" ++ ;; ++ dgux*) ++ SHLIB_CFLAGS="-K PIC" ++ SHLIB_LD="cc -G" ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ LD_SEARCH_FLAGS="" ++ ;; ++ HP-UX-*.11.*) ++ # Use updated header definitions where possible ++ AC_DEFINE(_XOPEN_SOURCE_EXTENDED) ++ ++ SHLIB_SUFFIX=".sl" ++ AC_CHECK_LIB(dld, shl_load, tcl_ok=yes, tcl_ok=no) ++ if test "$tcl_ok" = yes; then ++ SHLIB_CFLAGS="+z" ++ SHLIB_LD="ld -b" ++ SHLIB_LD_LIBS='${LIBS}' ++ DL_OBJS="tclLoadShl.o" ++ DL_LIBS="-ldld" ++ LDFLAGS="$LDFLAGS -Wl,-E" ++ LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:.' ++ LD_LIBRARY_PATH_VAR="SHLIB_PATH" ++ fi ++ if test "$GCC" = "yes" ; then ++ SHLIB_LD="gcc -shared" ++ SHLIB_LD_LIBS='${LIBS}' ++ LD_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.' ++ fi ++ ++ # Users may want PA-RISC 1.1/2.0 portable code - needs HP cc ++ #CFLAGS="$CFLAGS +DAportable" ++ ++ # Check to enable 64-bit flags for compiler/linker ++ if test "$do64bit" = "yes" ; then ++ if test "$GCC" = "yes" ; then ++ hpux_arch=`${CC} -dumpmachine` ++ case $hpux_arch in ++ hppa64*) ++ # 64-bit gcc in use. Fix flags for GNU ld. ++ do64bit_ok=yes ++ SHLIB_LD="${CC} -shared" ++ SHLIB_LD_LIBS='${LIBS}' ++ ;; ++ *) ++ AC_MSG_WARN("64bit mode not supported with GCC on $system") ++ ;; ++ esac ++ else ++ do64bit_ok=yes ++ CFLAGS="$CFLAGS +DD64" ++ LDFLAGS="$LDFLAGS +DD64" ++ fi ++ fi ++ ;; ++ HP-UX-*.08.*|HP-UX-*.09.*|HP-UX-*.10.*) ++ SHLIB_SUFFIX=".sl" ++ AC_CHECK_LIB(dld, shl_load, tcl_ok=yes, tcl_ok=no) ++ if test "$tcl_ok" = yes; then ++ SHLIB_CFLAGS="+z" ++ SHLIB_LD="ld -b" ++ SHLIB_LD_LIBS="" ++ DL_OBJS="tclLoadShl.o" ++ DL_LIBS="-ldld" ++ LDFLAGS="$LDFLAGS -Wl,-E" ++ LD_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.' ++ fi ++ LD_LIBRARY_PATH_VAR="SHLIB_PATH" ++ ;; ++ IRIX-4.*) ++ SHLIB_CFLAGS="-G 0" ++ SHLIB_SUFFIX=".a" ++ SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r -G 0" ++ SHLIB_LD_LIBS='${LIBS}' ++ DL_OBJS="tclLoadAout.o" ++ DL_LIBS="" ++ LDFLAGS="$LDFLAGS -Wl,-D,08000000" ++ LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' ++ SHARED_LIB_SUFFIX='${PACKAGE_VERSION}.a' ++ ;; ++ IRIX-5.*) ++ SHLIB_CFLAGS="" ++ SHLIB_LD="ld -shared -rdata_shared" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' ++ ;; ++ IRIX-6.*|IRIX64-6.5*) ++ SHLIB_CFLAGS="" ++ SHLIB_LD="ld -n32 -shared -rdata_shared" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' ++ if test "$GCC" = "yes" ; then ++ CFLAGS="$CFLAGS -mabi=n32" ++ LDFLAGS="$LDFLAGS -mabi=n32" ++ else ++ case $system in ++ IRIX-6.3) ++ # Use to build 6.2 compatible binaries on 6.3. ++ CFLAGS="$CFLAGS -n32 -D_OLD_TERMIOS" ++ ;; ++ *) ++ CFLAGS="$CFLAGS -n32" ++ ;; ++ esac ++ LDFLAGS="$LDFLAGS -n32" ++ fi ++ ;; ++ IRIX64-6.*) ++ SHLIB_CFLAGS="" ++ SHLIB_LD="ld -n32 -shared -rdata_shared" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' ++ ++ # Check to enable 64-bit flags for compiler/linker ++ ++ if test "$do64bit" = "yes" ; then ++ if test "$GCC" = "yes" ; then ++ AC_MSG_WARN([64bit mode not supported by gcc]) ++ else ++ do64bit_ok=yes ++ SHLIB_LD="ld -64 -shared -rdata_shared" ++ CFLAGS="$CFLAGS -64" ++ LDFLAGS="$LDFLAGS -64" ++ fi ++ fi ++ ;; ++ Linux*) ++ SHLIB_CFLAGS="-fPIC" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ ++ CFLAGS_OPTIMIZE="-O2 -fomit-frame-pointer" ++ # egcs-2.91.66 on Redhat Linux 6.0 generates lots of warnings ++ # when you inline the string and math operations. Turn this off to ++ # get rid of the warnings. ++ ++ #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" ++ ++ if test "$have_dl" = yes; then ++ SHLIB_LD="${CC} -shared" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ LDFLAGS="$LDFLAGS -Wl,--export-dynamic" ++ LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' ++ else ++ AC_CHECK_HEADER(dld.h, [ ++ SHLIB_LD="ld -shared" ++ DL_OBJS="tclLoadDld.o" ++ DL_LIBS="-ldld" ++ LD_SEARCH_FLAGS=""]) ++ fi ++ if test "`uname -m`" = "alpha" ; then ++ CFLAGS="$CFLAGS -mieee" ++ fi ++ ++ # The combo of gcc + glibc has a bug related ++ # to inlining of functions like strtod(). The ++ # -fno-builtin flag should address this problem ++ # but it does not work. The -fno-inline flag ++ # is kind of overkill but it works. ++ # Disable inlining only when one of the ++ # files in compat/*.c is being linked in. ++ if test x"${USE_COMPAT}" != x ; then ++ CFLAGS="$CFLAGS -fno-inline" ++ fi ++ ++ ;; ++ GNU*) ++ SHLIB_CFLAGS="-fPIC" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ ++ if test "$have_dl" = yes; then ++ SHLIB_LD="${CC} -shared" ++ DL_OBJS="" ++ DL_LIBS="-ldl" ++ LDFLAGS="$LDFLAGS -Wl,--export-dynamic" ++ LD_SEARCH_FLAGS="" ++ else ++ AC_CHECK_HEADER(dld.h, [ ++ SHLIB_LD="ld -shared" ++ DL_OBJS="" ++ DL_LIBS="-ldld" ++ LD_SEARCH_FLAGS=""]) ++ fi ++ if test "`uname -m`" = "alpha" ; then ++ CFLAGS="$CFLAGS -mieee" ++ fi ++ ;; ++ MP-RAS-02*) ++ SHLIB_CFLAGS="-K PIC" ++ SHLIB_LD="cc -G" ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ LD_SEARCH_FLAGS="" ++ ;; ++ MP-RAS-*) ++ SHLIB_CFLAGS="-K PIC" ++ SHLIB_LD="cc -G" ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ LDFLAGS="$LDFLAGS -Wl,-Bexport" ++ LD_SEARCH_FLAGS="" ++ ;; ++ NetBSD-*|FreeBSD-[[1-2]].*) ++ # Not available on all versions: check for include file. ++ AC_CHECK_HEADER(dlfcn.h, [ ++ # NetBSD/SPARC needs -fPIC, -fpic will not do. ++ SHLIB_CFLAGS="-fPIC" ++ SHLIB_LD="ld -Bshareable -x" ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' ++ AC_MSG_CHECKING([for ELF]) ++ AC_EGREP_CPP(yes, [ ++#ifdef __ELF__ ++ yes ++#endif ++ ], ++ AC_MSG_RESULT([yes]) ++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so', ++ AC_MSG_RESULT([no]) ++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0' ++ ) ++ ], [ ++ SHLIB_CFLAGS="" ++ SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".a" ++ DL_OBJS="tclLoadAout.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' ++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' ++ ]) ++ ++ # FreeBSD doesn't handle version numbers with dots. ++ ++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' ++ TCL_LIB_VERSIONS_OK=nodots ++ ;; ++ OpenBSD-*) ++ SHLIB_LD="${CC} -shared" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS="" ++ AC_MSG_CHECKING(for ELF) ++ AC_EGREP_CPP(yes, [ ++#ifdef __ELF__ ++ yes ++#endif ++ ], ++ [AC_MSG_RESULT(yes) ++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0'], ++ [AC_MSG_RESULT(no) ++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0'] ++ ) ++ ++ # OpenBSD doesn't do version numbers with dots. ++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' ++ TCL_LIB_VERSIONS_OK=nodots ++ ;; ++ FreeBSD-*) ++ # FreeBSD 3.* and greater have ELF. ++ SHLIB_CFLAGS="-fPIC" ++ SHLIB_LD="ld -Bshareable -x" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="" ++ LDFLAGS="$LDFLAGS -export-dynamic" ++ LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' ++ if test "${TCL_THREADS}" = "1" ; then ++ # The -pthread needs to go in the CFLAGS, not LIBS ++ LIBS=`echo $LIBS | sed s/-pthread//` ++ CFLAGS="$CFLAGS -pthread" ++ LDFLAGS="$LDFLAGS -pthread" ++ fi ++ case $system in ++ FreeBSD-3.*) ++ # FreeBSD-3 doesn't handle version numbers with dots. ++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' ++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so' ++ TCL_LIB_VERSIONS_OK=nodots ++ ;; ++ esac ++ ;; ++ Darwin-*) ++ SHLIB_CFLAGS="-fno-common" ++ SHLIB_LD="cc -dynamiclib \${LDFLAGS}" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".dylib" ++ DL_OBJS="tclLoadDyld.o" ++ DL_LIBS="" ++ LDFLAGS="$LDFLAGS -prebind -Wl,-search_paths_first" ++ LD_SEARCH_FLAGS="" ++ LD_LIBRARY_PATH_VAR="DYLD_LIBRARY_PATH" ++ CFLAGS_OPTIMIZE="-Os" ++ ;; ++ NEXTSTEP-*) ++ SHLIB_CFLAGS="" ++ SHLIB_LD="cc -nostdlib -r" ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadNext.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS="" ++ ;; ++ OS/390-*) ++ CFLAGS_OPTIMIZE="" # Optimizer is buggy ++ AC_DEFINE(_OE_SOCKETS) # needed in sys/socket.h ++ ;; ++ OSF1-1.0|OSF1-1.1|OSF1-1.2) ++ # OSF/1 1.[012] from OSF, and derivatives, including Paragon OSF/1 ++ SHLIB_CFLAGS="" ++ # Hack: make package name same as library name ++ SHLIB_LD='ld -R -export $@:' ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadOSF.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS="" ++ ;; ++ OSF1-1.*) ++ # OSF/1 1.3 from OSF using ELF, and derivatives, including AD2 ++ SHLIB_CFLAGS="-fPIC" ++ if test "$SHARED_BUILD" = "1" ; then ++ SHLIB_LD="ld -shared" ++ else ++ SHLIB_LD="ld -non_shared" ++ fi ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS="" ++ ;; ++ OSF1-V*) ++ # Digital OSF/1 ++ SHLIB_CFLAGS="" ++ if test "$SHARED_BUILD" = "1" ; then ++ SHLIB_LD='ld -shared -expect_unresolved "*"' ++ else ++ SHLIB_LD='ld -non_shared -expect_unresolved "*"' ++ fi ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}' ++ if test "$GCC" = "yes" ; then ++ CFLAGS="$CFLAGS -mieee" ++ else ++ CFLAGS="$CFLAGS -DHAVE_TZSET -std1 -ieee" ++ fi ++ # see pthread_intro(3) for pthread support on osf1, k.furukawa ++ if test "${TCL_THREADS}" = "1" ; then ++ CFLAGS="$CFLAGS -DHAVE_PTHREAD_ATTR_SETSTACKSIZE" ++ CFLAGS="$CFLAGS -DTCL_THREAD_STACK_MIN=PTHREAD_STACK_MIN*64" ++ LIBS=`echo $LIBS | sed s/-lpthreads//` ++ if test "$GCC" = "yes" ; then ++ LIBS="$LIBS -lpthread -lmach -lexc" ++ else ++ CFLAGS="$CFLAGS -pthread" ++ LDFLAGS="$LDFLAGS -pthread" ++ fi ++ fi ++ ++ ;; ++ QNX-6*) ++ # QNX RTP ++ # This may work for all QNX, but it was only reported for v6. ++ SHLIB_CFLAGS="-fPIC" ++ SHLIB_LD="ld -Bshareable -x" ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ # dlopen is in -lc on QNX ++ DL_LIBS="" ++ LD_SEARCH_FLAGS="" ++ ;; ++ RISCos-*) ++ SHLIB_CFLAGS="-G 0" ++ SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r -G 0" ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".a" ++ DL_OBJS="tclLoadAout.o" ++ DL_LIBS="" ++ LDFLAGS="$LDFLAGS -Wl,-D,08000000" ++ LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' ++ ;; ++ SCO_SV-3.2*) ++ # Note, dlopen is available only on SCO 3.2.5 and greater. However, ++ # this test works, since "uname -s" was non-standard in 3.2.4 and ++ # below. ++ if test "$GCC" = "yes" ; then ++ SHLIB_CFLAGS="-fPIC -melf" ++ LDFLAGS="$LDFLAGS -melf -Wl,-Bexport" ++ else ++ SHLIB_CFLAGS="-Kpic -belf" ++ LDFLAGS="$LDFLAGS -belf -Wl,-Bexport" ++ fi ++ SHLIB_LD="ld -G" ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="" ++ LD_SEARCH_FLAGS="" ++ ;; ++ SINIX*5.4*) ++ SHLIB_CFLAGS="-K PIC" ++ SHLIB_LD="cc -G" ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ LD_SEARCH_FLAGS="" ++ ;; ++ SunOS-4*) ++ SHLIB_CFLAGS="-PIC" ++ SHLIB_LD="ld" ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' ++ ++ # SunOS can't handle version numbers with dots in them in library ++ # specs, like -ltcl7.5, so use -ltcl75 instead. Also, it ++ # requires an extra version number at the end of .so file names. ++ # So, the library has to have a name like libtcl75.so.1.0 ++ ++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0' ++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' ++ TCL_LIB_VERSIONS_OK=nodots ++ ;; ++ SunOS-5.[[0-6]]*) ++ ++ # Note: If _REENTRANT isn't defined, then Solaris ++ # won't define thread-safe library routines. ++ ++ AC_DEFINE(_REENTRANT) ++ AC_DEFINE(_POSIX_PTHREAD_SEMANTICS) ++ ++ SHLIB_CFLAGS="-KPIC" ++ ++ # Note: need the LIBS below, otherwise Tk won't find Tcl's ++ # symbols when dynamically loaded into tclsh. ++ ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ if test "$GCC" = "yes" ; then ++ SHLIB_LD="$CC -shared" ++ LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}' ++ else ++ SHLIB_LD="/usr/ccs/bin/ld -G -z text" ++ LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}' ++ fi ++ ;; ++ SunOS-5*) ++ ++ # Note: If _REENTRANT isn't defined, then Solaris ++ # won't define thread-safe library routines. ++ ++ AC_DEFINE(_REENTRANT) ++ AC_DEFINE(_POSIX_PTHREAD_SEMANTICS) ++ ++ SHLIB_CFLAGS="-KPIC" ++ ++ # Check to enable 64-bit flags for compiler/linker ++ if test "$do64bit" = "yes" ; then ++ arch=`isainfo` ++ if test "$arch" = "sparcv9 sparc" ; then ++ if test "$GCC" = "yes" ; then ++ if test "`gcc -dumpversion` | awk -F. '{print $1}'" -lt "3" ; then ++ AC_MSG_WARN([64bit mode not supported with GCC < 3.2 on $system]) ++ else ++ do64bit_ok=yes ++ CFLAGS="$CFLAGS -m64 -mcpu=v9" ++ LDFLAGS="$LDFLAGS -m64 -mcpu=v9" ++ SHLIB_CFLAGS="-fPIC" ++ fi ++ else ++ do64bit_ok=yes ++ if test "$do64bitVIS" = "yes" ; then ++ CFLAGS="$CFLAGS -xarch=v9a" ++ LDFLAGS="$LDFLAGS -xarch=v9a" ++ else ++ CFLAGS="$CFLAGS -xarch=v9" ++ LDFLAGS="$LDFLAGS -xarch=v9" ++ fi ++ fi ++ else ++ AC_MSG_WARN("64bit mode only supported sparcv9 system") ++ fi ++ fi ++ ++ # Note: need the LIBS below, otherwise Tk won't find Tcl's ++ # symbols when dynamically loaded into tclsh. ++ ++ SHLIB_LD_LIBS='${LIBS}' ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ if test "$GCC" = "yes" ; then ++ SHLIB_LD="$CC -shared" ++ LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}' ++ if test "$do64bit" = "yes" ; then ++ # We need to specify -static-libgcc or we need to ++ # add the path to the sparv9 libgcc. ++ # JH: static-libgcc is necessary for core Tcl, but may ++ # not be necessary for extensions. ++ SHLIB_LD="$SHLIB_LD -m64 -mcpu=v9 -static-libgcc" ++ # for finding sparcv9 libgcc, get the regular libgcc ++ # path, remove so name and append 'sparcv9' ++ #v9gcclibdir="`gcc -print-file-name=libgcc_s.so` | ..." ++ #LD_SEARCH_FLAGS="${LD_SEARCH_FLAGS},-R,$v9gcclibdir" ++ fi ++ else ++ SHLIB_LD="/usr/ccs/bin/ld -G -z text" ++ LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}' ++ fi ++ ;; ++ ULTRIX-4.*) ++ SHLIB_CFLAGS="-G 0" ++ SHLIB_SUFFIX=".a" ++ SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r -G 0" ++ SHLIB_LD_LIBS='${LIBS}' ++ DL_OBJS="tclLoadAout.o" ++ DL_LIBS="" ++ LDFLAGS="$LDFLAGS -Wl,-D,08000000" ++ LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' ++ if test "$GCC" != "yes" ; then ++ CFLAGS="$CFLAGS -DHAVE_TZSET -std1" ++ fi ++ ;; ++ UNIX_SV* | UnixWare-5*) ++ SHLIB_CFLAGS="-KPIC" ++ SHLIB_LD="cc -G" ++ SHLIB_LD_LIBS="" ++ SHLIB_SUFFIX=".so" ++ DL_OBJS="tclLoadDl.o" ++ DL_LIBS="-ldl" ++ # Some UNIX_SV* systems (unixware 1.1.2 for example) have linkers ++ # that don't grok the -Bexport option. Test that it does. ++ hold_ldflags=$LDFLAGS ++ AC_MSG_CHECKING(for ld accepts -Bexport flag) ++ LDFLAGS="$LDFLAGS -Wl,-Bexport" ++ AC_TRY_LINK(, [int i;], [found=yes], ++ [LDFLAGS=$hold_ldflags found=no]) ++ AC_MSG_RESULT([$found]) ++ LD_SEARCH_FLAGS="" ++ ;; ++ esac ++ ++ if test "$do64bit" = "yes" -a "$do64bit_ok" = "no" ; then ++ AC_MSG_WARN("64bit support being disabled -- don\'t know magic for this platform") ++ fi ++ ++ # Step 4: If pseudo-static linking is in use (see K. B. Kenny, "Dynamic ++ # Loading for Tcl -- What Became of It?". Proc. 2nd Tcl/Tk Workshop, ++ # New Orleans, LA, Computerized Processes Unlimited, 1994), then we need ++ # to determine which of several header files defines the a.out file ++ # format (a.out.h, sys/exec.h, or sys/exec_aout.h). At present, we ++ # support only a file format that is more or less version-7-compatible. ++ # In particular, ++ # - a.out files must begin with `struct exec'. ++ # - the N_TXTOFF on the `struct exec' must compute the seek address ++ # of the text segment ++ # - The `struct exec' must contain a_magic, a_text, a_data, a_bss ++ # and a_entry fields. ++ # The following compilation should succeed if and only if either sys/exec.h ++ # or a.out.h is usable for the purpose. ++ # ++ # Note that the modified COFF format used on MIPS Ultrix 4.x is usable; the ++ # `struct exec' includes a second header that contains information that ++ # duplicates the v7 fields that are needed. ++ ++ if test "x$DL_OBJS" = "xtclLoadAout.o" ; then ++ AC_MSG_CHECKING([sys/exec.h]) ++ AC_TRY_COMPILE([#include ],[ ++ struct exec foo; ++ unsigned long seek; ++ int flag; ++#if defined(__mips) || defined(mips) ++ seek = N_TXTOFF (foo.ex_f, foo.ex_o); ++#else ++ seek = N_TXTOFF (foo); ++#endif ++ flag = (foo.a_magic == OMAGIC); ++ return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry; ++ ], tcl_ok=usable, tcl_ok=unusable) ++ AC_MSG_RESULT([$tcl_ok]) ++ if test $tcl_ok = usable; then ++ AC_DEFINE(USE_SYS_EXEC_H) ++ else ++ AC_MSG_CHECKING([a.out.h]) ++ AC_TRY_COMPILE([#include ],[ ++ struct exec foo; ++ unsigned long seek; ++ int flag; ++#if defined(__mips) || defined(mips) ++ seek = N_TXTOFF (foo.ex_f, foo.ex_o); ++#else ++ seek = N_TXTOFF (foo); ++#endif ++ flag = (foo.a_magic == OMAGIC); ++ return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry; ++ ], tcl_ok=usable, tcl_ok=unusable) ++ AC_MSG_RESULT([$tcl_ok]) ++ if test $tcl_ok = usable; then ++ AC_DEFINE(USE_A_OUT_H) ++ else ++ AC_MSG_CHECKING([sys/exec_aout.h]) ++ AC_TRY_COMPILE([#include ],[ ++ struct exec foo; ++ unsigned long seek; ++ int flag; ++#if defined(__mips) || defined(mips) ++ seek = N_TXTOFF (foo.ex_f, foo.ex_o); ++#else ++ seek = N_TXTOFF (foo); ++#endif ++ flag = (foo.a_midmag == OMAGIC); ++ return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry; ++ ], tcl_ok=usable, tcl_ok=unusable) ++ AC_MSG_RESULT([$tcl_ok]) ++ if test $tcl_ok = usable; then ++ AC_DEFINE(USE_SYS_EXEC_AOUT_H) ++ else ++ DL_OBJS="" ++ fi ++ fi ++ fi ++ fi ++ ++ # Step 5: disable dynamic loading if requested via a command-line switch. ++ ++ AC_ARG_ENABLE(load, [ --disable-load disallow dynamic loading and "load" command], ++ [tcl_ok=$enableval], [tcl_ok=yes]) ++ if test "$tcl_ok" = "no"; then ++ DL_OBJS="" ++ fi ++ ++ if test "x$DL_OBJS" != "x" ; then ++ BUILD_DLTEST="\$(DLTEST_TARGETS)" ++ else ++ echo "Can't figure out how to do dynamic loading or shared libraries" ++ echo "on this system." ++ SHLIB_CFLAGS="" ++ SHLIB_LD="" ++ SHLIB_SUFFIX="" ++ DL_OBJS="tclLoadNone.o" ++ DL_LIBS="" ++ LDFLAGS="$LDFLAGS_ORIG" ++ LD_SEARCH_FLAGS="" ++ BUILD_DLTEST="" ++ fi ++ ++ # If we're running gcc, then change the C flags for compiling shared ++ # libraries to the right flags for gcc, instead of those for the ++ # standard manufacturer compiler. ++ ++ if test "$DL_OBJS" != "tclLoadNone.o" ; then ++ if test "$GCC" = "yes" ; then ++ case $system in ++ AIX-*) ++ ;; ++ BSD/OS*) ++ ;; ++ IRIX*) ++ ;; ++ NetBSD-*|FreeBSD-*) ++ ;; ++ Darwin-*) ++ ;; ++ RISCos-*) ++ ;; ++ SCO_SV-3.2*) ++ ;; ++ ULTRIX-4.*) ++ ;; ++ windows) ++ ;; ++ *) ++ SHLIB_CFLAGS="-fPIC" ++ ;; ++ esac ++ fi ++ fi ++ ++ if test "$SHARED_LIB_SUFFIX" = "" ; then ++ SHARED_LIB_SUFFIX='${PACKAGE_VERSION}${SHLIB_SUFFIX}' ++ fi ++ if test "$UNSHARED_LIB_SUFFIX" = "" ; then ++ UNSHARED_LIB_SUFFIX='${PACKAGE_VERSION}.a' ++ fi ++ ++ AC_SUBST(DL_LIBS) ++ AC_SUBST(CFLAGS_DEBUG) ++ AC_SUBST(CFLAGS_OPTIMIZE) ++ AC_SUBST(CFLAGS_WARNING) ++ ++ AC_SUBST(STLIB_LD) ++ AC_SUBST(SHLIB_LD) ++ AC_SUBST(SHLIB_CFLAGS) ++ AC_SUBST(SHLIB_LD_LIBS) ++ AC_SUBST(LDFLAGS_DEBUG) ++ AC_SUBST(LDFLAGS_OPTIMIZE) ++ AC_SUBST(LD_LIBRARY_PATH_VAR) ++ ++ # These must be called after we do the basic CFLAGS checks and ++ # verify any possible 64-bit or similar switches are necessary ++ TEA_TCL_EARLY_FLAGS ++ TEA_TCL_64BIT_FLAGS ++]) ++ ++#-------------------------------------------------------------------- ++# TEA_SERIAL_PORT ++# ++# Determine which interface to use to talk to the serial port. ++# Note that #include lines must begin in leftmost column for ++# some compilers to recognize them as preprocessor directives, ++# and some build environments have stdin not pointing at a ++# pseudo-terminal (usually /dev/null instead.) ++# ++# Arguments: ++# none ++# ++# Results: ++# ++# Defines only one of the following vars: ++# HAVE_SYS_MODEM_H ++# USE_TERMIOS ++# USE_TERMIO ++# USE_SGTTY ++# ++#-------------------------------------------------------------------- ++ ++AC_DEFUN(TEA_SERIAL_PORT, [ ++ AC_CHECK_HEADERS(sys/modem.h) ++ AC_MSG_CHECKING([termios vs. termio vs. sgtty]) ++ AC_CACHE_VAL(tcl_cv_api_serial, [ ++ AC_TRY_RUN([ ++#include ++ ++int main() { ++ struct termios t; ++ if (tcgetattr(0, &t) == 0) { ++ cfsetospeed(&t, 0); ++ t.c_cflag |= PARENB | PARODD | CSIZE | CSTOPB; ++ return 0; ++ } ++ return 1; ++}], tcl_cv_api_serial=termios, tcl_cv_api_serial=no, tcl_cv_api_serial=no) ++ if test $tcl_cv_api_serial = no ; then ++ AC_TRY_RUN([ ++#include ++ ++int main() { ++ struct termio t; ++ if (ioctl(0, TCGETA, &t) == 0) { ++ t.c_cflag |= CBAUD | PARENB | PARODD | CSIZE | CSTOPB; ++ return 0; ++ } ++ return 1; ++}], tcl_cv_api_serial=termio, tcl_cv_api_serial=no, tcl_cv_api_serial=no) ++ fi ++ if test $tcl_cv_api_serial = no ; then ++ AC_TRY_RUN([ ++#include ++ ++int main() { ++ struct sgttyb t; ++ if (ioctl(0, TIOCGETP, &t) == 0) { ++ t.sg_ospeed = 0; ++ t.sg_flags |= ODDP | EVENP | RAW; ++ return 0; ++ } ++ return 1; ++}], tcl_cv_api_serial=sgtty, tcl_cv_api_serial=none, tcl_cv_api_serial=none) ++ fi ++ if test $tcl_cv_api_serial = no ; then ++ AC_TRY_RUN([ ++#include ++#include ++ ++int main() { ++ struct termios t; ++ if (tcgetattr(0, &t) == 0 ++ || errno == ENOTTY || errno == ENXIO || errno == EINVAL) { ++ cfsetospeed(&t, 0); ++ t.c_cflag |= PARENB | PARODD | CSIZE | CSTOPB; ++ return 0; ++ } ++ return 1; ++}], tcl_cv_api_serial=termios, tcl_cv_api_serial=no, tcl_cv_api_serial=no) ++ fi ++ if test $tcl_cv_api_serial = no; then ++ AC_TRY_RUN([ ++#include ++#include ++ ++int main() { ++ struct termio t; ++ if (ioctl(0, TCGETA, &t) == 0 ++ || errno == ENOTTY || errno == ENXIO || errno == EINVAL) { ++ t.c_cflag |= CBAUD | PARENB | PARODD | CSIZE | CSTOPB; ++ return 0; ++ } ++ return 1; ++ }], tcl_cv_api_serial=termio, tcl_cv_api_serial=no, tcl_cv_api_serial=no) ++ fi ++ if test $tcl_cv_api_serial = no; then ++ AC_TRY_RUN([ ++#include ++#include ++ ++int main() { ++ struct sgttyb t; ++ if (ioctl(0, TIOCGETP, &t) == 0 ++ || errno == ENOTTY || errno == ENXIO || errno == EINVAL) { ++ t.sg_ospeed = 0; ++ t.sg_flags |= ODDP | EVENP | RAW; ++ return 0; ++ } ++ return 1; ++}], tcl_cv_api_serial=sgtty, tcl_cv_api_serial=none, tcl_cv_api_serial=none) ++ fi]) ++ case $tcl_cv_api_serial in ++ termios) AC_DEFINE(USE_TERMIOS);; ++ termio) AC_DEFINE(USE_TERMIO);; ++ sgtty) AC_DEFINE(USE_SGTTY);; ++ esac ++ AC_MSG_RESULT([$tcl_cv_api_serial]) ++]) ++ ++#-------------------------------------------------------------------- ++# TEA_MISSING_POSIX_HEADERS ++# ++# Supply substitutes for missing POSIX header files. Special ++# notes: ++# - stdlib.h doesn't define strtol, strtoul, or ++# strtod insome versions of SunOS ++# - some versions of string.h don't declare procedures such ++# as strstr ++# ++# Arguments: ++# none ++# ++# Results: ++# ++# Defines some of the following vars: ++# NO_DIRENT_H ++# NO_ERRNO_H ++# NO_VALUES_H ++# HAVE_LIMITS_H or NO_LIMITS_H ++# NO_STDLIB_H ++# NO_STRING_H ++# NO_SYS_WAIT_H ++# NO_DLFCN_H ++# HAVE_SYS_PARAM_H ++# ++# HAVE_STRING_H ? ++# ++# tkUnixPort.h checks for HAVE_LIMITS_H, so do both HAVE and ++# CHECK on limits.h ++#-------------------------------------------------------------------- ++ ++AC_DEFUN(TEA_MISSING_POSIX_HEADERS, [ ++ AC_MSG_CHECKING([dirent.h]) ++ AC_TRY_LINK([#include ++#include ], [ ++#ifndef _POSIX_SOURCE ++# ifdef __Lynx__ ++ /* ++ * Generate compilation error to make the test fail: Lynx headers ++ * are only valid if really in the POSIX environment. ++ */ ++ ++ missing_procedure(); ++# endif ++#endif ++DIR *d; ++struct dirent *entryPtr; ++char *p; ++d = opendir("foobar"); ++entryPtr = readdir(d); ++p = entryPtr->d_name; ++closedir(d); ++], tcl_ok=yes, tcl_ok=no) ++ ++ if test $tcl_ok = no; then ++ AC_DEFINE(NO_DIRENT_H) ++ fi ++ ++ AC_MSG_RESULT([$tcl_ok]) ++ AC_CHECK_HEADER(errno.h, , [AC_DEFINE(NO_ERRNO_H)]) ++ AC_CHECK_HEADER(float.h, , [AC_DEFINE(NO_FLOAT_H)]) ++ AC_CHECK_HEADER(values.h, , [AC_DEFINE(NO_VALUES_H)]) ++ AC_CHECK_HEADER(limits.h, ++ [AC_DEFINE(HAVE_LIMITS_H)], [AC_DEFINE(NO_LIMITS_H)]) ++ AC_CHECK_HEADER(stdlib.h, tcl_ok=1, tcl_ok=0) ++ AC_EGREP_HEADER(strtol, stdlib.h, , tcl_ok=0) ++ AC_EGREP_HEADER(strtoul, stdlib.h, , tcl_ok=0) ++ AC_EGREP_HEADER(strtod, stdlib.h, , tcl_ok=0) ++ if test $tcl_ok = 0; then ++ AC_DEFINE(NO_STDLIB_H) ++ fi ++ AC_CHECK_HEADER(string.h, tcl_ok=1, tcl_ok=0) ++ AC_EGREP_HEADER(strstr, string.h, , tcl_ok=0) ++ AC_EGREP_HEADER(strerror, string.h, , tcl_ok=0) ++ ++ # See also memmove check below for a place where NO_STRING_H can be ++ # set and why. ++ ++ if test $tcl_ok = 0; then ++ AC_DEFINE(NO_STRING_H) ++ fi ++ ++ AC_CHECK_HEADER(sys/wait.h, , [AC_DEFINE(NO_SYS_WAIT_H)]) ++ AC_CHECK_HEADER(dlfcn.h, , [AC_DEFINE(NO_DLFCN_H)]) ++ ++ # OS/390 lacks sys/param.h (and doesn't need it, by chance). ++ AC_HAVE_HEADERS(sys/param.h) ++ ++]) ++ ++#-------------------------------------------------------------------- ++# TEA_PATH_X ++# ++# Locate the X11 header files and the X11 library archive. Try ++# the ac_path_x macro first, but if it doesn't find the X stuff ++# (e.g. because there's no xmkmf program) then check through ++# a list of possible directories. Under some conditions the ++# autoconf macro will return an include directory that contains ++# no include files, so double-check its result just to be safe. ++# ++# This should be called after TEA_CONFIG_CFLAGS as setting the ++# LIBS line can confuse some configure macro magic. ++# ++# Arguments: ++# none ++# ++# Results: ++# ++# Sets the following vars: ++# XINCLUDES ++# XLIBSW ++# LIBS (appends to) ++# TEA_WINDOWINGSYSTEM ++# ++#-------------------------------------------------------------------- ++ ++AC_DEFUN(TEA_PATH_X, [ ++ if test "${TEA_PLATFORM}" = "unix" ; then ++ case ${TK_DEFS} in ++ *MAC_OSX_TK*) ++ AC_DEFINE(MAC_OSX_TK) ++ TEA_WINDOWINGSYSTEM="aqua" ++ ;; ++ *) ++ TEA_PATH_UNIX_X ++ TEA_WINDOWINGSYSTEM="x11" ++ ;; ++ esac ++ elif test "${TEA_PLATFORM}" = "windows" ; then ++ TEA_WINDOWINGSYSTEM="windows" ++ fi ++]) ++ ++AC_DEFUN(TEA_PATH_UNIX_X, [ ++ AC_PATH_X ++ not_really_there="" ++ if test "$no_x" = ""; then ++ if test "$x_includes" = ""; then ++ AC_TRY_CPP([#include ], , not_really_there="yes") ++ else ++ if test ! -r $x_includes/X11/Intrinsic.h; then ++ not_really_there="yes" ++ fi ++ fi ++ fi ++ if test "$no_x" = "yes" -o "$not_really_there" = "yes"; then ++ AC_MSG_CHECKING([for X11 header files]) ++ XINCLUDES="# no special path needed" ++ AC_TRY_CPP([#include ], , XINCLUDES="nope") ++ if test "$XINCLUDES" = nope; then ++ dirs="/usr/unsupported/include /usr/local/include /usr/X386/include /usr/X11R6/include /usr/X11R5/include /usr/include/X11R5 /usr/include/X11R4 /usr/openwin/include /usr/X11/include /usr/sww/include" ++ for i in $dirs ; do ++ if test -r $i/X11/Intrinsic.h; then ++ AC_MSG_RESULT([$i]) ++ XINCLUDES=" -I$i" ++ break ++ fi ++ done ++ fi ++ else ++ if test "$x_includes" != ""; then ++ XINCLUDES=-I$x_includes ++ else ++ XINCLUDES="# no special path needed" ++ fi ++ fi ++ if test "$XINCLUDES" = nope; then ++ AC_MSG_RESULT([could not find any!]) ++ XINCLUDES="# no include files found" ++ fi ++ ++ if test "$no_x" = yes; then ++ AC_MSG_CHECKING([for X11 libraries]) ++ XLIBSW=nope ++ dirs="/usr/unsupported/lib /usr/local/lib /usr/X386/lib /usr/X11R6/lib /usr/X11R5/lib /usr/lib/X11R5 /usr/lib/X11R4 /usr/openwin/lib /usr/X11/lib /usr/sww/X11/lib" ++ for i in $dirs ; do ++ if test -r $i/libX11.a -o -r $i/libX11.so -o -r $i/libX11.sl; then ++ AC_MSG_RESULT([$i]) ++ XLIBSW="-L$i -lX11" ++ x_libraries="$i" ++ break ++ fi ++ done ++ else ++ if test "$x_libraries" = ""; then ++ XLIBSW=-lX11 ++ else ++ XLIBSW="-L$x_libraries -lX11" ++ fi ++ fi ++ if test "$XLIBSW" = nope ; then ++ AC_CHECK_LIB(Xwindow, XCreateWindow, XLIBSW=-lXwindow) ++ fi ++ if test "$XLIBSW" = nope ; then ++ AC_MSG_RESULT([could not find any! Using -lX11.]) ++ XLIBSW=-lX11 ++ fi ++ if test x"${XLIBSW}" != x ; then ++ PKG_LIBS="${PKG_LIBS} ${XLIBSW}" ++ fi ++]) ++ ++#-------------------------------------------------------------------- ++# TEA_BLOCKING_STYLE ++# ++# The statements below check for systems where POSIX-style ++# non-blocking I/O (O_NONBLOCK) doesn't work or is unimplemented. ++# On these systems (mostly older ones), use the old BSD-style ++# FIONBIO approach instead. ++# ++# Arguments: ++# none ++# ++# Results: ++# ++# Defines some of the following vars: ++# HAVE_SYS_IOCTL_H ++# HAVE_SYS_FILIO_H ++# USE_FIONBIO ++# O_NONBLOCK ++# ++#-------------------------------------------------------------------- ++ ++AC_DEFUN(TEA_BLOCKING_STYLE, [ ++ AC_CHECK_HEADERS(sys/ioctl.h) ++ AC_CHECK_HEADERS(sys/filio.h) ++ AC_MSG_CHECKING([FIONBIO vs. O_NONBLOCK for nonblocking I/O]) ++ if test -f /usr/lib/NextStep/software_version; then ++ system=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version` ++ else ++ system=`uname -s`-`uname -r` ++ if test "$?" -ne 0 ; then ++ system=unknown ++ else ++ # Special check for weird MP-RAS system (uname returns weird ++ # results, and the version is kept in special file). ++ ++ if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then ++ system=MP-RAS-`awk '{print $3}' /etc/.relid'` ++ fi ++ if test "`uname -s`" = "AIX" ; then ++ system=AIX-`uname -v`.`uname -r` ++ fi ++ fi ++ fi ++ case $system in ++ # There used to be code here to use FIONBIO under AIX. However, it ++ # was reported that FIONBIO doesn't work under AIX 3.2.5. Since ++ # using O_NONBLOCK seems fine under AIX 4.*, I removed the FIONBIO ++ # code (JO, 5/31/97). ++ ++ OSF*) ++ AC_DEFINE(USE_FIONBIO) ++ AC_MSG_RESULT([FIONBIO]) ++ ;; ++ SunOS-4*) ++ AC_DEFINE(USE_FIONBIO) ++ AC_MSG_RESULT([FIONBIO]) ++ ;; ++ ULTRIX-4.*) ++ AC_DEFINE(USE_FIONBIO) ++ AC_MSG_RESULT([FIONBIO]) ++ ;; ++ *) ++ AC_MSG_RESULT([O_NONBLOCK]) ++ ;; ++ esac ++]) ++ ++#-------------------------------------------------------------------- ++# TEA_TIME_HANLDER ++# ++# Checks how the system deals with time.h, what time structures ++# are used on the system, and what fields the structures have. ++# ++# Arguments: ++# none ++# ++# Results: ++# ++# Defines some of the following vars: ++# USE_DELTA_FOR_TZ ++# HAVE_TM_GMTOFF ++# HAVE_TM_TZADJ ++# HAVE_TIMEZONE_VAR ++# ++#-------------------------------------------------------------------- ++ ++AC_DEFUN(TEA_TIME_HANDLER, [ ++ AC_CHECK_HEADERS(sys/time.h) ++ AC_HEADER_TIME ++ AC_STRUCT_TIMEZONE ++ ++ AC_CHECK_FUNCS(gmtime_r localtime_r) ++ ++ AC_MSG_CHECKING([tm_tzadj in struct tm]) ++ AC_CACHE_VAL(tcl_cv_member_tm_tzadj, ++ AC_TRY_COMPILE([#include ], [struct tm tm; tm.tm_tzadj;], ++ tcl_cv_member_tm_tzadj=yes, tcl_cv_member_tm_tzadj=no)) ++ AC_MSG_RESULT([$tcl_cv_member_tm_tzadj]) ++ if test $tcl_cv_member_tm_tzadj = yes ; then ++ AC_DEFINE(HAVE_TM_TZADJ) ++ fi ++ ++ AC_MSG_CHECKING([tm_gmtoff in struct tm]) ++ AC_CACHE_VAL(tcl_cv_member_tm_gmtoff, ++ AC_TRY_COMPILE([#include ], [struct tm tm; tm.tm_gmtoff;], ++ tcl_cv_member_tm_gmtoff=yes, tcl_cv_member_tm_gmtoff=no)) ++ AC_MSG_RESULT([$tcl_cv_member_tm_gmtoff]) ++ if test $tcl_cv_member_tm_gmtoff = yes ; then ++ AC_DEFINE(HAVE_TM_GMTOFF) ++ fi ++ ++ # ++ # Its important to include time.h in this check, as some systems ++ # (like convex) have timezone functions, etc. ++ # ++ AC_MSG_CHECKING([long timezone variable]) ++ AC_CACHE_VAL(tcl_cv_var_timezone, ++ AC_TRY_COMPILE([#include ], ++ [extern long timezone; ++ timezone += 1; ++ exit (0);], ++ tcl_cv_timezone_long=yes, tcl_cv_timezone_long=no)) ++ AC_MSG_RESULT([$tcl_cv_timezone_long]) ++ if test $tcl_cv_timezone_long = yes ; then ++ AC_DEFINE(HAVE_TIMEZONE_VAR) ++ else ++ # ++ # On some systems (eg IRIX 6.2), timezone is a time_t and not a long. ++ # ++ AC_MSG_CHECKING([time_t timezone variable]) ++ AC_CACHE_VAL(tcl_cv_timezone_time, ++ AC_TRY_COMPILE([#include ], ++ [extern time_t timezone; ++ timezone += 1; ++ exit (0);], ++ tcl_cv_timezone_time=yes, tcl_cv_timezone_time=no)) ++ AC_MSG_RESULT([$tcl_cv_timezone_time]) ++ if test $tcl_cv_timezone_time = yes ; then ++ AC_DEFINE(HAVE_TIMEZONE_VAR) ++ fi ++ fi ++]) ++ ++#-------------------------------------------------------------------- ++# TEA_BUGGY_STRTOD ++# ++# Under Solaris 2.4, strtod returns the wrong value for the ++# terminating character under some conditions. Check for this ++# and if the problem exists use a substitute procedure ++# "fixstrtod" (provided by Tcl) that corrects the error. ++# Also, on Compaq's Tru64 Unix 5.0, ++# strtod(" ") returns 0.0 instead of a failure to convert. ++# ++# Arguments: ++# none ++# ++# Results: ++# ++# Might defines some of the following vars: ++# strtod (=fixstrtod) ++# ++#-------------------------------------------------------------------- ++ ++AC_DEFUN(TEA_BUGGY_STRTOD, [ ++ AC_CHECK_FUNC(strtod, tcl_strtod=1, tcl_strtod=0) ++ if test "$tcl_strtod" = 1; then ++ AC_MSG_CHECKING([for Solaris2.4/Tru64 strtod bugs]) ++ AC_TRY_RUN([ ++ extern double strtod(); ++ int main() ++ { ++ char *string = "NaN", *spaceString = " "; ++ char *term; ++ double value; ++ value = strtod(string, &term); ++ if ((term != string) && (term[-1] == 0)) { ++ exit(1); ++ } ++ value = strtod(spaceString, &term); ++ if (term == (spaceString+1)) { ++ exit(1); ++ } ++ exit(0); ++ }], tcl_ok=1, tcl_ok=0, tcl_ok=0) ++ if test "$tcl_ok" = 1; then ++ AC_MSG_RESULT([ok]) ++ else ++ AC_MSG_RESULT([buggy]) ++ #LIBOBJS="$LIBOBJS fixstrtod.o" ++ AC_LIBOBJ([fixstrtod]) ++ USE_COMPAT=1 ++ AC_DEFINE(strtod, fixstrtod) ++ fi ++ fi ++]) ++ ++#-------------------------------------------------------------------- ++# TEA_TCL_LINK_LIBS ++# ++# Search for the libraries needed to link the Tcl shell. ++# Things like the math library (-lm) and socket stuff (-lsocket vs. ++# -lnsl) are dealt with here. ++# ++# Arguments: ++# Requires the following vars to be set in the Makefile: ++# DL_LIBS ++# LIBS ++# MATH_LIBS ++# ++# Results: ++# ++# Subst's the following var: ++# TCL_LIBS ++# MATH_LIBS ++# ++# Might append to the following vars: ++# LIBS ++# ++# Might define the following vars: ++# HAVE_NET_ERRNO_H ++# ++#-------------------------------------------------------------------- ++ ++AC_DEFUN(TEA_TCL_LINK_LIBS, [ ++ #-------------------------------------------------------------------- ++ # On a few very rare systems, all of the libm.a stuff is ++ # already in libc.a. Set compiler flags accordingly. ++ # Also, Linux requires the "ieee" library for math to work ++ # right (and it must appear before "-lm"). ++ #-------------------------------------------------------------------- ++ ++ AC_CHECK_FUNC(sin, MATH_LIBS="", MATH_LIBS="-lm") ++ AC_CHECK_LIB(ieee, main, [MATH_LIBS="-lieee $MATH_LIBS"]) ++ ++ #-------------------------------------------------------------------- ++ # Interactive UNIX requires -linet instead of -lsocket, plus it ++ # needs net/errno.h to define the socket-related error codes. ++ #-------------------------------------------------------------------- ++ ++ AC_CHECK_LIB(inet, main, [LIBS="$LIBS -linet"]) ++ AC_CHECK_HEADER(net/errno.h, AC_DEFINE(HAVE_NET_ERRNO_H)) ++ ++ #-------------------------------------------------------------------- ++ # Check for the existence of the -lsocket and -lnsl libraries. ++ # The order here is important, so that they end up in the right ++ # order in the command line generated by make. Here are some ++ # special considerations: ++ # 1. Use "connect" and "accept" to check for -lsocket, and ++ # "gethostbyname" to check for -lnsl. ++ # 2. Use each function name only once: can't redo a check because ++ # autoconf caches the results of the last check and won't redo it. ++ # 3. Use -lnsl and -lsocket only if they supply procedures that ++ # aren't already present in the normal libraries. This is because ++ # IRIX 5.2 has libraries, but they aren't needed and they're ++ # bogus: they goof up name resolution if used. ++ # 4. On some SVR4 systems, can't use -lsocket without -lnsl too. ++ # To get around this problem, check for both libraries together ++ # if -lsocket doesn't work by itself. ++ #-------------------------------------------------------------------- ++ ++ tcl_checkBoth=0 ++ AC_CHECK_FUNC(connect, tcl_checkSocket=0, tcl_checkSocket=1) ++ if test "$tcl_checkSocket" = 1; then ++ AC_CHECK_FUNC(setsockopt, , [AC_CHECK_LIB(socket, setsockopt, ++ LIBS="$LIBS -lsocket", tcl_checkBoth=1)]) ++ fi ++ if test "$tcl_checkBoth" = 1; then ++ tk_oldLibs=$LIBS ++ LIBS="$LIBS -lsocket -lnsl" ++ AC_CHECK_FUNC(accept, tcl_checkNsl=0, [LIBS=$tk_oldLibs]) ++ fi ++ AC_CHECK_FUNC(gethostbyname, , [AC_CHECK_LIB(nsl, gethostbyname, ++ [LIBS="$LIBS -lnsl"])]) ++ ++ # Don't perform the eval of the libraries here because DL_LIBS ++ # won't be set until we call TEA_CONFIG_CFLAGS ++ ++ TCL_LIBS='${DL_LIBS} ${LIBS} ${MATH_LIBS}' ++ AC_SUBST(TCL_LIBS) ++ AC_SUBST(MATH_LIBS) ++]) ++ ++#-------------------------------------------------------------------- ++# TEA_TCL_EARLY_FLAGS ++# ++# Check for what flags are needed to be passed so the correct OS ++# features are available. ++# ++# Arguments: ++# None ++# ++# Results: ++# ++# Might define the following vars: ++# _ISOC99_SOURCE ++# _LARGEFILE64_SOURCE ++# ++#-------------------------------------------------------------------- ++ ++AC_DEFUN(TEA_TCL_EARLY_FLAG,[ ++ AC_CACHE_VAL([tcl_cv_flag_]translit($1,[A-Z],[a-z]), ++ AC_TRY_COMPILE([$2], $3, [tcl_cv_flag_]translit($1,[A-Z],[a-z])=no, ++ AC_TRY_COMPILE([[#define ]$1[ 1 ++]$2], $3, ++ [tcl_cv_flag_]translit($1,[A-Z],[a-z])=yes, ++ [tcl_cv_flag_]translit($1,[A-Z],[a-z])=no))) ++ if test ["x${tcl_cv_flag_]translit($1,[A-Z],[a-z])[}" = "xyes"] ; then ++ AC_DEFINE($1) ++ tcl_flags="$tcl_flags $1" ++ fi ++]) ++ ++AC_DEFUN(TEA_TCL_EARLY_FLAGS,[ ++ AC_MSG_CHECKING([for required early compiler flags]) ++ tcl_flags="" ++ TEA_TCL_EARLY_FLAG(_ISOC99_SOURCE,[#include ], ++ [char *p = (char *)strtoll; char *q = (char *)strtoull;]) ++ TEA_TCL_EARLY_FLAG(_LARGEFILE64_SOURCE,[#include ], ++ [struct stat64 buf; int i = stat64("/", &buf);]) ++ if test "x${tcl_flags}" = "x" ; then ++ AC_MSG_RESULT([none]) ++ else ++ AC_MSG_RESULT([${tcl_flags}]) ++ fi ++]) ++ ++#-------------------------------------------------------------------- ++# TEA_TCL_64BIT_FLAGS ++# ++# Check for what is defined in the way of 64-bit features. ++# ++# Arguments: ++# None ++# ++# Results: ++# ++# Might define the following vars: ++# TCL_WIDE_INT_IS_LONG ++# TCL_WIDE_INT_TYPE ++# HAVE_STRUCT_DIRENT64 ++# HAVE_STRUCT_STAT64 ++# HAVE_TYPE_OFF64_T ++# ++#-------------------------------------------------------------------- ++ ++AC_DEFUN(TEA_TCL_64BIT_FLAGS, [ ++ AC_MSG_CHECKING([for 64-bit integer type]) ++ AC_CACHE_VAL(tcl_cv_type_64bit,[ ++ tcl_cv_type_64bit=none ++ # See if the compiler knows natively about __int64 ++ AC_TRY_COMPILE(,[__int64 value = (__int64) 0;], ++ tcl_type_64bit=__int64, tcl_type_64bit="long long") ++ # See if we should use long anyway Note that we substitute in the ++ # type that is our current guess for a 64-bit type inside this check ++ # program, so it should be modified only carefully... ++ AC_TRY_COMPILE(,[switch (0) { ++ case 1: case (sizeof(]${tcl_type_64bit}[)==sizeof(long)): ; ++ }],tcl_cv_type_64bit=${tcl_type_64bit})]) ++ if test "${tcl_cv_type_64bit}" = none ; then ++ AC_DEFINE(TCL_WIDE_INT_IS_LONG) ++ AC_MSG_RESULT([using long]) ++ elif test "${tcl_cv_type_64bit}" = "__int64" \ ++ -a "${TEA_PLATFORM}" = "windows" ; then ++ # We actually want to use the default tcl.h checks in this ++ # case to handle both TCL_WIDE_INT_TYPE and TCL_LL_MODIFIER* ++ AC_MSG_RESULT([using Tcl header defaults]) ++ else ++ AC_DEFINE_UNQUOTED(TCL_WIDE_INT_TYPE,${tcl_cv_type_64bit}) ++ AC_MSG_RESULT([${tcl_cv_type_64bit}]) ++ ++ # Now check for auxiliary declarations ++ AC_MSG_CHECKING([for struct dirent64]) ++ AC_CACHE_VAL(tcl_cv_struct_dirent64,[ ++ AC_TRY_COMPILE([#include ++#include ],[struct dirent64 p;], ++ tcl_cv_struct_dirent64=yes,tcl_cv_struct_dirent64=no)]) ++ if test "x${tcl_cv_struct_dirent64}" = "xyes" ; then ++ AC_DEFINE(HAVE_STRUCT_DIRENT64) ++ fi ++ AC_MSG_RESULT([${tcl_cv_struct_dirent64}]) ++ ++ AC_MSG_CHECKING([for struct stat64]) ++ AC_CACHE_VAL(tcl_cv_struct_stat64,[ ++ AC_TRY_COMPILE([#include ],[struct stat64 p; ++], ++ tcl_cv_struct_stat64=yes,tcl_cv_struct_stat64=no)]) ++ if test "x${tcl_cv_struct_stat64}" = "xyes" ; then ++ AC_DEFINE(HAVE_STRUCT_STAT64) ++ fi ++ AC_MSG_RESULT([${tcl_cv_struct_stat64}]) ++ ++ AC_MSG_CHECKING([for off64_t]) ++ AC_CACHE_VAL(tcl_cv_type_off64_t,[ ++ AC_TRY_COMPILE([#include ],[off64_t offset; ++], ++ tcl_cv_type_off64_t=yes,tcl_cv_type_off64_t=no)]) ++ if test "x${tcl_cv_type_off64_t}" = "xyes" ; then ++ AC_DEFINE(HAVE_TYPE_OFF64_T) ++ fi ++ AC_MSG_RESULT([${tcl_cv_type_off64_t}]) ++ fi ++]) ++ ++## ++## Here ends the standard Tcl configuration bits and starts the ++## TEA specific functions ++## ++ ++#------------------------------------------------------------------------ ++# TEA_INIT -- ++# ++# Init various Tcl Extension Architecture (TEA) variables. ++# This should be the first called TEA_* macro. ++# ++# Arguments: ++# none ++# ++# Results: ++# ++# Defines and substs the following vars: ++# CYGPATH ++# EXEEXT ++# Defines only: ++# TEA_INITED ++# TEA_PLATFORM (windows or unix) ++# ++# "cygpath" is used on windows to generate native path names for include ++# files. These variables should only be used with the compiler and linker ++# since they generate native path names. ++# ++# EXEEXT ++# Select the executable extension based on the host type. This ++# is a lightweight replacement for AC_EXEEXT that doesn't require ++# a compiler. ++#------------------------------------------------------------------------ ++ ++AC_DEFUN(TEA_INIT, [ ++ # TEA extensions pass this us the version of TEA they think they ++ # are compatible with. ++ TEA_VERSION="3.2" ++ ++ AC_MSG_CHECKING([for correct TEA configuration]) ++ if test x"${PACKAGE_NAME}" = x ; then ++ AC_MSG_ERROR([ ++The PACKAGE_NAME variable must be defined by your TEA configure.in]) ++ fi ++ if test x"$1" = x ; then ++ AC_MSG_ERROR([ ++TEA version not specified.]) ++ elif test "$1" != "${TEA_VERSION}" ; then ++ AC_MSG_RESULT([warning: requested TEA version "$1", have "${TEA_VERSION}"]) ++ else ++ AC_MSG_RESULT([ok (TEA ${TEA_VERSION})]) ++ fi ++ case "`uname -s`" in ++ *win32*|*WIN32*|*CYGWIN_NT*|*CYGWIN_9*|*CYGWIN_ME*|*MINGW32_*) ++ AC_CHECK_PROG(CYGPATH, cygpath, cygpath -w, echo) ++ EXEEXT=".exe" ++ TEA_PLATFORM="windows" ++ ;; ++ *) ++ CYGPATH=echo ++ EXEEXT="" ++ TEA_PLATFORM="unix" ++ ;; ++ esac ++ ++ # Check if exec_prefix is set. If not use fall back to prefix. ++ # Note when adjusted, so that TEA_PREFIX can correct for this. ++ # This is needed for recursive configures, since autoconf propagates ++ # $prefix, but not $exec_prefix (doh!). ++ if test x$exec_prefix = xNONE ; then ++ exec_prefix_default=yes ++ exec_prefix=$prefix ++ fi ++ ++ AC_SUBST(EXEEXT) ++ AC_SUBST(CYGPATH) ++ ++ # This package name must be replaced statically for AC_SUBST to work ++ AC_SUBST(PKG_LIB_FILE) ++ # Substitute STUB_LIB_FILE in case package creates a stub library too. ++ AC_SUBST(PKG_STUB_LIB_FILE) ++ ++ # We AC_SUBST these here to ensure they are subst'ed, ++ # in case the user doesn't call TEA_ADD_... ++ AC_SUBST(PKG_STUB_SOURCES) ++ AC_SUBST(PKG_STUB_OBJECTS) ++ AC_SUBST(PKG_TCL_SOURCES) ++ AC_SUBST(PKG_HEADERS) ++ AC_SUBST(PKG_INCLUDES) ++ AC_SUBST(PKG_LIBS) ++ AC_SUBST(PKG_CFLAGS) ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_ADD_SOURCES -- ++# ++# Specify one or more source files. Users should check for ++# the right platform before adding to their list. ++# It is not important to specify the directory, as long as it is ++# in the generic, win or unix subdirectory of $(srcdir). ++# ++# Arguments: ++# one or more file names ++# ++# Results: ++# ++# Defines and substs the following vars: ++# PKG_SOURCES ++# PKG_OBJECTS ++#------------------------------------------------------------------------ ++AC_DEFUN(TEA_ADD_SOURCES, [ ++ vars="$@" ++ for i in $vars; do ++ case $i in ++ [\$]*) ++ # allow $-var names ++ PKG_SOURCES="$PKG_SOURCES $i" ++ PKG_OBJECTS="$PKG_OBJECTS $i" ++ ;; ++ *) ++ # check for existence - allows for generic/win/unix VPATH ++ if test ! -f "${srcdir}/$i" -a ! -f "${srcdir}/generic/$i" \ ++ -a ! -f "${srcdir}/win/$i" -a ! -f "${srcdir}/unix/$i" \ ++ ; then ++ AC_MSG_ERROR([could not find source file '$i']) ++ fi ++ PKG_SOURCES="$PKG_SOURCES $i" ++ # this assumes it is in a VPATH dir ++ i=`basename $i` ++ # handle user calling this before or after TEA_SETUP_COMPILER ++ if test x"${OBJEXT}" != x ; then ++ j="`echo $i | sed -e 's/\.[[^.]]*$//'`.${OBJEXT}" ++ else ++ j="`echo $i | sed -e 's/\.[[^.]]*$//'`.\${OBJEXT}" ++ fi ++ PKG_OBJECTS="$PKG_OBJECTS $j" ++ ;; ++ esac ++ done ++ AC_SUBST(PKG_SOURCES) ++ AC_SUBST(PKG_OBJECTS) ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_ADD_STUB_SOURCES -- ++# ++# Specify one or more source files. Users should check for ++# the right platform before adding to their list. ++# It is not important to specify the directory, as long as it is ++# in the generic, win or unix subdirectory of $(srcdir). ++# ++# Arguments: ++# one or more file names ++# ++# Results: ++# ++# Defines and substs the following vars: ++# PKG_STUB_SOURCES ++# PKG_STUB_OBJECTS ++#------------------------------------------------------------------------ ++AC_DEFUN(TEA_ADD_STUB_SOURCES, [ ++ vars="$@" ++ for i in $vars; do ++ # check for existence - allows for generic/win/unix VPATH ++ if test ! -f "${srcdir}/$i" -a ! -f "${srcdir}/generic/$i" \ ++ -a ! -f "${srcdir}/win/$i" -a ! -f "${srcdir}/unix/$i" \ ++ ; then ++ AC_MSG_ERROR([could not find stub source file '$i']) ++ fi ++ PKG_STUB_SOURCES="$PKG_STUB_SOURCES $i" ++ # this assumes it is in a VPATH dir ++ i=`basename $i` ++ # handle user calling this before or after TEA_SETUP_COMPILER ++ if test x"${OBJEXT}" != x ; then ++ j="`echo $i | sed -e 's/\.[[^.]]*$//'`.${OBJEXT}" ++ else ++ j="`echo $i | sed -e 's/\.[[^.]]*$//'`.\${OBJEXT}" ++ fi ++ PKG_STUB_OBJECTS="$PKG_STUB_OBJECTS $j" ++ done ++ AC_SUBST(PKG_STUB_SOURCES) ++ AC_SUBST(PKG_STUB_OBJECTS) ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_ADD_TCL_SOURCES -- ++# ++# Specify one or more Tcl source files. These should be platform ++# independent runtime files. ++# ++# Arguments: ++# one or more file names ++# ++# Results: ++# ++# Defines and substs the following vars: ++# PKG_TCL_SOURCES ++#------------------------------------------------------------------------ ++AC_DEFUN(TEA_ADD_TCL_SOURCES, [ ++ vars="$@" ++ for i in $vars; do ++ # check for existence, be strict because it is installed ++ if test ! -f "${srcdir}/$i" ; then ++ AC_MSG_ERROR([could not find tcl source file '${srcdir}/$i']) ++ fi ++ PKG_TCL_SOURCES="$PKG_TCL_SOURCES $i" ++ done ++ AC_SUBST(PKG_TCL_SOURCES) ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_ADD_HEADERS -- ++# ++# Specify one or more source headers. Users should check for ++# the right platform before adding to their list. ++# ++# Arguments: ++# one or more file names ++# ++# Results: ++# ++# Defines and substs the following vars: ++# PKG_HEADERS ++#------------------------------------------------------------------------ ++AC_DEFUN(TEA_ADD_HEADERS, [ ++ vars="$@" ++ for i in $vars; do ++ # check for existence, be strict because it is installed ++ if test ! -f "${srcdir}/$i" ; then ++ AC_MSG_ERROR([could not find header file '${srcdir}/$i']) ++ fi ++ PKG_HEADERS="$PKG_HEADERS $i" ++ done ++ AC_SUBST(PKG_HEADERS) ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_ADD_INCLUDES -- ++# ++# Specify one or more include dirs. Users should check for ++# the right platform before adding to their list. ++# ++# Arguments: ++# one or more file names ++# ++# Results: ++# ++# Defines and substs the following vars: ++# PKG_INCLUDES ++#------------------------------------------------------------------------ ++AC_DEFUN(TEA_ADD_INCLUDES, [ ++ vars="$@" ++ for i in $vars; do ++ PKG_INCLUDES="$PKG_INCLUDES $i" ++ done ++ AC_SUBST(PKG_INCLUDES) ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_ADD_LIBS -- ++# ++# Specify one or more libraries. Users should check for ++# the right platform before adding to their list. For Windows, ++# libraries provided in "foo.lib" format will be converted to ++# "-lfoo" when using GCC (mingw). ++# ++# Arguments: ++# one or more file names ++# ++# Results: ++# ++# Defines and substs the following vars: ++# PKG_LIBS ++#------------------------------------------------------------------------ ++AC_DEFUN(TEA_ADD_LIBS, [ ++ vars="$@" ++ for i in $vars; do ++ if test "${TEA_PLATFORM}" = "windows" -a "$GCC" = "yes" ; then ++ # Convert foo.lib to -lfoo for GCC. No-op if not *.lib ++ i=`echo "$i" | sed -e 's/^\([[^-]].*\)\.lib[$]/-l\1/i'` ++ fi ++ PKG_LIBS="$PKG_LIBS $i" ++ done ++ AC_SUBST(PKG_LIBS) ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_ADD_CFLAGS -- ++# ++# Specify one or more CFLAGS. Users should check for ++# the right platform before adding to their list. ++# ++# Arguments: ++# one or more file names ++# ++# Results: ++# ++# Defines and substs the following vars: ++# PKG_CFLAGS ++#------------------------------------------------------------------------ ++AC_DEFUN(TEA_ADD_CFLAGS, [ ++ PKG_CFLAGS="$PKG_CFLAGS $@" ++ AC_SUBST(PKG_CFLAGS) ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_PREFIX -- ++# ++# Handle the --prefix=... option by defaulting to what Tcl gave ++# ++# Arguments: ++# none ++# ++# Results: ++# ++# If --prefix or --exec-prefix was not specified, $prefix and ++# $exec_prefix will be set to the values given to Tcl when it was ++# configured. ++#------------------------------------------------------------------------ ++AC_DEFUN(TEA_PREFIX, [ ++ if test "${prefix}" = "NONE"; then ++ prefix_default=yes ++ if test x"${TCL_PREFIX}" != x; then ++ AC_MSG_NOTICE([--prefix defaulting to TCL_PREFIX ${TCL_PREFIX}]) ++ prefix=${TCL_PREFIX} ++ else ++ AC_MSG_NOTICE([--prefix defaulting to /usr/local]) ++ prefix=/usr/local ++ fi ++ fi ++ if test "${exec_prefix}" = "NONE" -a x"${prefix_default}" = x"yes" \ ++ -o x"${exec_prefix_default}" = x"yes" ; then ++ if test x"${TCL_EXEC_PREFIX}" != x; then ++ AC_MSG_NOTICE([--exec-prefix defaulting to TCL_EXEC_PREFIX ${TCL_EXEC_PREFIX}]) ++ exec_prefix=${TCL_EXEC_PREFIX} ++ else ++ AC_MSG_NOTICE([--exec-prefix defaulting to ${prefix}]) ++ exec_prefix=$prefix ++ fi ++ fi ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_SETUP_COMPILER_CC -- ++# ++# Do compiler checks the way we want. This is just a replacement ++# for AC_PROG_CC in TEA configure.in files to make them cleaner. ++# ++# Arguments: ++# none ++# ++# Results: ++# ++# Sets up CC var and other standard bits we need to make executables. ++#------------------------------------------------------------------------ ++AC_DEFUN(TEA_SETUP_COMPILER_CC, [ ++ # Don't put any macros that use the compiler (e.g. AC_TRY_COMPILE) ++ # in this macro, they need to go into TEA_SETUP_COMPILER instead. ++ ++ # If the user did not set CFLAGS, set it now to keep ++ # the AC_PROG_CC macro from adding "-g -O2". ++ if test "${CFLAGS+set}" != "set" ; then ++ CFLAGS="" ++ fi ++ ++ AC_PROG_CC ++ AC_PROG_CPP ++ ++ AC_PROG_INSTALL ++ ++ #-------------------------------------------------------------------- ++ # Checks to see if the make program sets the $MAKE variable. ++ #-------------------------------------------------------------------- ++ ++ AC_PROG_MAKE_SET ++ ++ #-------------------------------------------------------------------- ++ # Find ranlib ++ #-------------------------------------------------------------------- ++ ++ AC_PROG_RANLIB ++ ++ #-------------------------------------------------------------------- ++ # Determines the correct binary file extension (.o, .obj, .exe etc.) ++ #-------------------------------------------------------------------- ++ ++ AC_OBJEXT ++ AC_EXEEXT ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_SETUP_COMPILER -- ++# ++# Do compiler checks that use the compiler. This must go after ++# TEA_SETUP_COMPILER_CC, which does the actual compiler check. ++# ++# Arguments: ++# none ++# ++# Results: ++# ++# Sets up CC var and other standard bits we need to make executables. ++#------------------------------------------------------------------------ ++AC_DEFUN(TEA_SETUP_COMPILER, [ ++ # Any macros that use the compiler (e.g. AC_TRY_COMPILE) have to go here. ++ AC_REQUIRE([TEA_SETUP_COMPILER_CC]) ++ ++ #------------------------------------------------------------------------ ++ # If we're using GCC, see if the compiler understands -pipe. If so, use it. ++ # It makes compiling go faster. (This is only a performance feature.) ++ #------------------------------------------------------------------------ ++ ++ if test -z "$no_pipe" -a -n "$GCC"; then ++ AC_MSG_CHECKING([if the compiler understands -pipe]) ++ OLDCC="$CC" ++ CC="$CC -pipe" ++ AC_TRY_COMPILE(,, AC_MSG_RESULT([yes]), CC="$OLDCC" ++ AC_MSG_RESULT([no])) ++ fi ++ ++ #-------------------------------------------------------------------- ++ # Common compiler flag setup ++ #-------------------------------------------------------------------- ++ ++ AC_C_BIGENDIAN ++ if test "${TEA_PLATFORM}" = "unix" ; then ++ TEA_TCL_LINK_LIBS ++ TEA_MISSING_POSIX_HEADERS ++ # Let the user call this, because if it triggers, they will ++ # need a compat/strtod.c that is correct. Users can also ++ # use Tcl_GetDouble(FromObj) instead. ++ #TEA_BUGGY_STRTOD ++ fi ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_MAKE_LIB -- ++# ++# Generate a line that can be used to build a shared/unshared library ++# in a platform independent manner. ++# ++# Arguments: ++# none ++# ++# Requires: ++# ++# Results: ++# ++# Defines the following vars: ++# CFLAGS - Done late here to note disturb other AC macros ++# MAKE_LIB - Command to execute to build the Tcl library; ++# differs depending on whether or not Tcl is being ++# compiled as a shared library. ++# MAKE_SHARED_LIB Makefile rule for building a shared library ++# MAKE_STATIC_LIB Makefile rule for building a static library ++# MAKE_STUB_LIB Makefile rule for building a stub library ++#------------------------------------------------------------------------ ++ ++AC_DEFUN(TEA_MAKE_LIB, [ ++ if test "${TEA_PLATFORM}" = "windows" -a "$GCC" != "yes"; then ++ MAKE_STATIC_LIB="\${STLIB_LD} -out:\[$]@ \$(PKG_OBJECTS)" ++ MAKE_SHARED_LIB="\${SHLIB_LD} \${SHLIB_LD_LIBS} \${LDFLAGS_DEFAULT} -out:\[$]@ \$(PKG_OBJECTS)" ++ MAKE_STUB_LIB="\${STLIB_LD} -out:\[$]@ \$(PKG_STUB_OBJECTS)" ++ else ++ MAKE_STATIC_LIB="\${STLIB_LD} \[$]@ \$(PKG_OBJECTS)" ++ MAKE_SHARED_LIB="\${SHLIB_LD} -o \[$]@ \$(PKG_OBJECTS) \${SHLIB_LD_LIBS}" ++ MAKE_STUB_LIB="\${STLIB_LD} \[$]@ \$(PKG_STUB_OBJECTS)" ++ fi ++ ++ if test "${SHARED_BUILD}" = "1" ; then ++ MAKE_LIB="${MAKE_SHARED_LIB} " ++ else ++ MAKE_LIB="${MAKE_STATIC_LIB} " ++ fi ++ ++ #-------------------------------------------------------------------- ++ # Shared libraries and static libraries have different names. ++ # Use the double eval to make sure any variables in the suffix is ++ # substituted. (@@@ Might not be necessary anymore) ++ #-------------------------------------------------------------------- ++ ++ if test "${TEA_PLATFORM}" = "windows" ; then ++ if test "${SHARED_BUILD}" = "1" ; then ++ # We force the unresolved linking of symbols that are really in ++ # the private libraries of Tcl and Tk. ++ SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \"`${CYGPATH} ${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}`\"" ++ if test x"${TK_BIN_DIR}" != x ; then ++ SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \"`${CYGPATH} ${TK_BIN_DIR}/${TK_STUB_LIB_FILE}`\"" ++ fi ++ eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${SHARED_LIB_SUFFIX}" ++ else ++ eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}" ++ fi ++ # Some packages build there own stubs libraries ++ if test "$GCC" = "yes"; then ++ eval eval "PKG_STUB_LIB_FILE=lib${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}" ++ else ++ eval eval "PKG_STUB_LIB_FILE=${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}" ++ fi ++ ++ # These aren't needed on Windows (either MSVC or gcc) ++ RANLIB=: ++ RANLIB_STUB=: ++ else ++ RANLIB_STUB="${RANLIB}" ++ if test "${SHARED_BUILD}" = "1" ; then ++ SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TCL_STUB_LIB_SPEC}" ++ if test x"${TK_BIN_DIR}" != x ; then ++ SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TK_STUB_LIB_SPEC}" ++ fi ++ eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${SHARED_LIB_SUFFIX}" ++ RANLIB=: ++ else ++ eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}" ++ fi ++ # Some packages build there own stubs libraries ++ eval eval "PKG_STUB_LIB_FILE=lib${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}" ++ fi ++ ++ # These are escaped so that only CFLAGS is picked up at configure time. ++ # The other values will be substituted at make time. ++ CFLAGS="${CFLAGS} \${CFLAGS_DEFAULT} \${CFLAGS_WARNING}" ++ if test "${SHARED_BUILD}" = "1" ; then ++ CFLAGS="${CFLAGS} \${SHLIB_CFLAGS}" ++ fi ++ ++ AC_SUBST(MAKE_LIB) ++ AC_SUBST(MAKE_SHARED_LIB) ++ AC_SUBST(MAKE_STATIC_LIB) ++ AC_SUBST(MAKE_STUB_LIB) ++ AC_SUBST(RANLIB_STUB) ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_LIB_SPEC -- ++# ++# Compute the name of an existing object library located in libdir ++# from the given base name and produce the appropriate linker flags. ++# ++# Arguments: ++# basename The base name of the library without version ++# numbers, extensions, or "lib" prefixes. ++# extra_dir Extra directory in which to search for the ++# library. This location is used first, then ++# $prefix/$exec-prefix, then some defaults. ++# ++# Requires: ++# TEA_INIT and TEA_PREFIX must be called first. ++# ++# Results: ++# ++# Defines the following vars: ++# ${basename}_LIB_NAME The computed library name. ++# ${basename}_LIB_SPEC The computed linker flags. ++#------------------------------------------------------------------------ ++ ++AC_DEFUN(TEA_LIB_SPEC, [ ++ AC_MSG_CHECKING([for $1 library]) ++ ++ # Look in exec-prefix for the library (defined by TEA_PREFIX). ++ ++ tea_lib_name_dir="${exec_prefix}/lib" ++ ++ # Or in a user-specified location. ++ ++ if test x"$2" != x ; then ++ tea_extra_lib_dir=$2 ++ else ++ tea_extra_lib_dir=NONE ++ fi ++ ++ for i in \ ++ `ls -dr ${tea_extra_lib_dir}/$1[[0-9]]*.lib 2>/dev/null ` \ ++ `ls -dr ${tea_extra_lib_dir}/lib$1[[0-9]]* 2>/dev/null ` \ ++ `ls -dr ${tea_lib_name_dir}/$1[[0-9]]*.lib 2>/dev/null ` \ ++ `ls -dr ${tea_lib_name_dir}/lib$1[[0-9]]* 2>/dev/null ` \ ++ `ls -dr /usr/lib/$1[[0-9]]*.lib 2>/dev/null ` \ ++ `ls -dr /usr/lib/lib$1[[0-9]]* 2>/dev/null ` \ ++ `ls -dr /usr/local/lib/$1[[0-9]]*.lib 2>/dev/null ` \ ++ `ls -dr /usr/local/lib/lib$1[[0-9]]* 2>/dev/null ` ; do ++ if test -f "$i" ; then ++ tea_lib_name_dir=`dirname $i` ++ $1_LIB_NAME=`basename $i` ++ $1_LIB_PATH_NAME=$i ++ break ++ fi ++ done ++ ++ if test "${TEA_PLATFORM}" = "windows"; then ++ $1_LIB_SPEC=\"`${CYGPATH} ${$1_LIB_PATH_NAME} 2>/dev/null`\" ++ else ++ # Strip off the leading "lib" and trailing ".a" or ".so" ++ ++ tea_lib_name_lib=`echo ${$1_LIB_NAME}|sed -e 's/^lib//' -e 's/\.[[^.]]*$//' -e 's/\.so.*//'` ++ $1_LIB_SPEC="-L${tea_lib_name_dir} -l${tea_lib_name_lib}" ++ fi ++ ++ if test "x${$1_LIB_NAME}" = x ; then ++ AC_MSG_ERROR([not found]) ++ else ++ AC_MSG_RESULT([${$1_LIB_SPEC}]) ++ fi ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_PRIVATE_TCL_HEADERS -- ++# ++# Locate the private Tcl include files ++# ++# Arguments: ++# ++# Requires: ++# TCL_SRC_DIR Assumes that TEA_LOAD_TCLCONFIG has ++# already been called. ++# ++# Results: ++# ++# Substs the following vars: ++# TCL_TOP_DIR_NATIVE ++# TCL_GENERIC_DIR_NATIVE ++# TCL_UNIX_DIR_NATIVE ++# TCL_WIN_DIR_NATIVE ++# TCL_BMAP_DIR_NATIVE ++# TCL_TOOL_DIR_NATIVE ++# TCL_PLATFORM_DIR_NATIVE ++# TCL_BIN_DIR_NATIVE ++# TCL_INCLUDES ++#------------------------------------------------------------------------ ++ ++AC_DEFUN(TEA_PRIVATE_TCL_HEADERS, [ ++ AC_MSG_CHECKING([for Tcl private include files]) ++ ++ if test "${TEA_PLATFORM}" = "windows"; then ++ TCL_TOP_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}`\" ++ TCL_GENERIC_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/generic`\" ++ TCL_UNIX_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/unix`\" ++ TCL_WIN_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/win`\" ++ TCL_BMAP_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/bitmaps`\" ++ TCL_TOOL_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/tools`\" ++ TCL_COMPAT_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/compat`\" ++ TCL_PLATFORM_DIR_NATIVE=${TCL_WIN_DIR_NATIVE} ++ ++ TCL_INCLUDES="-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}" ++ else ++ TCL_TOP_DIR_NATIVE='$(TCL_SRC_DIR)' ++ TCL_GENERIC_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/generic' ++ TCL_UNIX_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/unix' ++ TCL_WIN_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/win' ++ TCL_BMAP_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/bitmaps' ++ TCL_TOOL_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/tools' ++ TCL_COMPAT_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/compat' ++ TCL_PLATFORM_DIR_NATIVE=${TCL_UNIX_DIR_NATIVE} ++ ++ # substitute these in "relaxed" so that TCL_INCLUDES still works ++ # without requiring the other vars to be defined in the Makefile ++ eval "TCL_INCLUDES=\"-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}\"" ++ fi ++ ++ AC_SUBST(TCL_TOP_DIR_NATIVE) ++ AC_SUBST(TCL_GENERIC_DIR_NATIVE) ++ AC_SUBST(TCL_UNIX_DIR_NATIVE) ++ AC_SUBST(TCL_WIN_DIR_NATIVE) ++ AC_SUBST(TCL_BMAP_DIR_NATIVE) ++ AC_SUBST(TCL_TOOL_DIR_NATIVE) ++ AC_SUBST(TCL_PLATFORM_DIR_NATIVE) ++ ++ AC_SUBST(TCL_INCLUDES) ++ AC_MSG_RESULT([Using srcdir found in tclConfig.sh: ${TCL_SRC_DIR}]) ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_PUBLIC_TCL_HEADERS -- ++# ++# Locate the installed public Tcl header files ++# ++# Arguments: ++# None. ++# ++# Requires: ++# CYGPATH must be set ++# ++# Results: ++# ++# Adds a --with-tclinclude switch to configure. ++# Result is cached. ++# ++# Substs the following vars: ++# TCL_INCLUDES ++#------------------------------------------------------------------------ ++ ++AC_DEFUN(TEA_PUBLIC_TCL_HEADERS, [ ++ AC_MSG_CHECKING([for Tcl public headers]) ++ ++ AC_ARG_WITH(tclinclude, [ --with-tclinclude directory containing the public Tcl header files], with_tclinclude=${withval}) ++ ++ AC_CACHE_VAL(ac_cv_c_tclh, [ ++ # Use the value from --with-tclinclude, if it was given ++ ++ if test x"${with_tclinclude}" != x ; then ++ if test -f "${with_tclinclude}/tcl.h" ; then ++ ac_cv_c_tclh=${with_tclinclude} ++ else ++ AC_MSG_ERROR([${with_tclinclude} directory does not contain tcl.h]) ++ fi ++ else ++ # Check order: pkg --prefix location, Tcl's --prefix location, ++ # directory of tclConfig.sh, and Tcl source directory. ++ # Looking in the source dir is not ideal, but OK. ++ ++ eval "temp_includedir=${includedir}" ++ list="`ls -d ${temp_includedir} 2>/dev/null` \ ++ `ls -d ${TCL_PREFIX}/include 2>/dev/null` \ ++ `ls -d ${TCL_BIN_DIR}/../include 2>/dev/null` \ ++ `ls -d ${TCL_SRC_DIR}/generic 2>/dev/null`" ++ if test "${TEA_PLATFORM}" != "windows" -o "$GCC" = "yes"; then ++ list="$list /usr/local/include /usr/include" ++ fi ++ for i in $list ; do ++ if test -f "$i/tcl.h" ; then ++ ac_cv_c_tclh=$i ++ break ++ fi ++ done ++ fi ++ ]) ++ ++ # Print a message based on how we determined the include path ++ ++ if test x"${ac_cv_c_tclh}" = x ; then ++ AC_MSG_ERROR([tcl.h not found. Please specify its location with --with-tclinclude]) ++ else ++ AC_MSG_RESULT([${ac_cv_c_tclh}]) ++ fi ++ ++ # Convert to a native path and substitute into the output files. ++ ++ INCLUDE_DIR_NATIVE=`${CYGPATH} ${ac_cv_c_tclh}` ++ ++ TCL_INCLUDES=-I\"${INCLUDE_DIR_NATIVE}\" ++ ++ AC_SUBST(TCL_INCLUDES) ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_PRIVATE_TK_HEADERS -- ++# ++# Locate the private Tk include files ++# ++# Arguments: ++# ++# Requires: ++# TK_SRC_DIR Assumes that TEA_LOAD_TKCONFIG has ++# already been called. ++# ++# Results: ++# ++# Substs the following vars: ++# TK_INCLUDES ++#------------------------------------------------------------------------ ++ ++AC_DEFUN(TEA_PRIVATE_TK_HEADERS, [ ++ AC_MSG_CHECKING([for Tk private include files]) ++ ++ if test "${TEA_PLATFORM}" = "windows"; then ++ TK_TOP_DIR_NATIVE=\"`${CYGPATH} ${TK_SRC_DIR}`\" ++ TK_UNIX_DIR_NATIVE=\"`${CYGPATH} ${TK_SRC_DIR}/unix`\" ++ TK_WIN_DIR_NATIVE=\"`${CYGPATH} ${TK_SRC_DIR}/win`\" ++ TK_GENERIC_DIR_NATIVE=\"`${CYGPATH} ${TK_SRC_DIR}/generic`\" ++ TK_XLIB_DIR_NATIVE=\"`${CYGPATH} ${TK_SRC_DIR}/xlib`\" ++ TK_PLATFORM_DIR_NATIVE=${TK_WIN_DIR_NATIVE} ++ ++ TK_INCLUDES="-I${TK_GENERIC_DIR_NATIVE} -I${TK_PLATFORM_DIR_NATIVE} -I${TK_XLIB_DIR_NATIVE}" ++ else ++ TK_TOP_DIR_NATIVE='${TK_SRC_DIR}' ++ TK_GENERIC_DIR_NATIVE='${TK_TOP_DIR_NATIVE}/generic' ++ TK_UNIX_DIR_NATIVE='${TK_TOP_DIR_NATIVE}/unix' ++ TK_WIN_DIR_NATIVE='${TK_TOP_DIR_NATIVE}/win' ++ TK_PLATFORM_DIR_NATIVE=${TK_UNIX_DIR_NATIVE} ++ ++ # substitute these in "relaxed" so that TK_INCLUDES still works ++ # without requiring the other vars to be defined in the Makefile ++ eval "TK_INCLUDES=\"-I${TK_GENERIC_DIR_NATIVE} -I${TK_PLATFORM_DIR_NATIVE}\"" ++ fi ++ ++ AC_SUBST(TK_TOP_DIR_NATIVE) ++ AC_SUBST(TK_UNIX_DIR_NATIVE) ++ AC_SUBST(TK_WIN_DIR_NATIVE) ++ AC_SUBST(TK_GENERIC_DIR_NATIVE) ++ AC_SUBST(TK_XLIB_DIR_NATIVE) ++ AC_SUBST(TK_PLATFORM_DIR_NATIVE) ++ ++ AC_SUBST(TK_INCLUDES) ++ AC_MSG_RESULT([Using srcdir found in tkConfig.sh: ${TK_SRC_DIR}]) ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_PUBLIC_TK_HEADERS -- ++# ++# Locate the installed public Tk header files ++# ++# Arguments: ++# None. ++# ++# Requires: ++# CYGPATH must be set ++# ++# Results: ++# ++# Adds a --with-tkinclude switch to configure. ++# Result is cached. ++# ++# Substs the following vars: ++# TK_INCLUDES ++#------------------------------------------------------------------------ ++ ++AC_DEFUN(TEA_PUBLIC_TK_HEADERS, [ ++ AC_MSG_CHECKING([for Tk public headers]) ++ ++ AC_ARG_WITH(tkinclude, [ --with-tkinclude directory containing the public Tk header files.], with_tkinclude=${withval}) ++ ++ AC_CACHE_VAL(ac_cv_c_tkh, [ ++ # Use the value from --with-tkinclude, if it was given ++ ++ if test x"${with_tkinclude}" != x ; then ++ if test -f "${with_tkinclude}/tk.h" ; then ++ ac_cv_c_tkh=${with_tkinclude} ++ else ++ AC_MSG_ERROR([${with_tkinclude} directory does not contain tk.h]) ++ fi ++ else ++ # Check order: pkg --prefix location, Tcl's --prefix location, ++ # directory of tclConfig.sh, and Tcl source directory. ++ # Looking in the source dir is not ideal, but OK. ++ ++ eval "temp_includedir=${includedir}" ++ list="`ls -d ${temp_includedir} 2>/dev/null` \ ++ `ls -d ${TK_PREFIX}/include 2>/dev/null` \ ++ `ls -d ${TCL_PREFIX}/include 2>/dev/null` \ ++ `ls -d ${TCL_BIN_DIR}/../include 2>/dev/null` \ ++ `ls -d ${TK_SRC_DIR}/generic 2>/dev/null`" ++ if test "${TEA_PLATFORM}" != "windows" -o "$GCC" = "yes"; then ++ list="$list /usr/local/include /usr/include" ++ fi ++ for i in $list ; do ++ if test -f "$i/tk.h" ; then ++ ac_cv_c_tkh=$i ++ break ++ fi ++ done ++ fi ++ ]) ++ ++ # Print a message based on how we determined the include path ++ ++ if test x"${ac_cv_c_tkh}" = x ; then ++ AC_MSG_ERROR([tk.h not found. Please specify its location with --with-tkinclude]) ++ else ++ AC_MSG_RESULT([${ac_cv_c_tkh}]) ++ fi ++ ++ # Convert to a native path and substitute into the output files. ++ ++ INCLUDE_DIR_NATIVE=`${CYGPATH} ${ac_cv_c_tkh}` ++ ++ TK_INCLUDES=-I\"${INCLUDE_DIR_NATIVE}\" ++ ++ AC_SUBST(TK_INCLUDES) ++ ++ if test "${TEA_PLATFORM}" = "windows" ; then ++ # On Windows, we need the X compat headers ++ AC_MSG_CHECKING([for X11 header files]) ++ if test ! -r "${INCLUDE_DIR_NATIVE}/X11/Xlib.h"; then ++ INCLUDE_DIR_NATIVE="`${CYGPATH} ${TK_SRC_DIR}/xlib`" ++ TK_XINCLUDES=-I\"${INCLUDE_DIR_NATIVE}\" ++ AC_SUBST(TK_XINCLUDES) ++ fi ++ AC_MSG_RESULT([${INCLUDE_DIR_NATIVE}]) ++ fi ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_PROG_TCLSH ++# Locate a tclsh shell in the following directories: ++# ${TCL_BIN_DIR} ${TCL_BIN_DIR}/../bin ++# ${exec_prefix}/bin ${prefix}/bin ++# ${PATH} ++# ++# Arguments ++# none ++# ++# Results ++# Subst's the following values: ++# TCLSH_PROG ++#------------------------------------------------------------------------ ++ ++AC_DEFUN(TEA_PROG_TCLSH, [ ++ # Allow the user to provide this setting in the env ++ if test "x${TCLSH_PROG}" = "x" ; then ++ AC_MSG_CHECKING([for tclsh]) ++ ++ AC_CACHE_VAL(ac_cv_path_tclsh, [ ++ search_path=`echo ${PATH} | sed -e 's/:/ /g'` ++ if test "${TEA_PLATFORM}" != "windows" -o \ ++ \( "$do64bit_ok" = "no" -a "$doWince" = "no" \) ; then ++ # Do not allow target tclsh in known cross-compile builds, ++ # as we need one we can run on this system ++ search_path="${TCL_BIN_DIR} ${TCL_BIN_DIR}/../bin ${exec_prefix}/bin ${prefix}/bin ${search_path}" ++ fi ++ for dir in $search_path ; do ++ for j in `ls -r $dir/tclsh[[8-9]]*${EXEEXT} 2> /dev/null` \ ++ `ls -r $dir/tclsh*${EXEEXT} 2> /dev/null` ; do ++ if test x"$ac_cv_path_tclsh" = x ; then ++ if test -f "$j" ; then ++ ac_cv_path_tclsh=$j ++ break ++ fi ++ fi ++ done ++ done ++ ]) ++ ++ if test -f "$ac_cv_path_tclsh" ; then ++ TCLSH_PROG=$ac_cv_path_tclsh ++ AC_MSG_RESULT([$TCLSH_PROG]) ++ else ++ AC_MSG_ERROR([No tclsh found in PATH: $search_path]) ++ fi ++ fi ++ AC_SUBST(TCLSH_PROG) ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_PROG_WISH ++# Locate a wish shell in the following directories: ++# ${TK_BIN_DIR} ${TK_BIN_DIR}/../bin ++# ${TCL_BIN_DIR} ${TCL_BIN_DIR}/../bin ++# ${exec_prefix}/bin ${prefix}/bin ++# ${PATH} ++# ++# Arguments ++# none ++# ++# Results ++# Subst's the following values: ++# WISH_PROG ++#------------------------------------------------------------------------ ++ ++AC_DEFUN(TEA_PROG_WISH, [ ++ # Allow the user to provide this setting in the env ++ if test "x${WISH_PROG}" = "x" ; then ++ AC_MSG_CHECKING([for wish]) ++ ++ AC_CACHE_VAL(ac_cv_path_wish, [ ++ search_path=`echo ${PATH} | sed -e 's/:/ /g'` ++ if test "${TEA_PLATFORM}" != "windows" -o \ ++ \( "$do64bit_ok" = "no" -a "$doWince" = "no" \) ; then ++ # Do not allow target wish in known cross-compile builds, ++ # as we need one we can run on this system ++ search_path="${TK_BIN_DIR} ${TK_BIN_DIR}/../bin ${TCL_BIN_DIR} ${TCL_BIN_DIR}/../bin ${exec_prefix}/bin ${prefix}/bin ${search_path}" ++ fi ++ for dir in $search_path ; do ++ for j in `ls -r $dir/wish[[8-9]]*${EXEEXT} 2> /dev/null` \ ++ `ls -r $dir/wish*${EXEEXT} 2> /dev/null` ; do ++ if test x"$ac_cv_path_wish" = x ; then ++ if test -f "$j" ; then ++ ac_cv_path_wish=$j ++ break ++ fi ++ fi ++ done ++ done ++ ]) ++ ++ if test -f "$ac_cv_path_wish" ; then ++ WISH_PROG=$ac_cv_path_wish ++ AC_MSG_RESULT([$WISH_PROG]) ++ else ++ AC_MSG_ERROR([No wish found in PATH: $search_path]) ++ fi ++ fi ++ AC_SUBST(WISH_PROG) ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_PATH_CONFIG -- ++# ++# Locate the ${1}Config.sh file and perform a sanity check on ++# the ${1} compile flags. These are used by packages like ++# [incr Tk] that load *Config.sh files from more than Tcl and Tk. ++# ++# Arguments: ++# none ++# ++# Results: ++# ++# Adds the following arguments to configure: ++# --with-$1=... ++# ++# Defines the following vars: ++# $1_BIN_DIR Full path to the directory containing ++# the $1Config.sh file ++#------------------------------------------------------------------------ ++ ++AC_DEFUN(TEA_PATH_CONFIG, [ ++ # ++ # Ok, lets find the $1 configuration ++ # First, look for one uninstalled. ++ # the alternative search directory is invoked by --with-$1 ++ # ++ ++ if test x"${no_$1}" = x ; then ++ # we reset no_$1 in case something fails here ++ no_$1=true ++ AC_ARG_WITH($1, [ --with-$1 directory containing $1 configuration ($1Config.sh)], with_$1config=${withval}) ++ AC_MSG_CHECKING([for $1 configuration]) ++ AC_CACHE_VAL(ac_cv_c_$1config,[ ++ ++ # First check to see if --with-$1 was specified. ++ if test x"${with_$1config}" != x ; then ++ case ${with_$1config} in ++ */$1Config.sh ) ++ if test -f ${with_$1config}; then ++ AC_MSG_WARN([--with-$1 argument should refer to directory containing $1Config.sh, not to $1Config.sh itself]) ++ with_$1config=`echo ${with_$1config} | sed 's!/$1Config\.sh$!!'` ++ fi;; ++ esac ++ if test -f "${with_$1config}/$1Config.sh" ; then ++ ac_cv_c_$1config=`(cd ${with_$1config}; pwd)` ++ else ++ AC_MSG_ERROR([${with_$1config} directory doesn't contain $1Config.sh]) ++ fi ++ fi ++ ++ # then check for a private $1 installation ++ if test x"${ac_cv_c_$1config}" = x ; then ++ for i in \ ++ ../$1 \ ++ `ls -dr ../$1*[[0-9]].[[0-9]]*.[[0-9]]* 2>/dev/null` \ ++ `ls -dr ../$1*[[0-9]].[[0-9]][[0-9]] 2>/dev/null` \ ++ `ls -dr ../$1*[[0-9]].[[0-9]] 2>/dev/null` \ ++ `ls -dr ../$1*[[0-9]].[[0-9]]* 2>/dev/null` \ ++ ../../$1 \ ++ `ls -dr ../../$1*[[0-9]].[[0-9]]*.[[0-9]]* 2>/dev/null` \ ++ `ls -dr ../../$1*[[0-9]].[[0-9]][[0-9]] 2>/dev/null` \ ++ `ls -dr ../../$1*[[0-9]].[[0-9]] 2>/dev/null` \ ++ `ls -dr ../../$1*[[0-9]].[[0-9]]* 2>/dev/null` \ ++ ../../../$1 \ ++ `ls -dr ../../../$1*[[0-9]].[[0-9]]*.[[0-9]]* 2>/dev/null` \ ++ `ls -dr ../../../$1*[[0-9]].[[0-9]][[0-9]] 2>/dev/null` \ ++ `ls -dr ../../../$1*[[0-9]].[[0-9]] 2>/dev/null` \ ++ `ls -dr ../../../$1*[[0-9]].[[0-9]]* 2>/dev/null` \ ++ ${srcdir}/../$1 \ ++ `ls -dr ${srcdir}/../$1*[[0-9]].[[0-9]]*.[[0-9]]* 2>/dev/null` \ ++ `ls -dr ${srcdir}/../$1*[[0-9]].[[0-9]][[0-9]] 2>/dev/null` \ ++ `ls -dr ${srcdir}/../$1*[[0-9]].[[0-9]] 2>/dev/null` \ ++ `ls -dr ${srcdir}/../$1*[[0-9]].[[0-9]]* 2>/dev/null` \ ++ ; do ++ if test -f "$i/$1Config.sh" ; then ++ ac_cv_c_$1config=`(cd $i; pwd)` ++ break ++ fi ++ if test -f "$i/unix/$1Config.sh" ; then ++ ac_cv_c_$1config=`(cd $i/unix; pwd)` ++ break ++ fi ++ done ++ fi ++ ++ # check in a few common install locations ++ if test x"${ac_cv_c_$1config}" = x ; then ++ for i in `ls -d ${exec_prefix}/lib 2>/dev/null` \ ++ `ls -d ${prefix}/lib 2>/dev/null` \ ++ `ls -d /usr/local/lib 2>/dev/null` \ ++ `ls -d /usr/contrib/lib 2>/dev/null` \ ++ `ls -d /usr/lib 2>/dev/null` \ ++ ; do ++ if test -f "$i/$1Config.sh" ; then ++ ac_cv_c_$1config=`(cd $i; pwd)` ++ break ++ fi ++ done ++ fi ++ ]) ++ ++ if test x"${ac_cv_c_$1config}" = x ; then ++ $1_BIN_DIR="# no $1 configs found" ++ AC_MSG_WARN("Cannot find $1 configuration definitions") ++ exit 0 ++ else ++ no_$1= ++ $1_BIN_DIR=${ac_cv_c_$1config} ++ AC_MSG_RESULT([found $$1_BIN_DIR/$1Config.sh]) ++ fi ++ fi ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_LOAD_CONFIG -- ++# ++# Load the $1Config.sh file ++# ++# Arguments: ++# ++# Requires the following vars to be set: ++# $1_BIN_DIR ++# ++# Results: ++# ++# Subst the following vars: ++# $1_SRC_DIR ++# $1_LIB_FILE ++# $1_LIB_SPEC ++# ++#------------------------------------------------------------------------ ++ ++AC_DEFUN(TEA_LOAD_CONFIG, [ ++ AC_MSG_CHECKING([for existence of ${$1_BIN_DIR}/$1Config.sh]) ++ ++ if test -f "${$1_BIN_DIR}/$1Config.sh" ; then ++ AC_MSG_RESULT([loading]) ++ . ${$1_BIN_DIR}/$1Config.sh ++ else ++ AC_MSG_RESULT([file not found]) ++ fi ++ ++ # ++ # If the $1_BIN_DIR is the build directory (not the install directory), ++ # then set the common variable name to the value of the build variables. ++ # For example, the variable $1_LIB_SPEC will be set to the value ++ # of $1_BUILD_LIB_SPEC. An extension should make use of $1_LIB_SPEC ++ # instead of $1_BUILD_LIB_SPEC since it will work with both an ++ # installed and uninstalled version of Tcl. ++ # ++ ++ if test -f ${$1_BIN_DIR}/Makefile ; then ++ AC_MSG_WARN([Found Makefile - using build library specs for $1]) ++ $1_LIB_SPEC=${$1_BUILD_LIB_SPEC} ++ $1_STUB_LIB_SPEC=${$1_BUILD_STUB_LIB_SPEC} ++ $1_STUB_LIB_PATH=${$1_BUILD_STUB_LIB_PATH} ++ fi ++ ++ AC_SUBST($1_VERSION) ++ AC_SUBST($1_BIN_DIR) ++ AC_SUBST($1_SRC_DIR) ++ ++ AC_SUBST($1_LIB_FILE) ++ AC_SUBST($1_LIB_SPEC) ++ ++ AC_SUBST($1_STUB_LIB_FILE) ++ AC_SUBST($1_STUB_LIB_SPEC) ++ AC_SUBST($1_STUB_LIB_PATH) ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_PATH_CELIB -- ++# ++# Locate Keuchel's celib emulation layer for targeting Win/CE ++# ++# Arguments: ++# none ++# ++# Results: ++# ++# Adds the following arguments to configure: ++# --with-celib=... ++# ++# Defines the following vars: ++# CELIB_DIR Full path to the directory containing ++# the include and platform lib files ++#------------------------------------------------------------------------ ++ ++AC_DEFUN(TEA_PATH_CELIB, [ ++ # First, look for one uninstalled. ++ # the alternative search directory is invoked by --with-celib ++ ++ if test x"${no_celib}" = x ; then ++ # we reset no_celib in case something fails here ++ no_celib=true ++ AC_ARG_WITH(celib,[ --with-celib=DIR use Windows/CE support library from DIR], with_celibconfig=${withval}) ++ AC_MSG_CHECKING([for Windows/CE celib directory]) ++ AC_CACHE_VAL(ac_cv_c_celibconfig,[ ++ # First check to see if --with-celibconfig was specified. ++ if test x"${with_celibconfig}" != x ; then ++ if test -d "${with_celibconfig}/inc" ; then ++ ac_cv_c_celibconfig=`(cd ${with_celibconfig}; pwd)` ++ else ++ AC_MSG_ERROR([${with_celibconfig} directory doesn't contain inc directory]) ++ fi ++ fi ++ ++ # then check for a celib library ++ if test x"${ac_cv_c_celibconfig}" = x ; then ++ for i in \ ++ ../celib-palm-3.0 \ ++ ../celib \ ++ ../../celib-palm-3.0 \ ++ ../../celib \ ++ `ls -dr ../celib-*3.[[0-9]]* 2>/dev/null` \ ++ ${srcdir}/../celib-palm-3.0 \ ++ ${srcdir}/../celib \ ++ `ls -dr ${srcdir}/../celib-*3.[[0-9]]* 2>/dev/null` \ ++ ; do ++ if test -d "$i/inc" ; then ++ ac_cv_c_celibconfig=`(cd $i; pwd)` ++ break ++ fi ++ done ++ fi ++ ]) ++ if test x"${ac_cv_c_celibconfig}" = x ; then ++ AC_MSG_ERROR([Cannot find celib support library directory]) ++ else ++ no_celib= ++ CELIB_DIR=${ac_cv_c_celibconfig} ++ AC_MSG_RESULT([found $CELIB_DIR]) ++ TEA_PATH_NOSPACE(CELIB_DIR, ${ac_cv_c_celibconfig}) ++ fi ++ fi ++]) ++ ++#------------------------------------------------------------------------ ++# TEA_PATH_NOSPACE ++# Ensure that the given path has no spaces. This is necessary for ++# CC (and consitutuent vars that build it up) to work in the ++# tortured autoconf environment. Currently only for Windows use. ++# ++# Arguments ++# VAR - name of the variable to set ++# PATH - path to ensure no spaces in ++# ++# Results ++# Sets $VAR to short path of $PATH if it can be found. ++#------------------------------------------------------------------------ ++ ++AC_DEFUN([TEA_PATH_NOSPACE], [ ++ if test "${TEA_PLATFORM}" = "windows" ; then ++ # we need TCLSH_PROG defined to get Windows short pathnames ++ AC_REQUIRE([TEA_PROG_TCLSH]) ++ ++ AC_MSG_CHECKING([short pathname for $1 ($2)]) ++ ++ shortpath= ++ case "$2" in ++ *\ *) ++ # Only do this if we need to. ++ shortpath=`echo "puts [[file attributes {$2} -shortname]] ; exit" | ${TCLSH_PROG} 2>/dev/null` ++ ;; ++ esac ++ if test "x${shortpath}" = "x" ; then ++ AC_MSG_RESULT([not changed]) ++ else ++ $1=$shortpath ++ AC_MSG_RESULT([${$1}]) ++ fi ++ fi ++]) +diff -Naur insight-6.8.orig/itcl/itcl/tests/all insight-6.8.new/itcl/itcl/tests/all +--- insight-6.8.orig/itcl/itcl/tests/all 2003-01-21 21:40:27.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/all 1970-01-01 01:00:00.000000000 +0100 +@@ -1,21 +0,0 @@ +-# This file contains a top-level script to run all of the Tcl +-# tests. Execute it by invoking "source all" when running tclTest +-# in this directory. +-# +-# SCCS: @(#) all 1.7 96/02/16 08:55:38 +-# ------------------------------------------------------------------ +-# THIS SCRIPT IS NOW DEPRECATED! It is kept for older Tcl +-# installations that don't have the "tcltest" package. +-# Instead, use the "all.tcl" script to run the test suite. +-# ------------------------------------------------------------------ +- +-foreach i [lsort [glob *.test]] { +- if [string match l.*.test $i] { +- # This is an SCCS lock file; ignore it. +- continue +- } +- puts stdout $i +- if [catch {source $i} msg] { +- puts $msg +- } +-} +diff -Naur insight-6.8.orig/itcl/itcl/tests/all.tcl insight-6.8.new/itcl/itcl/tests/all.tcl +--- insight-6.8.orig/itcl/itcl/tests/all.tcl 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/all.tcl 2008-08-18 18:56:44.000000000 +0200 +@@ -7,116 +7,11 @@ + # Copyright (c) 1998-2000 by Ajuba Solutions + # All rights reserved. + # +-# RCS: @(#) $Id: all.tcl,v 1.2 2000/07/06 06:43:30 mmc Exp $ ++# RCS: @(#) $Id: all.tcl,v 1.5 2004/02/12 18:26:18 davygrvy Exp $ + +-package require tcltest +-namespace import -force ::tcltest::* ++package require tcltest 2.1 + +-# Look for the -exedir flag and find a suitable tclsh executable. ++tcltest::testsDirectory [file dir [info script]] ++tcltest::runAllTests + +-if {(![info exists argv]) || ([llength $argv] < 1)} { +- set flagArray {} +-} else { +- set flagArray $argv +-} +- +-array set flag $flagArray +-if {[info exists flag(-exedir)]} { +- set shell [lindex \ +- [glob -nocomplain \ +- [file join $flag(-exedir) tclsh*.bin] \ +- [file join $flag(-exedir) tclsh*]] 0] +-} else { +- set shell $::tcltest::tcltest +-} +- +-set ::tcltest::testSingleFile false +- +-# use [pwd] trick to expand relative file paths to absolute paths - MMc +-set cwd [pwd] +-cd [file dirname [info script]] +-set ::tcltest::testsDirectory [pwd] +-cd $cwd +- +-set logfile [file join $::tcltest::temporaryDirectory Log.txt] +- +-puts stdout "Using interp: $shell" +-puts stdout "Running tests in working dir: $::tcltest::testsDirectory" +-if {[llength $::tcltest::skip] > 0} { +- puts stdout "Skipping tests that match: $::tcltest::skip" +-} +-if {[llength $::tcltest::match] > 0} { +- puts stdout "Only running tests that match: $::tcltest::match" +-} +- +-if {[llength $::tcltest::skipFiles] > 0} { +- puts stdout "Skipping test files that match: $::tcltest::skipFiles" +-} +-if {[llength $::tcltest::matchFiles] > 0} { +- puts stdout "Only sourcing test files that match: $::tcltest::matchFiles" +-} +- +-set timeCmd {clock format [clock seconds]} +-puts stdout "Tests began at [eval $timeCmd]" +- +-# source each of the specified tests +-foreach file [lsort [::tcltest::getMatchingFiles]] { +- set tail [file tail $file] +- puts stdout $tail +- +- # Change to the tests directory so the value of the following +- # variable is set correctly when we spawn the child test processes +- +- cd $::tcltest::testsDirectory +- set cmd [concat [list | $shell $file] [split $argv] \ +- [list -outfile $logfile]] +- if {[catch { +- set pipeFd [open $cmd "r"] +- while {[gets $pipeFd line] >= 0} { +- puts $::tcltest::outputChannel $line +- } +- close $pipeFd +- } msg]} { +- # Print results to ::tcltest::outputChannel. +- puts $::tcltest::outputChannel $msg +- } +- +- # Now concatenate the temporary log file to +- # ::tcltest::outputChannel +- if {[catch { +- set fd [open $logfile "r"] +- while {![eof $fd]} { +- gets $fd line +- if {![eof $fd]} { +- if {[regexp {^([^:]+):\tTotal\t([0-9]+)\tPassed\t([0-9]+)\tSkipped\t([0-9]+)\tFailed\t([0-9]+)} $line null testFile Total Passed Skipped Failed]} { +- foreach index [list "Total" "Passed" "Skipped" \ +- "Failed"] { +- incr ::tcltest::numTests($index) [set $index] +- } +- incr ::tcltest::numTestFiles +- if {$Failed > 0} { +- lappend ::tcltest::failFiles $testFile +- } +- } +- puts $::tcltest::outputChannel $line +- } +- } +- close $fd +- } msg]} { +- puts $::tcltest::outputChannel $msg +- } +-} +- +-set numFailures [llength $::tcltest::failFiles] +- +-# cleanup +-puts stdout "\nTests ended at [eval $timeCmd]" +-::tcltest::cleanupTests 1 +- +-if {$numFailures > 0} { +- return -code error -errorcode $numFailures \ +- -errorinfo "Found $numFailures test file failures" +-} else { +- return +-} +-exit ++return +diff -Naur insight-6.8.orig/itcl/itcl/tests/basic.test insight-6.8.new/itcl/itcl/tests/basic.test +--- insight-6.8.orig/itcl/itcl/tests/basic.test 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/basic.test 2008-08-18 18:56:44.000000000 +0200 +@@ -6,19 +6,19 @@ + # mmclennan@lucent.com + # http://www.tcltk.com/itcl + # +-# RCS: $Id: basic.test,v 1.4 2000/07/06 06:43:30 mmc Exp $ ++# RCS: $Id: basic.test,v 1.8 2004/12/14 08:13:58 davygrvy Exp $ + # ---------------------------------------------------------------------- + # Copyright (c) 1993-1998 Lucent Technologies, Inc. + # ====================================================================== + # See the file "license.terms" for information on usage and + # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. + +-package require tcltest +-namespace import -force ::tcltest::* ++if {[lsearch [namespace children] ::tcltest] == -1} { ++ package require tcltest 2.1 ++ namespace import -force ::tcltest::test ++} + +-if {[string compare test [info procs test]] == 1} then {source defs} +- +-package require Itcl ++::tcltest::loadTestedCommands + + # ---------------------------------------------------------------------- + # Simple class definition +@@ -94,6 +94,33 @@ + Counter -foo + itcl::find objects -class Counter -foo + } {-foo} ++test basic-1.12 {is command with class argument} { ++ itcl::is class Counter ++} {1} ++ ++test basic-1.13 {is command with class argument (global namespace)} { ++ itcl::is class ::Counter ++} {1} ++ ++test basic-1.14 {is command with class argument (wrapped in code command)} { ++ itcl::is class [itcl::code Counter] ++} {1} ++ ++test basic-1.14 {is command with class argument (class does not exist)} { ++ itcl::is class Count ++} {0} ++ ++test basic-1.15 {is command with object argument} { ++ itcl::is object -foo ++} {1} ++ ++test basic-1.16 {is command with object argument (object does not exist)} { ++ itcl::is object xxx ++} {0} ++ ++test basic-1.15 {is command with object argument (with code command)} { ++ itcl::is object [itcl::code -- -foo] ++} {1} + + # ---------------------------------------------------------------------- + # #auto names +@@ -186,7 +213,13 @@ + list [Counter #auto] [Counter #auto] + } {counter0 counter1} + +-test basic-4.5 {when a class is destroyed, its objects are deleted} { ++test basic-4.5 {namespaces for #auto are prepended to the command name} { ++ namespace eval someNS1 {} ++ namespace eval someNS2 {} ++ list [Counter someNS1::#auto] [Counter someNS2::#auto] ++} [list someNS1::counter2 someNS2::counter3] ++ ++test basic-4.6 {when a class is destroyed, its objects are deleted} { + list [lsort [itcl::find objects counter*]] \ + [itcl::delete class Counter] \ + [lsort [itcl::find objects counter*]] +@@ -297,7 +330,7 @@ + + test basic-6.3 {test array access for commons} { + lsort [test_arrays0 do array get colors] +-} {#0000ff #00ff00 #ff0000 blue green red} ++} [list #0000ff #00ff00 #ff0000 blue green red] + + test basic-6.4 {test array access for instance variables via "upvar"} { + test_arrays0 do test_arrays_get nums +diff -Naur insight-6.8.orig/itcl/itcl/tests/body.test insight-6.8.new/itcl/itcl/tests/body.test +--- insight-6.8.orig/itcl/itcl/tests/body.test 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/body.test 2008-08-18 18:56:44.000000000 +0200 +@@ -6,19 +6,19 @@ + # mmclennan@lucent.com + # http://www.tcltk.com/itcl + # +-# RCS: $Id: body.test,v 1.3 2000/06/01 20:34:34 wart Exp $ ++# RCS: $Id: body.test,v 1.4 2004/02/12 18:09:50 davygrvy Exp $ + # ---------------------------------------------------------------------- + # Copyright (c) 1993-1998 Lucent Technologies, Inc. + # ====================================================================== + # See the file "license.terms" for information on usage and + # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. + +-package require tcltest +-namespace import -force ::tcltest::* ++if {[lsearch [namespace children] ::tcltest] == -1} { ++ package require tcltest 2.1 ++ namespace import -force ::tcltest::test ++} + +-if {[string compare test [info procs test]] == 1} then {source defs} +- +-package require Itcl ++::tcltest::loadTestedCommands + + # ---------------------------------------------------------------------- + # Test "body" command +diff -Naur insight-6.8.orig/itcl/itcl/tests/chain.test insight-6.8.new/itcl/itcl/tests/chain.test +--- insight-6.8.orig/itcl/itcl/tests/chain.test 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/chain.test 2008-08-18 18:56:44.000000000 +0200 +@@ -6,19 +6,19 @@ + # mmclennan@lucent.com + # http://www.tcltk.com/itcl + # +-# RCS: $Id: chain.test,v 1.3 2000/06/01 20:34:34 wart Exp $ ++# RCS: $Id: chain.test,v 1.4 2004/02/12 18:09:50 davygrvy Exp $ + # ---------------------------------------------------------------------- + # Copyright (c) 1993-1998 Lucent Technologies, Inc. + # ====================================================================== + # See the file "license.terms" for information on usage and + # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. + +-package require tcltest +-namespace import -force ::tcltest::* ++if {[lsearch [namespace children] ::tcltest] == -1} { ++ package require tcltest 2.1 ++ namespace import -force ::tcltest::test ++} + +-if {[string compare test [info procs test]] == 1} then {source defs} +- +-package require Itcl ++::tcltest::loadTestedCommands + + # ---------------------------------------------------------------------- + # Chaining methods and procs +diff -Naur insight-6.8.orig/itcl/itcl/tests/defs insight-6.8.new/itcl/itcl/tests/defs +--- insight-6.8.orig/itcl/itcl/tests/defs 2003-01-21 21:40:27.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/defs 1970-01-01 01:00:00.000000000 +0100 +@@ -1,351 +0,0 @@ +-# This file contains support code for the Tcl test suite. It is +-# normally sourced by the individual files in the test suite before +-# they run their tests. This improved approach to testing was designed +-# and initially implemented by Mary Ann May-Pumphrey of Sun Microsystems. +-# +-# Copyright (c) 1990-1994 The Regents of the University of California. +-# Copyright (c) 1994-1996 Sun Microsystems, Inc. +-# +-# See the file "license.terms" for information on usage and redistribution +-# of this file, and for a DISCLAIMER OF ALL WARRANTIES. +-# +-# SCCS: @(#) defs 1.44 96/10/08 17:26:58 +-# ------------------------------------------------------------------ +-# THIS SCRIPT IS NOW DEPRECATED! It is kept for older Tcl +-# installations that don't have the "tcltest" package. +-# Instead, use "package require tcltest" in the test suite. +-# ------------------------------------------------------------------ +- +-if ![info exists VERBOSE] { +- set VERBOSE 0 +-} +-if ![info exists TESTS] { +- set TESTS {} +-} +- +-# If tests are being run as root, issue a warning message and set a +-# variable to prevent some tests from running at all. +- +-set user {} +-if {$tcl_platform(platform) == "unix"} { +- catch {set user [exec whoami]} +- if {$user == ""} { +- catch {regexp {^[^(]*\(([^)]*)\)} [exec id] dummy user} +- } +- if {$user == ""} {set user root} +- if {$user == "root"} { +- puts stdout "Warning: you're executing as root. I'll have to" +- puts stdout "skip some of the tests, since they'll fail as root." +- } +-} +- +-# Some of the tests don't work on some system configurations due to +-# differences in word length, file system configuration, etc. In order +-# to prevent false alarms, these tests are generally only run in the +-# master development directory for Tcl. The presence of a file +-# "doAllTests" in this directory is used to indicate that the non-portable +-# tests should be run. +- +-set doNonPortableTests [file exists doAllTests] +- +-# If there is no "memory" command (because memory debugging isn't +-# enabled), generate a dummy command that does nothing. +- +-if {[info commands memory] == ""} { +- proc memory args {} +-} +- +-# Check configuration information that will determine which tests +-# to run. To do this, create an array testConfig. Each element +-# has a 0 or 1 value, and the following elements are defined: +-# unixOnly - 1 means this is a UNIX platform, so it's OK +-# to run tests that only work under UNIX. +-# macOnly - 1 means this is a Mac platform, so it's OK +-# to run tests that only work on Macs. +-# pcOnly - 1 means this is a PC platform, so it's OK to +-# run tests that only work on PCs. +-# unixOrPc - 1 means this is a UNIX or PC platform. +-# macOrPc - 1 means this is a Mac or PC platform. +-# macOrUnix - 1 means this is a Mac or UNIX platform. +-# nonPortable - 1 means this the tests are being running in +-# the master Tcl/Tk development environment; +-# Some tests are inherently non-portable because +-# they depend on things like word length, file system +-# configuration, window manager, etc. These tests +-# are only run in the main Tcl development directory +-# where the configuration is well known. The presence +-# of the file "doAllTests" in this directory indicates +-# that it is safe to run non-portable tests. +-# tempNotPc - The inverse of pcOnly. This flag is used to +-# temporarily disable a test. +-# nonBlockFiles - 1 means this platform supports setting files into +-# nonblocking mode. +-# asyncPipeClose- 1 means this platform supports async flush and +-# async close on a pipe. +-# unixExecs - 1 means this machine has commands such as 'cat', +-# 'echo' etc available. +- +-catch {unset testConfig} +- +-package require Itcl +- +-if {$tcl_platform(platform) == "unix"} { +- set testConfig(unixOnly) 1 +- set testConfig(tempNotPc) 1 +-} else { +- set testConfig(unixOnly) 0 +-} +-if {$tcl_platform(platform) == "macintosh"} { +- set testConfig(tempNotPc) 1 +- set testConfig(macOnly) 1 +-} else { +- set testConfig(macOnly) 0 +-} +-if {$tcl_platform(platform) == "windows"} { +- set testConfig(pcOnly) 1 +-} else { +- set testConfig(pcOnly) 0 +-} +-set testConfig(unixOrPc) [expr $testConfig(unixOnly) || $testConfig(pcOnly)] +-set testConfig(macOrPc) [expr $testConfig(macOnly) || $testConfig(pcOnly)] +-set testConfig(macOrUnix) [expr $testConfig(macOnly) || $testConfig(unixOnly)] +-set testConfig(nonPortable) [file exists doAllTests] +- +-set f [open defs r] +-if {[expr [catch {fconfigure $f -blocking off}]] == 0} { +- set testConfig(nonBlockFiles) 1 +-} else { +- set testConfig(nonBlockFiles) 0 +-} +-close $f +- +-# Test for SCO Unix - cannot run async flushing tests because a potential +-# problem with select is apparently interfering. (Mark Diekhans). +- +-if {$tcl_platform(platform) == "unix"} { +- if {[catch {exec uname -X | fgrep {Release = 3.2v}}] == 0} { +- set testConfig(asyncPipeClose) 0 +- } else { +- set testConfig(asyncPipeClose) 1 +- } +-} else { +- set testConfig(asyncPipeClose) 1 +-} +- +-# Test to see if execed commands such as cat, echo, rm and so forth are +-# present on this machine. +- +-set testConfig(unixExecs) 1 +-if {$tcl_platform(platform) == "macintosh"} { +- set testConfig(unixExecs) 0 +-} +-if {($testConfig(unixExecs) == 1) && ($tcl_platform(platform) == "windows")} { +- if {[catch {exec cat defs}] == 1} { +- set testConfig(unixExecs) 0 +- } +- if {($testConfig(unixExecs) == 1) && ([catch {exec echo hello}] == 1)} { +- set testConfig(unixExecs) 0 +- } +- if {($testConfig(unixExecs) == 1) && \ +- ([catch {exec sh -c echo hello}] == 1)} { +- set testConfig(unixExecs) 0 +- } +- if {($testConfig(unixExecs) == 1) && ([catch {exec wc defs}] == 1)} { +- set testConfig(unixExecs) 0 +- } +- if {$testConfig(unixExecs) == 1} { +- exec echo hello > removeMe +- if {[catch {exec rm removeMe}] == 1} { +- set testConfig(unixExecs) 0 +- } +- } +- if {($testConfig(unixExecs) == 1) && ([catch {exec sleep 1}] == 1)} { +- set testConfig(unixExecs) 0 +- } +- if {($testConfig(unixExecs) == 1) && \ +- ([catch {exec fgrep unixExecs defs}] == 1)} { +- set testConfig(unixExecs) 0 +- } +- if {($testConfig(unixExecs) == 1) && ([catch {exec ps}] == 1)} { +- set testConfig(unixExecs) 0 +- } +- if {($testConfig(unixExecs) == 1) && \ +- ([catch {exec echo abc > removeMe}] == 0) && \ +- ([catch {exec chmod 644 removeMe}] == 1) && \ +- ([catch {exec rm removeMe}] == 0)} { +- set testConfig(unixExecs) 0 +- } else { +- catch {exec rm -f removeMe} +- } +- if {($testConfig(unixExecs) == 1) && \ +- ([catch {exec mkdir removeMe}] == 1)} { +- set testConfig(unixExecs) 0 +- } else { +- catch {exec rm -r removeMe} +- } +- if {$testConfig(unixExecs) == 0} { +- puts stdout "Warning: Unix-style executables are not available, so" +- puts stdout "some tests will be skipped." +- } +-} +- +-proc print_verbose {name description script code answer} { +- puts stdout "\n" +- puts stdout "==== $name $description" +- puts stdout "==== Contents of test case:" +- puts stdout "$script" +- if {$code != 0} { +- if {$code == 1} { +- puts stdout "==== Test generated error:" +- puts stdout $answer +- } elseif {$code == 2} { +- puts stdout "==== Test generated return exception; result was:" +- puts stdout $answer +- } elseif {$code == 3} { +- puts stdout "==== Test generated break exception" +- } elseif {$code == 4} { +- puts stdout "==== Test generated continue exception" +- } else { +- puts stdout "==== Test generated exception $code; message was:" +- puts stdout $answer +- } +- } else { +- puts stdout "==== Result was:" +- puts stdout "$answer" +- } +-} +- +-# test -- +-# This procedure runs a test and prints an error message if the +-# test fails. If VERBOSE has been set, it also prints a message +-# even if the test succeeds. The test will be skipped if it +-# doesn't match the TESTS variable, or if one of the elements +-# of "constraints" turns out not to be true. +-# +-# Arguments: +-# name - Name of test, in the form foo-1.2. +-# description - Short textual description of the test, to +-# help humans understand what it does. +-# constraints - A list of one or more keywords, each of +-# which must be the name of an element in +-# the array "testConfig". If any of these +-# elements is zero, the test is skipped. +-# This argument may be omitted. +-# script - Script to run to carry out the test. It must +-# return a result that can be checked for +-# correctness. +-# answer - Expected result from script. +- +-proc test {name description script answer args} { +- global VERBOSE TESTS testConfig +- if {[string compare $TESTS ""] != 0} then { +- set ok 0 +- foreach test $TESTS { +- if [string match $test $name] then { +- set ok 1 +- break +- } +- } +- if !$ok then return +- } +- set i [llength $args] +- if {$i == 0} { +- # Empty body +- } elseif {$i == 1} { +- # "constraints" argument exists; shuffle arguments down, then +- # make sure that the constraints are satisfied. +- +- set constraints $script +- set script $answer +- set answer [lindex $args 0] +- foreach constraint $constraints { +- if {![info exists testConfig($constraint)] +- || !$testConfig($constraint)} { +- return +- } +- } +- } else { +- error "wrong # args: must be \"test name description ?constraints? script answer\"" +- } +- memory tag $name +- set code [catch {uplevel $script} result] +- if {$code != 0} { +- print_verbose $name $description $script \ +- $code $result +- } elseif {[string compare $result $answer] == 0} then { +- if $VERBOSE then { +- if {$VERBOSE > 0} { +- print_verbose $name $description $script \ +- $code $result +- } +- puts stdout "++++ $name PASSED" +- } +- } else { +- print_verbose $name $description $script \ +- $code $result +- puts stdout "---- Result should have been:" +- puts stdout "$answer" +- puts stdout "---- $name FAILED" +- } +-} +- +-proc dotests {file args} { +- global TESTS +- set savedTests $TESTS +- set TESTS $args +- source $file +- set TESTS $savedTests +-} +- +-proc normalizeMsg {msg} { +- regsub "\n$" [string tolower $msg] "" msg +- regsub -all "\n\n" $msg "\n" msg +- regsub -all "\n\}" $msg "\}" msg +- return $msg +-} +- +-proc makeFile {contents name} { +- set fd [open $name w] +- fconfigure $fd -translation lf +- if {[string index $contents [expr [string length $contents] - 1]] == "\n"} { +- puts -nonewline $fd $contents +- } else { +- puts $fd $contents +- } +- close $fd +-} +- +-proc removeFile {name} { +- file delete $name +-} +- +-proc makeDirectory {name} { +- file mkdir $name +-} +- +-proc removeDirectory {name} { +- file delete -force $name +-} +- +-proc viewFile {name} { +- global tcl_platform testConfig +- if {($tcl_platform(platform) == "macintosh") || \ +- ($testConfig(unixExecs) == 0)} { +- set f [open $name] +- set data [read -nonewline $f] +- close $f +- return $data +- } else { +- exec cat $name +- } +-} +- +-# Locate tcltest executable +- +-set tcltest [list [info nameofexecutable]] +-if {$tcltest == "{}"} { +- set tcltest {} +- puts "Unable to find tcltest executable, multiple process tests will fail." +-} +- +- +diff -Naur insight-6.8.orig/itcl/itcl/tests/delete.test insight-6.8.new/itcl/itcl/tests/delete.test +--- insight-6.8.orig/itcl/itcl/tests/delete.test 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/delete.test 2008-08-18 18:56:44.000000000 +0200 +@@ -6,19 +6,19 @@ + # mmclennan@lucent.com + # http://www.tcltk.com/itcl + # +-# RCS: $Id: delete.test,v 1.3 2000/06/01 20:34:35 wart Exp $ ++# RCS: $Id: delete.test,v 1.4 2004/02/12 18:09:50 davygrvy Exp $ + # ---------------------------------------------------------------------- + # Copyright (c) 1993-1998 Lucent Technologies, Inc. + # ====================================================================== + # See the file "license.terms" for information on usage and + # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. + +-package require tcltest +-namespace import -force ::tcltest::* ++if {[lsearch [namespace children] ::tcltest] == -1} { ++ package require tcltest 2.1 ++ namespace import -force ::tcltest::test ++} + +-if {[string compare test [info procs test]] == 1} then {source defs} +- +-package require Itcl ++::tcltest::loadTestedCommands + + # ---------------------------------------------------------------------- + # Deleting classes and objects +diff -Naur insight-6.8.orig/itcl/itcl/tests/ensemble.test insight-6.8.new/itcl/itcl/tests/ensemble.test +--- insight-6.8.orig/itcl/itcl/tests/ensemble.test 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/ensemble.test 2008-08-18 18:56:44.000000000 +0200 +@@ -6,19 +6,19 @@ + # mmclennan@lucent.com + # http://www.tcltk.com/itcl + # +-# RCS: $Id: ensemble.test,v 1.3 2000/06/01 20:34:35 wart Exp $ ++# RCS: $Id: ensemble.test,v 1.5 2004/02/12 18:09:50 davygrvy Exp $ + # ---------------------------------------------------------------------- + # Copyright (c) 1993-1998 Lucent Technologies, Inc. + # ====================================================================== + # See the file "license.terms" for information on usage and + # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. + +-package require tcltest +-namespace import -force ::tcltest::* ++if {[lsearch [namespace children] ::tcltest] == -1} { ++ package require tcltest 2.1 ++ namespace import -force ::tcltest::test ++} + +-if {[string compare test [info procs test]] == 1} then {source defs} +- +-package require Itcl ++::tcltest::loadTestedCommands + + test ensemble-1.1 {ensemble name must be specified} { + list [catch {itcl::ensemble} msg] $msg +@@ -45,8 +45,13 @@ + } {{one: 1} {two: 2 3} {three: 3 4 5}} + + test ensemble-1.5 {invoking parts with improper arguments} { +- list [catch "test_numbers three x" msg] $msg +-} {1 {no value given for parameter "y" to "test_numbers three"}} ++ set res [catch "test_numbers three x" msg] ++ if {[package vsatisfies [package provide Tcl] 8.4]} { ++ lappend res [string match "wrong # args*" $msg] ++ } else { ++ lappend res [string match "no value given*" $msg] ++ } ++} {1 1} + + test ensemble-1.6 {errors trigger a usage summary} { + list [catch "test_numbers foo x y" msg] $msg +diff -Naur insight-6.8.orig/itcl/itcl/tests/import.test insight-6.8.new/itcl/itcl/tests/import.test +--- insight-6.8.orig/itcl/itcl/tests/import.test 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/import.test 2008-08-18 18:56:44.000000000 +0200 +@@ -6,19 +6,19 @@ + # mmclennan@lucent.com + # http://www.tcltk.com/itcl + # +-# RCS: $Id: import.test,v 1.2 2000/06/01 20:34:35 wart Exp $ ++# RCS: $Id: import.test,v 1.6 2004/04/29 05:57:42 davygrvy Exp $ + # ---------------------------------------------------------------------- + # Copyright (c) 1993-1998 Lucent Technologies, Inc. + # ====================================================================== + # See the file "license.terms" for information on usage and + # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. + +-package require tcltest +-namespace import -force ::tcltest::* +- +-if {[string compare test [info procs test]] == 1} then {source defs} ++if {[lsearch [namespace children] ::tcltest] == -1} { ++ package require tcltest 2.1 ++ namespace import -force ::tcltest::test ++} + +-package require Itcl ++::tcltest::loadTestedCommands + + # ---------------------------------------------------------------------- + # Test "itcl::import::stub" command +@@ -40,15 +40,15 @@ + } {1 {wrong # args: should be "itcl::import::stub exists name"} 1 {wrong # args: should be "itcl::import::stub exists name"}} + + set interp [interp create] +-$interp eval { +- package require Itcl ++$interp eval [subst -novariables { ++ [::tcltest::configure -load] + proc auto_load {cmd {namespace {}}} { + global debug +- proc $cmd {args} [format {return "%s: $args"} $cmd] ++ proc $cmd {args} \[format {return "%s: $args"} $cmd\] + append debug "(auto_load: $cmd)" + return 1 + } +-} ++}] + + test import-1.4 {"stub create" creates a stub that triggers autoloading} { + $interp eval { +@@ -64,7 +64,7 @@ + $interp eval { + set debug "" + itcl::import::stub create foo::bar::stub1 +- proc foo::bar::proc1 {args} {return "proc1: $args"} ++ proc foo::bar::proc1 {{args {}}} {return "proc1: $args"} + list [itcl::import::stub exists foo::bar::stub1] \ + [itcl::import::stub exists foo::bar::proc1] + } +@@ -88,13 +88,13 @@ + # Test "itcl::import::stub" command + # ---------------------------------------------------------------------- + set interp [interp create] +-$interp eval { +- package require Itcl ++$interp eval [subst -novariables { ++ [::tcltest::configure -load] + proc auto_load {cmd {namespace {}}} { +- proc $cmd {args} [format {return "%s: $args"} $cmd] ++ proc $cmd {args} \[format {return "%s: $args"} $cmd\] + return 1 + } +-} ++}] + + test import-2.1 {initialize some commands for autoloading} { + $interp eval { +diff -Naur insight-6.8.orig/itcl/itcl/tests/info.test insight-6.8.new/itcl/itcl/tests/info.test +--- insight-6.8.orig/itcl/itcl/tests/info.test 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/info.test 2008-08-18 18:56:44.000000000 +0200 +@@ -6,19 +6,19 @@ + # mmclennan@lucent.com + # http://www.tcltk.com/itcl + # +-# RCS: $Id: info.test,v 1.5 2000/07/07 12:27:37 csmith Exp $ ++# RCS: $Id: info.test,v 1.6 2004/02/12 18:09:50 davygrvy Exp $ + # ---------------------------------------------------------------------- + # Copyright (c) 1993-1998 Lucent Technologies, Inc. + # ====================================================================== + # See the file "license.terms" for information on usage and + # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. + +-package require tcltest +-namespace import -force ::tcltest::* ++if {[lsearch [namespace children] ::tcltest] == -1} { ++ package require tcltest 2.1 ++ namespace import -force ::tcltest::test ++} + +-if {[string compare test [info procs test]] == 1} then {source defs} +- +-package require Itcl ++::tcltest::loadTestedCommands + + # ---------------------------------------------------------------------- + # Class definition with one of everything +diff -Naur insight-6.8.orig/itcl/itcl/tests/inherit.test insight-6.8.new/itcl/itcl/tests/inherit.test +--- insight-6.8.orig/itcl/itcl/tests/inherit.test 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/inherit.test 2008-08-18 18:56:44.000000000 +0200 +@@ -6,19 +6,19 @@ + # mmclennan@lucent.com + # http://www.tcltk.com/itcl + # +-# RCS: $Id: inherit.test,v 1.4 2000/07/06 06:43:30 mmc Exp $ ++# RCS: $Id: inherit.test,v 1.5 2004/02/12 18:09:50 davygrvy Exp $ + # ---------------------------------------------------------------------- + # Copyright (c) 1993-1998 Lucent Technologies, Inc. + # ====================================================================== + # See the file "license.terms" for information on usage and + # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. + +-package require tcltest +-namespace import -force ::tcltest::* ++if {[lsearch [namespace children] ::tcltest] == -1} { ++ package require tcltest 2.1 ++ namespace import -force ::tcltest::test ++} + +-if {[string compare test [info procs test]] == 1} then {source defs} +- +-package require Itcl ++::tcltest::loadTestedCommands + + # ---------------------------------------------------------------------- + # Test construction/destruction with inheritance +diff -Naur insight-6.8.orig/itcl/itcl/tests/interp.test insight-6.8.new/itcl/itcl/tests/interp.test +--- insight-6.8.orig/itcl/itcl/tests/interp.test 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/interp.test 2008-08-18 18:56:44.000000000 +0200 +@@ -6,19 +6,19 @@ + # mmclennan@lucent.com + # http://www.tcltk.com/itcl + # +-# RCS: $Id: interp.test,v 1.3 2001/05/22 15:32:37 davygrvy Exp $ ++# RCS: $Id: interp.test,v 1.4 2004/02/12 18:09:50 davygrvy Exp $ + # ---------------------------------------------------------------------- + # Copyright (c) 1993-1998 Lucent Technologies, Inc. + # ====================================================================== + # See the file "license.terms" for information on usage and + # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. + +-package require tcltest +-namespace import -force ::tcltest::* ++if {[lsearch [namespace children] ::tcltest] == -1} { ++ package require tcltest 2.1 ++ namespace import -force ::tcltest::test ++} + +-if {[string compare test [info procs test]] == 1} then {source defs} +- +-package require Itcl ++::tcltest::loadTestedCommands + + # ---------------------------------------------------------------------- + # Make sure that slave interpreters can be created and loaded +diff -Naur insight-6.8.orig/itcl/itcl/tests/local.test insight-6.8.new/itcl/itcl/tests/local.test +--- insight-6.8.orig/itcl/itcl/tests/local.test 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/local.test 2008-08-18 18:56:44.000000000 +0200 +@@ -6,19 +6,19 @@ + # mmclennan@lucent.com + # http://www.tcltk.com/itcl + # +-# RCS: $Id: local.test,v 1.3 2000/06/01 20:34:35 wart Exp $ ++# RCS: $Id: local.test,v 1.4 2004/02/12 18:09:50 davygrvy Exp $ + # ---------------------------------------------------------------------- + # Copyright (c) 1993-1998 Lucent Technologies, Inc. + # ====================================================================== + # See the file "license.terms" for information on usage and + # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. + +-package require tcltest +-namespace import -force ::tcltest::* ++if {[lsearch [namespace children] ::tcltest] == -1} { ++ package require tcltest 2.1 ++ namespace import -force ::tcltest::test ++} + +-if {[string compare test [info procs test]] == 1} then {source defs} +- +-package require Itcl ++::tcltest::loadTestedCommands + + # ---------------------------------------------------------------------- + # Test "local" to create objects that only exist within a proc +diff -Naur insight-6.8.orig/itcl/itcl/tests/methods.test insight-6.8.new/itcl/itcl/tests/methods.test +--- insight-6.8.orig/itcl/itcl/tests/methods.test 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/methods.test 2008-08-18 18:56:44.000000000 +0200 +@@ -6,19 +6,19 @@ + # mmclennan@lucent.com + # http://www.tcltk.com/itcl + # +-# RCS: $Id: methods.test,v 1.4 2000/07/06 06:43:30 mmc Exp $ ++# RCS: $Id: methods.test,v 1.5 2004/02/12 18:09:50 davygrvy Exp $ + # ---------------------------------------------------------------------- + # Copyright (c) 1993-1998 Lucent Technologies, Inc. + # ====================================================================== + # See the file "license.terms" for information on usage and + # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. + +-package require tcltest +-namespace import -force ::tcltest::* ++if {[lsearch [namespace children] ::tcltest] == -1} { ++ package require tcltest 2.1 ++ namespace import -force ::tcltest::test ++} + +-if {[string compare test [info procs test]] == 1} then {source defs} +- +-package require Itcl ++::tcltest::loadTestedCommands + + # ---------------------------------------------------------------------- + # Methods with various argument lists +diff -Naur insight-6.8.orig/itcl/itcl/tests/mkindex.itcl insight-6.8.new/itcl/itcl/tests/mkindex.itcl +--- insight-6.8.orig/itcl/itcl/tests/mkindex.itcl 2003-01-21 21:40:27.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/mkindex.itcl 2008-08-18 18:56:44.000000000 +0200 +@@ -23,7 +23,6 @@ + # they are prefaced with white space. + # + namespace import itcl::* +-namespace import blt::* + + class Simple1 { + variable x 0 +@@ -35,11 +34,6 @@ + public method bump {} + } + +-itcl_class OldStyle { +- public x 0 +- method foo {args} {return $args} +-} +- + itcl::ensemble ens { + part one {x} {} + part two {x y} {} +diff -Naur insight-6.8.orig/itcl/itcl/tests/mkindex.test insight-6.8.new/itcl/itcl/tests/mkindex.test +--- insight-6.8.orig/itcl/itcl/tests/mkindex.test 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/mkindex.test 2008-08-18 18:56:44.000000000 +0200 +@@ -6,19 +6,19 @@ + # mmclennan@lucent.com + # http://www.tcltk.com/itcl + # +-# RCS: $Id: mkindex.test,v 1.2 2000/06/01 20:34:35 wart Exp $ ++# RCS: $Id: mkindex.test,v 1.6 2004/02/13 06:37:24 davygrvy Exp $ + # ---------------------------------------------------------------------- + # Copyright (c) 1993-1998 Lucent Technologies, Inc. + # ====================================================================== + # See the file "license.terms" for information on usage and + # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. + +-package require tcltest +-namespace import -force ::tcltest::* ++if {[lsearch [namespace children] ::tcltest] == -1} { ++ package require tcltest 2.1 ++ namespace import -force ::tcltest::test ++} + +-if {[string compare test [info procs test]] == 1} then {source defs} +- +-package require Itcl ++::tcltest::loadTestedCommands + + # ---------------------------------------------------------------------- + # Test "auto_mkindex" in the presence of class definitions +@@ -29,7 +29,14 @@ + } {0} + + test mkindex-1.2 {build tclIndex based on a test file} { ++ if {[pwd] != $::tcltest::testsDirectory} { ++ file copy -force [file join $::tcltest::testsDirectory mkindex.itcl] \ ++ ./mkindex.itcl ++ } + auto_mkindex . mkindex.itcl ++ if {[pwd] != $::tcltest::testsDirectory} { ++ file delete -force ./mkindex.itcl ++ } + file exists tclIndex + } {1} + +@@ -46,7 +53,8 @@ + } + set result + } +-} "{::Simple2::bump $element} {::Simple2::by $element} {::buried::deep::within $element} {::buried::ens $element} {::buried::inside $element} {::buried::inside::bump $element} {::buried::inside::by $element} {::buried::inside::find $element} {::buried::under::neath $element} {::top::find $element} {::top::notice $element} {OldStyle $element} {Simple1 $element} {Simple2 $element} {ens $element} {top $element}" ++} "{::Simple2::bump $element} {::Simple2::by $element} {::buried::deep::within $element} {::buried::ens $element} {::buried::inside $element} {::buried::inside::bump $element} {::buried::inside::by $element} {::buried::inside::find $element} {::buried::under::neath $element} {::top::find $element} {::top::notice $element} {Simple1 $element} {Simple2 $element} {ens $element} {top $element}" + ++::tcltest::removeFile tclIndex + ::tcltest::cleanupTests + return +diff -Naur insight-6.8.orig/itcl/itcl/tests/namespace.test insight-6.8.new/itcl/itcl/tests/namespace.test +--- insight-6.8.orig/itcl/itcl/tests/namespace.test 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/namespace.test 2008-08-18 18:56:44.000000000 +0200 +@@ -6,19 +6,19 @@ + # mmclennan@lucent.com + # http://www.tcltk.com/itcl + # +-# RCS: $Id: namespace.test,v 1.4 2000/07/06 06:43:30 mmc Exp $ ++# RCS: $Id: namespace.test,v 1.5 2004/02/12 18:09:50 davygrvy Exp $ + # ---------------------------------------------------------------------- + # Copyright (c) 1993-1998 Lucent Technologies, Inc. + # ====================================================================== + # See the file "license.terms" for information on usage and + # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. + +-package require tcltest +-namespace import -force ::tcltest::* ++if {[lsearch [namespace children] ::tcltest] == -1} { ++ package require tcltest 2.1 ++ namespace import -force ::tcltest::test ++} + +-if {[string compare test [info procs test]] == 1} then {source defs} +- +-package require Itcl ++::tcltest::loadTestedCommands + + # ---------------------------------------------------------------------- + # Classes within namespaces +diff -Naur insight-6.8.orig/itcl/itcl/tests/old/toasters/Appliance.tcl insight-6.8.new/itcl/itcl/tests/old/toasters/Appliance.tcl +--- insight-6.8.orig/itcl/itcl/tests/old/toasters/Appliance.tcl 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/old/toasters/Appliance.tcl 1970-01-01 01:00:00.000000000 +0100 +@@ -1,43 +0,0 @@ +-# ---------------------------------------------------------------------- +-# PURPOSE: Base class for all electrical appliances that interact +-# with Outlets. +-# +-# AUTHOR: Michael J. McLennan Phone: (610)712-2842 +-# AT&T Bell Laboratories E-mail: michael.mclennan@att.com +-# +-# RCS: $Id: Appliance.tcl,v 1.1 1998/07/27 18:41:29 stanton Exp $ +-# ---------------------------------------------------------------------- +-# Copyright (c) 1993 AT&T Bell Laboratories +-# ====================================================================== +-# Permission to use, copy, modify, and distribute this software and its +-# documentation for any purpose and without fee is hereby granted, +-# provided that the above copyright notice appear in all copies and that +-# both that the copyright notice and warranty disclaimer appear in +-# supporting documentation, and that the names of AT&T Bell Laboratories +-# any of their entities not be used in advertising or publicity +-# pertaining to distribution of the software without specific, written +-# prior permission. +-# +-# AT&T disclaims all warranties with regard to this software, including +-# all implied warranties of merchantability and fitness. In no event +-# shall AT&T be liable for any special, indirect or consequential +-# damages or any damages whatsoever resulting from loss of use, data or +-# profits, whether in an action of contract, negligence or other +-# tortuous action, arising out of or in connection with the use or +-# performance of this software. +-# ====================================================================== +- +-itcl_class Appliance { +- +- method power {power} { +- if {[itcl_info objects [info which $outlet]] == ""} { +- set outlet {} +- } +- if {$outlet == ""} { +- error "cannot use $this: not plugged in" +- } +- $outlet use $power +- } +- +- public outlet {} +-} +diff -Naur insight-6.8.orig/itcl/itcl/tests/old/toasters/Hazard.tcl insight-6.8.new/itcl/itcl/tests/old/toasters/Hazard.tcl +--- insight-6.8.orig/itcl/itcl/tests/old/toasters/Hazard.tcl 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/old/toasters/Hazard.tcl 1970-01-01 01:00:00.000000000 +0100 +@@ -1,78 +0,0 @@ +-# ---------------------------------------------------------------------- +-# PURPOSE: Tracking for hazardous products manufactured by the +-# "toaster" company. +-# +-# AUTHOR: Michael J. McLennan Phone: (610)712-2842 +-# AT&T Bell Laboratories E-mail: michael.mclennan@att.com +-# +-# RCS: $Id: Hazard.tcl,v 1.1 1998/07/27 18:41:30 stanton Exp $ +-# ---------------------------------------------------------------------- +-# Copyright (c) 1993 AT&T Bell Laboratories +-# ====================================================================== +-# Permission to use, copy, modify, and distribute this software and its +-# documentation for any purpose and without fee is hereby granted, +-# provided that the above copyright notice appear in all copies and that +-# both that the copyright notice and warranty disclaimer appear in +-# supporting documentation, and that the names of AT&T Bell Laboratories +-# any of their entities not be used in advertising or publicity +-# pertaining to distribution of the software without specific, written +-# prior permission. +-# +-# AT&T disclaims all warranties with regard to this software, including +-# all implied warranties of merchantability and fitness. In no event +-# shall AT&T be liable for any special, indirect or consequential +-# damages or any damages whatsoever resulting from loss of use, data or +-# profits, whether in an action of contract, negligence or other +-# tortuous action, arising out of or in connection with the use or +-# performance of this software. +-# ====================================================================== +- +-itcl_class HazardRec { +- constructor {cname} { +- set class $cname +- } +- method change {var inc} { +- if {![info exists $var]} { +- error "bad field \"$var\"" +- } +- incr $var $inc +- } +- method report {} { +- return "$class: $total produced, $actives active, $accidents accidents" +- } +- protected class {} +- protected total 0 +- protected actives 0 +- protected accidents 0 +-} +- +-itcl_class Hazard { +- +- constructor {} { +- set class [virtual info class] +- if {![info exists recs($class)]} { +- set recs($class) [HazardRec #auto $class] +- } +- $recs($class) change total +1 +- $recs($class) change actives +1 +- } +- destructor { +- set class [virtual info class] +- $recs($class) change actives -1 +- } +- +- method accident {mesg} { +- set class [virtual info class] +- $recs($class) change accidents +1 +- puts stderr $mesg +- } +- +- proc report {class} { +- if {[info exists recs($class)]} { +- return [$recs($class) report] +- } else { +- error "no information for class \"$class\"" +- } +- } +- common recs +-} +diff -Naur insight-6.8.orig/itcl/itcl/tests/old/toasters/Outlet.tcl insight-6.8.new/itcl/itcl/tests/old/toasters/Outlet.tcl +--- insight-6.8.orig/itcl/itcl/tests/old/toasters/Outlet.tcl 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/old/toasters/Outlet.tcl 1970-01-01 01:00:00.000000000 +0100 +@@ -1,81 +0,0 @@ +-# ---------------------------------------------------------------------- +-# PURPOSE: Electrical outlet supplying power for Appliances. +-# +-# AUTHOR: Michael J. McLennan Phone: (610)712-2842 +-# AT&T Bell Laboratories E-mail: michael.mclennan@att.com +-# +-# RCS: $Id: Outlet.tcl,v 1.1 1998/07/27 18:41:30 stanton Exp $ +-# ---------------------------------------------------------------------- +-# Copyright (c) 1993 AT&T Bell Laboratories +-# ====================================================================== +-# Permission to use, copy, modify, and distribute this software and its +-# documentation for any purpose and without fee is hereby granted, +-# provided that the above copyright notice appear in all copies and that +-# both that the copyright notice and warranty disclaimer appear in +-# supporting documentation, and that the names of AT&T Bell Laboratories +-# any of their entities not be used in advertising or publicity +-# pertaining to distribution of the software without specific, written +-# prior permission. +-# +-# AT&T disclaims all warranties with regard to this software, including +-# all implied warranties of merchantability and fitness. In no event +-# shall AT&T be liable for any special, indirect or consequential +-# damages or any damages whatsoever resulting from loss of use, data or +-# profits, whether in an action of contract, negligence or other +-# tortuous action, arising out of or in connection with the use or +-# performance of this software. +-# ====================================================================== +- +-itcl_class Outlet { +- constructor {config} {} +- method config {config} {} +- +- destructor { +- if {$usage > 0} bill +- } +- +- method use {power} { +- set usage [expr $usage+$power] +- } +- +- method sendBill {} { +- if {[catch "open /tmp/bill w" fout] != 0} { +- error "cannot create bill in /tmp" +- } else { +- set amount [format "$%.2f" [expr $usage*$rate]] +- puts $fout "----------------------------------------" +- puts $fout "/////////// MEGA-POWER, INC. ///////////" +- puts $fout "----------------------------------------" +- puts $fout " Customer: $owner" +- puts $fout " Outlet: $this" +- puts $fout " Usage: $usage kilowatt-hours" +- puts $fout " " +- puts $fout " Amount Due: $amount" +- puts $fout "----------------------------------------" +- close $fout +- exec mail $owner < /tmp/bill +- set usage 0 +- } +- } +- +- proc bill {{customer *}} { +- foreach outlet [itcl_info objects -class Outlet] { +- set owner [$outlet info public owner -value] +- if {[string match $customer $owner]} { +- $outlet sendBill +- } +- } +- } +- +- proc rate {{newval ""}} { +- if {$newval == ""} { +- return $rate +- } +- set rate $newval +- } +- +- public owner {} +- protected usage 0 +- +- common rate 0.05 +-} +diff -Naur insight-6.8.orig/itcl/itcl/tests/old/toasters/SmartToaster.tcl insight-6.8.new/itcl/itcl/tests/old/toasters/SmartToaster.tcl +--- insight-6.8.orig/itcl/itcl/tests/old/toasters/SmartToaster.tcl 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/old/toasters/SmartToaster.tcl 1970-01-01 01:00:00.000000000 +0100 +@@ -1,40 +0,0 @@ +-# ---------------------------------------------------------------------- +-# PURPOSE: Class definition for handling "smart" toasters via +-# [incr Tcl]. A "smart" toaster is a toaster that +-# automatically cleans itself when the crumb tray is full. +-# +-# AUTHOR: Michael J. McLennan Phone: (610)712-2842 +-# AT&T Bell Laboratories E-mail: michael.mclennan@att.com +-# +-# RCS: $Id: SmartToaster.tcl,v 1.1 1998/07/27 18:41:31 stanton Exp $ +-# ---------------------------------------------------------------------- +-# Copyright (c) 1993 AT&T Bell Laboratories +-# ====================================================================== +-# Permission to use, copy, modify, and distribute this software and its +-# documentation for any purpose and without fee is hereby granted, +-# provided that the above copyright notice appear in all copies and that +-# both that the copyright notice and warranty disclaimer appear in +-# supporting documentation, and that the names of AT&T Bell Laboratories +-# any of their entities not be used in advertising or publicity +-# pertaining to distribution of the software without specific, written +-# prior permission. +-# +-# AT&T disclaims all warranties with regard to this software, including +-# all implied warranties of merchantability and fitness. In no event +-# shall AT&T be liable for any special, indirect or consequential +-# damages or any damages whatsoever resulting from loss of use, data or +-# profits, whether in an action of contract, negligence or other +-# tortuous action, arising out of or in connection with the use or +-# performance of this software. +-# ====================================================================== +- +-itcl_class SmartToaster { +- inherit Toaster +- +- method toast {nslices} { +- if {$crumbs >= [expr $maxcrumbs-10]} { +- clean +- } +- return [Toaster::toast $nslices] +- } +-} +diff -Naur insight-6.8.orig/itcl/itcl/tests/old/toasters/tclIndex insight-6.8.new/itcl/itcl/tests/old/toasters/tclIndex +--- insight-6.8.orig/itcl/itcl/tests/old/toasters/tclIndex 2003-01-21 21:40:28.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/old/toasters/tclIndex 1970-01-01 01:00:00.000000000 +0100 +@@ -1,18 +0,0 @@ +-# Tcl autoload index file, version 2.0 +-# This file is generated by the "auto_mkindex" command +-# and sourced to set up indexing information for one or +-# more commands. Typically each line is a command that +-# sets an element in the auto_index array, where the +-# element name is the name of a command and the value is +-# a script that loads the command. +- +-set auto_index(Appliance) "source $dir/Appliance.tcl" +-set auto_index(HazardRec) "source $dir/Hazard.tcl" +-set auto_index(Hazard) "source $dir/Hazard.tcl" +-set auto_index(Outlet) "source $dir/Outlet.tcl" +-set auto_index(SmartToaster) "source $dir/SmartToaster.tcl" +-set auto_index(Toaster) "source $dir/Toaster.tcl" +-set auto_index(make_toaster) "source $dir/usualway.tcl" +-set auto_index(toast_bread) "source $dir/usualway.tcl" +-set auto_index(clean_toaster) "source $dir/usualway.tcl" +-set auto_index(destroy_toaster) "source $dir/usualway.tcl" +diff -Naur insight-6.8.orig/itcl/itcl/tests/old/toasters/Toaster.tcl insight-6.8.new/itcl/itcl/tests/old/toasters/Toaster.tcl +--- insight-6.8.orig/itcl/itcl/tests/old/toasters/Toaster.tcl 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/old/toasters/Toaster.tcl 1970-01-01 01:00:00.000000000 +0100 +@@ -1,75 +0,0 @@ +-# ---------------------------------------------------------------------- +-# PURPOSE: Class definition for handling toasters via [incr Tcl]. +-# +-# AUTHOR: Michael J. McLennan Phone: (610)712-2842 +-# AT&T Bell Laboratories E-mail: michael.mclennan@att.com +-# +-# RCS: $Id: Toaster.tcl,v 1.1 1998/07/27 18:41:31 stanton Exp $ +-# ---------------------------------------------------------------------- +-# Copyright (c) 1993 AT&T Bell Laboratories +-# ====================================================================== +-# Permission to use, copy, modify, and distribute this software and its +-# documentation for any purpose and without fee is hereby granted, +-# provided that the above copyright notice appear in all copies and that +-# both that the copyright notice and warranty disclaimer appear in +-# supporting documentation, and that the names of AT&T Bell Laboratories +-# any of their entities not be used in advertising or publicity +-# pertaining to distribution of the software without specific, written +-# prior permission. +-# +-# AT&T disclaims all warranties with regard to this software, including +-# all implied warranties of merchantability and fitness. In no event +-# shall AT&T be liable for any special, indirect or consequential +-# damages or any damages whatsoever resulting from loss of use, data or +-# profits, whether in an action of contract, negligence or other +-# tortuous action, arising out of or in connection with the use or +-# performance of this software. +-# ====================================================================== +- +-itcl_class Toaster { +- inherit Appliance Hazard +- +- constructor {config} {} +- destructor { +- if {$crumbs > 0} { +- puts stdout "$crumbs crumbs ... what a mess!" +- } +- } +- method config {config} {} +- +- method toast {nslices} { +- power [expr 0.03*$heat] +- if {$nslices < 1 || $nslices > 2} { +- error "bad number of slices: should be 1 or 2" +- } +- set crumbs [expr $crumbs+$heat*$nslices] +- if {$crumbs >= $maxcrumbs} { +- accident "== FIRE! FIRE! ==" +- set crumbs $maxcrumbs +- } +- return [check] +- } +- +- method clean {} { +- power 0.5 +- set crumbs 0 +- return [check] +- } +- +- method check {} { +- set level [expr $crumbs*100.0/$maxcrumbs] +- return [format "crumb tray: %.0f%% full" $level] +- } +- +- proc resize {newsize} { +- set maxcrumbs $newsize +- } +- +- public heat 3 { +- if {$heat < 1 || $heat > 5} { +- error "invalid setting $heat: should be 1-5" +- } +- } +- protected crumbs 0 +- common maxcrumbs 40 +-} +diff -Naur insight-6.8.orig/itcl/itcl/tests/old/toasters/usualway.tcl insight-6.8.new/itcl/itcl/tests/old/toasters/usualway.tcl +--- insight-6.8.orig/itcl/itcl/tests/old/toasters/usualway.tcl 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/old/toasters/usualway.tcl 1970-01-01 01:00:00.000000000 +0100 +@@ -1,122 +0,0 @@ +-# ---------------------------------------------------------------------- +-# PURPOSE: Procedures for managing toasters in the usual +-# procedure-oriented Tcl programming style. These +-# routines illustrate data sharing through global +-# variables and naming conventions to logically group +-# related procedures. The same programming task can +-# be accomplished much more cleanly with [incr Tcl]. +-# Inheritance also allows new behavior to be "mixed-in" +-# more cleanly (see Appliance and Product base classes). +-# +-# AUTHOR: Michael J. McLennan Phone: (610)712-2842 +-# AT&T Bell Laboratories E-mail: michael.mclennan@att.com +-# +-# RCS: $Id: usualway.tcl,v 1.1 1998/07/27 18:41:32 stanton Exp $ +-# ---------------------------------------------------------------------- +-# Copyright (c) 1993 AT&T Bell Laboratories +-# ====================================================================== +-# Permission to use, copy, modify, and distribute this software and its +-# documentation for any purpose and without fee is hereby granted, +-# provided that the above copyright notice appear in all copies and that +-# both that the copyright notice and warranty disclaimer appear in +-# supporting documentation, and that the names of AT&T Bell Laboratories +-# any of their entities not be used in advertising or publicity +-# pertaining to distribution of the software without specific, written +-# prior permission. +-# +-# AT&T disclaims all warranties with regard to this software, including +-# all implied warranties of merchantability and fitness. In no event +-# shall AT&T be liable for any special, indirect or consequential +-# damages or any damages whatsoever resulting from loss of use, data or +-# profits, whether in an action of contract, negligence or other +-# tortuous action, arising out of or in connection with the use or +-# performance of this software. +-# ====================================================================== +- +-# ---------------------------------------------------------------------- +-# COMMAND: make_toaster +-# +-# INPUTS +-# = name of new toaster +-# = heat setting (1-5) +-# +-# RETURNS +-# name of new toaster +-# +-# SIDE-EFFECTS +-# Creates a record of a new toaster with the given heat setting +-# and an empty crumb tray. +-# ---------------------------------------------------------------------- +-proc make_toaster {name heat} { +- global allToasters +- +- if {$heat < 1 || $heat > 5} { +- error "invalid heat setting: should be 1-5" +- } +- set allToasters($name-heat) $heat +- set allToasters($name-crumbs) 0 +-} +- +-# ---------------------------------------------------------------------- +-# COMMAND: toast_bread +-# +-# INPUTS +-# = name of toaster used to toast bread +-# = number of bread slices (1 or 2) +-# +-# RETURNS +-# current crumb count +-# +-# SIDE-EFFECTS +-# Toasts bread and adds crumbs to crumb tray. +-# ---------------------------------------------------------------------- +-proc toast_bread {name slices} { +- global allToasters +- +- if {[info exists allToasters($name-crumbs)]} { +- set c $allToasters($name-crumbs) +- set c [expr $c+$allToasters($name-heat)*$slices] +- set allToasters($name-crumbs) $c +- } else { +- error "not a toaster: $name" +- } +-} +- +-# ---------------------------------------------------------------------- +-# COMMAND: clean_toaster +-# +-# INPUTS +-# = name of toaster to be cleaned +-# +-# RETURNS +-# current crumb count +-# +-# SIDE-EFFECTS +-# Cleans toaster by emptying crumb tray. +-# ---------------------------------------------------------------------- +-proc clean_toaster {name} { +- global allToasters +- set allToasters($name-crumbs) 0 +-} +- +-# ---------------------------------------------------------------------- +-# COMMAND: destroy_toaster +-# +-# INPUTS +-# = name of toaster to be destroyed +-# +-# RETURNS +-# nothing +-# +-# SIDE-EFFECTS +-# Spills all crumbs in the toaster and then destroys it. +-# ---------------------------------------------------------------------- +-proc destroy_toaster {name} { +- global allToasters +- +- if {[info exists allToasters($name-crumbs)]} { +- puts stdout "$allToasters($name-crumbs) crumbs ... what a mess!" +- unset allToasters($name-heat) +- unset allToasters($name-crumbs) +- } +-} +diff -Naur insight-6.8.orig/itcl/itcl/tests/protection.test insight-6.8.new/itcl/itcl/tests/protection.test +--- insight-6.8.orig/itcl/itcl/tests/protection.test 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/protection.test 2008-08-18 18:56:44.000000000 +0200 +@@ -6,19 +6,19 @@ + # mmclennan@lucent.com + # http://www.tcltk.com/itcl + # +-# RCS: $Id: protection.test,v 1.3 2000/06/01 20:34:35 wart Exp $ ++# RCS: $Id: protection.test,v 1.4 2004/02/12 18:09:50 davygrvy Exp $ + # ---------------------------------------------------------------------- + # Copyright (c) 1993-1998 Lucent Technologies, Inc. + # ====================================================================== + # See the file "license.terms" for information on usage and + # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. + +-package require tcltest +-namespace import -force ::tcltest::* ++if {[lsearch [namespace children] ::tcltest] == -1} { ++ package require tcltest 2.1 ++ namespace import -force ::tcltest::test ++} + +-if {[string compare test [info procs test]] == 1} then {source defs} +- +-package require Itcl ++::tcltest::loadTestedCommands + + # ---------------------------------------------------------------------- + # Class members are protected by access restrictions +diff -Naur insight-6.8.orig/itcl/itcl/tests/scope.test insight-6.8.new/itcl/itcl/tests/scope.test +--- insight-6.8.orig/itcl/itcl/tests/scope.test 2003-01-21 22:04:24.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/scope.test 2008-08-18 18:56:44.000000000 +0200 +@@ -6,19 +6,19 @@ + # mmclennan@lucent.com + # http://www.tcltk.com/itcl + # +-# RCS: $Id: scope.test,v 1.3 2000/06/01 20:34:36 wart Exp $ ++# RCS: $Id: scope.test,v 1.4 2004/02/12 18:09:50 davygrvy Exp $ + # ---------------------------------------------------------------------- + # Copyright (c) 1993-1998 Lucent Technologies, Inc. + # ====================================================================== + # See the file "license.terms" for information on usage and + # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. + +-package require tcltest +-namespace import -force ::tcltest::* ++if {[lsearch [namespace children] ::tcltest] == -1} { ++ package require tcltest 2.1 ++ namespace import -force ::tcltest::test ++} + +-if {[string compare test [info procs test]] == 1} then {source defs} +- +-package require Itcl ++::tcltest::loadTestedCommands + + # ---------------------------------------------------------------------- + # Syntax of the "scope" command +diff -Naur insight-6.8.orig/itcl/itcl/tests/tclIndex insight-6.8.new/itcl/itcl/tests/tclIndex +--- insight-6.8.orig/itcl/itcl/tests/tclIndex 2003-01-21 21:40:28.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/tests/tclIndex 2008-08-18 18:56:44.000000000 +0200 +@@ -8,7 +8,6 @@ + + set auto_index(Simple1) [list source [file join $dir mkindex.itcl]] + set auto_index(Simple2) [list source [file join $dir mkindex.itcl]] +-set auto_index(OldStyle) [list source [file join $dir mkindex.itcl]] + set auto_index(ens) [list source [file join $dir mkindex.itcl]] + set auto_index(::Simple2::bump) [list source [file join $dir mkindex.itcl]] + set auto_index(::Simple2::by) [list source [file join $dir mkindex.itcl]] +diff -Naur insight-6.8.orig/itcl/itcl/TODO insight-6.8.new/itcl/itcl/TODO +--- insight-6.8.orig/itcl/itcl/TODO 1970-01-01 01:00:00.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/TODO 2008-08-18 18:56:39.000000000 +0200 +@@ -0,0 +1,89 @@ ++======================================================================= ++ Following is a list of notes describing things which might be ++ fixed or changed in a future release of [incr Tcl] ++======================================================================= ++ ++Handle this case more elegantly: ++ ++class Foo { ++ constructor {args} { ++ _init ++ } ++ proc _init {} { ++ puts "once!" ++ proc _init {} {} ++ } ++} ++Foo #auto ++Foo #auto ++ ++ ++itcl "wish" list ++------------------------------------------------------------------ ++- add virtual inheritance ++- add "border" type to canvas widget ++- add "validate" and "valid" commands for type validation ++- add "unknownvar" and provide access to object data members: "obj.var" ++- check namespace [info class] {...} as a replacement for "virtual" ++- fix "auto_load_all" problem in Tcl-DP ++ (Their implementation uses "info commands" to verify that a command ++ has been successfully autoloaded, but absolute command names like ++ "::iwidgets::fileselectiondialog" don't show up.) ++- fix "auto_load" mechanism to be extensible like "unknown" ++- fix Itcl_RegisterC() to support ClientData ++- core dump with "cmdtrace" (tclX thing?) ++ ++- ideas from Nelson Macy: ++ - add "delegate" keyword for inheritance via composition? ++ - add "forward" keyword for implementing error handlers ++ - add "get" code to public variables for "cget" access ++ ++- equivalent of constructor/destructor for classes ++- protected/private recognized for constructor/destructor ++- add something like Tk_CreateWidgetCommand() for widget developers ++ ++ ++itcl documentation cleanup ++------------------------------------------------------------------ ++- add "Finance: Trading Systems" to commercial uses of Itcl (Deshaw) ++- update doc: "config" code also gets invoked on startup for itk widgets ++- update doc: add to FAQ: class with common array interacts with Tk widget ++ ++itcl "to do" list ++------------------------------------------------------------------ ++ ++- write "auto_load_all" proc for Tcl-DP ++ ++- bad errorInfo: ++ > More specifically, the constructor for the class did the following: ++ > ++ > set hull [info namespace tail $this] ++ > ::frame $hull ++ > ++ > One of the class variables had a configuration script: ++ > ++ > public variable textvariable "" { ++ > if { $textvariable != "" } { ++ > regsub "\\(.*\\)" $textvariable "" global ++ > global ::$global ++ > trace variable $textvariable w "$hull adjust" ++ > } ++ > } ++ ++- add "@body" in as many places as possible to support Tcl compiler ++ ++- check out itcl with Tix: ++ lappend auto_path $env(TIX_LIBRARY) ++ source "$env(IWIDGETS_LIBRARY)/init.iwidgets" ++ ++ iwidgets::Dialog ._Arcattributes -title "Code: Arc Annotations" ++ -modality application ++ ++ set attrframe [._Arcattributes childsite] ++ ++ tixScrolledHList $attrframe.ports ++ [$attrframe.ports subwidget hlist] configure -selectmode browse ++ ++ pack $attrframe.ports -expand yes -fill both -padx 10 -pady 10 ++ ++ ._Arcattributes activate +diff -Naur insight-6.8.orig/itcl/itcl/unix/tclAppInit.c insight-6.8.new/itcl/itcl/unix/tclAppInit.c +--- insight-6.8.orig/itcl/itcl/unix/tclAppInit.c 2003-01-21 21:40:28.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/unix/tclAppInit.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,157 +0,0 @@ +-/* +- * tclAppInit.c -- +- * +- * Provides a default version of the main program and Tcl_AppInit +- * procedure for Tcl applications (without Tk). +- * +- * Copyright (c) 1993 The Regents of the University of California. +- * Copyright (c) 1994-1997 Sun Microsystems, Inc. +- * +- * See the file "license.terms" for information on usage and redistribution +- * of this file, and for a DISCLAIMER OF ALL WARRANTIES. +- * +- * SCCS: @(#) tclAppInit.c 1.20 97/03/24 14:29:43 +- */ +- +-#ifdef TCL_XT_TEST +-#include +-#endif +- +-/* include tclInt.h for access to namespace API */ +-#include "tclInt.h" +- +-#include "itcl.h" +- +-/* +- * The following variable is a special hack that is needed in order for +- * Sun shared libraries to be used for Tcl. +- */ +- +-extern int matherr(); +-int *tclDummyMathPtr = (int *) matherr; +- +- +-#ifdef TCL_TEST +-EXTERN int TclObjTest_Init _ANSI_ARGS_((Tcl_Interp *interp)); +-EXTERN int Tcltest_Init _ANSI_ARGS_((Tcl_Interp *interp)); +-#endif /* TCL_TEST */ +-#ifdef TCL_XT_TEST +-EXTERN int Tclxttest_Init _ANSI_ARGS_((Tcl_Interp *interp)); +-#endif +- +-/* +- *---------------------------------------------------------------------- +- * +- * main -- +- * +- * This is the main program for the application. +- * +- * Results: +- * None: Tcl_Main never returns here, so this procedure never +- * returns either. +- * +- * Side effects: +- * Whatever the application does. +- * +- *---------------------------------------------------------------------- +- */ +- +-int +-main(argc, argv) +- int argc; /* Number of command-line arguments. */ +- char **argv; /* Values of command-line arguments. */ +-{ +-#ifdef TCL_XT_TEST +- XtToolkitInitialize(); +-#endif +- Tcl_Main(argc, argv, Tcl_AppInit); +- return 0; /* Needed only to prevent compiler warning. */ +-} +- +-/* +- *---------------------------------------------------------------------- +- * +- * Tcl_AppInit -- +- * +- * This procedure performs application-specific initialization. +- * Most applications, especially those that incorporate additional +- * packages, will have their own version of this procedure. +- * +- * Results: +- * Returns a standard Tcl completion code, and leaves an error +- * message in interp->result if an error occurs. +- * +- * Side effects: +- * Depends on the startup script. +- * +- *---------------------------------------------------------------------- +- */ +- +-int +-Tcl_AppInit(interp) +- Tcl_Interp *interp; /* Interpreter for application. */ +-{ +- if (Tcl_Init(interp) == TCL_ERROR) { +- return TCL_ERROR; +- } +- +-#ifdef TCL_TEST +-#ifdef TCL_XT_TEST +- if (Tclxttest_Init(interp) == TCL_ERROR) { +- return TCL_ERROR; +- } +-#endif +- if (Tcltest_Init(interp) == TCL_ERROR) { +- return TCL_ERROR; +- } +- Tcl_StaticPackage(interp, "Tcltest", Tcltest_Init, +- (Tcl_PackageInitProc *) NULL); +- if (TclObjTest_Init(interp) == TCL_ERROR) { +- return TCL_ERROR; +- } +-#endif /* TCL_TEST */ +- +- /* +- * Call the init procedures for included packages. Each call should +- * look like this: +- * +- * if (Mod_Init(interp) == TCL_ERROR) { +- * return TCL_ERROR; +- * } +- * +- * where "Mod" is the name of the module. +- */ +- if (Itcl_Init(interp) == TCL_ERROR) { +- return TCL_ERROR; +- } +- Tcl_StaticPackage(interp, "Itcl", Itcl_Init, Itcl_SafeInit); +- +- /* +- * This is itclsh, so import all [incr Tcl] commands by +- * default into the global namespace. Fix up the autoloader +- * to do the same. +- */ +- if (Tcl_Import(interp, Tcl_GetGlobalNamespace(interp), +- "::itcl::*", /* allowOverwrite */ 1) != TCL_OK) { +- return TCL_ERROR; +- } +- +- if (Tcl_Eval(interp, "auto_mkindex_parser::slavehook { _%@namespace import -force ::itcl::* }") != TCL_OK) { +- return TCL_ERROR; +- } +- +- /* +- * Call Tcl_CreateCommand for application-specific commands, if +- * they weren't already created by the init procedures called above. +- */ +- +- /* +- * Specify a user-specific startup file to invoke if the application +- * is run interactively. Typically the startup file is "~/.apprc" +- * where "app" is the name of the application. If this line is deleted +- * then no user-specific startup file will be run under any conditions. +- */ +- +- Tcl_SetVar(interp, "tcl_rcFileName", "~/.itclshrc", TCL_GLOBAL_ONLY); +- return TCL_OK; +-} +diff -Naur insight-6.8.orig/itcl/itcl/win/configure insight-6.8.new/itcl/itcl/win/configure +--- insight-6.8.orig/itcl/itcl/win/configure 2006-07-13 17:41:58.000000000 +0200 ++++ insight-6.8.new/itcl/itcl/win/configure 1970-01-01 01:00:00.000000000 +0100 +@@ -1,6437 +0,0 @@ +-#! /bin/sh +-# Guess values for system-dependent variables and create Makefiles. +-# Generated by GNU Autoconf 2.59. +-# +-# Copyright (C) 2003 Free Software Foundation, Inc. +-# This configure script is free software; the Free Software Foundation +-# gives unlimited permission to copy, distribute and modify it. +-## --------------------- ## +-## M4sh Initialization. ## +-## --------------------- ## +- +-# Be Bourne compatible +-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +- emulate sh +- NULLCMD=: +- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which +- # is contrary to our usage. Disable this feature. +- alias -g '${1+"$@"}'='"$@"' +-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then +- set -o posix +-fi +-DUALCASE=1; export DUALCASE # for MKS sh +- +-# Support unset when possible. +-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then +- as_unset=unset +-else +- as_unset=false +-fi +- +- +-# Work around bugs in pre-3.0 UWIN ksh. +-$as_unset ENV MAIL MAILPATH +-PS1='$ ' +-PS2='> ' +-PS4='+ ' +- +-# NLS nuisances. +-for as_var in \ +- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ +- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ +- LC_TELEPHONE LC_TIME +-do +- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then +- eval $as_var=C; export $as_var +- else +- $as_unset $as_var +- fi +-done +- +-# Required to use basename. +-if expr a : '\(a\)' >/dev/null 2>&1; then +- as_expr=expr +-else +- as_expr=false +-fi +- +-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then +- as_basename=basename +-else +- as_basename=false +-fi +- +- +-# Name of the executable. +-as_me=`$as_basename "$0" || +-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ +- X"$0" : 'X\(//\)$' \| \ +- X"$0" : 'X\(/\)$' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X/"$0" | +- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } +- /^X\/\(\/\/\)$/{ s//\1/; q; } +- /^X\/\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- +- +-# PATH needs CR, and LINENO needs CR and PATH. +-# Avoid depending upon Character Ranges. +-as_cr_letters='abcdefghijklmnopqrstuvwxyz' +-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +-as_cr_Letters=$as_cr_letters$as_cr_LETTERS +-as_cr_digits='0123456789' +-as_cr_alnum=$as_cr_Letters$as_cr_digits +- +-# The user is always right. +-if test "${PATH_SEPARATOR+set}" != set; then +- echo "#! /bin/sh" >conf$$.sh +- echo "exit 0" >>conf$$.sh +- chmod +x conf$$.sh +- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then +- PATH_SEPARATOR=';' +- else +- PATH_SEPARATOR=: +- fi +- rm -f conf$$.sh +-fi +- +- +- as_lineno_1=$LINENO +- as_lineno_2=$LINENO +- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` +- test "x$as_lineno_1" != "x$as_lineno_2" && +- test "x$as_lineno_3" = "x$as_lineno_2" || { +- # Find who we are. Look in the path if we contain no path at all +- # relative or not. +- case $0 in +- *[\\/]* ) as_myself=$0 ;; +- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +-done +- +- ;; +- esac +- # We did not find ourselves, most probably we were run as `sh COMMAND' +- # in which case we are not to be found in the path. +- if test "x$as_myself" = x; then +- as_myself=$0 +- fi +- if test ! -f "$as_myself"; then +- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 +- { (exit 1); exit 1; }; } +- fi +- case $CONFIG_SHELL in +- '') +- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for as_base in sh bash ksh sh5; do +- case $as_dir in +- /*) +- if ("$as_dir/$as_base" -c ' +- as_lineno_1=$LINENO +- as_lineno_2=$LINENO +- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` +- test "x$as_lineno_1" != "x$as_lineno_2" && +- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then +- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } +- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } +- CONFIG_SHELL=$as_dir/$as_base +- export CONFIG_SHELL +- exec "$CONFIG_SHELL" "$0" ${1+"$@"} +- fi;; +- esac +- done +-done +-;; +- esac +- +- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO +- # uniformly replaced by the line number. The first 'sed' inserts a +- # line-number line before each line; the second 'sed' does the real +- # work. The second script uses 'N' to pair each line-number line +- # with the numbered line, and appends trailing '-' during +- # substitution so that $LINENO is not a special case at line end. +- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the +- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) +- sed '=' <$as_myself | +- sed ' +- N +- s,$,-, +- : loop +- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, +- t loop +- s,-$,, +- s,^['$as_cr_digits']*\n,, +- ' >$as_me.lineno && +- chmod +x $as_me.lineno || +- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 +- { (exit 1); exit 1; }; } +- +- # Don't try to exec as it changes $[0], causing all sort of problems +- # (the dirname of $[0] is not the place where we might find the +- # original and so on. Autoconf is especially sensible to this). +- . ./$as_me.lineno +- # Exit status is that of the last command. +- exit +-} +- +- +-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in +- *c*,-n*) ECHO_N= ECHO_C=' +-' ECHO_T=' ' ;; +- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; +- *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +-esac +- +-if expr a : '\(a\)' >/dev/null 2>&1; then +- as_expr=expr +-else +- as_expr=false +-fi +- +-rm -f conf$$ conf$$.exe conf$$.file +-echo >conf$$.file +-if ln -s conf$$.file conf$$ 2>/dev/null; then +- # We could just check for DJGPP; but this test a) works b) is more generic +- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). +- if test -f conf$$.exe; then +- # Don't use ln at all; we don't have any links +- as_ln_s='cp -p' +- else +- as_ln_s='ln -s' +- fi +-elif ln conf$$.file conf$$ 2>/dev/null; then +- as_ln_s=ln +-else +- as_ln_s='cp -p' +-fi +-rm -f conf$$ conf$$.exe conf$$.file +- +-if mkdir -p . 2>/dev/null; then +- as_mkdir_p=: +-else +- test -d ./-p && rmdir ./-p +- as_mkdir_p=false +-fi +- +-as_executable_p="test -f" +- +-# Sed expression to map a string onto a valid CPP name. +-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +- +-# Sed expression to map a string onto a valid variable name. +-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +- +- +-# IFS +-# We need space, tab and new line, in precisely that order. +-as_nl=' +-' +-IFS=" $as_nl" +- +-# CDPATH. +-$as_unset CDPATH +- +- +-# Name of the host. +-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +-# so uname gets run too. +-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` +- +-exec 6>&1 +- +-# +-# Initializations. +-# +-ac_default_prefix=/usr/local +-ac_config_libobj_dir=. +-cross_compiling=no +-subdirs= +-MFLAGS= +-MAKEFLAGS= +-SHELL=${CONFIG_SHELL-/bin/sh} +- +-# Maximum number of lines to put in a shell here document. +-# This variable seems obsolete. It should probably be removed, and +-# only ac_max_sed_lines should be used. +-: ${ac_max_here_lines=38} +- +-# Identity of this package. +-PACKAGE_NAME= +-PACKAGE_TARNAME= +-PACKAGE_VERSION= +-PACKAGE_STRING= +-PACKAGE_BUGREPORT= +- +-ac_unique_file="../generic/itcl.h" +-ac_default_prefix=/usr/local +-# Factoring default headers for most tests. +-ac_includes_default="\ +-#include +-#if HAVE_SYS_TYPES_H +-# include +-#endif +-#if HAVE_SYS_STAT_H +-# include +-#endif +-#if STDC_HEADERS +-# include +-# include +-#else +-# if HAVE_STDLIB_H +-# include +-# endif +-#endif +-#if HAVE_STRING_H +-# if !STDC_HEADERS && HAVE_MEMORY_H +-# include +-# endif +-# include +-#endif +-#if HAVE_STRINGS_H +-# include +-#endif +-#if HAVE_INTTYPES_H +-# include +-#else +-# if HAVE_STDINT_H +-# include +-# endif +-#endif +-#if HAVE_UNISTD_H +-# include +-#endif" +- +-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os RANLIB ac_ct_RANLIB CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NM AS LD DLLTOOL WINDRES INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA DLL_LDFLAGS DLL_LDLIBS ac_prefix_program CPP EGREP DL_LIBS LD_FLAGS MATH_LIBS MAKE_LIB SHLIB_CFLAGS SHLIB_LD SHLIB_LD_LIBS SHLIB_SUFFIX SHLIB_VERSION TCL_BIN_DIR TCL_BUILD_LIB_SPEC TCL_SRC_DIR TCL_VERSION TCL_LIB_FILE TCL_LIB_FULL_PATH ITCL_BUILD_LIB_SPEC ITCL_LD_SEARCH_FLAGS ITCL_LIB_FILE ITCL_LIB_FULL_PATH ITCL_LIB_SPEC ITCL_MAJOR_VERSION ITCL_MINOR_VERSION ITCL_PKG_FILE ITCL_SHLIB_CFLAGS ITCL_SRC_DIR ITCL_VERSION CYGITCLLIB CYGITCLDLL CYGITCLSH CYGITCLDEF CYGITCLTEST CYGIMPORTLIB CYGITCLRES CYGITCLSHRES SNITCLLIB SNITCLDLL SNITCLSH SNITCLDEF SNITCLTEST SNIMPORTLIB SNITCLRES SNITCLSHRES ITCLLIB ITCLDLL ITCLSH ITCLDEF ITCLTEST ITCLIMPORTLIB ITCLRES ITCL_SH BASELIBS WINLIBS LIBCDLL LIBOBJS LTLIBOBJS' +-ac_subst_files='' +- +-# Initialize some variables set by options. +-ac_init_help= +-ac_init_version=false +-# The variables have the same names as the options, with +-# dashes changed to underlines. +-cache_file=/dev/null +-exec_prefix=NONE +-no_create= +-no_recursion= +-prefix=NONE +-program_prefix=NONE +-program_suffix=NONE +-program_transform_name=s,x,x, +-silent= +-site= +-srcdir= +-verbose= +-x_includes=NONE +-x_libraries=NONE +- +-# Installation directory options. +-# These are left unexpanded so users can "make install exec_prefix=/foo" +-# and all the variables that are supposed to be based on exec_prefix +-# by default will actually change. +-# Use braces instead of parens because sh, perl, etc. also accept them. +-bindir='${exec_prefix}/bin' +-sbindir='${exec_prefix}/sbin' +-libexecdir='${exec_prefix}/libexec' +-datadir='${prefix}/share' +-sysconfdir='${prefix}/etc' +-sharedstatedir='${prefix}/com' +-localstatedir='${prefix}/var' +-libdir='${exec_prefix}/lib' +-includedir='${prefix}/include' +-oldincludedir='/usr/include' +-infodir='${prefix}/info' +-mandir='${prefix}/man' +- +-ac_prev= +-for ac_option +-do +- # If the previous option needs an argument, assign it. +- if test -n "$ac_prev"; then +- eval "$ac_prev=\$ac_option" +- ac_prev= +- continue +- fi +- +- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` +- +- # Accept the important Cygnus configure options, so we can diagnose typos. +- +- case $ac_option in +- +- -bindir | --bindir | --bindi | --bind | --bin | --bi) +- ac_prev=bindir ;; +- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) +- bindir=$ac_optarg ;; +- +- -build | --build | --buil | --bui | --bu) +- ac_prev=build_alias ;; +- -build=* | --build=* | --buil=* | --bui=* | --bu=*) +- build_alias=$ac_optarg ;; +- +- -cache-file | --cache-file | --cache-fil | --cache-fi \ +- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) +- ac_prev=cache_file ;; +- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ +- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) +- cache_file=$ac_optarg ;; +- +- --config-cache | -C) +- cache_file=config.cache ;; +- +- -datadir | --datadir | --datadi | --datad | --data | --dat | --da) +- ac_prev=datadir ;; +- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ +- | --da=*) +- datadir=$ac_optarg ;; +- +- -disable-* | --disable-*) +- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` +- # Reject names that are not valid shell variable names. +- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && +- { echo "$as_me: error: invalid feature name: $ac_feature" >&2 +- { (exit 1); exit 1; }; } +- ac_feature=`echo $ac_feature | sed 's/-/_/g'` +- eval "enable_$ac_feature=no" ;; +- +- -enable-* | --enable-*) +- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` +- # Reject names that are not valid shell variable names. +- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && +- { echo "$as_me: error: invalid feature name: $ac_feature" >&2 +- { (exit 1); exit 1; }; } +- ac_feature=`echo $ac_feature | sed 's/-/_/g'` +- case $ac_option in +- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; +- *) ac_optarg=yes ;; +- esac +- eval "enable_$ac_feature='$ac_optarg'" ;; +- +- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ +- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ +- | --exec | --exe | --ex) +- ac_prev=exec_prefix ;; +- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ +- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ +- | --exec=* | --exe=* | --ex=*) +- exec_prefix=$ac_optarg ;; +- +- -gas | --gas | --ga | --g) +- # Obsolete; use --with-gas. +- with_gas=yes ;; +- +- -help | --help | --hel | --he | -h) +- ac_init_help=long ;; +- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) +- ac_init_help=recursive ;; +- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) +- ac_init_help=short ;; +- +- -host | --host | --hos | --ho) +- ac_prev=host_alias ;; +- -host=* | --host=* | --hos=* | --ho=*) +- host_alias=$ac_optarg ;; +- +- -includedir | --includedir | --includedi | --included | --include \ +- | --includ | --inclu | --incl | --inc) +- ac_prev=includedir ;; +- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ +- | --includ=* | --inclu=* | --incl=* | --inc=*) +- includedir=$ac_optarg ;; +- +- -infodir | --infodir | --infodi | --infod | --info | --inf) +- ac_prev=infodir ;; +- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) +- infodir=$ac_optarg ;; +- +- -libdir | --libdir | --libdi | --libd) +- ac_prev=libdir ;; +- -libdir=* | --libdir=* | --libdi=* | --libd=*) +- libdir=$ac_optarg ;; +- +- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ +- | --libexe | --libex | --libe) +- ac_prev=libexecdir ;; +- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ +- | --libexe=* | --libex=* | --libe=*) +- libexecdir=$ac_optarg ;; +- +- -localstatedir | --localstatedir | --localstatedi | --localstated \ +- | --localstate | --localstat | --localsta | --localst \ +- | --locals | --local | --loca | --loc | --lo) +- ac_prev=localstatedir ;; +- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ +- | --localstate=* | --localstat=* | --localsta=* | --localst=* \ +- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) +- localstatedir=$ac_optarg ;; +- +- -mandir | --mandir | --mandi | --mand | --man | --ma | --m) +- ac_prev=mandir ;; +- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) +- mandir=$ac_optarg ;; +- +- -nfp | --nfp | --nf) +- # Obsolete; use --without-fp. +- with_fp=no ;; +- +- -no-create | --no-create | --no-creat | --no-crea | --no-cre \ +- | --no-cr | --no-c | -n) +- no_create=yes ;; +- +- -no-recursion | --no-recursion | --no-recursio | --no-recursi \ +- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) +- no_recursion=yes ;; +- +- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ +- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ +- | --oldin | --oldi | --old | --ol | --o) +- ac_prev=oldincludedir ;; +- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ +- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ +- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) +- oldincludedir=$ac_optarg ;; +- +- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) +- ac_prev=prefix ;; +- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) +- prefix=$ac_optarg ;; +- +- -program-prefix | --program-prefix | --program-prefi | --program-pref \ +- | --program-pre | --program-pr | --program-p) +- ac_prev=program_prefix ;; +- -program-prefix=* | --program-prefix=* | --program-prefi=* \ +- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) +- program_prefix=$ac_optarg ;; +- +- -program-suffix | --program-suffix | --program-suffi | --program-suff \ +- | --program-suf | --program-su | --program-s) +- ac_prev=program_suffix ;; +- -program-suffix=* | --program-suffix=* | --program-suffi=* \ +- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) +- program_suffix=$ac_optarg ;; +- +- -program-transform-name | --program-transform-name \ +- | --program-transform-nam | --program-transform-na \ +- | --program-transform-n | --program-transform- \ +- | --program-transform | --program-transfor \ +- | --program-transfo | --program-transf \ +- | --program-trans | --program-tran \ +- | --progr-tra | --program-tr | --program-t) +- ac_prev=program_transform_name ;; +- -program-transform-name=* | --program-transform-name=* \ +- | --program-transform-nam=* | --program-transform-na=* \ +- | --program-transform-n=* | --program-transform-=* \ +- | --program-transform=* | --program-transfor=* \ +- | --program-transfo=* | --program-transf=* \ +- | --program-trans=* | --program-tran=* \ +- | --progr-tra=* | --program-tr=* | --program-t=*) +- program_transform_name=$ac_optarg ;; +- +- -q | -quiet | --quiet | --quie | --qui | --qu | --q \ +- | -silent | --silent | --silen | --sile | --sil) +- silent=yes ;; +- +- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) +- ac_prev=sbindir ;; +- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ +- | --sbi=* | --sb=*) +- sbindir=$ac_optarg ;; +- +- -sharedstatedir | --sharedstatedir | --sharedstatedi \ +- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ +- | --sharedst | --shareds | --shared | --share | --shar \ +- | --sha | --sh) +- ac_prev=sharedstatedir ;; +- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ +- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ +- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ +- | --sha=* | --sh=*) +- sharedstatedir=$ac_optarg ;; +- +- -site | --site | --sit) +- ac_prev=site ;; +- -site=* | --site=* | --sit=*) +- site=$ac_optarg ;; +- +- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) +- ac_prev=srcdir ;; +- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) +- srcdir=$ac_optarg ;; +- +- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ +- | --syscon | --sysco | --sysc | --sys | --sy) +- ac_prev=sysconfdir ;; +- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ +- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) +- sysconfdir=$ac_optarg ;; +- +- -target | --target | --targe | --targ | --tar | --ta | --t) +- ac_prev=target_alias ;; +- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) +- target_alias=$ac_optarg ;; +- +- -v | -verbose | --verbose | --verbos | --verbo | --verb) +- verbose=yes ;; +- +- -version | --version | --versio | --versi | --vers | -V) +- ac_init_version=: ;; +- +- -with-* | --with-*) +- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` +- # Reject names that are not valid shell variable names. +- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && +- { echo "$as_me: error: invalid package name: $ac_package" >&2 +- { (exit 1); exit 1; }; } +- ac_package=`echo $ac_package| sed 's/-/_/g'` +- case $ac_option in +- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; +- *) ac_optarg=yes ;; +- esac +- eval "with_$ac_package='$ac_optarg'" ;; +- +- -without-* | --without-*) +- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` +- # Reject names that are not valid shell variable names. +- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && +- { echo "$as_me: error: invalid package name: $ac_package" >&2 +- { (exit 1); exit 1; }; } +- ac_package=`echo $ac_package | sed 's/-/_/g'` +- eval "with_$ac_package=no" ;; +- +- --x) +- # Obsolete; use --with-x. +- with_x=yes ;; +- +- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ +- | --x-incl | --x-inc | --x-in | --x-i) +- ac_prev=x_includes ;; +- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ +- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) +- x_includes=$ac_optarg ;; +- +- -x-libraries | --x-libraries | --x-librarie | --x-librari \ +- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) +- ac_prev=x_libraries ;; +- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ +- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) +- x_libraries=$ac_optarg ;; +- +- -*) { echo "$as_me: error: unrecognized option: $ac_option +-Try \`$0 --help' for more information." >&2 +- { (exit 1); exit 1; }; } +- ;; +- +- *=*) +- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` +- # Reject names that are not valid shell variable names. +- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && +- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 +- { (exit 1); exit 1; }; } +- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` +- eval "$ac_envvar='$ac_optarg'" +- export $ac_envvar ;; +- +- *) +- # FIXME: should be removed in autoconf 3.0. +- echo "$as_me: WARNING: you should use --build, --host, --target" >&2 +- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && +- echo "$as_me: WARNING: invalid host type: $ac_option" >&2 +- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} +- ;; +- +- esac +-done +- +-if test -n "$ac_prev"; then +- ac_option=--`echo $ac_prev | sed 's/_/-/g'` +- { echo "$as_me: error: missing argument to $ac_option" >&2 +- { (exit 1); exit 1; }; } +-fi +- +-# Be sure to have absolute paths. +-for ac_var in exec_prefix prefix +-do +- eval ac_val=$`echo $ac_var` +- case $ac_val in +- [\\/$]* | ?:[\\/]* | NONE | '' ) ;; +- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 +- { (exit 1); exit 1; }; };; +- esac +-done +- +-# Be sure to have absolute paths. +-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ +- localstatedir libdir includedir oldincludedir infodir mandir +-do +- eval ac_val=$`echo $ac_var` +- case $ac_val in +- [\\/$]* | ?:[\\/]* ) ;; +- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 +- { (exit 1); exit 1; }; };; +- esac +-done +- +-# There might be people who depend on the old broken behavior: `$host' +-# used to hold the argument of --host etc. +-# FIXME: To remove some day. +-build=$build_alias +-host=$host_alias +-target=$target_alias +- +-# FIXME: To remove some day. +-if test "x$host_alias" != x; then +- if test "x$build_alias" = x; then +- cross_compiling=maybe +- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. +- If a cross compiler is detected then cross compile mode will be used." >&2 +- elif test "x$build_alias" != "x$host_alias"; then +- cross_compiling=yes +- fi +-fi +- +-ac_tool_prefix= +-test -n "$host_alias" && ac_tool_prefix=$host_alias- +- +-test "$silent" = yes && exec 6>/dev/null +- +- +-# Find the source files, if location was not specified. +-if test -z "$srcdir"; then +- ac_srcdir_defaulted=yes +- # Try the directory containing this script, then its parent. +- ac_confdir=`(dirname "$0") 2>/dev/null || +-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$0" : 'X\(//\)[^/]' \| \ +- X"$0" : 'X\(//\)$' \| \ +- X"$0" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X"$0" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- srcdir=$ac_confdir +- if test ! -r $srcdir/$ac_unique_file; then +- srcdir=.. +- fi +-else +- ac_srcdir_defaulted=no +-fi +-if test ! -r $srcdir/$ac_unique_file; then +- if test "$ac_srcdir_defaulted" = yes; then +- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 +- { (exit 1); exit 1; }; } +- else +- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 +- { (exit 1); exit 1; }; } +- fi +-fi +-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || +- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 +- { (exit 1); exit 1; }; } +-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` +-ac_env_build_alias_set=${build_alias+set} +-ac_env_build_alias_value=$build_alias +-ac_cv_env_build_alias_set=${build_alias+set} +-ac_cv_env_build_alias_value=$build_alias +-ac_env_host_alias_set=${host_alias+set} +-ac_env_host_alias_value=$host_alias +-ac_cv_env_host_alias_set=${host_alias+set} +-ac_cv_env_host_alias_value=$host_alias +-ac_env_target_alias_set=${target_alias+set} +-ac_env_target_alias_value=$target_alias +-ac_cv_env_target_alias_set=${target_alias+set} +-ac_cv_env_target_alias_value=$target_alias +-ac_env_CC_set=${CC+set} +-ac_env_CC_value=$CC +-ac_cv_env_CC_set=${CC+set} +-ac_cv_env_CC_value=$CC +-ac_env_CFLAGS_set=${CFLAGS+set} +-ac_env_CFLAGS_value=$CFLAGS +-ac_cv_env_CFLAGS_set=${CFLAGS+set} +-ac_cv_env_CFLAGS_value=$CFLAGS +-ac_env_LDFLAGS_set=${LDFLAGS+set} +-ac_env_LDFLAGS_value=$LDFLAGS +-ac_cv_env_LDFLAGS_set=${LDFLAGS+set} +-ac_cv_env_LDFLAGS_value=$LDFLAGS +-ac_env_CPPFLAGS_set=${CPPFLAGS+set} +-ac_env_CPPFLAGS_value=$CPPFLAGS +-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} +-ac_cv_env_CPPFLAGS_value=$CPPFLAGS +-ac_env_CPP_set=${CPP+set} +-ac_env_CPP_value=$CPP +-ac_cv_env_CPP_set=${CPP+set} +-ac_cv_env_CPP_value=$CPP +- +-# +-# Report the --help message. +-# +-if test "$ac_init_help" = "long"; then +- # Omit some internal or obsolete options to make the list less imposing. +- # This message is too long to be a string in the A/UX 3.1 sh. +- cat <<_ACEOF +-\`configure' configures this package to adapt to many kinds of systems. +- +-Usage: $0 [OPTION]... [VAR=VALUE]... +- +-To assign environment variables (e.g., CC, CFLAGS...), specify them as +-VAR=VALUE. See below for descriptions of some of the useful variables. +- +-Defaults for the options are specified in brackets. +- +-Configuration: +- -h, --help display this help and exit +- --help=short display options specific to this package +- --help=recursive display the short help of all the included packages +- -V, --version display version information and exit +- -q, --quiet, --silent do not print \`checking...' messages +- --cache-file=FILE cache test results in FILE [disabled] +- -C, --config-cache alias for \`--cache-file=config.cache' +- -n, --no-create do not create output files +- --srcdir=DIR find the sources in DIR [configure dir or \`..'] +- +-_ACEOF +- +- cat <<_ACEOF +-Installation directories: +- --prefix=PREFIX install architecture-independent files in PREFIX +- [$ac_default_prefix] +- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX +- [PREFIX] +- +-By default, \`make install' will install all the files in +-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +-an installation prefix other than \`$ac_default_prefix' using \`--prefix', +-for instance \`--prefix=\$HOME'. +- +-For better control, use the options below. +- +-Fine tuning of the installation directories: +- --bindir=DIR user executables [EPREFIX/bin] +- --sbindir=DIR system admin executables [EPREFIX/sbin] +- --libexecdir=DIR program executables [EPREFIX/libexec] +- --datadir=DIR read-only architecture-independent data [PREFIX/share] +- --sysconfdir=DIR read-only single-machine data [PREFIX/etc] +- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] +- --localstatedir=DIR modifiable single-machine data [PREFIX/var] +- --libdir=DIR object code libraries [EPREFIX/lib] +- --includedir=DIR C header files [PREFIX/include] +- --oldincludedir=DIR C header files for non-gcc [/usr/include] +- --infodir=DIR info documentation [PREFIX/info] +- --mandir=DIR man documentation [PREFIX/man] +-_ACEOF +- +- cat <<\_ACEOF +- +-System types: +- --build=BUILD configure for building on BUILD [guessed] +- --host=HOST cross-compile to build programs to run on HOST [BUILD] +-_ACEOF +-fi +- +-if test -n "$ac_init_help"; then +- +- cat <<\_ACEOF +- +-Optional Features: +- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) +- --enable-FEATURE[=ARG] include FEATURE [ARG=yes] +- --enable-gcc allow use of gcc if available +- --enable-shared build libitcl as a shared library +- +-Optional Packages: +- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] +- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) +- --with-tcl=DIR use Tcl 8.0 binaries from DIR +- --with-cflags=FLAGS set compiler flags to FLAGS +- +-Some influential environment variables: +- CC C compiler command +- CFLAGS C compiler flags +- LDFLAGS linker flags, e.g. -L if you have libraries in a +- nonstandard directory +- CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have +- headers in a nonstandard directory +- CPP C preprocessor +- +-Use these variables to override the choices made by `configure' or to help +-it to find libraries and programs with nonstandard names/locations. +- +-_ACEOF +-fi +- +-if test "$ac_init_help" = "recursive"; then +- # If there are subdirs, report their specific --help. +- ac_popdir=`pwd` +- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue +- test -d $ac_dir || continue +- ac_builddir=. +- +-if test "$ac_dir" != .; then +- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` +- # A "../" for each directory in $ac_dir_suffix. +- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +-else +- ac_dir_suffix= ac_top_builddir= +-fi +- +-case $srcdir in +- .) # No --srcdir option. We are building in place. +- ac_srcdir=. +- if test -z "$ac_top_builddir"; then +- ac_top_srcdir=. +- else +- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` +- fi ;; +- [\\/]* | ?:[\\/]* ) # Absolute path. +- ac_srcdir=$srcdir$ac_dir_suffix; +- ac_top_srcdir=$srcdir ;; +- *) # Relative path. +- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix +- ac_top_srcdir=$ac_top_builddir$srcdir ;; +-esac +- +-# Do not use `cd foo && pwd` to compute absolute paths, because +-# the directories may not exist. +-case `pwd` in +-.) ac_abs_builddir="$ac_dir";; +-*) +- case "$ac_dir" in +- .) ac_abs_builddir=`pwd`;; +- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; +- *) ac_abs_builddir=`pwd`/"$ac_dir";; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_builddir=${ac_top_builddir}.;; +-*) +- case ${ac_top_builddir}. in +- .) ac_abs_top_builddir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; +- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_srcdir=$ac_srcdir;; +-*) +- case $ac_srcdir in +- .) ac_abs_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; +- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_srcdir=$ac_top_srcdir;; +-*) +- case $ac_top_srcdir in +- .) ac_abs_top_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; +- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; +- esac;; +-esac +- +- cd $ac_dir +- # Check for guested configure; otherwise get Cygnus style configure. +- if test -f $ac_srcdir/configure.gnu; then +- echo +- $SHELL $ac_srcdir/configure.gnu --help=recursive +- elif test -f $ac_srcdir/configure; then +- echo +- $SHELL $ac_srcdir/configure --help=recursive +- elif test -f $ac_srcdir/configure.ac || +- test -f $ac_srcdir/configure.in; then +- echo +- $ac_configure --help +- else +- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 +- fi +- cd $ac_popdir +- done +-fi +- +-test -n "$ac_init_help" && exit 0 +-if $ac_init_version; then +- cat <<\_ACEOF +- +-Copyright (C) 2003 Free Software Foundation, Inc. +-This configure script is free software; the Free Software Foundation +-gives unlimited permission to copy, distribute and modify it. +-_ACEOF +- exit 0 +-fi +-exec 5>config.log +-cat >&5 <<_ACEOF +-This file contains any messages produced by compilers while +-running configure, to aid debugging if configure makes a mistake. +- +-It was created by $as_me, which was +-generated by GNU Autoconf 2.59. Invocation command line was +- +- $ $0 $@ +- +-_ACEOF +-{ +-cat <<_ASUNAME +-## --------- ## +-## Platform. ## +-## --------- ## +- +-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +-uname -m = `(uname -m) 2>/dev/null || echo unknown` +-uname -r = `(uname -r) 2>/dev/null || echo unknown` +-uname -s = `(uname -s) 2>/dev/null || echo unknown` +-uname -v = `(uname -v) 2>/dev/null || echo unknown` +- +-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` +- +-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +-hostinfo = `(hostinfo) 2>/dev/null || echo unknown` +-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` +- +-_ASUNAME +- +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- echo "PATH: $as_dir" +-done +- +-} >&5 +- +-cat >&5 <<_ACEOF +- +- +-## ----------- ## +-## Core tests. ## +-## ----------- ## +- +-_ACEOF +- +- +-# Keep a trace of the command line. +-# Strip out --no-create and --no-recursion so they do not pile up. +-# Strip out --silent because we don't want to record it for future runs. +-# Also quote any args containing shell meta-characters. +-# Make two passes to allow for proper duplicate-argument suppression. +-ac_configure_args= +-ac_configure_args0= +-ac_configure_args1= +-ac_sep= +-ac_must_keep_next=false +-for ac_pass in 1 2 +-do +- for ac_arg +- do +- case $ac_arg in +- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; +- -q | -quiet | --quiet | --quie | --qui | --qu | --q \ +- | -silent | --silent | --silen | --sile | --sil) +- continue ;; +- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) +- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; +- esac +- case $ac_pass in +- 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; +- 2) +- ac_configure_args1="$ac_configure_args1 '$ac_arg'" +- if test $ac_must_keep_next = true; then +- ac_must_keep_next=false # Got value, back to normal. +- else +- case $ac_arg in +- *=* | --config-cache | -C | -disable-* | --disable-* \ +- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ +- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ +- | -with-* | --with-* | -without-* | --without-* | --x) +- case "$ac_configure_args0 " in +- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; +- esac +- ;; +- -* ) ac_must_keep_next=true ;; +- esac +- fi +- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" +- # Get rid of the leading space. +- ac_sep=" " +- ;; +- esac +- done +-done +-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } +- +-# When interrupted or exit'd, cleanup temporary files, and complete +-# config.log. We remove comments because anyway the quotes in there +-# would cause problems or look ugly. +-# WARNING: Be sure not to use single quotes in there, as some shells, +-# such as our DU 5.0 friend, will then `close' the trap. +-trap 'exit_status=$? +- # Save into config.log some information that might help in debugging. +- { +- echo +- +- cat <<\_ASBOX +-## ---------------- ## +-## Cache variables. ## +-## ---------------- ## +-_ASBOX +- echo +- # The following way of writing the cache mishandles newlines in values, +-{ +- (set) 2>&1 | +- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in +- *ac_space=\ *) +- sed -n \ +- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; +- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" +- ;; +- *) +- sed -n \ +- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" +- ;; +- esac; +-} +- echo +- +- cat <<\_ASBOX +-## ----------------- ## +-## Output variables. ## +-## ----------------- ## +-_ASBOX +- echo +- for ac_var in $ac_subst_vars +- do +- eval ac_val=$`echo $ac_var` +- echo "$ac_var='"'"'$ac_val'"'"'" +- done | sort +- echo +- +- if test -n "$ac_subst_files"; then +- cat <<\_ASBOX +-## ------------- ## +-## Output files. ## +-## ------------- ## +-_ASBOX +- echo +- for ac_var in $ac_subst_files +- do +- eval ac_val=$`echo $ac_var` +- echo "$ac_var='"'"'$ac_val'"'"'" +- done | sort +- echo +- fi +- +- if test -s confdefs.h; then +- cat <<\_ASBOX +-## ----------- ## +-## confdefs.h. ## +-## ----------- ## +-_ASBOX +- echo +- sed "/^$/d" confdefs.h | sort +- echo +- fi +- test "$ac_signal" != 0 && +- echo "$as_me: caught signal $ac_signal" +- echo "$as_me: exit $exit_status" +- } >&5 +- rm -f core *.core && +- rm -rf conftest* confdefs* conf$$* $ac_clean_files && +- exit $exit_status +- ' 0 +-for ac_signal in 1 2 13 15; do +- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +-done +-ac_signal=0 +- +-# confdefs.h avoids OS command line length limits that DEFS can exceed. +-rm -rf conftest* confdefs.h +-# AIX cpp loses on an empty file, so make sure it contains at least a newline. +-echo >confdefs.h +- +-# Predefined preprocessor variables. +- +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_NAME "$PACKAGE_NAME" +-_ACEOF +- +- +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +-_ACEOF +- +- +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_VERSION "$PACKAGE_VERSION" +-_ACEOF +- +- +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_STRING "$PACKAGE_STRING" +-_ACEOF +- +- +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +-_ACEOF +- +- +-# Let the site file select an alternate cache file if it wants to. +-# Prefer explicitly selected file to automatically selected ones. +-if test -z "$CONFIG_SITE"; then +- if test "x$prefix" != xNONE; then +- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" +- else +- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +- fi +-fi +-for ac_site_file in $CONFIG_SITE; do +- if test -r "$ac_site_file"; then +- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +-echo "$as_me: loading site script $ac_site_file" >&6;} +- sed 's/^/| /' "$ac_site_file" >&5 +- . "$ac_site_file" +- fi +-done +- +-if test -r "$cache_file"; then +- # Some versions of bash will fail to source /dev/null (special +- # files actually), so we avoid doing that. +- if test -f "$cache_file"; then +- { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +-echo "$as_me: loading cache $cache_file" >&6;} +- case $cache_file in +- [\\/]* | ?:[\\/]* ) . $cache_file;; +- *) . ./$cache_file;; +- esac +- fi +-else +- { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +-echo "$as_me: creating cache $cache_file" >&6;} +- >$cache_file +-fi +- +-# Check that the precious variables saved in the cache have kept the same +-# value. +-ac_cache_corrupted=false +-for ac_var in `(set) 2>&1 | +- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do +- eval ac_old_set=\$ac_cv_env_${ac_var}_set +- eval ac_new_set=\$ac_env_${ac_var}_set +- eval ac_old_val="\$ac_cv_env_${ac_var}_value" +- eval ac_new_val="\$ac_env_${ac_var}_value" +- case $ac_old_set,$ac_new_set in +- set,) +- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} +- ac_cache_corrupted=: ;; +- ,set) +- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} +- ac_cache_corrupted=: ;; +- ,);; +- *) +- if test "x$ac_old_val" != "x$ac_new_val"; then +- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} +- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +-echo "$as_me: former value: $ac_old_val" >&2;} +- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +-echo "$as_me: current value: $ac_new_val" >&2;} +- ac_cache_corrupted=: +- fi;; +- esac +- # Pass precious variables to config.status. +- if test "$ac_new_set" = set; then +- case $ac_new_val in +- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) +- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; +- *) ac_arg=$ac_var=$ac_new_val ;; +- esac +- case " $ac_configure_args " in +- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. +- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; +- esac +- fi +-done +-if $ac_cache_corrupted; then +- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +-echo "$as_me: error: changes in the environment can compromise the build" >&2;} +- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} +- { (exit 1); exit 1; }; } +-fi +- +-ac_ext=c +-ac_cpp='$CPP $CPPFLAGS' +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +-ac_compiler_gnu=$ac_cv_c_compiler_gnu +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +-ac_aux_dir= +-for ac_dir in ../../../ $srcdir/../../../; do +- if test -f $ac_dir/install-sh; then +- ac_aux_dir=$ac_dir +- ac_install_sh="$ac_aux_dir/install-sh -c" +- break +- elif test -f $ac_dir/install.sh; then +- ac_aux_dir=$ac_dir +- ac_install_sh="$ac_aux_dir/install.sh -c" +- break +- elif test -f $ac_dir/shtool; then +- ac_aux_dir=$ac_dir +- ac_install_sh="$ac_aux_dir/shtool install -c" +- break +- fi +-done +-if test -z "$ac_aux_dir"; then +- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in ../../../ $srcdir/../../../" >&5 +-echo "$as_me: error: cannot find install-sh or install.sh in ../../../ $srcdir/../../../" >&2;} +- { (exit 1); exit 1; }; } +-fi +-ac_config_guess="$SHELL $ac_aux_dir/config.guess" +-ac_config_sub="$SHELL $ac_aux_dir/config.sub" +-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. +- +-# Make sure we can run config.sub. +-$ac_config_sub sun4 >/dev/null 2>&1 || +- { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 +-echo "$as_me: error: cannot run $ac_config_sub" >&2;} +- { (exit 1); exit 1; }; } +- +-echo "$as_me:$LINENO: checking build system type" >&5 +-echo $ECHO_N "checking build system type... $ECHO_C" >&6 +-if test "${ac_cv_build+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- ac_cv_build_alias=$build_alias +-test -z "$ac_cv_build_alias" && +- ac_cv_build_alias=`$ac_config_guess` +-test -z "$ac_cv_build_alias" && +- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +-echo "$as_me: error: cannot guess build type; you must specify one" >&2;} +- { (exit 1); exit 1; }; } +-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || +- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 +-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} +- { (exit 1); exit 1; }; } +- +-fi +-echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +-echo "${ECHO_T}$ac_cv_build" >&6 +-build=$ac_cv_build +-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +- +- +-echo "$as_me:$LINENO: checking host system type" >&5 +-echo $ECHO_N "checking host system type... $ECHO_C" >&6 +-if test "${ac_cv_host+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- ac_cv_host_alias=$host_alias +-test -z "$ac_cv_host_alias" && +- ac_cv_host_alias=$ac_cv_build_alias +-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || +- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 +-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} +- { (exit 1); exit 1; }; } +- +-fi +-echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +-echo "${ECHO_T}$ac_cv_host" >&6 +-host=$ac_cv_host +-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +- +- +- +-if test -n "$ac_tool_prefix"; then +- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +-set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_RANLIB+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$RANLIB"; then +- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-RANLIB=$ac_cv_prog_RANLIB +-if test -n "$RANLIB"; then +- echo "$as_me:$LINENO: result: $RANLIB" >&5 +-echo "${ECHO_T}$RANLIB" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +-fi +-if test -z "$ac_cv_prog_RANLIB"; then +- ac_ct_RANLIB=$RANLIB +- # Extract the first word of "ranlib", so it can be a program name with args. +-set dummy ranlib; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$ac_ct_RANLIB"; then +- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_ac_ct_RANLIB="ranlib" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" +-fi +-fi +-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +-if test -n "$ac_ct_RANLIB"; then +- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +-echo "${ECHO_T}$ac_ct_RANLIB" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +- RANLIB=$ac_ct_RANLIB +-else +- RANLIB="$ac_cv_prog_RANLIB" +-fi +- +- +-ac_ext=c +-ac_cpp='$CPP $CPPFLAGS' +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +-ac_compiler_gnu=$ac_cv_c_compiler_gnu +-if test -n "$ac_tool_prefix"; then +- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +-set dummy ${ac_tool_prefix}gcc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$CC"; then +- ac_cv_prog_CC="$CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_CC="${ac_tool_prefix}gcc" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-CC=$ac_cv_prog_CC +-if test -n "$CC"; then +- echo "$as_me:$LINENO: result: $CC" >&5 +-echo "${ECHO_T}$CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +-fi +-if test -z "$ac_cv_prog_CC"; then +- ac_ct_CC=$CC +- # Extract the first word of "gcc", so it can be a program name with args. +-set dummy gcc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$ac_ct_CC"; then +- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_ac_ct_CC="gcc" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-ac_ct_CC=$ac_cv_prog_ac_ct_CC +-if test -n "$ac_ct_CC"; then +- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +-echo "${ECHO_T}$ac_ct_CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +- CC=$ac_ct_CC +-else +- CC="$ac_cv_prog_CC" +-fi +- +-if test -z "$CC"; then +- if test -n "$ac_tool_prefix"; then +- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +-set dummy ${ac_tool_prefix}cc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$CC"; then +- ac_cv_prog_CC="$CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_CC="${ac_tool_prefix}cc" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-CC=$ac_cv_prog_CC +-if test -n "$CC"; then +- echo "$as_me:$LINENO: result: $CC" >&5 +-echo "${ECHO_T}$CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +-fi +-if test -z "$ac_cv_prog_CC"; then +- ac_ct_CC=$CC +- # Extract the first word of "cc", so it can be a program name with args. +-set dummy cc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$ac_ct_CC"; then +- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_ac_ct_CC="cc" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-ac_ct_CC=$ac_cv_prog_ac_ct_CC +-if test -n "$ac_ct_CC"; then +- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +-echo "${ECHO_T}$ac_ct_CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +- CC=$ac_ct_CC +-else +- CC="$ac_cv_prog_CC" +-fi +- +-fi +-if test -z "$CC"; then +- # Extract the first word of "cc", so it can be a program name with args. +-set dummy cc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$CC"; then +- ac_cv_prog_CC="$CC" # Let the user override the test. +-else +- ac_prog_rejected=no +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then +- ac_prog_rejected=yes +- continue +- fi +- ac_cv_prog_CC="cc" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-if test $ac_prog_rejected = yes; then +- # We found a bogon in the path, so make sure we never use it. +- set dummy $ac_cv_prog_CC +- shift +- if test $# != 0; then +- # We chose a different compiler from the bogus one. +- # However, it has the same basename, so the bogon will be chosen +- # first if we set CC to just the basename; use the full file name. +- shift +- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" +- fi +-fi +-fi +-fi +-CC=$ac_cv_prog_CC +-if test -n "$CC"; then +- echo "$as_me:$LINENO: result: $CC" >&5 +-echo "${ECHO_T}$CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +-fi +-if test -z "$CC"; then +- if test -n "$ac_tool_prefix"; then +- for ac_prog in cl +- do +- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +-set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$CC"; then +- ac_cv_prog_CC="$CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_CC="$ac_tool_prefix$ac_prog" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-CC=$ac_cv_prog_CC +-if test -n "$CC"; then +- echo "$as_me:$LINENO: result: $CC" >&5 +-echo "${ECHO_T}$CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +- test -n "$CC" && break +- done +-fi +-if test -z "$CC"; then +- ac_ct_CC=$CC +- for ac_prog in cl +-do +- # Extract the first word of "$ac_prog", so it can be a program name with args. +-set dummy $ac_prog; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$ac_ct_CC"; then +- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_ac_ct_CC="$ac_prog" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-ac_ct_CC=$ac_cv_prog_ac_ct_CC +-if test -n "$ac_ct_CC"; then +- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +-echo "${ECHO_T}$ac_ct_CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +- test -n "$ac_ct_CC" && break +-done +- +- CC=$ac_ct_CC +-fi +- +-fi +- +- +-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +-See \`config.log' for more details." >&5 +-echo "$as_me: error: no acceptable C compiler found in \$PATH +-See \`config.log' for more details." >&2;} +- { (exit 1); exit 1; }; } +- +-# Provide some information about the compiler. +-echo "$as_me:$LINENO:" \ +- "checking for C compiler version" >&5 +-ac_compiler=`set X $ac_compile; echo $2` +-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 +- (eval $ac_compiler --version &5) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } +-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 +- (eval $ac_compiler -v &5) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } +-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 +- (eval $ac_compiler -V &5) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } +- +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +- +- ; +- return 0; +-} +-_ACEOF +-ac_clean_files_save=$ac_clean_files +-ac_clean_files="$ac_clean_files a.out a.exe b.out" +-# Try to create an executable without -o first, disregard a.out. +-# It will help us diagnose broken compilers, and finding out an intuition +-# of exeext. +-echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 +-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 +- (eval $ac_link_default) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; then +- # Find the output, starting from the most likely. This scheme is +-# not robust to junk in `.', hence go to wildcards (a.*) only as a last +-# resort. +- +-# Be careful to initialize this variable, since it used to be cached. +-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. +-ac_cv_exeext= +-# b.out is created by i960 compilers. +-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out +-do +- test -f "$ac_file" || continue +- case $ac_file in +- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) +- ;; +- conftest.$ac_ext ) +- # This is the source file. +- ;; +- [ab].out ) +- # We found the default executable, but exeext='' is most +- # certainly right. +- break;; +- *.* ) +- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` +- # FIXME: I believe we export ac_cv_exeext for Libtool, +- # but it would be cool to find out if it's true. Does anybody +- # maintain Libtool? --akim. +- export ac_cv_exeext +- break;; +- * ) +- break;; +- esac +-done +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +-See \`config.log' for more details." >&5 +-echo "$as_me: error: C compiler cannot create executables +-See \`config.log' for more details." >&2;} +- { (exit 77); exit 77; }; } +-fi +- +-ac_exeext=$ac_cv_exeext +-echo "$as_me:$LINENO: result: $ac_file" >&5 +-echo "${ECHO_T}$ac_file" >&6 +- +-# Check the compiler produces executables we can run. If not, either +-# the compiler is broken, or we cross compile. +-echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 +-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +-# If not cross compiling, check that we can run a simple program. +-if test "$cross_compiling" != yes; then +- if { ac_try='./$ac_file' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- cross_compiling=no +- else +- if test "$cross_compiling" = maybe; then +- cross_compiling=yes +- else +- { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +-If you meant to cross compile, use \`--host'. +-See \`config.log' for more details." >&5 +-echo "$as_me: error: cannot run C compiled programs. +-If you meant to cross compile, use \`--host'. +-See \`config.log' for more details." >&2;} +- { (exit 1); exit 1; }; } +- fi +- fi +-fi +-echo "$as_me:$LINENO: result: yes" >&5 +-echo "${ECHO_T}yes" >&6 +- +-rm -f a.out a.exe conftest$ac_cv_exeext b.out +-ac_clean_files=$ac_clean_files_save +-# Check the compiler produces executables we can run. If not, either +-# the compiler is broken, or we cross compile. +-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 +-echo "$as_me:$LINENO: result: $cross_compiling" >&5 +-echo "${ECHO_T}$cross_compiling" >&6 +- +-echo "$as_me:$LINENO: checking for suffix of executables" >&5 +-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; then +- # If both `conftest.exe' and `conftest' are `present' (well, observable) +-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +-# work properly (i.e., refer to `conftest.exe'), while it won't with +-# `rm'. +-for ac_file in conftest.exe conftest conftest.*; do +- test -f "$ac_file" || continue +- case $ac_file in +- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; +- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` +- export ac_cv_exeext +- break;; +- * ) break;; +- esac +-done +-else +- { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +-See \`config.log' for more details." >&5 +-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +-See \`config.log' for more details." >&2;} +- { (exit 1); exit 1; }; } +-fi +- +-rm -f conftest$ac_cv_exeext +-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +-echo "${ECHO_T}$ac_cv_exeext" >&6 +- +-rm -f conftest.$ac_ext +-EXEEXT=$ac_cv_exeext +-ac_exeext=$EXEEXT +-echo "$as_me:$LINENO: checking for suffix of object files" >&5 +-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 +-if test "${ac_cv_objext+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +- +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.o conftest.obj +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; then +- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do +- case $ac_file in +- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; +- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` +- break;; +- esac +-done +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +-See \`config.log' for more details." >&5 +-echo "$as_me: error: cannot compute suffix of object files: cannot compile +-See \`config.log' for more details." >&2;} +- { (exit 1); exit 1; }; } +-fi +- +-rm -f conftest.$ac_cv_objext conftest.$ac_ext +-fi +-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +-echo "${ECHO_T}$ac_cv_objext" >&6 +-OBJEXT=$ac_cv_objext +-ac_objext=$OBJEXT +-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 +-if test "${ac_cv_c_compiler_gnu+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +-#ifndef __GNUC__ +- choke me +-#endif +- +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_compiler_gnu=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_compiler_gnu=no +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-ac_cv_c_compiler_gnu=$ac_compiler_gnu +- +-fi +-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 +-GCC=`test $ac_compiler_gnu = yes && echo yes` +-ac_test_CFLAGS=${CFLAGS+set} +-ac_save_CFLAGS=$CFLAGS +-CFLAGS="-g" +-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 +-if test "${ac_cv_prog_cc_g+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +- +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_prog_cc_g=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_cv_prog_cc_g=no +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-fi +-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +-if test "$ac_test_CFLAGS" = set; then +- CFLAGS=$ac_save_CFLAGS +-elif test $ac_cv_prog_cc_g = yes; then +- if test "$GCC" = yes; then +- CFLAGS="-g -O2" +- else +- CFLAGS="-g" +- fi +-else +- if test "$GCC" = yes; then +- CFLAGS="-O2" +- else +- CFLAGS= +- fi +-fi +-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 +-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 +-if test "${ac_cv_prog_cc_stdc+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- ac_cv_prog_cc_stdc=no +-ac_save_CC=$CC +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include +-#include +-#include +-#include +-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +-struct buf { int x; }; +-FILE * (*rcsopen) (struct buf *, struct stat *, int); +-static char *e (p, i) +- char **p; +- int i; +-{ +- return p[i]; +-} +-static char *f (char * (*g) (char **, int), char **p, ...) +-{ +- char *s; +- va_list v; +- va_start (v,p); +- s = g (p, va_arg (v,int)); +- va_end (v); +- return s; +-} +- +-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has +- function prototypes and stuff, but not '\xHH' hex character constants. +- These don't provoke an error unfortunately, instead are silently treated +- as 'x'. The following induces an error, until -std1 is added to get +- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an +- array size at least. It's necessary to write '\x00'==0 to get something +- that's true only with -std1. */ +-int osf4_cc_array ['\x00' == 0 ? 1 : -1]; +- +-int test (int i, double x); +-struct s1 {int (*f) (int a);}; +-struct s2 {int (*f) (double a);}; +-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +-int argc; +-char **argv; +-int +-main () +-{ +-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; +- ; +- return 0; +-} +-_ACEOF +-# Don't try gcc -ansi; that turns off useful extensions and +-# breaks some systems' header files. +-# AIX -qlanglvl=ansi +-# Ultrix and OSF/1 -std1 +-# HP-UX 10.20 and later -Ae +-# HP-UX older versions -Aa -D_HPUX_SOURCE +-# SVR4 -Xc -D__EXTENSIONS__ +-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +-do +- CC="$ac_save_CC $ac_arg" +- rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_prog_cc_stdc=$ac_arg +-break +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-fi +-rm -f conftest.err conftest.$ac_objext +-done +-rm -f conftest.$ac_ext conftest.$ac_objext +-CC=$ac_save_CC +- +-fi +- +-case "x$ac_cv_prog_cc_stdc" in +- x|xno) +- echo "$as_me:$LINENO: result: none needed" >&5 +-echo "${ECHO_T}none needed" >&6 ;; +- *) +- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 +- CC="$CC $ac_cv_prog_cc_stdc" ;; +-esac +- +-# Some people use a C++ compiler to compile C. Since we use `exit', +-# in C++ we need to declare it. In case someone uses the same compiler +-# for both compiling C and C++ we need to have the C++ compiler decide +-# the declaration of exit, since it's the most demanding environment. +-cat >conftest.$ac_ext <<_ACEOF +-#ifndef __cplusplus +- choke me +-#endif +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- for ac_declaration in \ +- '' \ +- 'extern "C" void std::exit (int) throw (); using std::exit;' \ +- 'extern "C" void std::exit (int); using std::exit;' \ +- 'extern "C" void exit (int) throw ();' \ +- 'extern "C" void exit (int);' \ +- 'void exit (int);' +-do +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-$ac_declaration +-#include +-int +-main () +-{ +-exit (42); +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- : +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-continue +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-$ac_declaration +-int +-main () +-{ +-exit (42); +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- break +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-done +-rm -f conftest* +-if test -n "$ac_declaration"; then +- echo '#ifdef __cplusplus' >>confdefs.h +- echo $ac_declaration >>confdefs.h +- echo '#endif' >>confdefs.h +-fi +- +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-ac_ext=c +-ac_cpp='$CPP $CPPFLAGS' +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +-ac_compiler_gnu=$ac_cv_c_compiler_gnu +- +- +-NM=${NM-nm} +- +-AS=${AS-as} +- +-LD=${LD-ld} +- +-DLLTOOL=${DLLTOOL-dlltool} +- +-WINDRES=${WINDRES-windres} +- +- +-# Find a good install program. We prefer a C program (faster), +-# so one script is as good as another. But avoid the broken or +-# incompatible versions: +-# SysV /etc/install, /usr/sbin/install +-# SunOS /usr/etc/install +-# IRIX /sbin/install +-# AIX /bin/install +-# AmigaOS /C/install, which installs bootblocks on floppy discs +-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +-# AFS /usr/afsws/bin/install, which mishandles nonexistent args +-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +-# OS/2's system install, which has a completely different semantic +-# ./install, which can be erroneously created by make from ./install.sh. +-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 +-if test -z "$INSTALL"; then +-if test "${ac_cv_path_install+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- # Account for people who put trailing slashes in PATH elements. +-case $as_dir/ in +- ./ | .// | /cC/* | \ +- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ +- ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ +- /usr/ucb/* ) ;; +- *) +- # OSF1 and SCO ODT 3.0 have their own names for install. +- # Don't use installbsd from OSF since it installs stuff as root +- # by default. +- for ac_prog in ginstall scoinst install; do +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then +- if test $ac_prog = install && +- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then +- # AIX install. It has an incompatible calling convention. +- : +- elif test $ac_prog = install && +- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then +- # program-specific install script used by HP pwplus--don't use. +- : +- else +- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" +- break 3 +- fi +- fi +- done +- done +- ;; +-esac +-done +- +- +-fi +- if test "${ac_cv_path_install+set}" = set; then +- INSTALL=$ac_cv_path_install +- else +- # As a last resort, use the slow shell script. We don't cache a +- # path for INSTALL within a source directory, because that will +- # break other packages using the cache if that directory is +- # removed, or if the path is relative. +- INSTALL=$ac_install_sh +- fi +-fi +-echo "$as_me:$LINENO: result: $INSTALL" >&5 +-echo "${ECHO_T}$INSTALL" >&6 +- +-# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +-# It thinks the first close brace ends the variable substitution. +-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' +- +-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' +- +-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' +- +- +-# needed for the subtle differences between cygwin and mingw32 +-case "${host}" in +-*-*-cygwin*) +- TCL_ALLOC_OBJ= +- DLL_LDLIBS=-lcygwin +- DLL_LDFLAGS='-nostartfiles -Wl,--dll' +- ;; +-*-*-mingw32*) +- TCL_ALLOC_OBJ='$(TMPDIR)/tclAlloc.o' +- DLL_LDLIBS= +- DLL_LDFLAGS='-mdll' +- ;; +-esac +- +- +- +-ITCL_VERSION=3.0 +-ITCL_MAJOR_VERSION=3 +-ITCL_MINOR_VERSION=0 +-VERSION=${ITCL_MAJOR_VERSION}${ITCL_MINOR_VERSION} +- +- +-if test "${prefix}" = "NONE"; then +- prefix=/usr/local +-fi +-if test "${exec_prefix}" = "NONE"; then +- exec_prefix=$prefix +-fi +- +-# ----------------------------------------------------------------------- +-# Set up a new default --prefix. If a previous installation of +-# [incr Tcl] can be found searching $PATH use that directory. +-# ----------------------------------------------------------------------- +- +- +-if test "x$prefix" = xNONE; then +- echo $ECHO_N "checking for prefix by $ECHO_C" >&6 +- # Extract the first word of "itkwish", so it can be a program name with args. +-set dummy itkwish; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_path_ac_prefix_program+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- case $ac_prefix_program in +- [\\/]* | ?:[\\/]*) +- ac_cv_path_ac_prefix_program="$ac_prefix_program" # Let the user override the test with a path. +- ;; +- *) +- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_path_ac_prefix_program="$as_dir/$ac_word$ac_exec_ext" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +- ;; +-esac +-fi +-ac_prefix_program=$ac_cv_path_ac_prefix_program +- +-if test -n "$ac_prefix_program"; then +- echo "$as_me:$LINENO: result: $ac_prefix_program" >&5 +-echo "${ECHO_T}$ac_prefix_program" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +- if test -n "$ac_prefix_program"; then +- prefix=`(dirname "$ac_prefix_program") 2>/dev/null || +-$as_expr X"$ac_prefix_program" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$ac_prefix_program" : 'X\(//\)[^/]' \| \ +- X"$ac_prefix_program" : 'X\(//\)$' \| \ +- X"$ac_prefix_program" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X"$ac_prefix_program" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- prefix=`(dirname "$prefix") 2>/dev/null || +-$as_expr X"$prefix" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$prefix" : 'X\(//\)[^/]' \| \ +- X"$prefix" : 'X\(//\)$' \| \ +- X"$prefix" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X"$prefix" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- fi +-fi +- +- +-if test "${prefix}" = "NONE"; then +- prefix=/usr/local +-fi +-if test "${exec_prefix}" = "NONE"; then +- exec_prefix=$prefix +-fi +- +-# ----------------------------------------------------------------------- +-BUILD_DIR=`pwd` +-ITCL_SRC_DIR=`cd $srcdir/..; pwd` +- +-if ! test "$GCC" = yes; then +- tmp="`cygpath --windows $ITCL_SRC_DIR`" +- ITCL_SRC_DIR="`echo $tmp | sed -e s#\\\\\\\\#/#g`" +-fi +- +-cd ${BUILD_DIR} +- +-# Check whether --enable-gcc or --disable-gcc was given. +-if test "${enable_gcc+set}" = set; then +- enableval="$enable_gcc" +- itcl_ok=$enableval +-else +- itcl_ok=no +-fi; +-if test "$itcl_ok" = "yes"; then +- ac_ext=c +-ac_cpp='$CPP $CPPFLAGS' +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +-ac_compiler_gnu=$ac_cv_c_compiler_gnu +-if test -n "$ac_tool_prefix"; then +- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +-set dummy ${ac_tool_prefix}gcc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$CC"; then +- ac_cv_prog_CC="$CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_CC="${ac_tool_prefix}gcc" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-CC=$ac_cv_prog_CC +-if test -n "$CC"; then +- echo "$as_me:$LINENO: result: $CC" >&5 +-echo "${ECHO_T}$CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +-fi +-if test -z "$ac_cv_prog_CC"; then +- ac_ct_CC=$CC +- # Extract the first word of "gcc", so it can be a program name with args. +-set dummy gcc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$ac_ct_CC"; then +- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_ac_ct_CC="gcc" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-ac_ct_CC=$ac_cv_prog_ac_ct_CC +-if test -n "$ac_ct_CC"; then +- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +-echo "${ECHO_T}$ac_ct_CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +- CC=$ac_ct_CC +-else +- CC="$ac_cv_prog_CC" +-fi +- +-if test -z "$CC"; then +- if test -n "$ac_tool_prefix"; then +- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +-set dummy ${ac_tool_prefix}cc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$CC"; then +- ac_cv_prog_CC="$CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_CC="${ac_tool_prefix}cc" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-CC=$ac_cv_prog_CC +-if test -n "$CC"; then +- echo "$as_me:$LINENO: result: $CC" >&5 +-echo "${ECHO_T}$CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +-fi +-if test -z "$ac_cv_prog_CC"; then +- ac_ct_CC=$CC +- # Extract the first word of "cc", so it can be a program name with args. +-set dummy cc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$ac_ct_CC"; then +- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_ac_ct_CC="cc" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-ac_ct_CC=$ac_cv_prog_ac_ct_CC +-if test -n "$ac_ct_CC"; then +- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +-echo "${ECHO_T}$ac_ct_CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +- CC=$ac_ct_CC +-else +- CC="$ac_cv_prog_CC" +-fi +- +-fi +-if test -z "$CC"; then +- # Extract the first word of "cc", so it can be a program name with args. +-set dummy cc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$CC"; then +- ac_cv_prog_CC="$CC" # Let the user override the test. +-else +- ac_prog_rejected=no +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then +- ac_prog_rejected=yes +- continue +- fi +- ac_cv_prog_CC="cc" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-if test $ac_prog_rejected = yes; then +- # We found a bogon in the path, so make sure we never use it. +- set dummy $ac_cv_prog_CC +- shift +- if test $# != 0; then +- # We chose a different compiler from the bogus one. +- # However, it has the same basename, so the bogon will be chosen +- # first if we set CC to just the basename; use the full file name. +- shift +- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" +- fi +-fi +-fi +-fi +-CC=$ac_cv_prog_CC +-if test -n "$CC"; then +- echo "$as_me:$LINENO: result: $CC" >&5 +-echo "${ECHO_T}$CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +-fi +-if test -z "$CC"; then +- if test -n "$ac_tool_prefix"; then +- for ac_prog in cl +- do +- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +-set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$CC"; then +- ac_cv_prog_CC="$CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_CC="$ac_tool_prefix$ac_prog" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-CC=$ac_cv_prog_CC +-if test -n "$CC"; then +- echo "$as_me:$LINENO: result: $CC" >&5 +-echo "${ECHO_T}$CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +- test -n "$CC" && break +- done +-fi +-if test -z "$CC"; then +- ac_ct_CC=$CC +- for ac_prog in cl +-do +- # Extract the first word of "$ac_prog", so it can be a program name with args. +-set dummy $ac_prog; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$ac_ct_CC"; then +- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_ac_ct_CC="$ac_prog" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-ac_ct_CC=$ac_cv_prog_ac_ct_CC +-if test -n "$ac_ct_CC"; then +- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +-echo "${ECHO_T}$ac_ct_CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +- test -n "$ac_ct_CC" && break +-done +- +- CC=$ac_ct_CC +-fi +- +-fi +- +- +-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +-See \`config.log' for more details." >&5 +-echo "$as_me: error: no acceptable C compiler found in \$PATH +-See \`config.log' for more details." >&2;} +- { (exit 1); exit 1; }; } +- +-# Provide some information about the compiler. +-echo "$as_me:$LINENO:" \ +- "checking for C compiler version" >&5 +-ac_compiler=`set X $ac_compile; echo $2` +-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 +- (eval $ac_compiler --version &5) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } +-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 +- (eval $ac_compiler -v &5) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } +-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 +- (eval $ac_compiler -V &5) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } +- +-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 +-if test "${ac_cv_c_compiler_gnu+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +-#ifndef __GNUC__ +- choke me +-#endif +- +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_compiler_gnu=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_compiler_gnu=no +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-ac_cv_c_compiler_gnu=$ac_compiler_gnu +- +-fi +-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 +-GCC=`test $ac_compiler_gnu = yes && echo yes` +-ac_test_CFLAGS=${CFLAGS+set} +-ac_save_CFLAGS=$CFLAGS +-CFLAGS="-g" +-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 +-if test "${ac_cv_prog_cc_g+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +- +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_prog_cc_g=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_cv_prog_cc_g=no +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-fi +-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +-if test "$ac_test_CFLAGS" = set; then +- CFLAGS=$ac_save_CFLAGS +-elif test $ac_cv_prog_cc_g = yes; then +- if test "$GCC" = yes; then +- CFLAGS="-g -O2" +- else +- CFLAGS="-g" +- fi +-else +- if test "$GCC" = yes; then +- CFLAGS="-O2" +- else +- CFLAGS= +- fi +-fi +-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 +-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 +-if test "${ac_cv_prog_cc_stdc+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- ac_cv_prog_cc_stdc=no +-ac_save_CC=$CC +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include +-#include +-#include +-#include +-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +-struct buf { int x; }; +-FILE * (*rcsopen) (struct buf *, struct stat *, int); +-static char *e (p, i) +- char **p; +- int i; +-{ +- return p[i]; +-} +-static char *f (char * (*g) (char **, int), char **p, ...) +-{ +- char *s; +- va_list v; +- va_start (v,p); +- s = g (p, va_arg (v,int)); +- va_end (v); +- return s; +-} +- +-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has +- function prototypes and stuff, but not '\xHH' hex character constants. +- These don't provoke an error unfortunately, instead are silently treated +- as 'x'. The following induces an error, until -std1 is added to get +- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an +- array size at least. It's necessary to write '\x00'==0 to get something +- that's true only with -std1. */ +-int osf4_cc_array ['\x00' == 0 ? 1 : -1]; +- +-int test (int i, double x); +-struct s1 {int (*f) (int a);}; +-struct s2 {int (*f) (double a);}; +-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +-int argc; +-char **argv; +-int +-main () +-{ +-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; +- ; +- return 0; +-} +-_ACEOF +-# Don't try gcc -ansi; that turns off useful extensions and +-# breaks some systems' header files. +-# AIX -qlanglvl=ansi +-# Ultrix and OSF/1 -std1 +-# HP-UX 10.20 and later -Ae +-# HP-UX older versions -Aa -D_HPUX_SOURCE +-# SVR4 -Xc -D__EXTENSIONS__ +-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +-do +- CC="$ac_save_CC $ac_arg" +- rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_prog_cc_stdc=$ac_arg +-break +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-fi +-rm -f conftest.err conftest.$ac_objext +-done +-rm -f conftest.$ac_ext conftest.$ac_objext +-CC=$ac_save_CC +- +-fi +- +-case "x$ac_cv_prog_cc_stdc" in +- x|xno) +- echo "$as_me:$LINENO: result: none needed" >&5 +-echo "${ECHO_T}none needed" >&6 ;; +- *) +- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 +- CC="$CC $ac_cv_prog_cc_stdc" ;; +-esac +- +-# Some people use a C++ compiler to compile C. Since we use `exit', +-# in C++ we need to declare it. In case someone uses the same compiler +-# for both compiling C and C++ we need to have the C++ compiler decide +-# the declaration of exit, since it's the most demanding environment. +-cat >conftest.$ac_ext <<_ACEOF +-#ifndef __cplusplus +- choke me +-#endif +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- for ac_declaration in \ +- '' \ +- 'extern "C" void std::exit (int) throw (); using std::exit;' \ +- 'extern "C" void std::exit (int); using std::exit;' \ +- 'extern "C" void exit (int) throw ();' \ +- 'extern "C" void exit (int);' \ +- 'void exit (int);' +-do +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-$ac_declaration +-#include +-int +-main () +-{ +-exit (42); +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- : +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-continue +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-$ac_declaration +-int +-main () +-{ +-exit (42); +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- break +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-done +-rm -f conftest* +-if test -n "$ac_declaration"; then +- echo '#ifdef __cplusplus' >>confdefs.h +- echo $ac_declaration >>confdefs.h +- echo '#endif' >>confdefs.h +-fi +- +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-ac_ext=c +-ac_cpp='$CPP $CPPFLAGS' +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +-ac_compiler_gnu=$ac_cv_c_compiler_gnu +- +-else +- CC=${CC-cc} +- +-fi +- +-ac_ext=c +-ac_cpp='$CPP $CPPFLAGS' +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +-ac_compiler_gnu=$ac_cv_c_compiler_gnu +-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 +-# On Suns, sometimes $CPP names a directory. +-if test -n "$CPP" && test -d "$CPP"; then +- CPP= +-fi +-if test -z "$CPP"; then +- if test "${ac_cv_prog_CPP+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- # Double quotes because CPP needs to be expanded +- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" +- do +- ac_preproc_ok=false +-for ac_c_preproc_warn_flag in '' yes +-do +- # Use a header file that comes with gcc, so configuring glibc +- # with a fresh cross-compiler works. +- # Prefer to if __STDC__ is defined, since +- # exists even on freestanding compilers. +- # On the NeXT, cc -E runs the code through the compiler's parser, +- # not just through cpp. "Syntax error" is here to catch this case. +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#ifdef __STDC__ +-# include +-#else +-# include +-#endif +- Syntax error +-_ACEOF +-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 +- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } >/dev/null; then +- if test -s conftest.err; then +- ac_cpp_err=$ac_c_preproc_warn_flag +- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag +- else +- ac_cpp_err= +- fi +-else +- ac_cpp_err=yes +-fi +-if test -z "$ac_cpp_err"; then +- : +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +- # Broken: fails on valid input. +-continue +-fi +-rm -f conftest.err conftest.$ac_ext +- +- # OK, works on sane cases. Now check whether non-existent headers +- # can be detected and how. +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include +-_ACEOF +-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 +- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } >/dev/null; then +- if test -s conftest.err; then +- ac_cpp_err=$ac_c_preproc_warn_flag +- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag +- else +- ac_cpp_err= +- fi +-else +- ac_cpp_err=yes +-fi +-if test -z "$ac_cpp_err"; then +- # Broken: success on invalid input. +-continue +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +- # Passes both tests. +-ac_preproc_ok=: +-break +-fi +-rm -f conftest.err conftest.$ac_ext +- +-done +-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +-rm -f conftest.err conftest.$ac_ext +-if $ac_preproc_ok; then +- break +-fi +- +- done +- ac_cv_prog_CPP=$CPP +- +-fi +- CPP=$ac_cv_prog_CPP +-else +- ac_cv_prog_CPP=$CPP +-fi +-echo "$as_me:$LINENO: result: $CPP" >&5 +-echo "${ECHO_T}$CPP" >&6 +-ac_preproc_ok=false +-for ac_c_preproc_warn_flag in '' yes +-do +- # Use a header file that comes with gcc, so configuring glibc +- # with a fresh cross-compiler works. +- # Prefer to if __STDC__ is defined, since +- # exists even on freestanding compilers. +- # On the NeXT, cc -E runs the code through the compiler's parser, +- # not just through cpp. "Syntax error" is here to catch this case. +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#ifdef __STDC__ +-# include +-#else +-# include +-#endif +- Syntax error +-_ACEOF +-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 +- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } >/dev/null; then +- if test -s conftest.err; then +- ac_cpp_err=$ac_c_preproc_warn_flag +- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag +- else +- ac_cpp_err= +- fi +-else +- ac_cpp_err=yes +-fi +-if test -z "$ac_cpp_err"; then +- : +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +- # Broken: fails on valid input. +-continue +-fi +-rm -f conftest.err conftest.$ac_ext +- +- # OK, works on sane cases. Now check whether non-existent headers +- # can be detected and how. +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include +-_ACEOF +-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 +- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } >/dev/null; then +- if test -s conftest.err; then +- ac_cpp_err=$ac_c_preproc_warn_flag +- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag +- else +- ac_cpp_err= +- fi +-else +- ac_cpp_err=yes +-fi +-if test -z "$ac_cpp_err"; then +- # Broken: success on invalid input. +-continue +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +- # Passes both tests. +-ac_preproc_ok=: +-break +-fi +-rm -f conftest.err conftest.$ac_ext +- +-done +-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +-rm -f conftest.err conftest.$ac_ext +-if $ac_preproc_ok; then +- : +-else +- { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +-See \`config.log' for more details." >&5 +-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +-See \`config.log' for more details." >&2;} +- { (exit 1); exit 1; }; } +-fi +- +-ac_ext=c +-ac_cpp='$CPP $CPPFLAGS' +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +-ac_compiler_gnu=$ac_cv_c_compiler_gnu +- +- +-echo "$as_me:$LINENO: checking for egrep" >&5 +-echo $ECHO_N "checking for egrep... $ECHO_C" >&6 +-if test "${ac_cv_prog_egrep+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if echo a | (grep -E '(a|b)') >/dev/null 2>&1 +- then ac_cv_prog_egrep='grep -E' +- else ac_cv_prog_egrep='egrep' +- fi +-fi +-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 +-echo "${ECHO_T}$ac_cv_prog_egrep" >&6 +- EGREP=$ac_cv_prog_egrep +- +- +-echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 +-if test "${ac_cv_header_stdc+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include +-#include +-#include +-#include +- +-int +-main () +-{ +- +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_header_stdc=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_cv_header_stdc=no +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +- +-if test $ac_cv_header_stdc = yes; then +- # SunOS 4.x string.h does not declare mem*, contrary to ANSI. +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include +- +-_ACEOF +-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "memchr" >/dev/null 2>&1; then +- : +-else +- ac_cv_header_stdc=no +-fi +-rm -f conftest* +- +-fi +- +-if test $ac_cv_header_stdc = yes; then +- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include +- +-_ACEOF +-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "free" >/dev/null 2>&1; then +- : +-else +- ac_cv_header_stdc=no +-fi +-rm -f conftest* +- +-fi +- +-if test $ac_cv_header_stdc = yes; then +- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. +- if test "$cross_compiling" = yes; then +- : +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include +-#if ((' ' & 0x0FF) == 0x020) +-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +-#else +-# define ISLOWER(c) \ +- (('a' <= (c) && (c) <= 'i') \ +- || ('j' <= (c) && (c) <= 'r') \ +- || ('s' <= (c) && (c) <= 'z')) +-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +-#endif +- +-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +-int +-main () +-{ +- int i; +- for (i = 0; i < 256; i++) +- if (XOR (islower (i), ISLOWER (i)) +- || toupper (i) != TOUPPER (i)) +- exit(2); +- exit (0); +-} +-_ACEOF +-rm -f conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && { ac_try='./conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- : +-else +- echo "$as_me: program exited with status $ac_status" >&5 +-echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-( exit $ac_status ) +-ac_cv_header_stdc=no +-fi +-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +-fi +-fi +-fi +-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +-echo "${ECHO_T}$ac_cv_header_stdc" >&6 +-if test $ac_cv_header_stdc = yes; then +- +-cat >>confdefs.h <<\_ACEOF +-#define STDC_HEADERS 1 +-_ACEOF +- +-fi +- +-# On IRIX 5.3, sys/types and inttypes.h are conflicting. +- +- +- +- +- +- +- +- +- +-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ +- inttypes.h stdint.h unistd.h +-do +-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +-echo "$as_me:$LINENO: checking for $ac_header" >&5 +-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +-if eval "test \"\${$as_ac_Header+set}\" = set"; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-$ac_includes_default +- +-#include <$ac_header> +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- eval "$as_ac_Header=yes" +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-eval "$as_ac_Header=no" +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-fi +-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +-if test `eval echo '${'$as_ac_Header'}'` = yes; then +- cat >>confdefs.h <<_ACEOF +-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +-_ACEOF +- +-fi +- +-done +- +- +- +- +-for ac_header in unistd.h limits.h +-do +-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +-if eval "test \"\${$as_ac_Header+set}\" = set"; then +- echo "$as_me:$LINENO: checking for $ac_header" >&5 +-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +-if eval "test \"\${$as_ac_Header+set}\" = set"; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-fi +-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +-else +- # Is the header compilable? +-echo "$as_me:$LINENO: checking $ac_header usability" >&5 +-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-$ac_includes_default +-#include <$ac_header> +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_header_compiler=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_header_compiler=no +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +-echo "${ECHO_T}$ac_header_compiler" >&6 +- +-# Is the header present? +-echo "$as_me:$LINENO: checking $ac_header presence" >&5 +-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include <$ac_header> +-_ACEOF +-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 +- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } >/dev/null; then +- if test -s conftest.err; then +- ac_cpp_err=$ac_c_preproc_warn_flag +- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag +- else +- ac_cpp_err= +- fi +-else +- ac_cpp_err=yes +-fi +-if test -z "$ac_cpp_err"; then +- ac_header_preproc=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +- ac_header_preproc=no +-fi +-rm -f conftest.err conftest.$ac_ext +-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +-echo "${ECHO_T}$ac_header_preproc" >&6 +- +-# So? What about this header? +-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in +- yes:no: ) +- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} +- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} +- ac_header_preproc=yes +- ;; +- no:yes:* ) +- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} +- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} +- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} +- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} +- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} +- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} +- ( +- cat <<\_ASBOX +-## ------------------------------------------ ## +-## Report this to the AC_PACKAGE_NAME lists. ## +-## ------------------------------------------ ## +-_ASBOX +- ) | +- sed "s/^/$as_me: WARNING: /" >&2 +- ;; +-esac +-echo "$as_me:$LINENO: checking for $ac_header" >&5 +-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +-if eval "test \"\${$as_ac_Header+set}\" = set"; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- eval "$as_ac_Header=\$ac_header_preproc" +-fi +-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +- +-fi +-if test `eval echo '${'$as_ac_Header'}'` = yes; then +- cat >>confdefs.h <<_ACEOF +-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +-_ACEOF +- +-fi +- +-done +- +- +-#-------------------------------------------------------------------- +-# See if there was a command-line option for where Tcl is; if +-# not, assume that its top-level directory is a sibling of ours. +-# CYGNUS LOCAL - Actually, tcl is one level higher - a sibling of the +-# itcl directory that contains itcl proper, itk & iwidgets. +-#-------------------------------------------------------------------- +- +- +-# Check whether --with-tcl or --without-tcl was given. +-if test "${with_tcl+set}" = set; then +- withval="$with_tcl" +- TCL_BIN_DIR=$withval +-else +- TCL_BIN_DIR=`cd ../../../tcl/win; pwd` +-fi; +- +-if test ! -f $TCL_BIN_DIR/../unix/tclConfig.sh; then +- TCL_BIN_DIR=`cd ../../../tcl8.1/win;pwd` +-fi +- +-if test ! -f $TCL_BIN_DIR/../unix/tclConfig.sh; then +- { { echo "$as_me:$LINENO: error: There's no tclConfig.sh in $TCL_BIN_DIR; perhaps you didn't specify the Tcl *build* directory (not the toplevel Tcl directory) or you forgot to configure Tcl?" >&5 +-echo "$as_me: error: There's no tclConfig.sh in $TCL_BIN_DIR; perhaps you didn't specify the Tcl *build* directory (not the toplevel Tcl directory) or you forgot to configure Tcl?" >&2;} +- { (exit 1); exit 1; }; } +-fi +- +-#-------------------------------------------------------------------- +-# Read in configuration information generated by Tcl for shared +-# libraries, and arrange for it to be substituted into our +-# Makefile. +-#-------------------------------------------------------------------- +- +-file=$TCL_BIN_DIR/../unix/tclConfig.sh +-. $file +- +-SHLIB_CFLAGS=$TCL_SHLIB_CFLAGS +-SHLIB_LD=$TCL_SHLIB_LD +-SHLIB_LD_LIBS=$TCL_SHLIB_LD_LIBS +-SHLIB_SUFFIX=$TCL_SHLIB_SUFFIX +-SHLIB_VERSION=$TCL_SHLIB_VERSION +-DL_LIBS=$TCL_DL_LIBS +-LD_FLAGS=$TCL_LD_FLAGS +-ITCL_LD_SEARCH_FLAGS=$TCL_LD_SEARCH_FLAGS +- +-echo "$as_me:$LINENO: checking whether C compiler is gcc" >&5 +-echo $ECHO_N "checking whether C compiler is gcc... $ECHO_C" >&6 +-if test "${itcl_cv_prog_gcc+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-#ifdef __GNUC__ +-_cc_is_gcc_ +-#endif +- +-_ACEOF +-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "_cc_is_gcc_" >/dev/null 2>&1; then +- itcl_cv_prog_gcc=yes +-else +- itcl_cv_prog_gcc=no +-fi +-rm -f conftest* +- +-fi +- +-echo "$as_me:$LINENO: result: $itcl_cv_prog_gcc" >&5 +-echo "${ECHO_T}$itcl_cv_prog_gcc" >&6 +- +-if test -z "$CFLAGS" ; then +- CFLAGS="-O" +-fi +-if test "$itcl_cv_prog_gcc" = "yes" ; then +- CFLAGS="$CFLAGS -Wshadow -Wtraditional -Wall" +-fi +- +-echo "$as_me:$LINENO: checking default compiler flags" >&5 +-echo $ECHO_N "checking default compiler flags... $ECHO_C" >&6 +- +-# Check whether --with-cflags or --without-cflags was given. +-if test "${with_cflags+set}" = set; then +- withval="$with_cflags" +- CFLAGS="$with_cflags" +-fi; +- +-echo "$as_me:$LINENO: result: $CFLAGS" >&5 +-echo "${ECHO_T}$CFLAGS" >&6 +- +-#-------------------------------------------------------------------- +-# Supply a substitute for stdlib.h if it doesn't define strtol, +-# strtoul, or strtod (which it doesn't in some versions of SunOS). +-#-------------------------------------------------------------------- +- +-echo "$as_me:$LINENO: checking stdlib.h" >&5 +-echo $ECHO_N "checking stdlib.h... $ECHO_C" >&6 +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include +- +-_ACEOF +-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "strtol" >/dev/null 2>&1; then +- itcl_ok=yes +-else +- itcl_ok=no +-fi +-rm -f conftest* +- +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include +- +-_ACEOF +-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "strtoul" >/dev/null 2>&1; then +- : +-else +- itcl_ok=no +-fi +-rm -f conftest* +- +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include +- +-_ACEOF +-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "strtod" >/dev/null 2>&1; then +- : +-else +- itcl_ok=no +-fi +-rm -f conftest* +- +-if test $itcl_ok = no; then +- cat >>confdefs.h <<\_ACEOF +-#define NO_STDLIB_H 1 +-_ACEOF +- +-fi +-echo "$as_me:$LINENO: result: $itcl_ok" >&5 +-echo "${ECHO_T}$itcl_ok" >&6 +- +-#-------------------------------------------------------------------- +-# Check for various typedefs and provide substitutes if +-# they don't exist. +-#-------------------------------------------------------------------- +- +-echo "$as_me:$LINENO: checking for mode_t" >&5 +-echo $ECHO_N "checking for mode_t... $ECHO_C" >&6 +-if test "${ac_cv_type_mode_t+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-$ac_includes_default +-int +-main () +-{ +-if ((mode_t *) 0) +- return 0; +-if (sizeof (mode_t)) +- return 0; +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_type_mode_t=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_cv_type_mode_t=no +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-fi +-echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5 +-echo "${ECHO_T}$ac_cv_type_mode_t" >&6 +-if test $ac_cv_type_mode_t = yes; then +- : +-else +- +-cat >>confdefs.h <<_ACEOF +-#define mode_t int +-_ACEOF +- +-fi +- +-echo "$as_me:$LINENO: checking for pid_t" >&5 +-echo $ECHO_N "checking for pid_t... $ECHO_C" >&6 +-if test "${ac_cv_type_pid_t+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-$ac_includes_default +-int +-main () +-{ +-if ((pid_t *) 0) +- return 0; +-if (sizeof (pid_t)) +- return 0; +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_type_pid_t=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_cv_type_pid_t=no +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-fi +-echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 +-echo "${ECHO_T}$ac_cv_type_pid_t" >&6 +-if test $ac_cv_type_pid_t = yes; then +- : +-else +- +-cat >>confdefs.h <<_ACEOF +-#define pid_t int +-_ACEOF +- +-fi +- +-echo "$as_me:$LINENO: checking for size_t" >&5 +-echo $ECHO_N "checking for size_t... $ECHO_C" >&6 +-if test "${ac_cv_type_size_t+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-$ac_includes_default +-int +-main () +-{ +-if ((size_t *) 0) +- return 0; +-if (sizeof (size_t)) +- return 0; +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_type_size_t=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_cv_type_size_t=no +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-fi +-echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 +-echo "${ECHO_T}$ac_cv_type_size_t" >&6 +-if test $ac_cv_type_size_t = yes; then +- : +-else +- +-cat >>confdefs.h <<_ACEOF +-#define size_t unsigned +-_ACEOF +- +-fi +- +-echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5 +-echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6 +-if test "${ac_cv_type_uid_t+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include +- +-_ACEOF +-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "uid_t" >/dev/null 2>&1; then +- ac_cv_type_uid_t=yes +-else +- ac_cv_type_uid_t=no +-fi +-rm -f conftest* +- +-fi +-echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5 +-echo "${ECHO_T}$ac_cv_type_uid_t" >&6 +-if test $ac_cv_type_uid_t = no; then +- +-cat >>confdefs.h <<\_ACEOF +-#define uid_t int +-_ACEOF +- +- +-cat >>confdefs.h <<\_ACEOF +-#define gid_t int +-_ACEOF +- +-fi +- +- +-#-------------------------------------------------------------------- +-# Check for the existence of various libraries. The order here +-# is important, so that then end up in the right order in the +-# command line generated by make. The -lsocket and -lnsl libraries +-# require a couple of special tricks: +-# 1. Use "connect" and "accept" to check for -lsocket, and +-# "gethostbyname" to check for -lnsl. +-# 2. Use each function name only once: can't redo a check because +-# autoconf caches the results of the last check and won't redo it. +-# 3. Use -lnsl and -lsocket only if they supply procedures that +-# aren't already present in the normal libraries. This is because +-# IRIX 5.2 has libraries, but they aren't needed and they're +-# bogus: they goof up name resolution if used. +-# 4. On some SVR4 systems, can't use -lsocket without -lnsl too. +-# To get around this problem, check for both libraries together +-# if -lsocket doesn't work by itself. +-#-------------------------------------------------------------------- +- +-itcl_checkBoth=0 +-echo "$as_me:$LINENO: checking for connect" >&5 +-echo $ECHO_N "checking for connect... $ECHO_C" >&6 +-if test "${ac_cv_func_connect+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-/* Define connect to an innocuous variant, in case declares connect. +- For example, HP-UX 11i declares gettimeofday. */ +-#define connect innocuous_connect +- +-/* System header to define __stub macros and hopefully few prototypes, +- which can conflict with char connect (); below. +- Prefer to if __STDC__ is defined, since +- exists even on freestanding compilers. */ +- +-#ifdef __STDC__ +-# include +-#else +-# include +-#endif +- +-#undef connect +- +-/* Override any gcc2 internal prototype to avoid an error. */ +-#ifdef __cplusplus +-extern "C" +-{ +-#endif +-/* We use char because int might match the return type of a gcc2 +- builtin and then its argument prototype would still apply. */ +-char connect (); +-/* The GNU C library defines this for functions which it implements +- to always fail with ENOSYS. Some functions are actually named +- something starting with __ and the normal name is an alias. */ +-#if defined (__stub_connect) || defined (__stub___connect) +-choke me +-#else +-char (*f) () = connect; +-#endif +-#ifdef __cplusplus +-} +-#endif +- +-int +-main () +-{ +-return f != connect; +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_func_connect=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_cv_func_connect=no +-fi +-rm -f conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-fi +-echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5 +-echo "${ECHO_T}$ac_cv_func_connect" >&6 +-if test $ac_cv_func_connect = yes; then +- itcl_checkSocket=0 +-else +- itcl_checkSocket=1 +-fi +- +-if test "$itcl_checkSocket" = 1; then +- echo "$as_me:$LINENO: checking for main in -lsocket" >&5 +-echo $ECHO_N "checking for main in -lsocket... $ECHO_C" >&6 +-if test "${ac_cv_lib_socket_main+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- ac_check_lib_save_LIBS=$LIBS +-LIBS="-lsocket $LIBS" +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +- +-int +-main () +-{ +-main (); +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_lib_socket_main=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_cv_lib_socket_main=no +-fi +-rm -f conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-LIBS=$ac_check_lib_save_LIBS +-fi +-echo "$as_me:$LINENO: result: $ac_cv_lib_socket_main" >&5 +-echo "${ECHO_T}$ac_cv_lib_socket_main" >&6 +-if test $ac_cv_lib_socket_main = yes; then +- LIBS="$LIBS -lsocket" +-else +- itcl_checkBoth=1 +-fi +- +-fi +-if test "$itcl_checkBoth" = 1; then +- itcl_oldLibs=$LIBS +- LIBS="$LIBS -lsocket -lnsl" +- echo "$as_me:$LINENO: checking for accept" >&5 +-echo $ECHO_N "checking for accept... $ECHO_C" >&6 +-if test "${ac_cv_func_accept+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-/* Define accept to an innocuous variant, in case declares accept. +- For example, HP-UX 11i declares gettimeofday. */ +-#define accept innocuous_accept +- +-/* System header to define __stub macros and hopefully few prototypes, +- which can conflict with char accept (); below. +- Prefer to if __STDC__ is defined, since +- exists even on freestanding compilers. */ +- +-#ifdef __STDC__ +-# include +-#else +-# include +-#endif +- +-#undef accept +- +-/* Override any gcc2 internal prototype to avoid an error. */ +-#ifdef __cplusplus +-extern "C" +-{ +-#endif +-/* We use char because int might match the return type of a gcc2 +- builtin and then its argument prototype would still apply. */ +-char accept (); +-/* The GNU C library defines this for functions which it implements +- to always fail with ENOSYS. Some functions are actually named +- something starting with __ and the normal name is an alias. */ +-#if defined (__stub_accept) || defined (__stub___accept) +-choke me +-#else +-char (*f) () = accept; +-#endif +-#ifdef __cplusplus +-} +-#endif +- +-int +-main () +-{ +-return f != accept; +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_func_accept=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_cv_func_accept=no +-fi +-rm -f conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-fi +-echo "$as_me:$LINENO: result: $ac_cv_func_accept" >&5 +-echo "${ECHO_T}$ac_cv_func_accept" >&6 +-if test $ac_cv_func_accept = yes; then +- itcl_checkNsl=0 +-else +- LIBS=$itcl_oldLibs +-fi +- +-fi +-echo "$as_me:$LINENO: checking for gethostbyname" >&5 +-echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6 +-if test "${ac_cv_func_gethostbyname+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-/* Define gethostbyname to an innocuous variant, in case declares gethostbyname. +- For example, HP-UX 11i declares gettimeofday. */ +-#define gethostbyname innocuous_gethostbyname +- +-/* System header to define __stub macros and hopefully few prototypes, +- which can conflict with char gethostbyname (); below. +- Prefer to if __STDC__ is defined, since +- exists even on freestanding compilers. */ +- +-#ifdef __STDC__ +-# include +-#else +-# include +-#endif +- +-#undef gethostbyname +- +-/* Override any gcc2 internal prototype to avoid an error. */ +-#ifdef __cplusplus +-extern "C" +-{ +-#endif +-/* We use char because int might match the return type of a gcc2 +- builtin and then its argument prototype would still apply. */ +-char gethostbyname (); +-/* The GNU C library defines this for functions which it implements +- to always fail with ENOSYS. Some functions are actually named +- something starting with __ and the normal name is an alias. */ +-#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) +-choke me +-#else +-char (*f) () = gethostbyname; +-#endif +-#ifdef __cplusplus +-} +-#endif +- +-int +-main () +-{ +-return f != gethostbyname; +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_func_gethostbyname=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_cv_func_gethostbyname=no +-fi +-rm -f conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-fi +-echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5 +-echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6 +-if test $ac_cv_func_gethostbyname = yes; then +- : +-else +- echo "$as_me:$LINENO: checking for main in -lnsl" >&5 +-echo $ECHO_N "checking for main in -lnsl... $ECHO_C" >&6 +-if test "${ac_cv_lib_nsl_main+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- ac_check_lib_save_LIBS=$LIBS +-LIBS="-lnsl $LIBS" +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +- +-int +-main () +-{ +-main (); +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_lib_nsl_main=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_cv_lib_nsl_main=no +-fi +-rm -f conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-LIBS=$ac_check_lib_save_LIBS +-fi +-echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_main" >&5 +-echo "${ECHO_T}$ac_cv_lib_nsl_main" >&6 +-if test $ac_cv_lib_nsl_main = yes; then +- LIBS="$LIBS -lnsl" +-fi +- +-fi +- +- +-#-------------------------------------------------------------------- +-# On a few very rare systems, all of the libm.a stuff is +-# already in libc.a. Set compiler flags accordingly. +-# Also, Linux requires the "ieee" library for math to +-# work right (and it must appear before "-lm"). +-#-------------------------------------------------------------------- +- +-MATH_LIBS="" +-echo "$as_me:$LINENO: checking for sin" >&5 +-echo $ECHO_N "checking for sin... $ECHO_C" >&6 +-if test "${ac_cv_func_sin+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-/* Define sin to an innocuous variant, in case declares sin. +- For example, HP-UX 11i declares gettimeofday. */ +-#define sin innocuous_sin +- +-/* System header to define __stub macros and hopefully few prototypes, +- which can conflict with char sin (); below. +- Prefer to if __STDC__ is defined, since +- exists even on freestanding compilers. */ +- +-#ifdef __STDC__ +-# include +-#else +-# include +-#endif +- +-#undef sin +- +-/* Override any gcc2 internal prototype to avoid an error. */ +-#ifdef __cplusplus +-extern "C" +-{ +-#endif +-/* We use char because int might match the return type of a gcc2 +- builtin and then its argument prototype would still apply. */ +-char sin (); +-/* The GNU C library defines this for functions which it implements +- to always fail with ENOSYS. Some functions are actually named +- something starting with __ and the normal name is an alias. */ +-#if defined (__stub_sin) || defined (__stub___sin) +-choke me +-#else +-char (*f) () = sin; +-#endif +-#ifdef __cplusplus +-} +-#endif +- +-int +-main () +-{ +-return f != sin; +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_func_sin=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_cv_func_sin=no +-fi +-rm -f conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-fi +-echo "$as_me:$LINENO: result: $ac_cv_func_sin" >&5 +-echo "${ECHO_T}$ac_cv_func_sin" >&6 +-if test $ac_cv_func_sin = yes; then +- : +-else +- MATH_LIBS="-lm" +-fi +- +-echo "$as_me:$LINENO: checking for main in -lieee" >&5 +-echo $ECHO_N "checking for main in -lieee... $ECHO_C" >&6 +-if test "${ac_cv_lib_ieee_main+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- ac_check_lib_save_LIBS=$LIBS +-LIBS="-lieee $LIBS" +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +- +-int +-main () +-{ +-main (); +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_lib_ieee_main=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_cv_lib_ieee_main=no +-fi +-rm -f conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-LIBS=$ac_check_lib_save_LIBS +-fi +-echo "$as_me:$LINENO: result: $ac_cv_lib_ieee_main" >&5 +-echo "${ECHO_T}$ac_cv_lib_ieee_main" >&6 +-if test $ac_cv_lib_ieee_main = yes; then +- MATH_LIBS="-lieee $MATH_LIBS" +-fi +- +- +-#-------------------------------------------------------------------- +-# If this system doesn't have a memmove procedure, use memcpy +-# instead. +-#-------------------------------------------------------------------- +- +-echo "$as_me:$LINENO: checking for memmove" >&5 +-echo $ECHO_N "checking for memmove... $ECHO_C" >&6 +-if test "${ac_cv_func_memmove+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-/* Define memmove to an innocuous variant, in case declares memmove. +- For example, HP-UX 11i declares gettimeofday. */ +-#define memmove innocuous_memmove +- +-/* System header to define __stub macros and hopefully few prototypes, +- which can conflict with char memmove (); below. +- Prefer to if __STDC__ is defined, since +- exists even on freestanding compilers. */ +- +-#ifdef __STDC__ +-# include +-#else +-# include +-#endif +- +-#undef memmove +- +-/* Override any gcc2 internal prototype to avoid an error. */ +-#ifdef __cplusplus +-extern "C" +-{ +-#endif +-/* We use char because int might match the return type of a gcc2 +- builtin and then its argument prototype would still apply. */ +-char memmove (); +-/* The GNU C library defines this for functions which it implements +- to always fail with ENOSYS. Some functions are actually named +- something starting with __ and the normal name is an alias. */ +-#if defined (__stub_memmove) || defined (__stub___memmove) +-choke me +-#else +-char (*f) () = memmove; +-#endif +-#ifdef __cplusplus +-} +-#endif +- +-int +-main () +-{ +-return f != memmove; +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_func_memmove=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_cv_func_memmove=no +-fi +-rm -f conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-fi +-echo "$as_me:$LINENO: result: $ac_cv_func_memmove" >&5 +-echo "${ECHO_T}$ac_cv_func_memmove" >&6 +-if test $ac_cv_func_memmove = yes; then +- : +-else +- cat >>confdefs.h <<\_ACEOF +-#define memmove memcpy +-_ACEOF +- +-fi +- +- +-#-------------------------------------------------------------------- +-# Figure out whether "char" is unsigned. If so, set a +-# #define for __CHAR_UNSIGNED__. +-#-------------------------------------------------------------------- +- +-#AC_C_CHAR_UNSIGNED +- +-#-------------------------------------------------------------------- +-# Under Solaris 2.4, strtod returns the wrong value for the +-# terminating character under some conditions. Check for this +-# and if the problem exists use a substitute procedure +-# "fixstrtod" (provided by Tcl) that corrects the error. +-#-------------------------------------------------------------------- +- +-echo "$as_me:$LINENO: checking for strtod" >&5 +-echo $ECHO_N "checking for strtod... $ECHO_C" >&6 +-if test "${ac_cv_func_strtod+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-/* Define strtod to an innocuous variant, in case declares strtod. +- For example, HP-UX 11i declares gettimeofday. */ +-#define strtod innocuous_strtod +- +-/* System header to define __stub macros and hopefully few prototypes, +- which can conflict with char strtod (); below. +- Prefer to if __STDC__ is defined, since +- exists even on freestanding compilers. */ +- +-#ifdef __STDC__ +-# include +-#else +-# include +-#endif +- +-#undef strtod +- +-/* Override any gcc2 internal prototype to avoid an error. */ +-#ifdef __cplusplus +-extern "C" +-{ +-#endif +-/* We use char because int might match the return type of a gcc2 +- builtin and then its argument prototype would still apply. */ +-char strtod (); +-/* The GNU C library defines this for functions which it implements +- to always fail with ENOSYS. Some functions are actually named +- something starting with __ and the normal name is an alias. */ +-#if defined (__stub_strtod) || defined (__stub___strtod) +-choke me +-#else +-char (*f) () = strtod; +-#endif +-#ifdef __cplusplus +-} +-#endif +- +-int +-main () +-{ +-return f != strtod; +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_func_strtod=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_cv_func_strtod=no +-fi +-rm -f conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-fi +-echo "$as_me:$LINENO: result: $ac_cv_func_strtod" >&5 +-echo "${ECHO_T}$ac_cv_func_strtod" >&6 +-if test $ac_cv_func_strtod = yes; then +- itcl_strtod=1 +-else +- itcl_strtod=0 +-fi +- +-if test "$itcl_strtod" = 1; then +- echo "$as_me:$LINENO: checking for Solaris 2.4 strtod bug" >&5 +-echo $ECHO_N "checking for Solaris 2.4 strtod bug... $ECHO_C" >&6 +- if test "$cross_compiling" = yes; then +- itcl_ok=0 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +- extern double strtod(); +- int main() +- { +- char *string = "NaN"; +- char *term; +- strtod(string, &term); +- if ((term != string) && (term[-1] == 0)) { +- exit(1); +- } +- exit(0); +- } +-_ACEOF +-rm -f conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && { ac_try='./conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- itcl_ok=1 +-else +- echo "$as_me: program exited with status $ac_status" >&5 +-echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-( exit $ac_status ) +-itcl_ok=0 +-fi +-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +-fi +- if test "$itcl_ok" = 1; then +- echo "$as_me:$LINENO: result: ok" >&5 +-echo "${ECHO_T}ok" >&6 +- else +- echo "$as_me:$LINENO: result: buggy" >&5 +-echo "${ECHO_T}buggy" >&6 +- cat >>confdefs.h <<\_ACEOF +-#define strtod fixstrtod +-_ACEOF +- +- fi +-fi +- +-#-------------------------------------------------------------------- +-# If we are building with cygwin, we need one set of library names, +-# otherwise, we need the Source-Navigator set. +-#-------------------------------------------------------------------- +- +-if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then +- CYGITCLLIBSPEC=itcl${VERSION} +-else +- CYGITCLLIBSPEC="itcl`echo ${VERSION} | tr -d .`" +-fi +-CYGITCLLIB=lib${CYGITCLLIBSPEC}.a +-CYGITCLDLL=cygitcl${VERSION}.dll +-CYGITCLSH=cygitclsh${VERSION}.exe +-CYGITCLDEF=itclcyg.def +-CYGITCLTEST=cygitcltest.exe +-CYGIMPORTLIB=cygitcl${VERSION}.lib +-CYGITCLRES=cygitcl.o +-CYGITCLSHRES=cygitclsh.o +- +-SNITCLLIBSPEC=itcl30.lib +-SNITCLLIB=${SNITCLLIBSPEC} +-SNITCLDLL=snitcl30.dll +-SNITCLSH=snitclsh30.exe +-SNITCLDEF=itclsn.def +-SNITCLTEST=snitcltest.exe +-SNIMPORTLIB=snitcl30.lib +-SNITCLRES=snitcl.obj +-SNITCLSHRES=snitclsh.obj +- +-if test "$GCC" = yes; then +-ITCLLIBSPEC=${CYGITCLLIBSPEC} +-ITCLLIB=${CYGITCLLIB} +-ITCLDLL=${CYGITCLDLL} +-ITCLSH=${CYGITCLSH} +-ITCLDEF=${CYGITCLDEF} +-ITCLTEST=${CYGITCLTEST} +-ITCLIMPORTLIB=${CYGIMPORTLIB} +-ITCLRES=${CYGITCLRES} +-ITCLSHRES=${CYGITCLSHRES} +-else +-ITCLLIBSPEC=${SNITCLLIBSPEC} +-ITCLLIB=${SNITCLLIB} +-ITCLDLL=${SNITCLDLL} +-ITCLSH=${SNITCLSH} +-ITCLDEF=${SNITCLDEF} +-ITCLTEST=${SNITCLTEST} +-ITCLIMPORTLIB=${SNIMPORTLIB} +-ITCLRES=${SNITCLRES} +-ITCLSHRES=${SNITCLSHRES} +-fi +- +-ITCL_SH="`pwd`/${ITCLSH}" +-if ! test "$GCC" = yes; then +- tmp="`cygpath --windows $ITCL_SH`" +- ITCL_SH="`echo $tmp | sed -e s#\\\\\\\\#/#g`" +-fi +- +- +-#-------------------------------------------------------------------- +-# The statements below define a collection of symbols related to +-# building libitcl as a shared library instead of a static library. +-#-------------------------------------------------------------------- +- +-# Check whether --enable-shared or --disable-shared was given. +-if test "${enable_shared+set}" = set; then +- enableval="$enable_shared" +- ok=$enableval +-else +- ok=no +-fi; +-if test "$ok" = "yes" -a "${SHLIB_SUFFIX}" != ""; then +- ITCL_SHLIB_CFLAGS="${SHLIB_CFLAGS}" +- eval "ITCL_LIB_FILE=libitcl${VERSION}${SHLIB_SUFFIX}" +- ITCL_PKG_FILE="[file join [file dirname \$dir] ${ITCL_LIB_FILE}]" +- MAKE_LIB="\${SHLIB_LD} -o ${ITCL_LIB_FILE} \${OBJS} ${SHLIB_LD_LIBS}" +- RANLIB=":" +-else +- ITCL_SHLIB_CFLAGS="" +- eval "ITCL_LIB_FILE=libitcl${VERSION}.a" +- ITCL_PKG_FILE="" +- MAKE_LIB="ar cr ${ITCL_LIB_FILE} \${OBJS}" +-fi +- +-# Note: in the following variable, it's important to use the absolute +-# path name of the Tcl directory rather than "..": this is because +-# AIX remembers this path and will attempt to use it at run-time to look +-# up the Tcl library. +- +-if test "$GCC" = yes; then +- ITCL_BUILD_LIB_SPEC="-L`pwd` -l${ITCLLIBSPEC}" +- ITCL_LIB_SPEC="-L${exec_prefix}/lib/itcl -l{ITCLLIBSPEC}" +- ITCL_LIB_FULL_PATH="`pwd`/${ITCLLIB}" +-else +- tmp="`pwd`/${ITCLLIB}" +- tmp2="`cygpath --windows $tmp`" +- ITCL_BUILD_LIB_SPEC="`echo $tmp2 | sed -e s#\\\\\\\\#/#g`" +- ITCL_LIB_FULL_PATH=${ITCL_BUILD_LIB_SPEC} +- tmp="${exec_prefix}/lib/itcl/${ITCLLIB}" +- tmp2="`cygpath --windows $tmp`" +- ITCL_LIB_SPEC="`echo $tmp2 | sed -e s#\\\\\\\\#/#g`" +-fi +- +-#------------------------------------------------------------------- +-# Set up the libraries to link with. +-#------------------------------------------------------------------- +-if test "$GCC" = yes; then +- BASELIBS="-lkernel32 $(optlibs) -ladvapi32 -luser32" +- WINLIBS="-lgdi32 -lcomdlg32 -lwinspool" +- LIBCDLL= +-else +- BASELIBS="kernel32.lib advapi32.lib user32.lib" +- WINLIBS="gdi32.lib comdlg32.lib winspool.lib" +- LIBCDLL="msvcrt.lib oldnames.lib" +-fi +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ac_config_files="$ac_config_files Makefile ../unix/pkgIndex.tcl ../itclConfig.sh" +-cat >confcache <<\_ACEOF +-# This file is a shell script that caches the results of configure +-# tests run on this system so they can be shared between configure +-# scripts and configure runs, see configure's option --config-cache. +-# It is not useful on other systems. If it contains results you don't +-# want to keep, you may remove or edit it. +-# +-# config.status only pays attention to the cache file if you give it +-# the --recheck option to rerun configure. +-# +-# `ac_cv_env_foo' variables (set or unset) will be overridden when +-# loading this file, other *unset* `ac_cv_foo' will be assigned the +-# following values. +- +-_ACEOF +- +-# The following way of writing the cache mishandles newlines in values, +-# but we know of no workaround that is simple, portable, and efficient. +-# So, don't put newlines in cache variables' values. +-# Ultrix sh set writes to stderr and can't be redirected directly, +-# and sets the high bit in the cache file unless we assign to the vars. +-{ +- (set) 2>&1 | +- case `(ac_space=' '; set | grep ac_space) 2>&1` in +- *ac_space=\ *) +- # `set' does not quote correctly, so add quotes (double-quote +- # substitution turns \\\\ into \\, and sed turns \\ into \). +- sed -n \ +- "s/'/'\\\\''/g; +- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" +- ;; +- *) +- # `set' quotes correctly as required by POSIX, so do not add quotes. +- sed -n \ +- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" +- ;; +- esac; +-} | +- sed ' +- t clear +- : clear +- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ +- t end +- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ +- : end' >>confcache +-if diff $cache_file confcache >/dev/null 2>&1; then :; else +- if test -w $cache_file; then +- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" +- cat confcache >$cache_file +- else +- echo "not updating unwritable cache $cache_file" +- fi +-fi +-rm -f confcache +- +-test "x$prefix" = xNONE && prefix=$ac_default_prefix +-# Let make expand exec_prefix. +-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' +- +-# VPATH may cause trouble with some makes, so we remove $(srcdir), +-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +-# trailing colons and then remove the whole line if VPATH becomes empty +-# (actually we leave an empty line to preserve line numbers). +-if test "x$srcdir" = x.; then +- ac_vpsub='/^[ ]*VPATH[ ]*=/{ +-s/:*\$(srcdir):*/:/; +-s/:*\${srcdir}:*/:/; +-s/:*@srcdir@:*/:/; +-s/^\([^=]*=[ ]*\):*/\1/; +-s/:*$//; +-s/^[^=]*=[ ]*$//; +-}' +-fi +- +-# Transform confdefs.h into DEFS. +-# Protect against shell expansion while executing Makefile rules. +-# Protect against Makefile macro expansion. +-# +-# If the first sed substitution is executed (which looks for macros that +-# take arguments), then we branch to the quote section. Otherwise, +-# look for a macro that doesn't take arguments. +-cat >confdef2opt.sed <<\_ACEOF +-t clear +-: clear +-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g +-t quote +-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g +-t quote +-d +-: quote +-s,[ `~#$^&*(){}\\|;'"<>?],\\&,g +-s,\[,\\&,g +-s,\],\\&,g +-s,\$,$$,g +-p +-_ACEOF +-# We use echo to avoid assuming a particular line-breaking character. +-# The extra dot is to prevent the shell from consuming trailing +-# line-breaks from the sub-command output. A line-break within +-# single-quotes doesn't work because, if this script is created in a +-# platform that uses two characters for line-breaks (e.g., DOS), tr +-# would break. +-ac_LF_and_DOT=`echo; echo .` +-DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` +-rm -f confdef2opt.sed +- +- +-ac_libobjs= +-ac_ltlibobjs= +-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue +- # 1. Remove the extension, and $U if already installed. +- ac_i=`echo "$ac_i" | +- sed 's/\$U\././;s/\.o$//;s/\.obj$//'` +- # 2. Add them. +- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" +- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' +-done +-LIBOBJS=$ac_libobjs +- +-LTLIBOBJS=$ac_ltlibobjs +- +- +- +-: ${CONFIG_STATUS=./config.status} +-ac_clean_files_save=$ac_clean_files +-ac_clean_files="$ac_clean_files $CONFIG_STATUS" +-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +-echo "$as_me: creating $CONFIG_STATUS" >&6;} +-cat >$CONFIG_STATUS <<_ACEOF +-#! $SHELL +-# Generated by $as_me. +-# Run this file to recreate the current configuration. +-# Compiler output produced by configure, useful for debugging +-# configure, is in config.log if it exists. +- +-debug=false +-ac_cs_recheck=false +-ac_cs_silent=false +-SHELL=\${CONFIG_SHELL-$SHELL} +-_ACEOF +- +-cat >>$CONFIG_STATUS <<\_ACEOF +-## --------------------- ## +-## M4sh Initialization. ## +-## --------------------- ## +- +-# Be Bourne compatible +-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +- emulate sh +- NULLCMD=: +- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which +- # is contrary to our usage. Disable this feature. +- alias -g '${1+"$@"}'='"$@"' +-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then +- set -o posix +-fi +-DUALCASE=1; export DUALCASE # for MKS sh +- +-# Support unset when possible. +-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then +- as_unset=unset +-else +- as_unset=false +-fi +- +- +-# Work around bugs in pre-3.0 UWIN ksh. +-$as_unset ENV MAIL MAILPATH +-PS1='$ ' +-PS2='> ' +-PS4='+ ' +- +-# NLS nuisances. +-for as_var in \ +- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ +- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ +- LC_TELEPHONE LC_TIME +-do +- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then +- eval $as_var=C; export $as_var +- else +- $as_unset $as_var +- fi +-done +- +-# Required to use basename. +-if expr a : '\(a\)' >/dev/null 2>&1; then +- as_expr=expr +-else +- as_expr=false +-fi +- +-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then +- as_basename=basename +-else +- as_basename=false +-fi +- +- +-# Name of the executable. +-as_me=`$as_basename "$0" || +-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ +- X"$0" : 'X\(//\)$' \| \ +- X"$0" : 'X\(/\)$' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X/"$0" | +- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } +- /^X\/\(\/\/\)$/{ s//\1/; q; } +- /^X\/\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- +- +-# PATH needs CR, and LINENO needs CR and PATH. +-# Avoid depending upon Character Ranges. +-as_cr_letters='abcdefghijklmnopqrstuvwxyz' +-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +-as_cr_Letters=$as_cr_letters$as_cr_LETTERS +-as_cr_digits='0123456789' +-as_cr_alnum=$as_cr_Letters$as_cr_digits +- +-# The user is always right. +-if test "${PATH_SEPARATOR+set}" != set; then +- echo "#! /bin/sh" >conf$$.sh +- echo "exit 0" >>conf$$.sh +- chmod +x conf$$.sh +- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then +- PATH_SEPARATOR=';' +- else +- PATH_SEPARATOR=: +- fi +- rm -f conf$$.sh +-fi +- +- +- as_lineno_1=$LINENO +- as_lineno_2=$LINENO +- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` +- test "x$as_lineno_1" != "x$as_lineno_2" && +- test "x$as_lineno_3" = "x$as_lineno_2" || { +- # Find who we are. Look in the path if we contain no path at all +- # relative or not. +- case $0 in +- *[\\/]* ) as_myself=$0 ;; +- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +-done +- +- ;; +- esac +- # We did not find ourselves, most probably we were run as `sh COMMAND' +- # in which case we are not to be found in the path. +- if test "x$as_myself" = x; then +- as_myself=$0 +- fi +- if test ! -f "$as_myself"; then +- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} +- { (exit 1); exit 1; }; } +- fi +- case $CONFIG_SHELL in +- '') +- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for as_base in sh bash ksh sh5; do +- case $as_dir in +- /*) +- if ("$as_dir/$as_base" -c ' +- as_lineno_1=$LINENO +- as_lineno_2=$LINENO +- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` +- test "x$as_lineno_1" != "x$as_lineno_2" && +- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then +- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } +- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } +- CONFIG_SHELL=$as_dir/$as_base +- export CONFIG_SHELL +- exec "$CONFIG_SHELL" "$0" ${1+"$@"} +- fi;; +- esac +- done +-done +-;; +- esac +- +- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO +- # uniformly replaced by the line number. The first 'sed' inserts a +- # line-number line before each line; the second 'sed' does the real +- # work. The second script uses 'N' to pair each line-number line +- # with the numbered line, and appends trailing '-' during +- # substitution so that $LINENO is not a special case at line end. +- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the +- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) +- sed '=' <$as_myself | +- sed ' +- N +- s,$,-, +- : loop +- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, +- t loop +- s,-$,, +- s,^['$as_cr_digits']*\n,, +- ' >$as_me.lineno && +- chmod +x $as_me.lineno || +- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} +- { (exit 1); exit 1; }; } +- +- # Don't try to exec as it changes $[0], causing all sort of problems +- # (the dirname of $[0] is not the place where we might find the +- # original and so on. Autoconf is especially sensible to this). +- . ./$as_me.lineno +- # Exit status is that of the last command. +- exit +-} +- +- +-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in +- *c*,-n*) ECHO_N= ECHO_C=' +-' ECHO_T=' ' ;; +- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; +- *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +-esac +- +-if expr a : '\(a\)' >/dev/null 2>&1; then +- as_expr=expr +-else +- as_expr=false +-fi +- +-rm -f conf$$ conf$$.exe conf$$.file +-echo >conf$$.file +-if ln -s conf$$.file conf$$ 2>/dev/null; then +- # We could just check for DJGPP; but this test a) works b) is more generic +- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). +- if test -f conf$$.exe; then +- # Don't use ln at all; we don't have any links +- as_ln_s='cp -p' +- else +- as_ln_s='ln -s' +- fi +-elif ln conf$$.file conf$$ 2>/dev/null; then +- as_ln_s=ln +-else +- as_ln_s='cp -p' +-fi +-rm -f conf$$ conf$$.exe conf$$.file +- +-if mkdir -p . 2>/dev/null; then +- as_mkdir_p=: +-else +- test -d ./-p && rmdir ./-p +- as_mkdir_p=false +-fi +- +-as_executable_p="test -f" +- +-# Sed expression to map a string onto a valid CPP name. +-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +- +-# Sed expression to map a string onto a valid variable name. +-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +- +- +-# IFS +-# We need space, tab and new line, in precisely that order. +-as_nl=' +-' +-IFS=" $as_nl" +- +-# CDPATH. +-$as_unset CDPATH +- +-exec 6>&1 +- +-# Open the log real soon, to keep \$[0] and so on meaningful, and to +-# report actual input values of CONFIG_FILES etc. instead of their +-# values after options handling. Logging --version etc. is OK. +-exec 5>>config.log +-{ +- echo +- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +-## Running $as_me. ## +-_ASBOX +-} >&5 +-cat >&5 <<_CSEOF +- +-This file was extended by $as_me, which was +-generated by GNU Autoconf 2.59. Invocation command line was +- +- CONFIG_FILES = $CONFIG_FILES +- CONFIG_HEADERS = $CONFIG_HEADERS +- CONFIG_LINKS = $CONFIG_LINKS +- CONFIG_COMMANDS = $CONFIG_COMMANDS +- $ $0 $@ +- +-_CSEOF +-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +-echo >&5 +-_ACEOF +- +-# Files that config.status was made for. +-if test -n "$ac_config_files"; then +- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS +-fi +- +-if test -n "$ac_config_headers"; then +- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS +-fi +- +-if test -n "$ac_config_links"; then +- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS +-fi +- +-if test -n "$ac_config_commands"; then +- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS +-fi +- +-cat >>$CONFIG_STATUS <<\_ACEOF +- +-ac_cs_usage="\ +-\`$as_me' instantiates files from templates according to the +-current configuration. +- +-Usage: $0 [OPTIONS] [FILE]... +- +- -h, --help print this help, then exit +- -V, --version print version number, then exit +- -q, --quiet do not print progress messages +- -d, --debug don't remove temporary files +- --recheck update $as_me by reconfiguring in the same conditions +- --file=FILE[:TEMPLATE] +- instantiate the configuration file FILE +- +-Configuration files: +-$config_files +- +-Report bugs to ." +-_ACEOF +- +-cat >>$CONFIG_STATUS <<_ACEOF +-ac_cs_version="\\ +-config.status +-configured by $0, generated by GNU Autoconf 2.59, +- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" +- +-Copyright (C) 2003 Free Software Foundation, Inc. +-This config.status script is free software; the Free Software Foundation +-gives unlimited permission to copy, distribute and modify it." +-srcdir=$srcdir +-INSTALL="$INSTALL" +-_ACEOF +- +-cat >>$CONFIG_STATUS <<\_ACEOF +-# If no file are specified by the user, then we need to provide default +-# value. By we need to know if files were specified by the user. +-ac_need_defaults=: +-while test $# != 0 +-do +- case $1 in +- --*=*) +- ac_option=`expr "x$1" : 'x\([^=]*\)='` +- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` +- ac_shift=: +- ;; +- -*) +- ac_option=$1 +- ac_optarg=$2 +- ac_shift=shift +- ;; +- *) # This is not an option, so the user has probably given explicit +- # arguments. +- ac_option=$1 +- ac_need_defaults=false;; +- esac +- +- case $ac_option in +- # Handling of the options. +-_ACEOF +-cat >>$CONFIG_STATUS <<\_ACEOF +- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) +- ac_cs_recheck=: ;; +- --version | --vers* | -V ) +- echo "$ac_cs_version"; exit 0 ;; +- --he | --h) +- # Conflict between --help and --header +- { { echo "$as_me:$LINENO: error: ambiguous option: $1 +-Try \`$0 --help' for more information." >&5 +-echo "$as_me: error: ambiguous option: $1 +-Try \`$0 --help' for more information." >&2;} +- { (exit 1); exit 1; }; };; +- --help | --hel | -h ) +- echo "$ac_cs_usage"; exit 0 ;; +- --debug | --d* | -d ) +- debug=: ;; +- --file | --fil | --fi | --f ) +- $ac_shift +- CONFIG_FILES="$CONFIG_FILES $ac_optarg" +- ac_need_defaults=false;; +- --header | --heade | --head | --hea ) +- $ac_shift +- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" +- ac_need_defaults=false;; +- -q | -quiet | --quiet | --quie | --qui | --qu | --q \ +- | -silent | --silent | --silen | --sile | --sil | --si | --s) +- ac_cs_silent=: ;; +- +- # This is an error. +- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +-Try \`$0 --help' for more information." >&5 +-echo "$as_me: error: unrecognized option: $1 +-Try \`$0 --help' for more information." >&2;} +- { (exit 1); exit 1; }; } ;; +- +- *) ac_config_targets="$ac_config_targets $1" ;; +- +- esac +- shift +-done +- +-ac_configure_extra_args= +- +-if $ac_cs_silent; then +- exec 6>/dev/null +- ac_configure_extra_args="$ac_configure_extra_args --silent" +-fi +- +-_ACEOF +-cat >>$CONFIG_STATUS <<_ACEOF +-if \$ac_cs_recheck; then +- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 +- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +-fi +- +-_ACEOF +- +- +- +- +- +-cat >>$CONFIG_STATUS <<\_ACEOF +-for ac_config_target in $ac_config_targets +-do +- case "$ac_config_target" in +- # Handling of arguments. +- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; +- "../unix/pkgIndex.tcl" ) CONFIG_FILES="$CONFIG_FILES ../unix/pkgIndex.tcl" ;; +- "../itclConfig.sh" ) CONFIG_FILES="$CONFIG_FILES ../itclConfig.sh" ;; +- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +-echo "$as_me: error: invalid argument: $ac_config_target" >&2;} +- { (exit 1); exit 1; }; };; +- esac +-done +- +-# If the user did not use the arguments to specify the items to instantiate, +-# then the envvar interface is used. Set only those that are not. +-# We use the long form for the default assignment because of an extremely +-# bizarre bug on SunOS 4.1.3. +-if $ac_need_defaults; then +- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files +-fi +- +-# Have a temporary directory for convenience. Make it in the build tree +-# simply because there is no reason to put it here, and in addition, +-# creating and moving files from /tmp can sometimes cause problems. +-# Create a temporary directory, and hook for its removal unless debugging. +-$debug || +-{ +- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 +- trap '{ (exit 1); exit 1; }' 1 2 13 15 +-} +- +-# Create a (secure) tmp directory for tmp files. +- +-{ +- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && +- test -n "$tmp" && test -d "$tmp" +-} || +-{ +- tmp=./confstat$$-$RANDOM +- (umask 077 && mkdir $tmp) +-} || +-{ +- echo "$me: cannot create a temporary directory in ." >&2 +- { (exit 1); exit 1; } +-} +- +-_ACEOF +- +-cat >>$CONFIG_STATUS <<_ACEOF +- +-# +-# CONFIG_FILES section. +-# +- +-# No need to generate the scripts if there are no CONFIG_FILES. +-# This happens for instance when ./config.status config.h +-if test -n "\$CONFIG_FILES"; then +- # Protect against being on the right side of a sed subst in config.status. +- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; +- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF +-s,@SHELL@,$SHELL,;t t +-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t +-s,@exec_prefix@,$exec_prefix,;t t +-s,@prefix@,$prefix,;t t +-s,@program_transform_name@,$program_transform_name,;t t +-s,@bindir@,$bindir,;t t +-s,@sbindir@,$sbindir,;t t +-s,@libexecdir@,$libexecdir,;t t +-s,@datadir@,$datadir,;t t +-s,@sysconfdir@,$sysconfdir,;t t +-s,@sharedstatedir@,$sharedstatedir,;t t +-s,@localstatedir@,$localstatedir,;t t +-s,@libdir@,$libdir,;t t +-s,@includedir@,$includedir,;t t +-s,@oldincludedir@,$oldincludedir,;t t +-s,@infodir@,$infodir,;t t +-s,@mandir@,$mandir,;t t +-s,@build_alias@,$build_alias,;t t +-s,@host_alias@,$host_alias,;t t +-s,@target_alias@,$target_alias,;t t +-s,@DEFS@,$DEFS,;t t +-s,@ECHO_C@,$ECHO_C,;t t +-s,@ECHO_N@,$ECHO_N,;t t +-s,@ECHO_T@,$ECHO_T,;t t +-s,@LIBS@,$LIBS,;t t +-s,@build@,$build,;t t +-s,@build_cpu@,$build_cpu,;t t +-s,@build_vendor@,$build_vendor,;t t +-s,@build_os@,$build_os,;t t +-s,@host@,$host,;t t +-s,@host_cpu@,$host_cpu,;t t +-s,@host_vendor@,$host_vendor,;t t +-s,@host_os@,$host_os,;t t +-s,@RANLIB@,$RANLIB,;t t +-s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t +-s,@CC@,$CC,;t t +-s,@CFLAGS@,$CFLAGS,;t t +-s,@LDFLAGS@,$LDFLAGS,;t t +-s,@CPPFLAGS@,$CPPFLAGS,;t t +-s,@ac_ct_CC@,$ac_ct_CC,;t t +-s,@EXEEXT@,$EXEEXT,;t t +-s,@OBJEXT@,$OBJEXT,;t t +-s,@NM@,$NM,;t t +-s,@AS@,$AS,;t t +-s,@LD@,$LD,;t t +-s,@DLLTOOL@,$DLLTOOL,;t t +-s,@WINDRES@,$WINDRES,;t t +-s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t +-s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t +-s,@INSTALL_DATA@,$INSTALL_DATA,;t t +-s,@DLL_LDFLAGS@,$DLL_LDFLAGS,;t t +-s,@DLL_LDLIBS@,$DLL_LDLIBS,;t t +-s,@ac_prefix_program@,$ac_prefix_program,;t t +-s,@CPP@,$CPP,;t t +-s,@EGREP@,$EGREP,;t t +-s,@DL_LIBS@,$DL_LIBS,;t t +-s,@LD_FLAGS@,$LD_FLAGS,;t t +-s,@MATH_LIBS@,$MATH_LIBS,;t t +-s,@MAKE_LIB@,$MAKE_LIB,;t t +-s,@SHLIB_CFLAGS@,$SHLIB_CFLAGS,;t t +-s,@SHLIB_LD@,$SHLIB_LD,;t t +-s,@SHLIB_LD_LIBS@,$SHLIB_LD_LIBS,;t t +-s,@SHLIB_SUFFIX@,$SHLIB_SUFFIX,;t t +-s,@SHLIB_VERSION@,$SHLIB_VERSION,;t t +-s,@TCL_BIN_DIR@,$TCL_BIN_DIR,;t t +-s,@TCL_BUILD_LIB_SPEC@,$TCL_BUILD_LIB_SPEC,;t t +-s,@TCL_SRC_DIR@,$TCL_SRC_DIR,;t t +-s,@TCL_VERSION@,$TCL_VERSION,;t t +-s,@TCL_LIB_FILE@,$TCL_LIB_FILE,;t t +-s,@TCL_LIB_FULL_PATH@,$TCL_LIB_FULL_PATH,;t t +-s,@ITCL_BUILD_LIB_SPEC@,$ITCL_BUILD_LIB_SPEC,;t t +-s,@ITCL_LD_SEARCH_FLAGS@,$ITCL_LD_SEARCH_FLAGS,;t t +-s,@ITCL_LIB_FILE@,$ITCL_LIB_FILE,;t t +-s,@ITCL_LIB_FULL_PATH@,$ITCL_LIB_FULL_PATH,;t t +-s,@ITCL_LIB_SPEC@,$ITCL_LIB_SPEC,;t t +-s,@ITCL_MAJOR_VERSION@,$ITCL_MAJOR_VERSION,;t t +-s,@ITCL_MINOR_VERSION@,$ITCL_MINOR_VERSION,;t t +-s,@ITCL_PKG_FILE@,$ITCL_PKG_FILE,;t t +-s,@ITCL_SHLIB_CFLAGS@,$ITCL_SHLIB_CFLAGS,;t t +-s,@ITCL_SRC_DIR@,$ITCL_SRC_DIR,;t t +-s,@ITCL_VERSION@,$ITCL_VERSION,;t t +-s,@CYGITCLLIB@,$CYGITCLLIB,;t t +-s,@CYGITCLDLL@,$CYGITCLDLL,;t t +-s,@CYGITCLSH@,$CYGITCLSH,;t t +-s,@CYGITCLDEF@,$CYGITCLDEF,;t t +-s,@CYGITCLTEST@,$CYGITCLTEST,;t t +-s,@CYGIMPORTLIB@,$CYGIMPORTLIB,;t t +-s,@CYGITCLRES@,$CYGITCLRES,;t t +-s,@CYGITCLSHRES@,$CYGITCLSHRES,;t t +-s,@SNITCLLIB@,$SNITCLLIB,;t t +-s,@SNITCLDLL@,$SNITCLDLL,;t t +-s,@SNITCLSH@,$SNITCLSH,;t t +-s,@SNITCLDEF@,$SNITCLDEF,;t t +-s,@SNITCLTEST@,$SNITCLTEST,;t t +-s,@SNIMPORTLIB@,$SNIMPORTLIB,;t t +-s,@SNITCLRES@,$SNITCLRES,;t t +-s,@SNITCLSHRES@,$SNITCLSHRES,;t t +-s,@ITCLLIB@,$ITCLLIB,;t t +-s,@ITCLDLL@,$ITCLDLL,;t t +-s,@ITCLSH@,$ITCLSH,;t t +-s,@ITCLDEF@,$ITCLDEF,;t t +-s,@ITCLTEST@,$ITCLTEST,;t t +-s,@ITCLIMPORTLIB@,$ITCLIMPORTLIB,;t t +-s,@ITCLRES@,$ITCLRES,;t t +-s,@ITCL_SH@,$ITCL_SH,;t t +-s,@BASELIBS@,$BASELIBS,;t t +-s,@WINLIBS@,$WINLIBS,;t t +-s,@LIBCDLL@,$LIBCDLL,;t t +-s,@LIBOBJS@,$LIBOBJS,;t t +-s,@LTLIBOBJS@,$LTLIBOBJS,;t t +-CEOF +- +-_ACEOF +- +- cat >>$CONFIG_STATUS <<\_ACEOF +- # Split the substitutions into bite-sized pieces for seds with +- # small command number limits, like on Digital OSF/1 and HP-UX. +- ac_max_sed_lines=48 +- ac_sed_frag=1 # Number of current file. +- ac_beg=1 # First line for current file. +- ac_end=$ac_max_sed_lines # Line after last line for current file. +- ac_more_lines=: +- ac_sed_cmds= +- while $ac_more_lines; do +- if test $ac_beg -gt 1; then +- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag +- else +- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag +- fi +- if test ! -s $tmp/subs.frag; then +- ac_more_lines=false +- else +- # The purpose of the label and of the branching condition is to +- # speed up the sed processing (if there are no `@' at all, there +- # is no need to browse any of the substitutions). +- # These are the two extra sed commands mentioned above. +- (echo ':t +- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed +- if test -z "$ac_sed_cmds"; then +- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" +- else +- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" +- fi +- ac_sed_frag=`expr $ac_sed_frag + 1` +- ac_beg=$ac_end +- ac_end=`expr $ac_end + $ac_max_sed_lines` +- fi +- done +- if test -z "$ac_sed_cmds"; then +- ac_sed_cmds=cat +- fi +-fi # test -n "$CONFIG_FILES" +- +-_ACEOF +-cat >>$CONFIG_STATUS <<\_ACEOF +-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue +- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". +- case $ac_file in +- - | *:- | *:-:* ) # input from stdin +- cat >$tmp/stdin +- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` +- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; +- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` +- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; +- * ) ac_file_in=$ac_file.in ;; +- esac +- +- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. +- ac_dir=`(dirname "$ac_file") 2>/dev/null || +-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$ac_file" : 'X\(//\)[^/]' \| \ +- X"$ac_file" : 'X\(//\)$' \| \ +- X"$ac_file" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X"$ac_file" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- { if $as_mkdir_p; then +- mkdir -p "$ac_dir" +- else +- as_dir="$ac_dir" +- as_dirs= +- while test ! -d "$as_dir"; do +- as_dirs="$as_dir $as_dirs" +- as_dir=`(dirname "$as_dir") 2>/dev/null || +-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$as_dir" : 'X\(//\)[^/]' \| \ +- X"$as_dir" : 'X\(//\)$' \| \ +- X"$as_dir" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X"$as_dir" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- done +- test ! -n "$as_dirs" || mkdir $as_dirs +- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} +- { (exit 1); exit 1; }; }; } +- +- ac_builddir=. +- +-if test "$ac_dir" != .; then +- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` +- # A "../" for each directory in $ac_dir_suffix. +- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +-else +- ac_dir_suffix= ac_top_builddir= +-fi +- +-case $srcdir in +- .) # No --srcdir option. We are building in place. +- ac_srcdir=. +- if test -z "$ac_top_builddir"; then +- ac_top_srcdir=. +- else +- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` +- fi ;; +- [\\/]* | ?:[\\/]* ) # Absolute path. +- ac_srcdir=$srcdir$ac_dir_suffix; +- ac_top_srcdir=$srcdir ;; +- *) # Relative path. +- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix +- ac_top_srcdir=$ac_top_builddir$srcdir ;; +-esac +- +-# Do not use `cd foo && pwd` to compute absolute paths, because +-# the directories may not exist. +-case `pwd` in +-.) ac_abs_builddir="$ac_dir";; +-*) +- case "$ac_dir" in +- .) ac_abs_builddir=`pwd`;; +- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; +- *) ac_abs_builddir=`pwd`/"$ac_dir";; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_builddir=${ac_top_builddir}.;; +-*) +- case ${ac_top_builddir}. in +- .) ac_abs_top_builddir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; +- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_srcdir=$ac_srcdir;; +-*) +- case $ac_srcdir in +- .) ac_abs_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; +- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_srcdir=$ac_top_srcdir;; +-*) +- case $ac_top_srcdir in +- .) ac_abs_top_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; +- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; +- esac;; +-esac +- +- +- case $INSTALL in +- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; +- *) ac_INSTALL=$ac_top_builddir$INSTALL ;; +- esac +- +- if test x"$ac_file" != x-; then +- { echo "$as_me:$LINENO: creating $ac_file" >&5 +-echo "$as_me: creating $ac_file" >&6;} +- rm -f "$ac_file" +- fi +- # Let's still pretend it is `configure' which instantiates (i.e., don't +- # use $as_me), people would be surprised to read: +- # /* config.h. Generated by config.status. */ +- if test x"$ac_file" = x-; then +- configure_input= +- else +- configure_input="$ac_file. " +- fi +- configure_input=$configure_input"Generated from `echo $ac_file_in | +- sed 's,.*/,,'` by configure." +- +- # First look for the input files in the build tree, otherwise in the +- # src tree. +- ac_file_inputs=`IFS=: +- for f in $ac_file_in; do +- case $f in +- -) echo $tmp/stdin ;; +- [\\/$]*) +- # Absolute (can't be DOS-style, as IFS=:) +- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +-echo "$as_me: error: cannot find input file: $f" >&2;} +- { (exit 1); exit 1; }; } +- echo "$f";; +- *) # Relative +- if test -f "$f"; then +- # Build tree +- echo "$f" +- elif test -f "$srcdir/$f"; then +- # Source tree +- echo "$srcdir/$f" +- else +- # /dev/null tree +- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +-echo "$as_me: error: cannot find input file: $f" >&2;} +- { (exit 1); exit 1; }; } +- fi;; +- esac +- done` || { (exit 1); exit 1; } +-_ACEOF +-cat >>$CONFIG_STATUS <<_ACEOF +- sed "$ac_vpsub +-$extrasub +-_ACEOF +-cat >>$CONFIG_STATUS <<\_ACEOF +-:t +-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +-s,@configure_input@,$configure_input,;t t +-s,@srcdir@,$ac_srcdir,;t t +-s,@abs_srcdir@,$ac_abs_srcdir,;t t +-s,@top_srcdir@,$ac_top_srcdir,;t t +-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +-s,@builddir@,$ac_builddir,;t t +-s,@abs_builddir@,$ac_abs_builddir,;t t +-s,@top_builddir@,$ac_top_builddir,;t t +-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +-s,@INSTALL@,$ac_INSTALL,;t t +-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out +- rm -f $tmp/stdin +- if test x"$ac_file" != x-; then +- mv $tmp/out $ac_file +- else +- cat $tmp/out +- rm -f $tmp/out +- fi +- +-done +-_ACEOF +- +-cat >>$CONFIG_STATUS <<\_ACEOF +- +-{ (exit 0); exit 0; } +-_ACEOF +-chmod +x $CONFIG_STATUS +-ac_clean_files=$ac_clean_files_save +- +- +-# configure is writing to config.log, and then calls config.status. +-# config.status does its own redirection, appending to config.log. +-# Unfortunately, on DOS this fails, as config.log is still kept open +-# by configure, so config.status won't be able to write to it; its +-# output is simply discarded. So we exec the FD to /dev/null, +-# effectively closing config.log, so it can be properly (re)opened and +-# appended to by config.status. When coming back to configure, we +-# need to make the FD available again. +-if test "$no_create" != yes; then +- ac_cs_success=: +- ac_config_status_args= +- test "$silent" = yes && +- ac_config_status_args="$ac_config_status_args --quiet" +- exec 5>/dev/null +- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false +- exec 5>>config.log +- # Use ||, not &&, to avoid exiting from the if with $? = 1, which +- # would make configure fail if this is the last instruction. +- $ac_cs_success || { (exit 1); exit 1; } +-fi +- +diff -Naur insight-6.8.orig/itcl/itcl/win/configure.in insight-6.8.new/itcl/itcl/win/configure.in +--- insight-6.8.orig/itcl/itcl/win/configure.in 2003-01-21 21:40:28.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/win/configure.in 1970-01-01 01:00:00.000000000 +0100 +@@ -1,429 +0,0 @@ +-dnl This whole file is CYGNUS LOCAL +-dnl This file is an input file used by the GNU "autoconf" program to +-dnl generate the file "configure", which is run during [incr Tcl] +-dnl installation to configure the system for the local environment. +- +-AC_PREREQ(2.5) +- +-AC_INIT(../generic/itcl.h) +- +-AC_CONFIG_AUX_DIR(../../../) +-AC_CANONICAL_HOST +- +-AC_PROG_RANLIB +- +-AC_PROG_CC +-AC_OBJEXT +-NM=${NM-nm} +-AC_SUBST(NM) +-AS=${AS-as} +-AC_SUBST(AS) +-LD=${LD-ld} +-AC_SUBST(LD) +-DLLTOOL=${DLLTOOL-dlltool} +-AC_SUBST(DLLTOOL) +-WINDRES=${WINDRES-windres} +-AC_SUBST(WINDRES) +- +-AC_PROG_INSTALL +- +-# needed for the subtle differences between cygwin and mingw32 +-case "${host}" in +-*-*-cygwin*) +- TCL_ALLOC_OBJ= +- DLL_LDLIBS=-lcygwin +- DLL_LDFLAGS='-nostartfiles -Wl,--dll' +- ;; +-*-*-mingw32*) +- TCL_ALLOC_OBJ='$(TMPDIR)/tclAlloc.o' +- DLL_LDLIBS= +- DLL_LDFLAGS='-mdll' +- ;; +-esac +-AC_SUBST(DLL_LDFLAGS) +-AC_SUBST(DLL_LDLIBS) +- +-ITCL_VERSION=3.0 +-ITCL_MAJOR_VERSION=3 +-ITCL_MINOR_VERSION=0 +-VERSION=${ITCL_MAJOR_VERSION}${ITCL_MINOR_VERSION} +- +- +-if test "${prefix}" = "NONE"; then +- prefix=/usr/local +-fi +-if test "${exec_prefix}" = "NONE"; then +- exec_prefix=$prefix +-fi +- +-# ----------------------------------------------------------------------- +-# Set up a new default --prefix. If a previous installation of +-# [incr Tcl] can be found searching $PATH use that directory. +-# ----------------------------------------------------------------------- +- +-AC_PREFIX_DEFAULT(/usr/local) +-AC_PREFIX_PROGRAM(itkwish) +- +-if test "${prefix}" = "NONE"; then +- prefix=/usr/local +-fi +-if test "${exec_prefix}" = "NONE"; then +- exec_prefix=$prefix +-fi +- +-# ----------------------------------------------------------------------- +-BUILD_DIR=`pwd` +-ITCL_SRC_DIR=`cd $srcdir/..; pwd` +- +-if ! test "$GCC" = yes; then +- tmp="`cygpath --windows $ITCL_SRC_DIR`" +- ITCL_SRC_DIR="`echo $tmp | sed -e s#\\\\\\\\#/#g`" +-fi +- +-cd ${BUILD_DIR} +- +-AC_ARG_ENABLE(gcc, [ --enable-gcc allow use of gcc if available], +- [itcl_ok=$enableval], [itcl_ok=no]) +-if test "$itcl_ok" = "yes"; then +- AC_PROG_CC +-else +- CC=${CC-cc} +-AC_SUBST(CC) +-fi +-AC_HAVE_HEADERS(unistd.h limits.h) +- +-#-------------------------------------------------------------------- +-# See if there was a command-line option for where Tcl is; if +-# not, assume that its top-level directory is a sibling of ours. +-# CYGNUS LOCAL - Actually, tcl is one level higher - a sibling of the +-# itcl directory that contains itcl proper, itk & iwidgets. +-#-------------------------------------------------------------------- +- +-AC_ARG_WITH(tcl, [ --with-tcl=DIR use Tcl 8.0 binaries from DIR], +- TCL_BIN_DIR=$withval, TCL_BIN_DIR=`cd ../../../tcl/win; pwd`) +- +-if test ! -f $TCL_BIN_DIR/../unix/tclConfig.sh; then +- TCL_BIN_DIR=`cd ../../../tcl8.1/win;pwd` +-fi +- +-if test ! -f $TCL_BIN_DIR/../unix/tclConfig.sh; then +- AC_MSG_ERROR(There's no tclConfig.sh in $TCL_BIN_DIR; perhaps you didn't specify the Tcl *build* directory (not the toplevel Tcl directory) or you forgot to configure Tcl?) +-fi +- +-#-------------------------------------------------------------------- +-# Read in configuration information generated by Tcl for shared +-# libraries, and arrange for it to be substituted into our +-# Makefile. +-#-------------------------------------------------------------------- +- +-file=$TCL_BIN_DIR/../unix/tclConfig.sh +-. $file +- +-dnl CFLAGS=$TCL_CFLAGS +-SHLIB_CFLAGS=$TCL_SHLIB_CFLAGS +-SHLIB_LD=$TCL_SHLIB_LD +-SHLIB_LD_LIBS=$TCL_SHLIB_LD_LIBS +-SHLIB_SUFFIX=$TCL_SHLIB_SUFFIX +-SHLIB_VERSION=$TCL_SHLIB_VERSION +-DL_LIBS=$TCL_DL_LIBS +-LD_FLAGS=$TCL_LD_FLAGS +-ITCL_LD_SEARCH_FLAGS=$TCL_LD_SEARCH_FLAGS +- +-AC_MSG_CHECKING([whether C compiler is gcc]) +-AC_CACHE_VAL(itcl_cv_prog_gcc, [ +- AC_EGREP_CPP(_cc_is_gcc_, [ +-#ifdef __GNUC__ +-_cc_is_gcc_ +-#endif +-], [itcl_cv_prog_gcc=yes], [itcl_cv_prog_gcc=no])]) +-AC_MSG_RESULT([$itcl_cv_prog_gcc]) +- +-if test -z "$CFLAGS" ; then +- CFLAGS="-O" +-fi +-if test "$itcl_cv_prog_gcc" = "yes" ; then +- CFLAGS="$CFLAGS -Wshadow -Wtraditional -Wall" +-fi +- +-AC_MSG_CHECKING([default compiler flags]) +-AC_ARG_WITH(cflags, [ --with-cflags=FLAGS set compiler flags to FLAGS], +- [CFLAGS="$with_cflags"]) +- +-AC_MSG_RESULT([$CFLAGS]) +- +-#-------------------------------------------------------------------- +-# Supply a substitute for stdlib.h if it doesn't define strtol, +-# strtoul, or strtod (which it doesn't in some versions of SunOS). +-#-------------------------------------------------------------------- +- +-AC_MSG_CHECKING(stdlib.h) +-AC_HEADER_EGREP(strtol, stdlib.h, itcl_ok=yes, itcl_ok=no) +-AC_HEADER_EGREP(strtoul, stdlib.h, , itcl_ok=no) +-AC_HEADER_EGREP(strtod, stdlib.h, , itcl_ok=no) +-if test $itcl_ok = no; then +- AC_DEFINE(NO_STDLIB_H) +-fi +-AC_MSG_RESULT($itcl_ok) +- +-#-------------------------------------------------------------------- +-# Check for various typedefs and provide substitutes if +-# they don't exist. +-#-------------------------------------------------------------------- +- +-AC_MODE_T +-AC_PID_T +-AC_SIZE_T +-AC_UID_T +- +-#-------------------------------------------------------------------- +-# Check for the existence of various libraries. The order here +-# is important, so that then end up in the right order in the +-# command line generated by make. The -lsocket and -lnsl libraries +-# require a couple of special tricks: +-# 1. Use "connect" and "accept" to check for -lsocket, and +-# "gethostbyname" to check for -lnsl. +-# 2. Use each function name only once: can't redo a check because +-# autoconf caches the results of the last check and won't redo it. +-# 3. Use -lnsl and -lsocket only if they supply procedures that +-# aren't already present in the normal libraries. This is because +-# IRIX 5.2 has libraries, but they aren't needed and they're +-# bogus: they goof up name resolution if used. +-# 4. On some SVR4 systems, can't use -lsocket without -lnsl too. +-# To get around this problem, check for both libraries together +-# if -lsocket doesn't work by itself. +-#-------------------------------------------------------------------- +- +-itcl_checkBoth=0 +-AC_CHECK_FUNC(connect, itcl_checkSocket=0, itcl_checkSocket=1) +-if test "$itcl_checkSocket" = 1; then +- AC_CHECK_LIB(socket, main, LIBS="$LIBS -lsocket", itcl_checkBoth=1) +-fi +-if test "$itcl_checkBoth" = 1; then +- itcl_oldLibs=$LIBS +- LIBS="$LIBS -lsocket -lnsl" +- AC_CHECK_FUNC(accept, itcl_checkNsl=0, [LIBS=$itcl_oldLibs]) +-fi +-AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, main, [LIBS="$LIBS -lnsl"])) +- +-#-------------------------------------------------------------------- +-# On a few very rare systems, all of the libm.a stuff is +-# already in libc.a. Set compiler flags accordingly. +-# Also, Linux requires the "ieee" library for math to +-# work right (and it must appear before "-lm"). +-#-------------------------------------------------------------------- +- +-MATH_LIBS="" +-AC_CHECK_FUNC(sin, , MATH_LIBS="-lm") +-AC_CHECK_LIB(ieee, main, [MATH_LIBS="-lieee $MATH_LIBS"]) +- +-#-------------------------------------------------------------------- +-# If this system doesn't have a memmove procedure, use memcpy +-# instead. +-#-------------------------------------------------------------------- +- +-AC_CHECK_FUNC(memmove, , [AC_DEFINE(memmove, memcpy)]) +- +-#-------------------------------------------------------------------- +-# Figure out whether "char" is unsigned. If so, set a +-# #define for __CHAR_UNSIGNED__. +-#-------------------------------------------------------------------- +- +-#AC_C_CHAR_UNSIGNED +- +-#-------------------------------------------------------------------- +-# Under Solaris 2.4, strtod returns the wrong value for the +-# terminating character under some conditions. Check for this +-# and if the problem exists use a substitute procedure +-# "fixstrtod" (provided by Tcl) that corrects the error. +-#-------------------------------------------------------------------- +- +-AC_CHECK_FUNC(strtod, itcl_strtod=1, itcl_strtod=0) +-if test "$itcl_strtod" = 1; then +- AC_MSG_CHECKING([for Solaris 2.4 strtod bug]) +- AC_TRY_RUN([ +- extern double strtod(); +- int main() +- { +- char *string = "NaN"; +- char *term; +- strtod(string, &term); +- if ((term != string) && (term[-1] == 0)) { +- exit(1); +- } +- exit(0); +- }], itcl_ok=1, itcl_ok=0, itcl_ok=0) +- if test "$itcl_ok" = 1; then +- AC_MSG_RESULT(ok) +- else +- AC_MSG_RESULT(buggy) +- AC_DEFINE(strtod, fixstrtod) +- fi +-fi +- +-#-------------------------------------------------------------------- +-# If we are building with cygwin, we need one set of library names, +-# otherwise, we need the Source-Navigator set. +-#-------------------------------------------------------------------- +- +-if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then +- CYGITCLLIBSPEC=itcl${VERSION} +-else +- CYGITCLLIBSPEC="itcl`echo ${VERSION} | tr -d .`" +-fi +-CYGITCLLIB=lib${CYGITCLLIBSPEC}.a +-CYGITCLDLL=cygitcl${VERSION}.dll +-CYGITCLSH=cygitclsh${VERSION}.exe +-CYGITCLDEF=itclcyg.def +-CYGITCLTEST=cygitcltest.exe +-CYGIMPORTLIB=cygitcl${VERSION}.lib +-CYGITCLRES=cygitcl.o +-CYGITCLSHRES=cygitclsh.o +- +-SNITCLLIBSPEC=itcl30.lib +-SNITCLLIB=${SNITCLLIBSPEC} +-SNITCLDLL=snitcl30.dll +-SNITCLSH=snitclsh30.exe +-SNITCLDEF=itclsn.def +-SNITCLTEST=snitcltest.exe +-SNIMPORTLIB=snitcl30.lib +-SNITCLRES=snitcl.obj +-SNITCLSHRES=snitclsh.obj +- +-if test "$GCC" = yes; then +-ITCLLIBSPEC=${CYGITCLLIBSPEC} +-ITCLLIB=${CYGITCLLIB} +-ITCLDLL=${CYGITCLDLL} +-ITCLSH=${CYGITCLSH} +-ITCLDEF=${CYGITCLDEF} +-ITCLTEST=${CYGITCLTEST} +-ITCLIMPORTLIB=${CYGIMPORTLIB} +-ITCLRES=${CYGITCLRES} +-ITCLSHRES=${CYGITCLSHRES} +-else +-ITCLLIBSPEC=${SNITCLLIBSPEC} +-ITCLLIB=${SNITCLLIB} +-ITCLDLL=${SNITCLDLL} +-ITCLSH=${SNITCLSH} +-ITCLDEF=${SNITCLDEF} +-ITCLTEST=${SNITCLTEST} +-ITCLIMPORTLIB=${SNIMPORTLIB} +-ITCLRES=${SNITCLRES} +-ITCLSHRES=${SNITCLSHRES} +-fi +- +-ITCL_SH="`pwd`/${ITCLSH}" +-if ! test "$GCC" = yes; then +- tmp="`cygpath --windows $ITCL_SH`" +- ITCL_SH="`echo $tmp | sed -e s#\\\\\\\\#/#g`" +-fi +- +- +-#-------------------------------------------------------------------- +-# The statements below define a collection of symbols related to +-# building libitcl as a shared library instead of a static library. +-#-------------------------------------------------------------------- +- +-AC_ARG_ENABLE(shared, +- [ --enable-shared build libitcl as a shared library], +- [ok=$enableval], [ok=no]) +-if test "$ok" = "yes" -a "${SHLIB_SUFFIX}" != ""; then +- ITCL_SHLIB_CFLAGS="${SHLIB_CFLAGS}" +- eval "ITCL_LIB_FILE=libitcl${VERSION}${SHLIB_SUFFIX}" +- ITCL_PKG_FILE="[[file join [file dirname \$dir] ${ITCL_LIB_FILE}]]" +- MAKE_LIB="\${SHLIB_LD} -o ${ITCL_LIB_FILE} \${OBJS} ${SHLIB_LD_LIBS}" +- RANLIB=":" +-else +- ITCL_SHLIB_CFLAGS="" +- eval "ITCL_LIB_FILE=libitcl${VERSION}.a" +- ITCL_PKG_FILE="" +- MAKE_LIB="ar cr ${ITCL_LIB_FILE} \${OBJS}" +-fi +- +-# Note: in the following variable, it's important to use the absolute +-# path name of the Tcl directory rather than "..": this is because +-# AIX remembers this path and will attempt to use it at run-time to look +-# up the Tcl library. +- +-if test "$GCC" = yes; then +- ITCL_BUILD_LIB_SPEC="-L`pwd` -l${ITCLLIBSPEC}" +- ITCL_LIB_SPEC="-L${exec_prefix}/lib/itcl -l{ITCLLIBSPEC}" +- ITCL_LIB_FULL_PATH="`pwd`/${ITCLLIB}" +-else +- tmp="`pwd`/${ITCLLIB}" +- tmp2="`cygpath --windows $tmp`" +- ITCL_BUILD_LIB_SPEC="`echo $tmp2 | sed -e s#\\\\\\\\#/#g`" +- ITCL_LIB_FULL_PATH=${ITCL_BUILD_LIB_SPEC} +- tmp="${exec_prefix}/lib/itcl/${ITCLLIB}" +- tmp2="`cygpath --windows $tmp`" +- ITCL_LIB_SPEC="`echo $tmp2 | sed -e s#\\\\\\\\#/#g`" +-fi +- +-#------------------------------------------------------------------- +-# Set up the libraries to link with. +-#------------------------------------------------------------------- +-if test "$GCC" = yes; then +- BASELIBS="-lkernel32 $(optlibs) -ladvapi32 -luser32" +- WINLIBS="-lgdi32 -lcomdlg32 -lwinspool" +- LIBCDLL= +-else +- BASELIBS="kernel32.lib advapi32.lib user32.lib" +- WINLIBS="gdi32.lib comdlg32.lib winspool.lib" +- LIBCDLL="msvcrt.lib oldnames.lib" +-fi +- +-AC_SUBST(CFLAGS) +-AC_SUBST(DL_LIBS) +-AC_SUBST(LD_FLAGS) +-AC_SUBST(MATH_LIBS) +-AC_SUBST(MAKE_LIB) +-AC_SUBST(SHLIB_CFLAGS) +-AC_SUBST(SHLIB_LD) +-AC_SUBST(SHLIB_LD_LIBS) +-AC_SUBST(SHLIB_SUFFIX) +-AC_SUBST(SHLIB_VERSION) +-AC_SUBST(TCL_BIN_DIR) +-AC_SUBST(TCL_BUILD_LIB_SPEC) +-AC_SUBST(TCL_SRC_DIR) +-AC_SUBST(TCL_VERSION) +-AC_SUBST(TCL_LIB_FILE) +-AC_SUBST(TCL_LIB_FULL_PATH) +-AC_SUBST(ITCL_BUILD_LIB_SPEC) +-AC_SUBST(ITCL_LD_SEARCH_FLAGS) +-AC_SUBST(ITCL_LIB_FILE) +-AC_SUBST(ITCL_LIB_FULL_PATH) +-AC_SUBST(ITCL_LIB_SPEC) +-AC_SUBST(ITCL_MAJOR_VERSION) +-AC_SUBST(ITCL_MINOR_VERSION) +-AC_SUBST(ITCL_PKG_FILE) +-AC_SUBST(ITCL_SHLIB_CFLAGS) +-AC_SUBST(ITCL_SRC_DIR) +-AC_SUBST(ITCL_VERSION) +-AC_SUBST(CYGITCLLIB) +-AC_SUBST(CYGITCLDLL) +-AC_SUBST(CYGITCLSH) +-AC_SUBST(CYGITCLDEF) +-AC_SUBST(CYGITCLTEST) +-AC_SUBST(CYGIMPORTLIB) +-AC_SUBST(CYGITCLRES) +-AC_SUBST(CYGITCLSHRES) +-AC_SUBST(SNITCLLIB) +-AC_SUBST(SNITCLDLL) +-AC_SUBST(SNITCLSH) +-AC_SUBST(SNITCLDEF) +-AC_SUBST(SNITCLTEST) +-AC_SUBST(SNIMPORTLIB) +-AC_SUBST(SNITCLRES) +-AC_SUBST(SNITCLSHRES) +-AC_SUBST(ITCLLIB) +-AC_SUBST(ITCLDLL) +-AC_SUBST(ITCLSH) +-AC_SUBST(ITCLDEF) +-AC_SUBST(ITCLTEST) +-AC_SUBST(ITCLIMPORTLIB) +-AC_SUBST(ITCLRES) +-AC_SUBST(ITCL_SH) +-AC_SUBST(BASELIBS) +-AC_SUBST(WINLIBS) +-AC_SUBST(LIBCDLL) +- +-AC_OUTPUT(Makefile ../unix/pkgIndex.tcl ../itclConfig.sh) +diff -Naur insight-6.8.orig/itcl/itcl/win/dllEntryPoint.c insight-6.8.new/itcl/itcl/win/dllEntryPoint.c +--- insight-6.8.orig/itcl/itcl/win/dllEntryPoint.c 2003-01-21 21:40:28.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/win/dllEntryPoint.c 2008-08-18 18:56:44.000000000 +0200 +@@ -7,58 +7,17 @@ + #define WIN32_LEAN_AND_MEAN + #include + +-/* CYGNUS LOCAL */ +-#include +- +-#ifdef __CYGWIN32__ +-/* +- * The following declaration is for the VC++ DLL entry point. +- */ +- +-BOOL APIENTRY DllMain _ANSI_ARGS_((HINSTANCE hInst, +- DWORD reason, LPVOID reserved)); +- +-/* cygwin32 requires an impure pointer variable, which must be +- explicitly initialized when the DLL starts up. */ +-struct _reent *_impure_ptr; +-extern struct _reent *_imp__reent_data; +- +-/* +- *---------------------------------------------------------------------- +- * +- * DllMain -- +- * +- * DLL entry point. +- * +- * Results: +- * TRUE on sucess, FALSE on failure. +- * +- * Side effects: +- * None. +- * +- *---------------------------------------------------------------------- +- */ +- +-BOOL APIENTRY +-DllMain(hInstance, reason, reserved) +- HINSTANCE hInstance; +- DWORD reason; +- LPVOID reserved; +-{ +- /* CYGNUS LOCAL */ +- /* cygwin32 requires the impure data pointer to be initialized +- when the DLL starts up. */ +- _impure_ptr = _imp__reent_data; +- /* END CYGNUS LOCAL */ +- +- return(TRUE); +-} +- +-/* END CYGNUS LOCAL */ +-#else /* __CYGWIN32__ */ +- +-#if defined(_MSC_VER) ++#ifdef _MSC_VER ++ /* Only do this when MSVC++ is compiling us. */ + # define DllEntryPoint DllMain ++# if defined(USE_TCL_STUBS) && (!defined(_MT) || !defined(_DLL) || defined(_DEBUG)) ++ /* ++ * This fixes a bug with how the Stubs library was compiled. ++ * The requirement for msvcrt.lib from tclstubXX.lib should ++ * be removed. ++ */ ++# pragma comment(linker, "-nodefaultlib:msvcrt.lib") ++# endif + #endif + + /* +@@ -79,6 +38,8 @@ + *---------------------------------------------------------------------- + */ + ++#ifndef STATIC_BUILD ++ + BOOL APIENTRY + DllEntryPoint(hInst, reason, reserved) + HINSTANCE hInst; /* Library instance handle. */ +@@ -88,4 +49,4 @@ + return TRUE; + } + +-#endif ++#endif +\ No newline at end of file +diff -Naur insight-6.8.orig/itcl/itcl/win/makefile.bc insight-6.8.new/itcl/itcl/win/makefile.bc +--- insight-6.8.orig/itcl/itcl/win/makefile.bc 2003-01-21 22:04:25.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/win/makefile.bc 2008-08-18 19:15:31.000000000 +0200 +@@ -210,4 +210,3 @@ + -@$(RM) itcl.def + -@$(RM) $(TMPDIR)\*.obj + -@$(RM) *.cfg +- +diff -Naur insight-6.8.orig/itcl/itcl/win/Makefile.in insight-6.8.new/itcl/itcl/win/Makefile.in +--- insight-6.8.orig/itcl/itcl/win/Makefile.in 2003-01-21 21:40:28.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/win/Makefile.in 1970-01-01 01:00:00.000000000 +0100 +@@ -1,410 +0,0 @@ +-# This file is CYGNUS LOCAL. It is a copy of makefile.vc modified for +-# GNU make. +-# +-# Visual C++ 4.0 makefile +-# +-# Copyright (c) 1993-1996 Lucent Technologies +-# +-# See the file "license.terms" for information on usage and redistribution +-# of this file, and for a DISCLAIMER OF ALL WARRANTIES. +- +-prefix = @prefix@ +-exec_prefix = @exec_prefix@ +-VPATH = @srcdir@:@srcdir@/../generic:@srcdir@/../unix +-srcdir = @srcdir@ +-libdir=@libdir@ +-bindir=@bindir@ +-includedir=@includedir@ +-mandir=@mandir@ +-datadir=@datadir@ +- +-CC = @CC@ +-CFLAGS = @CFLAGS@ +-NM = @NM@ +-AS = @AS@ +-LD = @LD@ +-DLLTOOL = @DLLTOOL@ +-WINDRES = @WINDRES@ +-OBJEXT = @OBJEXT@ +- +-DLL_LDFLAGS = @DLL_LDFLAGS@ +-DLL_LDLIBS = @DLL_LDLIBS@ +- +-INSTALL = @INSTALL@ +-INSTALL_PROGRAM = @INSTALL_PROGRAM@ +-INSTALL_DATA = @INSTALL_DATA@ +- +-# +-# Project directories +-# +-# ROOT = top of source tree +-# +-# TMPDIR = location where .obj files should be stored during build +-# +- +-ROOT = @ITCL_SRC_DIR@ +-TMPDIR = . +-TCLDIR = @TCL_SRC_DIR@ +- +-TCLLIBDIR = @TCL_BIN_DIR@ +- +-SRC_INC_DIR = $(ROOT)/generic +-SRC_WIN_DIR = $(ROOT)/win +-SRC_UNIX_DIR = $(ROOT)/unix +-SRC_MAN_DIR = $(ROOT)/doc +- +-ITCL_VERSION = @ITCL_VERSION@ +-VERSION = 30 +- +-CYGITCLLIB = @CYGITCLLIB@ +-CYGITCLDLL = @CYGITCLDLL@ +-CYGITCLSH = @CYGITCLSH@ +-CYGITCLDEF = @CYGITCLDEF@ +-CYGITCLTEST = @CYGITCLTEST@ +-CYGIMPORTLIB = @CYGIMPORTLIB@ +-CYGITCLRES = @CYGITCLRES@ +-CYGITCLSHRES = @CYGITCLSHRES@ +- +-SNITCLLIB = @SNITCLLIB@ +-SNITCLDLL = @SNITCLDLL@ +-SNITCLSH = @SNITCLSH@ +-SNITCLDEF = @SNITCLDEF@ +-SNITCLTEST = @SNITCLTEST@ +-SNIMPORTLIB = @SNIMPORTLIB@ +-SNITCLRES = @SNITCLRES@ +-SNITCLSHRES = @SNITCLSHRES@ +- +-ITCLLIB = @ITCLLIB@ +-ITCLDLL = @ITCLDLL@ +-ITCLSH = @ITCLSH@ +-ITCLDEF = @ITCLDEF@ +-ITCLTEST = @ITCLTEST@ +-ITCLIMPORTLIB = @ITCLIMPORTLIB@ +-ITCLRES = @ITCLRES@ +-ITCLSHRES = @ITCLSHRES@ +- +- +-# Directory in which to install the library of Itcl scripts and demos +-# (note: you can set the ITCL_LIBRARY environment variable at run-time to +-# override the compiled-in location): +-ITCL_LIBRARY = $(datadir)/itcl$(ITCL_VERSION) +- +-# CYGNUS LOCAL: cgf - use autoconf variables +- +-# Directory in which to install the archive libitcl.a: +-INSTALL_LIB_DIR = $(libdir) +- +-# Directory in which to install the program itclsh: +-INSTALL_BIN_DIR = $(bindir) +- +-# Directory in which to install the include file itcl.h: +-INSTALL_INCLUDE_DIR = $(includedir) +- +-# Top-level directory for manual entries: +-INSTALL_MAN_DIR = $(mandir) +- +-# Directory in which to install manual entry for itclsh: +-INSTALL_MAN1_DIR = $(INSTALL_MAN_DIR)/man1 +- +-# Directory in which to install manual entries for Itcl's C library +-# procedures: +-INSTALL_MAN3_DIR = $(INSTALL_MAN_DIR)/man3 +- +-# Directory in which to install manual entries for the built-in +-# Tcl commands implemented by Itcl: +-INSTALL_MANN_DIR = $(INSTALL_MAN_DIR)/mann +- +- +-# Comment the following line to compile with symbols +-NODEBUG=1 +- +-# uncomment the following two lines to compile with TCL_MEM_DEBUG +-#DEBUGDEFINES = -DTCL_MEM_DEBUG +- +- +-ITCLSHOBJS = \ +- $(TMPDIR)/tclAppInit.$(OBJEXT) +- +-ITCLOBJS = \ +- $(TMPDIR)/itcl_bicmds.$(OBJEXT) \ +- $(TMPDIR)/itcl_class.$(OBJEXT) \ +- $(TMPDIR)/itcl_cmds.$(OBJEXT) \ +- $(TMPDIR)/itcl_ensemble.$(OBJEXT) \ +- $(TMPDIR)/itcl_linkage.$(OBJEXT) \ +- $(TMPDIR)/itcl_methods.$(OBJEXT) \ +- $(TMPDIR)/itcl_migrate.$(OBJEXT) \ +- $(TMPDIR)/itcl_objects.$(OBJEXT) \ +- $(TMPDIR)/itcl_obsolete.$(OBJEXT) \ +- $(TMPDIR)/itcl_parse.$(OBJEXT) \ +- $(TMPDIR)/itcl_util.$(OBJEXT) \ +- $(TMPDIR)/dllEntryPoint.$(OBJEXT) +- +-DUMPEXTS = $(TCLLIBDIR)/dumpexts.exe +- +-TCLLIB = @TCL_LIB_FILE@ +-TCL_BUILD_LIB_SPEC = @TCL_BUILD_LIB_SPEC@ +-TCL_LIB_FULL_PATH = @TCL_LIB_FULL_PATH@ +- +-ITCL_INCLUDES = -I$(SRC_WIN_DIR) -I$(SRC_INC_DIR) -I$(TCLDIR)/generic -I$(TCLDIR)/win +- +-ITCL_DEFINES = -D__WIN32__ $(DEBUGDEFINES) -DDLL_BUILD -DBUILD_itcl -D_DLL +-ITCL_CFLAGS = $(ITCL_INCLUDES) $(ITCL_DEFINES) $(CFLAGS) +- +-CPU = i386 +- +-###################################################################### +-# Link flags +-###################################################################### +- +-conlflags = -Wl,--subsystem,console -mwindows +-guilflags = -mwindows +-dlllflags = +- +-baselibs = @BASELIBS@ +-winlibs = @WINLIBS@ +-libcdll = @LIBCDLL@ +- +-guilibs = $(baselibs) $(winlibs) +-conlibs = $(baselibs) +-guilibsdll = $(libcdll) $(baselibs) $(winlibs) +-conlibsdll = $(libcdll) $(baselibs) +- +-# +-# Targets +-# +- +-release: $(ITCLDLL) $(ITCLSH) +-all: $(ITCLDLL) $(ITCLSH) +-test: $(ITCLSH) +- $(CP) $(TCLLIBDIR)\*.dll +- $(ITCLSH) << +- cd ../tests +- source all +- +-# Cygwin-specific targets. +- +-$(TMPDIR)/$(CYGITCLDEF): $(ITCLOBJS) +- echo 'EXPORTS' > tmp.def +- -for o in $(ITCLOBJS); do \ +- $(NM) --extern-only --defined-only $$o | sed -e 's/[^ ]* [^ ]* //' -e 's/^_//' | fgrep -v DllEntryPoint | fgrep -v DllMain | fgrep -v impure_ptr >> tmp.def; \ +- done +- mv tmp.def $(TMPDIR)/$(CYGITCLDEF) +- +-$(CYGITCLDLL): $(ITCLOBJS) $(TMPDIR)/$(CYGITCLDEF) $(TMPDIR)/$(CYGITCLRES) +- $(CC) -s $(DLL_LDFLAGS) -Wl,--base-file,itcl.base \ +- -o $(CYGITCLDLL) $(ITCLOBJS) $(TMPDIR)/$(CYGITCLRES) \ +- $(TCLLIBDIR)/$(TCLLIB) \ +- $(DLL_LDLIBS) -mwindows -Wl,-e,_DllMain@12 \ +- -Wl,--image-base,0x66700000 +- $(DLLTOOL) --as=$(AS) --dllname $(CYGITCLDLL) --def $(TMPDIR)/$(CYGITCLDEF) \ +- --base-file itcl.base --output-exp itcl.exp +- $(CC) -s $(DLL_LDFLAGS) -Wl,--base-file,itcl.base -Wl,itcl.exp \ +- -o $(CYGITCLDLL) $(ITCLOBJS) \ +- $(TCLLIBDIR)/$(TCLLIB) $(DLL_LDLIBS) -mwindows -Wl,-e,_DllMain@12 \ +- -Wl,--image-base,0x66700000 +- $(DLLTOOL) --as=$(AS) --dllname $(CYGITCLDLL) --def $(TMPDIR)/$(CYGITCLDEF) \ +- --base-file itcl.base --output-exp itcl.exp +- $(CC) $(DLL_LDFLAGS) -Wl,itcl.exp -o $(CYGITCLDLL) $(ITCLOBJS) \ +- $(TCLLIBDIR)/$(TCLLIB) \ +- $(DLL_LDLIBS) -mwindows -Wl,-e,_DllMain@12 \ +- -Wl,--image-base,0x66700000 +- +-$(CYGITCLLIB): $(TMPDIR)/$(CYGITCLDEF) +- $(DLLTOOL) --as=$(AS) --dllname $(CYGITCLDLL) --def $(TMPDIR)/$(CYGITCLDEF) \ +- --output-lib $(CYGITCLLIB) +- +-$(CYGITCLSH): $(ITCLSHOBJS) $(CYGITCLLIB) $(TMPDIR)/$(CYGITCLSHRES) +- $(CC) $(linkdebug) $(conlflags) -Wl,--stack=0x2300000 \ +- $(ITCL_CFLAGS) \ +- $(ITCLSHOBJS) $(TMPDIR)/$(CYGITCLSHRES) \ +- $(CYGITCLLIB) $(TCLLIBDIR)/$(TCLLIB) $(conlibsdll) \ +- -o $(CYGITCLSH) +- +-$(CYGITCLTEST): $(ITCLTESTOBJS) $(CYGITCLLIB) $(TMPDIR)/$(CYGITCLSHRES) +- $(CC) $(linkdebug) $(conlflags) -Wl,--stack=0x2300000 \ +- $(ITCL_CFLAGS) \ +- $(ITCLTESTOBJS) $(TMPDIR)/$(CYGITCLSHRES) \ +- $(CYGITCLLIB) $(TCLLIBDIR)/$(TCLLIB) $(conlibsdll) \ +- -o $(CYGITCLTEST) +- +-$(TMPDIR)/$(CYGITCLSHRES):: $(ROOT)/win/itclsh.rc +- $(WINDRES) --include $(TCLDIR)/generic --include $(srcdir)/../generic \ +- --define VS_VERSION_INFO=1 $(srcdir)/itclsh.rc $(TMPDIR)/$(CYGITCLSHRES) +- +-$(TMPDIR)/$(CYGITCLRES):: $(ROOT)/win/itcl.rc +- $(WINDRES) --include $(TCLDIR)/generic --include $(srcdir)/../generic \ +- --define VS_VERSION_INFO=1 $(srcdir)/itcl.rc $(TMPDIR)/$(CYGITCLRES) +- +-# Visual C++ specific targets +-$(TMPDIR)/$(SNITCLDEF): $(DUMPEXTS) $(ITCLOBJS) +- $(DUMPEXTS) -o $@ $(SNITCLDLL) $(ITCLOBJS) +- +-$(SNITCLDLL): $(ITCLOBJS) $(TMPDIR)/$(SNITCLDEF) $(TMPDIR)/$(SNITCLRES) $(TCL_LIB_FULL_PATH) +- link.exe -DEBUG -dll -def:$(TMPDIR)/$(SNITCLDEF) -NODEFAULTLIB \ +- -out:$(SNITCLDLL) $(guilibsdll) $(ITCLOBJS) $(TMPDIR)/$(SNITCLRES) \ +- $(TCL_BUILD_LIB_SPEC) +- +-$(SNITCLLIB) $(SNIMPORTLIB): +- cp $(SNIMPORTLIB) $(SNITCLLIB) +- +-$(SNITCLSH): $(ITCLSHOBJS) $(SNITCLLIB) $(TMPDIR)/$(SNITCLSHRES) $(TCL_LIB_FULL_PATH) +- link.exe -DEBUG -NODEFAULTLIB -entry:mainCRTStartup \ +- -out:$@ $(conlibsdll) $(ITCLSHOBJS) $(TMPDIR)/$(SNITCLSHRES) \ +- $(SNITCLLIB) $(TCL_BUILD_LIB_SPEC) +- +-$(SNITCLTEST): $(ITCLTESTOBJS) $(SNITCLLIB) $(TMPDIR)/$(SNITCLSHRES) $(TCL_LIB_FULL_PATH) +- link.exe -DEBUG -NODEFAULTLIB -entry:mainCRTStartup \ +- -out $@ $(conlibsdll) $(ITCLSHOBJS) $(TMPDIR)/$(SNITCLSHRES) \ +- $(SNITCLLIB) $(TCL_BUILD_LIB_SPEC) +- +-$(TMPDIR)/$(SNITCLSHRES):: $(SRC_WIN_DIR)/itclsh.rc +- rc $(ITCL_INCLUDES) -d__WIN32__ -dVS_VERSION_INFO=1 -fo$@ $? +- +-$(TMPDIR)/$(SNITCLRES):: $(SRC_WIN_DIR)/itcl.rc +- rc $(ITCL_INCLUDES) -d__WIN32__ -dVS_VERSION_INFO=1 -fo$@ $? +- +-# +-# Special case object file targets +-# +- +-$(TMPDIR)/testMain.$(OBJEXT):: $(SRC_WIN_DIR)/tclAppInit.c +- $(CC) -c $(ITCL_CFLAGS) -DTCL_TEST -DSTATIC_BUILD $(CFLAGS) -o $@ $? +- +-$(TMPDIR)/tclAppInit.$(OBJEXT): $(SRC_WIN_DIR)/tclAppInit.c +- $(CC) -c $(ITCL_CFLAGS) $(CFLAGS) -DSTATIC_BUILD -o $@ $? +- +-#$(DUMPEXTS): $(TCLDIR)\win\winDumpExts.c +-# $(cc32) $(CON_CFLAGS) -Fo$(TMPDIR)\ $? +-# set LIB=$(TOOLS32)\lib +-# $(link32) $(ldebug) $(conlflags) $(guilibs) -out:$@ \ +-# $(TMPDIR)\winDumpExts.obj +- +-# +-# Implicit rules +-# +- +-$(TMPDIR)/%.$(OBJEXT):: $(SRC_INC_DIR)/%.c +- $(CC) -c $(ITCL_CFLAGS) -o $@ $< +- +-$(TMPDIR)/%.$(OBJEXT):: $(SRC_WIN_DIR)/%.c +- $(CC) -c $(ITCL_CFLAGS) -o $@ $< +- +-clean: +- +- rm -f $(TMPDIR)/*.$(OBJEXT) $(TMPDIR)/*.exp $(TMPDIR)/*.def +- rm -f $(ITCLLIB) $(ITCLDLL) $(ITCLDLL) $(ITCLSH) +- +- +-Makefile: $(srcdir)/Makefile.in config.status +- $(SHELL) config.status +- +-config.status: $(srcdir)/configure +- ./config.status --recheck +- +-#---------------------------------------------------------------------- +-# +-# Installation +-# +-#---------------------------------------------------------------------- +- +- +-install:: install-basic install-binaries +- @echo done +- +-install-binaries:: install-shared-libraries +- @for i in $(INSTALL_LIB_DIR) $(INSTALL_BIN_DIR) ; \ +- do \ +- if [ ! -d $$i ] ; then \ +- echo "Making directory $$i"; \ +- mkdir $$i; \ +- chmod 755 $$i; \ +- else true; \ +- fi; \ +- done; +- @echo "Installing $(ITCLLIB) as $(INSTALL_LIB_DIR)/$(ITCLLIB)" +- @$(INSTALL_DATA) $(ITCLLIB) $(INSTALL_LIB_DIR)/$(ITCLLIB) +- @echo "Installing $(ITCLSH) as $(INSTALL_BIN_DIR)/$(ITCLSH)" +- @$(INSTALL_PROGRAM) $(ITCLSH) $(INSTALL_BIN_DIR)/$(ITCLSH) +- +-# +-# Basic installtion +-# +-install-basic:: install-libraries install-headers \ +- install-man +- +- +-install-headers: +- @for i in $(INSTALL_INCLUDE_DIR); \ +- do \ +- if [ ! -d $$i ] ; then \ +- echo "Making directory $$i"; \ +- mkdir $$i; \ +- chmod 755 $$i; \ +- else true; \ +- fi; \ +- done; +- @for i in $(SRC_INC_DIR)/itcl.h; \ +- do \ +- echo "Installing $$i"; \ +- $(INSTALL_DATA) $$i $(INSTALL_INCLUDE_DIR); \ +- done; +- +-install-libraries: install-shared-libraries +- @for i in $(prefix)/lib $(ITCL_LIBRARY); \ +- do \ +- if [ ! -d $$i ] ; then \ +- echo "Making directory $$i"; \ +- mkdir $$i; \ +- chmod 755 $$i; \ +- else true; \ +- fi; \ +- done; +- @echo "Installing pkgIndex.tcl" +- @$(INSTALL_DATA) $(srcdir)/pkgIndex.tcl $(ITCL_LIBRARY) +- @$(INSTALL_DATA) $(srcdir)/../library/itcl.tcl $(ITCL_LIBRARY) +- +-install-shared-libraries: +- @echo "Installing $(ITCLDLL) as $(INSTALL_BIN_DIR)/$(ITCLDLL)" +- @$(INSTALL_PROGRAM) $(ITCLDLL) $(INSTALL_BIN_DIR)/$(ITCLDLL) +- +-install-man: +- @for i in $(INSTALL_MAN_DIR) $(INSTALL_MAN1_DIR) \ +- $(INSTALL_MAN3_DIR) $(INSTALL_MANN_DIR) ; \ +- do \ +- if [ ! -d $$i ] ; then \ +- echo "Making directory $$i"; \ +- mkdir $$i; \ +- chmod 755 $$i; \ +- else true; \ +- fi; \ +- done; +- @cd $(SRC_MAN_DIR); for i in *.n ; \ +- do \ +- echo "Installing doc/$$i"; \ +- rm -f $(INSTALL_MANN_DIR)/$$i; \ +- sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \ +- $$i > $(INSTALL_MANN_DIR)/$$i; \ +- chmod 444 $(INSTALL_MANN_DIR)/$$i; \ +- done; \ +- for i in *.1 ; \ +- do \ +- echo "Installing doc/$$i"; \ +- rm -f $(INSTALL_MAN1_DIR)/$$i; \ +- sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \ +- $$i > $(INSTALL_MAN1_DIR)/$$i; \ +- chmod 444 $(INSTALL_MAN1_DIR)/$$i; \ +- done; \ +- for i in *.3 ; \ +- do \ +- echo "Installing doc/$$i"; \ +- rm -f $(INSTALL_MAN3_DIR)/$$i; \ +- sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \ +- $$i > $(INSTALL_MAN3_DIR)/$$i; \ +- chmod 444 $(INSTALL_MAN3_DIR)/$$i; \ +- done; +- +-install-info info installcheck: +- +-install-minimal: install-libraries +- @echo "Installing $(ITCLDLL) as $(INSTALL_BIN_DIR)/$(ITCLDLL)" +- @$(INSTALL_PROGRAM) $(ITCLDLL) $(INSTALL_BIN_DIR)/$(ITCLDLL) +diff -Naur insight-6.8.orig/itcl/itcl/win/makefile.vc insight-6.8.new/itcl/itcl/win/makefile.vc +--- insight-6.8.orig/itcl/itcl/win/makefile.vc 2003-01-21 22:04:25.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/win/makefile.vc 2008-08-18 19:17:15.000000000 +0200 +@@ -1,74 +1,74 @@ +-###################################################################### ++#------------------------------------------------------------------------------ + # Visual C++ 5.0+ makefile for [Incr Tcl] + # + # See the file "license.terms" for information on usage and redistribution + # of this file, and for a DISCLAIMER OF ALL WARRANTIES. + # + # Copyright (c) 1993-1998 Lucent Technologies, Inc. +-# RCS: $Id: makefile.vc,v 1.13 2001/05/23 00:37:47 davygrvy Exp $ +-###################################################################### +-# All needed information is derived from running vcvars32.bat +-# +-# NOTE: Be sure to modify the "config.vc" file in the toplevel directory +-# before running this makefile. +-###################################################################### +-# Do not modify this file! modify config.vc to effect the build. +-###################################################################### ++# RCS: $Id: makefile.vc,v 1.32 2004/09/24 22:45:02 davygrvy Exp $ ++#------------------------------------------------------------------------------ ++# Do not modify this file! ++#------------------------------------------------------------------------------ ++ ++!if !exist("makefile.vc") ++MSG = ^ ++You must run this makefile only from the directory it is in.^ ++Please `cd` to its location first. ++!error $(MSG) ++!endif + ++PROJECT = itcl + !include "..\..\rules.vc" +-!include "..\..\config.vc" +-!include "..\..\pkg.vc" +- +-BINROOT = . +-ROOT = .. +-NAMEPREFIX = itcl +-STUBPREFIX = $(NAMEPREFIX)stub + +-!if $(DEBUG) +-TMPNAME = Debug +-DBGX = d +-!else +-TMPNAME = Release +-DBGX = ++!if $(TCLINSTALL) ++!message *** Warning: [Incr Tcl] requires the source distribution of Tcl to build from, ++!message *** at this time, sorry. Please set the TCLDIR macro to point to the ++!message *** sources. ++!endif ++ ++!if [nmakehlp -g ..\generic\itcl.h ITCL_VERSION] == 33 ++ITCL_DOTVERSION = 3.3 ++!elseif [nmakehlp -g ..\generic\itcl.h ITCL_VERSION] == 34 ++ITCL_DOTVERSION = 3.4 ++!elseif [nmakehlp -g ..\generic\itcl.h ITCL_VERSION] == 35 ++ITCL_DOTVERSION = 3.5 ++!elseif [nmakehlp -g ..\generic\itcl.h ITCL_VERSION] == 0 ++MSG =^ ++Can't get version string from ..\generic\itcl.h ++!error $(MSG) + !endif ++ITCL_VERSION = $(ITCL_DOTVERSION:.=) + +-TMP_DIR = $(BINROOT)\$(TMPNAME) + +-!ifndef OUT_DIR +-OUT_DIR = $(TMP_DIR) +-!endif ++BINROOT = . ++ROOT = .. ++STUBPREFIX = $(PROJECT)stub + + PKGINDEX = "$(TMP_DIR)\pkgIndex.tcl" + +-!if $(STATIC_BUILD) +-ITCLOUTNAME = $(NAMEPREFIX)$(ITCL_VERSION)s$(DBGX) +-ITCLTARGET = "$(OUT_DIR)\$(ITCLOUTNAME).lib" ++!if $(TCL_DOES_STUBS) ++ITCLLIBNAME = $(PROJECT)$(ITCL_VERSION)$(SUFX).$(EXT) + !else +-ITCLOUTNAME = $(NAMEPREFIX)$(ITCL_VERSION)$(DBGX) +-ITCLIMPLIB = "$(OUT_DIR)\$(ITCLOUTNAME).lib" +-ITCLTARGET = "$(OUT_DIR)\$(ITCLOUTNAME).dll" ++ITCLLIBNAME = $(PROJECT)$(ITCL_VERSION)80$(SUFX).$(EXT) + !endif + +-!if $(ISTCLINSTALL) +-TCLSTUBLIB = "$(TCLROOT)\lib\tclstub$(TCL_VERSION).lib" +-TCLIMPLIB = "$(TCLROOT)\lib\tcl$(TCL_VERSION)$(DBGX).lib" +-TCLSH = "$(TCLROOT)\bin\tclsh$(TCL_VERSION)$(DBGX).exe" +-!else +-TCLSTUBLIB = "$(TCLROOT)\win\Release\tclstub$(TCL_VERSION).lib" +-TCLIMPLIB = "$(TCLROOT)\win\$(OUT_DIR)\tcl$(TCL_VERSION)$(DBGX).lib" +-TCLSH = "$(TCLROOT)\win\$(OUT_DIR)\tclsh$(TCL_VERSION)$(DBGX).exe" +-!endif ++ITCLLIB = "$(OUT_DIR)\$(ITCLLIBNAME)" ++ITCLIMPLIB = "$(OUT_DIR)\$(PROJECT)$(ITCL_VERSION)$(SUFX).lib" + +-ITCLSTUBLIBNAME = $(STUBPREFIX)$(ITCL_VERSION)$(DBGX).lib ++!if $(TCL_DOES_STUBS) ++ITCLSTUBLIBNAME = $(STUBPREFIX)$(ITCL_VERSION).lib + ITCLSTUBLIB = "$(OUT_DIR)\$(ITCLSTUBLIBNAME)" ++!else ++ITCLSTUBLIBNAME = ++ITCLSTUBLIB = ++TCLSTUBLIB = $(TCLIMPLIB) ++!endif + +-LIB_INSTALL_DIR = $(INSTALLDIR)\lib +-BIN_INSTALL_DIR = $(INSTALLDIR)\bin +-SCRIPT_INSTALL_DIR = $(INSTALLDIR)\lib\itcl$(ITCL_DOTVERSION) +-INCLUDE_INSTALL_DIR = $(INSTALLDIR)\include +- +-ITCLSHOBJS = \ +- $(TMP_DIR)\tclAppInit.obj ++BIN_INSTALL_DIR = $(_INSTALLDIR)\bin ++DOC_INSTALL_DIR = $(_INSTALLDIR)\doc ++LIB_INSTALL_DIR = $(_INSTALLDIR)\lib ++SCRIPT_INSTALL_DIR = $(_INSTALLDIR)\lib\itcl$(ITCL_DOTVERSION) ++INCLUDE_INSTALL_DIR = $(_INSTALLDIR)\include + + ITCLOBJS = \ + $(TMP_DIR)\itcl_bicmds.obj \ +@@ -79,169 +79,213 @@ + $(TMP_DIR)\itcl_migrate.obj \ + $(TMP_DIR)\itcl_methods.obj \ + $(TMP_DIR)\itcl_objects.obj \ +- $(TMP_DIR)\itcl_obsolete.obj \ + $(TMP_DIR)\itcl_parse.obj \ + $(TMP_DIR)\itcl_util.obj \ +-!if $(STATIC_BUILD) == 0 ++!if $(TCL_DOES_STUBS) ++ $(TMP_DIR)\itclStubInit.obj \ ++!endif ++!if !$(STATIC_BUILD) + $(TMP_DIR)\dllEntryPoint.obj \ +- $(TMP_DIR)\dllResource.obj \ ++ $(TMP_DIR)\itcl.res + !endif +- $(TMP_DIR)\itclStubInit.obj + + ITCLSTUBOBJS = \ ++!if $(TCL_DOES_STUBS) + $(TMP_DIR)\itclStubLib.obj ++!endif + +-WINDIR = $(ROOT)\win + GENERICDIR = $(ROOT)\generic ++DOCDIR = $(ROOT)\doc + RCDIR = $(ROOT)\win\rc ++WINDIR = $(ROOT)\win ++TOOLSDIR = ..\..\tools + +-###################################################################### ++#--------------------------------------------------------------------- + # Link flags +-###################################################################### ++#--------------------------------------------------------------------- + + !if $(DEBUG) +-ldebug = -debug:full -debugtype:cv -pdb:none ++ldebug = -debug:full -debugtype:cv + !else +-ldebug = -release -opt:ref ++ldebug = -release -opt:ref -opt:icf,3 + !endif + + # declarations common to all linker options +-lcommon = -nologo -link50compat -machine:$(MACHINE) ++lflags = -nologo -machine:$(MACHINE) $(ldebug) ++ ++!if $(PROFILE) ++lflags = $(lflags) -profile ++!endif ++ ++!if $(ALIGN98_HACK) && !$(STATIC_BUILD) ++# align sections for PE size savings. ++lflags = $(lflags) -opt:nowin98 ++!else if !$(ALIGN98_HACK) && $(STATIC_BUILD) ++# align sections for speed in loading by choosing the virtual page size. ++lflags = $(lflags) -align:4096 ++!endif ++ ++!if $(LOIMPACT) ++lflags = $(lflags) -ws:aggressive ++!endif + +-ITCL_LFLAGS = $(lcommon) -subsystem:windows -dll ++ITCL_LFLAGS = $(lflags) -subsystem:windows -dll + +-!if $(USE_TCL_STUBS) == 0 +-ITCL_LLIBS = $(TCLIMPLIB) ++!if exist("$(TCLDIR)\win\coffbase.txt") ++ITCL_DLLBASE = -base:@$(TCLDIR)\win\coffbase.txt,itcl + !else +-ITCL_LLIBS = $(TCLSTUBLIB) ++ITCL_DLLBASE = + !endif + +-###################################################################### ++#--------------------------------------------------------------------- + # Compile flags +-###################################################################### ++#--------------------------------------------------------------------- + +-!IF $(DEBUG) == 0 +-!IF "$(MACHINE)" == "ALPHA" +-# MSVC on Alpha doesn't understand -Ot +-cdebug = -O2i +-!ELSE +-cdebug = -Ox +-!ENDIF +-!ELSE +-!if $(MSDEV_VER) < 6 +-cdebug = -Zi -Od -WX ++!if $(DEBUG) ++!if "$(MACHINE)" == "IA64" ++cdebug = -Od -Zi + !else +-cdebug = -ZI -Od -WX ++cdebug = -Z7 -Od -WX + !endif +-!ENDIF +- +-!if $(STATIC_BUILD) +-cdll = + !else +-cdll = -GD ++# This cranks the optimization level up to max. ++cdebug = -O2 + !endif + + # declarations common to all compiler options +-ccommon = -nologo -c -W3 -YX -Fp$(TMP_DIR)\ ++cflags = -nologo -c -W3 -YX -Fp$(TMP_DIR)^\ ++ ++!if $(PENT_0F_ERRATA) ++cflags = $(cflags) -QI0f ++!endif ++ ++!if $(ITAN_B_ERRATA) ++cflags = $(cflags) -QIA64_Bx ++!endif + +-!if $(STATIC_BUILD) && $(NOMSVCRT) +-crt = -MT$(DBGX) ++!if $(MSVCRT) ++crt = -MD$(DBGX) + !else +-crt = -MD$(DBGX) ++crt = -MT$(DBGX) + !endif + +-!if $(ISTCLINSTALL) +-TCL_INCLUDES = -I"$(TCLROOT)\include" ++!if $(TCLINSTALL) ++TCL_INCLUDES = -I"$(TCLDIR)\include" + !else +-TCL_INCLUDES = -I"$(TCLROOT)\generic" ++TCL_INCLUDES = -I"$(TCLDIR)\generic" -I"$(TCLDIR)\win" + !endif + + ITCL_INCLUDES = -I$(WINDIR) -I$(GENERICDIR) + ITCL_DEFINES = -DBUILD_itcl -DTCL_THREADS=1 +-ITCL_EXE_CFLAGS = $(ccommon) $(cdebug) $(crt) $(cdll) $(ITCL_INCLUDES) \ +- $(ITCL_DEFINES) $(TCL_INCLUDES) ++ITCL_EXE_CFLAGS = $(cdebug) $(cflags) $(crt) $(ITCL_INCLUDES) $(ITCL_DEFINES) $(TCL_INCLUDES) + +-!if $(USE_TCL_STUBS) ++### By convention, static builds do not use Stubs. This is just a practice, ++### not a technical limitation. ++!if $(STATIC_BUILD) ++ITCL_CFLAGS = $(ITCL_EXE_CFLAGS) -DSTATIC_BUILD ++!elseif $(TCL_DOES_STUBS) + ITCL_CFLAGS = $(ITCL_EXE_CFLAGS) -DUSE_TCL_STUBS + !else + ITCL_CFLAGS = $(ITCL_EXE_CFLAGS) + !endif + +-###################################################################### +-# Project specific targets +-###################################################################### +- +-all : setup $(ITCLTARGET) $(ITCLSTUBLIB) +-release : setup $(ITCLTARGET) $(ITCLSTUBLIB) ++#--------------------------------------------------------------------- ++# TclTest flags ++#--------------------------------------------------------------------- + +-!if $(STATIC_BUILD) +-test : +- @echo test target not supported for a static library. +-!else +-#test : setup $(ITCLTARGET) $(ITCLSTUBLIB) $(PKGINDEX) +-# -@copy $(TCLDLL) $(TMP_DIR) +-# $(TCLSH) << +-#cd ../tests +-#lappend auto_path ../win/$(TMP_DIR) +-#set env(ITCL_LIBRARY) ../library +-#source all +-#<< ++!if "$(TESTPAT)" != "" ++TESTFLAGS = -file $(TESTPAT) + !endif + +-$(PKGINDEX) : +- -@copy pkgIndex.tcl $@ ++#--------------------------------------------------------------------- ++# Project specific targets ++#--------------------------------------------------------------------- ++ ++all : setup $(ITCLLIB) $(ITCLSTUBLIB) ++release : setup $(ITCLLIB) $(ITCLSTUBLIB) ++install : install-binaries install-docs + + setup : +- @$(vcvars) > nul +- @if not exist $(TMP_DIR)\nul mkdir $(TMP_DIR) &\ +- echo Created directory '$(TMP_DIR)' +- @if not exist $(OUT_DIR)\nul mkdir $(OUT_DIR) &\ +- echo Created directory '$(OUT_DIR)' ++ @if not exist $(TMP_DIR)\nul mkdir $(TMP_DIR) ++ @if not exist $(OUT_DIR)\nul mkdir $(OUT_DIR) + +-$(ITCLTARGET): $(ITCLOBJS) ++$(ITCLLIB): $(ITCLOBJS) + !if $(STATIC_BUILD) + $(lib32) -nologo -machine:$(MACHINE) -out:$@ @<< ++$(ITCLOBJS) ++<< + !else +- $(link32) $(ITCL_LFLAGS) -out:$@ $(ITCL_LLIBS) @<< +-!endif +- $(ITCLOBJS) ++ $(link32) $(ITCL_LFLAGS) $(ITCL_DLLBASE) -out:$@ $(TCLSTUBLIB) @<< ++$(ITCLOBJS) + << ++ -@del $*.exp ++!endif + +-!if $(DEBUG) == 0 ++!if $(TCL_DOES_STUBS) + $(ITCLSTUBLIB) : $(ITCLSTUBOBJS) + $(lib32) -nologo -out:$@ $(ITCLSTUBOBJS) +-!else +-$(ITCLSTUBLIB) : + !endif + +-install : all +- if not exist "$(INSTALLDIR)" mkdir "$(INSTALLDIR)" ++install-binaries : ++ if not exist "$(_INSTALLDIR)" mkdir "$(_INSTALLDIR)" + if not exist "$(BIN_INSTALL_DIR)" mkdir "$(BIN_INSTALL_DIR)" + if not exist "$(LIB_INSTALL_DIR)" mkdir "$(LIB_INSTALL_DIR)" + if not exist "$(SCRIPT_INSTALL_DIR)" mkdir "$(SCRIPT_INSTALL_DIR)" + if not exist "$(INCLUDE_INSTALL_DIR)" mkdir "$(INCLUDE_INSTALL_DIR)" +- copy $(ITCLTARGET) "$(SCRIPT_INSTALL_DIR)" +- -copy $(ITCLSTUBLIB) "$(LIB_INSTALL_DIR)" ++ copy $(ITCLLIB) "$(SCRIPT_INSTALL_DIR)" ++!if ""$(ITCLSTUBLIB)"" != """" ++ copy $(ITCLSTUBLIB) "$(LIB_INSTALL_DIR)" ++!endif + copy $(ROOT)\generic\itcl.h "$(INCLUDE_INSTALL_DIR)" + copy $(ROOT)\generic\itclDecls.h "$(INCLUDE_INSTALL_DIR)" + copy $(ROOT)\library\*.* "$(SCRIPT_INSTALL_DIR)" +- echo package ifneeded Itcl $(ITCL_DOTVERSION) [list load [file join $$dir $(ITCLOUTNAME).dll] Itcl] > \ +- "$(SCRIPT_INSTALL_DIR)\pkgIndex.tcl" ++ echo if {[package vsatisfies 8.0 [package provide Tcl]]} {\ ++ > "$(SCRIPT_INSTALL_DIR)\pkgIndex.tcl" ++ echo ^ ^ ^ ^ set add 80>> "$(SCRIPT_INSTALL_DIR)\pkgIndex.tcl" ++ echo } else {>> "$(SCRIPT_INSTALL_DIR)\pkgIndex.tcl" ++ echo ^ ^ ^ ^ set add {}>> "$(SCRIPT_INSTALL_DIR)\pkgIndex.tcl" ++ echo }>> "$(SCRIPT_INSTALL_DIR)\pkgIndex.tcl" ++ echo if {[info exists ::tcl_platform(debug)] ^&^&\ ++ $$::tcl_platform(debug) ^&^& \>> "$(SCRIPT_INSTALL_DIR)\pkgIndex.tcl" ++ echo ^ ^ ^ ^ ^ ^ ^ ^ [file exists [file join $$dir\ ++ $(PROJECT)$(ITCL_VERSION)$${add}g.dll]]}\ ++ {>> "$(SCRIPT_INSTALL_DIR)\pkgIndex.tcl" ++ echo ^ ^ ^ ^ package ifneeded Itcl $(ITCL_DOTVERSION) [list load\ ++ [file join $$dir $(PROJECT)$(ITCL_VERSION)$${add}g.dll]\ ++ Itcl]>> "$(SCRIPT_INSTALL_DIR)\pkgIndex.tcl" ++ echo } else {>> "$(SCRIPT_INSTALL_DIR)\pkgIndex.tcl" ++ echo ^ ^ ^ ^ package ifneeded Itcl $(ITCL_DOTVERSION) [list load\ ++ [file join $$dir $(PROJECT)$(ITCL_VERSION)$${add}.dll]\ ++ Itcl]>> "$(SCRIPT_INSTALL_DIR)\pkgIndex.tcl" ++ echo }>> "$(SCRIPT_INSTALL_DIR)\pkgIndex.tcl" ++ echo unset add>> "$(SCRIPT_INSTALL_DIR)\pkgIndex.tcl" + +-###################################################################### ++!if $(STATIC_BUILD) ++test : ++ @echo test target not supported for a static library. ++!else ++test : setup $(ITCLLIB) $(ITCLSTUBLIB) ++ $(TCLSH) ..\tests\all.tcl $(TESTFLAGS) -loadfile << ++ set env(ITCL_LIBRARY) [file normalize [file join $(MAKEDIR:\=/) .. library]] ++ load [file normalize [file join $(MAKEDIR:\=/) $(ITCLLIB:\=/)]] ++<< ++!endif ++ ++#--------------------------------------------------------------------- + # Regenerate the stubs files. +-###################################################################### ++#--------------------------------------------------------------------- + +-!if $(ISTCLINSTALL) == 0 +-# Only from the sources of Tcl does genStubs.tcl exist. + genstubs: +- $(TCLSH) $(TCLROOT)\tools\genStubs.tcl $(GENERICDIR) \ +- $(GENERICDIR)\itcl.decls $(GENERICDIR)\itclInt.decls ++!if $(TCLINSTALL) ++ @echo Need the source distribution to regenerate the Stubs table. ++!else ++ $(TCLSH) $(TOOLSDIR)\genStubs.tcl $(GENERICDIR) \ ++ $(GENERICDIR)\$(PROJECT).decls $(GENERICDIR)\$(PROJECT)Int.decls + !endif + +-###################################################################### ++#--------------------------------------------------------------------- + # Special case object file targets +-###################################################################### ++#--------------------------------------------------------------------- + + # The following object is part of the stub library and should not + # be built as DLL objects but none of the symbols should be exported +@@ -249,37 +293,116 @@ + $(TMP_DIR)\itclStubLib.obj : $(GENERICDIR)\itclStubLib.c + $(cc32) -DSTATIC_BUILD $(ITCL_EXE_CFLAGS) -Zl -Fo$@ $? + +-$(TMP_DIR)\dllResource.obj : $(TMP_DIR)\itcl.res +- $(cvtres32) -nologo -machine:$(MACHINE) -out:$@ $? +- +-###################################################################### ++#--------------------------------------------------------------------- + # Inference rules. Use batch-mode when supported. +-###################################################################### ++#--------------------------------------------------------------------- + +-!if $(_NMAKE_VER) < 162 +-{$(WINDIR)}.c{$(TMP_DIR)}.obj : +-!else + {$(WINDIR)}.c{$(TMP_DIR)}.obj :: +-!endif +- $(cc32) -DDLL_BUILD $(ITCL_CFLAGS) -Fo$(TMP_DIR)\ @<< ++ $(cc32) $(ITCL_CFLAGS) -Fo$(TMP_DIR)\ @<< + $< + << + +-!if $(_NMAKE_VER) < 162 +-{$(GENERICDIR)}.c{$(TMP_DIR)}.obj : +-!else + {$(GENERICDIR)}.c{$(TMP_DIR)}.obj :: +-!endif +- $(cc32) -DDLL_BUILD $(ITCL_CFLAGS) -Fo$(TMP_DIR)\ @<< ++ $(cc32) $(ITCL_CFLAGS) -Fo$(TMP_DIR)\ @<< + $< + << + + {$(RCDIR)}.rc{$(TMP_DIR)}.res : +- $(rc32) -fo $@ -DDEBUG=$(DEBUG) $(ITCL_INCLUDES) $(TCL_INCLUDES) $(ITCL_DEFINES) $< ++ $(rc32) -fo $@ -d DEBUG=$(DEBUG) -d UNCHECKED=$(UNCHECKED) \ ++ $(ITCL_INCLUDES) $(TCL_INCLUDES) $(ITCL_DEFINES) $< ++ ++#--------------------------------------------------------------------- ++# Generate the windows help files. ++#--------------------------------------------------------------------- ++ ++HLPBASE = $(PROJECT)$(ITCL_VERSION) ++HELPFILE = $(OUT_DIR)\$(HLPBASE).hlp ++HELPCNT = $(OUT_DIR)\$(HLPBASE).cnt ++DOCTMP_DIR = $(OUT_DIR)\$(PROJECT)_docs ++HELPRTF = $(DOCTMP_DIR)\$(PROJECT).rtf ++MAN2HELP = $(DOCTMP_DIR)\man2help.tcl ++MAN2HELP2 = $(DOCTMP_DIR)\man2help2.tcl ++INDEX = $(DOCTMP_DIR)\index.tcl ++BMP = $(DOCTMP_DIR)\toaster.bmp ++BMP_NOPATH = toaster.bmp ++MAN2TCL = $(DOCTMP_DIR)\man2tcl.exe ++ ++winhelp: docsetup $(HELPFILE) ++ ++docsetup: ++ @if not exist $(DOCTMP_DIR)\nul mkdir $(DOCTMP_DIR) ++ ++$(MAN2HELP) $(MAN2HELP2) $(INDEX): $(TCLTOOLSDIR)\$$(@F) ++ copy $(TCLTOOLSDIR)\$(@F) $(@D) ++ ++$(BMP): ++ copy $(WINDIR)\$(@F) $(@D) ++ ++$(HELPFILE): $(HELPRTF) $(BMP) ++ cd $(DOCTMP_DIR) ++ start /wait hcrtf.exe -x <<$(PROJECT).hpj ++[OPTIONS] ++COMPRESS=12 Hall Zeck ++LCID=0x409 0x0 0x0 ; English (United States) ++TITLE=[Incr Tcl] Reference Manual ++BMROOT=. ++CNT=$(@B).cnt ++HLP=$(@B).hlp ++ ++[FILES] ++$(PROJECT).rtf ++ ++[WINDOWS] ++main="[Incr Tcl] Reference Manual",,27648,(r15263976),(r65280) ++ ++[CONFIG] ++BrowseButtons() ++CreateButton(1, "Web", ExecFile("http://www.tcl.tk")) ++CreateButton(2, "SF", ExecFile("http://sf.net/projects/incrtcl")) ++CreateButton(3, "Wiki", ExecFile("http://wiki.tcl.tk")) ++CreateButton(4, "FAQ", ExecFile("http://www.purl.org/NET/Tcl-FAQ/")) ++<< ++ cd $(MAKEDIR) ++ copy "$(DOCTMP_DIR)\$(@B).hlp" "$(OUT_DIR)" ++ copy "$(DOCTMP_DIR)\$(@B).cnt" "$(OUT_DIR)" ++ ++$(MAN2TCL): $(TCLTOOLSDIR)\$$(@B).c ++ $(cc32) -nologo -G4 -ML -O2 -Fo$(@D)\ $(TCLTOOLSDIR)\$(@B).c -link -out:$@ ++ ++$(HELPRTF): $(MAN2TCL) $(MAN2HELP) $(MAN2HELP2) $(INDEX) ++ $(TCLSH) $(MAN2HELP) -bitmap $(BMP_NOPATH) $(PROJECT) $(ITCL_VERSION) $(DOCDIR:\=/) ++ ++install-docs: ++!if exist($(HELPFILE)) ++ @xcopy /i /y "$(HELPFILE)" "$(DOC_INSTALL_DIR)\" ++ @xcopy /i /y "$(HELPCNT)" "$(DOC_INSTALL_DIR)\" ++ $(TCLSH) << ++puts "Installing $(PROJECT)'s helpfile contents into Tcl's ..." ++set f [open {$(DOC_INSTALL_DIR:\=/)/tcl$(TCL_VERSION).cnt} r] ++while {![eof $$f]} { ++ if {[regexp {:Include $(PROJECT)([0-9]{2}).cnt} [gets $$f] dummy ver]} { ++ if {$$ver == $(ITCL_VERSION)} { ++ puts "Already installed." ++ exit ++ } else { ++ # do something here logical to remove (or replace) it. ++ puts "$$ver != $(ITCL_VERSION), unfinished code path, die, die!" ++ exit 1 ++ } ++ } ++} ++close $$f ++set f [open {$(DOC_INSTALL_DIR:\=/)/tcl$(TCL_VERSION).cnt} a] ++puts $$f {:Include $(HLPBASE).cnt} ++close $$f ++<< ++ start /wait winhlp32 -g $(DOC_INSTALL_DIR)\tcl$(TCL_VERSION).hlp ++!endif + +-###################################################################### ++ ++#--------------------------------------------------------------------- + # Clean up +-###################################################################### ++#--------------------------------------------------------------------- + + tidy : + -del $(TMP_DIR)\*.pch +@@ -294,4 +417,3 @@ + hose : clean + -rmdir $(OUT_DIR) + -rmdir $(TMP_DIR) +- +diff -Naur insight-6.8.orig/itcl/itcl/win/nmakehlp.c insight-6.8.new/itcl/itcl/win/nmakehlp.c +--- insight-6.8.orig/itcl/itcl/win/nmakehlp.c 1970-01-01 01:00:00.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/win/nmakehlp.c 2008-08-18 18:56:44.000000000 +0200 +@@ -0,0 +1,359 @@ ++/* ---------------------------------------------------------------------------- ++ * nmakehlp.c -- ++ * ++ * This is used to fix limitations within nmake and the environment. ++ * ++ * Copyright (c) 2002 by David Gravereaux. ++ * ++ * See the file "license.terms" for information on usage and redistribution ++ * of this file, and for a DISCLAIMER OF ALL WARRANTIES. ++ * ++ * ---------------------------------------------------------------------------- ++ * RCS: @(#) $Id: nmakehlp.c,v 1.4 2004/04/29 17:40:44 davygrvy Exp $ ++ * ---------------------------------------------------------------------------- ++ */ ++#include ++#pragma comment (lib, "user32.lib") ++#pragma comment (lib, "kernel32.lib") ++#include ++#include ++ ++/* protos */ ++int CheckForCompilerFeature (const char *option); ++int CheckForLinkerFeature (const char *option); ++int IsIn (const char *string, const char *substring); ++int GrepForDefine (const char *file, const char *string); ++DWORD WINAPI ReadFromPipe (LPVOID args); ++ ++/* globals */ ++#define CHUNK 25 ++#define STATICBUFFERSIZE 1000 ++typedef struct { ++ HANDLE pipe; ++ char buffer[STATICBUFFERSIZE]; ++} pipeinfo; ++ ++pipeinfo Out = {INVALID_HANDLE_VALUE, '\0'}; ++pipeinfo Err = {INVALID_HANDLE_VALUE, '\0'}; ++ ++ ++ ++/* exitcodes: 0 == no, 1 == yes, 2 == error */ ++int ++main (int argc, char *argv[]) ++{ ++ char msg[300]; ++ DWORD dwWritten; ++ int chars; ++ ++ /* make sure children (cl.exe and link.exe) are kept quiet. */ ++ SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX); ++ ++ /* Make sure the compiler and linker aren't effected by the outside world. */ ++ SetEnvironmentVariable("CL", ""); ++ SetEnvironmentVariable("LINK", ""); ++ ++ if (argc > 1 && *argv[1] == '-') { ++ switch (*(argv[1]+1)) { ++ case 'c': ++ if (argc != 3) { ++ chars = wsprintf(msg, "usage: %s -c \n" ++ "Tests for whether cl.exe supports an option\n" ++ "exitcodes: 0 == no, 1 == yes, 2 == error\n", argv[0]); ++ WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, chars, &dwWritten, NULL); ++ return 2; ++ } ++ return CheckForCompilerFeature(argv[2]); ++ case 'l': ++ if (argc != 3) { ++ chars = wsprintf(msg, "usage: %s -l \n" ++ "Tests for whether link.exe supports an option\n" ++ "exitcodes: 0 == no, 1 == yes, 2 == error\n", argv[0]); ++ WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, chars, &dwWritten, NULL); ++ return 2; ++ } ++ return CheckForLinkerFeature(argv[2]); ++ case 'f': ++ if (argc == 2) { ++ chars = wsprintf(msg, "usage: %s -f \n" ++ "Find a substring within another\n" ++ "exitcodes: 0 == no, 1 == yes, 2 == error\n", argv[0]); ++ WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, chars, &dwWritten, NULL); ++ return 2; ++ } else if (argc == 3) { ++ /* if the string is blank, there is no match */ ++ return 0; ++ } else { ++ return IsIn(argv[2], argv[3]); ++ } ++ case 'g': ++ if (argc == 2) { ++ chars = wsprintf(msg, "usage: %s -g \n" ++ "grep for a #define\n" ++ "exitcodes: integer of the found string (no decimals)\n", argv[0]); ++ WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, chars, &dwWritten, NULL); ++ return 2; ++ } ++ return GrepForDefine(argv[2], argv[3]); ++ } ++ } ++ chars = wsprintf(msg, "usage: %s -c|-l|-f ...\n" ++ "This is a little helper app to equalize shell differences between WinNT and\n" ++ "Win9x and get nmake.exe to accomplish its job.\n", ++ argv[0]); ++ WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, chars, &dwWritten, NULL); ++ return 2; ++} ++ ++int ++CheckForCompilerFeature (const char *option) ++{ ++ STARTUPINFO si; ++ PROCESS_INFORMATION pi; ++ SECURITY_ATTRIBUTES sa; ++ DWORD threadID; ++ char msg[300]; ++ BOOL ok; ++ HANDLE hProcess, h, pipeThreads[2]; ++ char cmdline[100]; ++ ++ hProcess = GetCurrentProcess(); ++ ++ ZeroMemory(&pi, sizeof(PROCESS_INFORMATION)); ++ ZeroMemory(&si, sizeof(STARTUPINFO)); ++ si.cb = sizeof(STARTUPINFO); ++ si.dwFlags = STARTF_USESTDHANDLES; ++ si.hStdInput = INVALID_HANDLE_VALUE; ++ ++ ZeroMemory(&sa, sizeof(SECURITY_ATTRIBUTES)); ++ sa.nLength = sizeof(SECURITY_ATTRIBUTES); ++ sa.lpSecurityDescriptor = NULL; ++ sa.bInheritHandle = FALSE; ++ ++ /* create a non-inheritible pipe. */ ++ CreatePipe(&Out.pipe, &h, &sa, 0); ++ ++ /* dupe the write side, make it inheritible, and close the original. */ ++ DuplicateHandle(hProcess, h, hProcess, &si.hStdOutput, ++ 0, TRUE, DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE); ++ ++ /* Same as above, but for the error side. */ ++ CreatePipe(&Err.pipe, &h, &sa, 0); ++ DuplicateHandle(hProcess, h, hProcess, &si.hStdError, ++ 0, TRUE, DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE); ++ ++ /* base command line */ ++ strcpy(cmdline, "cl.exe -nologo -c -TC -Zs -X "); ++ /* append our option for testing */ ++ strcat(cmdline, option); ++ /* filename to compile, which exists, but is nothing and empty. */ ++ strcat(cmdline, " .\\nul"); ++ ++ ok = CreateProcess( ++ NULL, /* Module name. */ ++ cmdline, /* Command line. */ ++ NULL, /* Process handle not inheritable. */ ++ NULL, /* Thread handle not inheritable. */ ++ TRUE, /* yes, inherit handles. */ ++ DETACHED_PROCESS, /* No console for you. */ ++ NULL, /* Use parent's environment block. */ ++ NULL, /* Use parent's starting directory. */ ++ &si, /* Pointer to STARTUPINFO structure. */ ++ &pi); /* Pointer to PROCESS_INFORMATION structure. */ ++ ++ if (!ok) { ++ DWORD err = GetLastError(); ++ int chars = wsprintf(msg, "Tried to launch: \"%s\", but got error [%u]: ", cmdline, err); ++ ++ FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS | ++ FORMAT_MESSAGE_MAX_WIDTH_MASK, 0L, err, 0, (LPVOID) &msg[chars], ++ (300-chars), 0); ++ WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, strlen(msg), &err, NULL); ++ return 2; ++ } ++ ++ /* close our references to the write handles that have now been inherited. */ ++ CloseHandle(si.hStdOutput); ++ CloseHandle(si.hStdError); ++ ++ WaitForInputIdle(pi.hProcess, 5000); ++ CloseHandle(pi.hThread); ++ ++ /* start the pipe reader threads. */ ++ pipeThreads[0] = CreateThread(NULL, 0, ReadFromPipe, &Out, 0, &threadID); ++ pipeThreads[1] = CreateThread(NULL, 0, ReadFromPipe, &Err, 0, &threadID); ++ ++ /* block waiting for the process to end. */ ++ WaitForSingleObject(pi.hProcess, INFINITE); ++ CloseHandle(pi.hProcess); ++ ++ /* wait for our pipe to get done reading, should it be a little slow. */ ++ WaitForMultipleObjects(2, pipeThreads, TRUE, 500); ++ CloseHandle(pipeThreads[0]); ++ CloseHandle(pipeThreads[1]); ++ ++ /* look for the commandline warning code in both streams. */ ++ return !(strstr(Out.buffer, "D4002") != NULL || strstr(Err.buffer, "D4002") != NULL); ++} ++ ++int ++CheckForLinkerFeature (const char *option) ++{ ++ STARTUPINFO si; ++ PROCESS_INFORMATION pi; ++ SECURITY_ATTRIBUTES sa; ++ DWORD threadID; ++ char msg[300]; ++ BOOL ok; ++ HANDLE hProcess, h, pipeThreads[2]; ++ char cmdline[100]; ++ ++ hProcess = GetCurrentProcess(); ++ ++ ZeroMemory(&pi, sizeof(PROCESS_INFORMATION)); ++ ZeroMemory(&si, sizeof(STARTUPINFO)); ++ si.cb = sizeof(STARTUPINFO); ++ si.dwFlags = STARTF_USESTDHANDLES; ++ si.hStdInput = INVALID_HANDLE_VALUE; ++ ++ ZeroMemory(&sa, sizeof(SECURITY_ATTRIBUTES)); ++ sa.nLength = sizeof(SECURITY_ATTRIBUTES); ++ sa.lpSecurityDescriptor = NULL; ++ sa.bInheritHandle = TRUE; ++ ++ /* create a non-inheritible pipe. */ ++ CreatePipe(&Out.pipe, &h, &sa, 0); ++ ++ /* dupe the write side, make it inheritible, and close the original. */ ++ DuplicateHandle(hProcess, h, hProcess, &si.hStdOutput, ++ 0, TRUE, DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE); ++ ++ /* Same as above, but for the error side. */ ++ CreatePipe(&Err.pipe, &h, &sa, 0); ++ DuplicateHandle(hProcess, h, hProcess, &si.hStdError, ++ 0, TRUE, DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE); ++ ++ /* base command line */ ++ strcpy(cmdline, "link.exe -nologo "); ++ /* append our option for testing */ ++ strcat(cmdline, option); ++ ++ ok = CreateProcess( ++ NULL, /* Module name. */ ++ cmdline, /* Command line. */ ++ NULL, /* Process handle not inheritable. */ ++ NULL, /* Thread handle not inheritable. */ ++ TRUE, /* yes, inherit handles. */ ++ DETACHED_PROCESS, /* No console for you. */ ++ NULL, /* Use parent's environment block. */ ++ NULL, /* Use parent's starting directory. */ ++ &si, /* Pointer to STARTUPINFO structure. */ ++ &pi); /* Pointer to PROCESS_INFORMATION structure. */ ++ ++ if (!ok) { ++ DWORD err = GetLastError(); ++ int chars = wsprintf(msg, "Tried to launch: \"%s\", but got error [%u]: ", cmdline, err); ++ ++ FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS | ++ FORMAT_MESSAGE_MAX_WIDTH_MASK, 0L, err, 0, (LPVOID) &msg[chars], ++ (300-chars), 0); ++ WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, strlen(msg), &err, NULL); ++ return 2; ++ } ++ ++ /* close our references to the write handles that have now been inherited. */ ++ CloseHandle(si.hStdOutput); ++ CloseHandle(si.hStdError); ++ ++ WaitForInputIdle(pi.hProcess, 5000); ++ CloseHandle(pi.hThread); ++ ++ /* start the pipe reader threads. */ ++ pipeThreads[0] = CreateThread(NULL, 0, ReadFromPipe, &Out, 0, &threadID); ++ pipeThreads[1] = CreateThread(NULL, 0, ReadFromPipe, &Err, 0, &threadID); ++ ++ /* block waiting for the process to end. */ ++ WaitForSingleObject(pi.hProcess, INFINITE); ++ CloseHandle(pi.hProcess); ++ ++ /* wait for our pipe to get done reading, should it be a little slow. */ ++ WaitForMultipleObjects(2, pipeThreads, TRUE, 500); ++ CloseHandle(pipeThreads[0]); ++ CloseHandle(pipeThreads[1]); ++ ++ /* look for the commandline warning code in the stderr stream. */ ++ return !(strstr(Out.buffer, "LNK1117") != NULL || strstr(Err.buffer, "LNK1117") != NULL); ++} ++ ++DWORD WINAPI ++ReadFromPipe (LPVOID args) ++{ ++ pipeinfo *pi = (pipeinfo *) args; ++ char *lastBuf = pi->buffer; ++ DWORD dwRead; ++ BOOL ok; ++ ++again: ++ if (lastBuf - pi->buffer + CHUNK > STATICBUFFERSIZE) { ++ CloseHandle(pi->pipe); ++ return -1; ++ } ++ ok = ReadFile(pi->pipe, lastBuf, CHUNK, &dwRead, 0L); ++ if (!ok || dwRead == 0) { ++ CloseHandle(pi->pipe); ++ return 0; ++ } ++ lastBuf += dwRead; ++ goto again; ++ ++ return 0; /* makes the compiler happy */ ++} ++ ++int ++IsIn (const char *string, const char *substring) ++{ ++ return (strstr(string, substring) != NULL); ++} ++ ++/* ++ * Find a specified #define by name. ++ * ++ * If the line is '#define TCL_VERSION "8.5"', it returns ++ * 85 as the result. ++ */ ++ ++int ++GrepForDefine (const char *file, const char *string) ++{ ++ FILE *f; ++ char s1[51], s2[51], s3[51]; ++ int r = 0; ++ double d1; ++ ++ f = fopen(file, "rt"); ++ if (f == NULL) { ++ return 0; ++ } ++ ++ do { ++ r = fscanf(f, "%50s", s1); ++ if (r == 1 && !strcmp(s1, "#define")) { ++ /* get next two words */ ++ r = fscanf(f, "%50s %50s", s2, s3); ++ if (r != 2) continue; ++ /* is the first word what we're looking for? */ ++ if (!strcmp(s2, string)) { ++ fclose(f); ++ /* add 1 past first double quote char. "8.5" */ ++ d1 = atof(s3 + 1); /* 8.5 */ ++ while (floor(d1) != d1) { ++ d1 *= 10.0; ++ } ++ return ((int) d1); /* 85 */ ++ } ++ } ++ } while (!feof(f)); ++ ++ fclose(f); ++ return 0; ++} +diff -Naur insight-6.8.orig/itcl/itcl/win/rc/itcl.rc insight-6.8.new/itcl/itcl/win/rc/itcl.rc +--- insight-6.8.orig/itcl/itcl/win/rc/itcl.rc 2003-01-21 22:04:26.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/win/rc/itcl.rc 2008-08-18 19:18:48.000000000 +0200 +@@ -1,19 +1,16 @@ +-// RCS: @(#) $Id: itcl.rc,v 1.3 2003/01/21 21:04:26 hunt Exp $ ++// RCS: @(#) $Id: itcl.rc,v 1.5 2008/07/23 22:44:51 kseitz Exp $ + // + // Version resource script. + // + + #include +- +-#define RESOURCE_INCLUDED + #include + +- + // + // build-up the name suffix that defines the type of build this is. + // +-#if DEBUG == 1 +-#define SUFFIX_DEBUG "d" ++#if DEBUG && !UNCHECKED ++#define SUFFIX_DEBUG "g" + #else + #define SUFFIX_DEBUG "" + #endif +@@ -22,10 +19,10 @@ + + + VS_VERSION_INFO VERSIONINFO +- FILEVERSION ITCL_MAJOR_VERSION ,ITCL_MINOR_VERSION ,ITCL_RELEASE_LEVEL, 0 +- PRODUCTVERSION ITCL_MAJOR_VERSION ,ITCL_MINOR_VERSION ,ITCL_RELEASE_LEVEL, 0 ++ FILEVERSION ITCL_MAJOR_VERSION,ITCL_MINOR_VERSION,ITCL_RELEASE_LEVEL,ITCL_RELEASE_SERIAL ++ PRODUCTVERSION ITCL_MAJOR_VERSION,ITCL_MINOR_VERSION,ITCL_RELEASE_LEVEL,ITCL_RELEASE_SERIAL + FILEFLAGSMASK 0x3fL +-#if DEBUG == 1 ++#ifdef DEBUG + FILEFLAGS VS_FF_DEBUG + #else + FILEFLAGS 0x0L +@@ -34,27 +31,22 @@ + FILETYPE VFT_DLL + FILESUBTYPE 0x0L + BEGIN +- BLOCK "StringFileInfo" ++ BLOCK "StringFileInfo" ++ BEGIN ++ BLOCK "040904b0" + BEGIN +- BLOCK "040904b0" +- BEGIN +- VALUE "FileDescription", "Itcl language extension for Tcl\0" +- VALUE "Authors", "Michael McLennan\0" +- VALUE "OriginalFilename", "itcl" STRINGIFY(JOIN(ITCL_MAJOR_VERSION,ITCL_MINOR_VERSION)) SUFFIX ".dll\0" +- VALUE "CompanyName", "Bell Labs Innovations for Lucent Technologies\0" +- VALUE "FileVersion", ITCL_PATCH_LEVEL +- VALUE "LegalCopyright", "Copyright \251 1993-2001\0" +- VALUE "ProductName", "[incr Tcl] " ITCL_VERSION " for Windows\0" +- VALUE "ProductVersion", ITCL_PATCH_LEVEL +- END +- END +- BLOCK "VarFileInfo" +- BEGIN +- VALUE "Translation", 0x409, 1200 ++ VALUE "FileDescription", "Itcl language extension for Tcl\0" ++ VALUE "Authors", "Michael McLennan\0" ++ VALUE "OriginalFilename", "itcl" STRINGIFY(ITCL_MAJOR_VERSION) STRINGIFY(ITCL_MINOR_VERSION) SUFFIX ".dll\0" ++ VALUE "CompanyName", "Bell Labs Innovations for Lucent Technologies\0" ++ VALUE "FileVersion", ITCL_PATCH_LEVEL ++ VALUE "LegalCopyright", "Copyright \251 1993-2004\0" ++ VALUE "ProductName", "[Incr Tcl] " ITCL_VERSION " for Windows\0" ++ VALUE "ProductVersion", ITCL_PATCH_LEVEL + END ++ END ++ BLOCK "VarFileInfo" ++ BEGIN ++ VALUE "Translation", 0x409, 1200 ++ END + END +- +- +- +- +- +diff -Naur insight-6.8.orig/itcl/itcl/win/toaster.bmp insight-6.8.new/itcl/itcl/win/toaster.bmp +--- insight-6.8.orig/itcl/itcl/win/toaster.bmp 1970-01-01 01:00:00.000000000 +0100 ++++ insight-6.8.new/itcl/itcl/win/toaster.bmp 2008-08-18 18:56:44.000000000 +0200 +@@ -0,0 +1 @@ ++BM6