Genkit - Step 1

1.1. BOOTSTRAP

Introductory notes:

        https://www.equi4.com/pub/tk/tars/

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:

        wget https://www.equi4.com/pub/tk/tars/tcl.tar.gz
        gzip -d <tcl.tar.gz | tar xf - .
        cd tcl/unix
        ./configure
        make
        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 https://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 https://www.equi4.com/pub/tk/tars/.

A number of variations are possible:

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