]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Upgrade the TEA build system in autoconf/tea/. To match tclconfig commit 20fe9e6f59...
authordan <Dan Kennedy>
Thu, 7 Jul 2022 20:49:22 +0000 (20:49 +0000)
committerdan <Dan Kennedy>
Thu, 7 Jul 2022 20:49:22 +0000 (20:49 +0000)
FossilOrigin-Name: 1531f7391890d7d3cd091c2d1284230f128e5282bf676967ebcb212210e51e71

autoconf/tea/Makefile.in
autoconf/tea/configure.ac
autoconf/tea/pkgIndex.tcl.in
autoconf/tea/tclconfig/tcl.m4
manifest
manifest.uuid

index 3e481dadfe84fb65f64c81bcb3cd08a1ddc0855c..5264f89f3c55399e3d3c08967f6ee62c2d910ea7 100644 (file)
@@ -11,8 +11,6 @@
 #
 # See the file "license.terms" for information on usage and redistribution
 # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-#
-# RCS: @(#) $Id: Makefile.in,v 1.59 2005/07/26 19:17:02 mdejong Exp $
 
 #========================================================================
 # Add additional lines to handle any additional AC_SUBST cases that
@@ -60,6 +58,8 @@ PKG_HEADERS   = @PKG_HEADERS@
 #========================================================================
 
 PKG_LIB_FILE   = @PKG_LIB_FILE@
+PKG_LIB_FILE8  = @PKG_LIB_FILE8@
+PKG_LIB_FILE9  = @PKG_LIB_FILE9@
 PKG_STUB_LIB_FILE = @PKG_STUB_LIB_FILE@
 
 lib_BINARIES   = $(PKG_LIB_FILE)
@@ -73,10 +73,11 @@ exec_prefix = @exec_prefix@
 
 bindir         = @bindir@
 libdir         = @libdir@
+includedir     = @includedir@
 datarootdir    = @datarootdir@
+runstatedir    = @runstatedir@
 datadir                = @datadir@
 mandir         = @mandir@
-includedir     = @includedir@
 
 DESTDIR                =
 
@@ -85,24 +86,25 @@ pkgdatadir  = $(datadir)/$(PKG_DIR)
 pkglibdir      = $(libdir)/$(PKG_DIR)
 pkgincludedir  = $(includedir)/$(PKG_DIR)
 
-top_builddir   = .
+top_builddir   = @abs_top_builddir@
 
-INSTALL                = @INSTALL@
-INSTALL_PROGRAM        = @INSTALL_PROGRAM@
+INSTALL_OPTIONS        =
+INSTALL                = @INSTALL@ $(INSTALL_OPTIONS)
+INSTALL_DATA_DIR = @INSTALL_DATA_DIR@
 INSTALL_DATA   = @INSTALL_DATA@
+INSTALL_PROGRAM        = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_LIBRARY        = @INSTALL_LIBRARY@
 
 PACKAGE_NAME   = @PACKAGE_NAME@
 PACKAGE_VERSION        = @PACKAGE_VERSION@
 CC             = @CC@
+CCLD           = @CCLD@
 CFLAGS_DEFAULT = @CFLAGS_DEFAULT@
 CFLAGS_WARNING = @CFLAGS_WARNING@
-CLEANFILES     = @CLEANFILES@
 EXEEXT         = @EXEEXT@
 LDFLAGS_DEFAULT        = @LDFLAGS_DEFAULT@
 MAKE_LIB       = @MAKE_LIB@
-MAKE_SHARED_LIB        = @MAKE_SHARED_LIB@
-MAKE_STATIC_LIB        = @MAKE_STATIC_LIB@
 MAKE_STUB_LIB  = @MAKE_STUB_LIB@
 OBJEXT         = @OBJEXT@
 RANLIB         = @RANLIB@
@@ -117,8 +119,6 @@ TCL_SRC_DIR = @TCL_SRC_DIR@
 #TK_BIN_DIR    = @TK_BIN_DIR@
 #TK_SRC_DIR    = @TK_SRC_DIR@
 
-# This is no longer necessary even for packages that use private Tcl headers
-#TCL_TOP_DIR_NATIVE    = @TCL_TOP_DIR_NATIVE@
 # Not used, but retained for reference of what libs Tcl required
 #TCL_LIBS      = @TCL_LIBS@
 
@@ -132,41 +132,52 @@ TCL_SRC_DIR       = @TCL_SRC_DIR@
 EXTRA_PATH     = $(top_builddir):$(TCL_BIN_DIR)
 #EXTRA_PATH    = $(top_builddir):$(TCL_BIN_DIR):$(TK_BIN_DIR)
 TCLLIBPATH     = $(top_builddir)
-TCLSH_ENV      = TCL_LIBRARY=`@CYGPATH@ $(TCL_SRC_DIR)/library` \
-                 @LD_LIBRARY_PATH_VAR@="$(EXTRA_PATH):$(@LD_LIBRARY_PATH_VAR@)" \
+TCLSH_ENV      = TCL_LIBRARY=`@CYGPATH@ $(TCL_SRC_DIR)/library`
+PKG_ENV                = @LD_LIBRARY_PATH_VAR@="$(EXTRA_PATH):$(@LD_LIBRARY_PATH_VAR@)" \
                  PATH="$(EXTRA_PATH):$(PATH)" \
                  TCLLIBPATH="$(TCLLIBPATH)"
-#                TK_LIBRARY=`@CYGPATH@ $(TK_SRC_DIR)/library`
 
 TCLSH_PROG     = @TCLSH_PROG@
-TCLSH  = $(TCLSH_ENV) $(TCLSH_PROG)
+TCLSH          = $(TCLSH_ENV) $(PKG_ENV) $(TCLSH_PROG)
 
+#WISH_ENV      = TK_LIBRARY=`@CYGPATH@ $(TK_SRC_DIR)/library`
 #WISH_PROG     = @WISH_PROG@
-#WISH  = $(TCLSH_ENV) $(WISH_PROG)
-
+#WISH          = $(TCLSH_ENV) $(WISH_ENV) $(PKG_ENV) $(WISH_PROG)
 
 SHARED_BUILD   = @SHARED_BUILD@
 
-INCLUDES       = @PKG_INCLUDES@ @TCL_INCLUDES@ -I$(srcdir)/..
+INCLUDES       = @PKG_INCLUDES@ @TCL_INCLUDES@ -I. -I$(srcdir)/..
 #INCLUDES      = @PKG_INCLUDES@ @TCL_INCLUDES@ @TK_INCLUDES@ @TK_XINCLUDES@
 
 PKG_CFLAGS     = @PKG_CFLAGS@
 
 # TCL_DEFS is not strictly need here, but if you remove it, then you
-# must make sure that configure.in checks for the necessary components
+# must make sure that configure.ac checks for the necessary components
 # that your library may use.  TCL_DEFS can actually be a problem if
 # you do not compile with a similar machine setup as the Tcl core was
 # compiled with.
 #DEFS          = $(TCL_DEFS) @DEFS@ $(PKG_CFLAGS)
 DEFS           = @DEFS@ $(PKG_CFLAGS)
 
+# Move pkgIndex.tcl to 'BINARIES' var if it is generated in the Makefile
 CONFIG_CLEAN_FILES = Makefile pkgIndex.tcl
+CLEANFILES     = @CLEANFILES@
 
 CPPFLAGS       = @CPPFLAGS@
 LIBS           = @PKG_LIBS@ @LIBS@
 AR             = @AR@
 CFLAGS         = @CFLAGS@
-COMPILE                = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LDFLAGS                = @LDFLAGS@
+LDFLAGS_DEFAULT                        = @LDFLAGS_DEFAULT@
+COMPILE                = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) \
+                         $(CFLAGS_DEFAULT) $(CFLAGS_WARNING) $(SHLIB_CFLAGS) $(CFLAGS)
+
+GDB            = gdb
+VALGRIND       = valgrind
+VALGRINDARGS   = --tool=memcheck --num-callers=8 --leak-resolution=high \
+                 --leak-check=yes --show-reachable=yes -v
+
+.SUFFIXES: .c .$(OBJEXT)
 
 #========================================================================
 # Start of user-definable TARGETS section
@@ -174,7 +185,7 @@ COMPILE             = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(C
 
 #========================================================================
 # TEA TARGETS.  Please note that the "libraries:" target refers to platform
-# independent files, and the "binaries:" target inclues executable programs and
+# independent files, and the "binaries:" target includes executable programs and
 # platform-dependent libraries.  Modify these targets so that they install
 # the various pieces of your package.  The make and install rules
 # for the BINARIES that you specified above have already been done.
@@ -193,7 +204,6 @@ binaries: $(BINARIES)
 
 libraries:
 
-
 #========================================================================
 # Your doc target should differentiate from doc builds (by the developer)
 # and doc installs (see install-doc), which just install the docs on the
@@ -216,11 +226,11 @@ install-binaries: binaries install-lib-binaries install-bin-binaries
 #========================================================================
 
 install-libraries: libraries
-       @mkdir -p $(DESTDIR)$(includedir)
+       @$(INSTALL_DATA_DIR) "$(DESTDIR)$(includedir)"
        @echo "Installing header files in $(DESTDIR)$(includedir)"
        @list='$(PKG_HEADERS)'; for i in $$list; do \
            echo "Installing $(srcdir)/$$i" ; \
-           $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(includedir) ; \
+           $(INSTALL_DATA) $(srcdir)/$$i "$(DESTDIR)$(includedir)" ; \
        done;
 
 #========================================================================
@@ -229,12 +239,11 @@ install-libraries: libraries
 #========================================================================
 
 install-doc: doc
-       @mkdir -p $(DESTDIR)$(mandir)/mann
+       @$(INSTALL_DATA_DIR) "$(DESTDIR)$(mandir)/mann"
        @echo "Installing documentation in $(DESTDIR)$(mandir)"
        @list='$(srcdir)/doc/*.n'; for i in $$list; do \
            echo "Installing $$i"; \
-           rm -f $(DESTDIR)$(mandir)/mann/`basename $$i`; \
-           $(INSTALL_DATA) $$i $(DESTDIR)$(mandir)/mann ; \
+           $(INSTALL_DATA) $$i "$(DESTDIR)$(mandir)/mann" ; \
        done
 
 test: binaries libraries
@@ -244,7 +253,21 @@ shell: binaries libraries
        @$(TCLSH) $(SCRIPT)
 
 gdb:
-       $(TCLSH_ENV) gdb $(TCLSH_PROG) $(SCRIPT)
+       $(TCLSH_ENV) $(PKG_ENV) $(GDB) $(TCLSH_PROG) $(SCRIPT)
+
+gdb-test: binaries libraries
+       $(TCLSH_ENV) $(PKG_ENV) $(GDB) \
+           --args $(TCLSH_PROG) `@CYGPATH@ $(srcdir)/tests/all.tcl` \
+           $(TESTFLAGS) -singleproc 1 \
+           -load "package ifneeded $(PACKAGE_NAME) $(PACKAGE_VERSION) \
+               [list load `@CYGPATH@ $(PKG_LIB_FILE)` [string totitle $(PACKAGE_NAME)]]"
+
+valgrind: binaries libraries
+       $(TCLSH_ENV) $(PKG_ENV) $(VALGRIND) $(VALGRINDARGS) $(TCLSH_PROG) \
+           `@CYGPATH@ $(srcdir)/tests/all.tcl` $(TESTFLAGS)
+
+valgrindshell: binaries libraries
+       $(TCLSH_ENV) $(PKG_ENV) $(VALGRIND) $(VALGRINDARGS) $(TCLSH_PROG) $(SCRIPT)
 
 depend:
 
@@ -283,49 +306,70 @@ $(PKG_STUB_LIB_FILE): $(PKG_STUB_OBJECTS)
 # As necessary, add $(srcdir):$(srcdir)/compat:....
 #========================================================================
 
-VPATH = $(srcdir):$(srcdir)/generic:$(srcdir)/unix:$(srcdir)/win
+VPATH = $(srcdir):$(srcdir)/generic:$(srcdir)/unix:$(srcdir)/win:$(srcdir)/macosx
 
 .c.@OBJEXT@:
        $(COMPILE) -c `@CYGPATH@ $<` -o $@
 
+tclsample.@OBJEXT@:    sampleUuid.h
+
+$(srcdir)/manifest.uuid:
+       printf "git-" >$(srcdir)/manifest.uuid
+       (cd $(srcdir); git rev-parse HEAD >>$(srcdir)/manifest.uuid || \
+           (printf "svn-r" >$(srcdir)/manifest.uuid ; \
+           svn info --show-item last-changed-revision >>$(srcdir)/manifest.uuid) || \
+           printf "unknown" >$(srcdir)/manifest.uuid)
+
+sampleUuid.h:  $(srcdir)/manifest.uuid
+       echo "#define SAMPLE_VERSION_UUID \\" >$@
+       cat $(srcdir)/manifest.uuid >>$@
+       echo "" >>$@
+
 #========================================================================
 # Distribution creation
 # You may need to tweak this target to make it work correctly.
 #========================================================================
 
 #COMPRESS      = tar cvf $(PKG_DIR).tar $(PKG_DIR); compress $(PKG_DIR).tar
-COMPRESS       = gtar zcvf $(PKG_DIR).tar.gz $(PKG_DIR)
+COMPRESS       = tar zcvf $(PKG_DIR).tar.gz $(PKG_DIR)
 DIST_ROOT      = /tmp/dist
 DIST_DIR       = $(DIST_ROOT)/$(PKG_DIR)
 
+DIST_INSTALL_DATA      = CPPROG='cp -p' $(INSTALL) -m 644
+DIST_INSTALL_SCRIPT    = CPPROG='cp -p' $(INSTALL) -m 755
+
 dist-clean:
        rm -rf $(DIST_DIR) $(DIST_ROOT)/$(PKG_DIR).tar.*
 
-dist: dist-clean
-       mkdir -p $(DIST_DIR)
-       cp -p $(srcdir)/README* $(srcdir)/license* \
-               $(srcdir)/aclocal.m4 $(srcdir)/configure $(srcdir)/*.in \
-               $(DIST_DIR)/
-       chmod 664 $(DIST_DIR)/Makefile.in $(DIST_DIR)/aclocal.m4
-       chmod 775 $(DIST_DIR)/configure $(DIST_DIR)/configure.in
-
-       for i in $(srcdir)/*.[ch]; do \
-           if [ -f $$i ]; then \
-               cp -p $$i $(DIST_DIR)/ ; \
-           fi; \
-       done;
-
-       mkdir $(DIST_DIR)/tclconfig
-       cp $(srcdir)/tclconfig/install-sh $(srcdir)/tclconfig/tcl.m4 \
-               $(DIST_DIR)/tclconfig/
-       chmod 664 $(DIST_DIR)/tclconfig/tcl.m4
-       chmod +x $(DIST_DIR)/tclconfig/install-sh
-
-       list='demos doc generic library mac tests unix win'; \
+dist: dist-clean $(srcdir)/manifest.uuid
+       $(INSTALL_DATA_DIR) $(DIST_DIR)
+
+       # TEA files
+       $(DIST_INSTALL_DATA) $(srcdir)/Makefile.in \
+           $(srcdir)/aclocal.m4 $(srcdir)/configure.ac \
+           $(DIST_DIR)/
+       $(DIST_INSTALL_SCRIPT) $(srcdir)/configure $(DIST_DIR)/
+
+       $(INSTALL_DATA_DIR) $(DIST_DIR)/tclconfig
+       $(DIST_INSTALL_DATA) $(srcdir)/tclconfig/README.txt \
+           $(srcdir)/manifest.uuid \
+           $(srcdir)/tclconfig/tcl.m4 $(srcdir)/tclconfig/install-sh \
+           $(DIST_DIR)/tclconfig/
+
+       # Extension files
+       $(DIST_INSTALL_DATA) \
+           $(srcdir)/ChangeLog \
+           $(srcdir)/README.sha \
+           $(srcdir)/license.terms \
+           $(srcdir)/README \
+           $(srcdir)/pkgIndex.tcl.in \
+           $(DIST_DIR)/
+
+       list='demos doc generic library macosx tests unix win'; \
        for p in $$list; do \
            if test -d $(srcdir)/$$p ; then \
-               mkdir $(DIST_DIR)/$$p; \
-               cp -p $(srcdir)/$$p/*.* $(DIST_DIR)/$$p/; \
+               $(INSTALL_DATA_DIR) $(DIST_DIR)/$$p; \
+               $(DIST_INSTALL_DATA) $(srcdir)/$$p/* $(DIST_DIR)/$$p/; \
            fi; \
        done
 
@@ -337,10 +381,10 @@ dist: dist-clean
 
 #========================================================================
 # Don't modify the file to clean here.  Instead, set the "CLEANFILES"
-# variable in configure.in
+# variable in configure.ac
 #========================================================================
 
-clean:  
+clean:
        -test -z "$(BINARIES)" || rm -f $(BINARIES)
        -rm -f *.$(OBJEXT) core *.core
        -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
@@ -348,7 +392,7 @@ clean:
 distclean: clean
        -rm -f *.tab.c
        -rm -f $(CONFIG_CLEAN_FILES)
-       -rm -f config.h config.cache config.log config.status
+       -rm -f config.cache config.log config.status
 
 #========================================================================
 # Install binary object libraries.  On Windows this includes both .dll and
@@ -362,25 +406,17 @@ distclean: clean
 #========================================================================
 
 install-lib-binaries: binaries
-       @mkdir -p $(DESTDIR)$(pkglibdir)
+       @$(INSTALL_DATA_DIR) "$(DESTDIR)$(pkglibdir)"
        @list='$(lib_BINARIES)'; for p in $$list; do \
          if test -f $$p; then \
-           echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/$$p"; \
-           $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/$$p; \
-           stub=`echo $$p|sed -e "s/.*\(stub\).*/\1/"`; \
-           if test "x$$stub" = "xstub"; then \
-               echo " $(RANLIB_STUB) $(DESTDIR)$(pkglibdir)/$$p"; \
-               $(RANLIB_STUB) $(DESTDIR)$(pkglibdir)/$$p; \
-           else \
-               echo " $(RANLIB) $(DESTDIR)$(pkglibdir)/$$p"; \
-               $(RANLIB) $(DESTDIR)$(pkglibdir)/$$p; \
-           fi; \
+           echo " $(INSTALL_LIBRARY) $$p $(DESTDIR)$(pkglibdir)/$$p"; \
+           $(INSTALL_LIBRARY) $$p "$(DESTDIR)$(pkglibdir)/$$p"; \
            ext=`echo $$p|sed -e "s/.*\.//"`; \
            if test "x$$ext" = "xdll"; then \
                lib=`basename $$p|sed -e 's/.[^.]*$$//'`.lib; \
                if test -f $$lib; then \
                    echo " $(INSTALL_DATA) $$lib $(DESTDIR)$(pkglibdir)/$$lib"; \
-                   $(INSTALL_DATA) $$lib $(DESTDIR)$(pkglibdir)/$$lib; \
+                   $(INSTALL_DATA) $$lib "$(DESTDIR)$(pkglibdir)/$$lib"; \
                fi; \
            fi; \
          fi; \
@@ -389,12 +425,12 @@ install-lib-binaries: binaries
          if test -f $(srcdir)/$$p; then \
            destp=`basename $$p`; \
            echo " Install $$destp $(DESTDIR)$(pkglibdir)/$$destp"; \
-           $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkglibdir)/$$destp; \
+           $(INSTALL_DATA) $(srcdir)/$$p "$(DESTDIR)$(pkglibdir)/$$destp"; \
          fi; \
        done
        @if test "x$(SHARED_BUILD)" = "x1"; then \
            echo " Install pkgIndex.tcl $(DESTDIR)$(pkglibdir)"; \
-           $(INSTALL_DATA) pkgIndex.tcl $(DESTDIR)$(pkglibdir); \
+           $(INSTALL_DATA) pkgIndex.tcl "$(DESTDIR)$(pkglibdir)"; \
        fi
 
 #========================================================================
@@ -407,33 +443,32 @@ install-lib-binaries: binaries
 #========================================================================
 
 install-bin-binaries: binaries
-       @mkdir -p $(DESTDIR)$(bindir)
+       @$(INSTALL_DATA_DIR) "$(DESTDIR)$(bindir)"
        @list='$(bin_BINARIES)'; for p in $$list; do \
          if test -f $$p; then \
            echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$p"; \
-           $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$p; \
+           $(INSTALL_PROGRAM) $$p "$(DESTDIR)$(bindir)/$$p"; \
          fi; \
        done
 
-.SUFFIXES: .c .$(OBJEXT)
-
 Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
        cd $(top_builddir) \
          && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
 uninstall-binaries:
        list='$(lib_BINARIES)'; for p in $$list; do \
-         rm -f $(DESTDIR)$(pkglibdir)/$$p; \
+         rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
        done
        list='$(PKG_TCL_SOURCES)'; for p in $$list; do \
          p=`basename $$p`; \
-         rm -f $(DESTDIR)$(pkglibdir)/$$p; \
+         rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
        done
        list='$(bin_BINARIES)'; for p in $$list; do \
-         rm -f $(DESTDIR)$(bindir)/$$p; \
+         rm -f "$(DESTDIR)$(bindir)/$$p"; \
        done
 
 .PHONY: all binaries clean depend distclean doc install libraries test
+.PHONY: gdb gdb-test valgrind valgrindshell
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index dae94f512e727265d61214ec01c65001ee8a6682..90f418f3e4eaae8d3b75d234b30264ef0146270b 100644 (file)
@@ -2,11 +2,9 @@
 dnl    This file is an input file used by the GNU "autoconf" program to
 dnl    generate the file "configure", which is run during Tcl installation
 dnl    to configure the system for the local environment.
-#
-# RCS: @(#) $Id: configure.in,v 1.43 2005/07/26 19:17:05 mdejong Exp $
 
 #-----------------------------------------------------------------------
-# Sample configure.in for Tcl Extensions.  The only places you should
+# Sample configure.ac for Tcl Extensions.  The only places you should
 # need to modify this file are marked by the string __CHANGE__
 #-----------------------------------------------------------------------
 
@@ -17,9 +15,11 @@ dnl  to configure the system for the local environment.
 # This initializes the environment with PACKAGE_NAME and PACKAGE_VERSION
 # set as provided.  These will also be added as -D defs in your Makefile
 # so you can encode the package version directly into the source files.
+# This will also define a special symbol for Windows (BUILD_<PACKAGE_NAME>
+# so that we create the export library with the dll.
 #-----------------------------------------------------------------------
 
-AC_INIT([sqlite], [3.32.0])
+AC_INIT([sqlite],[3.40.0])
 
 #--------------------------------------------------------------------
 # Call TEA_INIT as the first TEA_ macro to set up initial vars.
@@ -27,7 +27,7 @@ AC_INIT([sqlite], [3.32.0])
 # as well as PKG_LIB_FILE and PKG_STUB_LIB_FILE.
 #--------------------------------------------------------------------
 
-TEA_INIT([3.9])
+TEA_INIT()
 
 AC_CONFIG_AUX_DIR(tclconfig)
 
@@ -55,8 +55,8 @@ TEA_PREFIX
 #-----------------------------------------------------------------------
 # Standard compiler checks.
 # This sets up CC by using the CC env var, or looks for gcc otherwise.
-# This also calls AC_PROG_CC, AC_PROG_INSTALL and a few others to create
-# the basic setup necessary to compile executables.
+# This also calls AC_PROG_CC and a few others to create the basic setup
+# necessary to compile executables.
 #-----------------------------------------------------------------------
 
 TEA_SETUP_COMPILER
@@ -73,7 +73,7 @@ TEA_SETUP_COMPILER
 
 TEA_ADD_SOURCES([tclsqlite3.c])
 TEA_ADD_HEADERS([])
-TEA_ADD_INCLUDES([-I\"`\${CYGPATH} \${srcdir}/generic`\"])
+TEA_ADD_INCLUDES([])
 TEA_ADD_LIBS([])
 TEA_ADD_CFLAGS([-DSQLITE_ENABLE_FTS3=1])
 TEA_ADD_CFLAGS([-DSQLITE_3_SUFFIX_ONLY=1])
@@ -99,6 +99,31 @@ if test x$with_system_sqlite != xno; then
       LIBS="$LIBS -lsqlite3"])])
 fi
 
+#--------------------------------------------------------------------
+# __CHANGE__
+#
+# You can add more files to clean if your extension creates any extra
+# files by extending CLEANFILES.
+# Add pkgIndex.tcl if it is generated in the Makefile instead of ./configure
+# and change Makefile.in to move it from CONFIG_CLEAN_FILES to BINARIES var.
+#
+# A few miscellaneous platform-specific items:
+# TEA_ADD_* any platform specific compiler/build info here.
+#--------------------------------------------------------------------
+
+#CLEANFILES="$CLEANFILES pkgIndex.tcl"
+if test "${TEA_PLATFORM}" = "windows" ; then
+    # Ensure no empty if clauses
+    :
+    #TEA_ADD_SOURCES([win/winFile.c])
+    #TEA_ADD_INCLUDES([-I\"$(${CYGPATH} ${srcdir}/win)\"])
+else
+    # Ensure no empty else clauses
+    :
+    #TEA_ADD_SOURCES([unix/unixFile.c])
+    #TEA_ADD_LIBS([-lsuperfly])
+fi
+
 #--------------------------------------------------------------------
 # __CHANGE__
 # Choose which headers you need.  Extension authors should try very
@@ -151,28 +176,6 @@ TEA_CONFIG_CFLAGS
 
 TEA_ENABLE_SYMBOLS
 
-#--------------------------------------------------------------------
-# Everyone should be linking against the Tcl stub library.  If you
-# can't for some reason, remove this definition.  If you aren't using
-# stubs, you also need to modify the SHLIB_LD_LIBS setting below to
-# link against the non-stubbed Tcl library.  Add Tk too if necessary.
-#--------------------------------------------------------------------
-
-AC_DEFINE(USE_TCL_STUBS, 1, [Use Tcl stubs])
-#AC_DEFINE(USE_TK_STUBS, 1, [Use Tk stubs])
-
-
-#--------------------------------------------------------------------
-# Redefine fdatasync as fsync on systems that lack fdatasync
-#--------------------------------------------------------------------
-#
-#AC_CHECK_FUNC(fdatasync, , AC_DEFINE(fdatasync, fsync))
-# Check for library functions that SQLite can optionally use.
-AC_CHECK_FUNCS([fdatasync usleep fullfsync localtime_r gmtime_r])
-
-AC_FUNC_STRERROR_R
-
-
 #--------------------------------------------------------------------
 # This macro generates a line to use when building a library.  It
 # depends on values set by the TEA_ENABLE_SHARED, TEA_ENABLE_SYMBOLS,
@@ -193,9 +196,24 @@ TEA_PROG_TCLSH
 #TEA_PROG_WISH
 
 #--------------------------------------------------------------------
-# Finally, substitute all of the various values into the Makefile.
-# You may alternatively have a special pkgIndex.tcl.in or other files
-# which require substituting th AC variables in.  Include these here.
+# Setup a *Config.sh.in configuration file.
+#--------------------------------------------------------------------
+
+#TEA_EXPORT_CONFIG([sample])
+#AC_SUBST(SAMPLE_VAR)
+
+#--------------------------------------------------------------------
+# Specify files to substitute AC variables in. You may alternatively
+# have a special pkgIndex.tcl.in or other files which require
+# substituting the AC variables in. Include these here.
+#--------------------------------------------------------------------
+
+AC_CONFIG_FILES([Makefile pkgIndex.tcl])
+#AC_CONFIG_FILES([sampleConfig.sh])
+
+#--------------------------------------------------------------------
+# Finally, substitute all of the various values into the files
+# specified with AC_CONFIG_FILES.
 #--------------------------------------------------------------------
 
-AC_OUTPUT([Makefile pkgIndex.tcl])
+AC_OUTPUT
index bc585f73b3007cf63086532cddc38bfe4a246236..f95f7d3893dd3d6c49e74d706a34c5810650aca2 100644 (file)
@@ -1,7 +1,10 @@
+# -*- tcl -*-
+# Tcl package index file, version 1.1
 #
-# Tcl package index file
-#
-# Note sqlite*3* init specifically
-#
-package ifneeded sqlite3 @PACKAGE_VERSION@ \
-    [list load [file join $dir @PKG_LIB_FILE@] Sqlite3]
+if {[package vsatisfies [package provide Tcl] 9.0-]} {
+    package ifneeded sqlite3 @PACKAGE_VERSION@ \
+           [list load [file join $dir @PKG_LIB_FILE9@] sqlite3]
+} else {
+    package ifneeded sqlite3 @PACKAGE_VERSION@ \
+           [list load [file join $dir @PKG_LIB_FILE8@] sqlite3]
+}
index 4b4bd1e888964cc55c78a97591f40538cd5b21ec..c83d660e184a84075f275c9694afc22f0ddbe251 100644 (file)
@@ -9,16 +9,13 @@
 # See the file "license.terms" for information on usage and redistribution
 # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
-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.9"
+AC_PREREQ([2.69])
 
 # Possible values for key variables defined:
 #
 # TEA_WINDOWINGSYSTEM - win32 aqua x11 (mirrors 'tk windowingsystem')
 # TEA_PLATFORM        - windows unix
+# TEA_TK_EXTENSION    - True if this is a Tk extension
 #
 
 #------------------------------------------------------------------------
@@ -53,9 +50,9 @@ AC_DEFUN([TEA_PATH_TCLCONFIG], [
        # we reset no_tcl in case something fails here
        no_tcl=true
        AC_ARG_WITH(tcl,
-           AC_HELP_STRING([--with-tcl],
+           AS_HELP_STRING([--with-tcl],
                [directory containing tcl configuration (tclConfig.sh)]),
-           with_tclconfig="${withval}")
+           [with_tclconfig="${withval}"])
        AC_MSG_CHECKING([for Tcl configuration])
        AC_CACHE_VAL(ac_cv_c_tclconfig,[
 
@@ -107,7 +104,9 @@ AC_DEFUN([TEA_PATH_TCLCONFIG], [
                for i in `ls -d ~/Library/Frameworks 2>/dev/null` \
                        `ls -d /Library/Frameworks 2>/dev/null` \
                        `ls -d /Network/Library/Frameworks 2>/dev/null` \
-                       `ls -d /System/Library/Frameworks 2>/dev/null` \
+                       `ls -d /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/Library/Frameworks/Tcl.framework 2>/dev/null` \
+                       `ls -d /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/Network/Library/Frameworks/Tcl.framework 2>/dev/null` \
+                       `ls -d /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Tcl.framework 2>/dev/null` \
                        ; do
                    if test -f "$i/Tcl.framework/tclConfig.sh" ; then
                        ac_cv_c_tclconfig="`(cd $i/Tcl.framework; pwd)`"
@@ -136,10 +135,15 @@ AC_DEFUN([TEA_PATH_TCLCONFIG], [
                        `ls -d ${prefix}/lib 2>/dev/null` \
                        `ls -d /usr/local/lib 2>/dev/null` \
                        `ls -d /usr/contrib/lib 2>/dev/null` \
+                       `ls -d /usr/pkg/lib 2>/dev/null` \
                        `ls -d /usr/lib 2>/dev/null` \
                        `ls -d /usr/lib64 2>/dev/null` \
                        `ls -d /usr/lib/tcl8.6 2>/dev/null` \
                        `ls -d /usr/lib/tcl8.5 2>/dev/null` \
+                       `ls -d /usr/local/lib/tcl8.6 2>/dev/null` \
+                       `ls -d /usr/local/lib/tcl8.5 2>/dev/null` \
+                       `ls -d /usr/local/lib/tcl/tcl8.6 2>/dev/null` \
+                       `ls -d /usr/local/lib/tcl/tcl8.5 2>/dev/null` \
                        ; do
                    if test -f "$i/tclConfig.sh" ; then
                        ac_cv_c_tclconfig="`(cd $i; pwd)`"
@@ -208,9 +212,9 @@ AC_DEFUN([TEA_PATH_TKCONFIG], [
        # we reset no_tk in case something fails here
        no_tk=true
        AC_ARG_WITH(tk,
-           AC_HELP_STRING([--with-tk],
+           AS_HELP_STRING([--with-tk],
                [directory containing tk configuration (tkConfig.sh)]),
-           with_tkconfig="${withval}")
+           [with_tkconfig="${withval}"])
        AC_MSG_CHECKING([for Tk configuration])
        AC_CACHE_VAL(ac_cv_c_tkconfig,[
 
@@ -262,7 +266,6 @@ AC_DEFUN([TEA_PATH_TKCONFIG], [
                for i in `ls -d ~/Library/Frameworks 2>/dev/null` \
                        `ls -d /Library/Frameworks 2>/dev/null` \
                        `ls -d /Network/Library/Frameworks 2>/dev/null` \
-                       `ls -d /System/Library/Frameworks 2>/dev/null` \
                        ; do
                    if test -f "$i/Tk.framework/tkConfig.sh" ; then
                        ac_cv_c_tkconfig="`(cd $i/Tk.framework; pwd)`"
@@ -278,8 +281,15 @@ AC_DEFUN([TEA_PATH_TKCONFIG], [
                        `ls -d ${prefix}/lib 2>/dev/null` \
                        `ls -d /usr/local/lib 2>/dev/null` \
                        `ls -d /usr/contrib/lib 2>/dev/null` \
+                       `ls -d /usr/pkg/lib 2>/dev/null` \
+                       `ls -d /usr/lib/tk8.6 2>/dev/null` \
+                       `ls -d /usr/lib/tk8.5 2>/dev/null` \
                        `ls -d /usr/lib 2>/dev/null` \
                        `ls -d /usr/lib64 2>/dev/null` \
+                       `ls -d /usr/local/lib/tk8.6 2>/dev/null` \
+                       `ls -d /usr/local/lib/tk8.5 2>/dev/null` \
+                       `ls -d /usr/local/lib/tcl/tk8.6 2>/dev/null` \
+                       `ls -d /usr/local/lib/tcl/tk8.5 2>/dev/null` \
                        ; do
                    if test -f "$i/tkConfig.sh" ; then
                        ac_cv_c_tkconfig="`(cd $i; pwd)`"
@@ -348,6 +358,8 @@ AC_DEFUN([TEA_PATH_TKCONFIG], [
 #              TCL_BIN_DIR
 #              TCL_SRC_DIR
 #              TCL_LIB_FILE
+#              TCL_ZIP_FILE
+#              TCL_ZIPFS_SUPPORT
 #------------------------------------------------------------------------
 
 AC_DEFUN([TEA_LOAD_TCLCONFIG], [
@@ -360,10 +372,6 @@ AC_DEFUN([TEA_LOAD_TCLCONFIG], [
         AC_MSG_RESULT([could not find ${TCL_BIN_DIR}/tclConfig.sh])
     fi
 
-    # eval is required to do the TCL_DBGX substitution
-    eval "TCL_LIB_FILE=\"${TCL_LIB_FILE}\""
-    eval "TCL_STUB_LIB_FILE=\"${TCL_STUB_LIB_FILE}\""
-
     # If the TCL_BIN_DIR is the build directory (not the install directory),
     # then set the common variable name to the value of the build variables.
     # For example, the variable TCL_LIB_SPEC will be set to the value
@@ -397,12 +405,6 @@ AC_DEFUN([TEA_LOAD_TCLCONFIG], [
        esac
     fi
 
-    # eval is required to do the TCL_DBGX substitution
-    eval "TCL_LIB_FLAG=\"${TCL_LIB_FLAG}\""
-    eval "TCL_LIB_SPEC=\"${TCL_LIB_SPEC}\""
-    eval "TCL_STUB_LIB_FLAG=\"${TCL_STUB_LIB_FLAG}\""
-    eval "TCL_STUB_LIB_SPEC=\"${TCL_STUB_LIB_SPEC}\""
-
     AC_SUBST(TCL_VERSION)
     AC_SUBST(TCL_PATCH_LEVEL)
     AC_SUBST(TCL_BIN_DIR)
@@ -418,13 +420,18 @@ AC_DEFUN([TEA_LOAD_TCLCONFIG], [
 
     AC_MSG_CHECKING([platform])
     hold_cc=$CC; CC="$TCL_CC"
-    AC_TRY_COMPILE(,[
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
            #ifdef _WIN32
                #error win32
            #endif
-    ], TEA_PLATFORM="unix",
+       ]])],[
+           # first test we've already retrieved platform (cross-compile), fallback to unix otherwise:
+           TEA_PLATFORM="${TEA_PLATFORM-unix}"
+           CYGPATH=echo
+       ],[
            TEA_PLATFORM="windows"
-    )
+           AC_CHECK_PROG(CYGPATH, cygpath, cygpath -m, echo)
+    ])
     CC=$hold_cc
     AC_MSG_RESULT($TEA_PLATFORM)
 
@@ -473,10 +480,6 @@ AC_DEFUN([TEA_LOAD_TKCONFIG], [
         AC_MSG_RESULT([could not find ${TK_BIN_DIR}/tkConfig.sh])
     fi
 
-    # eval is required to do the TK_DBGX substitution
-    eval "TK_LIB_FILE=\"${TK_LIB_FILE}\""
-    eval "TK_STUB_LIB_FILE=\"${TK_STUB_LIB_FILE}\""
-
     # If the TK_BIN_DIR is the build directory (not the install directory),
     # then set the common variable name to the value of the build variables.
     # For example, the variable TK_LIB_SPEC will be set to the value
@@ -510,12 +513,6 @@ AC_DEFUN([TEA_LOAD_TKCONFIG], [
        esac
     fi
 
-    # eval is required to do the TK_DBGX substitution
-    eval "TK_LIB_FLAG=\"${TK_LIB_FLAG}\""
-    eval "TK_LIB_SPEC=\"${TK_LIB_SPEC}\""
-    eval "TK_STUB_LIB_FLAG=\"${TK_STUB_LIB_FLAG}\""
-    eval "TK_STUB_LIB_SPEC=\"${TK_STUB_LIB_SPEC}\""
-
     # TEA specific: Ensure windowingsystem is defined
     if test "${TEA_PLATFORM}" = "unix" ; then
        case ${TK_DEFS} in
@@ -572,16 +569,24 @@ AC_DEFUN([TEA_PROG_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}"
+          if test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${EXEEXT}" ; then
+            TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${EXEEXT}"
+          elif test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}s${EXEEXT}" ; then
+            TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}s${EXEEXT}"
+          elif test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}t${EXEEXT}" ; then
+            TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}t${EXEEXT}"
+          elif test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}st${EXEEXT}" ; then
+            TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}st${EXEEXT}"
+          fi
         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}"
+            TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${EXEEXT}"
         else
-            TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}${TCL_DBGX}"
+            TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}"
         fi
         list="`ls -d ${TCL_BIN_DIR}/../bin 2>/dev/null` \
               `ls -d ${TCL_BIN_DIR}/..     2>/dev/null` \
@@ -622,16 +627,24 @@ AC_DEFUN([TEA_PROG_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}"
+          if test -f "${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${EXEEXT}" ; then
+            WISH_PROG="${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${EXEEXT}"
+          elif test -f "${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}s${EXEEXT}" ; then
+            WISH_PROG="${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}$s{EXEEXT}"
+          elif test -f "${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}t${EXEEXT}" ; then
+            WISH_PROG="${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}t${EXEEXT}"
+          elif test -f "${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}st${EXEEXT}" ; then
+            WISH_PROG="${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}st${EXEEXT}"
+          fi
         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}"
+            WISH_PROG="wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${EXEEXT}"
         else
-            WISH_PROG="wish${TK_MAJOR_VERSION}.${TK_MINOR_VERSION}${TK_DBGX}"
+            WISH_PROG="wish${TK_MAJOR_VERSION}.${TK_MINOR_VERSION}"
         fi
         list="`ls -d ${TK_BIN_DIR}/../bin 2>/dev/null` \
               `ls -d ${TK_BIN_DIR}/..     2>/dev/null` \
@@ -660,6 +673,7 @@ AC_DEFUN([TEA_PROG_WISH], [
 #
 #      Adds the following arguments to configure:
 #              --enable-shared=yes|no
+#              --enable-stubs=yes|no
 #
 #      Defines the following vars:
 #              STATIC_BUILD    Used for building import/export libraries
@@ -667,31 +681,63 @@ AC_DEFUN([TEA_PROG_WISH], [
 #
 #      Sets the following vars:
 #              SHARED_BUILD    Value of 1 or 0
+#               STUBS_BUILD     Value if 1 or 0
+#               USE_TCL_STUBS   Value true: if SHARED_BUILD or --enable-stubs
+#               USE_TCLOO_STUBS Value true: if SHARED_BUILD or --enable-stubs
+#               USE_TK_STUBS    Value true: if SHARED_BUILD or --enable-stubs
+#                                AND TEA_WINDOWING_SYSTEM != ""
 #------------------------------------------------------------------------
-
 AC_DEFUN([TEA_ENABLE_SHARED], [
     AC_MSG_CHECKING([how to build libraries])
     AC_ARG_ENABLE(shared,
-       AC_HELP_STRING([--enable-shared],
+       AS_HELP_STRING([--enable-shared],
            [build and link with shared libraries (default: on)]),
-       [tcl_ok=$enableval], [tcl_ok=yes])
+       [shared_ok=$enableval], [shared_ok=yes])
 
     if test "${enable_shared+set}" = set; then
        enableval="$enable_shared"
-       tcl_ok=$enableval
+       shared_ok=$enableval
     else
-       tcl_ok=yes
+       shared_ok=yes
+    fi
+
+    AC_ARG_ENABLE(stubs,
+       AS_HELP_STRING([--enable-stubs],
+           [build and link with stub libraries. Always true for shared builds (default: on)]),
+       [stubs_ok=$enableval], [stubs_ok=yes])
+
+    if test "${enable_stubs+set}" = set; then
+       enableval="$enable_stubs"
+       stubs_ok=$enableval
+    else
+       stubs_ok=yes
     fi
 
-    if test "$tcl_ok" = "yes" ; then
+    # Stubs are always enabled for shared builds
+    if test "$shared_ok" = "yes" ; then
        AC_MSG_RESULT([shared])
        SHARED_BUILD=1
+        STUBS_BUILD=1
     else
        AC_MSG_RESULT([static])
        SHARED_BUILD=0
-       AC_DEFINE(STATIC_BUILD, 1, [Is this a static build?])
+       AC_DEFINE(STATIC_BUILD, 1, [This a static build])
+        if test "$stubs_ok" = "yes" ; then
+          STUBS_BUILD=1
+        else
+          STUBS_BUILD=0
+        fi
+    fi
+    if test "${STUBS_BUILD}" = "1" ; then
+      AC_DEFINE(USE_TCL_STUBS, 1, [Use Tcl stubs])
+      AC_DEFINE(USE_TCLOO_STUBS, 1, [Use TclOO stubs])
+      if test "${TEA_WINDOWINGSYSTEM}" != ""; then
+        AC_DEFINE(USE_TK_STUBS, 1, [Use Tk stubs])
+      fi
     fi
+
     AC_SUBST(SHARED_BUILD)
+    AC_SUBST(STUBS_BUILD)
 ])
 
 #------------------------------------------------------------------------
@@ -728,8 +774,8 @@ AC_DEFUN([TEA_ENABLE_SHARED], [
 
 AC_DEFUN([TEA_ENABLE_THREADS], [
     AC_ARG_ENABLE(threads,
-       AC_HELP_STRING([--enable-threads],
-           [build with threads]),
+       AS_HELP_STRING([--enable-threads],
+           [build with threads (default: on)]),
        [tcl_ok=$enableval], [tcl_ok=yes])
 
     if test "${enable_threads+set}" = set; then
@@ -813,14 +859,6 @@ AC_DEFUN([TEA_ENABLE_THREADS], [
     that IS thread-enabled.  It is recommended to use --enable-threads.])
            fi
            ;;
-       *)
-           if test "${TCL_THREADS}" = "1"; then
-               AC_MSG_WARN([
-    --enable-threads requested, but building against a Tcl that is NOT
-    thread-enabled.  This is an OK configuration that will also run in
-    a thread-enabled core.])
-           fi
-           ;;
     esac
     AC_SUBST(TCL_THREADS)
 ])
@@ -850,8 +888,6 @@ AC_DEFUN([TEA_ENABLE_THREADS], [
 #                              Sets to "$(CFLAGS_OPTIMIZE) -DNDEBUG" if false
 #              LDFLAGS_DEFAULT Sets to $(LDFLAGS_DEBUG) if true
 #                              Sets to $(LDFLAGS_OPTIMIZE) if false
-#              DBGX            Formerly used as debug library extension;
-#                              always blank now.
 #------------------------------------------------------------------------
 
 AC_DEFUN([TEA_ENABLE_SYMBOLS], [
@@ -859,14 +895,14 @@ AC_DEFUN([TEA_ENABLE_SYMBOLS], [
     AC_REQUIRE([TEA_CONFIG_CFLAGS])
     AC_MSG_CHECKING([for build with symbols])
     AC_ARG_ENABLE(symbols,
-       AC_HELP_STRING([--enable-symbols],
+       AS_HELP_STRING([--enable-symbols],
            [build with debugging symbols (default: off)]),
        [tcl_ok=$enableval], [tcl_ok=no])
-    DBGX=""
     if test "$tcl_ok" = "no"; then
        CFLAGS_DEFAULT="${CFLAGS_OPTIMIZE} -DNDEBUG"
        LDFLAGS_DEFAULT="${LDFLAGS_OPTIMIZE}"
        AC_MSG_RESULT([no])
+       AC_DEFINE(TCL_CFG_OPTIMIZED, 1, [Is this an optimized build?])
     else
        CFLAGS_DEFAULT="${CFLAGS_DEBUG}"
        LDFLAGS_DEFAULT="${LDFLAGS_DEBUG}"
@@ -874,13 +910,8 @@ 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(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?])
@@ -915,7 +946,7 @@ AC_DEFUN([TEA_ENABLE_SYMBOLS], [
 
 AC_DEFUN([TEA_ENABLE_LANGINFO], [
     AC_ARG_ENABLE(langinfo,
-       AC_HELP_STRING([--enable-langinfo],
+       AS_HELP_STRING([--enable-langinfo],
            [use nl_langinfo if possible to determine encoding at startup, otherwise use old heuristic (default: on)]),
        [langinfo_ok=$enableval], [langinfo_ok=yes])
 
@@ -926,7 +957,7 @@ AC_DEFUN([TEA_ENABLE_LANGINFO], [
     AC_MSG_CHECKING([whether to use nl_langinfo])
     if test "$langinfo_ok" = "yes"; then
        AC_CACHE_VAL(tcl_cv_langinfo_h, [
-           AC_TRY_COMPILE([#include <langinfo.h>], [nl_langinfo(CODESET);],
+           AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]], [[nl_langinfo(CODESET);]])],
                    [tcl_cv_langinfo_h=yes],[tcl_cv_langinfo_h=no])])
        AC_MSG_RESULT([$tcl_cv_langinfo_h])
        if test $tcl_cv_langinfo_h = yes; then
@@ -951,6 +982,7 @@ AC_DEFUN([TEA_ENABLE_LANGINFO], [
 #      Defines the following var:
 #
 #      system -        System/platform/version identification code.
+#
 #--------------------------------------------------------------------
 
 AC_DEFUN([TEA_CONFIG_SYSTEM], [
@@ -967,6 +999,9 @@ AC_DEFUN([TEA_CONFIG_SYSTEM], [
                if test "`uname -s`" = "AIX" ; then
                    tcl_cv_sys_version=AIX-`uname -v`.`uname -r`
                fi
+               if test "`uname -s`" = "NetBSD" -a -f /etc/debian_version ; then
+                   tcl_cv_sys_version=NetBSD-Debian
+               fi
            fi
        fi
     ])
@@ -1043,7 +1078,7 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
 
     AC_MSG_CHECKING([if 64bit support is requested])
     AC_ARG_ENABLE(64bit,
-       AC_HELP_STRING([--enable-64bit],
+       AS_HELP_STRING([--enable-64bit],
            [enable 64bit support (default: off)]),
        [do64bit=$enableval], [do64bit=no])
     AC_MSG_RESULT([$do64bit])
@@ -1052,7 +1087,7 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
 
     AC_MSG_CHECKING([if 64bit Sparc VIS support is requested])
     AC_ARG_ENABLE(64bit-vis,
-       AC_HELP_STRING([--enable-64bit-vis],
+       AS_HELP_STRING([--enable-64bit-vis],
            [enable 64bit Sparc VIS support (default: off)]),
        [do64bitVIS=$enableval], [do64bitVIS=no])
     AC_MSG_RESULT([$do64bitVIS])
@@ -1065,10 +1100,10 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
     AC_CACHE_CHECK([if compiler supports visibility "hidden"],
        tcl_cv_cc_visibility_hidden, [
        hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -Werror"
-       AC_TRY_LINK([
+       AC_LINK_IFELSE([AC_LANG_PROGRAM([[
            extern __attribute__((__visibility__("hidden"))) void f(void);
-           void f(void) {}], [f();], tcl_cv_cc_visibility_hidden=yes,
-           tcl_cv_cc_visibility_hidden=no)
+           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,
@@ -1081,22 +1116,11 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
 
     AC_MSG_CHECKING([if rpath support is requested])
     AC_ARG_ENABLE(rpath,
-       AC_HELP_STRING([--disable-rpath],
+       AS_HELP_STRING([--disable-rpath],
            [disable rpath support (default: on)]),
        [doRpath=$enableval], [doRpath=yes])
     AC_MSG_RESULT([$doRpath])
 
-    # 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,
-           AC_HELP_STRING([--enable-wince],
-               [enable Win/CE support (where applicable)]),
-           [doWince=$enableval], [doWince=no])
-       AC_MSG_RESULT([$doWince])
-    ])
-
     # Set the variable "system" to hold the name and version number
     # for the system.
 
@@ -1133,99 +1157,23 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
     AC_CHECK_TOOL(AR, ar)
     STLIB_LD='${AR} cr'
     LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH"
-    AS_IF([test "x$SHLIB_VERSION" = x],[SHLIB_VERSION="1.0"])
+    AS_IF([test "x$SHLIB_VERSION" = x],[SHLIB_VERSION=""],[SHLIB_VERSION=".$SHLIB_VERSION"])
     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.
-           # This magic is based on MS Platform SDK for Win2003 SP1 - hobbs
-           # MACHINE is IX86 for LINK, but this is used by the manifest,
-           # which requires x86|amd64|ia64.
            MACHINE="X86"
            if test "$do64bit" != "no" ; then
-               if test "x${MSSDK}x" = "xx" ; then
-                   MSSDK="C:/Progra~1/Microsoft Platform SDK"
-               fi
-               MSSDK=`echo "$MSSDK" | sed -e  's!\\\!/!g'`
-               PATH64=""
                case "$do64bit" in
                    amd64|x64|yes)
                        MACHINE="AMD64" ; # default to AMD64 64-bit build
-                       PATH64="${MSSDK}/Bin/Win64/x86/AMD64"
+                       ;;
+                   arm64|aarch64)
+                       MACHINE="ARM64"
                        ;;
                    ia64)
                        MACHINE="IA64"
-                       PATH64="${MSSDK}/Bin/Win64"
                        ;;
                esac
-               if test "$GCC" != "yes" -a ! -d "${PATH64}" ; then
-                   AC_MSG_WARN([Could not find 64-bit $MACHINE SDK to enable 64bit mode])
-                   AC_MSG_WARN([Ensure latest Platform SDK is installed])
-                   do64bit="no"
-               else
-                   AC_MSG_RESULT([   Using 64-bit $MACHINE mode])
-                   do64bit_ok="yes"
-               fi
-           fi
-
-           if test "$doWince" != "no" ; then
-               if test "$do64bit" != "no" ; then
-                   AC_MSG_ERROR([Windows/CE and 64-bit builds incompatible])
-               fi
-               if test "$GCC" = "yes" ; then
-                   AC_MSG_ERROR([Windows/CE and GCC builds incompatible])
-               fi
-               TEA_PATH_CELIB
-               # Set defaults for common evc4/PPC2003 setup
-               # Currently Tcl requires 300+, possibly 420+ for sockets
-               CEVERSION=420;          # could be 211 300 301 400 420 ...
-               TARGETCPU=ARMV4;        # could be ARMV4 ARM MIPS SH3 X86 ...
-               ARCH=ARM;               # could be ARM MIPS X86EM ...
-               PLATFORM="Pocket PC 2003"; # or "Pocket PC 2002"
-               if test "$doWince" != "yes"; then
-                   # If !yes then the user specified something
-                   # Reset ARCH to allow user to skip specifying it
-                   ARCH=
-                   eval `echo $doWince | awk -F, '{ \
-           if (length([$]1)) { printf "CEVERSION=\"%s\"\n", [$]1; \
-           if ([$]1 < 400)   { printf "PLATFORM=\"Pocket PC 2002\"\n" } }; \
-           if (length([$]2)) { printf "TARGETCPU=\"%s\"\n", toupper([$]2) }; \
-           if (length([$]3)) { printf "ARCH=\"%s\"\n", toupper([$]3) }; \
-           if (length([$]4)) { printf "PLATFORM=\"%s\"\n", [$]4 }; \
-                   }'`
-                   if test "x${ARCH}" = "x" ; then
-                       ARCH=$TARGETCPU;
-                   fi
-               fi
-               OSVERSION=WCE$CEVERSION;
-               if test "x${WCEROOT}" = "x" ; then
-                       WCEROOT="C:/Program Files/Microsoft eMbedded C++ 4.0"
-                   if test ! -d "${WCEROOT}" ; then
-                       WCEROOT="C:/Program Files/Microsoft eMbedded Tools"
-                   fi
-               fi
-               if test "x${SDKROOT}" = "x" ; then
-                   SDKROOT="C:/Program Files/Windows CE Tools"
-                   if test ! -d "${SDKROOT}" ; then
-                       SDKROOT="C:/Windows CE Tools"
-                   fi
-               fi
-               WCEROOT=`echo "$WCEROOT" | sed -e 's!\\\!/!g'`
-               SDKROOT=`echo "$SDKROOT" | sed -e 's!\\\!/!g'`
-               if test ! -d "${SDKROOT}/${OSVERSION}/${PLATFORM}/Lib/${TARGETCPU}" \
-                   -o ! -d "${WCEROOT}/EVC/${OSVERSION}/bin"; then
-                   AC_MSG_ERROR([could not find PocketPC SDK or target compiler to enable WinCE mode [$CEVERSION,$TARGETCPU,$ARCH,$PLATFORM]])
-                   doWince="no"
-               else
-                   # We could PATH_NOSPACE these, but that's not important,
-                   # as long as we quote them when used.
-                   CEINCLUDE="${SDKROOT}/${OSVERSION}/${PLATFORM}/include"
-                   if test -d "${CEINCLUDE}/${TARGETCPU}" ; then
-                       CEINCLUDE="${CEINCLUDE}/${TARGETCPU}"
-                   fi
-                   CELIBPATH="${SDKROOT}/${OSVERSION}/${PLATFORM}/Lib/${TARGETCPU}"
-               fi
            fi
 
            if test "$GCC" != "yes" ; then
@@ -1234,48 +1182,28 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
                else
                    runtime=-MD
                fi
+               case "x`echo \${VisualStudioVersion}`" in
+                   x1[[4-9]]*)
+                       lflags="${lflags} -nodefaultlib:libucrt.lib"
+                       TEA_ADD_LIBS([ucrt.lib])
+                   ;;
+                   *)
+                   ;;
+               esac
 
                 if test "$do64bit" != "no" ; then
-                   # All this magic is necessary for the Win64 SDK RC1 - hobbs
-                   CC="\"${PATH64}/cl.exe\""
-                   CFLAGS="${CFLAGS} -I\"${MSSDK}/Include\" -I\"${MSSDK}/Include/crt\" -I\"${MSSDK}/Include/crt/sys\""
-                   RC="\"${MSSDK}/bin/rc.exe\""
-                   lflags="-nologo -MACHINE:${MACHINE} -LIBPATH:\"${MSSDK}/Lib/${MACHINE}\""
-                   LINKBIN="\"${PATH64}/link.exe\""
+                   CC="cl.exe"
+                   RC="rc.exe"
+                   lflags="${lflags} -nologo -MACHINE:${MACHINE} "
+                   LINKBIN="link.exe"
                    CFLAGS_DEBUG="-nologo -Zi -Od -W3 ${runtime}d"
                    CFLAGS_OPTIMIZE="-nologo -O2 -W2 ${runtime}"
                    # Avoid 'unresolved external symbol __security_cookie'
                    # errors, c.f. http://support.microsoft.com/?id=894573
                    TEA_ADD_LIBS([bufferoverflowU.lib])
-               elif test "$doWince" != "no" ; then
-                   CEBINROOT="${WCEROOT}/EVC/${OSVERSION}/bin"
-                   if test "${TARGETCPU}" = "X86"; then
-                       CC="\"${CEBINROOT}/cl.exe\""
-                   else
-                       CC="\"${CEBINROOT}/cl${ARCH}.exe\""
-                   fi
-                   CFLAGS="$CFLAGS -I\"${CELIB_DIR}/inc\" -I\"${CEINCLUDE}\""
-                   RC="\"${WCEROOT}/Common/EVC/bin/rc.exe\""
-                   arch=`echo ${ARCH} | awk '{print tolower([$]0)}'`
-                   defs="${ARCH} _${ARCH}_ ${arch} PALM_SIZE _MT _WINDOWS"
-                   if test "${SHARED_BUILD}" = "1" ; then
-                       # Static CE builds require static celib as well
-                       defs="${defs} _DLL"
-                   fi
-                   for i in $defs ; do
-                       AC_DEFINE_UNQUOTED($i, 1, [WinCE def ]$i)
-                   done
-                   AC_DEFINE_UNQUOTED(_WIN32_WCE, $CEVERSION, [_WIN32_WCE version])
-                   AC_DEFINE_UNQUOTED(UNDER_CE, $CEVERSION, [UNDER_CE version])
-                   CFLAGS_DEBUG="-nologo -Zi -Od"
-                   CFLAGS_OPTIMIZE="-nologo -Ox"
-                   lversion=`echo ${CEVERSION} | sed -e 's/\(.\)\(..\)/\1\.\2/'`
-                   lflags="-MACHINE:${ARCH} -LIBPATH:\"${CELIBPATH}\" -subsystem:windowsce,${lversion} -nologo"
-                   LINKBIN="\"${CEBINROOT}/link.exe\""
-                   AC_SUBST(CELIB_DIR)
                else
                    RC="rc"
-                   lflags="-nologo"
+                   lflags="${lflags} -nologo"
                    LINKBIN="link"
                    CFLAGS_DEBUG="-nologo -Z7 -Od -W3 -WX ${runtime}d"
                    CFLAGS_OPTIMIZE="-nologo -O2 -W2 ${runtime}"
@@ -1294,25 +1222,32 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
 
                AC_CACHE_CHECK(for cross-compile version of gcc,
                        ac_cv_cross,
-                       AC_TRY_COMPILE([
+                       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
                            #ifdef _WIN32
                                #error cross-compiler
                            #endif
-                       ], [],
-                       ac_cv_cross=yes,
-                       ac_cv_cross=no)
+                       ]], [[]])],
+                       [ac_cv_cross=yes],
+                       [ac_cv_cross=no])
                      )
                      if test "$ac_cv_cross" = "yes"; then
                        case "$do64bit" in
                            amd64|x64|yes)
-                               CC="x86_64-w64-mingw32-gcc"
+                               CC="x86_64-w64-mingw32-${CC}"
                                LD="x86_64-w64-mingw32-ld"
                                AR="x86_64-w64-mingw32-ar"
                                RANLIB="x86_64-w64-mingw32-ranlib"
                                RC="x86_64-w64-mingw32-windres"
                            ;;
+                           arm64|aarch64)
+                               CC="aarch64-w64-mingw32-clang"
+                               LD="aarch64-w64-mingw32-ld"
+                               AR="aarch64-w64-mingw32-ar"
+                               RANLIB="aarch64-w64-mingw32-ranlib"
+                               RC="aarch64-w64-mingw32-windres"
+                           ;;
                            *)
-                               CC="i686-w64-mingw32-gcc"
+                               CC="i686-w64-mingw32-${CC}"
                                LD="i686-w64-mingw32-ld"
                                AR="i686-w64-mingw32-ar"
                                RANLIB="i686-w64-mingw32-ranlib"
@@ -1334,13 +1269,8 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
                # This essentially turns it all on.
                LDFLAGS_DEBUG="-debug -debugtype:cv"
                LDFLAGS_OPTIMIZE="-release"
-               if test "$doWince" != "no" ; then
-                   LDFLAGS_CONSOLE="-link ${lflags}"
-                   LDFLAGS_WINDOW=${LDFLAGS_CONSOLE}
-               else
-                   LDFLAGS_CONSOLE="-link -subsystem:console ${lflags}"
-                   LDFLAGS_WINDOW="-link -subsystem:windows ${lflags}"
-               fi
+               LDFLAGS_CONSOLE="-link -subsystem:console ${lflags}"
+               LDFLAGS_WINDOW="-link -subsystem:windows ${lflags}"
            fi
 
            SHLIB_SUFFIX=".dll"
@@ -1349,7 +1279,7 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
            TCL_LIB_VERSIONS_OK=nodots
            ;;
        AIX-*)
-           AS_IF([test "${TCL_THREADS}" = "1" -a "$GCC" != "yes"], [
+           AS_IF([test "$GCC" != "yes"], [
                # AIX requires the _r compiler when gcc isn't being used
                case "${CC}" in
                    *_r|*_r\ *)
@@ -1386,11 +1316,11 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
                # AIX-5 uses ELF style dynamic libraries on IA-64, but not PPC
                SHLIB_LD="/usr/ccs/bin/ld -G -z text"
                AS_IF([test "$GCC" = yes], [
-                   CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
+                   CC_SEARCH_FLAGS='"-Wl,-R,${LIB_RUNTIME_DIR}"'
                ], [
-                   CC_SEARCH_FLAGS='-R${LIB_RUNTIME_DIR}'
+                   CC_SEARCH_FLAGS='"-R${LIB_RUNTIME_DIR}"'
                ])
-               LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
+               LD_SEARCH_FLAGS='-R "${LIB_RUNTIME_DIR}"'
            ], [
                AS_IF([test "$GCC" = yes], [
                    SHLIB_LD='${CC} -shared -Wl,-bexpall'
@@ -1399,7 +1329,7 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
                    LDFLAGS="$LDFLAGS -brtl"
                ])
                SHLIB_LD="${SHLIB_LD} ${SHLIB_LD_FLAGS}"
-               CC_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'
+               CC_SEARCH_FLAGS='"-L${LIB_RUNTIME_DIR}"'
                LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
            ])
            ;;
@@ -1415,6 +1345,13 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
            #-----------------------------------------------------------
            AC_CHECK_LIB(bind, inet_ntoa, [LIBS="$LIBS -lbind -lsocket"])
            ;;
+       BSD/OS-2.1*|BSD/OS-3*)
+           SHLIB_CFLAGS=""
+           SHLIB_LD="shlicc -r"
+           SHLIB_SUFFIX=".so"
+           CC_SEARCH_FLAGS=""
+           LD_SEARCH_FLAGS=""
+           ;;
        BSD/OS-4.*)
            SHLIB_CFLAGS="-export-dynamic -fPIC"
            SHLIB_LD='${CC} -shared'
@@ -1427,16 +1364,25 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
            SHLIB_CFLAGS=""
            SHLIB_LD='${CC} -shared'
            SHLIB_SUFFIX=".dll"
+           SHLIB_LD_LIBS="${SHLIB_LD_LIBS} -Wl,--out-implib,\$[@].a"
            EXEEXT=".exe"
            do64bit_ok=yes
            CC_SEARCH_FLAGS=""
            LD_SEARCH_FLAGS=""
            ;;
+       dgux*)
+           SHLIB_CFLAGS="-K PIC"
+           SHLIB_LD='${CC} -G'
+           SHLIB_LD_LIBS=""
+           SHLIB_SUFFIX=".so"
+           CC_SEARCH_FLAGS=""
+           LD_SEARCH_FLAGS=""
+           ;;
        Haiku*)
            LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
            SHLIB_CFLAGS="-fPIC"
            SHLIB_SUFFIX=".so"
-           SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
+           SHLIB_LD='${CC} ${CFLAGS} ${LDFLAGS} -shared'
            AC_CHECK_LIB(network, inet_ntoa, [LIBS="$LIBS -lnetwork"])
            ;;
        HP-UX-*.11.*)
@@ -1448,18 +1394,16 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
 
            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)
            AS_IF([test "$tcl_ok" = yes], [
+               SHLIB_CFLAGS="+z"
+               SHLIB_LD="ld -b"
                LDFLAGS="$LDFLAGS -Wl,-E"
-               CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'
-               LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:.'
+               CC_SEARCH_FLAGS='"-Wl,+s,+b,${LIB_RUNTIME_DIR}:."'
+               LD_SEARCH_FLAGS='+s +b "${LIB_RUNTIME_DIR}:."'
                LD_LIBRARY_PATH_VAR="SHLIB_PATH"
            ])
            AS_IF([test "$GCC" = yes], [
@@ -1467,10 +1411,6 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
                LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
            ], [
                CFLAGS="$CFLAGS -z"
-               # Users may want PA-RISC 1.1/2.0 portable code - needs HP cc
-               #CFLAGS="$CFLAGS +DAportable"
-               SHLIB_CFLAGS="+z"
-               SHLIB_LD="ld -b"
            ])
 
            # Check to enable 64-bit flags for compiler/linker
@@ -1482,7 +1422,7 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
                            do64bit_ok=yes
                            SHLIB_LD='${CC} -shared'
                            AS_IF([test $doRpath = yes], [
-                               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
+                               CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'])
                            LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
                            ;;
                        *)
@@ -1495,13 +1435,34 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
                    LDFLAGS_ARCH="+DD64"
                ])
            ]) ;;
+       HP-UX-*.08.*|HP-UX-*.09.*|HP-UX-*.10.*)
+           SHLIB_SUFFIX=".sl"
+           AC_CHECK_LIB(dld, shl_load, tcl_ok=yes, tcl_ok=no)
+           AS_IF([test "$tcl_ok" = yes], [
+               SHLIB_CFLAGS="+z"
+               SHLIB_LD="ld -b"
+               SHLIB_LD_LIBS=""
+               LDFLAGS="$LDFLAGS -Wl,-E"
+               CC_SEARCH_FLAGS='"-Wl,+s,+b,${LIB_RUNTIME_DIR}:."'
+               LD_SEARCH_FLAGS='+s +b "${LIB_RUNTIME_DIR}:."'
+               LD_LIBRARY_PATH_VAR="SHLIB_PATH"
+           ]) ;;
+       IRIX-5.*)
+           SHLIB_CFLAGS=""
+           SHLIB_LD="ld -shared -rdata_shared"
+           SHLIB_SUFFIX=".so"
+           AC_LIBOBJ(mkstemp)
+           AS_IF([test $doRpath = yes], [
+               CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'
+               LD_SEARCH_FLAGS='-rpath "${LIB_RUNTIME_DIR}"'])
+           ;;
        IRIX-6.*)
            SHLIB_CFLAGS=""
            SHLIB_LD="ld -n32 -shared -rdata_shared"
            SHLIB_SUFFIX=".so"
            AS_IF([test $doRpath = yes], [
-               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-               LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'])
+               CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'
+               LD_SEARCH_FLAGS='-rpath "${LIB_RUNTIME_DIR}"'])
            AS_IF([test "$GCC" = yes], [
                CFLAGS="$CFLAGS -mabi=n32"
                LDFLAGS="$LDFLAGS -mabi=n32"
@@ -1523,8 +1484,8 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
            SHLIB_LD="ld -n32 -shared -rdata_shared"
            SHLIB_SUFFIX=".so"
            AS_IF([test $doRpath = yes], [
-               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-               LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'])
+               CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'
+               LD_SEARCH_FLAGS='-rpath "${LIB_RUNTIME_DIR}"'])
 
            # Check to enable 64-bit flags for compiler/linker
 
@@ -1539,7 +1500,7 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
                ])
            ])
            ;;
-       Linux*|GNU*|NetBSD-Debian)
+       Linux*|GNU*|NetBSD-Debian|DragonFly-*|FreeBSD-*)
            SHLIB_CFLAGS="-fPIC"
            SHLIB_SUFFIX=".so"
 
@@ -1547,17 +1508,29 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
            CFLAGS_OPTIMIZE="-O2 -fomit-frame-pointer"
 
            # TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS
-           SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS_DEFAULT}'
+           SHLIB_LD='${CC} ${CFLAGS} ${LDFLAGS_DEFAULT} -shared'
            LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
+
+           case $system in
+           DragonFly-*|FreeBSD-*)
+               AS_IF([test "${TCL_THREADS}" = "1"], [
+                   # The -pthread needs to go in the LDFLAGS, not LIBS
+                   LIBS=`echo $LIBS | sed s/-pthread//`
+                   CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+                   LDFLAGS="$LDFLAGS $PTHREAD_LIBS"])
+           ;;
+            esac
+
            AS_IF([test $doRpath = yes], [
-               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
+               CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'])
            LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
            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)
+                   AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
+                           [tcl_cv_cc_m64=yes],[tcl_cv_cc_m64=no])
                    CFLAGS=$hold_cflags])
                AS_IF([test $tcl_cv_cc_m64 = yes], [
                    CFLAGS="$CFLAGS -m64"
@@ -1580,42 +1553,31 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
            SHLIB_LD='${CC} -shared'
            LD_FLAGS="-Wl,--export-dynamic"
            AS_IF([test $doRpath = yes], [
-               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-               LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
+               CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'
+               LD_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'])
            ;;
        OpenBSD-*)
            arch=`arch -s`
            case "$arch" in
-           vax)
-               SHLIB_SUFFIX=""
-               SHARED_LIB_SUFFIX=""
-               LDFLAGS=""
-               ;;
-           *)
+           alpha|sparc64)
                SHLIB_CFLAGS="-fPIC"
-               SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}'
-               SHLIB_SUFFIX=".so"
-               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.${SHLIB_VERSION}'
-               LDFLAGS="-Wl,-export-dynamic"
-               ;;
-           esac
-           case "$arch" in
-           vax)
-               CFLAGS_OPTIMIZE="-O1"
                ;;
            *)
-               CFLAGS_OPTIMIZE="-O2"
+               SHLIB_CFLAGS="-fpic"
                ;;
            esac
-           AS_IF([test "${TCL_THREADS}" = "1"], [
-               # On OpenBSD:   Compile with -pthread
-               #               Don't link with -lpthread
-               LIBS=`echo $LIBS | sed s/-lpthread//`
-               CFLAGS="$CFLAGS -pthread"
-           ])
+           SHLIB_LD='${CC} ${SHLIB_CFLAGS} -shared'
+           SHLIB_SUFFIX=".so"
+           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${SHLIB_VERSION}'
+           LDFLAGS="$LDFLAGS -Wl,-export-dynamic"
+           CFLAGS_OPTIMIZE="-O2"
+           # On OpenBSD:       Compile with -pthread
+           #           Don't link with -lpthread
+           LIBS=`echo $LIBS | sed s/-lpthread//`
+           CFLAGS="$CFLAGS -pthread"
            # OpenBSD doesn't do version numbers with dots.
            UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
            TCL_LIB_VERSIONS_OK=nodots
@@ -1623,44 +1585,16 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
        NetBSD-*)
            # NetBSD has ELF and can use 'cc -shared' to build shared libs
            SHLIB_CFLAGS="-fPIC"
-           SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}'
+           SHLIB_LD='${CC} ${SHLIB_CFLAGS} -shared'
            SHLIB_SUFFIX=".so"
            LDFLAGS="$LDFLAGS -export-dynamic"
            AS_IF([test $doRpath = yes], [
-               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
+               CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'])
            LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-           AS_IF([test "${TCL_THREADS}" = "1"], [
-               # The -pthread needs to go in the CFLAGS, not LIBS
-               LIBS=`echo $LIBS | sed s/-pthread//`
-               CFLAGS="$CFLAGS -pthread"
-               LDFLAGS="$LDFLAGS -pthread"
-           ])
-           ;;
-       FreeBSD-*)
-           # This configuration from FreeBSD Ports.
-           SHLIB_CFLAGS="-fPIC"
-           SHLIB_LD="${CC} -shared"
-           TCL_SHLIB_LD_EXTRAS="-Wl,-soname=\$[@]"
-           TK_SHLIB_LD_EXTRAS="-Wl,-soname,\$[@]"
-           SHLIB_SUFFIX=".so"
-           LDFLAGS=""
-           AS_IF([test $doRpath = yes], [
-               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-               LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
-           AS_IF([test "${TCL_THREADS}" = "1"], [
-               # The -pthread needs to go in the LDFLAGS, not LIBS
-               LIBS=`echo $LIBS | sed s/-pthread//`
-               CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-               LDFLAGS="$LDFLAGS $PTHREAD_LIBS"])
-           case $system in
-           FreeBSD-3.*)
-               # Version numbers are dot-stripped by system policy.
-               TCL_TRIM_DOTS=`echo ${VERSION} | tr -d .`
-               UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
-               SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so'
-               TCL_LIB_VERSIONS_OK=nodots
-               ;;
-           esac
+           # The -pthread needs to go in the CFLAGS, not LIBS
+           LIBS=`echo $LIBS | sed s/-pthread//`
+           CFLAGS="$CFLAGS -pthread"
+           LDFLAGS="$LDFLAGS -pthread"
            ;;
        Darwin-*)
            CFLAGS_OPTIMIZE="-Os"
@@ -1681,8 +1615,8 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
                                tcl_cv_cc_arch_ppc64, [
                            hold_cflags=$CFLAGS
                            CFLAGS="$CFLAGS -arch ppc64 -mpowerpc64 -mcpu=G5"
-                           AC_TRY_LINK(,, tcl_cv_cc_arch_ppc64=yes,
-                                   tcl_cv_cc_arch_ppc64=no)
+                           AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
+                                   [tcl_cv_cc_arch_ppc64=yes],[tcl_cv_cc_arch_ppc64=no])
                            CFLAGS=$hold_cflags])
                        AS_IF([test $tcl_cv_cc_arch_ppc64 = yes], [
                            CFLAGS="$CFLAGS -arch ppc64 -mpowerpc64 -mcpu=G5"
@@ -1693,8 +1627,8 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
                                tcl_cv_cc_arch_x86_64, [
                            hold_cflags=$CFLAGS
                            CFLAGS="$CFLAGS -arch x86_64"
-                           AC_TRY_LINK(,, tcl_cv_cc_arch_x86_64=yes,
-                                   tcl_cv_cc_arch_x86_64=no)
+                           AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
+                                   [tcl_cv_cc_arch_x86_64=yes],[tcl_cv_cc_arch_x86_64=no])
                            CFLAGS=$hold_cflags])
                        AS_IF([test $tcl_cv_cc_arch_x86_64 = yes], [
                            CFLAGS="$CFLAGS -arch x86_64"
@@ -1714,7 +1648,8 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
            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)
+               AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[int i;]])],
+                       [tcl_cv_ld_single_module=yes],[tcl_cv_ld_single_module=no])
                LDFLAGS=$hold_ldflags])
            AS_IF([test $tcl_cv_ld_single_module = yes], [
                SHLIB_LD="${SHLIB_LD} -Wl,-single_module"
@@ -1723,17 +1658,13 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
            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_SUFFIX=".dylib"
-           # Don't use -prebind when building for Mac OS X 10.4 or later only:
-           AS_IF([test "`echo "${MACOSX_DEPLOYMENT_TARGET}" | awk -F '10\\.' '{print int([$]2)}'`" -lt 4 -a \
-               "`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, [
                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_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[int i;]])],
+                       [tcl_cv_ld_search_paths_first=yes],[tcl_cv_ld_search_paths_first=no])
                LDFLAGS=$hold_ldflags])
            AS_IF([test $tcl_cv_ld_search_paths_first = yes], [
                LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
@@ -1756,8 +1687,8 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
                        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)
+                       AC_LINK_IFELSE([AC_LANG_PROGRAM([[#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])
@@ -1769,8 +1700,8 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
                        done
                        CPPFLAGS="$CPPFLAGS -DUSE_TCL_STUBS=1 -DUSE_TK_STUBS=1 ${TCL_INCLUDES} ${TK_INCLUDES}"
                        LDFLAGS="$LDFLAGS ${TCL_STUB_LIB_SPEC} ${TK_STUB_LIB_SPEC}"
-                       AC_TRY_LINK([#include <tk.h>], [Tk_InitStubs(NULL, "", 0);],
-                           tcl_cv_lib_tk_64=yes, tcl_cv_lib_tk_64=no)
+                       AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <tk.h>]], [[Tk_InitStubs(NULL, "", 0);]])],
+                           [tcl_cv_lib_tk_64=yes],[tcl_cv_lib_tk_64=no])
                        for v in CFLAGS CPPFLAGS LDFLAGS; do
                            eval $v'="$hold_'$v'"'
                        done])
@@ -1799,21 +1730,19 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
            ])
            SHLIB_SUFFIX=".so"
            AS_IF([test $doRpath = yes], [
-               CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+               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
-           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//`
-               AS_IF([test "$GCC" = yes], [
-                   LIBS="$LIBS -lpthread -lmach -lexc"
-               ], [
-                   CFLAGS="$CFLAGS -pthread"
-                   LDFLAGS="$LDFLAGS -pthread"
-               ])
+           CFLAGS="$CFLAGS -DHAVE_PTHREAD_ATTR_SETSTACKSIZE"
+           CFLAGS="$CFLAGS -DTCL_THREAD_STACK_MIN=PTHREAD_STACK_MIN*64"
+           LIBS=`echo $LIBS | sed s/-lpthreads//`
+           AS_IF([test "$GCC" = yes], [
+               LIBS="$LIBS -lpthread -lmach -lexc"
+           ], [
+               CFLAGS="$CFLAGS -pthread"
+               LDFLAGS="$LDFLAGS -pthread"
            ])
            ;;
        QNX-6*)
@@ -1854,11 +1783,11 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
            SHLIB_SUFFIX=".so"
            AS_IF([test "$GCC" = yes], [
                SHLIB_LD='${CC} -shared'
-               CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
+               CC_SEARCH_FLAGS='"-Wl,-R,${LIB_RUNTIME_DIR}"'
                LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
            ], [
                SHLIB_LD="/usr/ccs/bin/ld -G -z text"
-               CC_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
+               CC_SEARCH_FLAGS='-R "${LIB_RUNTIME_DIR}"'
                LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
            ])
            ;;
@@ -1924,7 +1853,7 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
            SHLIB_SUFFIX=".so"
            AS_IF([test "$GCC" = yes], [
                SHLIB_LD='${CC} -shared'
-               CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
+               CC_SEARCH_FLAGS='"-Wl,-R,${LIB_RUNTIME_DIR}"'
                LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
                AS_IF([test "$do64bit_ok" = yes], [
                    AS_IF([test "$arch" = "sparcv9 sparc"], [
@@ -1951,8 +1880,8 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
                    *)
                        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}'
+               CC_SEARCH_FLAGS='"-Wl,-R,${LIB_RUNTIME_DIR}"'
+               LD_SEARCH_FLAGS='-R "${LIB_RUNTIME_DIR}"'
            ])
            ;;
        UNIX_SV* | UnixWare-5*)
@@ -1965,7 +1894,8 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
            AC_CACHE_CHECK([for ld accepts -Bexport flag], tcl_cv_ld_Bexport, [
                hold_ldflags=$LDFLAGS
                LDFLAGS="$LDFLAGS -Wl,-Bexport"
-               AC_TRY_LINK(, [int i;], tcl_cv_ld_Bexport=yes, tcl_cv_ld_Bexport=no)
+               AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[int i;]])],
+                       [tcl_cv_ld_Bexport=yes],[tcl_cv_ld_Bexport=no])
                LDFLAGS=$hold_ldflags])
            AS_IF([test $tcl_cv_ld_Bexport = yes], [
                LDFLAGS="$LDFLAGS -Wl,-Bexport"
@@ -1997,9 +1927,9 @@ dnl # preprocessing tests use only CPPFLAGS.
        case $system in
            AIX-*) ;;
            BSD/OS*) ;;
-           CYGWIN_*|MINGW32_*) ;;
+           CYGWIN_*|MINGW32_*|MINGW64_*|MSYS_*) ;;
            IRIX*) ;;
-           NetBSD-*|FreeBSD-*|OpenBSD-*) ;;
+           NetBSD-*|DragonFly-*|FreeBSD-*|OpenBSD-*) ;;
            Darwin-*) ;;
            SCO_SV-3.2*) ;;
            windows) ;;
@@ -2021,7 +1951,7 @@ dnl # preprocessing tests use only CPPFLAGS.
     if test "${GCC}" = "yes" -a ${SHLIB_SUFFIX} = ".dll"; then
        AC_CACHE_CHECK(for SEH support in compiler,
            tcl_cv_seh,
-       AC_TRY_RUN([
+       AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 #undef WIN32_LEAN_AND_MEAN
@@ -2036,10 +1966,10 @@ dnl # preprocessing tests use only CPPFLAGS.
                }
                return 1;
            }
-       ],
-           tcl_cv_seh=yes,
-           tcl_cv_seh=no,
-           tcl_cv_seh=no)
+       ]])],
+           [tcl_cv_seh=yes],
+           [tcl_cv_seh=no],
+           [tcl_cv_seh=no])
        )
        if test "$tcl_cv_seh" = "no" ; then
            AC_DEFINE(HAVE_NO_SEH, 1,
@@ -2054,15 +1984,15 @@ dnl # preprocessing tests use only CPPFLAGS.
        #
        AC_CACHE_CHECK(for EXCEPTION_DISPOSITION support in include files,
            tcl_cv_eh_disposition,
-           AC_TRY_COMPILE([
+           AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 #          define WIN32_LEAN_AND_MEAN
 #          include <windows.h>
 #          undef WIN32_LEAN_AND_MEAN
-           ],[
+           ]], [[
                EXCEPTION_DISPOSITION x;
-           ],
-               tcl_cv_eh_disposition=yes,
-               tcl_cv_eh_disposition=no)
+           ]])],
+               [tcl_cv_eh_disposition=yes],
+               [tcl_cv_eh_disposition=no])
        )
        if test "$tcl_cv_eh_disposition" = "no" ; then
        AC_DEFINE(EXCEPTION_DISPOSITION, int,
@@ -2075,18 +2005,18 @@ dnl # preprocessing tests use only CPPFLAGS.
 
        AC_CACHE_CHECK(for winnt.h that ignores VOID define,
            tcl_cv_winnt_ignore_void,
-           AC_TRY_COMPILE([
+           AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 #define VOID void
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 #undef WIN32_LEAN_AND_MEAN
-           ][
+           ]], [[
                CHAR c;
                SHORT s;
                LONG l;
-           ],
-        tcl_cv_winnt_ignore_void=yes,
-        tcl_cv_winnt_ignore_void=no)
+           ]])],
+        [tcl_cv_winnt_ignore_void=yes],
+        [tcl_cv_winnt_ignore_void=no])
        )
        if test "$tcl_cv_winnt_ignore_void" = "yes" ; then
            AC_DEFINE(HAVE_WINNT_IGNORE_VOID, 1,
@@ -2100,22 +2030,25 @@ dnl # preprocessing tests use only CPPFLAGS.
 
        AC_CACHE_CHECK(for cast to union support,
            tcl_cv_cast_to_union,
-           AC_TRY_COMPILE([],
-           [
+           AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
                  union foo { int i; double d; };
                  union foo f = (union foo) (int) 0;
-           ],
-           tcl_cv_cast_to_union=yes,
-           tcl_cv_cast_to_union=no)
+           ]])],
+           [tcl_cv_cast_to_union=yes],
+           [tcl_cv_cast_to_union=no])
        )
        if test "$tcl_cv_cast_to_union" = "yes"; then
            AC_DEFINE(HAVE_CAST_TO_UNION, 1,
                    [Defined when compiler supports casting to union type.])
        fi
 
+       AC_CHECK_HEADER(stdbool.h, [AC_DEFINE(HAVE_STDBOOL_H, 1, [Do we have <stdbool.h>?])],)
+
     AC_SUBST(CFLAGS_DEBUG)
     AC_SUBST(CFLAGS_OPTIMIZE)
     AC_SUBST(CFLAGS_WARNING)
+    AC_SUBST(LDFLAGS_DEBUG)
+    AC_SUBST(LDFLAGS_OPTIMIZE)
 
     AC_SUBST(STLIB_LD)
     AC_SUBST(SHLIB_LD)
@@ -2155,7 +2088,7 @@ dnl # preprocessing tests use only CPPFLAGS.
 AC_DEFUN([TEA_SERIAL_PORT], [
     AC_CHECK_HEADERS(sys/modem.h)
     AC_CACHE_CHECK([termios vs. termio vs. sgtty], tcl_cv_api_serial, [
-    AC_TRY_RUN([
+    AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #include <termios.h>
 
 int main() {
@@ -2166,9 +2099,9 @@ int main() {
        return 0;
     }
     return 1;
-}], tcl_cv_api_serial=termios, tcl_cv_api_serial=no, tcl_cv_api_serial=no)
+}]])],[tcl_cv_api_serial=termios],[tcl_cv_api_serial=no],[tcl_cv_api_serial=no])
     if test $tcl_cv_api_serial = no ; then
-       AC_TRY_RUN([
+       AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #include <termio.h>
 
 int main() {
@@ -2178,10 +2111,10 @@ int main() {
        return 0;
     }
     return 1;
-}], tcl_cv_api_serial=termio, tcl_cv_api_serial=no, tcl_cv_api_serial=no)
+}]])],[tcl_cv_api_serial=termio],[tcl_cv_api_serial=no],[tcl_cv_api_serial=no])
     fi
     if test $tcl_cv_api_serial = no ; then
-       AC_TRY_RUN([
+       AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #include <sgtty.h>
 
 int main() {
@@ -2192,10 +2125,10 @@ int main() {
        return 0;
     }
     return 1;
-}], tcl_cv_api_serial=sgtty, tcl_cv_api_serial=no, tcl_cv_api_serial=no)
+}]])],[tcl_cv_api_serial=sgtty],[tcl_cv_api_serial=no],[tcl_cv_api_serial=no])
     fi
     if test $tcl_cv_api_serial = no ; then
-       AC_TRY_RUN([
+       AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #include <termios.h>
 #include <errno.h>
 
@@ -2208,10 +2141,10 @@ int main() {
        return 0;
     }
     return 1;
-}], tcl_cv_api_serial=termios, tcl_cv_api_serial=no, tcl_cv_api_serial=no)
+}]])],[tcl_cv_api_serial=termios],[tcl_cv_api_serial=no],[tcl_cv_api_serial=no])
     fi
     if test $tcl_cv_api_serial = no; then
-       AC_TRY_RUN([
+       AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #include <termio.h>
 #include <errno.h>
 
@@ -2223,10 +2156,10 @@ int main() {
        return 0;
     }
     return 1;
-    }], tcl_cv_api_serial=termio, tcl_cv_api_serial=no, tcl_cv_api_serial=no)
+    }]])],[tcl_cv_api_serial=termio],[tcl_cv_api_serial=no],[tcl_cv_api_serial=no])
     fi
     if test $tcl_cv_api_serial = no; then
-       AC_TRY_RUN([
+       AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #include <sgtty.h>
 #include <errno.h>
 
@@ -2239,7 +2172,7 @@ int main() {
        return 0;
     }
     return 1;
-}], tcl_cv_api_serial=sgtty, tcl_cv_api_serial=none, tcl_cv_api_serial=none)
+}]])],[tcl_cv_api_serial=sgtty],[tcl_cv_api_serial=none],[tcl_cv_api_serial=none])
     fi])
     case $tcl_cv_api_serial in
        termios) AC_DEFINE(USE_TERMIOS, 1, [Use the termios API for serial lines]);;
@@ -2248,97 +2181,6 @@ int main() {
     esac
 ])
 
-#--------------------------------------------------------------------
-# TEA_MISSING_POSIX_HEADERS
-#
-#      Supply substitutes for missing POSIX header files.  Special
-#      notes:
-#          - stdlib.h doesn't define strtol, strtoul, or
-#            strtod in some versions of SunOS
-#          - some versions of string.h don't declare procedures such
-#            as strstr
-#
-# Arguments:
-#      none
-#
-# Results:
-#
-#      Defines some of the following vars:
-#              NO_DIRENT_H
-#              NO_ERRNO_H
-#              NO_VALUES_H
-#              HAVE_LIMITS_H or NO_LIMITS_H
-#              NO_STDLIB_H
-#              NO_STRING_H
-#              NO_SYS_WAIT_H
-#              NO_DLFCN_H
-#              HAVE_SYS_PARAM_H
-#
-#              HAVE_STRING_H ?
-#
-# tkUnixPort.h checks for HAVE_LIMITS_H, so do both HAVE and
-# CHECK on limits.h
-#--------------------------------------------------------------------
-
-AC_DEFUN([TEA_MISSING_POSIX_HEADERS], [
-    AC_CACHE_CHECK([dirent.h], tcl_cv_dirent_h, [
-    AC_TRY_LINK([#include <sys/types.h>
-#include <dirent.h>], [
-#ifndef _POSIX_SOURCE
-#   ifdef __Lynx__
-       /*
-        * Generate compilation error to make the test fail:  Lynx headers
-        * are only valid if really in the POSIX environment.
-        */
-
-       missing_procedure();
-#   endif
-#endif
-DIR *d;
-struct dirent *entryPtr;
-char *p;
-d = opendir("foobar");
-entryPtr = readdir(d);
-p = entryPtr->d_name;
-closedir(d);
-], tcl_cv_dirent_h=yes, tcl_cv_dirent_h=no)])
-
-    if test $tcl_cv_dirent_h = no; then
-       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>?])])
-    AC_CHECK_HEADER(limits.h,
-       [AC_DEFINE(HAVE_LIMITS_H, 1, [Do we have <limits.h>?])],
-       [AC_DEFINE(NO_LIMITS_H, 1, [Do we have <limits.h>?])])
-    AC_CHECK_HEADER(stdlib.h, tcl_ok=1, tcl_ok=0)
-    AC_EGREP_HEADER(strtol, stdlib.h, , tcl_ok=0)
-    AC_EGREP_HEADER(strtoul, stdlib.h, , tcl_ok=0)
-    AC_EGREP_HEADER(strtod, stdlib.h, , tcl_ok=0)
-    if test $tcl_ok = 0; then
-       AC_DEFINE(NO_STDLIB_H, 1, [Do we have <stdlib.h>?])
-    fi
-    AC_CHECK_HEADER(string.h, tcl_ok=1, tcl_ok=0)
-    AC_EGREP_HEADER(strstr, string.h, , tcl_ok=0)
-    AC_EGREP_HEADER(strerror, string.h, , tcl_ok=0)
-
-    # See also memmove check below for a place where NO_STRING_H can be
-    # set and why.
-
-    if test $tcl_ok = 0; then
-       AC_DEFINE(NO_STRING_H, 1, [Do we have <string.h>?])
-    fi
-
-    AC_CHECK_HEADER(sys/wait.h, , [AC_DEFINE(NO_SYS_WAIT_H, 1, [Do we have <sys/wait.h>?])])
-    AC_CHECK_HEADER(dlfcn.h, , [AC_DEFINE(NO_DLFCN_H, 1, [Do we have <dlfcn.h>?])])
-
-    # OS/390 lacks sys/param.h (and doesn't need it, by chance).
-    AC_HAVE_HEADERS(sys/param.h)
-])
-
 #--------------------------------------------------------------------
 # TEA_PATH_X
 #
@@ -2374,7 +2216,7 @@ AC_DEFUN([TEA_PATH_UNIX_X], [
     not_really_there=""
     if test "$no_x" = ""; then
        if test "$x_includes" = ""; then
-           AC_TRY_CPP([#include <X11/Xlib.h>], , not_really_there="yes")
+           AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <X11/Xlib.h>]])],[],[not_really_there="yes"])
        else
            if test ! -r $x_includes/X11/Xlib.h; then
                not_really_there="yes"
@@ -2384,7 +2226,7 @@ AC_DEFUN([TEA_PATH_UNIX_X], [
     if test "$no_x" = "yes" -o "$not_really_there" = "yes"; then
        AC_MSG_CHECKING([for X11 header files])
        found_xincludes="no"
-       AC_TRY_CPP([#include <X11/Xlib.h>], found_xincludes="yes", found_xincludes="no")
+       AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <X11/Xlib.h>]])],[found_xincludes="yes"],[found_xincludes="no"])
        if test "$found_xincludes" = "no"; then
            dirs="/usr/unsupported/include /usr/local/include /usr/X386/include /usr/X11R6/include /usr/X11R5/include /usr/include/X11R5 /usr/include/X11R4 /usr/openwin/include /usr/X11/include /usr/sww/include"
            for i in $dirs ; do
@@ -2490,6 +2332,7 @@ AC_DEFUN([TEA_BLOCKING_STYLE], [
 #              HAVE_TM_GMTOFF
 #              HAVE_TM_TZADJ
 #              HAVE_TIMEZONE_VAR
+#
 #--------------------------------------------------------------------
 
 AC_DEFUN([TEA_TIME_HANDLER], [
@@ -2497,18 +2340,20 @@ AC_DEFUN([TEA_TIME_HANDLER], [
     AC_HEADER_TIME
     AC_STRUCT_TIMEZONE
 
-    AC_CHECK_FUNCS(gmtime_r localtime_r)
+    AC_CHECK_FUNCS(gmtime_r localtime_r mktime)
 
     AC_CACHE_CHECK([tm_tzadj in struct tm], tcl_cv_member_tm_tzadj, [
-       AC_TRY_COMPILE([#include <time.h>], [struct tm tm; tm.tm_tzadj;],
-           tcl_cv_member_tm_tzadj=yes, tcl_cv_member_tm_tzadj=no)])
+       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[struct tm tm; (void)tm.tm_tzadj;]])],
+           [tcl_cv_member_tm_tzadj=yes],
+           [tcl_cv_member_tm_tzadj=no])])
     if test $tcl_cv_member_tm_tzadj = yes ; then
        AC_DEFINE(HAVE_TM_TZADJ, 1, [Should we use the tm_tzadj field of struct tm?])
     fi
 
     AC_CACHE_CHECK([tm_gmtoff in struct tm], tcl_cv_member_tm_gmtoff, [
-       AC_TRY_COMPILE([#include <time.h>], [struct tm tm; tm.tm_gmtoff;],
-           tcl_cv_member_tm_gmtoff=yes, tcl_cv_member_tm_gmtoff=no)])
+       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[struct tm tm; (void)tm.tm_gmtoff;]])],
+           [tcl_cv_member_tm_gmtoff=yes],
+           [tcl_cv_member_tm_gmtoff=no])])
     if test $tcl_cv_member_tm_gmtoff = yes ; then
        AC_DEFINE(HAVE_TM_GMTOFF, 1, [Should we use the tm_gmtoff field of struct tm?])
     fi
@@ -2518,11 +2363,12 @@ AC_DEFUN([TEA_TIME_HANDLER], [
     # (like convex) have timezone functions, etc.
     #
     AC_CACHE_CHECK([long timezone variable], tcl_cv_timezone_long, [
-       AC_TRY_COMPILE([#include <time.h>],
-           [extern long timezone;
+       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>
+#include <stdlib.h>]],
+       [[extern long timezone;
            timezone += 1;
-           exit (0);],
-           tcl_cv_timezone_long=yes, tcl_cv_timezone_long=no)])
+           exit (0);]])],
+           [tcl_cv_timezone_long=yes], [tcl_cv_timezone_long=no])])
     if test $tcl_cv_timezone_long = yes ; then
        AC_DEFINE(HAVE_TIMEZONE_VAR, 1, [Should we use the global timezone variable?])
     else
@@ -2530,11 +2376,12 @@ AC_DEFUN([TEA_TIME_HANDLER], [
        # On some systems (eg IRIX 6.2), timezone is a time_t and not a long.
        #
        AC_CACHE_CHECK([time_t timezone variable], tcl_cv_timezone_time, [
-           AC_TRY_COMPILE([#include <time.h>],
-               [extern time_t timezone;
+           AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>
+#include <stdlib.h>]],
+           [[extern time_t timezone;
                timezone += 1;
-               exit (0);],
-               tcl_cv_timezone_time=yes, tcl_cv_timezone_time=no)])
+               exit (0);]])],
+               [tcl_cv_timezone_time=yes], [tcl_cv_timezone_time=no])])
        if test $tcl_cv_timezone_time = yes ; then
            AC_DEFINE(HAVE_TIMEZONE_VAR, 1, [Should we use the global timezone variable?])
        fi
@@ -2564,7 +2411,8 @@ AC_DEFUN([TEA_BUGGY_STRTOD], [
     AC_CHECK_FUNC(strtod, tcl_strtod=1, tcl_strtod=0)
     if test "$tcl_strtod" = 1; then
        AC_CACHE_CHECK([for Solaris2.4/Tru64 strtod bugs], tcl_cv_strtod_buggy,[
-           AC_TRY_RUN([
+           AC_RUN_IFELSE([AC_LANG_SOURCE([[
+               #include <stdlib.h>
                extern double strtod();
                int main() {
                    char *infString="Inf", *nanString="NaN", *spaceString=" ";
@@ -2583,8 +2431,8 @@ AC_DEFUN([TEA_BUGGY_STRTOD], [
                        exit(1);
                    }
                    exit(0);
-               }], tcl_cv_strtod_buggy=ok, tcl_cv_strtod_buggy=buggy,
-                   tcl_cv_strtod_buggy=buggy)])
+               }]])], [tcl_cv_strtod_buggy=ok], [tcl_cv_strtod_buggy=buggy],
+                   [tcl_cv_strtod_buggy=buggy])])
        if test "$tcl_cv_strtod_buggy" = buggy; then
            AC_LIBOBJ([fixstrtod])
            USE_COMPAT=1
@@ -2597,38 +2445,30 @@ AC_DEFUN([TEA_BUGGY_STRTOD], [
 # TEA_TCL_LINK_LIBS
 #
 #      Search for the libraries needed to link the Tcl shell.
-#      Things like the math library (-lm) and socket stuff (-lsocket vs.
-#      -lnsl) are dealt with here.
+#      Things like the math library (-lm), socket stuff (-lsocket vs.
+#      -lnsl), zlib (-lz) and libtommath (-ltommath) are dealt with here.
 #
 # Arguments:
-#      Requires the following vars to be set in the Makefile:
-#              DL_LIBS (not in TEA, only needed in core)
-#              LIBS
-#              MATH_LIBS
+#      None.
 #
 # Results:
 #
-#      Substitutes the following vars:
-#              TCL_LIBS
-#              MATH_LIBS
-#
 #      Might append to the following vars:
 #              LIBS
+#              MATH_LIBS
 #
 #      Might define the following vars:
 #              HAVE_NET_ERRNO_H
+#
 #--------------------------------------------------------------------
 
 AC_DEFUN([TEA_TCL_LINK_LIBS], [
     #--------------------------------------------------------------------
     # On a few very rare systems, all of the libm.a stuff is
     # already in libc.a.  Set compiler flags accordingly.
-    # Also, Linux requires the "ieee" library for math to work
-    # right (and it must appear before "-lm").
     #--------------------------------------------------------------------
 
     AC_CHECK_FUNC(sin, MATH_LIBS="", MATH_LIBS="-lm")
-    AC_CHECK_LIB(ieee, main, [MATH_LIBS="-lieee $MATH_LIBS"])
 
     #--------------------------------------------------------------------
     # Interactive UNIX requires -linet instead of -lsocket, plus it
@@ -2670,13 +2510,10 @@ AC_DEFUN([TEA_TCL_LINK_LIBS], [
     fi
     AC_CHECK_FUNC(gethostbyname, , [AC_CHECK_LIB(nsl, gethostbyname,
            [LIBS="$LIBS -lnsl"])])
-
-    # 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)
-    AC_SUBST(MATH_LIBS)
+    AC_CHECK_FUNC(mp_log_u32, , [AC_CHECK_LIB(tommath, mp_log_u32,
+           [LIBS="$LIBS -ltommath"])])
+    AC_CHECK_FUNC(deflateSetHeader, , [AC_CHECK_LIB(z, deflateSetHeader,
+           [LIBS="$LIBS -lz"])])
 ])
 
 #--------------------------------------------------------------------
@@ -2694,15 +2531,16 @@ AC_DEFUN([TEA_TCL_LINK_LIBS], [
 #              _ISOC99_SOURCE
 #              _LARGEFILE64_SOURCE
 #              _LARGEFILE_SOURCE64
+#
 #--------------------------------------------------------------------
 
 AC_DEFUN([TEA_TCL_EARLY_FLAG],[
     AC_CACHE_VAL([tcl_cv_flag_]translit($1,[A-Z],[a-z]),
-       AC_TRY_COMPILE([$2], $3, [tcl_cv_flag_]translit($1,[A-Z],[a-z])=no,
-           AC_TRY_COMPILE([[#define ]$1[ 1
-]$2], $3,
-               [tcl_cv_flag_]translit($1,[A-Z],[a-z])=yes,
-               [tcl_cv_flag_]translit($1,[A-Z],[a-z])=no)))
+       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[$2]], [[$3]])],
+           [tcl_cv_flag_]translit($1,[A-Z],[a-z])=no,[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[[#define ]$1[ 1
+]$2]], [[$3]])],
+       [tcl_cv_flag_]translit($1,[A-Z],[a-z])=yes,
+       [tcl_cv_flag_]translit($1,[A-Z],[a-z])=no)]))
     if test ["x${tcl_cv_flag_]translit($1,[A-Z],[a-z])[}" = "xyes"] ; then
        AC_DEFINE($1, 1, [Add the ]$1[ flag when building])
        tcl_flags="$tcl_flags $1"
@@ -2738,9 +2576,10 @@ AC_DEFUN([TEA_TCL_EARLY_FLAGS],[
 #      Might define the following vars:
 #              TCL_WIDE_INT_IS_LONG
 #              TCL_WIDE_INT_TYPE
-#              HAVE_STRUCT_DIRENT64
+#              HAVE_STRUCT_DIRENT64, HAVE_DIR64
 #              HAVE_STRUCT_STAT64
 #              HAVE_TYPE_OFF64_T
+#
 #--------------------------------------------------------------------
 
 AC_DEFUN([TEA_TCL_64BIT_FLAGS], [
@@ -2748,17 +2587,17 @@ AC_DEFUN([TEA_TCL_64BIT_FLAGS], [
     AC_CACHE_VAL(tcl_cv_type_64bit,[
        tcl_cv_type_64bit=none
        # See if the compiler knows natively about __int64
-       AC_TRY_COMPILE(,[__int64 value = (__int64) 0;],
-           tcl_type_64bit=__int64, tcl_type_64bit="long long")
-       # See if we should use long anyway  Note that we substitute in the
+       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[__int64 value = (__int64) 0;]])],
+           [tcl_type_64bit=__int64],[tcl_type_64bit="long long"])
+       # See if we could use long anyway  Note that we substitute in the
        # type that is our current guess for a 64-bit type inside this check
        # program, so it should be modified only carefully...
-        AC_TRY_COMPILE(,[switch (0) {
-            case 1: case (sizeof(]${tcl_type_64bit}[)==sizeof(long)): ;
-        }],tcl_cv_type_64bit=${tcl_type_64bit})])
+        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[switch (0) {
+            case 1: case (sizeof(${tcl_type_64bit})==sizeof(long)): ;
+        }]])],[tcl_cv_type_64bit=${tcl_type_64bit}],[])])
     if test "${tcl_cv_type_64bit}" = none ; then
-       AC_DEFINE(TCL_WIDE_INT_IS_LONG, 1, [Are wide integers to be implemented with C 'long's?])
-       AC_MSG_RESULT([using long])
+       AC_DEFINE(TCL_WIDE_INT_IS_LONG, 1, [Do 'long' and 'long long' have the same size (64-bit)?])
+       AC_MSG_RESULT([yes])
     elif test "${tcl_cv_type_64bit}" = "__int64" \
                -a "${TEA_PLATFORM}" = "windows" ; then
        # TEA specific: We actually want to use the default tcl.h checks in
@@ -2771,17 +2610,26 @@ AC_DEFUN([TEA_TCL_64BIT_FLAGS], [
 
        # Now check for auxiliary declarations
        AC_CACHE_CHECK([for struct dirent64], tcl_cv_struct_dirent64,[
-           AC_TRY_COMPILE([#include <sys/types.h>
-#include <dirent.h>],[struct dirent64 p;],
-               tcl_cv_struct_dirent64=yes,tcl_cv_struct_dirent64=no)])
+           AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
+#include <dirent.h>]], [[struct dirent64 p;]])],
+               [tcl_cv_struct_dirent64=yes],[tcl_cv_struct_dirent64=no])])
        if test "x${tcl_cv_struct_dirent64}" = "xyes" ; then
            AC_DEFINE(HAVE_STRUCT_DIRENT64, 1, [Is 'struct dirent64' in <sys/types.h>?])
        fi
 
+       AC_CACHE_CHECK([for DIR64], tcl_cv_DIR64,[
+           AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
+#include <dirent.h>]], [[struct dirent64 *p; DIR64 d = opendir64(".");
+            p = readdir64(d); rewinddir64(d); closedir64(d);]])],
+               [tcl_cv_DIR64=yes], [tcl_cv_DIR64=no])])
+       if test "x${tcl_cv_DIR64}" = "xyes" ; then
+           AC_DEFINE(HAVE_DIR64, 1, [Is 'DIR64' in <sys/types.h>?])
+       fi
+
        AC_CACHE_CHECK([for struct stat64], tcl_cv_struct_stat64,[
-           AC_TRY_COMPILE([#include <sys/stat.h>],[struct stat64 p;
-],
-               tcl_cv_struct_stat64=yes,tcl_cv_struct_stat64=no)])
+           AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/stat.h>]], [[struct stat64 p;
+]])],
+               [tcl_cv_struct_stat64=yes], [tcl_cv_struct_stat64=no])])
        if test "x${tcl_cv_struct_stat64}" = "xyes" ; then
            AC_DEFINE(HAVE_STRUCT_STAT64, 1, [Is 'struct stat64' in <sys/stat.h>?])
        fi
@@ -2789,9 +2637,9 @@ AC_DEFUN([TEA_TCL_64BIT_FLAGS], [
        AC_CHECK_FUNCS(open64 lseek64)
        AC_MSG_CHECKING([for off64_t])
        AC_CACHE_VAL(tcl_cv_type_off64_t,[
-           AC_TRY_COMPILE([#include <sys/types.h>],[off64_t offset;
-],
-               tcl_cv_type_off64_t=yes,tcl_cv_type_off64_t=no)])
+           AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>]], [[off64_t offset;
+]])],
+               [tcl_cv_type_off64_t=yes], [tcl_cv_type_off64_t=no])])
        dnl Define HAVE_TYPE_OFF64_T only when the off64_t type and the
        dnl functions lseek64 and open64 are defined.
        if test "x${tcl_cv_type_off64_t}" = "xyes" && \
@@ -2840,23 +2688,14 @@ 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.9"
+    TEA_VERSION="3.13"
 
-    AC_MSG_CHECKING([for correct TEA configuration])
+    AC_MSG_CHECKING([TEA configuration])
     if test x"${PACKAGE_NAME}" = x ; then
        AC_MSG_ERROR([
-The PACKAGE_NAME variable must be defined by your TEA configure.in])
-    fi
-    if test x"$1" = x ; then
-       AC_MSG_ERROR([
-TEA version not specified.])
-    elif test "$1" != "${TEA_VERSION}" ; then
-       AC_MSG_RESULT([warning: requested TEA version "$1", have "${TEA_VERSION}"])
-    else
-       AC_MSG_RESULT([ok (TEA ${TEA_VERSION})])
+The PACKAGE_NAME variable must be defined by your TEA configure.ac])
     fi
+    AC_MSG_RESULT([ok (TEA ${TEA_VERSION})])
 
     # If the user did not set CFLAGS, set it now to keep macros
     # like AC_PROG_CC and AC_TRY_COMPILE from adding "-g -O2".
@@ -2865,15 +2704,14 @@ TEA version not specified.])
     fi
 
     case "`uname -s`" in
-       *win32*|*WIN32*|*MINGW32_*)
-           AC_CHECK_PROG(CYGPATH, cygpath, cygpath -w, echo)
+       *win32*|*WIN32*|*MINGW32_*|*MINGW64_*|*MSYS_*)
+           AC_CHECK_PROG(CYGPATH, cygpath, cygpath -m, echo)
            EXEEXT=".exe"
            TEA_PLATFORM="windows"
            ;;
        *CYGWIN_*)
-           CYGPATH=echo
            EXEEXT=".exe"
-           # TEA_PLATFORM is determined later in LOAD_TCLCONFIG
+           # CYGPATH and TEA_PLATFORM are determined later in LOAD_TCLCONFIG
            ;;
        *)
            CYGPATH=echo
@@ -2907,6 +2745,8 @@ TEA version not specified.])
 
     # This package name must be replaced statically for AC_SUBST to work
     AC_SUBST(PKG_LIB_FILE)
+    AC_SUBST(PKG_LIB_FILE8)
+    AC_SUBST(PKG_LIB_FILE9)
     # Substitute STUB_LIB_FILE in case package creates a stub library too.
     AC_SUBST(PKG_STUB_LIB_FILE)
 
@@ -2919,6 +2759,9 @@ TEA version not specified.])
     AC_SUBST(PKG_INCLUDES)
     AC_SUBST(PKG_LIBS)
     AC_SUBST(PKG_CFLAGS)
+
+    # Configure the installer.
+    TEA_INSTALLER
 ])
 
 #------------------------------------------------------------------------
@@ -3111,7 +2954,7 @@ AC_DEFUN([TEA_ADD_LIBS], [
     for i in $vars; do
        if test "${TEA_PLATFORM}" = "windows" -a "$GCC" = "yes" ; then
            # Convert foo.lib to -lfoo for GCC.  No-op if not *.lib
-           i=`echo "$i" | sed -e 's/^\([[^-]].*\)\.lib[$]/-l\1/i'`
+           i=`echo "$i" | sed -e 's/^\([[^-]].*\)\.[[lL]][[iI]][[bB]][$]/-l\1/'`
        fi
        PKG_LIBS="$PKG_LIBS $i"
     done
@@ -3194,7 +3037,7 @@ AC_DEFUN([TEA_PREFIX], [
 # TEA_SETUP_COMPILER_CC --
 #
 #      Do compiler checks the way we want.  This is just a replacement
-#      for AC_PROG_CC in TEA configure.in files to make them cleaner.
+#      for AC_PROG_CC in TEA configure.ac files to make them cleaner.
 #
 # Arguments:
 #      none
@@ -3210,15 +3053,6 @@ AC_DEFUN([TEA_SETUP_COMPILER_CC], [
     AC_PROG_CC
     AC_PROG_CPP
 
-    INSTALL="\$(SHELL) \$(srcdir)/tclconfig/install-sh -c"
-    AC_SUBST(INSTALL)
-    INSTALL_DATA="\${INSTALL} -m 644"
-    AC_SUBST(INSTALL_DATA)
-    INSTALL_PROGRAM="\${INSTALL}"
-    AC_SUBST(INSTALL_PROGRAM)
-    INSTALL_SCRIPT="\${INSTALL}"
-    AC_SUBST(INSTALL_SCRIPT)
-
     #--------------------------------------------------------------------
     # Checks to see if the make program sets the $MAKE variable.
     #--------------------------------------------------------------------
@@ -3265,7 +3099,7 @@ AC_DEFUN([TEA_SETUP_COMPILER], [
        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)
+           AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[tcl_cv_cc_pipe=yes],[tcl_cv_cc_pipe=no])
            CFLAGS=$hold_cflags])
        if test $tcl_cv_cc_pipe = yes; then
            CFLAGS="$CFLAGS -pipe"
@@ -3277,14 +3111,6 @@ AC_DEFUN([TEA_SETUP_COMPILER], [
     #--------------------------------------------------------------------
 
     AC_C_BIGENDIAN
-    if test "${TEA_PLATFORM}" = "unix" ; then
-       TEA_TCL_LINK_LIBS
-       TEA_MISSING_POSIX_HEADERS
-       # Let the user call this, because if it triggers, they will
-       # need a compat/strtod.c that is correct.  Users can also
-       # use Tcl_GetDouble(FromObj) instead.
-       #TEA_BUGGY_STRTOD
-    fi
 ])
 
 #------------------------------------------------------------------------
@@ -3315,7 +3141,7 @@ AC_DEFUN([TEA_SETUP_COMPILER], [
 AC_DEFUN([TEA_MAKE_LIB], [
     if test "${TEA_PLATFORM}" = "windows" -a "$GCC" != "yes"; then
        MAKE_STATIC_LIB="\${STLIB_LD} -out:\[$]@ \$(PKG_OBJECTS)"
-       MAKE_SHARED_LIB="\${SHLIB_LD} \${SHLIB_LD_LIBS} \${LDFLAGS_DEFAULT} -out:\[$]@ \$(PKG_OBJECTS)"
+       MAKE_SHARED_LIB="\${SHLIB_LD} \${LDFLAGS} \${LDFLAGS_DEFAULT} -out:\[$]@ \$(PKG_OBJECTS) \${SHLIB_LD_LIBS}"
        AC_EGREP_CPP([manifest needed], [
 #if defined(_MSC_VER) && _MSC_VER >= 1400
 print("manifest needed")
@@ -3330,7 +3156,7 @@ print("manifest needed")
        MAKE_STUB_LIB="\${STLIB_LD} -nodefaultlib -out:\[$]@ \$(PKG_STUB_OBJECTS)"
     else
        MAKE_STATIC_LIB="\${STLIB_LD} \[$]@ \$(PKG_OBJECTS)"
-       MAKE_SHARED_LIB="\${SHLIB_LD} -o \[$]@ \$(PKG_OBJECTS) \${SHLIB_LD_LIBS}"
+       MAKE_SHARED_LIB="\${SHLIB_LD} \${LDFLAGS} \${LDFLAGS_DEFAULT} -o \[$]@ \$(PKG_OBJECTS) \${SHLIB_LD_LIBS}"
        MAKE_STUB_LIB="\${STLIB_LD} \[$]@ \$(PKG_STUB_OBJECTS)"
     fi
 
@@ -3346,6 +3172,13 @@ print("manifest needed")
     # substituted. (@@@ Might not be necessary anymore)
     #--------------------------------------------------------------------
 
+    PACKAGE_LIB_PREFIX8="${PACKAGE_LIB_PREFIX}"
+    PACKAGE_LIB_PREFIX9="${PACKAGE_LIB_PREFIX}tcl9"
+    if test "${TCL_MAJOR_VERSION}" -gt 8 ; then
+       PACKAGE_LIB_PREFIX="${PACKAGE_LIB_PREFIX9}"
+    else
+       PACKAGE_LIB_PREFIX="${PACKAGE_LIB_PREFIX8}"
+    fi
     if test "${TEA_PLATFORM}" = "windows" ; then
        if test "${SHARED_BUILD}" = "1" ; then
            # We force the unresolved linking of symbols that are really in
@@ -3357,15 +3190,19 @@ print("manifest needed")
            if test "$GCC" = "yes"; then
                SHLIB_LD_LIBS="${SHLIB_LD_LIBS} -static-libgcc"
            fi
-           eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${SHARED_LIB_SUFFIX}"
+           eval eval "PKG_LIB_FILE8=${PACKAGE_LIB_PREFIX8}${PACKAGE_NAME}${SHARED_LIB_SUFFIX}"
+           eval eval "PKG_LIB_FILE9=${PACKAGE_LIB_PREFIX9}${PACKAGE_NAME}${SHARED_LIB_SUFFIX}"
+           eval eval "PKG_LIB_FILE=${PACKAGE_LIB_PREFIX}${PACKAGE_NAME}${SHARED_LIB_SUFFIX}"
        else
-           eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}"
            if test "$GCC" = "yes"; then
-               PKG_LIB_FILE=lib${PKG_LIB_FILE}
+               PACKAGE_LIB_PREFIX=lib${PACKAGE_LIB_PREFIX}
            fi
+           eval eval "PKG_LIB_FILE8=${PACKAGE_LIB_PREFIX8}${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}"
+           eval eval "PKG_LIB_FILE9=${PACKAGE_LIB_PREFIX9}${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}"
+           eval eval "PKG_LIB_FILE=${PACKAGE_LIB_PREFIX}${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}"
        fi
        # Some packages build their own stubs libraries
-       eval eval "PKG_STUB_LIB_FILE=${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}"
+       eval eval "PKG_STUB_LIB_FILE=${PACKAGE_LIB_PREFIX}${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}"
        if test "$GCC" = "yes"; then
            PKG_STUB_LIB_FILE=lib${PKG_STUB_LIB_FILE}
        fi
@@ -3379,13 +3216,17 @@ print("manifest needed")
            if test x"${TK_BIN_DIR}" != x ; then
                SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TK_STUB_LIB_SPEC}"
            fi
-           eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${SHARED_LIB_SUFFIX}"
+           eval eval "PKG_LIB_FILE8=lib${PACKAGE_LIB_PREFIX8}${PACKAGE_NAME}${SHARED_LIB_SUFFIX}"
+           eval eval "PKG_LIB_FILE9=lib${PACKAGE_LIB_PREFIX9}${PACKAGE_NAME}${SHARED_LIB_SUFFIX}"
+           eval eval "PKG_LIB_FILE=lib${PACKAGE_LIB_PREFIX}${PACKAGE_NAME}${SHARED_LIB_SUFFIX}"
            RANLIB=:
        else
-           eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}"
+           eval eval "PKG_LIB_FILE=lib${PACKAGE_LIB_PREFIX8}${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}"
+           eval eval "PKG_LIB_FILE=lib${PACKAGE_LIB_PREFIX9}${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}"
+           eval eval "PKG_LIB_FILE=lib${PACKAGE_LIB_PREFIX}${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}"
        fi
        # Some packages build their own stubs libraries
-       eval eval "PKG_STUB_LIB_FILE=lib${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}"
+       eval eval "PKG_STUB_LIB_FILE=lib${PACKAGE_LIB_PREFIX8}${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}"
     fi
 
     # These are escaped so that only CFLAGS is picked up at configure time.
@@ -3930,6 +3771,7 @@ AC_DEFUN([TEA_PATH_CONFIG], [
                        `ls -d ${prefix}/lib 2>/dev/null` \
                        `ls -d /usr/local/lib 2>/dev/null` \
                        `ls -d /usr/contrib/lib 2>/dev/null` \
+                       `ls -d /usr/pkg/lib 2>/dev/null` \
                        `ls -d /usr/lib 2>/dev/null` \
                        `ls -d /usr/lib64 2>/dev/null` \
                        ; do
@@ -4071,18 +3913,18 @@ AC_DEFUN([TEA_EXPORT_CONFIG], [
     # pkglibdir must be a fully qualified path and (not ${exec_prefix}/lib)
     eval pkglibdir="[$]{libdir}/$1${PACKAGE_VERSION}"
     if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
-       eval $1_LIB_FLAG="-l$1${PACKAGE_VERSION}${DBGX}"
-       eval $1_STUB_LIB_FLAG="-l$1stub${PACKAGE_VERSION}${DBGX}"
+       eval $1_LIB_FLAG="-l$1${PACKAGE_VERSION}"
+       eval $1_STUB_LIB_FLAG="-l$1stub${PACKAGE_VERSION}"
     else
-       eval $1_LIB_FLAG="-l$1`echo ${PACKAGE_VERSION} | tr -d .`${DBGX}"
-       eval $1_STUB_LIB_FLAG="-l$1stub`echo ${PACKAGE_VERSION} | tr -d .`${DBGX}"
+       eval $1_LIB_FLAG="-l$1`echo ${PACKAGE_VERSION} | tr -d .`"
+       eval $1_STUB_LIB_FLAG="-l$1stub`echo ${PACKAGE_VERSION} | tr -d .`"
     fi
-    $1_BUILD_LIB_SPEC="-L`pwd` ${$1_LIB_FLAG}"
-    $1_LIB_SPEC="-L${pkglibdir} ${$1_LIB_FLAG}"
-    $1_BUILD_STUB_LIB_SPEC="-L`pwd` [$]{$1_STUB_LIB_FLAG}"
-    $1_STUB_LIB_SPEC="-L${pkglibdir} [$]{$1_STUB_LIB_FLAG}"
-    $1_BUILD_STUB_LIB_PATH="`pwd`/[$]{PKG_STUB_LIB_FILE}"
-    $1_STUB_LIB_PATH="${pkglibdir}/[$]{PKG_STUB_LIB_FILE}"
+    $1_BUILD_LIB_SPEC="-L`$CYGPATH $(pwd)` ${$1_LIB_FLAG}"
+    $1_LIB_SPEC="-L`$CYGPATH ${pkglibdir}` ${$1_LIB_FLAG}"
+    $1_BUILD_STUB_LIB_SPEC="-L`$CYGPATH $(pwd)` [$]{$1_STUB_LIB_FLAG}"
+    $1_STUB_LIB_SPEC="-L`$CYGPATH ${pkglibdir}` [$]{$1_STUB_LIB_FLAG}"
+    $1_BUILD_STUB_LIB_PATH="`$CYGPATH $(pwd)`/[$]{PKG_STUB_LIB_FILE}"
+    $1_STUB_LIB_PATH="`$CYGPATH ${pkglibdir}`/[$]{PKG_STUB_LIB_FILE}"
 
     AC_SUBST($1_BUILD_LIB_SPEC)
     AC_SUBST($1_LIB_SPEC)
@@ -4098,71 +3940,128 @@ AC_DEFUN([TEA_EXPORT_CONFIG], [
 
 
 #------------------------------------------------------------------------
-# TEA_PATH_CELIB --
+# TEA_INSTALLER --
 #
-#      Locate Keuchel's celib emulation layer for targeting Win/CE
+#      Configure the installer.
 #
 # Arguments:
 #      none
 #
 # Results:
-#
-#      Adds the following arguments to configure:
-#              --with-celib=...
-#
-#      Defines the following vars:
-#              CELIB_DIR       Full path to the directory containing
-#                              the include and platform lib files
+#      Substitutes the following vars:
+#              INSTALL
+#              INSTALL_DATA_DIR
+#              INSTALL_DATA
+#              INSTALL_PROGRAM
+#              INSTALL_SCRIPT
+#              INSTALL_LIBRARY
 #------------------------------------------------------------------------
 
-AC_DEFUN([TEA_PATH_CELIB], [
-    # First, look for one uninstalled.
-    # the alternative search directory is invoked by --with-celib
-
-    if test x"${no_celib}" = x ; then
-       # we reset no_celib in case something fails here
-       no_celib=true
-       AC_ARG_WITH(celib,[  --with-celib=DIR        use Windows/CE support library from DIR], with_celibconfig=${withval})
-       AC_MSG_CHECKING([for Windows/CE celib directory])
-       AC_CACHE_VAL(ac_cv_c_celibconfig,[
-           # First check to see if --with-celibconfig was specified.
-           if test x"${with_celibconfig}" != x ; then
-               if test -d "${with_celibconfig}/inc" ; then
-                   ac_cv_c_celibconfig=`(cd ${with_celibconfig}; pwd)`
-               else
-                   AC_MSG_ERROR([${with_celibconfig} directory doesn't contain inc directory])
-               fi
-           fi
+AC_DEFUN([TEA_INSTALLER], [
+    INSTALL='$(SHELL) $(srcdir)/tclconfig/install-sh -c'
+    INSTALL_DATA_DIR='${INSTALL} -d -m 755'
+    INSTALL_DATA='${INSTALL} -m 644'
+    INSTALL_PROGRAM='${INSTALL} -m 755'
+    INSTALL_SCRIPT='${INSTALL} -m 755'
 
-           # then check for a celib library
-           if test x"${ac_cv_c_celibconfig}" = x ; then
-               for i in \
-                       ../celib-palm-3.0 \
-                       ../celib \
-                       ../../celib-palm-3.0 \
-                       ../../celib \
-                       `ls -dr ../celib-*3.[[0-9]]* 2>/dev/null` \
-                       ${srcdir}/../celib-palm-3.0 \
-                       ${srcdir}/../celib \
-                       `ls -dr ${srcdir}/../celib-*3.[[0-9]]* 2>/dev/null` \
-                       ; do
-                   if test -d "$i/inc" ; then
-                       ac_cv_c_celibconfig=`(cd $i; pwd)`
-                       break
-                   fi
-               done
-           fi
-       ])
-       if test x"${ac_cv_c_celibconfig}" = x ; then
-           AC_MSG_ERROR([Cannot find celib support library directory])
-       else
-           no_celib=
-           CELIB_DIR=${ac_cv_c_celibconfig}
-           CELIB_DIR=`echo "$CELIB_DIR" | sed -e 's!\\\!/!g'`
-           AC_MSG_RESULT([found $CELIB_DIR])
-       fi
-    fi
+    TEA_CONFIG_SYSTEM
+    case $system in
+       HP-UX-*) INSTALL_LIBRARY='${INSTALL} -m 755' ;;
+             *) INSTALL_LIBRARY='${INSTALL} -m 644' ;;
+    esac
+
+    AC_SUBST(INSTALL)
+    AC_SUBST(INSTALL_DATA_DIR)
+    AC_SUBST(INSTALL_DATA)
+    AC_SUBST(INSTALL_PROGRAM)
+    AC_SUBST(INSTALL_SCRIPT)
+    AC_SUBST(INSTALL_LIBRARY)
 ])
+
+###
+# Tip 430 - ZipFS Modifications
+###
+#------------------------------------------------------------------------
+# TEA_ZIPFS_SUPPORT
+#      Locate a zip encoder installed on the system path, or none.
+#
+# Arguments:
+#      none
+#
+# Results:
+#      Substitutes the following vars:
+#       MACHER_PROG
+#       ZIP_PROG
+#       ZIP_PROG_OPTIONS
+#       ZIP_PROG_VFSSEARCH
+#       ZIP_INSTALL_OBJS
+#------------------------------------------------------------------------
+
+AC_DEFUN([TEA_ZIPFS_SUPPORT], [
+    MACHER_PROG=""
+    ZIP_PROG=""
+    ZIP_PROG_OPTIONS=""
+    ZIP_PROG_VFSSEARCH=""
+    ZIP_INSTALL_OBJS=""
+
+    AC_MSG_CHECKING([for macher])
+    AC_CACHE_VAL(ac_cv_path_macher, [
+    search_path=`echo ${PATH} | sed -e 's/:/ /g'`
+    for dir in $search_path ; do
+        for j in `ls -r $dir/macher 2> /dev/null` \
+            `ls -r $dir/macher 2> /dev/null` ; do
+        if test x"$ac_cv_path_macher" = x ; then
+            if test -f "$j" ; then
+            ac_cv_path_macher=$j
+            break
+            fi
+        fi
+        done
+    done
+    ])
+    if test -f "$ac_cv_path_macher" ; then
+        MACHER_PROG="$ac_cv_path_macher"
+        AC_MSG_RESULT([$MACHER_PROG])
+        AC_MSG_RESULT([Found macher in environment])
+    fi
+    AC_MSG_CHECKING([for zip])
+    AC_CACHE_VAL(ac_cv_path_zip, [
+    search_path=`echo ${PATH} | sed -e 's/:/ /g'`
+    for dir in $search_path ; do
+        for j in `ls -r $dir/zip 2> /dev/null` \
+            `ls -r $dir/zip 2> /dev/null` ; do
+        if test x"$ac_cv_path_zip" = x ; then
+            if test -f "$j" ; then
+            ac_cv_path_zip=$j
+            break
+            fi
+        fi
+        done
+    done
+    ])
+    if test -f "$ac_cv_path_zip" ; then
+        ZIP_PROG="$ac_cv_path_zip"
+        AC_MSG_RESULT([$ZIP_PROG])
+        ZIP_PROG_OPTIONS="-rq"
+        ZIP_PROG_VFSSEARCH="*"
+        AC_MSG_RESULT([Found INFO Zip in environment])
+        # Use standard arguments for zip
+    else
+        # It is not an error if an installed version of Zip can't be located.
+        # We can use the locally distributed minizip instead
+        ZIP_PROG="./minizip${EXEEXT_FOR_BUILD}"
+        ZIP_PROG_OPTIONS="-o -r"
+        ZIP_PROG_VFSSEARCH="*"
+        ZIP_INSTALL_OBJS="minizip${EXEEXT_FOR_BUILD}"
+        AC_MSG_RESULT([No zip found on PATH. Building minizip])
+    fi
+    AC_SUBST(MACHER_PROG)
+    AC_SUBST(ZIP_PROG)
+    AC_SUBST(ZIP_PROG_OPTIONS)
+    AC_SUBST(ZIP_PROG_VFSSEARCH)
+    AC_SUBST(ZIP_INSTALL_OBJS)
+])
+
 # Local Variables:
 # mode: autoconf
-# End:
+# End:
\ No newline at end of file
index 032b39b8a9d9dc76ee06e629e48a8bbc7513d072..bee34a7f2ee716ae5bb2661c0d96f79136f311bb 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sharmless\scompiler\swarnings\sseen\swith\sMSVC.
-D 2022-07-06T23:50:01.037
+C Upgrade\sthe\sTEA\sbuild\ssystem\sin\sautoconf/tea/.\sTo\smatch\stclconfig\scommit\s20fe9e6f59\sand\sTcl\sSample\sExtension\sbe47fb0446.
+D 2022-07-07T20:49:22.140
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -19,15 +19,15 @@ F autoconf/Makefile.msc 8401a514e4e70add3c6448348ae31322d5cb7db427b05a20828f943c
 F autoconf/README.first 6c4f34fe115ff55d4e8dbfa3cecf04a0188292f7
 F autoconf/README.txt 42cfd21d0b19dc7d5d85fb5c405c5f3c6a4c923021c39128f6ba685355d8fd56
 F autoconf/configure.ac ec7fa914c5e74ff212fe879f9bb6918e1234497e05facfb641f30c4d5893b277
-F autoconf/tea/Makefile.in b438a7020446c8a8156e8d97c8914a04833da6fd
+F autoconf/tea/Makefile.in 106a96f2f745d41a0f6193f1de98d7355830b65d45032c18cd7c90295ec24196
 F autoconf/tea/README 3e9a3c060f29a44344ab50aec506f4db903fb873
 F autoconf/tea/aclocal.m4 52c47aac44ce0ddb1f918b6993e8beb8eee88f43
-F autoconf/tea/configure.ac ea61e07340d97e4a79a081f0b8977198a6073edd060738dbb3ae5cb8d5e96f1c
+F autoconf/tea/configure.ac 5cf3c7c68e000015372db91eebf11a9f353174957cc192e2eac62d3fb1590624
 F autoconf/tea/doc/sqlite3.n e1fe45d4f5286ee3d0ccc877aca2a0def488e9bb
 F autoconf/tea/license.terms 13bd403c9610fd2b76ece0ab50c4c5eda933d523
-F autoconf/tea/pkgIndex.tcl.in 3ef61715cf1c7bdcff56947ffadb26bc991ca39d
+F autoconf/tea/pkgIndex.tcl.in b9eb6dd37f64e08e637d576b3c83259814b9cddd78bec4af2e5abfc6c5c750ce
 F autoconf/tea/tclconfig/install-sh bdd5e293591621ae60d9824d86a4b1c5f22c3d00
-F autoconf/tea/tclconfig/tcl.m4 66ddf0a5d5e4b1d29bff472c0985fd7fa89d0fb5
+F autoconf/tea/tclconfig/tcl.m4 debe13280bd5a9d76dc34e7919cd9ed3a1408c7320400900357128c2d1abb723
 F autoconf/tea/win/makefile.vc a5ff708245260c2794c6aaa0151efe5403d5896566eaf096747be0d9075284e4
 F autoconf/tea/win/nmakehlp.c b01f822eabbe1ed2b64e70882d97d48402b42d2689a1ea00342d1a1a7eaa19cb
 F autoconf/tea/win/rules.vc c511f222b80064096b705dbeb97060ee1d6b6d63
@@ -1979,8 +1979,11 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 587795d47fcaf5142526fabbcc4d5a632f561f258414c2846e8932a49b5b2e6b
-R 2eb751598396b97b93bf551986a07087
-U mistachkin
-Z 4d05d451769cfa8ea2dbf377223e0684
+P 61e2094afbbcbd5fdf5c3ec06b96134fafb7b854dc9bfa7d0619bed6d35efbe4
+R b26c8f36db62c20aad24f24827303d40
+T *branch * tea-upgrade
+T *sym-tea-upgrade *
+T -sym-trunk *
+U dan
+Z 6408e9ff7d53d4b2eaa313ad961076a7
 # Remove this line to create a well-formed Fossil manifest.
index a0ba389f3ad7d6aa9949fcf6ce55074e63a108ed..743b0e62303fd7fb19cd3a4811aa36004aa2163d 100644 (file)
@@ -1 +1 @@
-61e2094afbbcbd5fdf5c3ec06b96134fafb7b854dc9bfa7d0619bed6d35efbe4
\ No newline at end of file
+1531f7391890d7d3cd091c2d1284230f128e5282bf676967ebcb212210e51e71
\ No newline at end of file