Build Tcl/Tk on IRIX

Published

I finally succeeded in compiling the latest Tcl/Tk version 8.6.18 and several Tcl extensions using my build framework BAWT.

To be able to run the binaries on my Indy and my virtual Indy's using MAME and the Irresponsible Rust IRIX Simulator I decided to use MIPS3 / n32 mode.

The build process involves the following steps:

Install MipsPro C/C++ 7.4

To install MipsPro C/C++ 7.4, the following CDs or ISO images are needed:

MIPSpro C Compiler 7.4.iso
Compiler Execution Environment 7.4.iso
IRIX Development Foundation 1.3.iso
MIPSpro C++ Compiler 7.4.iso

I did not use real CDs or ISO images, but downloaded the needed tar files from jrra.zone and copied them onto my NFS server. After untaring the files, I used the Software Manager to install the packages via NFS.

Note:
There is no need for MipsPro licenses, as Tcl/Tk is compiled using gcc and we only use the advanced header files of the MipsPro distribution.
Install Nekoware tools

Install the following tardists from the MIPS3 Nekoware distribution:

cairo-1.4.12        (needed for tkpath)
gcc-3.4.6           (needed for BAWT)
make-3.80           (needed for BAWT)
pkg-config-0.21     (needed for tkpath)
tar-1.15.1          (needed for SetupTcl)
unzip-5.51          (needed for BAWT)
zip-2.3.1           (needed for BAWT)

As the above mentioned packages depend on other packages, you need to have the following tardist files available for installation:

neko_cairo-1.4.12-mips3.tardist
neko_expat-1.95.8-mips3.tardist
neko_fontconfig-2.3.2-mips3.tardist
neko_freetype2-2.1.10-mips3.tardist
neko_gcc-3.4.6.tardist
neko_gettext-0.14.1-mips3.tardist
neko_glib-1.2.10-mips3.tardist
neko_glitz-0.5.6-mips3.tardist
neko_gtk+-1.2.10-mips3.tardist
neko_libiconv-1.11_mips3.tardist
neko_libpixman-0.1.6-mips3.tardist
neko_libpng-1.2.8-mips3.tardist
neko_libxrender-0.8.4-mips3.tardist
neko_make-3.80-mips3.tardist
neko_ncurses-5.4-mips3.tardist
neko_pkgconfig-0.21-mips3.tardist
neko_render-0.8-mips3.tardist
neko_tar-1.15.1-mips3.tardist
neko_unzip-5.51-mips3.tardist
neko_zip-2.3.1-mips3.tardist
neko_zlib-1.2.3-r1-mips3.tardist

These packages are available as tar file BawtNekoware3.tar on the SgiTcl download page.

Note:
The complete Nekoware distribution is available on archive.org (~ 20 GB).

After extraction of that file, the nekoware-mips3 tardist files are located in directory pub/downloads/Nekoware/nekoware-mips3/current

Build Tcl/Tk and extensions
  • Download the IRIX specific BAWT distribution.
  • Extract BAWT-Framework BawtIrix-3.3.0.tar in a directory of choice, ex. ~opt/Bawt
  • Open shell window, go into created directory ~opt/Bawt/Bawt-3.3.0 and execute:
    chmod u+x Build-IRIX.sh
    chmod u+x tclkit-IRIX32-mips
  • Create Tcl/Tk distribution for IRIX:
    ./Build-IRIX.sh update
Note:
The IRIX specific BAWT distribution currently contains only Tcl/Tk and packages I'm involved. See the related links page for information about these packages.
Note:
The Setup file IRIX.bawt uses CMake to build packages tcl3d and FTGL. The available CMake version is a MIPS4 binary. If you want to compile on a MIPS3 system (Indy), you have to change the following two lines in the Setup file:
  Setup FTGL  FTGL-2.1.3.7z  FTGL.bawt  NoIRIX
  Setup tcl3d tcl3d-1.0.4.7z tcl3d.bawt Dist=Basic Build=TEA OptOgl=OFF
  
Binary distribution

A pre-built Tcl/Tk distribution is available on the SgiTcl download page. If extracting the distribution into ex. /opt, then you have to extend the following environment variables:

PATH            /opt/Tcl/bin
LD_LIBRARY_PATH /opt/Tcl/lib
Screenshots

Tcl3D Intro

Tcl3D Demo

BawtLogViewer

poImgviewBawtLogViewer