• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..04-Nov-2021-

Makefile.inH A D03-May-202259.8 KiB1,7381,156

READMEH A D04-Nov-20218.5 KiB174147

aclocal.m4H A D04-Nov-202132 21

configureH A D03-May-2022343.2 KiB12,33210,170

configure.inH A D04-Nov-202132.9 KiB856578

install-shH A D04-Nov-202114.3 KiB518338

installManPageH A D03-May-20223.2 KiB12688

license.termsH A D04-Nov-20212.2 KiB4136

tcl.m4H A D04-Nov-202196.2 KiB3,0792,877

tk.pc.inH A D03-May-2022485 1613

tk.specH A D04-Nov-20211.4 KiB5545

tkAppInit.cH A D29-Oct-20214.5 KiB17871

tkConfig.h.inH A D04-Nov-20216.3 KiB258174

tkConfig.sh.inH A D03-May-20223.2 KiB9874

tkUnix.cH A D29-Oct-20216.2 KiB270104

tkUnix3d.cH A D29-Oct-202113.9 KiB501250

tkUnixButton.cH A D29-Oct-202129.6 KiB1,025642

tkUnixColor.cH A D29-Oct-202113.1 KiB451208

tkUnixConfig.cH A D29-Oct-20211.1 KiB519

tkUnixCursor.cH A D29-Oct-202118.1 KiB651425

tkUnixDefault.hH A D29-Oct-202116.9 KiB541417

tkUnixDialog.cH A D29-Oct-20215 KiB19468

tkUnixDraw.cH A D29-Oct-20216.2 KiB244104

tkUnixEmbed.cH A D29-Oct-202135.1 KiB1,211558

tkUnixEvent.cH A D29-Oct-202121.4 KiB839419

tkUnixFocus.cH A D29-Oct-20214.4 KiB15052

tkUnixFont.cH A D29-Oct-202197.2 KiB3,3691,839

tkUnixInit.cH A D29-Oct-20213.6 KiB16364

tkUnixInt.hH A D29-Oct-2021674 367

tkUnixKey.cH A D29-Oct-202114.5 KiB561306

tkUnixMenu.cH A D29-Oct-202152.6 KiB1,9161,105

tkUnixMenubu.cH A D29-Oct-202113 KiB475290

tkUnixPort.hH A D29-Oct-20214.2 KiB204126

tkUnixRFont.cH A D29-Oct-202139.9 KiB1,434963

tkUnixScale.cH A D29-Oct-202121 KiB737409

tkUnixScrlbr.cH A D29-Oct-202113.6 KiB489263

tkUnixSelect.cH A D29-Oct-202144.2 KiB1,553889

tkUnixSend.cH A D29-Oct-202158.8 KiB2,0641,113

tkUnixWm.cH A D29-Oct-2021216.6 KiB7,4734,345

tkUnixXId.cH A D29-Oct-20213.5 KiB15345

README

1Tk UNIX README
2--------------
3
4This is the directory where you configure, compile, test, and install UNIX
5versions of Tk. This directory also contains source files for Tk that are
6specific to UNIX.
7
8The information in this file is maintained at:
9	https://www.tcl-lang.org//doc/howto/compile.html
10
11For information on platforms where Tcl/Tk is known to compile, along with any
12porting notes for getting it to work on those platforms, see:
13	https://www.tcl-lang.org//software/tcltk/platforms.html
14
15The rest of this file contains instructions on how to do this. The release
16should compile and run either "out of the box" or with trivial changes on any
17UNIX-like system that approximates POSIX, BSD, or System V. We know that it
18runs on workstations from Sun, H-P, DEC, IBM, and SGI, as well as PCs running
19Linux, BSDI, and SCO UNIX. To compile for a PC running Windows, see the README
20file in the directory ../win. To compile for MacOSX, see the README file in
21the directory ../macosx.
22
23How To Compile And Install Tk:
24------------------------------
25
26(a) Make sure that the Tcl release is present in the directory
27    ../../tcl<version> (or else use the "--with-tcl" switch described below).
28    This release of Tk will only work with the equivalently versioned Tcl
29    release. Also, be sure that you have configured Tcl before you configure
30    Tk.
31
32(b) Check for patches as described in ../README.
33
34(c) If you have already compiled Tk once in this directory and are now
35    preparing to compile again in the same directory but for a different
36    platform, or if you have applied patches, type "make distclean" to discard
37    all the configuration information computed previously.
38
39(d) Type "./configure". This runs a configuration script created by GNU
40    autoconf, which configures Tk for your system and creates a Makefile. The
41    configure script allows you to customize the Tk configuration for your
42    site; for details on how you can do this, type "./configure -help" or
43    refer to the autoconf documentation (not included here). Tk's "configure"
44    script supports the following special switches in addition to the standard
45    ones:
46
47	--with-tcl=DIR		Specifies the directory containing the Tcl
48				binaries and Tcl's platform-dependent
49				configuration information. By default the Tcl
50				directory is assumed to be in the location
51				given by (a) above.
52	--with-x=DIR		Tells configure where to find an installation
53				of the X Window System. Not normally needed.
54	--enable-threads	If this switch is set, Tk will compile itself
55				with multithreading support.
56	--enable-shared		If this switch is specified, Tk will compile
57				itself as a shared library if it can figure
58				out how to do that on this platform. This is
59				the default on platforms where we know how to
60				build shared libraries.
61	--disable-shared	If this switch is specified, Tk will compile
62				itself as a static library.
63	--disable-rpath		Turns off use of the rpath link option on
64				platforms that would otherwise use it.
65	--enable-symbols	Build with debugging symbols. By default
66				standard debugging symbols are used. You can
67				specify the value "mem" to include
68				TCL_MEM_DEBUG memory debugging.
69	--disable-symbols	Build without debugging symbols
70	--enable-64bit		Enable 64bit support (where applicable)
71	--disable-64bit		Disable 64bit support (where applicable)
72	--enable-64bit-vis	Enable 64bit Sparc VIS support
73	--disable-64bit-vis	Disable 64bit Sparc VIS support
74	--disable-xft		Disable support for antialiased fonts via the
75				Freetype/xft library. By default, this is
76				switched on whenever the configure script can
77				detect the required libraries.
78	--enable-man-symlinks	Use symlinks for linking the manpages that
79				should be reachable under several names.
80	--enable-man-compression=PROG
81				Compress the manpages using PROG.
82	--enable-man-suffix=STRING
83				Add STRING to the name of each of the manual
84				pages. If specified without giving STRING, the
85				suffix will be "tk".
86
87    Mac OS X only:
88
89	--enable-framework	Package Tk as a framework.
90	--disable-corefoundation Disable use of CoreFoundation API.
91	--enable-aqua		Use Aqua windowingsystem rather than X11,
92				requires --enable-corefoundation with Tcl and
93				Tk.
94
95    Note: by default gcc will be used if it can be located on the PATH. If you
96    want to use cc instead of gcc, set the CC environment variable to "cc"
97    before running configure. It is not safe to change the Makefile to use gcc
98    after configure is run.
99
100    Note: be sure to use only absolute path names (those starting with "/") in
101    the --prefix and --exec-prefix options.
102
103(e) Type "make". This will create a library archive called "libtk<version>.a"
104    or "libtk<version>.so" and an interpreter application called "wish" that
105    allows you to type Tcl/Tk commands interactively or execute script files.
106    It will also create a stub library archive "libtkstub<version>.a" that
107    developers may link against other C code to produce loadable extensions
108    that call into Tk's public interface routines.
109
110(f) If the make fails then you'll have to personalize the Makefile for your
111    site or possibly modify the distribution in other ways. First check the
112    porting Web page above to see if there are hints for compiling on your
113    system. If you need to modify Makefile, there are comments at the
114    beginning of it that describe the things you might want to change and how
115    to change them.
116
117(g) Type "make install" to install Tk's binaries and script files in standard
118    places. You'll need write permission on the installation directories to do
119    this. The installation directories are determined by the "configure"
120    script and may be specified with the --prefix and --exec-prefix options to
121    "configure". See the Makefile for information on what directories were
122    chosen. You should not override these choices by modifying the Makefile,
123    or by copying files post-install. The installed binaries have embedded
124    within them path values relative to the install directory. If you change
125    your mind about where Tk should be installed, start this procedure over
126    again from step (a) so that the path embedded in the binaries agrees with
127    the install location.
128
129(h) At this point you can play with Tk by running the installed "wish"
130    executable, or via the "make shell" target, and typing Tcl/Tk commands at
131    the interactive prompt.
132
133If you have trouble compiling Tk, see the URL noted above about working
134platforms. It contains information that people have provided about changes
135they had to make to compile Tk in various environments. We're also interested
136in hearing how to change the configuration setup so that Tk compiles on
137additional platforms "out of the box".
138
139Note: Do not specify either of the TCL_LIBRARY and TK_LIBRARY environment
140variables in a production installation, as this can cause conflicts between
141different versions of the libraries. Instead, the libraries should have the
142correct locations of their associated script directories built into them.
143
144Test suite
145----------
146
147Tk has a substantial self-test suite, consisting of a set of scripts in the
148subdirectory "tests". To run the test suite just type "make test" in this
149directory. You should then see a printout of the test files processed. If any
150errors occur, you'll see a much more substantial printout for each error. In
151order to avoid false error reports, be sure to run the tests with an empty
152resource database (e.g., remove your .Xdefaults file or delete any entries
153starting with *). Also, don't try to do anything else with your display or
154keyboard while the tests are running, or you may get false violations. See the
155README file in the "tests" directory for more information on the test suite.
156
157If the test suite generates errors, most likely they are due to non-portable
158tests that are interacting badly with your system configuration. We are
159gradually eliminating the non-portable tests, but this release includes many
160new tests so there will probably be some portability problems. As long as the
161test suite doesn't core dump, it's probably safe to conclude that any errors
162represent portability problems in the test suite and not fundamental flaws
163with Tk.
164
165There are also a number of visual tests for things such as screen layout,
166Postscript generation, etc. These tests all have to be run by manually
167enabling the "userInteraction" constraint when testing, and the results have
168to be verified visually. This can be done with:
169
170    make test TESTFLAGS="-constraints userInteraction"
171
172Some tests will present a main window with a bunch of menus, which you can use
173to select various tests.
174