Annotation of micropolis/src/tcl/readme.txt, revision 1.1

1.1     ! root        1: Tcl
        !             2: 
        !             3: by John Ousterhout
        !             4: University of California at Berkeley
        !             5: [email protected]
        !             6: 
        !             7: 1. Introduction
        !             8: ---------------
        !             9: 
        !            10: This directory contains the sources and documentation for Tcl, an
        !            11: embeddable tool command language.  The information here corresponds
        !            12: to release 6.4.  This release is identical to the 6.3 release except
        !            13: for a few bug fixes and one new feature (the Tcl_GlobalEval procedure).
        !            14: The file "changes" has a complete list of all changes made to Tcl,
        !            15: with incompatible changes specially marked. Tcl 6.4 has no incompatible
        !            16: changes relative to 6.3.
        !            17: 
        !            18: For an introduction to the facilities provided by Tcl, see the paper
        !            19: ``Tcl:  An Embeddable Command Language'', in the Proceedings of the
        !            20: 1990 Winter USENIX Conference.  A copy of that paper is included here
        !            21: in Postscript form in the file "doc/usenix.ps" and in text form in the
        !            22: file "doc/usenix.text".  However, the paper corresponds to a much
        !            23: earlier version of Tcl (approximately version 3.0), so some details
        !            24: of the paper may not be correct anymore and there are many new features
        !            25: not documented in the paper.
        !            26: 
        !            27: 2. Documentation
        !            28: ----------------
        !            29: 
        !            30: The "doc" subdirectory contains a complete set of manual entries
        !            31: for Tcl.  The file "doc/Tcl.man" gives an overall description of the
        !            32: Tcl language and describes the core Tcl commands.  The other ".man"
        !            33: files in "doc" describe the library procedures that Tcl provides for
        !            34: Tcl-based applications.  Read the "Tcl" man page first.  To print any
        !            35: of the man pages, cd to the "doc" directory and invoke your favorite
        !            36: variant of troff using the normal -man macros, for example
        !            37: 
        !            38:                ditroff -man <file>
        !            39: 
        !            40: where <file> is the name of the man page you'd like to print.
        !            41: 
        !            42: 3. Machines supported
        !            43: ---------------------
        !            44: 
        !            45: If you follow the directions below, this release should compile
        !            46: and run on the following configurations either "out of the box"
        !            47: or with only trivial changes:
        !            48: 
        !            49:     - Sun-3's, Sun-4's, SPARCstation-1's and SPARCstation-2's running
        !            50:       many variants of SunOS, such as 4.1.
        !            51:     - DECstation-3100's and DECstation-5000's running many versions of
        !            52:       Ultrix, such as 2.0 and 4.2.
        !            53:     - DEC VAXes running many versions of Ultrix or BSD UNIX. 
        !            54:     - Intel 386 based systems running SCO Unix 3.2v2.
        !            55:     - Intel 386 based systems running SCO Xenix 2.3.3.
        !            56:     - Intel 386 based systems running Bell-Tech (now Intel) Unix 3.2.0.
        !            57:     - Silicon Graphics systems running IRIX 4.0.
        !            58:     - Various H-P machines running versions of HP-UX such as 7.05
        !            59:     - Sequent Symmetry running versions of Dynix/ptx such as v1.2.4
        !            60: 
        !            61: If you find problems running Tcl on any of the above configurations,
        !            62: please let me know.  Also, if you are able to compile Tcl and run the
        !            63: test suite successfully on configurations not listed above, please
        !            64: let me know and tell me what changes, if any, you needed to make to
        !            65: do it.  I'd like to keep the above list up-to-date and continue to
        !            66: improve the portability of Tcl.
        !            67: 
        !            68: Tcl can be used on many other configurations with only a few
        !            69: modifications.  The file "porting.notes" contains information sent to
        !            70: me about what it took to get Tcl to run on various other configurations.
        !            71: I make no guarantees that this information is accurate or complete, but
        !            72: you may find it useful.  If you get Tcl running on a new configuration,
        !            73: I'd be deligted to receive new information to add to "porting.notes".
        !            74: 
        !            75: 4. Compiling Tcl
        !            76: ----------------
        !            77: 
        !            78: To compile Tcl on any of the configurations listed above, or systems
        !            79: similar to them, do the following:
        !            80: 
        !            81:     (a) If your system isn't one of the ones listed above, look in the
        !            82:         file "porting.notes" to see if your system is listed there.  This
        !            83:        file contains additonal notes on getting Tcl to run on various
        !            84:        other systems.
        !            85: 
        !            86:     (b) Edit the "set" commands at the beginning of the file "config"
        !            87:         if necessary to correspond to your system configuration (they
        !            88:        should already be right for most versions of Unix).
        !            89: 
        !            90:     (c) Type "./config" in the top-level directory. "Config" is a script
        !            91:         that pokes around in your system to see if certain almost-standard
        !            92:        things are missing (header files, library procedures, etc.);
        !            93:        if your system doesn't seem to have them, it configures Tcl to
        !            94:        use its own copies of these things instead (Tcl's copies are
        !            95:        kept in the "compat" subdirectory).  Config prints out messages
        !            96:        for all the substitutions it made.  You can ignore any of the
        !            97:        messages unless they say "ERROR!!";  in this case something is
        !            98:        fundamentally wrong and the config script couldn't handle your
        !            99:        system configuration.
        !           100: 
        !           101:     (d) Type "make" to compile the library.  This will create the Tcl
        !           102:        library in "libtcl.a".  The Makefile should work without any
        !           103:        modifications but you may wish to personalize it, e.g. to
        !           104:        turn on compiler optimization.
        !           105: 
        !           106:     (e) If the combination of "config" and "make" doesn't work for you,
        !           107:         then I suggest the following approach:
        !           108:            - Start again with a fresh copy of the distribution.
        !           109:            - Set the #defines that appear at the very front of
        !           110:              tclUnix.h (before the first #include) to correspond
        !           111:              to your system.
        !           112:            - Modify Makefile to set CC, CFLAGS, etc. for your system.
        !           113:            - If things don't compile or don't link, then you may need
        !           114:              to copy some of the .c or .h files from the "compat"
        !           115:              directory into the main Tcl directory to compensate for
        !           116:              files missing from your system.  Modify the COMPAT_OBJS
        !           117:              definition in Makefile to include a .o name for each of
        !           118:              the .c files that you copied up from the compat directory.
        !           119: 
        !           120:     (f) Create a directory /usr/local/lib/tcl and copy all the files
        !           121:         from the "library" subdirectory to /usr/local/lib/tcl.  Or,
        !           122:        you can use some other directory as library, but you'll need
        !           123:        to modify the Makefile to reflect this fact (change the
        !           124:        TCL_LIBRARY definition).
        !           125: 
        !           126:     (g) Type "make tclTest", which will create a simple test program that
        !           127:        you can use to try out the Tcl facilities.  TclTest is just a
        !           128:        main-program sandwich around the Tcl library.  It reads standard
        !           129:        input until it reaches the end of a line where parentheses and
        !           130:        backslashes are balanced, then sends everything it's read to the
        !           131:        Tcl interpreter.  When the Tcl interpreter returns, tclTest prints
        !           132:        the return value or error message.  TclTest defines a few other
        !           133:        additional commands, most notably:
        !           134:     
        !           135:                        echo arg arg ...
        !           136:     
        !           137:        The "echo" command prints its arguments on standard output,
        !           138:        separated by spaces.
        !           139: 
        !           140: 5. Test suite
        !           141: -------------
        !           142: 
        !           143: There is a relatively complete test suite for all of the Tcl core in
        !           144: the subdirectory "tests".  To use it just type "make test" in this
        !           145: directory.  You should then see a printout of the test files processed.
        !           146: If any errors occur, you'll see a much more substantial printout for
        !           147: each error.  Tcl should pass the test suite cleanly on all of the
        !           148: systems listed in Section 3.  See the README file in the "tests"
        !           149: directory for more information on the test suite.
        !           150: 
        !           151: 6. Compiling on non-UNIX systems
        !           152: --------------------------------
        !           153: 
        !           154: The Tcl features that depend on system calls peculiar to UNIX (stat,
        !           155: fork, exec, times, etc.) are now separate from the main body of Tcl,
        !           156: which only requires a few generic library procedures such as malloc
        !           157: and strcpy.  Thus it should be relatively easy to compile Tcl for
        !           158: these machines, although a number of UNIX-specific commands will
        !           159: be absent (e.g.  exec, time, and glob).  See the comments at the
        !           160: top of Makefile for information on how to compile without the UNIX
        !           161: features.
        !           162: 
        !           163: 7. Special thanks
        !           164: -----------------
        !           165: 
        !           166: Mark Diekhans and Karl Lehenbauer of Santa Cruz Operation deserve special
        !           167: thanks for all their help during the development of Tcl 6.0.  Many of the
        !           168: new features in Tcl 6.0 were inspired by an enhanced version of Tcl 3.3
        !           169: called Extended Tcl 4.0, which was created by Mark, Karl, and Peter
        !           170: da Silva.  Mark and Karl explained these features to me and provided
        !           171: excellent (and challenging) feedback during the 6.0 development process.
        !           172: They were also a great help in finding and fixing portability problems.
        !           173: Without their ideas and assistance Tcl 6.0 would be much less powerful.
        !           174: 
        !           175: 8. Support
        !           176: ----------
        !           177: 
        !           178: There is no official support organization for Tcl, and I can't promise
        !           179: to provide much hand-holding to people learning Tcl.  However, I'm very
        !           180: interested in receiving bug reports and suggestions for improvements.
        !           181: Bugs usually get fixed quickly (particularly if they are serious), but
        !           182: enhancements may take a while and may not happen at all unless there
        !           183: is widespread support for them.
        !           184: 
        !           185: 9. Tcl newsgroup
        !           186: -----------------
        !           187: 
        !           188: There is a network news group "comp.lang.tcl" intended for the exchange
        !           189: of information about Tcl, Tk, and related applications.  Feel free to use
        !           190: this newsgroup both for general information questions and for bug reports.
        !           191: I read the newsgroup and will attempt to fix bugs and problems reported
        !           192: to it.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.