Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/tcl8.5.2/unix/README @ 25

Last change on this file since 25 was 25, checked in by landauf, 16 years ago

added tcl to libs

File size: 8.6 KB
Line 
1Tcl UNIX README
2---------------
3
4RCS: @(#) $Id: README,v 1.31 2008/02/12 10:07:19 dkf Exp $
5
6This is the directory where you configure, compile, test, and install UNIX
7versions of Tcl. This directory also contains source files for Tcl that are
8specific to UNIX. Some of the files in this directory are used on the PC or
9MacOSX platform too, but they all depend on UNIX (POSIX/ANSI C) interfaces and
10some of them only make sense under UNIX.
11
12Updated forms of the information found in this file is available at:
13        http://www.tcl.tk/doc/howto/compile.html#unix
14
15For information on platforms where Tcl is known to compile, along with any
16porting notes for getting it to work on those platforms, see:
17        http://www.tcl.tk/software/tcltk/platforms.html
18
19The rest of this file contains instructions on how to do this. The release
20should compile and run either "out of the box" or with trivial changes on any
21UNIX-like system that approximates POSIX, BSD, or System V. We know that it
22runs on workstations from Sun, H-P, DEC, IBM, and SGI, as well as PCs running
23Linux, BSDI, and SCO UNIX. To compile for a PC running Windows, see the README
24file in the directory ../win. To compile for MacOSX, see the README file in
25the directory ../macosx.
26
27How To Compile And Install Tcl:
28-------------------------------
29
30(a) If you have already compiled Tcl once in this directory and are now
31    preparing to compile again in the same directory but for a different
32    platform, or if you have applied patches, type "make distclean" to discard
33    all the configuration information computed previously.
34
35(b) If you need to reconfigure because you changed any of the .in or .m4
36    files, you will need to run autoconf to create a new ./configure script.
37    Most users will NOT need to do this since a configure script is already
38    provided.
39
40    (in the tcl/unix directory)
41    autoconf
42
43(c) Type "./configure". This runs a configuration script created by GNU
44    autoconf, which configures Tcl for your system and creates a Makefile. The
45    configure script allows you to customize the Tcl configuration for your
46    site; for details on how you can do this, type "./configure --help" or
47    refer to the autoconf documentation (not included here). Tcl's "configure"
48    supports the following special switches in addition to the standard ones:
49
50        --enable-threads        If this switch is set, Tcl will compile itself
51                                with multithreading support.
52        --disable-load          If this switch is specified then Tcl will
53                                configure itself not to allow dynamic loading,
54                                even if your system appears to support it.
55                                Normally you can leave this switch out and Tcl
56                                will build itself for dynamic loading if your
57                                system supports it.
58        --disable-dll-unloading Disables support for the [unload] command even
59                                on platforms that can support it. Meaningless
60                                when Tcl is compiled with --disable-load.
61        --enable-shared         If this switch is specified, Tcl will compile
62                                itself as a shared library if it can figure
63                                out how to do that on this platform. This is
64                                the default on platforms where we know how to
65                                build shared libraries.
66        --disable-shared        If this switch is specified, Tcl will compile
67                                itself as a static library.
68        --enable-symbols        Build with debugging symbols. By default
69                                standard debugging symbols are used. You can
70                                specify the value "mem" to include
71                                TCL_MEM_DEBUG memory debugging, "compile" to
72                                include TCL_COMPILE_DEBUG debugging, or "all"
73                                to enable all internal debugging.
74        --disable-symbols       Build without debugging symbols
75        --enable-64bit          Enable 64bit support (where applicable)
76        --disable-64bit         Disable 64bit support (where applicable)
77        --enable-64bit-vis      Enable 64bit Sparc VIS support
78        --disable-64bit-vis     Disable 64bit Sparc VIS support
79        --enable-langinfo       Allows use of modern nl_langinfo check for
80                                better localization support. This is on by
81                                default on platforms where nl_langinfo is
82                                found.
83        --disable-langinfo      Specifically disables use of nl_langinfo.
84        --enable-man-symlinks   Use symlinks for linking the manpages that
85                                should be reachable under several names.
86        --enable-man-suffix[=STRING]
87                                Append STRING to the names of installed manual
88                                pages (prior to applying compression, if that
89                                is also enabled). If STRING is omitted,
90                                defaults to 'tcl'.
91        --enable-man-compression=PROG
92                                Compress the manpages using PROG.
93        --enable-dtrace         Enable tcl DTrace provider (if DTrace is
94                                available on the platform), c.f. tclDTrace.d
95                                for descriptions of the probes made available,
96                                see http://wiki.tcl.tk/DTrace for more details
97        --with-encoding=ENCODING Specifies the encoding for compile-time
98                                configuration values. Defaults to iso8859-1,
99                                which is also sufficient for ASCII.
100        --with-tzdata=FLAG      Specifies whether to install timezone data. By
101                                default, the configure script tries to detect
102                                whether a usable timezone database is present
103                                on the system already.
104
105    Mac OS X only (i.e. completely unsupported on other platforms):
106
107        --enable-framework      Package Tcl as a framework.
108        --disable-corefoundation Disable use of CoreFoundation API and revert
109                                to standard select based notifier, required
110                                when using naked fork (i.e. not followed by
111                                execve).
112
113    Note: by default gcc will be used if it can be located on the PATH. If you
114    want to use cc instead of gcc, set the CC environment variable to "cc"
115    before running configure. It is not safe to edit the Makefile to use gcc
116    after configure is run. Also note that you should use the same compiler
117    when building extensions.
118
119    Note: be sure to use only absolute path names (those starting with "/") in
120    the --prefix and --exec-prefix options.
121
122(d) Type "make". This will create a library archive called "libtcl<version>.a"
123    or "libtcl<version>.so" and an interpreter application called "tclsh" that
124    allows you to type Tcl commands interactively or execute script files. It
125    will also create a stub library archive "libtclstub<version>.a" that
126    developers may link against other C code to produce loadable extensions
127    for Tcl.
128
129(e) If the make fails then you'll have to personalize the Makefile for your
130    site or possibly modify the distribution in other ways. First check the
131    porting Web page above to see if there are hints for compiling on your
132    system. If you need to modify Makefile, there are comments at the
133    beginning of it that describe the things you might want to change and how
134    to change them.
135
136(f) Type "make install" to install Tcl binaries and script files in standard
137    places. You'll need write permission on the installation directories to do
138    this. The installation directories are determined by the "configure"
139    script and may be specified with the standard --prefix and --exec-prefix
140    options to "configure". See the Makefile for information on what
141    directories were chosen; you can override these choices by modifying the
142    "prefix" and "exec_prefix" variables in the Makefile. The installed
143    binaries have embedded within them path values relative to the install
144    directory. If you change your mind about where Tcl should be installed,
145    start this procedure over again from step (a) so that the path embedded in
146    the binaries agrees with the install location.
147
148(g) At this point you can play with Tcl by running the installed "tclsh"
149    executable, or via the "make shell" target, and typing Tcl commands at the
150    interactive prompt.
151
152If you have trouble compiling Tcl, see the URL noted above about working
153platforms. It contains information that people have provided about changes
154they had to make to compile Tcl in various environments. We're also interested
155in hearing how to change the configuration setup so that Tcl compiles on
156additional platforms "out of the box".
157
158Test suite
159----------
160
161There is a relatively complete test suite for all of the Tcl core in the
162subdirectory "tests". To use it just type "make test" in this directory. You
163should then see a printout of the test files processed. If any errors occur,
164you'll see a much more substantial printout for each error. See the README
165file in the "tests" directory for more information on the test suite. Note:
166don't run the tests as superuser: this will cause several of them to fail. If
167a test is failing consistently, please send us a bug report with as much
168detail as you can manage. Please use the online database at
169        http://tcl.sourceforge.net/
170
171The Tcl test suite is very sensitive to proper implementation of ANSI C
172library procedures such as sprintf and sscanf. If the test suite generates
173errors, most likely they are due to non-conformance of your system's ANSI C
174library; such problems are unlikely to affect any real applications so it's
175probably safe to ignore them.
Note: See TracBrowser for help on using the repository browser.