HTTPS clone URL
Subversion checkout URL
ajuba_ajuba2_2_1_base_synthetic androwish apn_win_filedialogs bindScriptCount bug_2a70627a03 bug_3f1f79abcf bug_9e487e9f15 bug_99b84e49ff_8_5 bug_99b84e49ff_trunk bug_069c9e43c4 bug_382da038c9 bug_810c43d789 bug_4955f5d8a4 bug_7703f947aa bug_533519 bug_533519_alt bug_562118ce41 bug_857686bb3d bug_1247115fff bug_1292219 bug_1292219fff bug_1501749fff bug_1581435fff bug_1581955fff bug_1630251 bug_1630254 bug_1630262 bug_1630271 bug_1669632fff bug_1714535fff bug_1913750 bug_2262711fff bug_2368195fff bug_2443069 bug_2546087 bug_2886436fff_option1 bug_2886436fff_option2 bug_3021557 bug_3062331 bug_3216070 bug_3404541 bug_3410609 bug_3417012fff bug_3475627 bug_3486474 bug_3508771 bug_3511806 bug_3512824 bug_3529885fff bug_3545457 bug_3554052fff bug_3554273 bug_3555644 bug_3566106 bug_3567779 bug_3567786 bug_3582795 bug_3585396 bug_3588824 bug_3592454fff bug_3592736 bug_3599312 bug_3600390 bug_3604346 bug_3607248 bug_3607250 bug_3607830 bug_3608074 bug_3613668 bug_3613759 bug_280089486e bug_280089486e_bis bug_c24b97d905 bug_c199ef90a6 bug_d7bad57c43 bug_e4ed00a954 bug_f214b8 bug_f214b8ad5b cocoa_full_merge_review_8_5 contrib_patrick_fradin_code_cleanup core_8_0_2_synthetic core_8_0_5_branch core_8_0_6_branch core_8_1_0_branch core_8_1_0_synthetic core_8_1_a2_synthetic core_8_1_b1_synthetic core_8_1_b2_synthetic core_8_1_b3_synthetic core_8_1_branch_old core_8_2_1_branch core_8_2_b3_branch core_8_3_1_branch core_8_4_9_branch core_8_4_20_rc core_8_4_branch core_8_4_win_speedup core_8_5_10_rc core_8_5_11_rc core_8_5_12_rc core_8_5_13_rc core_8_5_14rc core_8_5_15_rc core_8_5_16_rc core_8_5_17_rc core_8_5_18_rc core_8_5_a5_synthetic core_8_5_branch core_8_6_0_rc core_8_6_1_rc core_8_6_2_rc core_8_6_3_rc core_8_6_4_rc core_8_6_b2_rc core_8_6_b3_rc core_stabilizer_branch core_stabilizer_merge_synthetic core_zip_vfs dev_8_1_stubs_branch dev_stubs_branch dgp_backportcocoaforget dgp_privates_into_namespace dgp_review dgp_support_tcl_8_6_build frq_3536507 frq_3555324 hitheme initsubsystems2 jn_cocoa_full_merge_8_5 jn_web_colors macosx_8_4_branch macosx_button_segfault master mistachkin_dev_branch mistake mistake__off_trunk new_icons novem_support novem_support_85 patch_3471873 patch_3479498 pspjuth_canvas rfe_3f456a5bb9 rfe_2636558 rfe_3503317 rfe_e9a842a3c5 scriptics_sc_1_0_branch scriptics_sc_1_1_branch scriptics_tclpro_1_3_b2_branch scrollbar_obj_cmd send_obj_cmd tclpro_1_4_0_synthetic tclpro_1_4_1_synthetic tclpro_1_5_0_synthetic text_elided tip_382 tip_415 tip_437 tk_cocoa_8_5_backport tk_errorcodes tobetested ttk_range_widget win32_arm
Nothing to show
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time
Tk UNIX README -------------- This is the directory where you configure, compile, test, and install UNIX versions of Tk. This directory also contains source files for Tk that are specific to UNIX. The information in this file is maintained at: http://www.tcl.tk/doc/howto/compile.html For information on platforms where Tcl/Tk is known to compile, along with any porting notes for getting it to work on those platforms, see: http://www.tcl.tk/software/tcltk/platforms.html The rest of this file contains instructions on how to do this. The release should compile and run either "out of the box" or with trivial changes on any UNIX-like system that approximates POSIX, BSD, or System V. We know that it runs on workstations from Sun, H-P, DEC, IBM, and 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 MacOSX, see the README file in the directory ../macosx. How To Compile And Install Tk: ------------------------------ (a) Make sure that the Tcl release is present in the directory ../../tcl<version> (or else use the "--with-tcl" switch described below). This release of Tk will only work with the equivalently versioned Tcl release. Also, be sure that you have configured Tcl before you configure Tk. (b) Check for patches as described in ../README. (c) If you have already compiled Tk once in this directory and are now preparing to compile again in the same directory but for a different platform, or if you have applied patches, type "make distclean" to discard all the configuration information computed previously. (d) Type "./configure". This runs a configuration script created by GNU autoconf, which configures Tk for your system and creates a Makefile. The configure script allows you to customize the Tk configuration for your site; for details on how you can do this, type "./configure -help" or refer to the autoconf documentation (not included here). Tk's "configure" script supports the following special switches in addition to the standard ones: --with-tcl=DIR Specifies the directory containing the Tcl binaries and Tcl's platform-dependent configuration information. By default the Tcl directory is assumed to be in the location given by (a) above. --with-x=DIR Tells configure where to find an installation of the X Window System. Not normally needed. --enable-threads If this switch is set, Tk will compile itself with multithreading support. --enable-shared If this switch is specified, Tk will compile itself as a shared library if it can figure out how to do that on this platform. This is the default on platforms where we know how to build shared libraries. --disable-shared If this switch is specified, Tk will compile itself as a static library. --disable-rpath Turns off use of the rpath link option on platforms that would otherwise use it. --enable-symbols Build with debugging symbols. By default standard debugging symbols are used. You can specify the value "mem" to include TCL_MEM_DEBUG memory debugging. --disable-symbols Build without debugging symbols --enable-64bit Enable 64bit support (where applicable) --disable-64bit Disable 64bit support (where applicable) --enable-64bit-vis Enable 64bit Sparc VIS support --disable-64bit-vis Disable 64bit Sparc VIS support --disable-xft Disable support for antialiased fonts via the Freetype/xft library. By default, this is switched on whenever the configure script can detect the required libraries. --enable-man-symlinks Use symlinks for linking the manpages that should be reachable under several names. --enable-man-compression=PROG Compress the manpages using PROG. --enable-man-suffix=STRING Add STRING to the name of each of the manual pages. If specified without giving STRING, the suffix will be "tk". Mac OS X only: --enable-framework Package Tk as a framework. --disable-corefoundation Disable use of CoreFoundation API. --enable-aqua Use Aqua windowingsystem rather than X11, requires --enable-corefoundation with Tcl and Tk. Note: by default gcc will be used if it can be located on the PATH. If you want to use cc instead of gcc, set the CC environment variable to "cc" before running configure. It is not safe to change the Makefile to use gcc after configure is run. Note: be sure to use only absolute path names (those starting with "/") in the --prefix and --exec-prefix options. (e) Type "make". This will create a library archive called "libtk<version>.a" or "libtk<version>.so" and an interpreter application called "wish" that allows you to type Tcl/Tk commands interactively or execute script files. It will also create a stub library archive "libtkstub<version>.a" that developers may link against other C code to produce loadable extensions that call into Tk's public interface routines. (f) If the make fails then you'll have to personalize the Makefile for your site or possibly modify the distribution in other ways. First check the porting Web page above to see if there are hints for compiling on your system. If you need to modify Makefile, there are comments at the beginning of it that describe the things you might want to change and how to change them. (g) Type "make install" to install Tk's binaries and script files in standard places. You'll need write permission on the installation directories to do this. The installation directories are determined by the "configure" script and may be specified with the --prefix and --exec-prefix options to "configure". See the Makefile for information on what directories were chosen. You should not override these choices by modifying the Makefile, or by copying files post-install. The installed binaries have embedded within them path values relative to the install directory. If you change your mind about where Tk should be installed, start this procedure over again from step (a) so that the path embedded in the binaries agrees with the install location. (h) At this point you can play with Tk by running the installed "wish" executable, or via the "make shell" target, and typing Tcl/Tk commands at the interactive prompt. If you have trouble compiling Tk, see the URL noted above about working platforms. It contains information that people have provided about changes they had to make to compile Tk in various environments. We're also interested in hearing how to change the configuration setup so that Tk compiles on additional platforms "out of the box". Note: Do not specify either of the TCL_LIBRARY and TK_LIBRARY environment variables in a production installation, as this can cause conflicts between different versions of the libraries. Instead, the libraries should have the correct locations of their associated script directories built into them. Test suite ---------- Tk has a substantial self-test suite, consisting of a set of scripts in the subdirectory "tests". To run the test suite just type "make test" in this directory. You should then see a printout of the test files processed. If any errors occur, you'll see a much more substantial printout for each error. In order to avoid false error reports, be sure to run the tests with an empty resource database (e.g., remove your .Xdefaults file or delete any entries starting with *). Also, don't try to do anything else with your display or keyboard while the tests are running, or you may get false violations. See the README file in the "tests" directory for more information on the test suite. If the test suite generates errors, most likely they are due to non-portable tests that are interacting badly with your system configuration. We are gradually eliminating the non-portable tests, but this release includes many new tests so there will probably be some portability problems. As long as the test suite doesn't core dump, it's probably safe to conclude that any errors represent portability problems in the test suite and not fundamental flaws with Tk. There are also a number of visual tests for things such as screen layout, Postscript generation, etc. These tests all have to be run by manually enabling the "userInteraction" constraint when testing, and the results have to be verified visually. This can be done with: make test TESTFLAGS="-constraints userInteraction" Some tests will present a main window with a bunch of menus, which you can use to select various tests.