top-left top-right
bitWalk
MinGW Programming Kit

クロスコンパイル版 Tcl/Tk for Windows

はじめに

Tcl/Tk は UNIX 系 OS ばかりでなく Winodws や MacOS 上でも利用できる、マルチプラットフォーム対応のスクリプト言語です。C コンパイラがあれば、SourceForge で公開されているソースから Windows 用のバイナリをコンパイルすることができます。Windows 用に利用できるCコンパイラは Microsoft Visual C++、Borland C++ です。また、MinGW の gcc にも対応しています。

ここでは、Tcl/Tk 8.4.1 のコンパイルについて説明します。コンパイル方法が変わらない限り、使用する MinGW 環境や公開しているビットウォーク版ビルドパッケージのバージョンと異なる場合がありますが、適宜バージョン番号の部分を読み換えてください。

作業環境

ここでの説明は以下の環境でおこなうものとします。ただし、Linux には一通りのコンパイル環境が既にインストールされているものとします。

  • Red Hat Linux 8.0 (Intel版)
  • MinGW用 binutils-mingw-2.13.90-5bw.i386.rpm
  • MinGW用 gcc-mingw-3.2-2bw.i386.rpm
  • MinGW用 mingw-runtime-2.2-5bw.i386.rpm
  • MinGW用 w32api-2.1-5bw.i386.rpm

ソースの入手と展開

Tcl/Tkのソースファイルを作業用のディレクトリへダウンロードします。

ダウンロードしたファイルを展開します。

$ tar zxvf tcl8.4.1-src.tar.gz
:
:
$ tar zxvf tk8.4.1-src.tar.gz
:
:

コンパイル

Tcl

まず Tcl の Windows 用バイナリをコンパイルするディレクトリへ移動します。

$ cd tcl8.4.1/win

MinGW クロスコンパイル用スクリプト

次に、使用するクロスコンパイラなどを指定して configure スクリプトを実行するために、シェルスクリプトを記述したファイル(リスト2)を用意します。なお、/usr/local/bin へはパスが通っている必要があります。

リスト1: mingw.sh
#!/bin/bash
target=i386-mingw32

export AS=${target}-as
export CC=${target}-gcc
export AR=${target}-ar
export RANLIB=${target}-ranlib
export LD=${target}-ld
export DLLTOOL=${target}-dlltool
export RC=${target}-windres

rm -f config.*
configure --prefix=../../Tcl

コンパイル・インストール

次のようにタイプして、コンパイルとインストールを実行します。

$ chmod +x mingw.sh
$ ./mingw.sh
:
:
$ make
:
:
$ make install
:
:

Tk

次に Tk の Windows 用バイナリをコンパイルするディレクトリへ移動します。

$ cd ../../tk8.4.1/win

Tk のコンパイルでも Tcl で使用した mingw.sh と同じ内容のシェルスクリプトを実行してからコンパイルとインストールを実行します。

$ cp ../../tcl8.4.1/win/mingw.sh ./
$ ./mingw.sh
:
:
$ make
:
:
$ make install
:
:

補足

make install の前に次のようにバイナリに対して strip を実行すると、シンボルが削除されてバイナリファイルのサイズが小さくなります。

$ strip *.dll
$ strip *.exe


bitWalk  ご利用上の注意   免責事項   著作権   プライバシー   リンクについて   会社概要 
Copyright (C) 2000 - 2004 bitWalk Co., Ltd. All Rights Reserved.
bottom-left bottom-right