GO32環境はサポートしていません。'#ifdef GO32' とかがソース中に 散見されるのは過去の遺跡とでも思ってください :-)
double scalbn(double x, int n) |
x*(2^n) を返す |
int ilogb(double x) |
2^n <= x < 2^(n+1) となるnを返す |
int finite(double x) |
x が有限の数なら1,+-Inf か NaN なら0 |
| CDEBUGFLAGS | 最適化、デバッグ関係のオプション |
| CC | 使用するCコンパイラ |
| CFLAGS | コンパイル時のオプション |
| RANLIB | ranlibプログラム(必要なければ : にでも) |
| SYSLIBS | 標準のもの以外に必要なライブラリ |
| BASEDIR | インストール先ディレクトリ |
| BINDIR | 実行ファイルのインストール先 |
| LIBDIR | ヘッダファイル、ライブラリのインストール先 |
| RANLIB | 上と同じ |
| SYSLIBS | 追加ライブラリ、pislのオプションなので -aux が必要 |
| BOOTPISL | -cc オプションの引数を適切に設定 |
| CDEBUGFLAGS | 最適化、デバッグ関係のオプション。 ちなみに Borland C++ では | |
| -k- | スタックフレーム省略可 | |
| -v- | デバッグ情報なし | |
| -R- | ブラウザ用情報なし | |
| -O2 | 時間優先の最適化 | |
| -Od | 最適化なし | |
| CC | 使用するCコンパイラ | |
| CFLAGS | コンパイル時のオプション。ちなみに Borland C++ では | |
| -w- | 警告を出力しない | |
| -4 | 80486命令セット | |
| LDFLAGS | リンク時のオプション。ちなみに Borland C++ では | |
| -l | bcc32 は次の引数をリンカに渡す | |
| /Tpe | .EXE を作成 | |
| /ap | コンソールアプリケーションを作成 | |
| AR | ライブラリアンの名前 | |
| BASEDIR | インストール先ディレクトリ | |
| BINDIR | 実行ファイルのインストール先 | |
| LIBDIR | ヘッダファイル、ライブラリのインストール先 | |
Borland C++ 用になっています。VC++ など、他のコンパイラを使用する
場合は全体をよくチェックしてください。pi\MkWin32 で all のところで
ややこしいことをしていますが、Borland C++ のmakeが長いコマンドライン
を実行できないためです。試したことはないですが Windows 95 では
(バッチファイルを処理するのが command.com であるため)これでもうまく
いかないかもしれません。その場合は pi\compiler でのmakeは普通には
不可能かもしれません。
pi\compiler\MkWin32
cygnus gcc 以外のWIN32
| PISLFLAGS | -cc オプションの引数を適切に設定 |
| AR | ライブラリアンの名前 |
EXEファイルを作成するところでコマンドラインが少々長くなります。
そのため Borland C++ 付属のmakeではエラーになります。Windows 95
でシェルが command.com しかない場合、手動でmakeするにしても普通
には不可能かもしれません。
pi/compiler/config.scm
| path-separate-char | パス名中のディレクトリ区切り文字 |
| cc-command-str | Cコンパイラのコマンドライン |
| cm-cc-command | cc-command-str で対応できない場合こちらで記述 |
| cm-cc-line | cm-cc-command でも対応できない場合こちらで記述 |
| ld-command-str | リンカのコマンドライン |
| cm-ld-command | ld-command-str で対応できない場合こちらで記述 |
| ld-lib-str | リンク時のライブラリ指定 |
| cm-ld-lib | ld-lib-str で対応できない場合こちらで記述 |
| output-option-str | リンク時の実行ファイル名指定オプション |
| cm-add-output-option | output-option-str で対応できない場合こちらで記述 |
| obj-suffix-str | オブジェクトファイルのサフィックス |
| cm-add-module | obj-suffix-str で対応できない場合こちらで記述 |
| cm-exit-status | system の返す値からステータスを求める式 |
| lib-environment-var | ヘッダファイル、ライブラリの場所を示す環境変数名 |
ファイルの末尾近くに invoke-compiler の定義があります。この定義を下の
コメントアウトされている定義に差し替えてください。
unix like なOSでのインストール手順
各ファイルを変更した後piでmakeします。
piで make install すれば $(BINDIR), $(LIBDIR) に実行ファイルと
ヘッダファイル、ライブラリがインストールされます。
cygnus gcc でのインストール手順
unix like なOSの場合と同様です。
make はファイル名の大文字小文字を区別するので注意してください。
PATH に "." が含まれていないと pi/compiler での make で失敗します。