構成ファイルのカスタマイズ

構成ファイルは、呼び出された時にコンパイラーが使用する情報を指定します。XL Fortran は、 インストール時にデフォルト構成ファイル /etc/opt/ibmcmp/xlf/10.1/xlf.cfg を 提供します。

単一ユーザー・システム上で実行している場合、またはコンパイル・スクリプトや makefiles を持つコンパイル環境をすでに 持っている場合は、デフォルトの構成ファイルをそのままにしておくこともできます。

それ以外の場合、特に多数のユーザーにいくつかの一連のコンパイラー・オプションの中から選択できるようにさせたい場合は、 次のように新しく命名したスタンザを構成ファイルに追加して、既存のコマンドにリンクする新規コマンドを作成することもできます。 たとえば、以下と同様の方法で指定して、xlf95 コマンドとのリンクを作成することができます。

ln -s /opt/ibmcmp/xlf/10.1/bin/xlf95 /home/username/bin/my_xlf95

他の名前でコンパイラーを実行すると、コンパイラーは対応するスタンザにリストされているオプション、ライブラリーなどを 使用します。

注:
  1. 構成ファイルには、リンクしたい他の名前付きスタンザが含まれています。
  2. デフォルトの構成ファイルに変更を加えてから、 別のシステムに makefiles を移動させたりコピーしたりする場合は、 変更した構成ファイルをコピーすることも必要です。
  3. 構成ファイル内では、タブを区切り文字として使用することはできません。 構成ファイルを修正する場合、字下げは必ずスペースで行ってください。

属性

構成ファイルには、以下の属性が含まれています。

use
属性の値は、ローカル・スタンザだけではなく、 指定したスタンザからも与えられます。 単一値属性の場合は、ローカル・スタンザまたはデフォルト・スタンザに値が指定されていないと、 use 属性の値が適用されます。 コンマで区切られているリストの場合は、 use 属性の値がローカル・スタンザの値に追加されます。 単一レベルの use 属性だけがサポートされています。 別の use 属性が入っているスタンザを指定する use 属性を指定してはなりません。
crt
32 ビット・モードで呼び出された場合、デフォルト (始動コードが入っているオブジェクト・ファイルのパス名)。 リンケージ・エディターに第 1 パラメーターとして渡されます。
crt_64
64 ビット・モードで呼び出された場合、 -q64 (たとえば、 始動コードが入っているオブジェクト・ファイルのパス名) を使用します。 リンケージ・エディターに第 1 パラメーターとして渡されます。
mcrt
crt の場合と同じですが、 オブジェクト・ファイルには -p オプションのプロファイル・コードがあります。
mcrt_64
crt_64 の場合と同じですが、 オブジェクト・ファイルには -p オプションのプロファイル・コードがあります。
gcrt
crt と同じですが、 オブジェクト・ファイルには -pg オプションのプロファイル・コードがあります。
gcrt_64
crt_64 と同じですが、 オブジェクト・ファイルには -pg オプションのプロファイル・コードがあります。
gcc_libs
32 ビット・モードで呼び出された場合、GCC ライブラリーのパスを指定し、GCC ライブラリーを リンクするリンカー・オプション。
gcc_libs_64
64 ビット・モードで呼び出された場合、GCC ライブラリーのパスを指定し、GCC ライブラリーを リンクするリンカー・オプション。
gcc_path
32 ビット・ツール・チェーンのパスを指定します。
gcc_path_64
64 ビット・ツール・チェーンのパスを指定します。
cpp
C プリプロセッサーの絶対パス名。 特定のサフィックス (通常は .F) で終わっているファイルに対して自動的に呼び出されます。
xlf
メイン・コンパイラー実行可能ファイルの絶対パス名。 コンパイラー・コマンドは、このファイルを実行するドライバー・プログラムです。
code
最適化コード生成プログラムの絶対パス名。
xlfopt
たとえば、コンパイラー・オプションとリンカー・オプションが同じ文字を使用している場合は、 コンパイラー・オプションと見なして、オプションの名前をリストします。 このリストは、連結されている単一文字フラグのセットです。 引数を取るフラグの後にはコロンが続き、リスト全体が二重引用符で囲まれます。
as
アセンブラーの絶対パス名。
asopt
たとえば、コンパイラー・オプションとアセンブラー・オプションが同じ文字を使用している場合は、 アセンブラー・オプションと見なして、オプションの名前をリストします。 このリストは、連結されている単一文字フラグのセットです。 引数を取るフラグの後にはコロンが続き、リスト全体が二重引用符で囲まれます。 -W コンパイラー・オプションによってアセンブラーにオプションを渡すよりも、 この属性を設定した方が便利です。
ld
リンカーの絶対パス名。
ldopt
たとえば、コンパイラー・オプションとリンカー・オプションが同じ文字を使用している場合は、 リンカー・オプションと見なして、オプションの名前をリストします。 このリストは、連結されている単一文字フラグのセットです。 引数を取るフラグの後にはコロンが続き、リスト全体が二重引用符で囲まれます。

認識されないオプションのほとんどは、いずれの場合もリンカーに 渡されますが、-W コンパイラー・オプションによってリンカーにオプションを渡すよりも、 この属性を設定した方が便利です。

options
コンマで区切られているオプションのストリング。 コンパイラーは、 これらのオプションが他のどのオプションよりも先にコマンド行に入力されたものと見なして処理します。 この属性を使用すると、通常使用されるオプションを中央の 1 か所に入れることができるため、 コマンド行を短くできます。
cppoptions
コンマで区切られているオプションのストリング。cpp (C プリプロセッサー) は、 これらのオプションが他のどのオプションよりも先にコマンド行に入力されたものと見なして処理します。 この属性が必要な理由は、XL Fortran でコンパイルできる出力を作成するのに、通常 cpp オプションがいくつか 必要になるからです。 デフォルト・オプションは -C で、これは出力に C スタイルのコメントを保持します。
fsuffix
Fortran ソース・ファイルに対して許可されているサフィックス。 デフォルトでは f です。 コンパイラーは単一コンパイル内のすべてのソース・ファイルが同じサフィックスを持つことを要求します。 したがって、他のサフィックスを持つファイル、 たとえば f95 などをコンパイルするには、 構成ファイル内のこの属性を変更するか、 -qsuffix コンパイラー・オプションを使用してください。 -qsuffix についての詳細は、 -qsuffix オプションを参照してください。
cppsuffix
XL Fortran でコンパイルする前に、 C プリプロセッサー (cpp) でファイルをプリプロセスする必要があることを示すサフィックス。 デフォルトでは F です。
osuffix
入力ファイルとして指定されているオブジェクト・ファイルを認識するのに使用されるサフィックス。 デフォルトでは o です。
ssuffix
入力ファイルとして指定されているアセンブラー・ファイルを認識するのに使用されるサフィックス。 デフォルトでは s です。
libraries
コンマで区切られている -l オプションで、 すべてのプログラムをリンクするのに使用するライブラリーを指定します。
smplibraries
-qsmp コンパイラー・オプションを指定してコンパイルされたプログラムをリンクするのに使用するライブラリーを指定します。
hot
配列言語の変換を行うプログラムの絶対パス名。
ipa
プロシージャー間最適化、ループ最適化、およびプログラムの 並列化を実行するプログラムの絶対パス名。
bolt
バインド・プログラムの絶対パス名。
defaultmsg
デフォルト・メッセージ・ファイルの絶対パス名。
include
コンパイル・インクルード・ファイルおよびモジュール・ ファイルに使用する検索パスを指示します。
include_32
32 ビット・コンパイル・インクルード・ファイルに使用される検索パスを指示します。
include_64
64 ビット・コンパイル・インクルード・ファイルに使用する検索パスを指示します。
注:
コンパイル・インクルード・ファイルに複数の検索パスを指定するには、次のように、 それぞれのパス・ロケーションをコンマで区切ります。
include = -l/path1, -l/path2, ...
関連情報:
-F オプションは、 別の構成ファイルか構成ファイルの特定のスタンザ、 あるいはその両方を選択するのに使用することができます。