[FDclone3 をインストールする法] ・UNIX 版の場合 1. machine.h でコメントアウトされている部分を、付属のコメン ト文を参照しながら、自分のマシン環境に合わせて、行頭にあ る "/*" を直後の ';' の前に移動させます。 特に、下記の 4 つの設定については、OS のデフォルトと管理 者の設定が異なっている場合があるので、注意して選択して下 さい。 CODEEUC OS では EUC 漢字コードを使っている。 (この識別子が未定義の場合は Shift JIS) DEFKCODE OS 標準で用いる漢字コードを示す文字 列。 UTF8DOC OS ではドキュメント用の漢字コードと して UTF-8 を使っている。 UTF8LANG 環境変数 LANG が「UTF」を含む場合に、 OS 標準で用いる漢字コードを示す文字 列。 TARUSESPACE tar(1) の t オプションの出力で、各行 のファイルモード文字列の後ろに、必ず 空白文字がついている。 以下の OS では、この 2 つ以外の変更の必要は特にありません。 無理に変更すると却って失敗しますので、そのまま次のステッ プに進んで下さい。 Sun SunOS (5.x) (free) Cygwin (1.x, 2.x) (free) Linux (2.x, 3.x) (free) FreeBSD (2.x, 3.x, 4.x, 5.x, 6.x, 11.x) (free) NetBSD (7.x) (free) OpenBSD (6.x) (free) MINIX (3.x) Google Android (1.x, 2.x, 3.x, 4.x) Apple Mac OS X (10.x) また、以下の OS は、Ver. 3.01 での動作確認は行なわれてい ませんが、各 OS 用のコードが記述されていますので、多分変 更の必要がないものと思われます。 少なくとも、無変更のままコンパイルが無事通るようであれば、 余計な変更は行なわない方が無難だと思います。 Sun SunOS (4.1.x) SONY NEWS-OS (3.2, 4.x, 6.x) SGI IRIX (R4.0.5, R5.x, R6.x) HP HP-UX (9.x, 10.01, 11.x) HITACHI HI-UX/WE2 (01-x, 02-01, 04-02) NEC EWS-UX/V(Rel4.x)(R5.3, R7.1, R8.1, R9.1, R10.1, R12.3, R13.1) OMRON UniOS-U (Ver3.00) OMRON UniOS-B (2.00) OMRON Luna/Mach (2.5) DEC OSF/1 (V1.2, V2.0, V3.2, V4.x, V5.x) DEC ULTRIX (V4.x) IBM AIX (3.x, 4.x) Apple A/UX (3.0) DG DG/UX (5.4) Fujitsu UXP/M (4.0, 4.1) Fujitsu UXP/DS (V10, V20) Mips RISC/os (4.x, 5.0x) NeXT NEXTSTEP (3.0) (free) 386BSD (R0.1) (free) NetBSD (1.x, 2.x, 3.x, 4.x, 5.x) (free) OpenBSD (2.x, 3.x, 4.x, 5.x) BSDI BSD/OS (1.1, 2.x, 3.0) JCC 4.4BSD-Lite (v1.0) ASCII BSD on Windows (1.0, 1.5) このどちらにも挙げられていない OS では、その OS の環境を 自動判定するプログラムが付属されていますので、make config とすれば環境設定ファイルが作成されます。 但し、この自動判定も完璧ではないので、うまくコンパイルで きないようなら、make config で作成される config.h を編集 し直して下さい。修正についての詳細は TECHKNOW を参照して 下さい。 逆に、上記のどちらかに挙げられている OS では、make config が却って不適切な結果をもたらすことがあるので、make config はしないで下さい。 特に Linux は UNIX の中でもかなり特殊な部類に属しますので、 Linux 用の特殊な処理が幾つか含まれています。これらの処理 は make config では自動認識されませんので、Linux では絶対 に make config をしてはいけません。 もし誤って make config を行なってしまった場合は、次のステ ップに進む前に make realclean を実行して下さい。 2. fd.h で定義されている定数の幾つかを、自分の好みに合わせて 変更します。各定数の意味は、マニュアルに書かれている環境 変数の項を参照して下さい。 環境変数名と全く同じ定数名にしてあります。判断できなけれ ばそのままにしておいて問題はありません。 また、PAGER, EDITOR の 2 つは、環境に応じて適当なコマンド 名に書き換えておくと良いでしょう。但し、該当するコマンド がどうしても用意できない場合にはその行をコメントアウトし ておいて下さい。 (PAGER: ファイル閲覧ソフト, EDITOR: テキストエディタ) 3. make。 標準ではコンパイラとして cc を用いますが、これ以外のもの を使いたい場合には「make CC=gcc」のように指定することが できます。この例の場合、gcc をコンパイラに用います。 クロスコンパイル環境では、「make CC=lcc80 HOSTCC=cc」の ように指定することで、クロスコンパイル用コンパイラとは別 に、コンパイル過程で生成されるローカルな実行ファイル用の コンパイラを指定することもできます。この例の場合、lcc80 をコンパイラに用い、ローカル用には cc を用います。 この時、同様に「CFLAGS」と「HOSTCFLAGS」、「CPPFLAGS」と 「HOSTCPPFLAGS」、「LDFLAGS」と「HOSTLDFLAGS」のように識 別子を指定することで、クロスコンパイル用とローカルコンパ イル用とで別々のコンパイルオプションを指定することもでき ます。 また、標準では /usr/local 以下にインストールすることを前 提としていますが、「make PREFIX=/usr」のようにパス指定す ることで、インストールパスを指定できます。この例の場合、 /usr 以下にインストールすることを前提とします。 同様に「make CONFDIR=/usr/local/etc」の用にパス指定する ことで、設定ファイルの置き場所を指定できます。 4. コンパイルされたものが無事に動くことを確認します。 5. Makefile.in にある TOPDIR 等のマクロを自分の環境に応じて 書き換えます。 ここで DEFRC を書き換えてしまった場合は、make clean をし てからもう一度 make します。この場合、各ドキュメントの記 載と矛盾することにはなりますが、プログラム実行には支障あ りません。 また、DICTSRC を書き換えることで、かな漢字変換辞書を標準 の単漢字辞書から他のものに変更することもできます。詳細は TECHKNOW の項目 11. を参照して下さい。 6. _fdrc を fdrc という名前でコピーし、fdrc を自分の環境に 応じて書き換えます。一から作成しても構いません。 予め用意してある _fdrc は飽くまでも設定例に過ぎません。 ここでの設定がシステム共通の設定となってしまうので、シス テム管理者としてのポリシーを持って、十分考えた上で仕上げ ましょう。 ここで fdrc を作成しなければ、システム共通の設定ファイル はインストールしません。その場合、ユーザの設定ファイルの み有効になります。 7. make install。 8. 正しくマニュアルがインストールされた (man fd できる) 場 合はここで終了です。 nroff が日本語対応でない等の理由でマニュアルが正しくイン ストールされない場合があります。例えば、文字化けしていた り、man コマンドがエラーメッセージを吐いたり。 その場合、プレーンテキスト版のマニュアルをインストールす れば、正しくマニュアルを参照できます。 make のターゲットを jcatman -> jcatman-b -> jcompman -> jcompman-b の順で変更しながら順次 man fd できるようになったか試して みて下さい。 make jcatman でも正しくインストールされていないなら、次の make jcatman-b を実行して... と続けます。 -b のついたターゲットでは、バックスペース文字 (^H) を解釈 できない端末用にインストールし、comp のついたターゲットは テキストを compress で圧縮してインストールします。 9. 終了。 -------- ・MS-DOS 版の場合 1. 以下のコンパイラで動作確認を行なっています。 djgpp 1.1x (g) djgpp 2.0x (d) LSI C-86 Ver. 3.5 (l) Borland C++ 5.xx (b) DOS/V, PC-98x1 用にそれぞれ makefile.?pc, makefile.?98 が 用意されていますので、これを用います。? の箇所には、それ ぞれのコンパイラに応じて上記の () 内の文字が入ります。 それぞれを makefile と改名しても良いですし、make 時に明示 的に make -f makefile.xxx と行なっても構いません。 (LSI C-86 試食版ではコンパイルできません。) 2. fd.h で定義されている定数の幾つかを、自分の好みに合わせて 変更します。各定数の意味は、マニュアルに書かれている環境 変数の項を参照して下さい。 環境変数名と全く同じ定数名にしてあります。判断できなけれ ばそのままにしておいて問題はありません。 また、PAGER, EDITOR の 2 つは、環境に応じて適当なコマンド 名に書き換えておくと良いでしょう。但し、該当するコマンド がどうしても用意できない場合にはその行をコメントアウトし ておいて下さい。 (PAGER: ファイル閲覧ソフト, EDITOR: テキストエディタ) 3. make。 4. コンパイル時にメモリ不足等でエラーになるようであれば、一 部の機能を縮小するために、TECHKNOW の項目 8. を参照しなが ら、config.hin で機能制限用識別子を定義した上で、再コンパ イルして下さい。 例: #define _NOTREE (ツリー表示画面が仕様不能) 5. make fd.doc でマニュアルファイルが作成されます。同様に、 README.doc, HISTORY.doc, FAQ.doc, LICENSES.doc の各種ドキ ュメントファイルも作成できます。 6. fd.exe と fd-unicd.tbl を、パスが通った同一のディレクトリ にコピーします。旧 DOS での LFN アクセス機能が必要でなけ れば、fd-unicd.tbl は必要ありません。 7. _fdrc を 自分の環境に応じて書き換え、fd2rc という名前で fd.exe と同一のディレクトリに置きます。一から作成しても 構いません。 予め用意してある _fdrc は飽くまでも設定例に過ぎません。 特に、MS-DOS 版では存在しないはずの設定も記述してありま すので、十分考えた上で仕上げましょう。 各ユーザ単位に設定ファイルを用意したい場合は、各ユーザの ホームディレクトリを表す環境変数 HOME をユーザ毎に設定し、 環境変数 HOME で表されるディレクトリ下に fd2.rc を設けま す。 なお、ヒストリファイル fd.hst も $HOME の下に作られます。 8. 終了。