次の表は、opensource COBOLプログラムのコンパイルで使用できる様々な環境変数を示している。
表8-4-環境変数コンパイラ
環境変数 | 使い方 |
---|---|
COB_CC | opensource COBOLで使用するCコンパイラの名前に設定する。 この機能の利用は自己責任である―opensource COBOLビルドが生成されたCコンパイラを常に使用する必要がある。 |
COB_CFLAGS33 |
cobcコンパイラからCコンパイラに渡すスイッチに設定する(cobcが指定するスイッチに加えて)。既定値は「-Iprefix/include」で、「prefix」は使用しているopensource COBOLのインストールパスである。 |
COB_CONFIG_DIR | opensource COBOLの「構成」ファイルが保存されているフォルダへのパスに設定する。構成ファイルの使用方法については、8.1.9で説明する。 |
COB_COPY_DIR | プログラムに必要なCOPYモジュールがプログラムと同じディレクトリに保管されていない場合は、この環境変数をCOPYモジュールが含まれているフォルダに設定する(IBMメインフレームプログラマはこれを「SYSLIB」と認識する)。COPYモジュールの使用に関する追加情報については、8.1.8で説明する。 |
COB_DATE | システム日付に任意の日付を「yyyy/mm/dd」の形式で設定する。 |
COB_IO_ASSUME_REWRITE | この環境変数に「Y」を設定することで、I-Oオプションでファイルを開いた時のWRITEをREWRITEに読み替えられるようにする。 |
COB_LDADD | プログラムとリンクする必要のある標準ライブラリが見つけられる場所を指定できる追加のリンカースイッチ(ld)に設定する。既定値は””(null)。 |
COB_LDFLAGS | cobcコンパイラからCコンパイラに渡すリンカ/ローダ(ld)スイッチに設定する(cobcが指定するスイッチに加えて)。既定値は未設定。 |
COB_LIBS | プログラムとリンクする必要のある標準ライブラリが見つけられる場所を指定するリンカースイッチ(ld)に設定する。既定値は「-Lprefix/lib-lcob」で、「prefix」は、使用しているopensource COBOLバイナリが作成されたときに指定されたパスプレフィックスである。 |
COB_NIBBLE_C_UNSIGNED | この環境変数に「Y」を設定することで、字類検査においてPIC 9項目の値に符号ニブル「C」を許容する。 |
COB_VERBOSE | この環境変数に「Y」を設定することで、SORT実行時に出力するメッセージを冗長化することが可能になる。 |
COBCPY | この環境変数は、コンパイラがCOPYモジュールを見つけられる場所を指定する追加手段を提供する(上記のCOB_COPY_DIRも参照)。COPYモジュールの使用に関する追加情報については、8.1.8で説明する。 |
LD_LIBRARY_PATH | 静的にリンクされたサブルーチンライブラリの使用を計画している場合は、この変数を、ライブラリを含むディレクトリへのパスに設定する。 |
OC_EXTEND_CREATES | この環境変数に「yes」を設定することで、EXTENDオプションでファイルを開く時に自動でファイルが生成される。 |
OC_IO_CREATES | この環境変数に「yes」を設定することで、I-Oオプションでファイルを開く時に自動でファイルが生成される。 |
OC_USERFH | この環境変数にCOBOLプログラム名を指定することで、COBOLのファイル処理をユーザ定義のプログラムで実行できるようになる。OPEN, CLOSE, DELETE, READ, REWRITE, START, WRITE, COMMIT, ROLLBACK, UNLOCKの処理がサポートされている。 |
TMPDIR TMP (この順番で確認) |
一時ファイルを作成するのに適したディレクトリ/フォルダに設定する。cobcによって作成された中間作業ファイルがここに生成される(不要になると削除される)。通常Windowsシステムでは、ログオン時にTMP環境変数が設定される。別の一時フォルダを使用する場合は、TMPDIRを自分で設定すれことで、TMPに依存する他のWindowsソフトウェアを中断する心配はない。 |
33
これらのスイッチは、高度なユーザによる特殊な状況での使用のみを目的としているため、使用は推奨していない。opensource COBOLの今後のリリースでは、cobcコマンドからCコンパイラやローダーに切り替えるためのより良い方法が導入される予定である。