diff options
-rw-r--r-- | README | 46 | ||||
-rw-r--r-- | unix/README | 13 | ||||
-rw-r--r-- | win/README | 31 |
3 files changed, 27 insertions, 63 deletions
@@ -1,25 +1,23 @@ Tcl -RCS: @(#) $Id: README,v 1.12 1999/01/04 19:25:00 rjohnson Exp $ +RCS: @(#) $Id: README,v 1.13 1999/02/09 03:31:55 stanton Exp $ 1. Introduction --------------- This directory and its descendants contain the sources and documentation for Tcl, an embeddable scripting language. The information here -corresponds to release 8.0.5, which is the fourth patch update for Tcl -8.0. This patch provides compatibility with [incr Tcl] 3.0. -Tcl 8.0 is a major new release that replaces the core of the +corresponds to release 8.0.5, which is the fifth patch update for Tcl 8.0. +This patch includes many bug fixes; see the "changes" file for a complete +list. Tcl 8.0 is a major new release that replaces the core of the interpreter with an on-the-fly bytecode compiler to improve execution -speed. It also includes several other new features such as namespaces -and binary I/O, plus many bug fixes. The compiler introduces a few +speed. It also includes several other new features such as namespaces and +binary I/O, plus many bug fixes. The compiler introduces a few incompatibilities that may affect existing Tcl scripts; the -incompatibilities are relatively obscure but may require modifications -to some old scripts before they can run with this version. The compiler +incompatibilities are relatively obscure but may require modifications to +some old scripts before they can run with this version. The compiler introduces many new C-level APIs, but the old APIs are still supported. -See below for more details. This patch release fixes various bugs in -Tcl 8.0, plus it adds a few minor features to support the TclPro 1.0 -tool set and [incr Tcl] 3.0. Please check the changes file for details. +See below for more details. 2. Documentation ---------------- @@ -87,35 +85,11 @@ Before trying to compile Tcl you should do the following things: without changing any features, so you should normally use the latest patch release for the version of Tcl that you want. Patch releases are available in two forms. A file like - tcl8.0.5.tar.Z is a complete release for patch level 4 of Tcl + tcl8.0.5.tar.Z is a complete release for patch level 5 of Tcl version 8.0. If there is a file with a higher patch level than this release, just fetch the file with the highest patch level and use it. - Patches are also available in the form of patch files that just - contain the changes from one patch level to another. These - files will have names like tcl8.0p1.patch, tcl8.0p2.patch, etc. They - may also have .gz or .Z extensions to indicate compression. To - use one of these files, you apply it to an existing release with - the "patch" program. Patches must be applied in order: - tcl8.0p1.patch must be applied to an unpatched Tcl 8.0 release - to produce a Tcl 8.0p1 release; tcl8.0p2.patch can then be - applied to Tcl8.0p1 to produce Tcl 8.0p2, and so on. To apply an - uncompressed patch file such as tcl8.0p1.patch, invoke a shell - command like the following from the directory containing this - file (some versions of patch require "-p0"): - patch -p < tcl8.0p1.patch - If the patch file has a .gz extension, invoke a command like the - following: - gunzip -c tcl8.0p1.patch.gz | patch -p - If the patch file has a .Z extension, it was compressed with - compress. To apply it, invoke a command like the following: - zcat tcl8.0p1.patch.Z | patch -p - If you're applying a patch to a release that has already been - compiled, then before applying the patch you should cd to the - "unix" subdirectory and type "make distclean" to restore the - directory to a pristine state. - Once you've done this, change to the "unix" subdirectory if you're compiling under UNIX, "win" if you're compiling under Windows, or "mac" if you're compiling on a Macintosh. Then follow the instructions diff --git a/unix/README b/unix/README index dd7544b..5d30ab9 100644 --- a/unix/README +++ b/unix/README @@ -12,7 +12,7 @@ SGI, as well as PCs running Linux, BSDI, and SCO UNIX. To compile for a PC running Windows, see the README file in the directory ../win. To compile for a Macintosh, see the README file in the directory ../mac. -RCS: @(#) $Id: README,v 1.2 1998/09/14 18:40:15 stanton Exp $ +RCS: @(#) $Id: README,v 1.3 1999/02/09 03:31:55 stanton Exp $ How To Compile And Install Tcl: ------------------------------- @@ -79,16 +79,9 @@ How To Compile And Install Tcl: to use the installed versions, either specify the version number or create a symbolic link (e.g. from "tclsh" to "tclsh8.0"). -If you have trouble compiling Tcl, read through the file" porting.notes". +If you have trouble compiling Tcl, read through the file "porting.notes". It contains information that people have provided about changes they had -to make to compile Tcl in various environments. Or, check out the -following Web URL: - http://www.sunlabs.com/cgi-bin/tcl/info.8.0 -This is an on-line database of porting information. We make no guarantees -that this information is accurate, complete, or up-to-date, but you may -find it useful. If you get Tcl running on a new configuration, we would -be happy to receive new information to add to "porting.notes". You can -also make a new entry into the on-line Web database. We're also interested +to make to compile Tcl in various environments. We're also interested in hearing how to change the configuration setup so that Tcl compiles out of the box on more platforms. @@ -4,7 +4,7 @@ by Scott Stanton Scriptics Corporation scott.stanton@scriptics.com -RCS: @(#) $Id: README,v 1.8 1999/01/04 19:25:05 rjohnson Exp $ +RCS: @(#) $Id: README,v 1.9 1999/02/09 03:31:55 stanton Exp $ 1. Introduction --------------- @@ -22,12 +22,13 @@ common source release. The binary distribution is a self-extracting archive with a built-in installation script. Look for the binary release in the same location as the source release -(ftp.scriptics.com:/pub/tcl or any of the mirror sites). For most users, -the binary release will be much easier to install and use. You only -need the source release if you plan to modify the core of Tcl, or if -you need to compile with a different compiler. With the addition of -the dynamic loading interface, it is no longer necessary to have the -source distribution in order to build and use extensions. +(http://www.scriptics.com/software/8.0.html or any of the mirror +sites). For most users, the binary release will be much easier to +install and use. You only need the source release if you plan to +modify the core of Tcl, or if you need to compile with a different +compiler. With the addition of the dynamic loading interface, it is +no longer necessary to have the source distribution in order to build +and use extensions. 3. Compiling Tcl ---------------- @@ -39,7 +40,6 @@ In order to compile Tcl for Windows, you need the following items: Borland C++ 4.52 (both 16-bit and 32-bit compilers) or Visual C++ 2.x/4.x/5.x - Visual C++ 1.5 (to build tcl1680.dll for Win32s support of exec) In practice, the 8.0.5 release is built with Visual C++ 5.0 @@ -60,25 +60,22 @@ find them. Tcl looks in one of three places for the library files: 2) In the lib\tcl8.0 directory under the installation directory as specified in the registry: - For Windows NT & 95: - HKEY_LOCAL_MACHINE\SOFTWARE\Scriptics\Tcl\8.0 - - For Win32s: - HKEY_CLASSES_ROOT\SOFTWARE\Scriptics\Tcl\8.0\ + HKEY_LOCAL_MACHINE\SOFTWARE\Scriptics\Tcl\8.0 3) Relative to the directory containing the current .exe. Tcl will look for a directory "..\lib\tcl8.0" relative to the directory containing the currently running .exe. Note that in order to run tclsh80.exe, you must ensure that tcl80.dll -and tclpip80.dll (plus tcl1680.dll under Win32s) are on your path, in -the system directory, or in the directory containing tclsh80.exe. +and tclpip80.dll are on your path, in the system directory, or in the +directory containing tclsh80.exe. 4. Building Extensions ---------------------- With the Windows compilers you have to worry about how you export symbols from DLLs. tcl.h defines a few macros to help solve this problem: + EXTERN - all Tcl_ function prototypes use this macro, which implies they are exported. You'll see this used in tcl.h and tk.h. You should use this in your exported procedures. @@ -105,7 +102,9 @@ EXPORT(type, func) EXPORT because they had a different order. Your declaration will look like EXTERN EXPORT(int, Foo_Init)(Tcl_Interp *interp); + We have not defined EXPORT anywhere. You can paste this into your C file: + #ifndef STATIC_BUILD #if defined(_MSC_VER) # define EXPORT(a,b) __declspec(dllexport) a b @@ -181,8 +180,6 @@ Windows version of Tcl: - Background processes aren't properly detached on NT. - File events only work on sockets. - Pipes/files/console/serial ports don't support nonblocking I/O. -- The library cannot be used by two processes at the same time under - Win32s. If you have comments or bug reports for the Windows version of Tcl, please direct them to: |