* configure, configure.in, Makefile.in, tclconfig/tcl.m4: updated
authorJeff Hobbs <hobbs@users.sourceforge.net>
Fri, 4 Jun 2004 19:21:20 +0000 (19:21 +0000)
committerJeff Hobbs <hobbs@users.sourceforge.net>
Fri, 4 Jun 2004 19:21:20 +0000 (19:21 +0000)
to the latest TEA3 spec
* pkgIndex.tcl.in (added): move from library/ subdir
* library/pkgIndex.tcl.in (removed):

Makefile.in
configure
configure.in
pkgIndex.tcl.in [moved from library/pkgIndex.tcl.in with 84% similarity]
tclconfig/tcl.m4

index 7b5b8deb435b31f83d7c21ef4e7a8ba09316f86d..327e7ae72ac0e2709a57cca0884aafaf10fb164d 100644 (file)
 #========================================================================
 
 #========================================================================
-# Enumerate the names of the source files included in this package.
+# The names of the source files is defined in the configure script.
+# The object files are used for linking into the final library.
 # This will be used when a dist target is added to the Makefile.
+# It is not important to specify the directory, as long as it is the
+# $(srcdir) or in the generic, win or unix subdirectory.
 #========================================================================
 
-vfs_SOURCES    = vfs.c
+PKG_SOURCES    = @PKG_SOURCES@
+PKG_OBJECTS    = @PKG_OBJECTS@
 
-vfs_OBJECTS    = vfs.$(OBJEXT)
-vfs_LIB_FILE   = @vfs_LIB_FILE@
+PKG_STUB_SOURCES = @PKG_STUB_SOURCES@
+PKG_STUB_OBJECTS = @PKG_STUB_OBJECTS@
 
 #========================================================================
-# RUNTIME_SOURCES identifies Tcl runtime files that are associated with
-# this package that need to be installed, if any.  They are moved into
-# top_builddir/library and then installed.  pkgIndex.tcl is generated
-# through the configure script.
+# PKG_TCL_SOURCES identifies Tcl runtime files that are associated with
+# this package that need to be installed, if any.
 #========================================================================
 
-RUNTIME_SOURCES        = ftpvfs.tcl httpvfs.tcl mk4vfs.tcl starkit.tcl \
+PKG_TCL_SOURCES = @PKG_TCL_SOURCES@ \
+                 ftpvfs.tcl httpvfs.tcl mk4vfs.tcl starkit.tcl \
                  tarvfs.tcl tclprocvfs.tcl testvfs.tcl \
                  vfsUrl.tcl vfsUtils.tcl vfslib.tcl \
                  webdavvfs.tcl zipvfs.tcl tclIndex
 
 #========================================================================
-# This is a list of header files to be installed
+# This is a list of public header files to be installed, if any.
 #========================================================================
 
-GENERIC_HDRS= 
+PKG_HEADERS    = @PKG_HEADERS@
 
 #========================================================================
-# Nothing of the variables below this line need to be changed.  Please
-# check the TARGETS section below to make sure the make targets are
-# correct.
+# "PKG_LIB_FILE" refers to the library (dynamic or static as per
+# configuration options) composed of the named objects.
 #========================================================================
 
-#========================================================================
-# The variable "$(PACKAGE)_LIB_FILE" is the parameterized name of the
-# library that we are building.
-#========================================================================
+PKG_LIB_FILE   = @PKG_LIB_FILE@
+PKG_STUB_LIB_FILE = @PKG_STUB_LIB_FILE@
 
-lib_BINARIES   = $($(PACKAGE)_LIB_FILE)
-BINARIES       = $(lib_BINARIES)
+lib_BINARIES   = $(PKG_LIB_FILE)
+BINARIES       = $(lib_BINARIES) pkgIndex.tcl
 
 SHELL          = @SHELL@
 
@@ -73,7 +73,7 @@ includedir    = @includedir@
 
 DESTDIR                =
 
-PKG_DIR                = $(PACKAGE)$(VERSION)
+PKG_DIR                = $(PACKAGE_NAME)$(PACKAGE_VERSION)
 pkgdatadir     = $(datadir)/$(PKG_DIR)
 pkglibdir      = $(libdir)/$(PKG_DIR)
 pkgincludedir  = $(includedir)/$(PKG_DIR)
@@ -85,33 +85,31 @@ INSTALL_PROGRAM     = @INSTALL_PROGRAM@
 INSTALL_DATA   = @INSTALL_DATA@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 
-PACKAGE                = @PACKAGE@
-VERSION                = @VERSION@
+PACKAGE_NAME   = @PACKAGE_NAME@
+PACKAGE_VERSION        = @PACKAGE_VERSION@
 CC             = @CC@
-CFLAGS_DEBUG   = @CFLAGS_DEBUG@
 CFLAGS_DEFAULT = @CFLAGS_DEFAULT@
-CFLAGS_OPTIMIZE        = @CFLAGS_OPTIMIZE@
 CFLAGS_WARNING = @CFLAGS_WARNING@
 CLEANFILES     = @CLEANFILES@
 EXEEXT         = @EXEEXT@
-LDFLAGS_DEBUG  = @LDFLAGS_DEBUG@
 LDFLAGS_DEFAULT        = @LDFLAGS_DEFAULT@
-LDFLAGS_OPTIMIZE = @LDFLAGS_OPTIMIZE@
 MAKE_LIB       = @MAKE_LIB@
 MAKE_SHARED_LIB        = @MAKE_SHARED_LIB@
 MAKE_STATIC_LIB        = @MAKE_STATIC_LIB@
+MAKE_STUB_LIB  = @MAKE_STUB_LIB@
 OBJEXT         = @OBJEXT@
 RANLIB         = @RANLIB@
+RANLIB_STUB    = @RANLIB_STUB@
 SHLIB_CFLAGS   = @SHLIB_CFLAGS@
 SHLIB_LD       = @SHLIB_LD@
-SHLIB_LDFLAGS  = @SHLIB_LDFLAGS@
+SHLIB_LD_FLAGS = @SHLIB_LD_FLAGS@
 SHLIB_LD_LIBS  = @SHLIB_LD_LIBS@
 STLIB_LD       = @STLIB_LD@
 TCL_DEFS       = @TCL_DEFS@
 TCL_BIN_DIR    = @TCL_BIN_DIR@
 TCL_SRC_DIR    = @TCL_SRC_DIR@
 # This is necessary for packages that use private Tcl headers
-#TCL_TOP_DIR_NATIVE    = @TCL_TOP_DIR_NATIVE@
+TCL_TOP_DIR_NATIVE     = @TCL_TOP_DIR_NATIVE@
 # Not used, but retained for reference of what libs Tcl required
 TCL_LIBS       = @TCL_LIBS@
 
@@ -123,29 +121,28 @@ TCL_LIBS  = @TCL_LIBS@
 #========================================================================
 
 EXTRA_PATH     = $(top_builddir):$(TCL_BIN_DIR)
-TCLSH_ENV      = TCL_LIBRARY="`@CYGPATH@ $(TCL_SRC_DIR)/library`" \
-                 LD_LIBRARY_PATH="$(EXTRA_PATH):$(LD_LIBRARY_PATH)" \
-                 LIBPATH="$(EXTRA_PATH):${LIBPATH}" \
-                 SHLIB_PATH="$(EXTRA_PATH):${SHLIB_PATH}" \
+TCLSH_ENV      = TCL_LIBRARY=`@CYGPATH@ $(TCL_SRC_DIR)/library` \
+                 @LD_LIBRARY_PATH_VAR@="$(EXTRA_PATH):$(@LD_LIBRARY_PATH_VAR@)" \
+                 VFS_LIBRARY="`@CYGPATH@ $(srcdir)/library`" \
                  PATH="$(EXTRA_PATH):$(PATH)" \
-                 TCLLIBPATH="`@CYGPATH@ $(top_builddir)/library`"
+                 TCLLIBPATH="$(top_builddir)"
 TCLSH_PROG     = @TCLSH_PROG@
 TCLSH          = $(TCLSH_ENV) $(TCLSH_PROG)
 SHARED_BUILD   = @SHARED_BUILD@
 
-INCLUDES       = @TCL_INCLUDES@
+INCLUDES       = @PKG_INCLUDES@ @TCL_INCLUDES@
 
-EXTRA_CFLAGS   = $(MEM_DEBUG_FLAGS) @EXTRA_CFLAGS@
+EXTRA_CFLAGS   = @EXTRA_CFLAGS@ @PKG_CFLAGS@
 
 DEFS           = @DEFS@ $(EXTRA_CFLAGS)
 
-CONFIG_CLEAN_FILES = Makefile library/pkgIndex.tcl
+CONFIG_CLEAN_FILES = Makefile
 
 CPPFLAGS       = @CPPFLAGS@
-LIBS           = @LIBS@
+LIBS           = @PKG_LIBS@ @LIBS@
 AR             = ar
 ## need to include the tcl source dir here for tclPort.h
-CFLAGS         = @CFLAGS@ -I`@CYGPATH@ $(TCL_SRC_DIR)/generic`
+CFLAGS         = @CFLAGS@
 COMPILE                = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 
 #========================================================================
@@ -172,12 +169,6 @@ all: binaries libraries doc
 binaries: $(BINARIES)
 
 libraries:
-       @mkdir -p $(top_builddir)/library/
-       @if test "$(srcdir)" != "$(top_builddir)"; then \
-           list='$(RUNTIME_SOURCES)'; for p in $$list; do \
-                $(INSTALL_DATA) $(srcdir)/library/$$p $(top_builddir)/library/$$p;\
-           done; \
-       fi
 
 doc:
 
@@ -190,6 +181,12 @@ install-binaries: binaries install-lib-binaries install-bin-binaries
 #========================================================================
 
 install-libraries: libraries
+       @mkdir -p $(DESTDIR)$(includedir)
+       @echo "Installing header files in $(DESTDIR)$(includedir)"
+       @for i in $(PKG_HEADERS) ; do \
+           echo "Installing $(srcdir)/$$i" ; \
+           $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(includedir) ; \
+       done;
 
 #========================================================================
 # Install documentation.  Unix manpages should go in the $(mandir)
@@ -197,8 +194,6 @@ install-libraries: libraries
 #========================================================================
 
 install-doc: doc
-       @mkdir -p $(DESTDIR)$(mandir)/man1
-       @mkdir -p $(DESTDIR)$(mandir)/man3
        @mkdir -p $(DESTDIR)$(mandir)/mann
        @echo "Installing documentation in $(DESTDIR)$(mandir)"
        @for i in $(srcdir)/doc/*.n; do \
@@ -219,19 +214,24 @@ gdb:
 depend:
 
 #========================================================================
-# $($(PACKAGE)_LIB_FILE) should be listed as part of the BINARIES variable
+# $(PKG_LIB_FILE) should be listed as part of the BINARIES variable
 # mentioned above.  That will ensure that this target is built when you
 # run "make binaries".
 #
-# The $($(PACKAGE)_OBJECTS) objects are created and linked into the final
+# The $(PKG_OBJECTS) objects are created and linked into the final
 # library.  In most cases these object files will correspond to the
 # source files above.
 #========================================================================
 
-$($(PACKAGE)_LIB_FILE): $($(PACKAGE)_OBJECTS)
-       -rm -f $($(PACKAGE)_LIB_FILE)
+$(PKG_LIB_FILE): $(PKG_OBJECTS)
+       -rm -f $(PKG_LIB_FILE)
        ${MAKE_LIB}
-       $(RANLIB) $($(PACKAGE)_LIB_FILE)
+       $(RANLIB) $(PKG_LIB_FILE)
+
+$(PKG_STUB_LIB_FILE): $(PKG_STUB_OBJECTS)
+       -rm -f $(PKG_STUB_LIB_FILE)
+       ${MAKE_STUB_LIB}
+       $(RANLIB_STUB) $(PKG_STUB_LIB_FILE)
 
 #========================================================================
 # We need to enumerate the list of .c to .o lines here.
@@ -250,28 +250,29 @@ $($(PACKAGE)_LIB_FILE): $($(PACKAGE)_OBJECTS)
 
 VPATH = $(srcdir)/generic:$(srcdir)/unix:$(srcdir)/win
 
-.c.$(OBJEXT):
+.c.@OBJEXT@:
        $(COMPILE) -c `@CYGPATH@ $<` -o $@
 
 #========================================================================
-# End of user-definable section
+# Create the pkgIndex.tcl file.
+# It is usually easiest to let Tcl do this for you with pkg_mkIndex, but
+# you may find that you need to customize the package.  If so, either
+# modify the -hand version, or create a pkgIndex.tcl.in file and have
+# the configure script output the pkgIndex.tcl by editing configure.in.
 #========================================================================
 
+#pkgIndex.tcl:
+#      ( echo pkg_mkIndex . $(PKG_LIB_FILE) \; exit; ) | $(TCLSH)
+
 #========================================================================
 # Don't modify the file to clean here.  Instead, set the "CLEANFILES"
 # variable in configure.in
 #========================================================================
 
-clean:
-       -cd $(top_builddir)
+clean:  
        -test -z "$(BINARIES)" || rm -f $(BINARIES)
        -rm -f *.$(OBJEXT) core *.core
        -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-       if test "$(srcdir)" != "$(top_builddir)"; then \
-           list='$(RUNTIME_SOURCES)'; for p in $$list; do \
-               rm -f library/$$p; \
-           done; \
-       fi
 
 distclean: clean
        -rm -f *.tab.c
@@ -296,8 +297,14 @@ install-lib-binaries:
          if test -f $$p; then \
            echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/$$p"; \
            $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/$$p; \
-           echo " $(RANLIB) $(DESTDIR)$(pkglibdir)/$$p"; \
-           $(RANLIB) $(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; \
            ext=`echo $$p|sed -e "s/.*\.//"`; \
            if test "x$$ext" = "xdll"; then \
                lib=`basename $$p|sed -e 's/.[^.]*$$//'`.lib; \
@@ -308,14 +315,16 @@ install-lib-binaries:
            fi; \
          fi; \
        done
-       @echo "Installing runtime sources in $(DESTDIR)$(pkglibdir)/"
-       @list='$(RUNTIME_SOURCES)'; for p in $$list; do \
-         rm -f $(DESTDIR)$(pkglibdir)/`basename $$p`; \
-         $(INSTALL_DATA) $(srcdir)/library/$$p $(DESTDIR)$(pkglibdir)/;\
+       @list='$(PKG_TCL_SOURCES)'; for p in $$list; do \
+         if test -f $(srcdir)/library/$$p; then \
+           destp=`basename $$p`; \
+           echo " Install $$destp $(DESTDIR)$(pkglibdir)/$$destp"; \
+           $(INSTALL_DATA) $(srcdir)/library/$$p $(DESTDIR)$(pkglibdir)/$$destp; \
+         fi; \
        done
        @if test "x$(SHARED_BUILD)" = "x1"; then \
-         echo "Installing pkgIndex.tcl in $(DESTDIR)$(pkglibdir)/"; \
-         $(INSTALL_DATA) $(top_builddir)/library/pkgIndex.tcl $(DESTDIR)$(pkglibdir)/;\
+           echo " Install pkgIndex.tcl $(DESTDIR)$(pkglibdir)"; \
+           $(INSTALL_DATA) pkgIndex.tcl $(DESTDIR)$(pkglibdir); \
        fi
 
 #========================================================================
@@ -335,12 +344,6 @@ install-bin-binaries:
 
 .SUFFIXES: .c .$(OBJEXT)
 
-library/pkgIndex.tcl: $(srcdir)/library/pkgIndex.tcl.in $(top_builddir)/config.status
-       @if test "x$(SHARED_BUILD)" = "x1"; then \
-         cd $(top_builddir) \
-           && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status; \
-       fi
-
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        cd $(top_builddir) \
          && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
@@ -349,10 +352,10 @@ uninstall-binaries:
        list='$(lib_BINARIES)'; for p in $$list; do \
          rm -f $(DESTDIR)$(pkglibdir)/$$p; \
        done
-       list='$(RUNTIME_SOURCES)'; for p in $$list; do \
+       list='$(PKG_TCL_SOURCES)'; for p in $$list; do \
+         p=`basename $$p`; \
          rm -f $(DESTDIR)$(pkglibdir)/$$p; \
        done
-       rm -f $(DESTDIR)$(pkglibdir)/pkgIndex.tcl; \
        list='$(bin_BINARIES)'; for p in $$list; do \
          rm -f $(DESTDIR)$(bindir)/$$p; \
        done
index 82951813b715daff6522491735cdeb020fbe1f67..ddb86855c255169bb363f2d68046ae001010b955 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.57.
+# Generated by GNU Autoconf 2.57 for vfs 1.3.
 #
 # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
@@ -264,13 +264,12 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 : ${ac_max_here_lines=38}
 
 # Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
+PACKAGE_NAME='vfs'
+PACKAGE_TARNAME='vfs'
+PACKAGE_VERSION='1.3'
+PACKAGE_STRING='vfs 1.3'
+PACKAGE_BUGREPORT=''
 
-ac_unique_file="generic/vfs.c"
 # Factoring default headers for most tests.
 ac_includes_default="\
 #include <stdio.h>
@@ -308,7 +307,7 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CONFIGDIR PACKAGE VERSION vfs_LIB_FILE CYGPATH EXEEXT TCL_VERSION TCL_BIN_DIR TCL_SRC_DIR TCL_LIB_FILE TCL_LIB_FLAG TCL_LIB_SPEC TCL_STUB_LIB_FILE TCL_STUB_LIB_FLAG TCL_STUB_LIB_SPEC TCL_LIBS TCL_DEFS TCL_EXTRA_CFLAGS TCL_LD_FLAGS TCL_SHLIB_LD_LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC OBJEXT CPP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA SET_MAKE RANLIB ac_ct_RANLIB EGREP MATH_LIBS LIBOBJS TCL_INCLUDES CLEANFILES TCL_THREADS SHARED_BUILD AR DL_LIBS CFLAGS_DEBUG CFLAGS_OPTIMIZE CFLAGS_WARNING EXTRA_CFLAGS STLIB_LD SHLIB_LD SHLIB_CFLAGS SHLIB_LDFLAGS SHLIB_LD_LIBS LDFLAGS_DEBUG LDFLAGS_OPTIMIZE TCL_DBGX CFLAGS_DEFAULT LDFLAGS_DEFAULT MAKE_LIB MAKE_SHARED_LIB MAKE_STATIC_LIB MAKE_STUB_LIB TCLSH_PROG LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CYGPATH EXEEXT PKG_LIB_FILE PKG_STUB_LIB_FILE PKG_STUB_SOURCES PKG_STUB_OBJECTS PKG_TCL_SOURCES PKG_HEADERS PKG_INCLUDES PKG_LIBS PKG_CFLAGS TCL_VERSION TCL_BIN_DIR TCL_SRC_DIR TCL_LIB_FILE TCL_LIB_FLAG TCL_LIB_SPEC TCL_STUB_LIB_FILE TCL_STUB_LIB_FLAG TCL_STUB_LIB_SPEC TCL_LIBS TCL_DEFS TCL_EXTRA_CFLAGS TCL_LD_FLAGS TCL_SHLIB_LD_LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC OBJEXT CPP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA SET_MAKE RANLIB ac_ct_RANLIB EGREP MATH_LIBS PKG_SOURCES PKG_OBJECTS TCL_TOP_DIR_NATIVE TCL_GENERIC_DIR_NATIVE TCL_UNIX_DIR_NATIVE TCL_WIN_DIR_NATIVE TCL_BMAP_DIR_NATIVE TCL_TOOL_DIR_NATIVE TCL_PLATFORM_DIR_NATIVE TCL_INCLUDES CLEANFILES TCL_THREADS SHARED_BUILD AR LIBOBJS DL_LIBS CFLAGS_DEBUG CFLAGS_OPTIMIZE CFLAGS_WARNING EXTRA_CFLAGS STLIB_LD SHLIB_LD SHLIB_CFLAGS SHLIB_LD_FLAGS SHLIB_LD_LIBS LDFLAGS_DEBUG LDFLAGS_OPTIMIZE LD_LIBRARY_PATH_VAR TCL_DBGX CFLAGS_DEFAULT LDFLAGS_DEFAULT MAKE_LIB MAKE_SHARED_LIB MAKE_STATIC_LIB MAKE_STUB_LIB RANLIB_STUB TCLSH_PROG LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -777,7 +776,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures this package to adapt to many kinds of systems.
+\`configure' configures vfs 1.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -833,7 +832,9 @@ _ACEOF
 fi
 
 if test -n "$ac_init_help"; then
-
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of vfs 1.3:";;
+   esac
   cat <<\_ACEOF
 
 Optional Features:
@@ -851,7 +852,6 @@ Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
   --with-tcl              directory containing tcl configuration (tclConfig.sh)
-  --with-tclinclude       directory containing the public Tcl header files
   --with-celib=DIR        use Windows/CE support library from DIR
 
 Some influential environment variables:
@@ -928,6 +928,8 @@ fi
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
+vfs configure 1.3
+generated by GNU Autoconf 2.57
 
 Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
 Free Software Foundation, Inc.
@@ -941,7 +943,7 @@ cat >&5 <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by $as_me, which was
+It was created by vfs $as_me 1.3, which was
 generated by GNU Autoconf 2.57.  Invocation command line was
 
   $ $0 $@
@@ -1270,74 +1272,45 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-#--------------------------------------------------------------------
-# Make sure we find tcl.m4 et. al. in the tclconfig subdirectory
-#--------------------------------------------------------------------
-ac_aux_dir=
-for ac_dir in tclconfig $srcdir/tclconfig; do
-  if test -f $ac_dir/install-sh; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f $ac_dir/install.sh; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f $ac_dir/shtool; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in tclconfig $srcdir/tclconfig" >&5
-echo "$as_me: error: cannot find install-sh or install.sh in tclconfig $srcdir/tclconfig" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
-
-CONFIGDIR=${srcdir}/tclconfig
-
-
-PACKAGE=vfs
 
-MAJOR_VERSION=1
-MINOR_VERSION=3
-PATCHLEVEL=
 
-VERSION=${MAJOR_VERSION}.${MINOR_VERSION}${PATCHLEVEL}
-NODOT_VERSION=${MAJOR_VERSION}${MINOR_VERSION}
 
 
 
 
-# This package name must be replaced statically for AC_SUBST to work
 
 
 #--------------------------------------------------------------------
-# We put this here so that you can compile with -DVERSION="1.2" to
-# encode the package version directly into the source files.
+# Call TEA_INIT as the first TEA_ macro to set up initial vars.
+# This will define a ${TEA_PLATFORM} variable == "unix" or "windows"
+# as well as PKG_LIB_FILE and PKG_STUB_LIB_FILE.
 #--------------------------------------------------------------------
 
-eval cat >>confdefs.h <<_ACEOF
-#define VERSION "${VERSION}"
-_ACEOF
-
 
+    TEA_VERSION="3.0"
 
     echo "$as_me:$LINENO: checking for correct TEA configuration" >&5
 echo $ECHO_N "checking for correct TEA configuration... $ECHO_C" >&6
-    if test x"${PACKAGE}" = x ; then
+    if test x"${PACKAGE_NAME}" = x ; then
        { { echo "$as_me:$LINENO: error:
-The PACKAGE variable must be defined by your TEA configure.in" >&5
+The PACKAGE_NAME variable must be defined by your TEA configure.in" >&5
 echo "$as_me: error:
-The PACKAGE variable must be defined by your TEA configure.in" >&2;}
+The PACKAGE_NAME variable must be defined by your TEA configure.in" >&2;}
    { (exit 1); exit 1; }; }
     fi
-    echo "$as_me:$LINENO: result: ok" >&5
+    if test x"3.0" = x ; then
+       { { echo "$as_me:$LINENO: error:
+TEA version not specified." >&5
+echo "$as_me: error:
+TEA version not specified." >&2;}
+   { (exit 1); exit 1; }; }
+    elif test "3.0" != "${TEA_VERSION}" ; then
+       echo "$as_me:$LINENO: result: warning: TEA version \"3.0\" != ${TEA_VERSION}" >&5
+echo "${ECHO_T}warning: TEA version \"3.0\" != ${TEA_VERSION}" >&6
+    else
+       echo "$as_me:$LINENO: result: ok" >&5
 echo "${ECHO_T}ok" >&6
+    fi
     case "`uname -s`" in
        *win32*|*WIN32*|*CYGWIN_NT*|*CYGWIN_9*|*CYGWIN_ME*|*MINGW32_*)
            # Extract the first word of "cygpath", so it can be a program name with args.
@@ -1392,6 +1365,47 @@ fi
 
 
 
+    # This package name must be replaced statically for AC_SUBST to work
+
+    # Substitute STUB_LIB_FILE in case package creates a stub library too.
+
+
+    # We AC_SUBST these here to ensure they are subst'ed,
+    # in case the user doesn't call TEA_ADD_...
+
+
+
+
+
+
+
+
+
+ac_aux_dir=
+for ac_dir in tclconfig $srcdir/tclconfig; do
+  if test -f $ac_dir/install-sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f $ac_dir/install.sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f $ac_dir/shtool; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in tclconfig $srcdir/tclconfig" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in tclconfig $srcdir/tclconfig" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
 
 
 
@@ -1574,7 +1588,7 @@ echo "$as_me: WARNING: --exec-prefix defaulting to TCL_EXEC_PREFIX ${TCL_EXEC_PR
 
 
     # Don't put any macros that use the compiler (e.g. AC_TRY_COMPILE)
-    # in this macro, they need to go into TEA_SETUP_COMPILER_FLAGS instead.
+    # in this macro, they need to go into TEA_SETUP_COMPILER instead.
 
     # If the user did not set CFLAGS, set it now to keep
     # the AC_PROG_CC macro from adding "-g -O2".
@@ -3420,26 +3434,31 @@ rm -f conftest.$ac_objext conftest.$ac_ext
        # See if we should use long anyway  Note that we substitute in the
        # type that is our current guess for a 64-bit type inside this check
        # program, so it should be modified only carefully...
-       if test "$cross_compiling" = yes; then
-  :
-else
-  cat >conftest.$ac_ext <<_ACEOF
+        cat >conftest.$ac_ext <<_ACEOF
 #line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <unistd.h>
-           int main() {exit(!(sizeof(${tcl_type_64bit}) > sizeof(long)));}
 
+int
+main ()
+{
+switch (0) {
+            case 1: case (sizeof(${tcl_type_64bit})==sizeof(long)): ;
+        }
+  ;
+  return 0;
+}
 _ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3447,15 +3466,11 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   (exit $ac_status); }; }; then
   tcl_cv_type_64bit=${tcl_type_64bit}
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+  echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-( exit $ac_status )
-:
-fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+rm -f conftest.$ac_objext conftest.$ac_ext
 fi
 
     if test "${tcl_cv_type_64bit}" = none ; then
@@ -5925,10 +5940,13 @@ fi
 
 
     # OS/390 lacks sys/param.h (and doesn't need it, by chance).
+    # tkUnixPort.h checks for HAVE_LIMITS_H, so do both HAVE and
+    # CHECK on limits.h
+
 
 
 
-for ac_header in unistd.h sys/param.h
+for ac_header in limits.h unistd.h sys/param.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
@@ -6071,226 +6089,161 @@ done
 
 
 
+       # Let the user call this, because if it triggers, they will
+       # need a compat/strtod.c that is correct.  Users can also
+       # use Tcl_GetDouble(FromObj) instead.
+       #TEA_BUGGY_STRTOD
+    fi
 
-    echo "$as_me:$LINENO: checking for strtod" >&5
-echo $ECHO_N "checking for strtod... $ECHO_C" >&6
-if test "${ac_cv_func_strtod+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char strtod (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char strtod ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_strtod) || defined (__stub___strtod)
-choke me
-#else
-char (*f) () = strtod;
-#endif
-#ifdef __cplusplus
-}
-#endif
 
-int
-main ()
-{
-return f != strtod;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_func_strtod=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_strtod=no
-fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_strtod" >&5
-echo "${ECHO_T}$ac_cv_func_strtod" >&6
-if test $ac_cv_func_strtod = yes; then
-  tcl_strtod=1
-else
-  tcl_strtod=0
-fi
+    vars="vfs.c"
+    for i in $vars; do
+       case $i in
+           \$*)
+               # allow $-var names
+               PKG_SOURCES="$PKG_SOURCES $i"
+               PKG_OBJECTS="$PKG_OBJECTS $i"
+               ;;
+           *)
+               # check for existence - allows for generic/win/unix VPATH
+               if test ! -f "${srcdir}/$i" -a ! -f "${srcdir}/generic/$i" \
+                   -a ! -f "${srcdir}/win/$i" -a ! -f "${srcdir}/unix/$i" \
+                   ; then
+                   { { echo "$as_me:$LINENO: error: could not find source file '$i'" >&5
+echo "$as_me: error: could not find source file '$i'" >&2;}
+   { (exit 1); exit 1; }; }
+               fi
+               PKG_SOURCES="$PKG_SOURCES $i"
+               # this assumes it is in a VPATH dir
+               i=`basename $i`
+               # handle user calling this before or after TEA_SETUP_COMPILER
+               if test x"${OBJEXT}" != x ; then
+                   j="`echo $i | sed -e 's/\.[^.]*$//'`.${OBJEXT}"
+               else
+                   j="`echo $i | sed -e 's/\.[^.]*$//'`.\${OBJEXT}"
+               fi
+               PKG_OBJECTS="$PKG_OBJECTS $j"
+               ;;
+       esac
+    done
 
-    if test "$tcl_strtod" = 1; then
-       echo "$as_me:$LINENO: checking for Solaris2.4/Tru64 strtod bugs" >&5
-echo $ECHO_N "checking for Solaris2.4/Tru64 strtod bugs... $ECHO_C" >&6
-       if test "$cross_compiling" = yes; then
-  tcl_ok=0
-else
-  cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-           extern double strtod();
-           int main()
-           {
-               char *string = "NaN", *spaceString = " ";
-               char *term;
-               double value;
-               value = strtod(string, &term);
-               if ((term != string) && (term[-1] == 0)) {
-                   exit(1);
-               }
-               value = strtod(spaceString, &term);
-               if (term == (spaceString+1)) {
-                   exit(1);
-               }
-               exit(0);
-           }
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  tcl_ok=1
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-( exit $ac_status )
-tcl_ok=0
-fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-       if test "$tcl_ok" = 1; then
-           echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6
-       else
-           echo "$as_me:$LINENO: result: buggy" >&5
-echo "${ECHO_T}buggy" >&6
-           #LIBOBJS="$LIBOBJS fixstrtod.o"
-           LIBOBJS="$LIBOBJS fixstrtod.$ac_objext"
-           USE_COMPAT=1
-           cat >>confdefs.h <<\_ACEOF
-#define strtod fixstrtod
-_ACEOF
 
+    vars=""
+    for i in $vars; do
+       # check for existence, be strict because it is installed
+       if test ! -f "${srcdir}/$i" ; then
+           { { echo "$as_me:$LINENO: error: could not find header file '${srcdir}/$i'" >&5
+echo "$as_me: error: could not find header file '${srcdir}/$i'" >&2;}
+   { (exit 1); exit 1; }; }
        fi
-    fi
+       PKG_HEADERS="$PKG_HEADERS $i"
+    done
 
-    fi
 
 
+    vars="-I\"$(${CYGPATH} ${TCL_SRC_DIR}/generic)\""
+    for i in $vars; do
+       PKG_INCLUDES="$PKG_INCLUDES $i"
+    done
 
-    echo "$as_me:$LINENO: checking for Tcl public headers" >&5
-echo $ECHO_N "checking for Tcl public headers... $ECHO_C" >&6
 
 
-# Check whether --with-tclinclude or --without-tclinclude was given.
-if test "${with_tclinclude+set}" = set; then
-  withval="$with_tclinclude"
-  with_tclinclude=${withval}
-fi;
+    vars=""
+    for i in $vars; do
+       PKG_LIBS="$PKG_LIBS $i"
+    done
 
-    if test "${ac_cv_c_tclh+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
 
-       # Use the value from --with-tclinclude, if it was given
 
-       if test x"${with_tclinclude}" != x ; then
-           if test -f "${with_tclinclude}/tcl.h" ; then
-               ac_cv_c_tclh=${with_tclinclude}
-           else
-               { { echo "$as_me:$LINENO: error: ${with_tclinclude} directory does not contain tcl.h" >&5
-echo "$as_me: error: ${with_tclinclude} directory does not contain tcl.h" >&2;}
+    PKG_CFLAGS="$PKG_CFLAGS "
+
+
+
+    vars=""
+    for i in $vars; do
+       # check for existence - allows for generic/win/unix VPATH
+       if test ! -f "${srcdir}/$i" -a ! -f "${srcdir}/generic/$i" \
+           -a ! -f "${srcdir}/win/$i" -a ! -f "${srcdir}/unix/$i" \
+           ; then
+           { { echo "$as_me:$LINENO: error: could not find stub source file '$i'" >&5
+echo "$as_me: error: could not find stub source file '$i'" >&2;}
    { (exit 1); exit 1; }; }
-           fi
+       fi
+       PKG_STUB_SOURCES="$PKG_STUB_SOURCES $i"
+       # this assumes it is in a VPATH dir
+       i=`basename $i`
+       # handle user calling this before or after TEA_SETUP_COMPILER
+       if test x"${OBJEXT}" != x ; then
+           j="`echo $i | sed -e 's/\.[^.]*$//'`.${OBJEXT}"
        else
-           # Check order: pkg --prefix location, Tcl's --prefix location,
-           # directory of tclConfig.sh, and Tcl source directory.
-           # Looking in the source dir is not ideal, but OK.
-
-           eval "temp_includedir=${includedir}"
-           list="`ls -d ${temp_includedir}      2>/dev/null` \
-               `ls -d ${TCL_PREFIX}/include     2>/dev/null` \
-               `ls -d ${TCL_BIN_DIR}/../include 2>/dev/null` \
-               `ls -d ${TCL_SRC_DIR}/generic    2>/dev/null`"
-           if test "${TEA_PLATFORM}" != "windows" -o "$GCC" = "yes"; then
-               list="$list /usr/local/include /usr/include"
-           fi
-           for i in $list ; do
-               if test -f "$i/tcl.h" ; then
-                   ac_cv_c_tclh=$i
-                   break
-               fi
-           done
+           j="`echo $i | sed -e 's/\.[^.]*$//'`.\${OBJEXT}"
        fi
+       PKG_STUB_OBJECTS="$PKG_STUB_OBJECTS $j"
+    done
 
-fi
 
 
-    # Print a message based on how we determined the include path
 
-    if test x"${ac_cv_c_tclh}" = x ; then
-       { { echo "$as_me:$LINENO: error: tcl.h not found.  Please specify its location with --with-tclinclude" >&5
-echo "$as_me: error: tcl.h not found.  Please specify its location with --with-tclinclude" >&2;}
+    vars=""
+    for i in $vars; do
+       # check for existence, be strict because it is installed
+       if test ! -f "${srcdir}/$i" ; then
+           { { echo "$as_me:$LINENO: error: could not find tcl source file '${srcdir}/$i'" >&5
+echo "$as_me: error: could not find tcl source file '${srcdir}/$i'" >&2;}
    { (exit 1); exit 1; }; }
+       fi
+       PKG_TCL_SOURCES="$PKG_TCL_SOURCES $i"
+    done
+
+
+
+#TEA_PUBLIC_TCL_HEADERS
+
+    echo "$as_me:$LINENO: checking for Tcl private include files" >&5
+echo $ECHO_N "checking for Tcl private include files... $ECHO_C" >&6
+
+    if test "${TEA_PLATFORM}" = "windows"; then
+       TCL_TOP_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}`\"
+       TCL_GENERIC_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/generic`\"
+       TCL_UNIX_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/unix`\"
+       TCL_WIN_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/win`\"
+       TCL_BMAP_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/bitmaps`\"
+       TCL_TOOL_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/tools`\"
+       TCL_COMPAT_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/compat`\"
+       TCL_PLATFORM_DIR_NATIVE=${TCL_WIN_DIR_NATIVE}
+
+       TCL_INCLUDES="-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}"
     else
-       echo "$as_me:$LINENO: result: ${ac_cv_c_tclh}" >&5
-echo "${ECHO_T}${ac_cv_c_tclh}" >&6
+       TCL_TOP_DIR_NATIVE='$(TCL_SRC_DIR)'
+       TCL_GENERIC_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/generic'
+       TCL_UNIX_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/unix'
+       TCL_WIN_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/win'
+       TCL_BMAP_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/bitmaps'
+       TCL_TOOL_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/tools'
+       TCL_COMPAT_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/compat'
+       TCL_PLATFORM_DIR_NATIVE=${TCL_UNIX_DIR_NATIVE}
+
+       # substitute these in "relaxed" so that TCL_INCLUDES still works
+       # without requiring the other vars to be defined in the Makefile
+       eval "TCL_INCLUDES=\"-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}\""
     fi
 
-    # Convert to a native path and substitute into the output files.
 
-    INCLUDE_DIR_NATIVE=`${CYGPATH} ${ac_cv_c_tclh}`
 
-    TCL_INCLUDES=-I\"${INCLUDE_DIR_NATIVE}\"
 
 
 
 
+
+
+
+    echo "$as_me:$LINENO: result: Using srcdir found in tclConfig.sh: ${TCL_SRC_DIR}" >&5
+echo "${ECHO_T}Using srcdir found in tclConfig.sh: ${TCL_SRC_DIR}" >&6
+
+
 #--------------------------------------------------------------------
 # A few miscellaneous platform-specific items:
 #
@@ -6308,14 +6261,13 @@ echo "${ECHO_T}${ac_cv_c_tclh}" >&6
 #--------------------------------------------------------------------
 
 if test "${TEA_PLATFORM}" = "windows" ; then
-    cat >>confdefs.h <<_ACEOF
-#define BUILD_${PACKAGE} 1
+    cat >>confdefs.h <<\_ACEOF
+#define BUILD_sample 1
 _ACEOF
 
-    CLEANFILES="*.lib *.dll *.exp *.ilk *.pdb vc*.pch"
-
+    CLEANFILES="pkgIndex.tcl *.lib *.dll *.exp *.ilk *.pdb vc*.pch"
 else
-    CLEANFILES=""
+    CLEANFILES="pkgIndex.tcl"
 fi
 
 
@@ -6873,10 +6825,10 @@ echo "${ECHO_T}no (default)" >&6
        *THREADS=1*)
            if test "${TCL_THREADS}" = "0"; then
                { echo "$as_me:$LINENO: WARNING:
-    Building ${PACKAGE} without threads enabled, but building against a Tcl
+    Building ${PACKAGE_NAME} without threads enabled, but building against a Tcl
     that IS thread-enabled." >&5
 echo "$as_me: WARNING:
-    Building ${PACKAGE} without threads enabled, but building against a Tcl
+    Building ${PACKAGE_NAME} without threads enabled, but building against a Tcl
     that IS thread-enabled." >&2;}
            fi
            ;;
@@ -6894,7 +6846,6 @@ echo "$as_me: WARNING:
 
 
 
-
     echo "$as_me:$LINENO: checking how to build libraries" >&5
 echo $ECHO_N "checking how to build libraries... $ECHO_C" >&6
     # Check whether --enable-shared or --disable-shared was given.
@@ -6930,7 +6881,6 @@ _ACEOF
 
 
 
-
     # Step 0: Enable 64 bit support?
 
     echo "$as_me:$LINENO: checking if 64bit support is enabled" >&5
@@ -7082,8 +7032,8 @@ fi
     EXTRA_CFLAGS=""
     TCL_EXPORT_FILE_SUFFIX=""
     UNSHARED_LIB_SUFFIX=""
-    TCL_TRIM_DOTS='`echo ${VERSION} | tr -d .`'
-    ECHO_VERSION='`echo ${VERSION}`'
+    TCL_TRIM_DOTS='`echo ${PACKAGE_VERSION} | tr -d .`'
+    ECHO_VERSION='`echo ${PACKAGE_VERSION}`'
     TCL_LIB_VERSIONS_OK=ok
     CFLAGS_DEBUG=-g
     CFLAGS_OPTIMIZE=-O
@@ -7131,6 +7081,7 @@ echo "${ECHO_T}no" >&6
 fi
 
     STLIB_LD='${AR} cr'
+    LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH"
     case $system in
        windows)
            # This is a 2-stage check to make sure we have the 64-bit SDK
@@ -7376,6 +7327,7 @@ echo "${ECHO_T}Using $CC for compiling with threads" >&6
 
            DL_OBJS="tclLoadDl.o"
            LDFLAGS=""
+           LD_LIBRARY_PATH_VAR="LIBPATH"
 
            # AIX v<=4.1 has some different flags than 4.2+
            if test "$system" = "AIX-4.1" -o "`uname -v`" -lt "4" ; then
@@ -7395,7 +7347,7 @@ echo "$as_me: WARNING: \"64bit mode not supported with GCC on $system\"" >&2;}
                    LDFLAGS="-q64"
                    RANLIB="${RANLIB} -X64"
                    AR="${AR} -X64"
-                   SHLIB_LDFLAGS="-b64"
+                   SHLIB_LD_FLAGS="-b64"
                fi
            fi
 
@@ -7414,7 +7366,7 @@ echo "$as_me: WARNING: \"64bit mode not supported with GCC on $system\"" >&2;}
                DL_LIBS="-ldl"
                LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'
                TCL_NEEDS_EXP_FILE=1
-               TCL_EXPORT_FILE_SUFFIX='${VERSION}\$\{DBGX\}.exp'
+               TCL_EXPORT_FILE_SUFFIX='${PACKAGE_VERSION}\$\{DBGX\}.exp'
            fi
 
            # On AIX <=v4 systems, libbsd.a has to be linked in to support
@@ -7604,6 +7556,7 @@ fi
                LDFLAGS="-Wl,-E"
                LD_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'
            fi
+           LD_LIBRARY_PATH_VAR="SHLIB_PATH"
 
            # Users may want PA-RISC 1.1/2.0 portable code - needs HP cc
            #EXTRA_CFLAGS="+DAportable"
@@ -7708,6 +7661,7 @@ fi
                LDFLAGS="-Wl,-E"
                LD_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'
            fi
+           LD_LIBRARY_PATH_VAR="SHLIB_PATH"
            ;;
        IRIX-4.*)
            SHLIB_CFLAGS="-G 0"
@@ -7718,7 +7672,7 @@ fi
            DL_LIBS=""
            LDFLAGS="-Wl,-D,08000000"
            LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'
-           SHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}.a'
+           SHARED_LIB_SUFFIX='${PACKAGE_VERSION}\$\{DBGX\}.a'
            ;;
        IRIX-5.*)
            SHLIB_CFLAGS=""
@@ -8129,7 +8083,7 @@ fi
            LDFLAGS="-Wl,-Bexport"
            LD_SEARCH_FLAGS=""
            ;;
-       NetBSD-*|FreeBSD-[1-2].*|OpenBSD-*)
+       NetBSD-*|FreeBSD-[1-2].*)
            # Not available on all versions:  check for include file.
            if test "${ac_cv_header_dlfcn_h+set}" = set; then
   echo "$as_me:$LINENO: checking for dlfcn.h" >&5
@@ -8318,6 +8272,47 @@ fi
 
            # FreeBSD doesn't handle version numbers with dots.
 
+           UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
+           TCL_LIB_VERSIONS_OK=nodots
+           ;;
+       OpenBSD-*)
+           SHLIB_LD="${CC} -shared"
+           SHLIB_LD_LIBS='${LIBS}'
+           SHLIB_SUFFIX=".so"
+           DL_OBJS="tclLoadDl.o"
+           DL_LIBS=""
+           LDFLAGS=""
+           LD_SEARCH_FLAGS=""
+           echo "$as_me:$LINENO: checking for ELF" >&5
+echo $ECHO_N "checking for ELF... $ECHO_C" >&6
+           cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#ifdef __ELF__
+       yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+               SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1.0'
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+               SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1.0'
+
+fi
+rm -f conftest*
+
+
+           # OpenBSD doesn't do version numbers with dots.
            UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
            TCL_LIB_VERSIONS_OK=nodots
            ;;
@@ -8349,13 +8344,14 @@ fi
        Rhapsody-*|Darwin-*)
            SHLIB_CFLAGS="-fno-common"
            SHLIB_LD="cc -dynamiclib \${LDFLAGS}"
-           TCL_SHLIB_LD_EXTRAS="-compatibility_version ${TCL_MAJOR_VERSION} -current_version \${VERSION} -install_name \${LIB_RUNTIME_DIR}/\${TCL_LIB_FILE} -prebind -seg1addr 0xa000000"
+           TCL_SHLIB_LD_EXTRAS="-compatibility_version ${TCL_MAJOR_VERSION} -current_version \${PACKAGE_VERSION} -install_name \${LIB_RUNTIME_DIR}/\${TCL_LIB_FILE} -prebind -seg1addr 0xa000000"
            SHLIB_LD_LIBS='${LIBS}'
            SHLIB_SUFFIX=".dylib"
            DL_OBJS="tclLoadDyld.o"
            DL_LIBS=""
            LDFLAGS="-prebind"
            LD_SEARCH_FLAGS=""
+           LD_LIBRARY_PATH_VAR="DYLD_LIBRARY_PATH"
            CFLAGS_OPTIMIZE="-O3"
            EXTRA_CFLAGS="-arch ppc -pipe"
            ;;
@@ -8908,7 +8904,7 @@ fi;
                    ;;
                IRIX*)
                    ;;
-               NetBSD-*|FreeBSD-*|OpenBSD-*)
+               NetBSD-*|FreeBSD-*)
                    ;;
                Rhapsody-*|Darwin-*)
                    ;;
@@ -8928,10 +8924,10 @@ fi;
     fi
 
     if test "$SHARED_LIB_SUFFIX" = "" ; then
-       SHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}${SHLIB_SUFFIX}'
+       SHARED_LIB_SUFFIX='${PACKAGE_VERSION}\$\{DBGX\}${SHLIB_SUFFIX}'
     fi
     if test "$UNSHARED_LIB_SUFFIX" = "" ; then
-       UNSHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}.a'
+       UNSHARED_LIB_SUFFIX='${PACKAGE_VERSION}\$\{DBGX\}.a'
     fi
 
 
@@ -8940,7 +8936,6 @@ fi;
 
 
 
-    SHLIB_LDFLAGS='$(LDFLAGS_DEFAULT)'
 
 
 
@@ -8969,15 +8964,15 @@ else
   tcl_ok=no
 fi;
     if test "$tcl_ok" = "no"; then
-       CFLAGS_DEFAULT='$(CFLAGS_OPTIMIZE)'
-       LDFLAGS_DEFAULT='$(LDFLAGS_OPTIMIZE)'
+       CFLAGS_DEFAULT="${CFLAGS_OPTIMIZE}"
+       LDFLAGS_DEFAULT="${LDFLAGS_OPTIMIZE}"
        DBGX=""
        TCL_DBGX=""
        echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6
     else
-       CFLAGS_DEFAULT='$(CFLAGS_DEBUG)'
-       LDFLAGS_DEFAULT='$(LDFLAGS_DEBUG)'
+       CFLAGS_DEFAULT="${CFLAGS_DEBUG}"
+       LDFLAGS_DEFAULT="${LDFLAGS_DEBUG}"
        DBGX=${tcl_dbgx}
        TCL_DBGX=${tcl_dbgx}
        if test "$tcl_ok" = "yes"; then
@@ -8985,6 +8980,9 @@ echo "${ECHO_T}no" >&6
 echo "${ECHO_T}yes (standard debugging)" >&6
        fi
     fi
+    if test "${TEA_PLATFORM}" != "windows" ; then
+       LDFLAGS_DEFAULT="${LDFLAGS}"
+    fi
 
 
 
@@ -9015,13 +9013,13 @@ _ACEOF
 
 
     if test "${TEA_PLATFORM}" = "windows" -a "$GCC" != "yes"; then
-       MAKE_STATIC_LIB="\${STLIB_LD} -out:\$@ \$(\$(PACKAGE)_OBJECTS)"
-       MAKE_SHARED_LIB="\${SHLIB_LD} \${SHLIB_LDFLAGS} \${SHLIB_LD_LIBS} \$(LDFLAGS) -out:\$@ \$(\$(PACKAGE)_OBJECTS)"
-       MAKE_STUB_LIB="\${STLIB_LD} -out:\$@ \$(\$(PACKAGE)stub_OBJECTS)"
+       MAKE_STATIC_LIB="\${STLIB_LD} -out:\$@ \$(PKG_OBJECTS)"
+       MAKE_SHARED_LIB="\${SHLIB_LD} \${SHLIB_LD_FLAGS} \${SHLIB_LD_LIBS} \${LDFLAGS_DEFAULT} -out:\$@ \$(PKG_OBJECTS)"
+       MAKE_STUB_LIB="\${STLIB_LD} -out:\$@ \$(PKG_STUB_OBJECTS)"
     else
-       MAKE_STATIC_LIB="\${STLIB_LD} \$@ \$(\$(PACKAGE)_OBJECTS)"
-       MAKE_SHARED_LIB="\${SHLIB_LD} -o \$@ \$(\$(PACKAGE)_OBJECTS) \${SHLIB_LDFLAGS} \${SHLIB_LD_LIBS}"
-       MAKE_STUB_LIB="\${STLIB_LD} \$@ \$(\$(PACKAGE)stub_OBJECTS)"
+       MAKE_STATIC_LIB="\${STLIB_LD} \$@ \$(PKG_OBJECTS)"
+       MAKE_SHARED_LIB="\${SHLIB_LD} -o \$@ \$(PKG_OBJECTS) \${SHLIB_LD_FLAGS} \${SHLIB_LD_LIBS}"
+       MAKE_STUB_LIB="\${STLIB_LD} \$@ \$(PKG_STUB_OBJECTS)"
     fi
 
     if test "${SHARED_BUILD}" = "1" ; then
@@ -9036,6 +9034,7 @@ _ACEOF
     # substituted.
     #--------------------------------------------------------------------
 
+    RANLIB_STUB="${RANLIB}"
     if test "${TEA_PLATFORM}" = "windows" ; then
        if test "${SHARED_BUILD}" = "1" ; then
            # We force the unresolved linking of symbols that are really in
@@ -9044,26 +9043,26 @@ _ACEOF
            if test x"${TK_BIN_DIR}" != x ; then
                SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \"`${CYGPATH} ${TK_BIN_DIR}/${TK_STUB_LIB_FILE}`\""
            fi
-           eval eval "${PACKAGE}_LIB_FILE=${PACKAGE}${SHARED_LIB_SUFFIX}"
+           eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${SHARED_LIB_SUFFIX}"
            RANLIB=:
        else
-           eval eval "${PACKAGE}_LIB_FILE=${PACKAGE}${UNSHARED_LIB_SUFFIX}"
+           eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}"
        fi
        # Some packages build there own stubs libraries
-       eval eval "${PACKAGE}stub_LIB_FILE=${PACKAGE}stub${UNSHARED_LIB_SUFFIX}"
+       eval eval "PKG_STUB_LIB_FILE=${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}"
     else
        if test "${SHARED_BUILD}" = "1" ; then
            SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TCL_STUB_LIB_SPEC}"
            if test x"${TK_BIN_DIR}" != x ; then
                SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TK_STUB_LIB_SPEC}"
            fi
-           eval eval "${PACKAGE}_LIB_FILE=lib${PACKAGE}${SHARED_LIB_SUFFIX}"
+           eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${SHARED_LIB_SUFFIX}"
            RANLIB=:
        else
-           eval eval "${PACKAGE}_LIB_FILE=lib${PACKAGE}${UNSHARED_LIB_SUFFIX}"
+           eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}"
        fi
        # Some packages build there own stubs libraries
-       eval eval "${PACKAGE}stub_LIB_FILE=lib${PACKAGE}stub${UNSHARED_LIB_SUFFIX}"
+       eval eval "PKG_STUB_LIB_FILE=lib${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}"
     fi
 
     # These are escaped so that only CFLAGS is picked up at configure time.
@@ -9080,6 +9079,7 @@ _ACEOF
 
 
 
+
     echo "$as_me:$LINENO: checking for tclsh" >&5
 echo $ECHO_N "checking for tclsh... $ECHO_C" >&6
 
@@ -9121,16 +9121,7 @@ echo "$as_me: error: No tclsh found in PATH:  $search_path" >&2;}
 
 
 
-#--------------------------------------------------------------------
-# Finally, substitute all of the various values into the Makefile.
-#--------------------------------------------------------------------
-
-OUTFILES="Makefile"
-if test "x${SHARED_BUILD}" = "x1" ; then
-    OUTFILES="$OUTFILES library/pkgIndex.tcl"
-fi
-
-          ac_config_files="$ac_config_files $OUTFILES"
+                    ac_config_files="$ac_config_files Makefile pkgIndex.tcl"
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
@@ -9522,7 +9513,7 @@ _ASBOX
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by $as_me, which was
+This file was extended by vfs $as_me 1.3, which was
 generated by GNU Autoconf 2.57.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -9577,7 +9568,7 @@ _ACEOF
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-config.status
+vfs config.status 1.3
 configured by $0, generated by GNU Autoconf 2.57,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 
@@ -9681,7 +9672,8 @@ for ac_config_target in $ac_config_targets
 do
   case "$ac_config_target" in
   # Handling of arguments.
-  "$OUTFILES" ) CONFIG_FILES="$CONFIG_FILES $OUTFILES" ;;
+  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+  "pkgIndex.tcl" ) CONFIG_FILES="$CONFIG_FILES pkgIndex.tcl" ;;
   *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
 echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
    { (exit 1); exit 1; }; };;
@@ -9765,12 +9757,17 @@ s,@ECHO_C@,$ECHO_C,;t t
 s,@ECHO_N@,$ECHO_N,;t t
 s,@ECHO_T@,$ECHO_T,;t t
 s,@LIBS@,$LIBS,;t t
-s,@CONFIGDIR@,$CONFIGDIR,;t t
-s,@PACKAGE@,$PACKAGE,;t t
-s,@VERSION@,$VERSION,;t t
-s,@vfs_LIB_FILE@,$vfs_LIB_FILE,;t t
 s,@CYGPATH@,$CYGPATH,;t t
 s,@EXEEXT@,$EXEEXT,;t t
+s,@PKG_LIB_FILE@,$PKG_LIB_FILE,;t t
+s,@PKG_STUB_LIB_FILE@,$PKG_STUB_LIB_FILE,;t t
+s,@PKG_STUB_SOURCES@,$PKG_STUB_SOURCES,;t t
+s,@PKG_STUB_OBJECTS@,$PKG_STUB_OBJECTS,;t t
+s,@PKG_TCL_SOURCES@,$PKG_TCL_SOURCES,;t t
+s,@PKG_HEADERS@,$PKG_HEADERS,;t t
+s,@PKG_INCLUDES@,$PKG_INCLUDES,;t t
+s,@PKG_LIBS@,$PKG_LIBS,;t t
+s,@PKG_CFLAGS@,$PKG_CFLAGS,;t t
 s,@TCL_VERSION@,$TCL_VERSION,;t t
 s,@TCL_BIN_DIR@,$TCL_BIN_DIR,;t t
 s,@TCL_SRC_DIR@,$TCL_SRC_DIR,;t t
@@ -9800,12 +9797,21 @@ s,@RANLIB@,$RANLIB,;t t
 s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
 s,@EGREP@,$EGREP,;t t
 s,@MATH_LIBS@,$MATH_LIBS,;t t
-s,@LIBOBJS@,$LIBOBJS,;t t
+s,@PKG_SOURCES@,$PKG_SOURCES,;t t
+s,@PKG_OBJECTS@,$PKG_OBJECTS,;t t
+s,@TCL_TOP_DIR_NATIVE@,$TCL_TOP_DIR_NATIVE,;t t
+s,@TCL_GENERIC_DIR_NATIVE@,$TCL_GENERIC_DIR_NATIVE,;t t
+s,@TCL_UNIX_DIR_NATIVE@,$TCL_UNIX_DIR_NATIVE,;t t
+s,@TCL_WIN_DIR_NATIVE@,$TCL_WIN_DIR_NATIVE,;t t
+s,@TCL_BMAP_DIR_NATIVE@,$TCL_BMAP_DIR_NATIVE,;t t
+s,@TCL_TOOL_DIR_NATIVE@,$TCL_TOOL_DIR_NATIVE,;t t
+s,@TCL_PLATFORM_DIR_NATIVE@,$TCL_PLATFORM_DIR_NATIVE,;t t
 s,@TCL_INCLUDES@,$TCL_INCLUDES,;t t
 s,@CLEANFILES@,$CLEANFILES,;t t
 s,@TCL_THREADS@,$TCL_THREADS,;t t
 s,@SHARED_BUILD@,$SHARED_BUILD,;t t
 s,@AR@,$AR,;t t
+s,@LIBOBJS@,$LIBOBJS,;t t
 s,@DL_LIBS@,$DL_LIBS,;t t
 s,@CFLAGS_DEBUG@,$CFLAGS_DEBUG,;t t
 s,@CFLAGS_OPTIMIZE@,$CFLAGS_OPTIMIZE,;t t
@@ -9814,10 +9820,11 @@ s,@EXTRA_CFLAGS@,$EXTRA_CFLAGS,;t t
 s,@STLIB_LD@,$STLIB_LD,;t t
 s,@SHLIB_LD@,$SHLIB_LD,;t t
 s,@SHLIB_CFLAGS@,$SHLIB_CFLAGS,;t t
-s,@SHLIB_LDFLAGS@,$SHLIB_LDFLAGS,;t t
+s,@SHLIB_LD_FLAGS@,$SHLIB_LD_FLAGS,;t t
 s,@SHLIB_LD_LIBS@,$SHLIB_LD_LIBS,;t t
 s,@LDFLAGS_DEBUG@,$LDFLAGS_DEBUG,;t t
 s,@LDFLAGS_OPTIMIZE@,$LDFLAGS_OPTIMIZE,;t t
+s,@LD_LIBRARY_PATH_VAR@,$LD_LIBRARY_PATH_VAR,;t t
 s,@TCL_DBGX@,$TCL_DBGX,;t t
 s,@CFLAGS_DEFAULT@,$CFLAGS_DEFAULT,;t t
 s,@LDFLAGS_DEFAULT@,$LDFLAGS_DEFAULT,;t t
@@ -9825,6 +9832,7 @@ s,@MAKE_LIB@,$MAKE_LIB,;t t
 s,@MAKE_SHARED_LIB@,$MAKE_SHARED_LIB,;t t
 s,@MAKE_STATIC_LIB@,$MAKE_STATIC_LIB,;t t
 s,@MAKE_STUB_LIB@,$MAKE_STUB_LIB,;t t
+s,@RANLIB_STUB@,$RANLIB_STUB,;t t
 s,@TCLSH_PROG@,$TCLSH_PROG,;t t
 s,@LTLIBOBJS@,$LTLIBOBJS,;t t
 CEOF
index 34f50a371b164296a6541ad1904633f1d8653bf8..8f62b28b4a3ff41e4e62cc5e98ffaaa2c625f9a8 100644 (file)
@@ -7,44 +7,23 @@ dnl   to configure the system for the local environment.
 
 #--------------------------------------------------------------------
 # This configure.in is based on the Tcl Extension Architecture (TEA)
-# v2002 spec.  See the sampleextension module for a fully commented
+# v3 spec.  See the sampleextension module for a fully commented
 # version of the configure.in and makefiles to build your own extension.
 #    http://tcl.sourceforge.net/  'sampleextension' cvs module
 #    http://www.tcl.tk/           Tcl Developer Exchange
 #--------------------------------------------------------------------
 
-AC_INIT(generic/vfs.c)
+AC_INIT([vfs], [1.3])
 
 #--------------------------------------------------------------------
-# Make sure we find tcl.m4 et. al. in the tclconfig subdirectory
+# Call TEA_INIT as the first TEA_ macro to set up initial vars.
+# This will define a ${TEA_PLATFORM} variable == "unix" or "windows"
+# as well as PKG_LIB_FILE and PKG_STUB_LIB_FILE.
 #--------------------------------------------------------------------
-AC_CONFIG_AUX_DIR(tclconfig)
-CONFIGDIR=${srcdir}/tclconfig
-AC_SUBST(CONFIGDIR)
-
-PACKAGE=vfs
-
-MAJOR_VERSION=1
-MINOR_VERSION=3
-PATCHLEVEL=
-
-VERSION=${MAJOR_VERSION}.${MINOR_VERSION}${PATCHLEVEL}
-NODOT_VERSION=${MAJOR_VERSION}${MINOR_VERSION}
-
 
-AC_SUBST(PACKAGE)
-AC_SUBST(VERSION)
-# This package name must be replaced statically for AC_SUBST to work
-AC_SUBST(vfs_LIB_FILE)
+TEA_INIT([3.0])
 
-#--------------------------------------------------------------------
-# We put this here so that you can compile with -DVERSION="1.2" to
-# encode the package version directly into the source files.
-#--------------------------------------------------------------------
-
-eval AC_DEFINE_UNQUOTED(VERSION, "${VERSION}")
-
-TEA_INIT
+AC_CONFIG_AUX_DIR(tclconfig)
 
 TEA_PATH_TCLCONFIG
 TEA_LOAD_TCLCONFIG
@@ -53,7 +32,16 @@ TEA_PREFIX
 
 TEA_SETUP_COMPILER
 
-TEA_PUBLIC_TCL_HEADERS
+TEA_ADD_SOURCES([vfs.c])
+TEA_ADD_HEADERS([])
+TEA_ADD_INCLUDES([-I\"$(${CYGPATH} ${TCL_SRC_DIR}/generic)\"])
+TEA_ADD_LIBS([])
+TEA_ADD_CFLAGS([])
+TEA_ADD_STUB_SOURCES([])
+TEA_ADD_TCL_SOURCES([])
+
+#TEA_PUBLIC_TCL_HEADERS
+TEA_PRIVATE_TCL_HEADERS
 
 #--------------------------------------------------------------------
 # A few miscellaneous platform-specific items:
@@ -72,20 +60,16 @@ TEA_PUBLIC_TCL_HEADERS
 #--------------------------------------------------------------------
 
 if test "${TEA_PLATFORM}" = "windows" ; then
-    AC_DEFINE_UNQUOTED(BUILD_${PACKAGE})
-    CLEANFILES="*.lib *.dll *.exp *.ilk *.pdb vc*.pch"
-    AC_SUBST(CLEANFILES)
+    AC_DEFINE(BUILD_sample)
+    CLEANFILES="pkgIndex.tcl *.lib *.dll *.exp *.ilk *.pdb vc*.pch"
 else
-    CLEANFILES=""
+    CLEANFILES="pkgIndex.tcl"
 fi
 AC_SUBST(CLEANFILES)
 
 TEA_ENABLE_THREADS
-
 TEA_ENABLE_SHARED
-
 TEA_CONFIG_CFLAGS
-
 TEA_ENABLE_SYMBOLS
 
 AC_DEFINE(USE_TCL_STUBS)
@@ -94,13 +78,4 @@ TEA_MAKE_LIB
 
 TEA_PROG_TCLSH
 
-#--------------------------------------------------------------------
-# Finally, substitute all of the various values into the Makefile.
-#--------------------------------------------------------------------
-
-OUTFILES="Makefile"
-if test "x${SHARED_BUILD}" = "x1" ; then
-    OUTFILES="$OUTFILES library/pkgIndex.tcl"
-fi
-
-AC_OUTPUT([$OUTFILES])
+AC_OUTPUT([Makefile pkgIndex.tcl])
similarity index 84%
rename from library/pkgIndex.tcl.in
rename to pkgIndex.tcl.in
index 8aef51d5e7011a2cb362630b75cdc8ddb7d24a1d..3c1794e7a20e85ca1767c703f0e1e3afca881118 100644 (file)
@@ -1,9 +1,8 @@
 # Tcl package index file, version 1.1
 # This file was generated by hand.
-# 
+#
 # This will be autogenerated by configure to use the correct name
 # for the vfs dynamic library.
-# Keep in sync with pkgIndex.tcl until that goes away.
 
 # We don't really want to throw an error with older versions of
 # Tcl, they should just ignore us.
@@ -13,7 +12,7 @@ if {[package provide Tcl] < 8.4} {
 package require Tcl 8.4
 
 namespace eval ::vfs {}
-variable vfs::dll [file join $dir @vfs_LIB_FILE@]
+variable vfs::dll [file join $dir @PKG_LIB_FILE@]
 
 proc loadvfs {dll} {
     global auto_path
@@ -25,7 +24,11 @@ proc loadvfs {dll} {
     load $dll
 }
 
-package ifneeded vfs        1.3.0 [list loadvfs $vfs::dll]
+package ifneeded vfs        @PACKAGE_VERSION@ [list loadvfs $vfs::dll]
+
+# Allow optional redirect of VFS_LIBRARY components.  Only necessary
+# for testing, but could be used elsewhere.
+if {[info exists ::env(VFS_LIBRARY)]} { set dir $::env(VFS_LIBRARY) }
 package ifneeded starkit    1.3.1 [list source [file join $dir starkit.tcl]]
 package ifneeded vfslib     1.3.1 [list source [file join $dir vfslib.tcl]]
 
index e443b999f77791aa08c5e905c036498f29beb1c9..cf2845389ba405314073672f1869ee452ba735d1 100644 (file)
@@ -499,7 +499,7 @@ AC_DEFUN(TEA_ENABLE_THREADS, [
        *THREADS=1*)
            if test "${TCL_THREADS}" = "0"; then
                AC_MSG_WARN([
-    Building ${PACKAGE} without threads enabled, but building against a Tcl
+    Building ${PACKAGE_NAME} without threads enabled, but building against a Tcl
     that IS thread-enabled.])
            fi
            ;;
@@ -545,7 +545,7 @@ AC_DEFUN(TEA_ENABLE_THREADS, [
 
 AC_DEFUN(TEA_ENABLE_SYMBOLS, [
     dnl Make sure we are initialized
-    AC_REQUIRE([TEA_INIT])
+    AC_REQUIRE([TEA_CONFIG_CFLAGS])
 
     if test "${TEA_PLATFORM}" = "windows" ; then
        tcl_dbgx=d
@@ -556,20 +556,23 @@ AC_DEFUN(TEA_ENABLE_SYMBOLS, [
     AC_MSG_CHECKING([for build with symbols])
     AC_ARG_ENABLE(symbols, [  --enable-symbols        build with debugging symbols [--disable-symbols]],    [tcl_ok=$enableval], [tcl_ok=no])
     if test "$tcl_ok" = "no"; then
-       CFLAGS_DEFAULT='$(CFLAGS_OPTIMIZE)'
-       LDFLAGS_DEFAULT='$(LDFLAGS_OPTIMIZE)'
+       CFLAGS_DEFAULT="${CFLAGS_OPTIMIZE}"
+       LDFLAGS_DEFAULT="${LDFLAGS_OPTIMIZE}"
        DBGX=""
        TCL_DBGX=""
        AC_MSG_RESULT([no])
     else
-       CFLAGS_DEFAULT='$(CFLAGS_DEBUG)'
-       LDFLAGS_DEFAULT='$(LDFLAGS_DEBUG)'
+       CFLAGS_DEFAULT="${CFLAGS_DEBUG}"
+       LDFLAGS_DEFAULT="${LDFLAGS_DEBUG}"
        DBGX=${tcl_dbgx}
        TCL_DBGX=${tcl_dbgx}
        if test "$tcl_ok" = "yes"; then
            AC_MSG_RESULT([yes (standard debugging)])
        fi
     fi
+    if test "${TEA_PLATFORM}" != "windows" ; then
+       LDFLAGS_DEFAULT="${LDFLAGS}"
+    fi
 
     AC_SUBST(TCL_DBGX)
     AC_SUBST(CFLAGS_DEFAULT)
@@ -679,15 +682,17 @@ AC_DEFUN(TEA_ENABLE_LANGINFO, [
 #       TCL_LIB_FILE -  Name of the file that contains the Tcl library, such
 #                       as libtcl7.8.so or libtcl7.8.a.
 #       TCL_LIB_SUFFIX -Specifies everything that comes after the "libtcl"
-#                       in the shared library name, using the $VERSION variable
-#                       to put the version in the right place.  This is used
-#                       by platforms that need non-standard library names.
-#                       Examples:  ${VERSION}.so.1.1 on NetBSD, since it needs
-#                       to have a version after the .so, and ${VERSION}.a
-#                       on AIX, since the Tcl shared library needs to have
-#                       a .a extension whereas shared objects for loadable
-#                       extensions have a .so extension.  Defaults to
-#                       ${VERSION}${SHLIB_SUFFIX}.
+#                       in the shared library name, using the
+#                       ${PACKAGE_VERSION} variable to put the version in
+#                       the right place.  This is used by platforms that
+#                       need non-standard library names.
+#                       Examples:  ${PACKAGE_VERSION}.so.1.1 on NetBSD,
+#                       since it needs to have a version after the .so, and
+#                       ${PACKAGE_VERSION}.a on AIX, since the Tcl shared
+#                       library needs to have a .a extension whereas shared
+#                       objects for loadable extensions have a .so
+#                       extension.  Defaults to
+#                       ${PACKAGE_VERSION}${SHLIB_SUFFIX}.
 #       TCL_NEEDS_EXP_FILE -
 #                       1 means that an export file is needed to link to a
 #                       shared library.
@@ -714,7 +719,7 @@ AC_DEFUN(TEA_ENABLE_LANGINFO, [
 #              STLIB_LD
 #              SHLIB_LD
 #              SHLIB_CFLAGS
-#              SHLIB_LDFLAGS
+#              SHLIB_LD_FLAGS
 #              LDFLAGS_DEBUG
 #              LDFLAGS_OPTIMIZE
 #--------------------------------------------------------------------
@@ -788,8 +793,8 @@ AC_DEFUN(TEA_CONFIG_CFLAGS, [
     EXTRA_CFLAGS=""
     TCL_EXPORT_FILE_SUFFIX=""
     UNSHARED_LIB_SUFFIX=""
-    TCL_TRIM_DOTS='`echo ${VERSION} | tr -d .`'
-    ECHO_VERSION='`echo ${VERSION}`'
+    TCL_TRIM_DOTS='`echo ${PACKAGE_VERSION} | tr -d .`'
+    ECHO_VERSION='`echo ${PACKAGE_VERSION}`'
     TCL_LIB_VERSIONS_OK=ok
     CFLAGS_DEBUG=-g
     CFLAGS_OPTIMIZE=-O
@@ -805,6 +810,7 @@ dnl FIXME: Replace AC_CHECK_PROG with AC_CHECK_TOOL once cross compiling is fixe
 dnl AC_CHECK_TOOL(AR, ar, :)
     AC_CHECK_PROG(AR, ar, ar)
     STLIB_LD='${AR} cr'
+    LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH"
     case $system in
        windows)
            # This is a 2-stage check to make sure we have the 64-bit SDK
@@ -970,6 +976,7 @@ dnl AC_CHECK_TOOL(AR, ar, :)
 
            DL_OBJS="tclLoadDl.o"
            LDFLAGS=""
+           LD_LIBRARY_PATH_VAR="LIBPATH"
 
            # AIX v<=4.1 has some different flags than 4.2+
            if test "$system" = "AIX-4.1" -o "`uname -v`" -lt "4" ; then
@@ -988,7 +995,7 @@ dnl AC_CHECK_TOOL(AR, ar, :)
                    LDFLAGS="-q64"
                    RANLIB="${RANLIB} -X64"
                    AR="${AR} -X64"
-                   SHLIB_LDFLAGS="-b64"
+                   SHLIB_LD_FLAGS="-b64"
                fi
            fi
 
@@ -1007,7 +1014,7 @@ dnl AC_CHECK_TOOL(AR, ar, :)
                DL_LIBS="-ldl"
                LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'
                TCL_NEEDS_EXP_FILE=1
-               TCL_EXPORT_FILE_SUFFIX='${VERSION}\$\{DBGX\}.exp'
+               TCL_EXPORT_FILE_SUFFIX='${PACKAGE_VERSION}\$\{DBGX\}.exp'
            fi
 
            # On AIX <=v4 systems, libbsd.a has to be linked in to support
@@ -1073,6 +1080,7 @@ dnl AC_CHECK_TOOL(AR, ar, :)
                LDFLAGS="-Wl,-E"
                LD_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'
            fi
+           LD_LIBRARY_PATH_VAR="SHLIB_PATH"
 
            # Users may want PA-RISC 1.1/2.0 portable code - needs HP cc
            #EXTRA_CFLAGS="+DAportable"
@@ -1117,6 +1125,7 @@ dnl AC_CHECK_TOOL(AR, ar, :)
                LDFLAGS="-Wl,-E"
                LD_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'
            fi
+           LD_LIBRARY_PATH_VAR="SHLIB_PATH"
            ;;
        IRIX-4.*)
            SHLIB_CFLAGS="-G 0"
@@ -1127,7 +1136,7 @@ dnl AC_CHECK_TOOL(AR, ar, :)
            DL_LIBS=""
            LDFLAGS="-Wl,-D,08000000"
            LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'
-           SHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}.a'
+           SHARED_LIB_SUFFIX='${PACKAGE_VERSION}\$\{DBGX\}.a'
            ;;
        IRIX-5.*)
            SHLIB_CFLAGS=""
@@ -1271,7 +1280,7 @@ dnl AC_CHECK_TOOL(AR, ar, :)
            LDFLAGS="-Wl,-Bexport"
            LD_SEARCH_FLAGS=""
            ;;
-       NetBSD-*|FreeBSD-[[1-2]].*|OpenBSD-*)
+       NetBSD-*|FreeBSD-[[1-2]].*)
            # Not available on all versions:  check for include file.
            AC_CHECK_HEADER(dlfcn.h, [
                # NetBSD/SPARC needs -fPIC, -fpic will not do.
@@ -1308,6 +1317,30 @@ dnl AC_CHECK_TOOL(AR, ar, :)
 
            # FreeBSD doesn't handle version numbers with dots.
 
+           UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
+           TCL_LIB_VERSIONS_OK=nodots
+           ;;
+       OpenBSD-*)
+           SHLIB_LD="${CC} -shared"
+           SHLIB_LD_LIBS='${LIBS}'
+           SHLIB_SUFFIX=".so"
+           DL_OBJS="tclLoadDl.o"
+           DL_LIBS=""
+           LDFLAGS=""
+           LD_SEARCH_FLAGS=""
+           AC_MSG_CHECKING(for ELF)
+           AC_EGREP_CPP(yes, [
+#ifdef __ELF__
+       yes
+#endif
+           ],
+               [AC_MSG_RESULT(yes)
+               SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1.0'],
+               [AC_MSG_RESULT(no)
+               SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1.0']
+           )
+
+           # OpenBSD doesn't do version numbers with dots.
            UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
            TCL_LIB_VERSIONS_OK=nodots
            ;;
@@ -1339,13 +1372,14 @@ dnl AC_CHECK_TOOL(AR, ar, :)
        Rhapsody-*|Darwin-*)
            SHLIB_CFLAGS="-fno-common"
            SHLIB_LD="cc -dynamiclib \${LDFLAGS}"
-           TCL_SHLIB_LD_EXTRAS="-compatibility_version ${TCL_MAJOR_VERSION} -current_version \${VERSION} -install_name \${LIB_RUNTIME_DIR}/\${TCL_LIB_FILE} -prebind -seg1addr 0xa000000"
+           TCL_SHLIB_LD_EXTRAS="-compatibility_version ${TCL_MAJOR_VERSION} -current_version \${PACKAGE_VERSION} -install_name \${LIB_RUNTIME_DIR}/\${TCL_LIB_FILE} -prebind -seg1addr 0xa000000"
            SHLIB_LD_LIBS='${LIBS}'
            SHLIB_SUFFIX=".dylib"
            DL_OBJS="tclLoadDyld.o"
            DL_LIBS=""
            LDFLAGS="-prebind"
            LD_SEARCH_FLAGS=""
+           LD_LIBRARY_PATH_VAR="DYLD_LIBRARY_PATH"
            CFLAGS_OPTIMIZE="-O3"
            EXTRA_CFLAGS="-arch ppc -pipe"
            ;;
@@ -1718,7 +1752,7 @@ dnl AC_CHECK_TOOL(AR, ar, :)
                    ;;
                IRIX*)
                    ;;
-               NetBSD-*|FreeBSD-*|OpenBSD-*)
+               NetBSD-*|FreeBSD-*)
                    ;;
                Rhapsody-*|Darwin-*)
                    ;;
@@ -1738,10 +1772,10 @@ dnl AC_CHECK_TOOL(AR, ar, :)
     fi
 
     if test "$SHARED_LIB_SUFFIX" = "" ; then
-       SHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}${SHLIB_SUFFIX}'
+       SHARED_LIB_SUFFIX='${PACKAGE_VERSION}\$\{DBGX\}${SHLIB_SUFFIX}'
     fi
     if test "$UNSHARED_LIB_SUFFIX" = "" ; then
-       UNSHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}.a'
+       UNSHARED_LIB_SUFFIX='${PACKAGE_VERSION}\$\{DBGX\}.a'
     fi
 
     AC_SUBST(DL_LIBS)
@@ -1750,14 +1784,14 @@ dnl AC_CHECK_TOOL(AR, ar, :)
     AC_SUBST(CFLAGS_WARNING)
     AC_SUBST(EXTRA_CFLAGS)
 
-    SHLIB_LDFLAGS='$(LDFLAGS_DEFAULT)'
     AC_SUBST(STLIB_LD)
     AC_SUBST(SHLIB_LD)
     AC_SUBST(SHLIB_CFLAGS)
-    AC_SUBST(SHLIB_LDFLAGS)
+    AC_SUBST(SHLIB_LD_FLAGS)
     AC_SUBST(SHLIB_LD_LIBS)
     AC_SUBST(LDFLAGS_DEBUG)
     AC_SUBST(LDFLAGS_OPTIMIZE)
+    AC_SUBST(LD_LIBRARY_PATH_VAR)
 ])
 
 #--------------------------------------------------------------------
@@ -1965,8 +1999,10 @@ closedir(d);
     AC_CHECK_HEADER(dlfcn.h, , [AC_DEFINE(NO_DLFCN_H)])
 
     # OS/390 lacks sys/param.h (and doesn't need it, by chance).
+    # tkUnixPort.h checks for HAVE_LIMITS_H, so do both HAVE and
+    # CHECK on limits.h
 
-    AC_HAVE_HEADERS(unistd.h sys/param.h)
+    AC_HAVE_HEADERS(limits.h unistd.h sys/param.h)
 
 ])
 
@@ -2066,7 +2102,7 @@ AC_DEFUN(TEA_PATH_UNIX_X, [
        XLIBSW=-lX11
     fi
     if test x"${XLIBSW}" != x ; then
-       LIBS="${LIBS} ${XLIBSW}"
+       PKG_LIBS="${PKG_LIBS} ${XLIBSW}"
     fi
 ])
 
@@ -2425,9 +2461,9 @@ AC_DEFUN(TEA_TCL_64BIT_FLAGS, [
        # See if we should use long anyway  Note that we substitute in the
        # type that is our current guess for a 64-bit type inside this check
        # program, so it should be modified only carefully...
-       AC_TRY_RUN([#include <unistd.h>
-           int main() {exit(!(sizeof(]${tcl_type_64bit}[) > sizeof(long)));}
-           ], tcl_cv_type_64bit=${tcl_type_64bit},:,:)])
+        AC_TRY_COMPILE(,[switch (0) { 
+            case 1: case (sizeof(]${tcl_type_64bit}[)==sizeof(long)): ; 
+        }],tcl_cv_type_64bit=${tcl_type_64bit})])
     if test "${tcl_cv_type_64bit}" = none ; then
        AC_DEFINE(TCL_WIDE_INT_IS_LONG)
        AC_MSG_RESULT([using long])
@@ -2506,12 +2542,21 @@ AC_DEFUN(TEA_TCL_64BIT_FLAGS, [
 #------------------------------------------------------------------------
 
 AC_DEFUN(TEA_INIT, [
+    TEA_VERSION="3.0"
+
     AC_MSG_CHECKING([for correct TEA configuration])
-    if test x"${PACKAGE}" = x ; then
+    if test x"${PACKAGE_NAME}" = x ; then
        AC_MSG_ERROR([
-The PACKAGE variable must be defined by your TEA configure.in])
+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: TEA version "$1" != ${TEA_VERSION}])
+    else
+       AC_MSG_RESULT([ok])
     fi
-    AC_MSG_RESULT([ok])
     case "`uname -s`" in
        *win32*|*WIN32*|*CYGWIN_NT*|*CYGWIN_9*|*CYGWIN_ME*|*MINGW32_*)
            AC_CHECK_PROG(CYGPATH, cygpath, cygpath -w, echo)
@@ -2530,6 +2575,227 @@ The PACKAGE variable must be defined by your TEA configure.in])
 
     AC_SUBST(EXEEXT)
     AC_SUBST(CYGPATH)
+
+    # This package name must be replaced statically for AC_SUBST to work
+    AC_SUBST(PKG_LIB_FILE)
+    # Substitute STUB_LIB_FILE in case package creates a stub library too.
+    AC_SUBST(PKG_STUB_LIB_FILE)
+
+    # We AC_SUBST these here to ensure they are subst'ed,
+    # in case the user doesn't call TEA_ADD_...
+    AC_SUBST(PKG_STUB_SOURCES)
+    AC_SUBST(PKG_STUB_OBJECTS)
+    AC_SUBST(PKG_TCL_SOURCES)
+    AC_SUBST(PKG_HEADERS)
+    AC_SUBST(PKG_INCLUDES)
+    AC_SUBST(PKG_LIBS)
+    AC_SUBST(PKG_CFLAGS)
+])
+
+#------------------------------------------------------------------------
+# TEA_ADD_SOURCES --
+#
+#      Specify one or more source files.  Users should check for
+#      the right platform before adding to their list.
+#      It is not important to specify the directory, as long as it is
+#      in the generic, win or unix subdirectory of $(srcdir).
+#
+# Arguments:
+#      one or more file names
+#
+# Results:
+#
+#      Defines and substs the following vars:
+#              PKG_SOURCES
+#              PKG_OBJECTS
+#------------------------------------------------------------------------
+AC_DEFUN(TEA_ADD_SOURCES, [
+    vars="$@"
+    for i in $vars; do
+       case $i in
+           [\$]*)
+               # allow $-var names
+               PKG_SOURCES="$PKG_SOURCES $i"
+               PKG_OBJECTS="$PKG_OBJECTS $i"
+               ;;
+           *)
+               # check for existence - allows for generic/win/unix VPATH
+               if test ! -f "${srcdir}/$i" -a ! -f "${srcdir}/generic/$i" \
+                   -a ! -f "${srcdir}/win/$i" -a ! -f "${srcdir}/unix/$i" \
+                   ; then
+                   AC_MSG_ERROR([could not find source file '$i'])
+               fi
+               PKG_SOURCES="$PKG_SOURCES $i"
+               # this assumes it is in a VPATH dir
+               i=`basename $i`
+               # handle user calling this before or after TEA_SETUP_COMPILER
+               if test x"${OBJEXT}" != x ; then
+                   j="`echo $i | sed -e 's/\.[[^.]]*$//'`.${OBJEXT}"
+               else
+                   j="`echo $i | sed -e 's/\.[[^.]]*$//'`.\${OBJEXT}"
+               fi
+               PKG_OBJECTS="$PKG_OBJECTS $j"
+               ;;
+       esac
+    done
+    AC_SUBST(PKG_SOURCES)
+    AC_SUBST(PKG_OBJECTS)
+])
+
+#------------------------------------------------------------------------
+# TEA_ADD_STUB_SOURCES --
+#
+#      Specify one or more source files.  Users should check for
+#      the right platform before adding to their list.
+#      It is not important to specify the directory, as long as it is
+#      in the generic, win or unix subdirectory of $(srcdir).
+#
+# Arguments:
+#      one or more file names
+#
+# Results:
+#
+#      Defines and substs the following vars:
+#              PKG_STUB_SOURCES
+#              PKG_STUB_OBJECTS
+#------------------------------------------------------------------------
+AC_DEFUN(TEA_ADD_STUB_SOURCES, [
+    vars="$@"
+    for i in $vars; do
+       # check for existence - allows for generic/win/unix VPATH
+       if test ! -f "${srcdir}/$i" -a ! -f "${srcdir}/generic/$i" \
+           -a ! -f "${srcdir}/win/$i" -a ! -f "${srcdir}/unix/$i" \
+           ; then
+           AC_MSG_ERROR([could not find stub source file '$i'])
+       fi
+       PKG_STUB_SOURCES="$PKG_STUB_SOURCES $i"
+       # this assumes it is in a VPATH dir
+       i=`basename $i`
+       # handle user calling this before or after TEA_SETUP_COMPILER
+       if test x"${OBJEXT}" != x ; then
+           j="`echo $i | sed -e 's/\.[[^.]]*$//'`.${OBJEXT}"
+       else
+           j="`echo $i | sed -e 's/\.[[^.]]*$//'`.\${OBJEXT}"
+       fi
+       PKG_STUB_OBJECTS="$PKG_STUB_OBJECTS $j"
+    done
+    AC_SUBST(PKG_STUB_SOURCES)
+    AC_SUBST(PKG_STUB_OBJECTS)
+])
+
+#------------------------------------------------------------------------
+# TEA_ADD_TCL_SOURCES --
+#
+#      Specify one or more Tcl source files.  These should be platform
+#      independent runtime files.
+#
+# Arguments:
+#      one or more file names
+#
+# Results:
+#
+#      Defines and substs the following vars:
+#              PKG_TCL_SOURCES
+#------------------------------------------------------------------------
+AC_DEFUN(TEA_ADD_TCL_SOURCES, [
+    vars="$@"
+    for i in $vars; do
+       # check for existence, be strict because it is installed
+       if test ! -f "${srcdir}/$i" ; then
+           AC_MSG_ERROR([could not find tcl source file '${srcdir}/$i'])
+       fi
+       PKG_TCL_SOURCES="$PKG_TCL_SOURCES $i"
+    done
+    AC_SUBST(PKG_TCL_SOURCES)
+])
+
+#------------------------------------------------------------------------
+# TEA_ADD_HEADERS --
+#
+#      Specify one or more source headers.  Users should check for
+#      the right platform before adding to their list.
+#
+# Arguments:
+#      one or more file names
+#
+# Results:
+#
+#      Defines and substs the following vars:
+#              PKG_HEADERS
+#------------------------------------------------------------------------
+AC_DEFUN(TEA_ADD_HEADERS, [
+    vars="$@"
+    for i in $vars; do
+       # check for existence, be strict because it is installed
+       if test ! -f "${srcdir}/$i" ; then
+           AC_MSG_ERROR([could not find header file '${srcdir}/$i'])
+       fi
+       PKG_HEADERS="$PKG_HEADERS $i"
+    done
+    AC_SUBST(PKG_HEADERS)
+])
+
+#------------------------------------------------------------------------
+# TEA_ADD_INCLUDES --
+#
+#      Specify one or more include dirs.  Users should check for
+#      the right platform before adding to their list.
+#
+# Arguments:
+#      one or more file names
+#
+# Results:
+#
+#      Defines and substs the following vars:
+#              PKG_INCLUDES
+#------------------------------------------------------------------------
+AC_DEFUN(TEA_ADD_INCLUDES, [
+    vars="$@"
+    for i in $vars; do
+       PKG_INCLUDES="$PKG_INCLUDES $i"
+    done
+    AC_SUBST(PKG_INCLUDES)
+])
+
+#------------------------------------------------------------------------
+# TEA_ADD_LIBS --
+#
+#      Specify one or more libraries.  Users should check for
+#      the right platform before adding to their list.
+#
+# Arguments:
+#      one or more file names
+#
+# Results:
+#
+#      Defines and substs the following vars:
+#              PKG_LIBS
+#------------------------------------------------------------------------
+AC_DEFUN(TEA_ADD_LIBS, [
+    vars="$@"
+    for i in $vars; do
+       PKG_LIBS="$PKG_LIBS $i"
+    done
+    AC_SUBST(PKG_LIBS)
+])
+
+#------------------------------------------------------------------------
+# TEA_ADD_CFLAGS --
+#
+#      Specify one or more CFLAGS.  Users should check for
+#      the right platform before adding to their list.
+#
+# Arguments:
+#      one or more file names
+#
+# Results:
+#
+#      Defines and substs the following vars:
+#              PKG_CFLAGS
+#------------------------------------------------------------------------
+AC_DEFUN(TEA_ADD_CFLAGS, [
+    PKG_CFLAGS="$PKG_CFLAGS $@"
+    AC_SUBST(PKG_CFLAGS)
 ])
 
 #------------------------------------------------------------------------
@@ -2568,7 +2834,7 @@ AC_DEFUN(TEA_PREFIX, [
 ])
 
 #------------------------------------------------------------------------
-# TEA_SETUP_COMPILER --
+# 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.
@@ -2582,7 +2848,7 @@ AC_DEFUN(TEA_PREFIX, [
 #------------------------------------------------------------------------
 AC_DEFUN(TEA_SETUP_COMPILER_CC, [
     # Don't put any macros that use the compiler (e.g. AC_TRY_COMPILE)
-    # in this macro, they need to go into TEA_SETUP_COMPILER_FLAGS instead.
+    # in this macro, they need to go into TEA_SETUP_COMPILER instead.
 
     # If the user did not set CFLAGS, set it now to keep
     # the AC_PROG_CC macro from adding "-g -O2".
@@ -2655,7 +2921,10 @@ AC_DEFUN(TEA_SETUP_COMPILER, [
     if test "${TEA_PLATFORM}" = "unix" ; then
        TEA_TCL_LINK_LIBS
        TEA_MISSING_POSIX_HEADERS
-       TEA_BUGGY_STRTOD
+       # 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
 ])
 
@@ -2684,13 +2953,13 @@ 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:\[$]@ \$(\[$](PACKAGE)_OBJECTS)"
-       MAKE_SHARED_LIB="\${SHLIB_LD} \${SHLIB_LDFLAGS} \${SHLIB_LD_LIBS} \$(LDFLAGS) -out:\[$]@ \$(\[$](PACKAGE)_OBJECTS)"
-       MAKE_STUB_LIB="\${STLIB_LD} -out:\[$]@ \$(\[$](PACKAGE)stub_OBJECTS)"
+       MAKE_STATIC_LIB="\${STLIB_LD} -out:\[$]@ \$(PKG_OBJECTS)"
+       MAKE_SHARED_LIB="\${SHLIB_LD} \${SHLIB_LD_FLAGS} \${SHLIB_LD_LIBS} \${LDFLAGS_DEFAULT} -out:\[$]@ \$(PKG_OBJECTS)"
+       MAKE_STUB_LIB="\${STLIB_LD} -out:\[$]@ \$(PKG_STUB_OBJECTS)"
     else
-       MAKE_STATIC_LIB="\${STLIB_LD} \[$]@ \$(\[$](PACKAGE)_OBJECTS)"
-       MAKE_SHARED_LIB="\${SHLIB_LD} -o \[$]@ \$(\[$](PACKAGE)_OBJECTS) \${SHLIB_LDFLAGS} \${SHLIB_LD_LIBS}"
-       MAKE_STUB_LIB="\${STLIB_LD} \[$]@ \$(\[$](PACKAGE)stub_OBJECTS)"
+       MAKE_STATIC_LIB="\${STLIB_LD} \[$]@ \$(PKG_OBJECTS)"
+       MAKE_SHARED_LIB="\${SHLIB_LD} -o \[$]@ \$(PKG_OBJECTS) \${SHLIB_LD_FLAGS} \${SHLIB_LD_LIBS}"
+       MAKE_STUB_LIB="\${STLIB_LD} \[$]@ \$(PKG_STUB_OBJECTS)"
     fi
 
     if test "${SHARED_BUILD}" = "1" ; then
@@ -2705,6 +2974,7 @@ AC_DEFUN(TEA_MAKE_LIB, [
     # substituted.
     #--------------------------------------------------------------------
 
+    RANLIB_STUB="${RANLIB}"
     if test "${TEA_PLATFORM}" = "windows" ; then
        if test "${SHARED_BUILD}" = "1" ; then
            # We force the unresolved linking of symbols that are really in
@@ -2713,26 +2983,26 @@ AC_DEFUN(TEA_MAKE_LIB, [
            if test x"${TK_BIN_DIR}" != x ; then
                SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \"`${CYGPATH} ${TK_BIN_DIR}/${TK_STUB_LIB_FILE}`\""
            fi
-           eval eval "${PACKAGE}_LIB_FILE=${PACKAGE}${SHARED_LIB_SUFFIX}"
+           eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${SHARED_LIB_SUFFIX}"
            RANLIB=:
        else
-           eval eval "${PACKAGE}_LIB_FILE=${PACKAGE}${UNSHARED_LIB_SUFFIX}"
+           eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}"
        fi
        # Some packages build there own stubs libraries
-       eval eval "${PACKAGE}stub_LIB_FILE=${PACKAGE}stub${UNSHARED_LIB_SUFFIX}"
+       eval eval "PKG_STUB_LIB_FILE=${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}"
     else
        if test "${SHARED_BUILD}" = "1" ; then
            SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TCL_STUB_LIB_SPEC}"
            if test x"${TK_BIN_DIR}" != x ; then
                SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TK_STUB_LIB_SPEC}"
            fi
-           eval eval "${PACKAGE}_LIB_FILE=lib${PACKAGE}${SHARED_LIB_SUFFIX}"
+           eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${SHARED_LIB_SUFFIX}"
            RANLIB=:
        else
-           eval eval "${PACKAGE}_LIB_FILE=lib${PACKAGE}${UNSHARED_LIB_SUFFIX}"
+           eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}"
        fi
        # Some packages build there own stubs libraries
-       eval eval "${PACKAGE}stub_LIB_FILE=lib${PACKAGE}stub${UNSHARED_LIB_SUFFIX}"
+       eval eval "PKG_STUB_LIB_FILE=lib${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}"
     fi
 
     # These are escaped so that only CFLAGS is picked up at configure time.
@@ -2746,6 +3016,7 @@ AC_DEFUN(TEA_MAKE_LIB, [
     AC_SUBST(MAKE_SHARED_LIB)
     AC_SUBST(MAKE_STATIC_LIB)
     AC_SUBST(MAKE_STUB_LIB)
+    AC_SUBST(RANLIB_STUB)
 ])
 
 #------------------------------------------------------------------------
@@ -2856,15 +3127,21 @@ AC_DEFUN(TEA_PRIVATE_TCL_HEADERS, [
        TCL_TOOL_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/tools`\"
        TCL_COMPAT_DIR_NATIVE=\"`${CYGPATH} ${TCL_SRC_DIR}/compat`\"
        TCL_PLATFORM_DIR_NATIVE=${TCL_WIN_DIR_NATIVE}
+
+       TCL_INCLUDES="-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}"
     else
        TCL_TOP_DIR_NATIVE='$(TCL_SRC_DIR)'
-       TCL_GENERIC_DIR_NATIVE='$(TCL_TOP_DIR_NATIVE)/generic'
-       TCL_UNIX_DIR_NATIVE='$(TCL_TOP_DIR_NATIVE)/unix'
-       TCL_WIN_DIR_NATIVE='$(TCL_TOP_DIR_NATIVE)/win'
-       TCL_BMAP_DIR_NATIVE='$(TCL_TOP_DIR_NATIVE)/bitmaps'
-       TCL_TOOL_DIR_NATIVE='$(TCL_TOP_DIR_NATIVE)/tools'
-       TCL_COMPAT_DIR_NATIVE='$(TCL_TOP_DIR_NATIVE)/compat'
+       TCL_GENERIC_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/generic'
+       TCL_UNIX_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/unix'
+       TCL_WIN_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/win'
+       TCL_BMAP_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/bitmaps'
+       TCL_TOOL_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/tools'
+       TCL_COMPAT_DIR_NATIVE='${TCL_TOP_DIR_NATIVE}/compat'
        TCL_PLATFORM_DIR_NATIVE=${TCL_UNIX_DIR_NATIVE}
+
+       # substitute these in "relaxed" so that TCL_INCLUDES still works
+       # without requiring the other vars to be defined in the Makefile
+       eval "TCL_INCLUDES=\"-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}\""
     fi
 
     AC_SUBST(TCL_TOP_DIR_NATIVE)
@@ -2875,7 +3152,6 @@ AC_DEFUN(TEA_PRIVATE_TCL_HEADERS, [
     AC_SUBST(TCL_TOOL_DIR_NATIVE)
     AC_SUBST(TCL_PLATFORM_DIR_NATIVE)
 
-    TCL_INCLUDES="-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}"
     AC_SUBST(TCL_INCLUDES)
     AC_MSG_RESULT([Using srcdir found in tclConfig.sh: ${TCL_SRC_DIR}])
 ])
@@ -2983,13 +3259,15 @@ AC_DEFUN(TEA_PRIVATE_TK_HEADERS, [
 
        TK_INCLUDES="-I${TK_GENERIC_DIR_NATIVE} -I${TK_PLATFORM_DIR_NATIVE} -I${TK_XLIB_DIR_NATIVE}"
     else
-       TK_TOP_DIR_NATIVE='$(TK_SRC_DIR)'
-       TK_GENERIC_DIR_NATIVE='$(TK_TOP_DIR_NATIVE)/generic'
-       TK_UNIX_DIR_NATIVE='$(TK_TOP_DIR_NATIVE)/unix'
-       TK_WIN_DIR_NATIVE='$(TK_TOP_DIR_NATIVE)/win'
+       TK_TOP_DIR_NATIVE='${TK_SRC_DIR}'
+       TK_GENERIC_DIR_NATIVE='${TK_TOP_DIR_NATIVE}/generic'
+       TK_UNIX_DIR_NATIVE='${TK_TOP_DIR_NATIVE}/unix'
+       TK_WIN_DIR_NATIVE='${TK_TOP_DIR_NATIVE}/win'
        TK_PLATFORM_DIR_NATIVE=${TK_UNIX_DIR_NATIVE}
 
-       TK_INCLUDES="-I${TK_GENERIC_DIR_NATIVE} -I${TK_PLATFORM_DIR_NATIVE}"
+       # substitute these in "relaxed" so that TK_INCLUDES still works
+       # without requiring the other vars to be defined in the Makefile
+       eval "TK_INCLUDES=\"-I${TK_GENERIC_DIR_NATIVE} -I${TK_PLATFORM_DIR_NATIVE}\""
     fi
 
     AC_SUBST(TK_TOP_DIR_NATIVE)