tmp/doc/OpenWatcom/How_to_install_a_low_profile

たぶん世界一ぬるい OpenWatcom インストールガイド

ここでは OpenWatcom C++ の「消極的」インストール法について書いてみます。
消極的というのは、つまり

  • とりあえずコマンドラインでコンパイルができればいい
  • いまインストールされている OpenWatcom 以外の開発環境(Visual Studio とか)とのバッティングをなるべく抑えたい
  • いま使っているのと別のバージョンの OpenWatcom を一時的に使ってみたい
  • レジストリ弄ったりとかシステムグローバルな環境変数の設定(PATH の追加も含めて)とかしてほしくない

というような感じのことです。

OpenWatcom のインストールパッケージはぶっちゃけインストーラつきの自己解凍型 ZIP ファイルだったりするので、ダウンロードしたインストールパッケージを zip ファイルに対応したアーカイバに放り込めば必要なファイルはすべて取り出すことができます。あとは環境変数を設定するだけ。

私はふだんはコマンドラインから Info-ZIP の Unzip で手動展開していますが、もちろん GUI っぽい解凍ツールでも大丈夫です。今回は Lhaplus を使ってみました。

(でもここに書いた方法って、手持ちの Windows2000 でしか試したことがないんだ…もっと新しめの XP やら Vista やら 7 やらだとアクセス保護とかいろいろあるのでこのままやってもうまくいかない可能性はある…)

1. インストールパッケージのダウンロード

OpenWatcom のオフィシャルサイトからインストールパッケージをダウンロードします。とりあえず http://www.openwatcom.org/ftp/ から open-watcom-c-win32-(バージョン番号).exe という感じのやつを取ってくるのが手っ取り早いと思います。
ファイルのダウンロードってのは意外と失敗しやすい(途中で接続が切れちゃったりとかね)ので、ダウンロード支援ソフトを適当に見繕って使うのが便利かもしれません。

2. パッケージの展開

ダウンロードしたファイルをそのまま実行すればインストーラが起動しますが、ここでは「消極的」に手動で展開します。

まず Lhaplus の設定を確認。Lhaplus のアイコンをダブルクリックして設定ダイアログを開き、「フォルダを自動作成する」のチェックを外しておきます。

ow_inst_lhapluscfg.png

設定を確認したら、インストールパッケージを展開します。ダウンロードしたインストールパッケージをエクスプローラ上で右クリックし、「解凍(E)」→「出力先を指定して解凍(S)」を選択。

ow_inst_00.png

ファイルの解凍先を指定します。ここでは C:\OW18 にしました。この解凍先が OpenWatcom のベースディレクトリになります。ちなみに標準のインストーラでは C:\WATCOM がデフォルトになっています。

ow_inst_01.png

ベースディレクトリの名前に特に決まりはないですが、英数字以外の文字(日本語など)や空白を含むフォルダ名は避けたほうがいいと思う(あとあと面倒なので)。

ow_inst_02.png

展開中…(この間、CPU 負荷は比較的高め)

ow_inst_03.png

展開終了。アーカイブの内容を全部展開したので、あきらかに必要ない部分(OS/2 バイナリとか Novell NLM 向けライブラリとか)も入っちゃってますがまあ気にしない。

3. 簡易環境設定

必要なファイルはすべて展開されたので、あとはいくつかの環境変数を(最低限必要なのは WATCOM と INCLUDE。実用性を考えれば PATH も)設定するだけです。

ここではシステム(もしくはユーザの)環境変数を恒常的に設定するかわりに、バッチファイルを作って OpenWatcom 専用のコマンドプロンプトを適当にでっち上げることにします。

まず適当なエディタを起動し(メモ帳でぜんぜんかまわない)、環境変数設定用のバッチファイルを作成します。

ow_inst_04.png

バッチファイルの内容はこんな感じ。C:\OW18 以外の場所に OpenWatcom を展開した場合は、 set WATCOM=C:\ow18 の部分を変更してください。

@echo off
if not "x%WATCOM%"=="x" goto MYWATCOM02
  set WATCOM=C:\ow18

:MYWATCOM02
set INCLUDE=%WATCOM%\h
set WINDOWS_INCLUDE=%WATCOM%\h;"%WATCOM%\h\nt
set OS2_INCLUDE=%WATCOM%\h;"%WATCOM%\h\os2
set LINUX_INCLUDE=%WATCOM%\lh

set WLANG=english
set WCL386=-q

PATH=%WATCOM%\binnt;%WATCOM%\binw;%PATH%
prompt [OpenWatcom] $p$g

ベースディレクトリと PATH のほかに、環境変数をいくつか設定しています。 OpenWatcom の動作に必要とされる環境変数の設定については readme.txt にも説明があります(もちろん英語だけどね…)。 ここでは上の例で設定したものについて、すこし補足説明を。

環境変数名 説明
WATCOM OpenWatcom ベースディレクトリ
少なくともリンカ(wlink)が標準ライブラリのリンクパス設定に使っている
WINDOWS_INCLUDE システムヘッダのインクルードパス(Windowsターゲット指定時)
Windows用コンパイラのデフォルトターゲットは当然ながら Windows なので、ここで指定したインクルードパスが使われる
OS2_INCLUDE システムヘッダのインクルードパス(OS/2ターゲット指定時)
LINUX_INCLUDE システムヘッダのインクルードパス(linuxターゲット指定時)
INCLUDE システムヘッダのインクルードパス(デフォルト)
指定ターゲット専用のインクルードパスが指定されていない場合、ここで指定されたパスが使われる。
WLANG メッセージの言語指定。
なにも指定しないと、日本語Windowsの場合は日本語(japanese)になる…のだが、かなり中途半端(商用コンパイラ時代の作業がとりあえず残してある、ぐらいのもの)なので潔く英語指定したほうがいいと思う。
WCL386 コンパイルドライバ(wcl386)のデフォルトオプション。
ここで指定した -q は各種メッセージ表示の抑制オプション。指定しなくても動作に支障はないが、コンパイラやリンカのコピーライトメッセージが毎回表示されるとうざいのでつけておいた。

入力し終わったら「名前を付けて保存」します。特に深い考えもなく、マイドキュメントのフォルダに、mywatcom.cmd というファイル名で保存しました。
(文字コードとファイル名の拡張子に注意。メモ帳の場合、うっかりするとファイル名の後ろに問答無用で ".txt" がついてしまうことがある)

ow_inst_05.png

それからもうひとつ、ショートカット用のバッチファイルを作ります(あんまりスマートな方法じゃないなあ…)。内容はこんな感じ。

start "OpenWatcom Prompt" mywatcom.cmd
exit

とりあえずこれは runmywatcom.cmd という名前で保存しました。

ow_inst_07.png

あとは runmywatcom.cmd へのショートカットをデスクトップに(別の場所でもいいけど)作ればOK。

ow_inst_08.png

OpwnWatcom を使いたいときはこのショートカットを叩いて、専用コマンドプロンプトを開きます。

アンインストール

まあ一応書いておきます…手動でインストールしたので、削除も手動で行う必要があります。 要するに展開したファイルと自分で作成したファイルをごみ箱に放り込むだけです。

  1. ショートカットをごみ箱に送る
  2. バッチファイル(mywatcom.cmd, runmywatcom.cmd)をごみ箱に送る
  3. OpenWatcom を展開したフォルダ(上の例では C:\OW18)をごみ箱に送る