* tclconfig/tcl.m4, generic/vfs.c, doc/vfs.n:
authorJeff Hobbs <hobbs@users.sourceforge.net>
Wed, 3 Dec 2008 02:30:42 +0000 (02:30 +0000)
committerJeff Hobbs <hobbs@users.sourceforge.net>
Wed, 3 Dec 2008 02:30:42 +0000 (02:30 +0000)
* configure, configure.in: update to TEA 3.7, bump vfs to v1.4

* pkgIndex.tcl.in: this is now the sole pkgIndex.tcl script.
vfs::loadvfs updated to source vfsUtils.tcl right after loading
the dll.  Package versions updated, removed mk4vfs and zipvfs
compat packages.

* Makefile.in, win/makefile.vc: update for removed files

* library/template/*: add package provide 1.5.2 for each template

* library/mk4vfscompat.tcl (removed): remove old compat pkg
* library/zipvfscompat.tcl (removed): remove old compat pkg

* library/tclIndex (removed): users should package require the
appropriate driver, not rely on autoload
* library/pkgIndex.tcl (removed): impotent index files
* library/template/pkgIndex.tcl (removed):

20 files changed:
ChangeLog
Makefile.in
configure
configure.in
doc/vfs.n
generic/vfs.c
library/mk4vfscompat.tcl [deleted file]
library/pkgIndex.tcl [deleted file]
library/tclIndex [deleted file]
library/template/chrootvfs.tcl
library/template/collatevfs.tcl
library/template/deltavfs.tcl
library/template/fishvfs.tcl
library/template/pkgIndex.tcl [deleted file]
library/template/quotavfs.tcl
library/template/versionvfs.tcl
library/zipvfscompat.tcl [deleted file]
pkgIndex.tcl.in
tclconfig/tcl.m4
win/makefile.vc

index 22497f6137df81496c5625db7f2fd6f0111124d2..3ce0af173bc0fbdfec82ea5844f6e071a8ec9a15 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,36 @@
 2008-12-02  Jeff Hobbs  <jeffh@ActiveState.com>
 
+       * tclconfig/tcl.m4, generic/vfs.c, doc/vfs.n:
+       * configure, configure.in: update to TEA 3.7, bump vfs to v1.4
+
+       * pkgIndex.tcl.in: this is now the sole pkgIndex.tcl script.
+       vfs::loadvfs updated to source vfsUtils.tcl right after loading
+       the dll.  Package versions updated, removed mk4vfs and zipvfs
+       compat packages.
+
+       * Makefile.in, win/makefile.vc: update for removed files
+
+       * library/template/*: add package provide 1.5.2 for each template
+
+       * library/mk4vfscompat.tcl (removed): remove old compat pkg
+       * library/zipvfscompat.tcl (removed): remove old compat pkg
+
+       * library/tclIndex (removed): users should package require the
+       appropriate driver, not rely on autoload
+       * library/pkgIndex.tcl (removed): impotent index files
+       * library/template/pkgIndex.tcl (removed):
+
+       * tests/all.tcl (vfsCreateInterp): simplify the test to require
+       vfs as the main interps do.
+
+       * library/vfslib.tcl: remove vfs::normalize compat proc
+       bump vfslib to 1.4
+
+       * library/mk4vfs.tcl: remove unused lassign defn
+
+       * library/starkit.tcl (header): require namespace-based vfs driver
+       (eg. vfs::mk4 instead of mk4vfs).  bump starkit to v1.3.3
+
        * mac/* (removed): removed outdated Mac classic pieces
 
        * Makefile.in (install-lib-binaries): use lib_BINARIES for the
index e1d43e796f0ad16c8f65709025bb202e0fb28e21..58ae674a28264638ea21e95393e3e60194137c38 100644 (file)
@@ -40,12 +40,12 @@ PKG_TCL_SOURCES = @PKG_TCL_SOURCES@ \
                  ftpvfs.tcl httpvfs.tcl mk4vfs.tcl starkit.tcl \
                  tarvfs.tcl tclprocvfs.tcl testvfs.tcl \
                  vfsUrl.tcl vfsUtils.tcl vfslib.tcl \
-                 webdavvfs.tcl zipvfs.tcl tclIndex \
-                 tkvfs.tcl mk4vfscompat.tcl zipvfscompat.tcl \
+                 webdavvfs.tcl zipvfs.tcl tkvfs.tcl \
                  template/collatevfs.tcl template/deltavfs.tcl \
                  template/fishvfs.tcl template/globfind.tcl \
                  template/quotavfs.tcl template/tdelta.tcl \
-                 template/templatevfs.tcl template/versionvfs.tcl
+                 template/templatevfs.tcl template/versionvfs.tcl \
+                 template/chrootvfs.tcl
 
 
 #========================================================================
index 2b6f35d4154459bb7f3beaa6531afcd22764f52e..6b1c5cbbdcfe770769c667ffb5b9ea81e462b4e4 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for vfs 1.3.
+# Generated by GNU Autoconf 2.59 for vfs 1.4.
 #
 # Copyright (C) 2003 Free Software Foundation, Inc.
 # This configure script is free software; the Free Software Foundation
@@ -267,8 +267,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='vfs'
 PACKAGE_TARNAME='vfs'
-PACKAGE_VERSION='1.3'
-PACKAGE_STRING='vfs 1.3'
+PACKAGE_VERSION='1.4'
+PACKAGE_STRING='vfs 1.4'
 PACKAGE_BUGREPORT=''
 
 # Factoring default headers for most tests.
@@ -308,7 +308,7 @@ ac_includes_default="\
 # include <unistd.h>
 #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 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 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 ac_ct_RANLIB EGREP MATH_LIBS PKG_SOURCES PKG_OBJECTS 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 TCL_THREADS SHARED_BUILD AR CELIB_DIR LIBOBJS DL_LIBS CFLAGS_DEBUG CFLAGS_OPTIMIZE CFLAGS_WARNING STLIB_LD SHLIB_LD SHLIB_LD_LIBS SHLIB_CFLAGS LD_LIBRARY_PATH_VAR TCL_DBGX CFLAGS_DEFAULT LDFLAGS_DEFAULT MAKE_LIB MAKE_SHARED_LIB MAKE_STATIC_LIB MAKE_STUB_LIB RANLIB_STUB TCLSH_PROG 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 datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS 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 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 ac_ct_RANLIB EGREP MATH_LIBS PKG_SOURCES PKG_OBJECTS TCL_INCLUDES TCL_TOP_DIR_NATIVE CLEANFILES TCL_THREADS SHARED_BUILD AR CELIB_DIR LIBOBJS DL_LIBS CFLAGS_DEBUG CFLAGS_OPTIMIZE CFLAGS_WARNING STLIB_LD SHLIB_LD SHLIB_LD_LIBS SHLIB_CFLAGS LD_LIBRARY_PATH_VAR CFLAGS_DEFAULT LDFLAGS_DEFAULT TCL_DBGX MAKE_LIB MAKE_SHARED_LIB MAKE_STATIC_LIB MAKE_STUB_LIB RANLIB_STUB TCLSH_PROG LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -777,7 +777,7 @@ 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 vfs 1.3 to adapt to many kinds of systems.
+\`configure' configures vfs 1.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -834,7 +834,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of vfs 1.3:";;
+     short | recursive ) echo "Configuration of vfs 1.4:";;
    esac
   cat <<\_ACEOF
 
@@ -845,6 +845,7 @@ Optional Features:
   --enable-shared         build and link with shared libraries (default: on)
   --enable-64bit          enable 64bit support (default: off)
   --enable-64bit-vis      enable 64bit Sparc VIS support (default: off)
+  --disable-rpath         disable rpath support (default: on)
   --enable-wince          enable Win/CE support (where applicable)
   --enable-load           allow dynamic loading and "load" command (default:
                           on)
@@ -855,6 +856,7 @@ Optional Packages:
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
   --with-tcl              directory containing tcl configuration
                           (tclConfig.sh)
+  --with-tclinclude       directory containing the public Tcl header files
   --with-celib=DIR        use Windows/CE support library from DIR
 
 Some influential environment variables:
@@ -964,7 +966,7 @@ fi
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-vfs configure 1.3
+vfs configure 1.4
 generated by GNU Autoconf 2.59
 
 Copyright (C) 2003 Free Software Foundation, Inc.
@@ -978,7 +980,7 @@ 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 vfs $as_me 1.3, which was
+It was created by vfs $as_me 1.4, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   $ $0 $@
@@ -1324,7 +1326,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
     # TEA extensions pass this us the version of TEA they think they
     # are compatible with.
-    TEA_VERSION="3.5"
+    TEA_VERSION="3.7"
 
     echo "$as_me:$LINENO: checking for correct TEA configuration" >&5
 echo $ECHO_N "checking for correct TEA configuration... $ECHO_C" >&6
@@ -1335,15 +1337,15 @@ 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.5" = x ; then
+    if test x"3.7" = 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.5" != "${TEA_VERSION}" ; then
-       echo "$as_me:$LINENO: result: warning: requested TEA version \"3.5\", have \"${TEA_VERSION}\"" >&5
-echo "${ECHO_T}warning: requested TEA version \"3.5\", have \"${TEA_VERSION}\"" >&6
+    elif test "3.7" != "${TEA_VERSION}" ; then
+       echo "$as_me:$LINENO: result: warning: requested TEA version \"3.7\", have \"${TEA_VERSION}\"" >&5
+echo "${ECHO_T}warning: requested TEA version \"3.7\", have \"${TEA_VERSION}\"" >&6
     else
        echo "$as_me:$LINENO: result: ok (TEA ${TEA_VERSION})" >&5
 echo "${ECHO_T}ok (TEA ${TEA_VERSION})" >&6
@@ -1529,7 +1531,7 @@ echo "$as_me: error: ${with_tclconfig} directory doesn't contain tclConfig.sh" >
                done
            fi
 
-           # on Windows, check in common installation locations
+           # TEA specific: on Windows, check in common installation locations
            if test "${TEA_PLATFORM}" = "windows" \
                -a x"${ac_cv_c_tclconfig}" = x ; then
                for i in `ls -d C:/Tcl/lib 2>/dev/null` \
@@ -1577,9 +1579,9 @@ fi
 
        if test x"${ac_cv_c_tclconfig}" = x ; then
            TCL_BIN_DIR="# no Tcl configs found"
-           { echo "$as_me:$LINENO: WARNING: Can't find Tcl configuration definitions" >&5
-echo "$as_me: WARNING: Can't find Tcl configuration definitions" >&2;}
-           exit 0
+           { { 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; }; }
        else
            no_tcl=
            TCL_BIN_DIR=${ac_cv_c_tclconfig}
@@ -1595,7 +1597,7 @@ echo $ECHO_N "checking for existence of ${TCL_BIN_DIR}/tclConfig.sh... $ECHO_C"
     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
+       . "${TCL_BIN_DIR}/tclConfig.sh"
     else
         echo "$as_me:$LINENO: result: could not find ${TCL_BIN_DIR}/tclConfig.sh" >&5
 echo "${ECHO_T}could not find ${TCL_BIN_DIR}/tclConfig.sh" >&6
@@ -1611,7 +1613,7 @@ echo "${ECHO_T}could not find ${TCL_BIN_DIR}/tclConfig.sh" >&6
     # 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
+    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}
@@ -1621,7 +1623,7 @@ echo "${ECHO_T}could not find ${TCL_BIN_DIR}/tclConfig.sh" >&6
        # against Tcl.framework installed in an arbitary location.
        case ${TCL_DEFS} in
            *TCL_FRAMEWORK*)
-               if test -f ${TCL_BIN_DIR}/${TCL_LIB_FILE}; then
+               if test -f "${TCL_BIN_DIR}/${TCL_LIB_FILE}"; then
                    for i in "`cd ${TCL_BIN_DIR}; pwd`" \
                             "`cd ${TCL_BIN_DIR}/../..; pwd`"; do
                        if test "`basename "$i"`" = "${TCL_LIB_FILE}.framework"; then
@@ -1630,7 +1632,7 @@ echo "${ECHO_T}could not find ${TCL_BIN_DIR}/tclConfig.sh" >&6
                        fi
                    done
                fi
-               if test -f ${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}; then
+               if test -f "${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}"; then
                    TCL_STUB_LIB_SPEC="-L${TCL_BIN_DIR} ${TCL_STUB_LIB_FLAG}"
                    TCL_STUB_LIB_PATH="${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}"
                fi
@@ -1656,6 +1658,7 @@ echo "${ECHO_T}could not find ${TCL_BIN_DIR}/tclConfig.sh" >&6
 
 
 
+    # TEA specific:
 
 
 
@@ -3338,9 +3341,12 @@ done
     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
+if test "${tcl_cv_cc_pipe+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+           hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -pipe"
+           cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -3377,17 +3383,21 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  tcl_cv_cc_pipe=yes
 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
+tcl_cv_cc_pipe=no
 fi
 rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+           CFLAGS=$hold_cflags
+fi
+echo "$as_me:$LINENO: result: $tcl_cv_cc_pipe" >&5
+echo "${ECHO_T}$tcl_cv_cc_pipe" >&6
+       if test $tcl_cv_cc_pipe = yes; then
+           CFLAGS="$CFLAGS -pipe"
+       fi
     fi
 
     #--------------------------------------------------------------------
@@ -4553,8 +4563,8 @@ fi
 fi
 
 
-    # Don't perform the eval of the libraries here because DL_LIBS
-    # won't be set until we call TEA_CONFIG_CFLAGS
+    # TEA specific: 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}'
 
@@ -4644,6 +4654,7 @@ _ACEOF
 
     fi
 
+    # TEA specific:
     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
@@ -6099,6 +6110,8 @@ done
                ;;
            *)
                # check for existence - allows for generic/win/unix VPATH
+               # To add more dirs here (like 'src'), you have to update VPATH
+               # in Makefile.in as well
                if test ! -f "${srcdir}/$i" -a ! -f "${srcdir}/generic/$i" \
                    -a ! -f "${srcdir}/win/$i" -a ! -f "${srcdir}/unix/$i" \
                    ; then
@@ -6198,49 +6211,151 @@ echo "$as_me: error: could not find tcl source file '${srcdir}/$i'" >&2;}
 
 #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
+    echo "$as_me:$LINENO: checking for Tcl public headers" >&5
+echo $ECHO_N "checking for Tcl public headers... $ECHO_C" >&6
 
-    TCL_SRC_DIR_NATIVE=`${CYGPATH} ${TCL_SRC_DIR}`
-    TCL_TOP_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}\"
-    TCL_GENERIC_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/generic\"
-    TCL_UNIX_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/unix\"
-    TCL_WIN_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/win\"
-    TCL_BMAP_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/bitmaps\"
-    TCL_TOOL_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/tools\"
-    TCL_COMPAT_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/compat\"
-
-    if test "${TEA_PLATFORM}" = "windows"; then
-       TCL_PLATFORM_DIR_NATIVE=${TCL_WIN_DIR_NATIVE}
+
+# Check whether --with-tclinclude or --without-tclinclude was given.
+if test "${with_tclinclude+set}" = set; then
+  withval="$with_tclinclude"
+  with_tclinclude=${withval}
+fi;
+
+    if test "${ac_cv_c_tclh+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+       # 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
+               { { echo "$as_me:$LINENO: error: ${with_tclinclude} directory does not contain tcl.h" >&5
+echo "$as_me: error: ${with_tclinclude} directory does not contain tcl.h" >&2;}
+   { (exit 1); exit 1; }; }
+           fi
+       else
+           if test "`uname -s`" = "Darwin"; then
+               # If Tcl was built as a framework, attempt to use
+               # the framework's Headers directory
+               case ${TCL_DEFS} in
+                   *TCL_FRAMEWORK*)
+                       list="`ls -d ${TCL_BIN_DIR}/Headers 2>/dev/null`"
+                       ;;
+               esac
+           fi
+
+           # Look in the source dir only if Tcl is not installed,
+           # and in that situation, look there before installed locations.
+           if test -f "${TCL_BIN_DIR}/Makefile" ; then
+               list="$list `ls -d ${TCL_SRC_DIR}/generic 2>/dev/null`"
+           fi
+
+           # Check order: pkg --prefix location, Tcl's --prefix location,
+           # relative to directory of tclConfig.sh.
+
+           eval "temp_includedir=${includedir}"
+           list="$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`"
+           if test "${TEA_PLATFORM}" != "windows" -o "$GCC" = "yes"; then
+               list="$list /usr/local/include /usr/include"
+               if test x"${TCL_INCLUDE_SPEC}" != x ; then
+                   d=`echo "${TCL_INCLUDE_SPEC}" | sed -e 's/^-I//'`
+                   list="$list `ls -d ${d} 2>/dev/null`"
+               fi
+           fi
+           for i in $list ; do
+               if test -f "$i/tcl.h" ; then
+                   ac_cv_c_tclh=$i
+                   break
+               fi
+           done
+       fi
+
+fi
+
+
+    # Print a message based on how we determined the include path
+
+    if test x"${ac_cv_c_tclh}" = x ; then
+       { { echo "$as_me:$LINENO: error: tcl.h not found.  Please specify its location with --with-tclinclude" >&5
+echo "$as_me: error: tcl.h not found.  Please specify its location with --with-tclinclude" >&2;}
+   { (exit 1); exit 1; }; }
     else
-       TCL_PLATFORM_DIR_NATIVE=${TCL_UNIX_DIR_NATIVE}
-    fi
-    # We want to ensure these are substituted so as not to require
-    # any *_NATIVE vars be defined in the Makefile
-    TCL_INCLUDES="-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}"
-    if test "`uname -s`" = "Darwin"; then
-        # If Tcl was built as a framework, attempt to use
-        # the framework's Headers and PrivateHeaders directories
-        case ${TCL_DEFS} in
-           *TCL_FRAMEWORK*)
-               if test -d "${TCL_BIN_DIR}/Headers" -a -d "${TCL_BIN_DIR}/PrivateHeaders"; then
-               TCL_INCLUDES="-I\"${TCL_BIN_DIR}/Headers\" -I\"${TCL_BIN_DIR}/PrivateHeaders\" ${TCL_INCLUDES}"; else
-               TCL_INCLUDES="${TCL_INCLUDES} ${TCL_INCLUDE_SPEC} `echo "${TCL_INCLUDE_SPEC}" | sed -e 's/Headers/PrivateHeaders/'`"; fi
-               ;;
-       esac
+       echo "$as_me:$LINENO: result: ${ac_cv_c_tclh}" >&5
+echo "${ECHO_T}${ac_cv_c_tclh}" >&6
     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}\"
 
 
 
 
+    # Allow for --with-tclinclude to take effect and define ${ac_cv_c_tclh}
+
+    echo "$as_me:$LINENO: checking for Tcl private include files" >&5
+echo $ECHO_N "checking for Tcl private include files... $ECHO_C" >&6
+
+    TCL_SRC_DIR_NATIVE=`${CYGPATH} ${TCL_SRC_DIR}`
+    TCL_TOP_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}\"
+
+    # Check to see if tcl<Plat>Port.h isn't already with the public headers
+    # Don't look for tclInt.h because that resides with tcl.h in the core
+    # sources, but the <plat>Port headers are in a different directory
+    if test "${TEA_PLATFORM}" = "windows" -a \
+       -f "${ac_cv_c_tclh}/tclWinPort.h"; then
+       result="private headers found with public headers"
+    elif test "${TEA_PLATFORM}" = "unix" -a \
+       -f "${ac_cv_c_tclh}/tclUnixPort.h"; then
+       result="private headers found with public headers"
+    else
+       TCL_GENERIC_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/generic\"
+       if test "${TEA_PLATFORM}" = "windows"; then
+           TCL_PLATFORM_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/win\"
+       else
+           TCL_PLATFORM_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/unix\"
+       fi
+       # Overwrite the previous TCL_INCLUDES as this should capture both
+       # public and private headers in the same set.
+       # We want to ensure these are substituted so as not to require
+       # any *_NATIVE vars be defined in the Makefile
+       TCL_INCLUDES="-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}"
+       if test "`uname -s`" = "Darwin"; then
+            # If Tcl was built as a framework, attempt to use
+            # the framework's Headers and PrivateHeaders directories
+            case ${TCL_DEFS} in
+               *TCL_FRAMEWORK*)
+                   if test -d "${TCL_BIN_DIR}/Headers" -a \
+                           -d "${TCL_BIN_DIR}/PrivateHeaders"; then
+                       TCL_INCLUDES="-I\"${TCL_BIN_DIR}/Headers\" -I\"${TCL_BIN_DIR}/PrivateHeaders\" ${TCL_INCLUDES}"
+                   else
+                       TCL_INCLUDES="${TCL_INCLUDES} ${TCL_INCLUDE_SPEC} `echo "${TCL_INCLUDE_SPEC}" | sed -e 's/Headers/PrivateHeaders/'`"
+                   fi
+                   ;;
+           esac
+           result="Using ${TCL_INCLUDES}"
+       else
+           if test ! -f "${TCL_SRC_DIR}/generic/tclInt.h" ; then
+               { { echo "$as_me:$LINENO: error: Cannot find private header tclInt.h in ${TCL_SRC_DIR}" >&5
+echo "$as_me: error: Cannot find private header tclInt.h in ${TCL_SRC_DIR}" >&2;}
+   { (exit 1); exit 1; }; }
+           fi
+           result="Using srcdir found in tclConfig.sh: ${TCL_SRC_DIR}"
+       fi
+    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
+    echo "$as_me:$LINENO: result: ${result}" >&5
+echo "${ECHO_T}${result}" >&6
 
 
 #--------------------------------------------------------------------
@@ -6805,15 +6920,103 @@ else
 fi;
     echo "$as_me:$LINENO: result: $do64bitVIS" >&5
 echo "${ECHO_T}$do64bitVIS" >&6
-
+    # Force 64bit on with VIS
     if test "$do64bitVIS" = "yes"; then
-       # Force 64bit on with VIS
-       do64bit=yes
-    fi
+  do64bit=yes
+fi
 
-    # Step 0.c: Cross-compiling options for Windows/CE builds?
 
-    if test "${TEA_PLATFORM}" = "windows" ; then
+    # Step 0.c: Check if visibility support is available. Do this here so
+    # that platform specific alternatives can be used below if this fails.
+
+    echo "$as_me:$LINENO: checking if compiler supports visibility \"hidden\"" >&5
+echo $ECHO_N "checking if compiler supports visibility \"hidden\"... $ECHO_C" >&6
+if test "${tcl_cv_cc_visibility_hidden+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+       hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -Werror"
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+           extern __attribute__((__visibility__("hidden"))) void f(void);
+           void f(void) {}
+int
+main ()
+{
+f();
+  ;
+  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
+  tcl_cv_cc_visibility_hidden=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+tcl_cv_cc_visibility_hidden=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+       CFLAGS=$hold_cflags
+fi
+echo "$as_me:$LINENO: result: $tcl_cv_cc_visibility_hidden" >&5
+echo "${ECHO_T}$tcl_cv_cc_visibility_hidden" >&6
+    if test $tcl_cv_cc_visibility_hidden = yes; then
+
+
+cat >>confdefs.h <<\_ACEOF
+#define MODULE_SCOPE extern __attribute__((__visibility__("hidden")))
+_ACEOF
+
+
+fi
+
+
+    # Step 0.d: Disable -rpath support?
+
+    echo "$as_me:$LINENO: checking if rpath support is requested" >&5
+echo $ECHO_N "checking if rpath support is requested... $ECHO_C" >&6
+    # Check whether --enable-rpath or --disable-rpath was given.
+if test "${enable_rpath+set}" = set; then
+  enableval="$enable_rpath"
+  doRpath=$enableval
+else
+  doRpath=yes
+fi;
+    echo "$as_me:$LINENO: result: $doRpath" >&5
+echo "${ECHO_T}$doRpath" >&6
+
+    # TEA specific: 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 or --disable-wince was given.
@@ -6825,7 +7028,9 @@ else
 fi;
        echo "$as_me:$LINENO: result: $doWince" >&5
 echo "${ECHO_T}$doWince" >&6
-    fi
+
+fi
+
 
     # Step 1: set the variable "system" to hold the name and version number
     # for the system.
@@ -6837,6 +7042,7 @@ if test "${tcl_cv_sys_version+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
+       # TEA specific:
        if test "${TEA_PLATFORM}" = "windows" ; then
            tcl_cv_sys_version=windows
        elif test -f /usr/lib/NextStep/software_version; then
@@ -6956,17 +7162,22 @@ fi
     LDFLAGS_ARCH=""
     TCL_EXPORT_FILE_SUFFIX=""
     UNSHARED_LIB_SUFFIX=""
+    # TEA specific: use PACKAGE_VERSION instead of VERSION
     TCL_TRIM_DOTS='`echo ${PACKAGE_VERSION} | tr -d .`'
     ECHO_VERSION='`echo ${PACKAGE_VERSION}`'
     TCL_LIB_VERSIONS_OK=ok
     CFLAGS_DEBUG=-g
     CFLAGS_OPTIMIZE=-O
-    if test "$GCC" = "yes" ; then
+    if test "$GCC" = yes; then
+
+       # TEA specific:
        CFLAGS_OPTIMIZE=-O2
        CFLAGS_WARNING="-Wall -Wno-implicit-int"
-    else
-       CFLAGS_WARNING=""
-    fi
+
+else
+  CFLAGS_WARNING=""
+fi
+
     TCL_NEEDS_EXP_FILE=0
     TCL_BUILD_EXP_FILE=""
     TCL_EXP_FILE=""
@@ -7008,6 +7219,7 @@ fi
     STLIB_LD='${AR} cr'
     LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH"
     case $system in
+       # TEA specific:
        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.
@@ -7265,8 +7477,10 @@ _ACEOF
                PATHTYPE=-w
                # For information on what debugtype is most useful, see:
                # http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp
+               # and also
+               # http://msdn2.microsoft.com/en-us/library/y0zzbyt4%28VS.80%29.aspx
                # This essentially turns it all on.
-               LDFLAGS_DEBUG="-debug:full -debugtype:both -warn:2"
+               LDFLAGS_DEBUG="-debug -debugtype:cv"
                LDFLAGS_OPTIMIZE="-release"
                if test "$doWince" != "no" ; then
                    LDFLAGS_CONSOLE="-link ${lflags}"
@@ -7286,7 +7500,8 @@ _ACEOF
            DL_OBJS="tclLoadNone.obj"
            ;;
        AIX-*)
-           if test "${TCL_THREADS}" = "1" -a "$GCC" != "yes" ; then
+           if test "${TCL_THREADS}" = "1" -a "$GCC" != "yes"; then
+
                # AIX requires the _r compiler when gcc isn't being used
                case "${CC}" in
                    *_r)
@@ -7298,7 +7513,9 @@ _ACEOF
                esac
                echo "$as_me:$LINENO: result: Using $CC for compiling with threads" >&5
 echo "${ECHO_T}Using $CC for compiling with threads" >&6
-           fi
+
+fi
+
            LIBS="$LIBS -lc"
            SHLIB_CFLAGS=""
            SHLIB_LD_LIBS='${LIBS}'
@@ -7308,47 +7525,70 @@ echo "${ECHO_T}Using $CC for compiling with threads" >&6
            LD_LIBRARY_PATH_VAR="LIBPATH"
 
            # 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
+           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
+
+else
+
                    do64bit_ok=yes
                    CFLAGS="$CFLAGS -q64"
                    LDFLAGS_ARCH="-q64"
                    RANLIB="${RANLIB} -X64"
                    AR="${AR} -X64"
                    SHLIB_LD_FLAGS="-b64"
-               fi
-           fi
 
-           if test "`uname -m`" = "ia64" ; then
+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
+               if test "$GCC" = yes; then
+
                    CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
-               else
+
+else
+
                    CC_SEARCH_FLAGS='-R${LIB_RUNTIME_DIR}'
-               fi
+
+fi
+
                LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
-           else
-               if test "$GCC" = "yes" ; then
-                   SHLIB_LD="gcc -shared"
-               else
+
+else
+
+               if test "$GCC" = yes; then
+  SHLIB_LD='${CC} -shared'
+else
+
                    SHLIB_LD="/bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry"
-               fi
+
+fi
+
                SHLIB_LD="${TCL_SRC_DIR}/unix/ldAix ${SHLIB_LD} ${SHLIB_LD_FLAGS}"
                DL_LIBS="-ldl"
                CC_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'
                LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
                TCL_NEEDS_EXP_FILE=1
+               # TEA specific: use PACKAGE_VERSION instead of VERSION
                TCL_EXPORT_FILE_SUFFIX='${PACKAGE_VERSION}.exp'
-           fi
+
+fi
+
 
            # AIX v<=4.1 has some different flags than 4.2+
-           if test "$system" = "AIX-4.1" -o "`uname -v`" -lt "4" ; then
+           if test "$system" = "AIX-4.1" -o "`uname -v`" -lt 4; then
+
                case $LIBOBJS in
     "tclLoadAix.$ac_objext"   | \
   *" tclLoadAix.$ac_objext"   | \
@@ -7358,7 +7598,9 @@ echo "$as_me: WARNING: 64bit mode not supported with GCC on $system" >&2;}
 esac
 
                DL_LIBS="-lld"
-           fi
+
+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
@@ -7443,17 +7685,20 @@ else
 fi
 
            if test $libbsd = yes; then
+
                MATH_LIBS="$MATH_LIBS -lbsd"
 
 cat >>confdefs.h <<\_ACEOF
 #define USE_DELTA_FOR_TZ 1
 _ACEOF
 
-           fi
+
+fi
+
            ;;
        BeOS*)
            SHLIB_CFLAGS="-fPIC"
-           SHLIB_LD="${CC} -nostart"
+           SHLIB_LD='${CC} -nostart'
            SHLIB_LD_LIBS='${LIBS}'
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
@@ -7545,7 +7790,7 @@ fi
            ;;
        BSD/OS-4.*)
            SHLIB_CFLAGS="-export-dynamic -fPIC"
-           SHLIB_LD="cc -shared"
+           SHLIB_LD='${CC} -shared'
            SHLIB_LD_LIBS='${LIBS}'
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
@@ -7556,7 +7801,7 @@ fi
            ;;
        dgux*)
            SHLIB_CFLAGS="-K PIC"
-           SHLIB_LD="cc -G"
+           SHLIB_LD='${CC} -G'
            SHLIB_LD_LIBS=""
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
@@ -7571,11 +7816,24 @@ cat >>confdefs.h <<\_ACEOF
 #define _XOPEN_SOURCE_EXTENDED 1
 _ACEOF
 
-           # Needed by Tcl, but not most extensions
+           # TEA specific: Needed by Tcl, but not most extensions
            #AC_DEFINE(_XOPEN_SOURCE, 1, [Do we want to use the XOPEN network library?])
            #LIBS="$LIBS -lxnet"               # Use the XOPEN network library
 
-           SHLIB_SUFFIX=".sl"
+           if test "`uname -m`" = ia64; then
+
+               SHLIB_SUFFIX=".so"
+               # Use newer C++ library for C++ extensions
+               #if test "$GCC" != "yes" ; then
+               #   CPPFLAGS="-AA"
+               #fi
+
+else
+
+               SHLIB_SUFFIX=".sl"
+
+fi
+
            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
@@ -7647,6 +7905,7 @@ else
 fi
 
            if test "$tcl_ok" = yes; then
+
                SHLIB_CFLAGS="+z"
                SHLIB_LD="ld -b"
                SHLIB_LD_LIBS='${LIBS}'
@@ -7656,27 +7915,37 @@ fi
                CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'
                LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:.'
                LD_LIBRARY_PATH_VAR="SHLIB_PATH"
-           fi
-           if test "$GCC" = "yes" ; then
-               SHLIB_LD="gcc -shared"
+
+fi
+
+           if test "$GCC" = yes; then
+
+               SHLIB_LD='${CC} -shared'
                SHLIB_LD_LIBS='${LIBS}'
                LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-           fi
+
+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
+           if test "$do64bit" = "yes"; then
+
+               if test "$GCC" = yes; then
+
+                   case `${CC} -dumpmachine` in
                        hppa64*)
                            # 64-bit gcc in use.  Fix flags for GNU ld.
                            do64bit_ok=yes
-                           SHLIB_LD="${CC} -shared"
+                           SHLIB_LD='${CC} -shared'
                            SHLIB_LD_LIBS='${LIBS}'
-                           CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+                           if test $doRpath = yes; then
+
+                               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+fi
+
                            LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
                            ;;
                        *)
@@ -7684,13 +7953,18 @@ fi
 echo "$as_me: WARNING: 64bit mode not supported with GCC on $system" >&2;}
                            ;;
                    esac
-               else
+
+else
+
                    do64bit_ok=yes
                    CFLAGS="$CFLAGS +DD64"
                    LDFLAGS_ARCH="+DD64"
-               fi
-           fi
-           ;;
+
+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
@@ -7764,6 +8038,7 @@ else
 fi
 
            if test "$tcl_ok" = yes; then
+
                SHLIB_CFLAGS="+z"
                SHLIB_LD="ld -b"
                SHLIB_LD_LIBS=""
@@ -7773,8 +8048,9 @@ fi
                CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'
                LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:.'
                LD_LIBRARY_PATH_VAR="SHLIB_PATH"
-           fi
-           ;;
+
+fi
+ ;;
        IRIX-5.*)
            SHLIB_CFLAGS=""
            SHLIB_LD="ld -shared -rdata_shared"
@@ -7782,8 +8058,12 @@ fi
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
            DL_LIBS=""
-           CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-           LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
+           if test $doRpath = yes; then
+
+               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+               LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
+fi
+
            ;;
        IRIX-6.*)
            SHLIB_CFLAGS=""
@@ -7792,12 +8072,19 @@ fi
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
            DL_LIBS=""
-           CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-           LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
-           if test "$GCC" = "yes" ; then
+           if test $doRpath = yes; then
+
+               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+               LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
+fi
+
+           if test "$GCC" = yes; then
+
                CFLAGS="$CFLAGS -mabi=n32"
                LDFLAGS="$LDFLAGS -mabi=n32"
-           else
+
+else
+
                case $system in
                    IRIX-6.3)
                        # Use to build 6.2 compatible binaries on 6.3.
@@ -7808,7 +8095,9 @@ fi
                        ;;
                esac
                LDFLAGS="$LDFLAGS -n32"
-           fi
+
+fi
+
            ;;
        IRIX64-6.*)
            SHLIB_CFLAGS=""
@@ -7817,45 +8106,64 @@ fi
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
            DL_LIBS=""
-           CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-           LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
+           if test $doRpath = yes; then
+
+               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+               LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
+fi
+
 
            # Check to enable 64-bit flags for compiler/linker
 
-           if test "$do64bit" = "yes" ; then
-               if test "$GCC" = "yes" ; then
+           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
+
+else
+
                    do64bit_ok=yes
                    SHLIB_LD="ld -64 -shared -rdata_shared"
                    CFLAGS="$CFLAGS -64"
                    LDFLAGS_ARCH="-64"
-               fi
-           fi
+
+fi
+
+
+fi
+
            ;;
        Linux*)
            SHLIB_CFLAGS="-fPIC"
            SHLIB_LD_LIBS='${LIBS}'
            SHLIB_SUFFIX=".so"
 
+           # TEA specific:
            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"
 
-           # TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS here:
+           # TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS
            SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS_DEFAULT}'
            DL_OBJS="tclLoadDl.o"
            DL_LIBS="-ldl"
            LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
-           CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+           if test $doRpath = yes; then
+
+               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+fi
+
            LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-           if test "`uname -m`" = "alpha" ; then
-               CFLAGS="$CFLAGS -mieee"
-           fi
+           if test "`uname -m`" = "alpha"; then
+  CFLAGS="$CFLAGS -mieee"
+fi
+
            if test $do64bit = yes; then
+
                echo "$as_me:$LINENO: checking if compiler accepts -m64 flag" >&5
 echo $ECHO_N "checking if compiler accepts -m64 flag... $ECHO_C" >&6
 if test "${tcl_cv_cc_m64+set}" = set; then
@@ -7915,21 +8223,26 @@ fi
 echo "$as_me:$LINENO: result: $tcl_cv_cc_m64" >&5
 echo "${ECHO_T}$tcl_cv_cc_m64" >&6
                if test $tcl_cv_cc_m64 = yes; then
+
                    CFLAGS="$CFLAGS -m64"
                    do64bit_ok=yes
-               fi
-           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
+fi
+
+
+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
+
+           if test x"${USE_COMPAT}" != x; then
+  CFLAGS="$CFLAGS -fno-inline"
+fi
+
 
            ;;
        GNU*)
@@ -7937,31 +8250,36 @@ echo "${ECHO_T}$tcl_cv_cc_m64" >&6
            SHLIB_LD_LIBS='${LIBS}'
            SHLIB_SUFFIX=".so"
 
-           SHLIB_LD="${CC} -shared"
+           SHLIB_LD='${CC} -shared'
            DL_OBJS=""
            DL_LIBS="-ldl"
            LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
            CC_SEARCH_FLAGS=""
            LD_SEARCH_FLAGS=""
-           if test "`uname -m`" = "alpha" ; then
-               CFLAGS="$CFLAGS -mieee"
-           fi
+           if test "`uname -m`" = "alpha"; then
+  CFLAGS="$CFLAGS -mieee"
+fi
+
            ;;
        Lynx*)
            SHLIB_CFLAGS="-fPIC"
            SHLIB_LD_LIBS='${LIBS}'
            SHLIB_SUFFIX=".so"
            CFLAGS_OPTIMIZE=-02
-           SHLIB_LD="${CC} -shared "
+           SHLIB_LD='${CC} -shared'
            DL_OBJS="tclLoadDl.o"
            DL_LIBS="-mshared -ldl"
            LD_FLAGS="-Wl,--export-dynamic"
-           CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-           LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+           if test $doRpath = yes; then
+
+               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+               LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+fi
+
            ;;
        MP-RAS-02*)
            SHLIB_CFLAGS="-K PIC"
-           SHLIB_LD="cc -G"
+           SHLIB_LD='${CC} -G'
            SHLIB_LD_LIBS=""
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
@@ -7971,7 +8289,7 @@ echo "${ECHO_T}$tcl_cv_cc_m64" >&6
            ;;
        MP-RAS-*)
            SHLIB_CFLAGS="-K PIC"
-           SHLIB_LD="cc -G"
+           SHLIB_LD='${CC} -G'
            SHLIB_LD_LIBS=""
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
@@ -7980,16 +8298,19 @@ echo "${ECHO_T}$tcl_cv_cc_m64" >&6
            CC_SEARCH_FLAGS=""
            LD_SEARCH_FLAGS=""
            ;;
-       NetBSD-*|FreeBSD-[1-2].*)
-           # NetBSD/SPARC needs -fPIC, -fpic will not do.
+       NetBSD-1.*|FreeBSD-[1-2].*)
            SHLIB_CFLAGS="-fPIC"
            SHLIB_LD="ld -Bshareable -x"
            SHLIB_LD_LIBS='${LIBS}'
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
            DL_LIBS=""
-           CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-           LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
+           if test $doRpath = yes; then
+
+               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+               LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
+fi
+
            echo "$as_me:$LINENO: checking for ELF" >&5
 echo $ECHO_N "checking for ELF... $ECHO_C" >&6
 if test "${tcl_cv_ld_elf+set}" = set; then
@@ -8020,10 +8341,15 @@ fi
 echo "$as_me:$LINENO: result: $tcl_cv_ld_elf" >&5
 echo "${ECHO_T}$tcl_cv_ld_elf" >&6
            if test $tcl_cv_ld_elf = yes; then
+
                SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so'
-           else
+
+else
+
                SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0'
-           fi
+
+fi
+
 
            # Ancient FreeBSD doesn't handle version numbers with dots.
 
@@ -8031,19 +8357,17 @@ echo "${ECHO_T}$tcl_cv_ld_elf" >&6
            TCL_LIB_VERSIONS_OK=nodots
            ;;
        OpenBSD-*)
-           # OpenBSD/SPARC[64] needs -fPIC, -fpic will not do.
-           case `machine` in
-           sparc|sparc64)
-               SHLIB_CFLAGS="-fPIC";;
-           *)
-               SHLIB_CFLAGS="-fpic";;
-           esac
-           SHLIB_LD="${CC} -shared ${SHLIB_CFLAGS}"
+           SHLIB_CFLAGS="-fPIC"
+           SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}'
            SHLIB_LD_LIBS='${LIBS}'
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
            DL_LIBS=""
-           CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+           if test $doRpath = yes; then
+
+               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+fi
+
            LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
            SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0'
            echo "$as_me:$LINENO: checking for ELF" >&5
@@ -8076,32 +8400,43 @@ fi
 echo "$as_me:$LINENO: result: $tcl_cv_ld_elf" >&5
 echo "${ECHO_T}$tcl_cv_ld_elf" >&6
            if test $tcl_cv_ld_elf = yes; then
+
                LDFLAGS=-Wl,-export-dynamic
-           else
-               LDFLAGS=""
-           fi
+
+else
+  LDFLAGS=""
+fi
+
 
            # OpenBSD doesn't do version numbers with dots.
            UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
            TCL_LIB_VERSIONS_OK=nodots
            ;;
-       FreeBSD-*)
+       NetBSD-*|FreeBSD-*)
            # FreeBSD 3.* and greater have ELF.
+           # NetBSD 2.* has ELF and can use 'cc -shared' to build shared libs
            SHLIB_CFLAGS="-fPIC"
-           SHLIB_LD="ld -Bshareable -x"
+           SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}'
            SHLIB_LD_LIBS='${LIBS}'
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
            DL_LIBS=""
            LDFLAGS="$LDFLAGS -export-dynamic"
-           CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-           LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
-           if test "${TCL_THREADS}" = "1" ; then
+           if test $doRpath = yes; then
+
+               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+fi
+
+           LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
+           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
+
+fi
+
            case $system in
            FreeBSD-3.*)
                # FreeBSD-3 doesn't handle version numbers with dots.
@@ -8114,7 +8449,17 @@ echo "${ECHO_T}$tcl_cv_ld_elf" >&6
        Darwin-*)
            CFLAGS_OPTIMIZE="-Os"
            SHLIB_CFLAGS="-fno-common"
+           # To avoid discrepancies between what headers configure sees during
+           # preprocessing tests and compiling tests, move any -isysroot and
+           # -mmacosx-version-min flags from CFLAGS to CPPFLAGS:
+           CPPFLAGS="${CPPFLAGS} `echo " ${CFLAGS}" | \
+               awk 'BEGIN {FS=" +-";ORS=" "}; {for (i=2;i<=NF;i++) \
+               if ($i~/^(isysroot|mmacosx-version-min)/) print "-"$i}'`"
+           CFLAGS="`echo " ${CFLAGS}" | \
+               awk 'BEGIN {FS=" +-";ORS=" "}; {for (i=2;i<=NF;i++) \
+               if (!($i~/^(isysroot|mmacosx-version-min)/)) print "-"$i}'`"
            if test $do64bit = yes; then
+
                case `arch` in
                    ppc)
                        echo "$as_me:$LINENO: checking if compiler accepts -arch ppc64 flag" >&5
@@ -8176,9 +8521,12 @@ fi
 echo "$as_me:$LINENO: result: $tcl_cv_cc_arch_ppc64" >&5
 echo "${ECHO_T}$tcl_cv_cc_arch_ppc64" >&6
                        if test $tcl_cv_cc_arch_ppc64 = yes; then
+
                            CFLAGS="$CFLAGS -arch ppc64 -mpowerpc64 -mcpu=G5"
                            do64bit_ok=yes
-                       fi;;
+
+fi
+;;
                    i386)
                        echo "$as_me:$LINENO: checking if compiler accepts -arch x86_64 flag" >&5
 echo $ECHO_N "checking if compiler accepts -arch x86_64 flag... $ECHO_C" >&6
@@ -8239,20 +8587,30 @@ fi
 echo "$as_me:$LINENO: result: $tcl_cv_cc_arch_x86_64" >&5
 echo "${ECHO_T}$tcl_cv_cc_arch_x86_64" >&6
                        if test $tcl_cv_cc_arch_x86_64 = yes; then
+
                            CFLAGS="$CFLAGS -arch x86_64"
                            do64bit_ok=yes
-                       fi;;
+
+fi
+;;
                    *)
                        { echo "$as_me:$LINENO: WARNING: Don't know how enable 64-bit on architecture \`arch\`" >&5
 echo "$as_me: WARNING: Don't know how enable 64-bit on architecture \`arch\`" >&2;};;
                esac
-           else
+
+else
+
                # Check for combined 32-bit and 64-bit fat build
-               echo "$CFLAGS " | grep -E -q -- '-arch (ppc64|x86_64) ' && \
-                   echo "$CFLAGS " | grep -E -q -- '-arch (ppc|i386) ' && \
+               if echo "$CFLAGS " |grep -E -q -- '-arch (ppc64|x86_64) ' \
+                   && echo "$CFLAGS " |grep -E -q -- '-arch (ppc|i386) '; then
+
                    fat_32_64=yes
-           fi
-           # TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS here:
+fi
+
+
+fi
+
+           # TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS
            SHLIB_LD='${CC} -dynamiclib ${CFLAGS} ${LDFLAGS_DEFAULT}'
            echo "$as_me:$LINENO: checking if ld accepts -single_module flag" >&5
 echo $ECHO_N "checking if ld accepts -single_module flag... $ECHO_C" >&6
@@ -8313,16 +8671,25 @@ fi
 echo "$as_me:$LINENO: result: $tcl_cv_ld_single_module" >&5
 echo "${ECHO_T}$tcl_cv_ld_single_module" >&6
            if test $tcl_cv_ld_single_module = yes; then
+
                SHLIB_LD="${SHLIB_LD} -Wl,-single_module"
-           fi
+
+fi
+
+           # TEA specific: link shlib with current and compatiblity version flags
+           vers=`echo ${PACKAGE_VERSION} | sed -e 's/^\([0-9]\{1,5\}\)\(\(\.[0-9]\{1,3\}\)\{0,2\}\).*$/\1\2/p' -e d`
+           SHLIB_LD="${SHLIB_LD} -current_version ${vers:-0} -compatibility_version ${vers:-0}"
            SHLIB_LD_LIBS='${LIBS}'
            SHLIB_SUFFIX=".dylib"
            DL_OBJS="tclLoadDyld.o"
            DL_LIBS=""
            # Don't use -prebind when building for Mac OS X 10.4 or later only:
-           test "`echo "${MACOSX_DEPLOYMENT_TARGET}" | awk -F '10\\.' '{print int($2)}'`" -lt 4 -a \
-               "`echo "${CFLAGS}" | awk -F '-mmacosx-version-min=10\\.' '{print int($2)}'`" -lt 4 && \
+           if test "`echo "${MACOSX_DEPLOYMENT_TARGET}" | awk -F '10\\.' '{print int($2)}'`" -lt 4 -a \
+               "`echo "${CPPFLAGS}" | awk -F '-mmacosx-version-min=10\\.' '{print int($2)}'`" -lt 4; then
+
                LDFLAGS="$LDFLAGS -prebind"
+fi
+
            LDFLAGS="$LDFLAGS -headerpad_max_install_names"
            echo "$as_me:$LINENO: checking if ld accepts -search_paths_first flag" >&5
 echo $ECHO_N "checking if ld accepts -search_paths_first flag... $ECHO_C" >&6
 echo "$as_me:$LINENO: result: $tcl_cv_ld_search_paths_first" >&5
 echo "${ECHO_T}$tcl_cv_ld_search_paths_first" >&6
            if test $tcl_cv_ld_search_paths_first = yes; then
+
                LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
-           fi
+
+fi
+
+           if test "$tcl_cv_cc_visibility_hidden" != yes; then
+
+
+cat >>confdefs.h <<\_ACEOF
+#define MODULE_SCOPE __private_extern__
+_ACEOF
+
+
+fi
+
            CC_SEARCH_FLAGS=""
            LD_SEARCH_FLAGS=""
            LD_LIBRARY_PATH_VAR="DYLD_LIBRARY_PATH"
+           # TEA specific: for combined 32 & 64 bit fat builds of Tk
+           # extensions, verify that 64-bit build is possible.
+           if test "$fat_32_64" = yes && test -n "${TK_BIN_DIR}"; then
+
+               if test "${TEA_WINDOWINGSYSTEM}" = x11; then
+
+                   echo "$as_me:$LINENO: checking for 64-bit X11" >&5
+echo $ECHO_N "checking for 64-bit X11... $ECHO_C" >&6
+if test "${tcl_cv_lib_x11_64+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+                       for v in CFLAGS CPPFLAGS LDFLAGS; do
+                           eval 'hold_'$v'="$'$v'";'$v'="`echo "$'$v' "|sed -e "s/-arch ppc / /g" -e "s/-arch i386 / /g"`"'
+                       done
+                       CPPFLAGS="$CPPFLAGS -I/usr/X11R6/include"
+                       LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -lX11"
+                       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <X11/Xlib.h>
+int
+main ()
+{
+XrmInitialize();
+  ;
+  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
+  tcl_cv_lib_x11_64=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+tcl_cv_lib_x11_64=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+                       for v in CFLAGS CPPFLAGS LDFLAGS; do
+                           eval $v'="$hold_'$v'"'
+                       done
+fi
+echo "$as_me:$LINENO: result: $tcl_cv_lib_x11_64" >&5
+echo "${ECHO_T}$tcl_cv_lib_x11_64" >&6
+
+fi
+
+               # remove 64-bit arch flags from CFLAGS et al. if configuration
+               # does not support 64-bit.
+               if test "${TEA_WINDOWINGSYSTEM}" = aqua -o "$tcl_cv_lib_x11_64" = no; then
+
+                   { echo "$as_me:$LINENO: Removing 64-bit architectures from compiler & linker flags" >&5
+echo "$as_me: Removing 64-bit architectures from compiler & linker flags" >&6;}
+                   for v in CFLAGS CPPFLAGS LDFLAGS; do
+                       eval $v'="`echo "$'$v' "|sed -e "s/-arch ppc64 / /g" -e "s/-arch x86_64 / /g"`"'
+                   done
+fi
+
+
+fi
 
-           # TEA specific: for Tk extensions, remove 64-bit arch flags from
-           # CFLAGS for combined 32-bit and 64-bit fat builds as neither TkAqua
-           # nor TkX11 can be built for 64-bit at present.
-           test "$fat_32_64" = yes && test -n "${TK_BIN_DIR}" && \
-               CFLAGS="`echo "$CFLAGS " | sed -e 's/-arch ppc64 / /g' -e 's/-arch x86_64 / /g'`"
            ;;
        NEXTSTEP-*)
            SHLIB_CFLAGS=""
-           SHLIB_LD="cc -nostdlib -r"
+           SHLIB_LD='${CC} -nostdlib -r'
            SHLIB_LD_LIBS=""
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadNext.o"
@@ -8428,11 +8888,14 @@ _ACEOF
        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
+           if test "$SHARED_BUILD" = 1; then
+  SHLIB_LD="ld -shared"
+else
+
                SHLIB_LD="ld -non_shared"
-           fi
+
+fi
+
            SHLIB_LD_LIBS=""
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
@@ -8443,34 +8906,52 @@ _ACEOF
        OSF1-V*)
            # Digital OSF/1
            SHLIB_CFLAGS=""
-           if test "$SHARED_BUILD" = "1" ; then
+           if test "$SHARED_BUILD" = 1; then
+
                SHLIB_LD='ld -shared -expect_unresolved "*"'
-           else
+
+else
+
                SHLIB_LD='ld -non_shared -expect_unresolved "*"'
-           fi
+
+fi
+
            SHLIB_LD_LIBS=""
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
            DL_LIBS=""
-           CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-           LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
-           if test "$GCC" = "yes" ; then
-               CFLAGS="$CFLAGS -mieee"
-            else
+           if test $doRpath = yes; then
+
+               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+               LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
+fi
+
+           if test "$GCC" = yes; then
+  CFLAGS="$CFLAGS -mieee"
+else
+
                CFLAGS="$CFLAGS -DHAVE_TZSET -std1 -ieee"
-           fi
+fi
+
            # see pthread_intro(3) for pthread support on osf1, k.furukawa
-           if test "${TCL_THREADS}" = "1" ; then
+           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
+               if test "$GCC" = yes; then
+
                    LIBS="$LIBS -lpthread -lmach -lexc"
-               else
+
+else
+
                    CFLAGS="$CFLAGS -pthread"
                    LDFLAGS="$LDFLAGS -pthread"
-               fi
-           fi
+
+fi
+
+
+fi
 
            ;;
        QNX-6*)
@@ -8490,13 +8971,18 @@ _ACEOF
            # 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
+           if test "$GCC" = yes; then
+
                SHLIB_CFLAGS="-fPIC -melf"
                LDFLAGS="$LDFLAGS -melf -Wl,-Bexport"
-           else
+
+else
+
                SHLIB_CFLAGS="-Kpic -belf"
                LDFLAGS="$LDFLAGS -belf -Wl,-Bexport"
-           fi
+
+fi
+
            SHLIB_LD="ld -G"
            SHLIB_LD_LIBS=""
            SHLIB_SUFFIX=".so"
@@ -8507,7 +8993,7 @@ _ACEOF
            ;;
        SINIX*5.4*)
            SHLIB_CFLAGS="-K PIC"
-           SHLIB_LD="cc -G"
+           SHLIB_LD='${CC} -G'
            SHLIB_LD_LIBS=""
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
@@ -8560,15 +9046,20 @@ _ACEOF
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
            DL_LIBS="-ldl"
-           if test "$GCC" = "yes" ; then
-               SHLIB_LD="$CC -shared"
+           if test "$GCC" = yes; then
+
+               SHLIB_LD='${CC} -shared'
                CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
                LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-           else
+
+else
+
                SHLIB_LD="/usr/ccs/bin/ld -G -z text"
                CC_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
                LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-           fi
+
+fi
+
            ;;
        SunOS-5*)
            # Note: If _REENTRANT isn't defined, then Solaris
@@ -8588,45 +9079,89 @@ _ACEOF
            SHLIB_CFLAGS="-KPIC"
 
            # Check to enable 64-bit flags for compiler/linker
-           if test "$do64bit" = "yes" ; then
+           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
-                               { echo "$as_me:$LINENO: WARNING: 64bit mode not supported with GCC < 3.2 on $system" >&5
+               if test "$arch" = "sparcv9 sparc"; then
+
+                   if test "$GCC" = yes; then
+
+                       if test "`${CC} -dumpversion | awk -F. '{print $1}'`" -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
+
+else
+
                            do64bit_ok=yes
-                           if test "$do64bitVIS" = "yes" ; then
-                               CFLAGS="$CFLAGS -xarch=v9a"
-                               LDFLAGS_ARCH="-xarch=v9a"
-                           else
-                               CFLAGS="$CFLAGS -xarch=v9"
-                               LDFLAGS_ARCH="-xarch=v9"
-                           fi
-                           # Solaris 64 uses this as well
-                           #LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH_64"
-                       fi
-               elif test "$arch" = "amd64 i386" ; 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
+                           CFLAGS="$CFLAGS -m64 -mcpu=v9"
+                           LDFLAGS="$LDFLAGS -m64 -mcpu=v9"
+                           SHLIB_CFLAGS="-fPIC"
+
+fi
+
+
+else
+
                        do64bit_ok=yes
-                       CFLAGS="$CFLAGS -xarch=amd64"
-                       LDFLAGS="$LDFLAGS -xarch=amd64"
-                   fi
-               else
-                   { echo "$as_me:$LINENO: WARNING: 64bit mode not supported for $arch" >&5
+                       if test "$do64bitVIS" = yes; then
+
+                           CFLAGS="$CFLAGS -xarch=v9a"
+                           LDFLAGS_ARCH="-xarch=v9a"
+
+else
+
+                           CFLAGS="$CFLAGS -xarch=v9"
+                           LDFLAGS_ARCH="-xarch=v9"
+
+fi
+
+                       # Solaris 64 uses this as well
+                       #LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH_64"
+
+fi
+
+
+else
+  if test "$arch" = "amd64 i386"; then
+
+                   if test "$GCC" = yes; then
+
+                       case $system in
+                           SunOS-5.1[1-9]*|SunOS-5.[2-9][0-9]*)
+                               do64bit_ok=yes
+                               CFLAGS="$CFLAGS -m64"
+                               LDFLAGS="$LDFLAGS -m64";;
+                           *)
+                               { 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
+                       case $system in
+                           SunOS-5.1[1-9]*|SunOS-5.[2-9][0-9]*)
+                               CFLAGS="$CFLAGS -m64"
+                               LDFLAGS="$LDFLAGS -m64";;
+                           *)
+                               CFLAGS="$CFLAGS -xarch=amd64"
+                               LDFLAGS="$LDFLAGS -xarch=amd64";;
+                       esac
+
+fi
+
+
+else
+  { echo "$as_me:$LINENO: WARNING: 64bit mode not supported for $arch" >&5
 echo "$as_me: WARNING: 64bit mode not supported for $arch" >&2;}
-               fi
-           fi
+fi
+
+fi
+
+
+fi
+
 
            # Note: need the LIBS below, otherwise Tk won't find Tcl's
            # symbols when dynamically loaded into tclsh.
@@ -8635,30 +9170,57 @@ echo "$as_me: WARNING: 64bit mode not supported for $arch" >&2;}
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
            DL_LIBS="-ldl"
-           if test "$GCC" = "yes" ; then
-               SHLIB_LD="$CC -shared"
+           if test "$GCC" = yes; then
+
+               SHLIB_LD='${CC} -shared'
                CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
                LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-               if test "$do64bit_ok" = "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` | ..."
-                   #CC_SEARCH_FLAGS="${CC_SEARCH_FLAGS},-R,$v9gcclibdir"
-               fi
-           else
-               SHLIB_LD="/usr/ccs/bin/ld -G -z text"
+               if test "$do64bit_ok" = yes; then
+
+                   if test "$arch" = "sparcv9 sparc"; 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` | ..."
+                       #CC_SEARCH_FLAGS="${CC_SEARCH_FLAGS},-R,$v9gcclibdir"
+
+else
+  if test "$arch" = "amd64 i386"; then
+
+                       # JH: static-libgcc is necessary for core Tcl, but may
+                       # not be necessary for extensions.
+                       SHLIB_LD="$SHLIB_LD -m64 -static-libgcc"
+
+fi
+
+fi
+
+
+fi
+
+
+else
+
+               case $system in
+                   SunOS-5.[1-9][0-9]*)
+                       SHLIB_LD='${CC} -G -z text ${LDFLAGS}';;
+                   *)
+                       SHLIB_LD='/usr/ccs/bin/ld -G -z text';;
+               esac
                CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
                LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
-           fi
+
+fi
+
            ;;
        UNIX_SV* | UnixWare-5*)
            SHLIB_CFLAGS="-KPIC"
-           SHLIB_LD="cc -G"
+           SHLIB_LD='${CC} -G'
            SHLIB_LD_LIBS=""
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
@@ -8724,17 +9286,25 @@ fi
 echo "$as_me:$LINENO: result: $tcl_cv_ld_Bexport" >&5
 echo "${ECHO_T}$tcl_cv_ld_Bexport" >&6
            if test $tcl_cv_ld_Bexport = yes; then
+
                LDFLAGS="$LDFLAGS -Wl,-Bexport"
-           fi
+
+fi
+
            CC_SEARCH_FLAGS=""
            LD_SEARCH_FLAGS=""
            ;;
     esac
 
-    if test "$do64bit" = "yes" -a "$do64bit_ok" = "no" ; then
+    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
+
+fi
+
+
+
 
     # Step 4: disable dynamic loading if requested via a command-line switch.
 
@@ -8745,15 +9315,17 @@ if test "${enable_load+set}" = set; then
 else
   tcl_ok=yes
 fi;
-    if test "$tcl_ok" = "no"; then
-       DL_OBJS=""
-    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."
+
+    if test "x$DL_OBJS" != x; then
+  BUILD_DLTEST="\$(DLTEST_TARGETS)"
+else
+
+       { echo "$as_me:$LINENO: WARNING: Can't figure out how to do dynamic loading or shared libraries on this system." >&5
+echo "$as_me: WARNING: Can't figure out how to do dynamic loading or shared libraries on this system." >&2;}
        SHLIB_CFLAGS=""
        SHLIB_LD=""
        SHLIB_SUFFIX=""
@@ -8763,43 +9335,41 @@ fi;
        CC_SEARCH_FLAGS=""
        LD_SEARCH_FLAGS=""
        BUILD_DLTEST=""
-    fi
+
+fi
+
     LDFLAGS="$LDFLAGS $LDFLAGS_ARCH"
 
     # 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-*)
-                   ;;
-               SCO_SV-3.2*)
-                   ;;
-               windows)
-                   ;;
-               *)
-                   SHLIB_CFLAGS="-fPIC"
-                   ;;
-           esac
-       fi
-    fi
+    if test "$DL_OBJS" != "tclLoadNone.o" -a "$GCC" = yes; then
 
-    if test "$SHARED_LIB_SUFFIX" = "" ; then
+       case $system in
+           AIX-*) ;;
+           BSD/OS*) ;;
+           IRIX*) ;;
+           NetBSD-*|FreeBSD-*) ;;
+           Darwin-*) ;;
+           SCO_SV-3.2*) ;;
+           *) SHLIB_CFLAGS="-fPIC" ;;
+       esac
+fi
+
+
+    if test "$SHARED_LIB_SUFFIX" = ""; then
+
+       # TEA specific: use PACKAGE_VERSION instead of VERSION
        SHARED_LIB_SUFFIX='${PACKAGE_VERSION}${SHLIB_SUFFIX}'
-    fi
-    if test "$UNSHARED_LIB_SUFFIX" = "" ; then
+fi
+
+    if test "$UNSHARED_LIB_SUFFIX" = ""; then
+
+       # TEA specific: use PACKAGE_VERSION instead of VERSION
        UNSHARED_LIB_SUFFIX='${PACKAGE_VERSION}.a'
-    fi
+fi
+
 
 
 
@@ -9259,8 +9829,8 @@ _ACEOF
 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*
+       # TEA specific: 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
@@ -9598,6 +10168,7 @@ echo "${ECHO_T}no" >&6
 echo "${ECHO_T}yes (standard debugging)" >&6
        fi
     fi
+    # TEA specific:
     if test "${TEA_PLATFORM}" != "windows" ; then
        LDFLAGS_DEFAULT="${LDFLAGS}"
     fi
@@ -9605,7 +10176,6 @@ echo "${ECHO_T}yes (standard debugging)" >&6
 
 
 
-
     if test "$tcl_ok" = "mem" -o "$tcl_ok" = "all"; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -9629,6 +10199,7 @@ if test "${SHARED_BUILD}" = "1"; then
 cat >>confdefs.h <<\_ACEOF
 #define USE_TCL_STUBS 1
 _ACEOF
+
 fi
 
 
@@ -9726,11 +10297,11 @@ echo $ECHO_N "checking for tclsh... $ECHO_C" >&6
               `ls -d ${TCL_PREFIX}/bin     2>/dev/null`"
         for i in $list ; do
             if test -f "$i/${TCLSH_PROG}" ; then
-                REAL_TCL_BIN_DIR="`cd "$i"; pwd`"
+                REAL_TCL_BIN_DIR="`cd "$i"; pwd`/"
                 break
             fi
         done
-        TCLSH_PROG="${REAL_TCL_BIN_DIR}/${TCLSH_PROG}"
+        TCLSH_PROG="${REAL_TCL_BIN_DIR}${TCLSH_PROG}"
     fi
     echo "$as_me:$LINENO: result: ${TCLSH_PROG}" >&5
 echo "${ECHO_T}${TCLSH_PROG}" >&6
@@ -9860,6 +10431,7 @@ LIBOBJS=$ac_libobjs
 LTLIBOBJS=$ac_ltlibobjs
 
 
+CFLAGS="${CFLAGS} ${CPPFLAGS}"; CPPFLAGS=""
 
 : ${CONFIG_STATUS=./config.status}
 ac_clean_files_save=$ac_clean_files
@@ -10131,7 +10703,7 @@ _ASBOX
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by vfs $as_me 1.3, which was
+This file was extended by vfs $as_me 1.4, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -10186,7 +10758,7 @@ _ACEOF
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-vfs config.status 1.3
+vfs config.status 1.4
 configured by $0, generated by GNU Autoconf 2.59,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 
@@ -10416,14 +10988,8 @@ s,@EGREP@,$EGREP,;t t
 s,@MATH_LIBS@,$MATH_LIBS,;t t
 s,@PKG_SOURCES@,$PKG_SOURCES,;t t
 s,@PKG_OBJECTS@,$PKG_OBJECTS,;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,@TCL_TOP_DIR_NATIVE@,$TCL_TOP_DIR_NATIVE,;t t
 s,@CLEANFILES@,$CLEANFILES,;t t
 s,@TCL_THREADS@,$TCL_THREADS,;t t
 s,@SHARED_BUILD@,$SHARED_BUILD,;t t
@@ -10439,9 +11005,9 @@ s,@SHLIB_LD@,$SHLIB_LD,;t t
 s,@SHLIB_LD_LIBS@,$SHLIB_LD_LIBS,;t t
 s,@SHLIB_CFLAGS@,$SHLIB_CFLAGS,;t t
 s,@LD_LIBRARY_PATH_VAR@,$LD_LIBRARY_PATH_VAR,;t t
-s,@TCL_DBGX@,$TCL_DBGX,;t t
 s,@CFLAGS_DEFAULT@,$CFLAGS_DEFAULT,;t t
 s,@LDFLAGS_DEFAULT@,$LDFLAGS_DEFAULT,;t t
+s,@TCL_DBGX@,$TCL_DBGX,;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
index 18cf1854c54fd9dd9b3fc98d5b87c34515aa143b..23936d75962d862b16900f9d108f6cbdd754a594 100644 (file)
@@ -13,7 +13,7 @@ dnl   to configure the system for the local environment.
 #    http://www.tcl.tk/           Tcl Developer Exchange
 #--------------------------------------------------------------------
 
-AC_INIT([vfs], [1.3])
+AC_INIT([vfs], [1.4])
 
 #--------------------------------------------------------------------
 # Call TEA_INIT as the first TEA_ macro to set up initial vars.
@@ -21,7 +21,7 @@ AC_INIT([vfs], [1.3])
 # as well as PKG_LIB_FILE and PKG_STUB_LIB_FILE.
 #--------------------------------------------------------------------
 
-TEA_INIT([3.5])
+TEA_INIT([3.7])
 
 AC_CONFIG_AUX_DIR(tclconfig)
 
index d4dadab56e57e519e7bf353a3c82ec227d56702c..df91e01bf9aebac66d274a746224f4ec23b0ba16 100644 (file)
--- a/doc/vfs.n
+++ b/doc/vfs.n
@@ -3,7 +3,7 @@
 '\" 
 '\" 
 .so man.macros
-.TH vfs n 1.2.1 Vfs "Tcl-only Virtual File Systems"
+.TH vfs n 1.4 Vfs "Tcl-only Virtual File Systems"
 .BS
 '\" Note:  do not modify the .sh NAME line immediately below!
 .SH NAME
@@ -13,7 +13,7 @@
 .sp
 \fBpackage require Tcl 8.4\fR
 .sp
-\fBpackage require vfs ?1.2.1?\fR
+\fBpackage require vfs ?1.4?\fR
 .sp
 \fBvfs::filesystem\fR \fIinfo\fR
 .sp
index ed189fd6ae282bed70a1cc5ba647f20ff177570e..dadac1602dcde8cb904dd5ee5500b096f8b5afe2 100644 (file)
@@ -336,7 +336,7 @@ Vfs_Init(interp)
 
 #ifndef PACKAGE_VERSION
     /* keep in sync with actual version */
-#define PACKAGE_VERSION "1.3"
+#define PACKAGE_VERSION "1.4"
 #endif
     if (Tcl_PkgProvide(interp, "vfs", PACKAGE_VERSION) == TCL_ERROR) {
         return TCL_ERROR;
diff --git a/library/mk4vfscompat.tcl b/library/mk4vfscompat.tcl
deleted file mode 100644 (file)
index 8d3be3c..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-# Compatibility package to keep the ability to use vfs::mk4 via
-# mk4vfs. Keep the version number in sync with version of vfs::mk4,
-# and pkgIndex.tcl, of course. There is no other functionality, only
-# the redirection.
-package require vfs::mk4 1.10.1
-package provide mk4vfs   1.10.1
diff --git a/library/pkgIndex.tcl b/library/pkgIndex.tcl
deleted file mode 100644 (file)
index 8ce90db..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-# Tcl package index file, version 1.1
-# This file was generated by hand.
-# 
-# This file is used by makefile.vc until that properly auto-generates it.
-# pkgIndex.tcl.in is used instead of configure-based builds.
-# Keep in sync with pkgIndex.tcl.in until this goes away.
-
-# We don't really want to throw an error with older versions of
-# Tcl, they should just ignore us.
-if {[package provide Tcl] < 8.4} {
-    return
-}
-package require Tcl 8.4
-
-namespace eval ::vfs {}
-variable vfs::dll
-
-if {$::tcl_platform(platform) eq "unix"} {
-    if {[info exists ::tcl_platform(debug)]} {
-       set dll libvfs1.3g
-    } else {
-       set dll libvfs1.3
-    }
-} elseif {[info exists ::tcl_platform(debug)]} {
-    set dll vfs13g
-} else {
-    set dll vfs13
-}
-if {![info exists dir]} {
-    set dir [file dirname [info script]]
-}
-set dll [file join $dir $dll[info sharedlibextension]]
-
-proc ::vfs::loadvfs {dir dll} {
-    global auto_path
-    if {[lsearch -exact $auto_path $dir] == -1} {
-       lappend auto_path $dir
-    }
-    if {![file exists $dll]} { return }
-    set dir [file dirname $dll]
-    if {[lsearch -exact $auto_path $dir] == -1} {
-       lappend auto_path $dir
-    }
-    load $dll
-}
-
-package ifneeded vfs        1.3.0 [list ::vfs::loadvfs $dir $dll]
-package ifneeded starkit    1.3.2 [list source [file join $dir starkit.tcl]]
-package ifneeded vfslib     1.3.1 [list source [file join $dir vfslib.tcl]]
-
-# Old
-package ifneeded mk4vfs       1.10.1 [list source [file join $dir mk4vfscompat.tcl]]
-package ifneeded zipvfs       1.0.1  [list source [file join $dir zipvfscompat.tcl]]
-
-# New, for the old, keep version numbers synchronized.
-package ifneeded vfs::mk4     1.10.1 [list source [file join $dir mk4vfs.tcl]]
-package ifneeded vfs::zip     1.0.1  [list source [file join $dir zipvfs.tcl]]
-
-# New
-package ifneeded vfs::ftp     1.0 [list source [file join $dir ftpvfs.tcl]]
-package ifneeded vfs::http    0.6 [list source [file join $dir httpvfs.tcl]]
-package ifneeded vfs::mkcl    1.4 [list source [file join $dir mkclvfs.tcl]]
-package ifneeded vfs::ns      0.5 [list source [file join $dir tclprocvfs.tcl]]
-package ifneeded vfs::tar     0.91 [list source [file join $dir tarvfs.tcl]]
-package ifneeded vfs::test    1.0 [list source [file join $dir testvfs.tcl]]
-package ifneeded vfs::urltype 1.0 [list source [file join $dir vfsUrl.tcl]]
-package ifneeded vfs::webdav  0.1 [list source [file join $dir webdavvfs.tcl]]
-package ifneeded vfs::tk      0.5 [list source [file join $dir tkvfs.tcl]]
-
-
-
-
diff --git a/library/tclIndex b/library/tclIndex
deleted file mode 100644 (file)
index fd90e2f..0000000
+++ /dev/null
@@ -1,197 +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(::vfs::ftp::Mount) [list source [file join $dir ftpvfs.tcl]]
-set auto_index(::vfs::ftp::Unmount) [list source [file join $dir ftpvfs.tcl]]
-set auto_index(::vfs::ftp::handler) [list source [file join $dir ftpvfs.tcl]]
-set auto_index(::vfs::ftp::attributes) [list source [file join $dir ftpvfs.tcl]]
-set auto_index(::vfs::ftp::state) [list source [file join $dir ftpvfs.tcl]]
-set auto_index(::vfs::ftp::stat) [list source [file join $dir ftpvfs.tcl]]
-set auto_index(::vfs::ftp::access) [list source [file join $dir ftpvfs.tcl]]
-set auto_index(::vfs::ftp::open) [list source [file join $dir ftpvfs.tcl]]
-set auto_index(::vfs::ftp::_closing) [list source [file join $dir ftpvfs.tcl]]
-set auto_index(::vfs::ftp::_findFtpInfo) [list source [file join $dir ftpvfs.tcl]]
-set auto_index(::vfs::ftp::_parseListLine) [list source [file join $dir ftpvfs.tcl]]
-set auto_index(::vfs::ftp::matchindirectory) [list source [file join $dir ftpvfs.tcl]]
-set auto_index(::vfs::ftp::createdirectory) [list source [file join $dir ftpvfs.tcl]]
-set auto_index(::vfs::ftp::removedirectory) [list source [file join $dir ftpvfs.tcl]]
-set auto_index(::vfs::ftp::deletefile) [list source [file join $dir ftpvfs.tcl]]
-set auto_index(::vfs::ftp::fileattributes) [list source [file join $dir ftpvfs.tcl]]
-set auto_index(::vfs::ftp::utime) [list source [file join $dir ftpvfs.tcl]]
-set auto_index(::vfs::http::Mount) [list source [file join $dir httpvfs.tcl]]
-set auto_index(::vfs::http::Unmount) [list source [file join $dir httpvfs.tcl]]
-set auto_index(::vfs::http::handler) [list source [file join $dir httpvfs.tcl]]
-set auto_index(::vfs::http::stat) [list source [file join $dir httpvfs.tcl]]
-set auto_index(::vfs::http::access) [list source [file join $dir httpvfs.tcl]]
-set auto_index(::vfs::http::open) [list source [file join $dir httpvfs.tcl]]
-set auto_index(::vfs::http::matchindirectory) [list source [file join $dir httpvfs.tcl]]
-set auto_index(::vfs::http::createdirectory) [list source [file join $dir httpvfs.tcl]]
-set auto_index(::vfs::http::removedirectory) [list source [file join $dir httpvfs.tcl]]
-set auto_index(::vfs::http::deletefile) [list source [file join $dir httpvfs.tcl]]
-set auto_index(::vfs::http::fileattributes) [list source [file join $dir httpvfs.tcl]]
-set auto_index(::vfs::http::utime) [list source [file join $dir httpvfs.tcl]]
-set auto_index(::vfs::mk4::Mount) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::vfs::mk4::Unmount) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::vfs::mk4::attributes) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::vfs::mk4::commit) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::vfs::mk4::state) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::vfs::mk4::handler) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::vfs::mk4::utime) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::vfs::mk4::matchindirectory) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::vfs::mk4::stat) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::vfs::mk4::access) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::vfs::mk4::open) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::vfs::mk4::createdirectory) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::vfs::mk4::removedirectory) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::vfs::mk4::deletefile) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::vfs::mk4::fileattributes) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::mk4vfs::init) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::mk4vfs::_mount) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::mk4vfs::periodicCommit) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::mk4vfs::_umount) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::mk4vfs::stat) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::mk4vfs::do_close) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::mk4vfs::setupCommits) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::mk4vfs::mkdir) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::mk4vfs::getdir) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::mk4vfs::mtime) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::mk4vfs::delete) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::mk4vfs::mount) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(::mk4vfs::umount) [list source [file join $dir mk4vfs.tcl]]
-set auto_index(loadvfs) [list source [file join $dir pkgIndex.tcl]]
-set auto_index(::starkit::header) [list source [file join $dir starkit.tcl]]
-set auto_index(::starkit::startup) [list source [file join $dir starkit.tcl]]
-set auto_index(::starkit::autoextend) [list source [file join $dir starkit.tcl]]
-set auto_index(::starkit::remount) [list source [file join $dir starkit.tcl]]
-set auto_index(::starkit::panic) [list source [file join $dir starkit.tcl]]
-set auto_index(::vfs::tar::Mount) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::vfs::tar::Unmount) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::vfs::tar::handler) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::vfs::tar::attributes) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::vfs::tar::state) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::vfs::tar::matchindirectory) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::vfs::tar::stat) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::vfs::tar::access) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::vfs::tar::open) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::vfs::tar::createdirectory) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::vfs::tar::removedirectory) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::vfs::tar::deletefile) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::vfs::tar::fileattributes) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::vfs::tar::utime) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::tar::Data) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::tar::TOC) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::tar::open) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::tar::exists) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::tar::stat) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::tar::getdir) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::tar::_close) [list source [file join $dir tarvfs.tcl]]
-set auto_index(::vfs::ns::Mount) [list source [file join $dir tclprocvfs.tcl]]
-set auto_index(::vfs::ns::Unmount) [list source [file join $dir tclprocvfs.tcl]]
-set auto_index(::vfs::ns::handler) [list source [file join $dir tclprocvfs.tcl]]
-set auto_index(::vfs::ns::stat) [list source [file join $dir tclprocvfs.tcl]]
-set auto_index(::vfs::ns::access) [list source [file join $dir tclprocvfs.tcl]]
-set auto_index(::vfs::ns::exists) [list source [file join $dir tclprocvfs.tcl]]
-set auto_index(::vfs::ns::open) [list source [file join $dir tclprocvfs.tcl]]
-set auto_index(::vfs::ns::_generate) [list source [file join $dir tclprocvfs.tcl]]
-set auto_index(::vfs::ns::matchindirectory) [list source [file join $dir tclprocvfs.tcl]]
-set auto_index(::vfs::ns::createdirectory) [list source [file join $dir tclprocvfs.tcl]]
-set auto_index(::vfs::ns::removedirectory) [list source [file join $dir tclprocvfs.tcl]]
-set auto_index(::vfs::ns::deletefile) [list source [file join $dir tclprocvfs.tcl]]
-set auto_index(::vfs::ns::fileattributes) [list source [file join $dir tclprocvfs.tcl]]
-set auto_index(::vfs::ns::utime) [list source [file join $dir tclprocvfs.tcl]]
-set auto_index(::vfs::test::Mount) [list source [file join $dir testvfs.tcl]]
-set auto_index(::vfs::test::Unmount) [list source [file join $dir testvfs.tcl]]
-set auto_index(::vfs::test::handler) [list source [file join $dir testvfs.tcl]]
-set auto_index(::vfs::test::stat) [list source [file join $dir testvfs.tcl]]
-set auto_index(::vfs::test::access) [list source [file join $dir testvfs.tcl]]
-set auto_index(::vfs::test::open) [list source [file join $dir testvfs.tcl]]
-set auto_index(::vfs::test::matchindirectory) [list source [file join $dir testvfs.tcl]]
-set auto_index(::vfs::test::createdirectory) [list source [file join $dir testvfs.tcl]]
-set auto_index(::vfs::test::removedirectory) [list source [file join $dir testvfs.tcl]]
-set auto_index(::vfs::test::deletefile) [list source [file join $dir testvfs.tcl]]
-set auto_index(::vfs::test::fileattributes) [list source [file join $dir testvfs.tcl]]
-set auto_index(::vfs::test::utime) [list source [file join $dir testvfs.tcl]]
-set auto_index(::vfs::normalize) [list source [file join $dir vfslib.tcl]]
-set auto_index(::vfs::urltype::Mount) [list source [file join $dir vfsUrl.tcl]]
-set auto_index(::vfs::urltype::Unmount) [list source [file join $dir vfsUrl.tcl]]
-set auto_index(::vfs::urltype::_typeToMount) [list source [file join $dir vfsUrl.tcl]]
-set auto_index(::vfs::urltype::handler) [list source [file join $dir vfsUrl.tcl]]
-set auto_index(::vfs::urltype::stat) [list source [file join $dir vfsUrl.tcl]]
-set auto_index(::vfs::urltype::open) [list source [file join $dir vfsUrl.tcl]]
-set auto_index(::vfs::urltype::access) [list source [file join $dir vfsUrl.tcl]]
-set auto_index(::vfs::urltype::matchindirectory) [list source [file join $dir vfsUrl.tcl]]
-set auto_index(::vfs::urltype::createdirectory) [list source [file join $dir vfsUrl.tcl]]
-set auto_index(::vfs::urltype::removedirectory) [list source [file join $dir vfsUrl.tcl]]
-set auto_index(::vfs::urltype::deletefile) [list source [file join $dir vfsUrl.tcl]]
-set auto_index(::vfs::urltype::fileattributes) [list source [file join $dir vfsUrl.tcl]]
-set auto_index(::vfs::urltype::utime) [list source [file join $dir vfsUrl.tcl]]
-set auto_index(::vfs::memchan) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::crc) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::zip) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::autoMountExtension) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::autoMountUrl) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::log) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::RegisterMount) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::unmount) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::states) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::attributes) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::attributeCantConfigure) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::haveMount) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::urlMount) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::fileUrlMount) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::tclprocMount) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::auto) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::matchCorrectTypes) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::accessMode) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::matchDirectories) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::matchFiles) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::modeToString) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::listAttributes) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::indexToAttribute) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::attributesGet) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::attributesSet) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::posixError) [list source [file join $dir vfsUtils.tcl]]
-set auto_index(::vfs::webdav::Mount) [list source [file join $dir webdavvfs.tcl]]
-set auto_index(::vfs::webdav::Unmount) [list source [file join $dir webdavvfs.tcl]]
-set auto_index(::vfs::webdav::handler) [list source [file join $dir webdavvfs.tcl]]
-set auto_index(::vfs::webdav::stat) [list source [file join $dir webdavvfs.tcl]]
-set auto_index(::vfs::webdav::access) [list source [file join $dir webdavvfs.tcl]]
-set auto_index(::vfs::webdav::open) [list source [file join $dir webdavvfs.tcl]]
-set auto_index(::vfs::webdav::matchindirectory) [list source [file join $dir webdavvfs.tcl]]
-set auto_index(::vfs::webdav::_matchtypes) [list source [file join $dir webdavvfs.tcl]]
-set auto_index(::vfs::webdav::createdirectory) [list source [file join $dir webdavvfs.tcl]]
-set auto_index(::vfs::webdav::removedirectory) [list source [file join $dir webdavvfs.tcl]]
-set auto_index(::vfs::webdav::deletefile) [list source [file join $dir webdavvfs.tcl]]
-set auto_index(::vfs::webdav::fileattributes) [list source [file join $dir webdavvfs.tcl]]
-set auto_index(::vfs::webdav::utime) [list source [file join $dir webdavvfs.tcl]]
-set auto_index(::vfs::zip::Execute) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::vfs::zip::Mount) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::vfs::zip::Unmount) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::vfs::zip::handler) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::vfs::zip::attributes) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::vfs::zip::state) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::vfs::zip::matchindirectory) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::vfs::zip::stat) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::vfs::zip::access) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::vfs::zip::open) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::vfs::zip::createdirectory) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::vfs::zip::removedirectory) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::vfs::zip::deletefile) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::vfs::zip::fileattributes) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::vfs::zip::utime) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::zip::u_short) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::zip::DosTime) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::zip::Data) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::zip::EndOfArchive) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::zip::TOC) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::zip::open) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::zip::FAKEDIR) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::zip::exists) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::zip::stat) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::zip::getdir) [list source [file join $dir zipvfs.tcl]]
-set auto_index(::zip::_close) [list source [file join $dir zipvfs.tcl]]
index 8a89a26ae23f6ecd4522eb70c6ea2c281e6b9c20..2162fde871a2c7e15fd71ff5e1971222a25c50c5 100644 (file)
@@ -44,6 +44,7 @@ filesystem access but presents security threats that make access limitations des
 namespace eval ::vfs::template::chroot {
 
 package require vfs::template 1.5
+package provide vfs::template::chroot 1.5.2
 
 # read template procedures into current namespace. Do not edit:
 foreach templateProc [namespace eval ::vfs::template {info procs}] {
index a24da459f19f34377c105c927ab459059e1228b2..45616bb4e374771dfee339f547882025ae6b7209 100644 (file)
@@ -78,6 +78,7 @@ mount -read C:/install/package/images FTP:/pub/releases/package/images -collect
 }
 
 package require vfs::template 1.5
+package provide vfs::template::collate 1.5.2
 
 namespace eval ::vfs::template::collate {
 
index 8d26ec0f459fbc895584d7fd94201f4867956a67..755a24e050e1b2d037ee66ff1bde4ed511dd7522 100644 (file)
@@ -25,6 +25,9 @@ The delta vfs inherits the -cache and -volume options of the template vfs.
 }
 
 package require vfs::template 1.5
+package require vfs::template::version 1.5
+
+package provide vfs::template::version::delta 1.5.2
 
 namespace eval ::vfs::template::version::delta {
 
index 3ea8d27164723bc08d1c96b2669583741e127df6..3a87de27179d7bc6551f8dc5b15b39e7ec5f6e38 100644 (file)
@@ -106,6 +106,7 @@ Client configuration:
 }
 
 package require vfs::template 1.5
+package provide vfs::template::fish 1.5.2
 
 namespace eval ::vfs::template::fish {
 
diff --git a/library/template/pkgIndex.tcl b/library/template/pkgIndex.tcl
deleted file mode 100644 (file)
index fed201e..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-# Tcl package index file, version 1.1
-# This file is generated by the "pkg_mkIndex -lazy" command
-# and sourced either when an application starts up or
-# by a "package unknown" script.  It invokes the
-# "package ifneeded" command to set up package-related
-# information so that packages will be loaded automatically
-# in response to "package require" commands.  When this
-# script is sourced, the variable $dir must contain the
-# full path name of this file's directory.
-
-if {[lsearch -exact $::auto_path $dir] == -1} {
-    lappend ::auto_path $dir
-}
-
-package ifneeded vfs::template 1.5.2 [list source [file join $dir templatevfs.tcl]]
-
index 5ef9c99f97775e4c0e6d56a27e84a2093a66d3a8..e978a8d7fd0d713cdef80c38481eab5e3112595d 100644 (file)
@@ -95,9 +95,10 @@ mount -filename !*.log -quota 0 -mtime {expr [clock scan {7 days ago}] >} -quota
 }
 
 package require vfs::template 1.5
-
 package require fileutil::globfind
 
+package provide vfs::template::quota 1.5.2
+
 namespace eval ::vfs::template::quota {
 
 # read template procedures into current namespace. Do not edit:
index 7add5620b34b384010ce49e62c72e461d7bf8350..a270a23d47ed783d9eefe35fa9de78232e4ab4e5 100644 (file)
@@ -73,9 +73,10 @@ The versioning vfs inherits the -cache and -volume options of the template vfs.
 }
 
 package require vfs::template 1.5
-
 package require fileutil::globfind
 
+package provide vfs::template::version 1.5.2
+
 namespace eval ::vfs::template::version {
 
 # read template procedures into current namespace. Do not edit:
diff --git a/library/zipvfscompat.tcl b/library/zipvfscompat.tcl
deleted file mode 100644 (file)
index 012c49b..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-# Compatibility package to keep the ability to use vfs::zip via
-# zipvfs. Keep the version number in sync with version of vfs::zip,
-# and pkgIndex.tcl, of course. There is no other functionality, only
-# the redirection.
-package require vfs::zip 1.0.1
-package provide zipvfs   1.0.1
index e191327e9235567f78dca3a99f604bc8e330a360..317650ed163933b263f723d1afbdf0a492f156bd 100644 (file)
@@ -12,29 +12,26 @@ if {[package provide Tcl] < 8.4} {
 package require Tcl 8.4
 
 namespace eval ::vfs {}
-variable vfs::dll [file join $dir @PKG_LIB_FILE@]
+variable ::vfs::dll [file join $dir @PKG_LIB_FILE@]
 
-proc loadvfs {dll} {
-    global auto_path
+proc ::vfs::loadvfs {libdir dll} {
     if {![file exists $dll]} { return }
     set dir [file dirname $dll]
-    if {[lsearch -exact $auto_path $dir] == -1} {
-       lappend auto_path $dir
+    if {[lsearch -exact $::auto_path $dir] == -1} {
+       lappend ::auto_path $dir
     }
-    load $dll
+    uplevel #0 [list load $dll]
+    uplevel #0 [list source [file join $libdir vfsUtils.tcl]]
 }
 
-package ifneeded vfs        @PACKAGE_VERSION@ [list loadvfs $vfs::dll]
-
 # Allow optional redirect of VFS_LIBRARY components.  Only necessary
 # for testing, but could be used elsewhere.
 if {[info exists ::env(VFS_LIBRARY)]} { set dir $::env(VFS_LIBRARY) }
-package ifneeded starkit    1.3.2 [list source [file join $dir starkit.tcl]]
-package ifneeded vfslib     1.3.1 [list source [file join $dir vfslib.tcl]]
 
-# Old
-package ifneeded mk4vfs       1.10.1 [list source [file join $dir mk4vfscompat.tcl]]
-package ifneeded zipvfs       1.0.1  [list source [file join $dir zipvfscompat.tcl]]
+package ifneeded vfs @PACKAGE_VERSION@ [list ::vfs::loadvfs $dir $vfs::dll]
+
+package ifneeded starkit    1.3.3 [list source [file join $dir starkit.tcl]]
+package ifneeded vfslib     1.4   [list source [file join $dir vfslib.tcl]]
 
 # New, for the old, keep version numbers synchronized.
 package ifneeded vfs::mk4     1.10.1 [list source [file join $dir mk4vfs.tcl]]
@@ -52,14 +49,23 @@ package ifneeded vfs::tk      0.5 [list source [file join $dir tkvfs.tcl]]
 #
 # Virtual filesystems based on the template vfs:
 #
-package ifneeded vfs::template::collate 1.0 [list source [file join $dir template collatevfs.tcl]]
-package ifneeded vfs::template::version 1.0 [list source [file join $dir template versionvfs.tcl]]
-package ifneeded vfs::template::version::delta 1.0 [list source [file join $dir template deltavfs.tcl]]
-package ifneeded vfs::template::fish 1.0 [list source [file join $dir template fishvfs.tcl]]
-package ifneeded vfs::template::quota 1.0 [list source [file join $dir template quotavfs.tcl]]
-package ifneeded vfs::template 1.0 [list source [file join $dir template templatevfs.tcl]]
+package ifneeded vfs::template::chroot 1.5.2 \
+    [list source [file join $dir template chrootvfs.tcl]]
+package ifneeded vfs::template::collate 1.5.2 \
+    [list source [file join $dir template collatevfs.tcl]]
+package ifneeded vfs::template::version 1.5.2 \
+    [list source [file join $dir template versionvfs.tcl]]
+package ifneeded vfs::template::version::delta 1.5.2 \
+    [list source [file join $dir template deltavfs.tcl]]
+package ifneeded vfs::template::fish 1.5.2 \
+    [list source [file join $dir template fishvfs.tcl]]
+package ifneeded vfs::template::quota 1.5.2 \
+    [list source [file join $dir template quotavfs.tcl]]
+package ifneeded vfs::template 1.5.2 \
+    [list source [file join $dir template templatevfs.tcl]]
 #
 # Helpers
 #
-package ifneeded globfind 1.0 [list source [file join $dir template globfind.tcl]]
+package ifneeded fileutil::globfind 1.5 \
+    [list source [file join $dir template globfind.tcl]]
 package ifneeded trsync 1.0 [list source [file join $dir template tdelta.tcl]]
index f891eb87ca8ec058ced9ea14d643091e0ab291ff..fca454849f89daf7fcb13b9d1725bfdc92e04418 100644 (file)
 #
 # RCS: @(#) $Id$
 
-AC_PREREQ(2.50)
+AC_PREREQ(2.57)
 
 dnl TEA extensions pass us the version of TEA they think they
 dnl are compatible with (must be set in TEA_INIT below)
-dnl TEA_VERSION="3.5"
+dnl TEA_VERSION="3.7"
 
 # Possible values for key variables defined:
 #
@@ -43,7 +43,7 @@ dnl TEA_VERSION="3.5"
 #------------------------------------------------------------------------
 
 AC_DEFUN([TEA_PATH_TCLCONFIG], [
-    dnl Make sure we are initialized
+    dnl TEA specific: Make sure we are initialized
     AC_REQUIRE([TEA_INIT])
     #
     # Ok, lets find the tcl configuration
@@ -113,7 +113,7 @@ AC_DEFUN([TEA_PATH_TCLCONFIG], [
                done
            fi
 
-           # on Windows, check in common installation locations
+           # TEA specific: on Windows, check in common installation locations
            if test "${TEA_PLATFORM}" = "windows" \
                -a x"${ac_cv_c_tclconfig}" = x ; then
                for i in `ls -d C:/Tcl/lib 2>/dev/null` \
@@ -159,8 +159,7 @@ AC_DEFUN([TEA_PATH_TCLCONFIG], [
 
        if test x"${ac_cv_c_tclconfig}" = x ; then
            TCL_BIN_DIR="# no Tcl configs found"
-           AC_MSG_WARN([Can't find Tcl configuration definitions])
-           exit 0
+           AC_MSG_ERROR([Can't find Tcl configuration definitions])
        else
            no_tcl=
            TCL_BIN_DIR=${ac_cv_c_tclconfig}
@@ -272,7 +271,7 @@ AC_DEFUN([TEA_PATH_TKCONFIG], [
                done
            fi
 
-           # on Windows, check in common installation locations
+           # TEA specific: on Windows, check in common installation locations
            if test "${TEA_PLATFORM}" = "windows" \
                -a x"${ac_cv_c_tkconfig}" = x ; then
                for i in `ls -d C:/Tcl/lib 2>/dev/null` \
@@ -302,8 +301,7 @@ AC_DEFUN([TEA_PATH_TKCONFIG], [
 
        if test x"${ac_cv_c_tkconfig}" = x ; then
            TK_BIN_DIR="# no Tk configs found"
-           AC_MSG_WARN([Can't find Tk configuration definitions])
-           exit 0
+           AC_MSG_ERROR([Can't find Tk configuration definitions])
        else
            no_tk=
            TK_BIN_DIR=${ac_cv_c_tkconfig}
@@ -336,7 +334,7 @@ AC_DEFUN([TEA_LOAD_TCLCONFIG], [
 
     if test -f "${TCL_BIN_DIR}/tclConfig.sh" ; then
         AC_MSG_RESULT([loading])
-       . ${TCL_BIN_DIR}/tclConfig.sh
+       . "${TCL_BIN_DIR}/tclConfig.sh"
     else
         AC_MSG_RESULT([could not find ${TCL_BIN_DIR}/tclConfig.sh])
     fi
@@ -351,7 +349,7 @@ AC_DEFUN([TEA_LOAD_TCLCONFIG], [
     # 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
+    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}
@@ -361,7 +359,7 @@ AC_DEFUN([TEA_LOAD_TCLCONFIG], [
        # against Tcl.framework installed in an arbitary location.
        case ${TCL_DEFS} in
            *TCL_FRAMEWORK*)
-               if test -f ${TCL_BIN_DIR}/${TCL_LIB_FILE}; then
+               if test -f "${TCL_BIN_DIR}/${TCL_LIB_FILE}"; then
                    for i in "`cd ${TCL_BIN_DIR}; pwd`" \
                             "`cd ${TCL_BIN_DIR}/../..; pwd`"; do
                        if test "`basename "$i"`" = "${TCL_LIB_FILE}.framework"; then
@@ -370,7 +368,7 @@ AC_DEFUN([TEA_LOAD_TCLCONFIG], [
                        fi
                    done
                fi
-               if test -f ${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}; then
+               if test -f "${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}"; then
                    TCL_STUB_LIB_SPEC="-L${TCL_BIN_DIR} ${TCL_STUB_LIB_FLAG}"
                    TCL_STUB_LIB_PATH="${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}"
                fi
@@ -396,6 +394,7 @@ AC_DEFUN([TEA_LOAD_TCLCONFIG], [
     AC_SUBST(TCL_STUB_LIB_FLAG)
     AC_SUBST(TCL_STUB_LIB_SPEC)
 
+    # TEA specific:
     AC_SUBST(TCL_LIBS)
     AC_SUBST(TCL_DEFS)
     AC_SUBST(TCL_EXTRA_CFLAGS)
@@ -424,7 +423,7 @@ AC_DEFUN([TEA_LOAD_TKCONFIG], [
 
     if test -f "${TK_BIN_DIR}/tkConfig.sh" ; then
         AC_MSG_RESULT([loading])
-       . ${TK_BIN_DIR}/tkConfig.sh
+       . "${TK_BIN_DIR}/tkConfig.sh"
     else
         AC_MSG_RESULT([could not find ${TK_BIN_DIR}/tkConfig.sh])
     fi
@@ -439,7 +438,7 @@ AC_DEFUN([TEA_LOAD_TKCONFIG], [
     # 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
+    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}
@@ -449,7 +448,7 @@ AC_DEFUN([TEA_LOAD_TKCONFIG], [
        # against Tk.framework installed in an arbitary location.
        case ${TK_DEFS} in
            *TK_FRAMEWORK*)
-               if test -f ${TK_BIN_DIR}/${TK_LIB_FILE}; then
+               if test -f "${TK_BIN_DIR}/${TK_LIB_FILE}"; then
                    for i in "`cd ${TK_BIN_DIR}; pwd`" \
                             "`cd ${TK_BIN_DIR}/../..; pwd`"; do
                        if test "`basename "$i"`" = "${TK_LIB_FILE}.framework"; then
@@ -458,7 +457,7 @@ AC_DEFUN([TEA_LOAD_TKCONFIG], [
                        fi
                    done
                fi
-               if test -f ${TK_BIN_DIR}/${TK_STUB_LIB_FILE}; then
+               if test -f "${TK_BIN_DIR}/${TK_STUB_LIB_FILE}"; then
                    TK_STUB_LIB_SPEC="-L${TK_BIN_DIR} ${TK_STUB_LIB_FLAG}"
                    TK_STUB_LIB_PATH="${TK_BIN_DIR}/${TK_STUB_LIB_FILE}"
                fi
@@ -472,7 +471,7 @@ AC_DEFUN([TEA_LOAD_TKCONFIG], [
     eval "TK_STUB_LIB_FLAG=\"${TK_STUB_LIB_FLAG}\""
     eval "TK_STUB_LIB_SPEC=\"${TK_STUB_LIB_SPEC}\""
 
-    # Ensure windowingsystem is defined
+    # TEA specific: Ensure windowingsystem is defined
     if test "${TEA_PLATFORM}" = "unix" ; then
        case ${TK_DEFS} in
            *MAC_OSX_TK*)
@@ -499,10 +498,111 @@ AC_DEFUN([TEA_LOAD_TKCONFIG], [
     AC_SUBST(TK_STUB_LIB_FLAG)
     AC_SUBST(TK_STUB_LIB_SPEC)
 
+    # TEA specific:
     AC_SUBST(TK_LIBS)
     AC_SUBST(TK_XINCLUDES)
 ])
 
+#------------------------------------------------------------------------
+# TEA_PROG_TCLSH
+#      Determine the fully qualified path name of the tclsh executable
+#      in the Tcl build directory or the tclsh installed in a bin
+#      directory. This macro will correctly determine the name
+#      of the tclsh executable even if tclsh has not yet been
+#      built in the build directory. The tclsh found is always
+#      associated with a tclConfig.sh file. This tclsh should be used
+#      only for running extension test cases. It should never be
+#      or generation of files (like pkgIndex.tcl) at build time.
+#
+# Arguments
+#      none
+#
+# Results
+#      Subst's the following values:
+#              TCLSH_PROG
+#------------------------------------------------------------------------
+
+AC_DEFUN([TEA_PROG_TCLSH], [
+    AC_MSG_CHECKING([for tclsh])
+    if test -f "${TCL_BIN_DIR}/Makefile" ; then
+        # tclConfig.sh is in Tcl build directory
+        if test "${TEA_PLATFORM}" = "windows"; then
+            TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}"
+        else
+            TCLSH_PROG="${TCL_BIN_DIR}/tclsh"
+        fi
+    else
+        # tclConfig.sh is in install location
+        if test "${TEA_PLATFORM}" = "windows"; then
+            TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}"
+        else
+            TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}${TCL_DBGX}"
+        fi
+        list="`ls -d ${TCL_BIN_DIR}/../bin 2>/dev/null` \
+              `ls -d ${TCL_BIN_DIR}/..     2>/dev/null` \
+              `ls -d ${TCL_PREFIX}/bin     2>/dev/null`"
+        for i in $list ; do
+            if test -f "$i/${TCLSH_PROG}" ; then
+                REAL_TCL_BIN_DIR="`cd "$i"; pwd`/"
+                break
+            fi
+        done
+        TCLSH_PROG="${REAL_TCL_BIN_DIR}${TCLSH_PROG}"
+    fi
+    AC_MSG_RESULT([${TCLSH_PROG}])
+    AC_SUBST(TCLSH_PROG)
+])
+
+#------------------------------------------------------------------------
+# TEA_PROG_WISH
+#      Determine the fully qualified path name of the wish executable
+#      in the Tk build directory or the wish installed in a bin
+#      directory. This macro will correctly determine the name
+#      of the wish executable even if wish has not yet been
+#      built in the build directory. The wish found is always
+#      associated with a tkConfig.sh file. This wish should be used
+#      only for running extension test cases. It should never be
+#      or generation of files (like pkgIndex.tcl) at build time.
+#
+# Arguments
+#      none
+#
+# Results
+#      Subst's the following values:
+#              WISH_PROG
+#------------------------------------------------------------------------
+
+AC_DEFUN([TEA_PROG_WISH], [
+    AC_MSG_CHECKING([for wish])
+    if test -f "${TK_BIN_DIR}/Makefile" ; then
+        # tkConfig.sh is in Tk build directory
+        if test "${TEA_PLATFORM}" = "windows"; then
+            WISH_PROG="${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${TK_DBGX}${EXEEXT}"
+        else
+            WISH_PROG="${TK_BIN_DIR}/wish"
+        fi
+    else
+        # tkConfig.sh is in install location
+        if test "${TEA_PLATFORM}" = "windows"; then
+            WISH_PROG="wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${TK_DBGX}${EXEEXT}"
+        else
+            WISH_PROG="wish${TK_MAJOR_VERSION}.${TK_MINOR_VERSION}${TK_DBGX}"
+        fi
+        list="`ls -d ${TK_BIN_DIR}/../bin 2>/dev/null` \
+              `ls -d ${TK_BIN_DIR}/..     2>/dev/null` \
+              `ls -d ${TK_PREFIX}/bin     2>/dev/null`"
+        for i in $list ; do
+            if test -f "$i/${WISH_PROG}" ; then
+                REAL_TK_BIN_DIR="`cd "$i"; pwd`/"
+                break
+            fi
+        done
+        WISH_PROG="${REAL_TK_BIN_DIR}${WISH_PROG}"
+    fi
+    AC_MSG_RESULT([${WISH_PROG}])
+    AC_SUBST(WISH_PROG)
+])
+
 #------------------------------------------------------------------------
 # TEA_ENABLE_SHARED --
 #
@@ -600,7 +700,7 @@ AC_DEFUN([TEA_ENABLE_THREADS], [
 
        if test "${TEA_PLATFORM}" != "windows" ; then
            # We are always OK on Windows, so check what this platform wants:
-    
+
            # USE_THREAD_ALLOC tells us to try the special thread-based
            # allocator that significantly reduces lock contention
            AC_DEFINE(USE_THREAD_ALLOC, 1,
@@ -712,7 +812,7 @@ AC_DEFUN([TEA_ENABLE_THREADS], [
 #------------------------------------------------------------------------
 
 AC_DEFUN([TEA_ENABLE_SYMBOLS], [
-    dnl Make sure we are initialized
+    dnl TEA specific: Make sure we are initialized
     AC_REQUIRE([TEA_CONFIG_CFLAGS])
     AC_MSG_CHECKING([for build with symbols])
     AC_ARG_ENABLE(symbols,
@@ -731,13 +831,13 @@ AC_DEFUN([TEA_ENABLE_SYMBOLS], [
            AC_MSG_RESULT([yes (standard debugging)])
        fi
     fi
+    # TEA specific:
     if test "${TEA_PLATFORM}" != "windows" ; then
        LDFLAGS_DEFAULT="${LDFLAGS}"
     fi
-
-    AC_SUBST(TCL_DBGX)
     AC_SUBST(CFLAGS_DEFAULT)
     AC_SUBST(LDFLAGS_DEFAULT)
+    AC_SUBST(TCL_DBGX)
 
     if test "$tcl_ok" = "mem" -o "$tcl_ok" = "all"; then
        AC_DEFINE(TCL_MEM_DEBUG, 1, [Is memory debugging enabled?])
@@ -815,6 +915,7 @@ AC_DEFUN([TEA_ENABLE_LANGINFO], [
 
 AC_DEFUN([TEA_CONFIG_SYSTEM], [
     AC_CACHE_CHECK([system version], tcl_cv_sys_version, [
+       # TEA specific:
        if test "${TEA_PLATFORM}" = "windows" ; then
            tcl_cv_sys_version=windows
        elif test -f /usr/lib/NextStep/software_version; then
@@ -917,7 +1018,7 @@ AC_DEFUN([TEA_CONFIG_SYSTEM], [
 #--------------------------------------------------------------------
 
 AC_DEFUN([TEA_CONFIG_CFLAGS], [
-    dnl Make sure we are initialized
+    dnl TEA specific: Make sure we are initialized
     AC_REQUIRE([TEA_INIT])
 
     # Step 0.a: Enable 64 bit support?
@@ -937,19 +1038,45 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
            [enable 64bit Sparc VIS support (default: off)]),
        [do64bitVIS=$enableval], [do64bitVIS=no])
     AC_MSG_RESULT([$do64bitVIS])
+    # Force 64bit on with VIS
+    AS_IF([test "$do64bitVIS" = "yes"], [do64bit=yes])
+
+    # Step 0.c: Check if visibility support is available. Do this here so
+    # that platform specific alternatives can be used below if this fails.
+
+    AC_CACHE_CHECK([if compiler supports visibility "hidden"],
+       tcl_cv_cc_visibility_hidden, [
+       hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -Werror"
+       AC_TRY_LINK([
+           extern __attribute__((__visibility__("hidden"))) void f(void);
+           void f(void) {}], [f();], tcl_cv_cc_visibility_hidden=yes,
+           tcl_cv_cc_visibility_hidden=no)
+       CFLAGS=$hold_cflags])
+    AS_IF([test $tcl_cv_cc_visibility_hidden = yes], [
+       AC_DEFINE(MODULE_SCOPE,
+           [extern __attribute__((__visibility__("hidden")))],
+           [Compiler support for module scope symbols])
+    ])
 
-    if test "$do64bitVIS" = "yes"; then
-       # Force 64bit on with VIS
-       do64bit=yes
-    fi
+    # Step 0.d: Disable -rpath support?
 
-    # Step 0.c: Cross-compiling options for Windows/CE builds?
+    AC_MSG_CHECKING([if rpath support is requested])
+    AC_ARG_ENABLE(rpath,
+       AC_HELP_STRING([--disable-rpath],
+           [disable rpath support (default: on)]),
+       [doRpath=$enableval], [doRpath=yes])
+    AC_MSG_RESULT([$doRpath])
 
-    if test "${TEA_PLATFORM}" = "windows" ; then
+    # TEA specific: Cross-compiling options for Windows/CE builds?
+
+    AS_IF([test "${TEA_PLATFORM}" = windows], [
        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_ARG_ENABLE(wince,
+           AC_HELP_STRING([--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.
@@ -977,17 +1104,17 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
     LDFLAGS_ARCH=""
     TCL_EXPORT_FILE_SUFFIX=""
     UNSHARED_LIB_SUFFIX=""
+    # TEA specific: use PACKAGE_VERSION instead of VERSION
     TCL_TRIM_DOTS='`echo ${PACKAGE_VERSION} | tr -d .`'
     ECHO_VERSION='`echo ${PACKAGE_VERSION}`'
     TCL_LIB_VERSIONS_OK=ok
     CFLAGS_DEBUG=-g
     CFLAGS_OPTIMIZE=-O
-    if test "$GCC" = "yes" ; then
+    AS_IF([test "$GCC" = yes], [
+       # TEA specific:
        CFLAGS_OPTIMIZE=-O2
        CFLAGS_WARNING="-Wall -Wno-implicit-int"
-    else
-       CFLAGS_WARNING=""
-    fi
+    ], [CFLAGS_WARNING=""])
     TCL_NEEDS_EXP_FILE=0
     TCL_BUILD_EXP_FILE=""
     TCL_EXP_FILE=""
@@ -997,6 +1124,7 @@ dnl AC_CHECK_TOOL(AR, ar)
     STLIB_LD='${AR} cr'
     LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH"
     case $system in
+       # TEA specific:
        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.
@@ -1160,8 +1288,10 @@ dnl AC_CHECK_TOOL(AR, ar)
                PATHTYPE=-w
                # For information on what debugtype is most useful, see:
                # http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp
+               # and also
+               # http://msdn2.microsoft.com/en-us/library/y0zzbyt4%28VS.80%29.aspx
                # This essentially turns it all on.
-               LDFLAGS_DEBUG="-debug:full -debugtype:both -warn:2"
+               LDFLAGS_DEBUG="-debug -debugtype:cv"
                LDFLAGS_OPTIMIZE="-release"
                if test "$doWince" != "no" ; then
                    LDFLAGS_CONSOLE="-link ${lflags}"
@@ -1181,7 +1311,7 @@ dnl AC_CHECK_TOOL(AR, ar)
            DL_OBJS="tclLoadNone.obj"
            ;;
        AIX-*)
-           if test "${TCL_THREADS}" = "1" -a "$GCC" != "yes" ; then
+           AS_IF([test "${TCL_THREADS}" = "1" -a "$GCC" != "yes"], [
                # AIX requires the _r compiler when gcc isn't being used
                case "${CC}" in
                    *_r)
@@ -1192,7 +1322,7 @@ dnl AC_CHECK_TOOL(AR, ar)
                        ;;
                esac
                AC_MSG_RESULT([Using $CC for compiling with threads])
-           fi
+           ])
            LIBS="$LIBS -lc"
            SHLIB_CFLAGS=""
            SHLIB_LD_LIBS='${LIBS}'
@@ -1202,49 +1332,48 @@ dnl AC_CHECK_TOOL(AR, ar)
            LD_LIBRARY_PATH_VAR="LIBPATH"
 
            # 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
+           AS_IF([test "$do64bit" = yes -a "`uname -v`" -gt 3], [
+               AS_IF([test "$GCC" = yes], [
                    AC_MSG_WARN([64bit mode not supported with GCC on $system])
-               else 
+               ], [
                    do64bit_ok=yes
                    CFLAGS="$CFLAGS -q64"
                    LDFLAGS_ARCH="-q64"
                    RANLIB="${RANLIB} -X64"
                    AR="${AR} -X64"
                    SHLIB_LD_FLAGS="-b64"
-               fi
-           fi
+               ])
+           ])
 
-           if test "`uname -m`" = "ia64" ; then
+           AS_IF([test "`uname -m`" = ia64], [
                # 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
+               AS_IF([test "$GCC" = yes], [
                    CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
-               else
+               ], [
                    CC_SEARCH_FLAGS='-R${LIB_RUNTIME_DIR}'
-               fi
+               ])
                LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
-           else
-               if test "$GCC" = "yes" ; then
-                   SHLIB_LD="gcc -shared"
-               else
+           ], [
+               AS_IF([test "$GCC" = yes], [SHLIB_LD='${CC} -shared'], [
                    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"
                CC_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'
                LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
                TCL_NEEDS_EXP_FILE=1
+               # TEA specific: use PACKAGE_VERSION instead of VERSION
                TCL_EXPORT_FILE_SUFFIX='${PACKAGE_VERSION}.exp'
-           fi
+           ])
 
            # AIX v<=4.1 has some different flags than 4.2+
-           if test "$system" = "AIX-4.1" -o "`uname -v`" -lt "4" ; then
+           AS_IF([test "$system" = "AIX-4.1" -o "`uname -v`" -lt 4], [
                AC_LIBOBJ([tclLoadAix])
                DL_LIBS="-lld"
-           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
@@ -1259,14 +1388,14 @@ dnl AC_CHECK_TOOL(AR, ar)
            # known GMT value.
 
            AC_CHECK_LIB(bsd, gettimeofday, libbsd=yes, libbsd=no)
-           if test $libbsd = yes; then
+           AS_IF([test $libbsd = yes], [
                MATH_LIBS="$MATH_LIBS -lbsd"
                AC_DEFINE(USE_DELTA_FOR_TZ, 1, [Do we need a special AIX hack for timezones?])
-           fi
+           ])
            ;;
        BeOS*)
            SHLIB_CFLAGS="-fPIC"
-           SHLIB_LD="${CC} -nostart"
+           SHLIB_LD='${CC} -nostart'
            SHLIB_LD_LIBS='${LIBS}'
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
@@ -1291,7 +1420,7 @@ dnl AC_CHECK_TOOL(AR, ar)
            ;;
        BSD/OS-4.*)
            SHLIB_CFLAGS="-export-dynamic -fPIC"
-           SHLIB_LD="cc -shared"
+           SHLIB_LD='${CC} -shared'
            SHLIB_LD_LIBS='${LIBS}'
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
@@ -1302,7 +1431,7 @@ dnl AC_CHECK_TOOL(AR, ar)
            ;;
        dgux*)
            SHLIB_CFLAGS="-K PIC"
-           SHLIB_LD="cc -G"
+           SHLIB_LD='${CC} -G'
            SHLIB_LD_LIBS=""
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
@@ -1313,13 +1442,21 @@ dnl AC_CHECK_TOOL(AR, ar)
        HP-UX-*.11.*)
            # Use updated header definitions where possible
            AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, [Do we want to use the XOPEN network library?])
-           # Needed by Tcl, but not most extensions
+           # TEA specific: Needed by Tcl, but not most extensions
            #AC_DEFINE(_XOPEN_SOURCE, 1, [Do we want to use the XOPEN network library?])
            #LIBS="$LIBS -lxnet"               # Use the XOPEN network library
 
-           SHLIB_SUFFIX=".sl"
+           AS_IF([test "`uname -m`" = ia64], [
+               SHLIB_SUFFIX=".so"
+               # Use newer C++ library for C++ extensions
+               #if test "$GCC" != "yes" ; then
+               #   CPPFLAGS="-AA"
+               #fi
+           ], [
+               SHLIB_SUFFIX=".sl"
+           ])
            AC_CHECK_LIB(dld, shl_load, tcl_ok=yes, tcl_ok=no)
-           if test "$tcl_ok" = yes; then
+           AS_IF([test "$tcl_ok" = yes], [
                SHLIB_CFLAGS="+z"
                SHLIB_LD="ld -b"
                SHLIB_LD_LIBS='${LIBS}'
@@ -1329,44 +1466,43 @@ dnl AC_CHECK_TOOL(AR, ar)
                CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'
                LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:.'
                LD_LIBRARY_PATH_VAR="SHLIB_PATH"
-           fi
-           if test "$GCC" = "yes" ; then
-               SHLIB_LD="gcc -shared"
+           ])
+           AS_IF([test "$GCC" = yes], [
+               SHLIB_LD='${CC} -shared'
                SHLIB_LD_LIBS='${LIBS}'
                LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-           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
+           AS_IF([test "$do64bit" = "yes"], [
+               AS_IF([test "$GCC" = yes], [
+                   case `${CC} -dumpmachine` in
                        hppa64*)
                            # 64-bit gcc in use.  Fix flags for GNU ld.
                            do64bit_ok=yes
-                           SHLIB_LD="${CC} -shared"
+                           SHLIB_LD='${CC} -shared'
                            SHLIB_LD_LIBS='${LIBS}'
-                           CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+                           AS_IF([test $doRpath = yes], [
+                               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
                            LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
                            ;;
                        *)
                            AC_MSG_WARN([64bit mode not supported with GCC on $system])
                            ;;
                    esac
-               else
+               ], [
                    do64bit_ok=yes
                    CFLAGS="$CFLAGS +DD64"
                    LDFLAGS_ARCH="+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
+           AS_IF([test "$tcl_ok" = yes], [
                SHLIB_CFLAGS="+z"
                SHLIB_LD="ld -b"
                SHLIB_LD_LIBS=""
@@ -1376,8 +1512,7 @@ dnl AC_CHECK_TOOL(AR, ar)
                CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'
                LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:.'
                LD_LIBRARY_PATH_VAR="SHLIB_PATH"
-           fi
-           ;;
+           ]) ;;
        IRIX-5.*)
            SHLIB_CFLAGS=""
            SHLIB_LD="ld -shared -rdata_shared"
@@ -1385,8 +1520,9 @@ dnl AC_CHECK_TOOL(AR, ar)
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
            DL_LIBS=""
-           CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-           LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
+           AS_IF([test $doRpath = yes], [
+               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+               LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'])
            ;;
        IRIX-6.*)
            SHLIB_CFLAGS=""
@@ -1395,12 +1531,13 @@ dnl AC_CHECK_TOOL(AR, ar)
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
            DL_LIBS=""
-           CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-           LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
-           if test "$GCC" = "yes" ; then
+           AS_IF([test $doRpath = yes], [
+               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+               LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'])
+           AS_IF([test "$GCC" = yes], [
                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.
@@ -1411,7 +1548,7 @@ dnl AC_CHECK_TOOL(AR, ar)
                        ;;
                esac
                LDFLAGS="$LDFLAGS -n32"
-           fi
+           ])
            ;;
        IRIX64-6.*)
            SHLIB_CFLAGS=""
@@ -1420,65 +1557,63 @@ dnl AC_CHECK_TOOL(AR, ar)
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
            DL_LIBS=""
-           CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-           LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
+           AS_IF([test $doRpath = yes], [
+               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+               LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'])
 
            # Check to enable 64-bit flags for compiler/linker
 
-           if test "$do64bit" = "yes" ; then
-               if test "$GCC" = "yes" ; then
+           AS_IF([test "$do64bit" = yes], [
+               AS_IF([test "$GCC" = yes], [
                    AC_MSG_WARN([64bit mode not supported by gcc])
-               else
+               ], [
                    do64bit_ok=yes
                    SHLIB_LD="ld -64 -shared -rdata_shared"
                    CFLAGS="$CFLAGS -64"
                    LDFLAGS_ARCH="-64"
-               fi
-           fi
+               ])
+           ])
            ;;
        Linux*)
            SHLIB_CFLAGS="-fPIC"
            SHLIB_LD_LIBS='${LIBS}'
            SHLIB_SUFFIX=".so"
 
+           # TEA specific:
            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"
 
-           # TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS here:
+           # TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS
            SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS_DEFAULT}'
            DL_OBJS="tclLoadDl.o"
            DL_LIBS="-ldl"
            LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
-           CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+           AS_IF([test $doRpath = yes], [
+               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
            LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-           if test "`uname -m`" = "alpha" ; then
-               CFLAGS="$CFLAGS -mieee"
-           fi
-           if test $do64bit = yes; then
+           AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"])
+           AS_IF([test $do64bit = yes], [
                AC_CACHE_CHECK([if compiler accepts -m64 flag], tcl_cv_cc_m64, [
                    hold_cflags=$CFLAGS
                    CFLAGS="$CFLAGS -m64"
                    AC_TRY_LINK(,, tcl_cv_cc_m64=yes, tcl_cv_cc_m64=no)
                    CFLAGS=$hold_cflags])
-               if test $tcl_cv_cc_m64 = yes; then
+               AS_IF([test $tcl_cv_cc_m64 = yes], [
                    CFLAGS="$CFLAGS -m64"
                    do64bit_ok=yes
-               fi
-           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
+           # 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
+
+           AS_IF([test x"${USE_COMPAT}" != x],[CFLAGS="$CFLAGS -fno-inline"])
 
            ;;
        GNU*)
@@ -1486,31 +1621,30 @@ dnl AC_CHECK_TOOL(AR, ar)
            SHLIB_LD_LIBS='${LIBS}'
            SHLIB_SUFFIX=".so"
 
-           SHLIB_LD="${CC} -shared"
+           SHLIB_LD='${CC} -shared'
            DL_OBJS=""
            DL_LIBS="-ldl"
            LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
            CC_SEARCH_FLAGS=""
            LD_SEARCH_FLAGS=""
-           if test "`uname -m`" = "alpha" ; then
-               CFLAGS="$CFLAGS -mieee"
-           fi
+           AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"])
            ;;
        Lynx*)
            SHLIB_CFLAGS="-fPIC"
            SHLIB_LD_LIBS='${LIBS}'
            SHLIB_SUFFIX=".so"
            CFLAGS_OPTIMIZE=-02
-           SHLIB_LD="${CC} -shared "
+           SHLIB_LD='${CC} -shared'
            DL_OBJS="tclLoadDl.o"
            DL_LIBS="-mshared -ldl"
            LD_FLAGS="-Wl,--export-dynamic"
-           CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-           LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+           AS_IF([test $doRpath = yes], [
+               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+               LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
            ;;
        MP-RAS-02*)
            SHLIB_CFLAGS="-K PIC"
-           SHLIB_LD="cc -G"
+           SHLIB_LD='${CC} -G'
            SHLIB_LD_LIBS=""
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
@@ -1520,7 +1654,7 @@ dnl AC_CHECK_TOOL(AR, ar)
            ;;
        MP-RAS-*)
            SHLIB_CFLAGS="-K PIC"
-           SHLIB_LD="cc -G"
+           SHLIB_LD='${CC} -G'
            SHLIB_LD_LIBS=""
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
@@ -1529,27 +1663,27 @@ dnl AC_CHECK_TOOL(AR, ar)
            CC_SEARCH_FLAGS=""
            LD_SEARCH_FLAGS=""
            ;;
-       NetBSD-*|FreeBSD-[[1-2]].*)
-           # NetBSD/SPARC needs -fPIC, -fpic will not do.
+       NetBSD-1.*|FreeBSD-[[1-2]].*)
            SHLIB_CFLAGS="-fPIC"
            SHLIB_LD="ld -Bshareable -x"
            SHLIB_LD_LIBS='${LIBS}'
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
            DL_LIBS=""
-           CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-           LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
+           AS_IF([test $doRpath = yes], [
+               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+               LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'])
            AC_CACHE_CHECK([for ELF], tcl_cv_ld_elf, [
                AC_EGREP_CPP(yes, [
 #ifdef __ELF__
        yes
 #endif
                ], tcl_cv_ld_elf=yes, tcl_cv_ld_elf=no)])
-           if test $tcl_cv_ld_elf = yes; then
+           AS_IF([test $tcl_cv_ld_elf = yes], [
                SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so'
-           else
+           ], [
                SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0'
-           fi
+           ])
 
            # Ancient FreeBSD doesn't handle version numbers with dots.
 
@@ -1557,19 +1691,14 @@ dnl AC_CHECK_TOOL(AR, ar)
            TCL_LIB_VERSIONS_OK=nodots
            ;;
        OpenBSD-*)
-           # OpenBSD/SPARC[64] needs -fPIC, -fpic will not do.
-           case `machine` in
-           sparc|sparc64)
-               SHLIB_CFLAGS="-fPIC";;
-           *)
-               SHLIB_CFLAGS="-fpic";;
-           esac
-           SHLIB_LD="${CC} -shared ${SHLIB_CFLAGS}"
+           SHLIB_CFLAGS="-fPIC"
+           SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}'
            SHLIB_LD_LIBS='${LIBS}'
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
            DL_LIBS=""
-           CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+           AS_IF([test $doRpath = yes], [
+               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
            LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
            SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0'
            AC_CACHE_CHECK([for ELF], tcl_cv_ld_elf, [
@@ -1578,33 +1707,33 @@ dnl AC_CHECK_TOOL(AR, ar)
        yes
 #endif
                ], tcl_cv_ld_elf=yes, tcl_cv_ld_elf=no)])
-           if test $tcl_cv_ld_elf = yes; then
+           AS_IF([test $tcl_cv_ld_elf = yes], [
                LDFLAGS=-Wl,-export-dynamic
-           else
-               LDFLAGS=""
-           fi
+           ], [LDFLAGS=""])
 
            # OpenBSD doesn't do version numbers with dots.
            UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
            TCL_LIB_VERSIONS_OK=nodots
            ;;
-       FreeBSD-*)
+       NetBSD-*|FreeBSD-*)
            # FreeBSD 3.* and greater have ELF.
+           # NetBSD 2.* has ELF and can use 'cc -shared' to build shared libs
            SHLIB_CFLAGS="-fPIC"
-           SHLIB_LD="ld -Bshareable -x"
+           SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}'
            SHLIB_LD_LIBS='${LIBS}'
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
            DL_LIBS=""
            LDFLAGS="$LDFLAGS -export-dynamic"
-           CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-           LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
-           if test "${TCL_THREADS}" = "1" ; then
+           AS_IF([test $doRpath = yes], [
+               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
+           LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
+           AS_IF([test "${TCL_THREADS}" = "1"], [
                # The -pthread needs to go in the 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.
@@ -1617,7 +1746,16 @@ dnl AC_CHECK_TOOL(AR, ar)
        Darwin-*)
            CFLAGS_OPTIMIZE="-Os"
            SHLIB_CFLAGS="-fno-common"
-           if test $do64bit = yes; then
+           # To avoid discrepancies between what headers configure sees during
+           # preprocessing tests and compiling tests, move any -isysroot and
+           # -mmacosx-version-min flags from CFLAGS to CPPFLAGS:
+           CPPFLAGS="${CPPFLAGS} `echo " ${CFLAGS}" | \
+               awk 'BEGIN {FS=" +-";ORS=" "}; {for (i=2;i<=NF;i++) \
+               if ([$]i~/^(isysroot|mmacosx-version-min)/) print "-"[$]i}'`"
+           CFLAGS="`echo " ${CFLAGS}" | \
+               awk 'BEGIN {FS=" +-";ORS=" "}; {for (i=2;i<=NF;i++) \
+               if (!([$]i~/^(isysroot|mmacosx-version-min)/)) print "-"[$]i}'`"
+           AS_IF([test $do64bit = yes], [
                case `arch` in
                    ppc)
                        AC_CACHE_CHECK([if compiler accepts -arch ppc64 flag],
@@ -1627,10 +1765,10 @@ dnl AC_CHECK_TOOL(AR, ar)
                            AC_TRY_LINK(,, tcl_cv_cc_arch_ppc64=yes,
                                    tcl_cv_cc_arch_ppc64=no)
                            CFLAGS=$hold_cflags])
-                       if test $tcl_cv_cc_arch_ppc64 = yes; then
+                       AS_IF([test $tcl_cv_cc_arch_ppc64 = yes], [
                            CFLAGS="$CFLAGS -arch ppc64 -mpowerpc64 -mcpu=G5"
                            do64bit_ok=yes
-                       fi;;
+                       ]);;
                    i386)
                        AC_CACHE_CHECK([if compiler accepts -arch x86_64 flag],
                                tcl_cv_cc_arch_x86_64, [
@@ -1639,59 +1777,86 @@ dnl AC_CHECK_TOOL(AR, ar)
                            AC_TRY_LINK(,, tcl_cv_cc_arch_x86_64=yes,
                                    tcl_cv_cc_arch_x86_64=no)
                            CFLAGS=$hold_cflags])
-                       if test $tcl_cv_cc_arch_x86_64 = yes; then
+                       AS_IF([test $tcl_cv_cc_arch_x86_64 = yes], [
                            CFLAGS="$CFLAGS -arch x86_64"
                            do64bit_ok=yes
-                       fi;;
+                       ]);;
                    *)
                        AC_MSG_WARN([Don't know how enable 64-bit on architecture `arch`]);;
                esac
-           else
+           ], [
                # Check for combined 32-bit and 64-bit fat build
-               echo "$CFLAGS " | grep -E -q -- '-arch (ppc64|x86_64) ' && \
-                   echo "$CFLAGS " | grep -E -q -- '-arch (ppc|i386) ' && \
-                   fat_32_64=yes
-           fi
-           # TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS here:
+               AS_IF([echo "$CFLAGS " |grep -E -q -- '-arch (ppc64|x86_64) ' \
+                   && echo "$CFLAGS " |grep -E -q -- '-arch (ppc|i386) '], [
+                   fat_32_64=yes])
+           ])
+           # TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS
            SHLIB_LD='${CC} -dynamiclib ${CFLAGS} ${LDFLAGS_DEFAULT}'
            AC_CACHE_CHECK([if ld accepts -single_module flag], tcl_cv_ld_single_module, [
                hold_ldflags=$LDFLAGS
                LDFLAGS="$LDFLAGS -dynamiclib -Wl,-single_module"
                AC_TRY_LINK(, [int i;], tcl_cv_ld_single_module=yes, tcl_cv_ld_single_module=no)
                LDFLAGS=$hold_ldflags])
-           if test $tcl_cv_ld_single_module = yes; then
+           AS_IF([test $tcl_cv_ld_single_module = yes], [
                SHLIB_LD="${SHLIB_LD} -Wl,-single_module"
-           fi
+           ])
+           # TEA specific: link shlib with current and compatiblity version flags
+           vers=`echo ${PACKAGE_VERSION} | sed -e 's/^\([[0-9]]\{1,5\}\)\(\(\.[[0-9]]\{1,3\}\)\{0,2\}\).*$/\1\2/p' -e d`
+           SHLIB_LD="${SHLIB_LD} -current_version ${vers:-0} -compatibility_version ${vers:-0}"
            SHLIB_LD_LIBS='${LIBS}'
            SHLIB_SUFFIX=".dylib"
            DL_OBJS="tclLoadDyld.o"
            DL_LIBS=""
            # Don't use -prebind when building for Mac OS X 10.4 or later only:
-           test "`echo "${MACOSX_DEPLOYMENT_TARGET}" | awk -F '10\\.' '{print int([$]2)}'`" -lt 4 -a \
-               "`echo "${CFLAGS}" | awk -F '-mmacosx-version-min=10\\.' '{print int([$]2)}'`" -lt 4 && \
-               LDFLAGS="$LDFLAGS -prebind"
+           AS_IF([test "`echo "${MACOSX_DEPLOYMENT_TARGET}" | awk -F '10\\.' '{print int([$]2)}'`" -lt 4 -a \
+               "`echo "${CPPFLAGS}" | awk -F '-mmacosx-version-min=10\\.' '{print int([$]2)}'`" -lt 4], [
+               LDFLAGS="$LDFLAGS -prebind"])
            LDFLAGS="$LDFLAGS -headerpad_max_install_names"
-           AC_CACHE_CHECK([if ld accepts -search_paths_first flag], tcl_cv_ld_search_paths_first, [
+           AC_CACHE_CHECK([if ld accepts -search_paths_first flag],
+                   tcl_cv_ld_search_paths_first, [
                hold_ldflags=$LDFLAGS
                LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
-               AC_TRY_LINK(, [int i;], tcl_cv_ld_search_paths_first=yes, tcl_cv_ld_search_paths_first=no)
+               AC_TRY_LINK(, [int i;], tcl_cv_ld_search_paths_first=yes,
+                       tcl_cv_ld_search_paths_first=no)
                LDFLAGS=$hold_ldflags])
-           if test $tcl_cv_ld_search_paths_first = yes; then
+           AS_IF([test $tcl_cv_ld_search_paths_first = yes], [
                LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
-           fi
+           ])
+           AS_IF([test "$tcl_cv_cc_visibility_hidden" != yes], [
+               AC_DEFINE(MODULE_SCOPE, [__private_extern__],
+                   [Compiler support for module scope symbols])
+           ])
            CC_SEARCH_FLAGS=""
            LD_SEARCH_FLAGS=""
            LD_LIBRARY_PATH_VAR="DYLD_LIBRARY_PATH"
-
-           # TEA specific: for Tk extensions, remove 64-bit arch flags from
-           # CFLAGS for combined 32-bit and 64-bit fat builds as neither TkAqua
-           # nor TkX11 can be built for 64-bit at present.
-           test "$fat_32_64" = yes && test -n "${TK_BIN_DIR}" && \
-               CFLAGS="`echo "$CFLAGS " | sed -e 's/-arch ppc64 / /g' -e 's/-arch x86_64 / /g'`"
+           # TEA specific: for combined 32 & 64 bit fat builds of Tk
+           # extensions, verify that 64-bit build is possible.
+           AS_IF([test "$fat_32_64" = yes && test -n "${TK_BIN_DIR}"], [
+               AS_IF([test "${TEA_WINDOWINGSYSTEM}" = x11], [
+                   AC_CACHE_CHECK([for 64-bit X11], tcl_cv_lib_x11_64, [
+                       for v in CFLAGS CPPFLAGS LDFLAGS; do
+                           eval 'hold_'$v'="$'$v'";'$v'="`echo "$'$v' "|sed -e "s/-arch ppc / /g" -e "s/-arch i386 / /g"`"'
+                       done
+                       CPPFLAGS="$CPPFLAGS -I/usr/X11R6/include"
+                       LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -lX11"
+                       AC_TRY_LINK([#include <X11/Xlib.h>], [XrmInitialize();],
+                           tcl_cv_lib_x11_64=yes, tcl_cv_lib_x11_64=no)
+                       for v in CFLAGS CPPFLAGS LDFLAGS; do
+                           eval $v'="$hold_'$v'"'
+                       done])
+               ])
+               # remove 64-bit arch flags from CFLAGS et al. if configuration
+               # does not support 64-bit.
+               AS_IF([test "${TEA_WINDOWINGSYSTEM}" = aqua -o "$tcl_cv_lib_x11_64" = no], [
+                   AC_MSG_NOTICE([Removing 64-bit architectures from compiler & linker flags])
+                   for v in CFLAGS CPPFLAGS LDFLAGS; do
+                       eval $v'="`echo "$'$v' "|sed -e "s/-arch ppc64 / /g" -e "s/-arch x86_64 / /g"`"'
+                   done])
+           ])
            ;;
        NEXTSTEP-*)
            SHLIB_CFLAGS=""
-           SHLIB_LD="cc -nostdlib -r"
+           SHLIB_LD='${CC} -nostdlib -r'
            SHLIB_LD_LIBS=""
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadNext.o"
@@ -1719,11 +1884,9 @@ dnl AC_CHECK_TOOL(AR, ar)
        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
+           AS_IF([test "$SHARED_BUILD" = 1], [SHLIB_LD="ld -shared"], [
                SHLIB_LD="ld -non_shared"
-           fi
+           ])
            SHLIB_LD_LIBS=""
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
@@ -1734,35 +1897,32 @@ dnl AC_CHECK_TOOL(AR, ar)
        OSF1-V*)
            # Digital OSF/1
            SHLIB_CFLAGS=""
-           if test "$SHARED_BUILD" = "1" ; then
+           AS_IF([test "$SHARED_BUILD" = 1], [
                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=""
-           CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-           LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
-           if test "$GCC" = "yes" ; then
-               CFLAGS="$CFLAGS -mieee"
-            else
-               CFLAGS="$CFLAGS -DHAVE_TZSET -std1 -ieee"
-           fi
+           AS_IF([test $doRpath = yes], [
+               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+               LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'])
+           AS_IF([test "$GCC" = yes], [CFLAGS="$CFLAGS -mieee"], [
+               CFLAGS="$CFLAGS -DHAVE_TZSET -std1 -ieee"])
            # see pthread_intro(3) for pthread support on osf1, k.furukawa
-           if test "${TCL_THREADS}" = "1" ; then
+           AS_IF([test "${TCL_THREADS}" = 1], [
                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
+               AS_IF([test "$GCC" = yes], [
                    LIBS="$LIBS -lpthread -lmach -lexc"
-               else
+               ], [
                    CFLAGS="$CFLAGS -pthread"
                    LDFLAGS="$LDFLAGS -pthread"
-               fi
-           fi
-
+               ])
+           ])
            ;;
        QNX-6*)
            # QNX RTP
@@ -1781,13 +1941,13 @@ dnl AC_CHECK_TOOL(AR, ar)
            # 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
+           AS_IF([test "$GCC" = yes], [
                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"
@@ -1798,7 +1958,7 @@ dnl AC_CHECK_TOOL(AR, ar)
            ;;
        SINIX*5.4*)
            SHLIB_CFLAGS="-K PIC"
-           SHLIB_LD="cc -G"
+           SHLIB_LD='${CC} -G'
            SHLIB_LD_LIBS=""
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
@@ -1844,15 +2004,15 @@ dnl AC_CHECK_TOOL(AR, ar)
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
            DL_LIBS="-ldl"
-           if test "$GCC" = "yes" ; then
-               SHLIB_LD="$CC -shared"
+           AS_IF([test "$GCC" = yes], [
+               SHLIB_LD='${CC} -shared'
                CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
                LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-           else
+           ], [
                SHLIB_LD="/usr/ccs/bin/ld -G -z text"
                CC_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
                LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-           fi
+           ])
            ;;
        SunOS-5*)
            # Note: If _REENTRANT isn't defined, then Solaris
@@ -1865,43 +2025,54 @@ dnl AC_CHECK_TOOL(AR, ar)
            SHLIB_CFLAGS="-KPIC"
 
            # Check to enable 64-bit flags for compiler/linker
-           if test "$do64bit" = "yes" ; then
+           AS_IF([test "$do64bit" = yes], [
                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
+               AS_IF([test "$arch" = "sparcv9 sparc"], [
+                   AS_IF([test "$GCC" = yes], [
+                       AS_IF([test "`${CC} -dumpversion | awk -F. '{print [$]1}'`" -lt 3], [
+                           AC_MSG_WARN([64bit mode not supported with GCC < 3.2 on $system])
+                       ], [
                            do64bit_ok=yes
-                           if test "$do64bitVIS" = "yes" ; then
-                               CFLAGS="$CFLAGS -xarch=v9a"
-                               LDFLAGS_ARCH="-xarch=v9a"
-                           else
-                               CFLAGS="$CFLAGS -xarch=v9"
-                               LDFLAGS_ARCH="-xarch=v9"
-                           fi
-                           # Solaris 64 uses this as well
-                           #LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH_64"
-                       fi
-               elif test "$arch" = "amd64 i386" ; then
-                   if test "$GCC" = "yes" ; then
-                       AC_MSG_WARN([64bit mode not supported with GCC on $system])
-                   else
+                           CFLAGS="$CFLAGS -m64 -mcpu=v9"
+                           LDFLAGS="$LDFLAGS -m64 -mcpu=v9"
+                           SHLIB_CFLAGS="-fPIC"
+                       ])
+                   ], [
                        do64bit_ok=yes
-                       CFLAGS="$CFLAGS -xarch=amd64"
-                       LDFLAGS="$LDFLAGS -xarch=amd64"
-                   fi
-               else
-                   AC_MSG_WARN([64bit mode not supported for $arch])
-               fi
-           fi
-           
+                       AS_IF([test "$do64bitVIS" = yes], [
+                           CFLAGS="$CFLAGS -xarch=v9a"
+                           LDFLAGS_ARCH="-xarch=v9a"
+                       ], [
+                           CFLAGS="$CFLAGS -xarch=v9"
+                           LDFLAGS_ARCH="-xarch=v9"
+                       ])
+                       # Solaris 64 uses this as well
+                       #LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH_64"
+                   ])
+               ], [AS_IF([test "$arch" = "amd64 i386"], [
+                   AS_IF([test "$GCC" = yes], [
+                       case $system in
+                           SunOS-5.1[[1-9]]*|SunOS-5.[[2-9]][[0-9]]*)
+                               do64bit_ok=yes
+                               CFLAGS="$CFLAGS -m64"
+                               LDFLAGS="$LDFLAGS -m64";;
+                           *)
+                               AC_MSG_WARN([64bit mode not supported with GCC on $system]);;
+                       esac
+                   ], [
+                       do64bit_ok=yes
+                       case $system in
+                           SunOS-5.1[[1-9]]*|SunOS-5.[[2-9]][[0-9]]*)
+                               CFLAGS="$CFLAGS -m64"
+                               LDFLAGS="$LDFLAGS -m64";;
+                           *)
+                               CFLAGS="$CFLAGS -xarch=amd64"
+                               LDFLAGS="$LDFLAGS -xarch=amd64";;
+                       esac
+                   ])
+               ], [AC_MSG_WARN([64bit mode not supported for $arch])])])
+           ])
+
            # Note: need the LIBS below, otherwise Tk won't find Tcl's
            # symbols when dynamically loaded into tclsh.
 
@@ -1909,30 +2080,41 @@ dnl AC_CHECK_TOOL(AR, ar)
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
            DL_LIBS="-ldl"
-           if test "$GCC" = "yes" ; then
-               SHLIB_LD="$CC -shared"
+           AS_IF([test "$GCC" = yes], [
+               SHLIB_LD='${CC} -shared'
                CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
                LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-               if test "$do64bit_ok" = "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` | ..."
-                   #CC_SEARCH_FLAGS="${CC_SEARCH_FLAGS},-R,$v9gcclibdir"
-               fi
-           else
-               SHLIB_LD="/usr/ccs/bin/ld -G -z text"
+               AS_IF([test "$do64bit_ok" = yes], [
+                   AS_IF([test "$arch" = "sparcv9 sparc"], [
+                       # 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` | ..."
+                       #CC_SEARCH_FLAGS="${CC_SEARCH_FLAGS},-R,$v9gcclibdir"
+                   ], [AS_IF([test "$arch" = "amd64 i386"], [
+                       # JH: static-libgcc is necessary for core Tcl, but may
+                       # not be necessary for extensions.
+                       SHLIB_LD="$SHLIB_LD -m64 -static-libgcc"
+                   ])])
+               ])
+           ], [
+               case $system in
+                   SunOS-5.[[1-9]][[0-9]]*)
+                       SHLIB_LD='${CC} -G -z text ${LDFLAGS}';;
+                   *)
+                       SHLIB_LD='/usr/ccs/bin/ld -G -z text';;
+               esac
                CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
                LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
-           fi
+           ])
            ;;
        UNIX_SV* | UnixWare-5*)
            SHLIB_CFLAGS="-KPIC"
-           SHLIB_LD="cc -G"
+           SHLIB_LD='${CC} -G'
            SHLIB_LD_LIBS=""
            SHLIB_SUFFIX=".so"
            DL_OBJS="tclLoadDl.o"
@@ -1944,17 +2126,23 @@ dnl AC_CHECK_TOOL(AR, ar)
                LDFLAGS="$LDFLAGS -Wl,-Bexport"
                AC_TRY_LINK(, [int i;], tcl_cv_ld_Bexport=yes, tcl_cv_ld_Bexport=no)
                LDFLAGS=$hold_ldflags])
-           if test $tcl_cv_ld_Bexport = yes; then
+           AS_IF([test $tcl_cv_ld_Bexport = yes], [
                LDFLAGS="$LDFLAGS -Wl,-Bexport"
-           fi
+           ])
            CC_SEARCH_FLAGS=""
            LD_SEARCH_FLAGS=""
            ;;
     esac
 
-    if test "$do64bit" = "yes" -a "$do64bit_ok" = "no" ; then
+    AS_IF([test "$do64bit" = yes -a "$do64bit_ok" = no], [
        AC_MSG_WARN([64bit support being disabled -- don't know magic for this platform])
-    fi
+    ])
+
+dnl # Add any CPPFLAGS set in the environment to our CFLAGS, but delay doing so
+dnl # until the end of configure, as configure's compile and link tests use
+dnl # both CPPFLAGS and CFLAGS (unlike our compile and link) but configure's
+dnl # preprocessing tests use only CPPFLAGS.
+    AC_CONFIG_COMMANDS_PRE([CFLAGS="${CFLAGS} ${CPPFLAGS}"; CPPFLAGS=""])
 
     # Step 4: disable dynamic loading if requested via a command-line switch.
 
@@ -1962,15 +2150,10 @@ dnl AC_CHECK_TOOL(AR, ar)
        AC_HELP_STRING([--enable-load],
            [allow dynamic loading and "load" command (default: on)]),
        [tcl_ok=$enableval], [tcl_ok=yes])
-    if test "$tcl_ok" = "no"; then
-       DL_OBJS=""
-    fi
+    AS_IF([test "$tcl_ok" = no], [DL_OBJS=""])
 
-    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."
+    AS_IF([test "x$DL_OBJS" != x], [BUILD_DLTEST="\$(DLTEST_TARGETS)"], [
+       AC_MSG_WARN([Can't figure out how to do dynamic loading or shared libraries on this system.])
        SHLIB_CFLAGS=""
        SHLIB_LD=""
        SHLIB_SUFFIX=""
@@ -1980,43 +2163,30 @@ dnl AC_CHECK_TOOL(AR, ar)
        CC_SEARCH_FLAGS=""
        LD_SEARCH_FLAGS=""
        BUILD_DLTEST=""
-    fi
+    ])
     LDFLAGS="$LDFLAGS $LDFLAGS_ARCH"
 
     # 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-*)
-                   ;;
-               SCO_SV-3.2*)
-                   ;;
-               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
+    AS_IF([test "$DL_OBJS" != "tclLoadNone.o" -a "$GCC" = yes], [
+       case $system in
+           AIX-*) ;;
+           BSD/OS*) ;;
+           IRIX*) ;;
+           NetBSD-*|FreeBSD-*) ;;
+           Darwin-*) ;;
+           SCO_SV-3.2*) ;;
+           *) SHLIB_CFLAGS="-fPIC" ;;
+       esac])
+
+    AS_IF([test "$SHARED_LIB_SUFFIX" = ""], [
+       # TEA specific: use PACKAGE_VERSION instead of VERSION
+       SHARED_LIB_SUFFIX='${PACKAGE_VERSION}${SHLIB_SUFFIX}'])
+    AS_IF([test "$UNSHARED_LIB_SUFFIX" = ""], [
+       # TEA specific: use PACKAGE_VERSION instead of VERSION
+       UNSHARED_LIB_SUFFIX='${PACKAGE_VERSION}.a'])
 
     AC_SUBST(DL_LIBS)
 
@@ -2215,6 +2385,7 @@ closedir(d);
        AC_DEFINE(NO_DIRENT_H, 1, [Do we have <dirent.h>?])
     fi
 
+    # TEA specific:
     AC_CHECK_HEADER(errno.h, , [AC_DEFINE(NO_ERRNO_H, 1, [Do we have <errno.h>?])])
     AC_CHECK_HEADER(float.h, , [AC_DEFINE(NO_FLOAT_H, 1, [Do we have <float.h>?])])
     AC_CHECK_HEADER(values.h, , [AC_DEFINE(NO_VALUES_H, 1, [Do we have <values.h>?])])
@@ -2319,7 +2490,7 @@ AC_DEFUN([TEA_PATH_UNIX_X], [
        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
+           if test -r $i/libX11.a -o -r $i/libX11.so -o -r $i/libX11.sl -o -r $i/libX11.dylib; then
                AC_MSG_RESULT([$i])
                XLIBSW="-L$i -lX11"
                x_libraries="$i"
@@ -2340,6 +2511,7 @@ AC_DEFUN([TEA_PATH_UNIX_X], [
        AC_MSG_RESULT([could not find any!  Using -lX11.])
        XLIBSW=-lX11
     fi
+    # TEA specific:
     if test x"${XLIBSW}" != x ; then
        PKG_LIBS="${PKG_LIBS} ${XLIBSW}"
     fi
@@ -2590,9 +2762,9 @@ AC_DEFUN([TEA_TCL_LINK_LIBS], [
     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
+
+    # TEA specific: 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)
@@ -2683,8 +2855,8 @@ AC_DEFUN([TEA_TCL_64BIT_FLAGS], [
        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*
+       # TEA specific: 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},
@@ -2764,7 +2936,7 @@ AC_DEFUN([TEA_TCL_64BIT_FLAGS], [
 AC_DEFUN([TEA_INIT], [
     # TEA extensions pass this us the version of TEA they think they
     # are compatible with.
-    TEA_VERSION="3.5"
+    TEA_VERSION="3.7"
 
     AC_MSG_CHECKING([for correct TEA configuration])
     if test x"${PACKAGE_NAME}" = x ; then
@@ -2848,6 +3020,8 @@ AC_DEFUN([TEA_ADD_SOURCES], [
                ;;
            *)
                # check for existence - allows for generic/win/unix VPATH
+               # To add more dirs here (like 'src'), you have to update VPATH
+               # in Makefile.in as well
                if test ! -f "${srcdir}/$i" -a ! -f "${srcdir}/generic/$i" \
                    -a ! -f "${srcdir}/win/$i" -a ! -f "${srcdir}/unix/$i" \
                    ; then
@@ -3140,11 +3314,14 @@ AC_DEFUN([TEA_SETUP_COMPILER], [
     #------------------------------------------------------------------------
 
     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]))
+       AC_CACHE_CHECK([if the compiler understands -pipe],
+           tcl_cv_cc_pipe, [
+           hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -pipe"
+           AC_TRY_COMPILE(,, tcl_cv_cc_pipe=yes, tcl_cv_cc_pipe=no)
+           CFLAGS=$hold_cflags])
+       if test $tcl_cv_cc_pipe = yes; then
+           CFLAGS="$CFLAGS -pipe"
+       fi
     fi
 
     #--------------------------------------------------------------------
@@ -3338,64 +3515,70 @@ AC_DEFUN([TEA_LIB_SPEC], [
 #
 #      Requires:
 #              TCL_SRC_DIR     Assumes that TEA_LOAD_TCLCONFIG has
-#                               already been called.
+#                              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], [
+    # Allow for --with-tclinclude to take effect and define ${ac_cv_c_tclh}
+    AC_REQUIRE([TEA_PUBLIC_TCL_HEADERS])
     AC_MSG_CHECKING([for Tcl private include files])
 
     TCL_SRC_DIR_NATIVE=`${CYGPATH} ${TCL_SRC_DIR}`
     TCL_TOP_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}\"
-    TCL_GENERIC_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/generic\"
-    TCL_UNIX_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/unix\"
-    TCL_WIN_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/win\"
-    TCL_BMAP_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/bitmaps\"
-    TCL_TOOL_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/tools\"
-    TCL_COMPAT_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/compat\"
 
-    if test "${TEA_PLATFORM}" = "windows"; then
-       TCL_PLATFORM_DIR_NATIVE=${TCL_WIN_DIR_NATIVE}
+    # Check to see if tcl<Plat>Port.h isn't already with the public headers
+    # Don't look for tclInt.h because that resides with tcl.h in the core
+    # sources, but the <plat>Port headers are in a different directory
+    if test "${TEA_PLATFORM}" = "windows" -a \
+       -f "${ac_cv_c_tclh}/tclWinPort.h"; then
+       result="private headers found with public headers"
+    elif test "${TEA_PLATFORM}" = "unix" -a \
+       -f "${ac_cv_c_tclh}/tclUnixPort.h"; then
+       result="private headers found with public headers"
     else
-       TCL_PLATFORM_DIR_NATIVE=${TCL_UNIX_DIR_NATIVE}
-    fi
-    # We want to ensure these are substituted so as not to require
-    # any *_NATIVE vars be defined in the Makefile
-    TCL_INCLUDES="-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}"
-    if test "`uname -s`" = "Darwin"; then
-        # If Tcl was built as a framework, attempt to use
-        # the framework's Headers and PrivateHeaders directories
-        case ${TCL_DEFS} in
-           *TCL_FRAMEWORK*)
-               if test -d "${TCL_BIN_DIR}/Headers" -a -d "${TCL_BIN_DIR}/PrivateHeaders"; then
-               TCL_INCLUDES="-I\"${TCL_BIN_DIR}/Headers\" -I\"${TCL_BIN_DIR}/PrivateHeaders\" ${TCL_INCLUDES}"; else
-               TCL_INCLUDES="${TCL_INCLUDES} ${TCL_INCLUDE_SPEC} `echo "${TCL_INCLUDE_SPEC}" | sed -e 's/Headers/PrivateHeaders/'`"; fi
-               ;;
-       esac
+       TCL_GENERIC_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/generic\"
+       if test "${TEA_PLATFORM}" = "windows"; then
+           TCL_PLATFORM_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/win\"
+       else
+           TCL_PLATFORM_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/unix\"
+       fi
+       # Overwrite the previous TCL_INCLUDES as this should capture both
+       # public and private headers in the same set.
+       # We want to ensure these are substituted so as not to require
+       # any *_NATIVE vars be defined in the Makefile
+       TCL_INCLUDES="-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}"
+       if test "`uname -s`" = "Darwin"; then
+            # If Tcl was built as a framework, attempt to use
+            # the framework's Headers and PrivateHeaders directories
+            case ${TCL_DEFS} in
+               *TCL_FRAMEWORK*)
+                   if test -d "${TCL_BIN_DIR}/Headers" -a \
+                           -d "${TCL_BIN_DIR}/PrivateHeaders"; then
+                       TCL_INCLUDES="-I\"${TCL_BIN_DIR}/Headers\" -I\"${TCL_BIN_DIR}/PrivateHeaders\" ${TCL_INCLUDES}"
+                   else
+                       TCL_INCLUDES="${TCL_INCLUDES} ${TCL_INCLUDE_SPEC} `echo "${TCL_INCLUDE_SPEC}" | sed -e 's/Headers/PrivateHeaders/'`"
+                   fi
+                   ;;
+           esac
+           result="Using ${TCL_INCLUDES}"
+       else
+           if test ! -f "${TCL_SRC_DIR}/generic/tclInt.h" ; then
+               AC_MSG_ERROR([Cannot find private header tclInt.h in ${TCL_SRC_DIR}])
+           fi
+           result="Using srcdir found in tclConfig.sh: ${TCL_SRC_DIR}"
+       fi
     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}])
+    AC_MSG_RESULT([${result}])
 ])
 
 #------------------------------------------------------------------------
@@ -3508,49 +3691,72 @@ AC_DEFUN([TEA_PUBLIC_TCL_HEADERS], [
 #------------------------------------------------------------------------
 
 AC_DEFUN([TEA_PRIVATE_TK_HEADERS], [
+    # Allow for --with-tkinclude to take effect and define ${ac_cv_c_tkh}
+    AC_REQUIRE([TEA_PUBLIC_TK_HEADERS])
     AC_MSG_CHECKING([for Tk private include files])
 
     TK_SRC_DIR_NATIVE=`${CYGPATH} ${TK_SRC_DIR}`
     TK_TOP_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}\"
-    TK_UNIX_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/unix\"
-    TK_WIN_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/win\"
-    TK_GENERIC_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/generic\"
-    TK_XLIB_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/xlib\"
-    if test "${TEA_PLATFORM}" = "windows"; then
-       TK_PLATFORM_DIR_NATIVE=${TK_WIN_DIR_NATIVE}
+
+    # Check to see if tk<Plat>Port.h isn't already with the public headers
+    # Don't look for tkInt.h because that resides with tk.h in the core
+    # sources, but the <plat>Port headers are in a different directory
+    if test "${TEA_PLATFORM}" = "windows" -a \
+       -f "${ac_cv_c_tkh}/tkWinPort.h"; then
+       result="private headers found with public headers"
+    elif test "${TEA_PLATFORM}" = "unix" -a \
+       -f "${ac_cv_c_tkh}/tkUnixPort.h"; then
+       result="private headers found with public headers"
     else
-       TK_PLATFORM_DIR_NATIVE=${TK_UNIX_DIR_NATIVE}
-    fi
-    # We want to ensure these are substituted so as not to require
-    # any *_NATIVE vars be defined in the Makefile
-    TK_INCLUDES="-I${TK_GENERIC_DIR_NATIVE} -I${TK_PLATFORM_DIR_NATIVE}"
-    if test "${TEA_WINDOWINGSYSTEM}" = "win32" \
-       -o "${TEA_WINDOWINGSYSTEM}" = "aqua"; then
-       TK_INCLUDES="${TK_INCLUDES} -I${TK_XLIB_DIR_NATIVE}"
-    fi
-    if test "${TEA_WINDOWINGSYSTEM}" = "aqua"; then
-       TK_INCLUDES="${TK_INCLUDES} -I${TK_SRC_DIR_NATIVE}/macosx"
-    fi
-    if test "`uname -s`" = "Darwin"; then
-        # If Tk was built as a framework, attempt to use
-        # the framework's Headers and PrivateHeaders directories
-        case ${TK_DEFS} in
-           *TK_FRAMEWORK*)
-               if test -d "${TK_BIN_DIR}/Headers" -a -d "${TK_BIN_DIR}/PrivateHeaders"; then
-               TK_INCLUDES="-I\"${TK_BIN_DIR}/Headers\" -I\"${TK_BIN_DIR}/PrivateHeaders\" ${TK_INCLUDES}"; fi
-               ;;
-       esac
+       TK_GENERIC_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/generic\"
+       TK_XLIB_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/xlib\"
+       if test "${TEA_PLATFORM}" = "windows"; then
+           TK_PLATFORM_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/win\"
+       else
+           TK_PLATFORM_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/unix\"
+       fi
+       # Overwrite the previous TK_INCLUDES as this should capture both
+       # public and private headers in the same set.
+       # We want to ensure these are substituted so as not to require
+       # any *_NATIVE vars be defined in the Makefile
+       TK_INCLUDES="-I${TK_GENERIC_DIR_NATIVE} -I${TK_PLATFORM_DIR_NATIVE}"
+       # Detect and add ttk subdir
+       if test -d "${TK_SRC_DIR}/generic/ttk"; then
+          TK_INCLUDES="${TK_INCLUDES} -I\"${TK_SRC_DIR_NATIVE}/generic/ttk\""
+       fi
+       if test "${TEA_WINDOWINGSYSTEM}" != "x11"; then
+          TK_INCLUDES="${TK_INCLUDES} -I\"${TK_XLIB_DIR_NATIVE}\""
+       fi
+       if test "${TEA_WINDOWINGSYSTEM}" = "aqua"; then
+          TK_INCLUDES="${TK_INCLUDES} -I\"${TK_SRC_DIR_NATIVE}/macosx\""
+       fi
+       if test "`uname -s`" = "Darwin"; then
+           # If Tk was built as a framework, attempt to use
+           # the framework's Headers and PrivateHeaders directories
+           case ${TK_DEFS} in
+               *TK_FRAMEWORK*)
+                       if test -d "${TK_BIN_DIR}/Headers" -a \
+                               -d "${TK_BIN_DIR}/PrivateHeaders"; then
+                           TK_INCLUDES="-I\"${TK_BIN_DIR}/Headers\" -I\"${TK_BIN_DIR}/PrivateHeaders\" ${TK_INCLUDES}"
+                       else
+                           TK_INCLUDES="${TK_INCLUDES} ${TK_INCLUDE_SPEC} `echo "${TK_INCLUDE_SPEC}" | sed -e 's/Headers/PrivateHeaders/'`"
+                       fi
+                       ;;
+           esac
+           result="Using ${TK_INCLUDES}"
+       else
+           if test ! -f "${TK_SRC_DIR}/generic/tkInt.h" ; then
+              AC_MSG_ERROR([Cannot find private header tkInt.h in ${TK_SRC_DIR}])
+           fi
+           result="Using srcdir found in tkConfig.sh: ${TK_SRC_DIR}"
+       fi
     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}])
+    AC_MSG_RESULT([${result}])
 ])
 
 #------------------------------------------------------------------------
@@ -3576,7 +3782,7 @@ AC_DEFUN([TEA_PRIVATE_TK_HEADERS], [
 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_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
@@ -3643,8 +3849,7 @@ AC_DEFUN([TEA_PUBLIC_TK_HEADERS], [
 
     AC_SUBST(TK_INCLUDES)
 
-    if test "${TEA_WINDOWINGSYSTEM}" = "win32" \
-       -o "${TEA_WINDOWINGSYSTEM}" = "aqua"; then
+    if test "${TEA_WINDOWINGSYSTEM}" != "x11"; then
        # On Windows and Aqua, we need the X compat headers
        AC_MSG_CHECKING([for X11 header files])
        if test ! -r "${INCLUDE_DIR_NATIVE}/X11/Xlib.h"; then
@@ -3656,106 +3861,6 @@ AC_DEFUN([TEA_PUBLIC_TK_HEADERS], [
     fi
 ])
 
-#------------------------------------------------------------------------
-# TEA_PROG_TCLSH
-#      Determine the fully qualified path name of the tclsh executable
-#      in the Tcl build directory or the tclsh installed in a bin
-#      directory. This macro will correctly determine the name
-#      of the tclsh executable even if tclsh has not yet been
-#      built in the build directory. The tclsh found is always
-#      associated with a tclConfig.sh file. This tclsh should be used
-#      only for running extension test cases. It should never be
-#      or generation of files (like pkgIndex.tcl) at build time.
-#
-# Arguments
-#      none
-#
-# Results
-#      Subst's the following values:
-#              TCLSH_PROG
-#------------------------------------------------------------------------
-
-AC_DEFUN([TEA_PROG_TCLSH], [
-    AC_MSG_CHECKING([for tclsh])
-    if test -f "${TCL_BIN_DIR}/Makefile" ; then
-        # tclConfig.sh is in Tcl build directory
-        if test "${TEA_PLATFORM}" = "windows"; then
-            TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}"
-        else
-            TCLSH_PROG="${TCL_BIN_DIR}/tclsh"
-        fi
-    else
-        # tclConfig.sh is in install location
-        if test "${TEA_PLATFORM}" = "windows"; then
-            TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}"
-        else
-            TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}${TCL_DBGX}"
-        fi
-        list="`ls -d ${TCL_BIN_DIR}/../bin 2>/dev/null` \
-              `ls -d ${TCL_BIN_DIR}/..     2>/dev/null` \
-              `ls -d ${TCL_PREFIX}/bin     2>/dev/null`"
-        for i in $list ; do
-            if test -f "$i/${TCLSH_PROG}" ; then
-                REAL_TCL_BIN_DIR="`cd "$i"; pwd`"
-                break
-            fi
-        done
-        TCLSH_PROG="${REAL_TCL_BIN_DIR}/${TCLSH_PROG}"
-    fi
-    AC_MSG_RESULT([${TCLSH_PROG}])
-    AC_SUBST(TCLSH_PROG)
-])
-
-#------------------------------------------------------------------------
-# TEA_PROG_WISH
-#      Determine the fully qualified path name of the wish executable
-#      in the Tk build directory or the wish installed in a bin
-#      directory. This macro will correctly determine the name
-#      of the wish executable even if wish has not yet been
-#      built in the build directory. The wish found is always
-#      associated with a tkConfig.sh file. This wish should be used
-#      only for running extension test cases. It should never be
-#      or generation of files (like pkgIndex.tcl) at build time.
-#
-# Arguments
-#      none
-#
-# Results
-#      Subst's the following values:
-#              WISH_PROG
-#------------------------------------------------------------------------
-
-AC_DEFUN([TEA_PROG_WISH], [
-    AC_MSG_CHECKING([for wish])
-    if test -f "${TK_BIN_DIR}/Makefile" ; then
-        # tkConfig.sh is in Tk build directory
-        if test "${TEA_PLATFORM}" = "windows"; then
-            WISH_PROG="${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${TK_DBGX}${EXEEXT}"
-        else
-            WISH_PROG="${TK_BIN_DIR}/wish"
-        fi
-    else
-        # tkConfig.sh is in install location
-        if test "${TEA_PLATFORM}" = "windows"; then
-            WISH_PROG="wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${TK_DBGX}${EXEEXT}"
-        else
-            WISH_PROG="wish${TK_MAJOR_VERSION}.${TK_MINOR_VERSION}${TK_DBGX}"
-        fi
-        list="`ls -d ${TK_BIN_DIR}/../bin 2>/dev/null` \
-              `ls -d ${TK_BIN_DIR}/..     2>/dev/null` \
-              `ls -d ${TK_PREFIX}/bin     2>/dev/null`"
-        for i in $list ; do
-            if test -f "$i/${WISH_PROG}" ; then
-                REAL_TK_BIN_DIR="`cd "$i"; pwd`"
-                break
-            fi
-        done
-        WISH_PROG="${REAL_TK_BIN_DIR}/${WISH_PROG}"
-    fi
-    AC_MSG_RESULT([${WISH_PROG}])
-    AC_SUBST(WISH_PROG)
-])
-
 #------------------------------------------------------------------------
 # TEA_PATH_CONFIG --
 #
@@ -3894,7 +3999,7 @@ AC_DEFUN([TEA_LOAD_CONFIG], [
 
     if test -f "${$1_BIN_DIR}/$1Config.sh" ; then
         AC_MSG_RESULT([loading])
-       . ${$1_BIN_DIR}/$1Config.sh
+       . "${$1_BIN_DIR}/$1Config.sh"
     else
         AC_MSG_RESULT([file not found])
     fi
@@ -3908,7 +4013,7 @@ AC_DEFUN([TEA_LOAD_CONFIG], [
     # installed and uninstalled version of Tcl.
     #
 
-    if test -f ${$1_BIN_DIR}/Makefile ; then
+    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}
index 3526864d9b30c65348f2121d98ef6d2f143351e4..0975ecd6394d0ced0f9fe4e39497e0d6a275a1ae 100644 (file)
@@ -164,7 +164,7 @@ PROJECT = vfs
 #PROJECT_REQUIRES_TK=1
 !include "rules.vc"
 
-DOTVERSION      = 1.3
+DOTVERSION      = 1.4
 VERSION         = $(DOTVERSION:.=)
 STUBPREFIX      = $(PROJECT)stub
 
@@ -185,10 +185,7 @@ TCL_FILES = \
        vfslib.tcl \
        webdavvfs.tcl \
        zipvfs.tcl \
-       tkvfs.tcl \
-       mk4vfscompat.tcl \
-       zipvfscompat.tcl \
-       tclIndex
+       tkvfs.tcl
 
 TEMPLATEVFS = \
        collatevfs.tcl \
@@ -198,7 +195,8 @@ TEMPLATEVFS = \
        quotavfs.tcl \
        tdelta.tcl \
        templatevfs.tcl \
-       versionvfs.tcl
+       versionvfs.tcl \
+       chrootvfs.tcl
 
 #-------------------------------------------------------------------------
 # Target names and paths ( shouldn't need changing )