1.1. BOOTSTRAP
Introductory notes:
- suggestion: be consistent, i.e. create a fresh empty directory and chdir to it
- if your system is not connected to the internet, find some way to get these files to your system:
http://www.equi4.com/pub/tk/tars/
- the "genkit A" step fetches all tar/gz files, but beware that if you do "genkit D" later on to test things, you also need "runtime.kit"
If you already have a working tclsh 8.1 or newer, skip to section 1.3.
1.2. TCLSH
To build tclkit, you need a working standard tclsh. Here's one way to do it:
- get the Tcl source code from www.tcl.tk, or perhaps like this if you have wget:
wget http://www.equi4.com/pub/tk/tars/tcl.tar.gz
- unpack and build:
gzip -d <tcl.tar.gz | tar xf - .
cd tcl/unix
./configure
make
- with the above, you end up with "tcl/unix/tclsh", let's symlink it for convenience:
ln -s tcl/unix/tclsh .
1.3. FETCH GENKIT
The "genkit" script drives the entire build process, get it with wget or some other download utility:
wget http://www.equi4.com/pub/tk/tars/genkit
It's a dual-mode script and can be launched either from tclsh or from sh. The latter can only be used after step 2.1 is complete.
1.4. FETCH EVERYTHING ELSE
Genkit needs a standard directory structure with all the sources. The goal here, is to end up with a "src/" directory containing unpacked sources for tcl, tk, incrtcl, metakit, tclvfs, zlib, and tclkit itself.
The easiest way when you start from scratch is to let genkit fetch it all:
$ tclsh genkit A
fetching tars/tcl.tar.gz ... ok
unpacking tars/tcl.tar.gz
fetching tars/tk.tar.gz ... ok
unpacking tars/tk.tar.gz
fetching tars/itcl.tar.gz ... ok
unpacking tars/itcl.tar.gz
fetching tars/mk.tar.gz ... ok
unpacking tars/mk.tar.gz
fetching tars/vfs.tar.gz ... ok
unpacking tars/vfs.tar.gz
fetching tars/kit.tar.gz ... ok
unpacking tars/kit.tar.gz
fetching tars/zlib.tar.gz ... ok
unpacking tars/zlib.tar.gz
$
Note: the "genkit A" step fetches all tar/gz files, but beware that if you do "genkit D" later on to test things, you also need "runtime.kit".
If the "tars/" and "src/" directories do not exist, they will be created, and all data will be downloaded via HTTP from http://www.equi4.com/pub/tk/tars/.
A number of variations are possible:
- if cvs/<name>/ exists, src/<name>/ will be set up as a symlink to it, nothing will be downloaded
- if tars/ exists and contains the proper *.tar.gz files, they will be used and unpacked in src/
- a mix is possible, if you have some entries, they will be used and the rest fetched via HTTP
HTTP fetch won't work if a firewall is blocking plain HTTP access. In that case get the files from [1] and put them in "tars/". After that, "sh genkit A" will see them.
To summarize, the only goal of all this is to end up with the following structure:
$ ls src/
itcl kit mk tcl tk vfs zlib
$
Each of these should be directories with the appropriate source trees (or symlinks to them).
Go to Genkit - Step 2
2003-03-17
(80.126.24.9)
Note: you are looking at
the snapshot of an old wiki
- much of this information
is likely to be very outdated
