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 のアイコンをダブルクリックして設定ダイアログを開き、「フォルダを自動作成する」のチェックを外しておきます。
設定を確認したら、インストールパッケージを展開します。ダウンロードしたインストールパッケージをエクスプローラ上で右クリックし、「解凍(E)」→「出力先を指定して解凍(S)」を選択。
ファイルの解凍先を指定します。ここでは C:\OW18 にしました。この解凍先が OpenWatcom のベースディレクトリになります。ちなみに標準のインストーラでは C:\WATCOM がデフォルトになっています。
ベースディレクトリの名前に特に決まりはないですが、英数字以外の文字(日本語など)や空白を含むフォルダ名は避けたほうがいいと思う(あとあと面倒なので)。
展開中…(この間、CPU 負荷は比較的高め)
展開終了。アーカイブの内容を全部展開したので、あきらかに必要ない部分(OS/2 バイナリとか Novell NLM 向けライブラリとか)も入っちゃってますがまあ気にしない。
3. 簡易環境設定
必要なファイルはすべて展開されたので、あとはいくつかの環境変数を(最低限必要なのは WATCOM と INCLUDE。実用性を考えれば PATH も)設定するだけです。
ここではシステム(もしくはユーザの)環境変数を恒常的に設定するかわりに、バッチファイルを作って OpenWatcom 専用のコマンドプロンプトを適当にでっち上げることにします。
まず適当なエディタを起動し(メモ帳でぜんぜんかまわない)、環境変数設定用のバッチファイルを作成します。
バッチファイルの内容はこんな感じ。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" がついてしまうことがある)
それからもうひとつ、ショートカット用のバッチファイルを作ります(あんまりスマートな方法じゃないなあ…)。内容はこんな感じ。
start "OpenWatcom Prompt" mywatcom.cmd exit
とりあえずこれは runmywatcom.cmd という名前で保存しました。
あとは runmywatcom.cmd へのショートカットをデスクトップに(別の場所でもいいけど)作ればOK。
OpwnWatcom を使いたいときはこのショートカットを叩いて、専用コマンドプロンプトを開きます。