Tclkit static builds

Sometimes, building Tclkit in the default genkit way does not work, because of things like X11 linkage not working as expected.

There is another way to build, which links Tk and Itcl in statically, instead of as extensions loaded from VFS. The main drawbacks are:

Still, static builds were used for tclkit in the past, and they may just be one notch simpler and hence succeed where the default genkit does not.

Below is a transcript of a complete static build (in this case Alpha Tru64 4.0). Be sure to get a recent genkit, it has some tweaks to get incrtcl right. With thanks to Detlef Groth for persevering and sharing the experience:

  src> mkdir tclkit-8.4.2-gcc3
  src> cd tclkit-8.4.2-gcc3
  tclkit-8.4.2-gcc3> wget https://www.equi4.com/pub/tk/tars/genkit
  --11:36:35--  https://www.equi4.com/pub/tk/tars/genkit
	     => `genkit'
  Connecting to www.equi4.com:80... connected!
  HTTP request sent, awaiting response... 200 OK
  Length: 23,287 [text/plain]
      0K -> .......... .......... ..                               [100%]
  11:36:36 (37.04 KB/s) - `genkit' saved [23287/23287]
  tclkit-8.4.2-gcc3>  tclsh8.4 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
  tclkit-8.4.2-gcc3> tclsh8.4 genkit B tcl
    tcl:
      sh ../../../src/tcl/unix/confi... ok
      make binaries LD_SEARCH_FLAGS=... ok
      make install-binaries install-... ok
      /amd/schnuppi/3/project/amphio... ok
    Done.
  tclkit-8.4.2-gcc3> tclsh8.4 genkit B zlib vfs mk itcl tk kit
    zlib:
      sh /amd/schnuppi/3/project/amp... ok
      make libz.a                   ... ok
    vfs:
      sh ../../../src/vfs/configure ... ok
      make binaries                 ... ok
    mk:
      sh ../../../src/mk/unix/config... ok
      make libmk4tcl.la             ... ok
    itcl:
      sh ../../../src/itcl/itcl/conf... ok
      make binaries ITCL_LIBRARY=   ... ok
    tk:
      sh ../../../src/tk/unix/config... ok
      make binaries LD_SEARCH_FLAGS=... ok
    kit:
      gcc -c -I. -I/amd/schnuppi/3/p... ok
      g++ -o kit pwb.o kitInit.o zli... ok
      strip kit                     ... ok
      ls -l /amd/schnuppi/3/project/... ok
    Done.
  tclkit-8.4.2-gcc3> cd tars
  tclkit-8.4.2-gcc3/tars> wget https://www.equi4.com/pub/tk/tars/runtime.kit
  --12:07:25--  https://www.equi4.com/pub/tk/tars/runtime.kit
	     => `runtime.kit'
  Connecting to www.equi4.com:80... connected!
  HTTP request sent, awaiting response... 200 OK
  Length: 245,528 [application/octet-stream]
      0K -> .......... .......... .......... .......... .......... [ 20%]
     50K -> .......... .......... .......... .......... .......... [ 41%]
    100K -> .......... .......... .......... .......... .......... [ 62%]
    150K -> .......... .......... .......... .......... .......... [ 83%]
    200K -> .......... .......... .......... .........             [100%]
  12:07:28 (136.39 KB/s) - `runtime.kit' saved [245528/245528]
  tclkit-8.4.2-gcc3/tars> cd ..
  tclkit-8.4.2-gcc3> cat install/`hostname`/kit tars/runtime.kit > mytclkit
  tclkit-8.4.2-gcc3> chmod 755 mytclkit
  tclkit-8.4.2-gcc3> ./mytclkit
  % package require Itcl
  3.3
  % package require Tk
  8.4
  % exit
  tclkit-8.4.2-gcc3>