構成ファイル内のコンパイラー・オプションの指定

デフォルト構成ファイル (/etc/opt/ibmcmp/vac/7.0/vac.cfg) は、コンパイラー用の値およびコンパイラー・オプションを定義します。コンパイラーは、C または C++ プログラムをコンパイルするときにこのファイルを参照します。構成ファイルはプレーン・テキスト・ファイルであり、特定のコンパイル要件をサポートするためか、または別の C または C++ コンパイル環境をサポートするために、このファイルに項目を作成することができます。

構成ファイルで指定したほとんどのオプションは、オプションのデフォルト設定をオーバーライドします。同様に、構成ファイルで指定されたほとんどのオプションは、逆に、ソース・ファイル内またはコマンド行上で設定されたオプションでオーバーライドされます。この方式に従わないオプションについては、『矛盾するコンパイラー・オプションの解決』にリストします。

構成ファイルの調整

デフォルト構成ファイルのテンプレートのテンプレートは、 /opt/ibmcmp/vac/7.0/etc/vac.base.cfg にインストールされます。

初めてコンパイラーを使用する前に、 vac_configure ユーティリティーを使用して、テンプレート・ファイルに基づいた独自の構成ファイルを作成する必要があります。デフォルトでは、 vac_configure ユーティリティーは、新しい構成ファイルを /opt/ibmcmp/vac/7.0/etc/vac.base.cfg に作成します。後で、新たに作成した構成ファイルを変更して、特定のコンパイル要件をサポートさせるか、または別の C または C++ コンパイル環境をサポートさせることができます。構成ファイル作成に関して詳しくは、「インストール・ガイド」を参照してください。

既存のスタンザを変更するか、または新しいスタンザを構成ファイルに追加することができます。例えば、-qnoroxlC コンパイラー呼び出しコマンドのデフォルトにするには、構成ファイルのコピー版の xlC スタンザに -qnoro を追加します。

さまざまな複数の名前に、コンパイラー呼び出しコマンドをリンクさせることができます。コンパイラーを起動するときに指定する名前により、コンパイラーが使用する構成ファイルのスタンザが決まります。構成ファイルのコピーにほかのスタンザを追加して、ユーザー固有のコンパイル環境をカスタマイズすることができます。コンパイラー呼び出しコマンドで -F オプションを使用して、追加のスタンザを選択するか、または別の構成ファイル内の特定のスタンザを指定するためのリンクを作成することができます。例を以下に示します。

xlc myfile.c -Fmyconfig:SPECIAL

これにより、ユーザーの作成した myconfig.cfg 構成ファイルの SPECIAL スタンザを使用して、 myfile.c をコンパイルします。

構成ファイルの属性

構成ファイルには、いくつかのスタンザが含まれます。以下は、構成ファイル内のスタンザによって定義される項目の一部です。

as アセンブラーで使用されるパス名です。デフォルトは /usr/bin/as です。
ccomp C フロントエンドです。デフォルトは /opt/ibmcmp/vac/7.0/exe/xlcentry です。
code コンパイラーのコード生成フェーズで使用されるパス名です。デフォルトは /opt/ibmcmp/vac/7.0/bin/xlCcode です。
codeopt コンパイラーのコード生成フェーズ用のオプション・リストです。
crt リンケージ・エディターへの先頭パラメーターとして渡されるオブジェクト・ファイルのパス名です。 -p-pg オプションのいずれも指定しない場合、 crt 値が使用されます。デフォルトは /usr/lib/crt1.o です。
csuffix ソース・プログラムのサフィックスです。デフォルトは c (小文字の c) です。
dis 逆アセンブラーのパス名です。デフォルトは /opt/ibmcmp/vac/7.0/exe/dis です。
gcrt リンケージ・エディターへの先頭パラメーターとして渡されるオブジェクト・ファイルのパス名です。 -pg オプションを指定すると、gcrt 値が使用されます。デフォルトは /usr/lib/gcrt1.o です。
ld C または C++ プログラムのリンクに使用されるパス名。デフォルトは /usr/bin/ld です。
ldopt コンパイラーのリンケージ・エディター部分に送られるオプション・リストです。これらは、コンパイラーによる標準処理のすべてをオーバーライドして、リンケージ・エディターに送られます。対応するフラグにパラメーターを指定する場合、ストリングは、1 つの文字の後にコロン (:) が続く形のフラグ文字の連結として、getopt() サブルーチン用にフォーマットされます。
libraries2 コンマで区切られたライブラリー・オプションです。コンパイラーは、最後のパラメーターとしてこのオプションをリンケージ・エディターに渡します。 libraries2 は、リンケージ・エディターがプロファイルおよび非プロファイルの両方に応じてリンク・エディット時に使用するライブラリーを指定します。デフォルトは空です。
mcrt -p オプションを指定した場合に、リンケージ・エディターへの先頭パラメーターとして渡されるオブジェクト・ファイルのパス名です。デフォルトは /usr/lib/gcrt1.o です。
options コンマで区切られたオプション・フラグのストリングです。このストリングは、コマンド行で入力されたかのように、コンパイラーにより処理されます。
osuffix オブジェクト・ファイルのサフィックスです。デフォルトは .o です。
use 属性の値は、名前付きのスタンザまたはローカル・スタンザから採用されます。単一値属性の場合、ローカルまたはデフォルトのスタンザに値が指定されていないと、 use スタンザの値が適用されます。コンマで区切られたリストの場合、use スタンザの値が、ローカル・スタンザの値に追加されます。
xlc xlc コンパイラー・コンポーネントのパス名。デフォルトは /opt/ibmcmp/vac/7.0/bin/xlc です。
xlC xlC コンパイラー・コンポーネントのパス名です。デフォルトは /opt/ibmcmp/vacpp/7.0/bin/xlC です。

関連概念

コンパイラー・オプション

関連タスク

コンパイラーの起動
コマンド行におけるコンパイラー・オプションの指定
プログラム・ソース・ファイル内のコンパイラー・オプションの指定
アーキテクチャー固有の (32 ビットまた は 64 ビットの) コンパイル用コンパイラー・オプションの指定
矛盾するコンパイラー・オプションの解決

関連参照

コンパイラーのコマンド行オプション IBM Copyright 2003