次: , 前: C Compiler, 上: Compilers and Preprocessors


5.10.4 C++コンパイラの特徴

— マクロ: AC_PROG_CXX ([compiler-search-list])

使用するC++コンパイラを定義します.環境変数CXXCCCが設定 されているかどうか(この順番で)調査します.その場合,出力変数をその値に設 定します.

それ以外でマクロが引数無しで呼び出されている場合,以下のような名前のC++ コンパイラを探します(最初がg++c++その後でそれ以外の名前 です).これらの調査がすべて失敗した場合,最後の手段でCXXg++に設定します.

しかし,このマクロはオプション引数を用いて呼び出すことが可能で,指定する 場合は,検索するC++コンパイラをスペースで区切ったリストにする必要があり ます.これで,ユーザがC++コンパイラに対する代わりの検索リストを指定する 機会が与えられます.例えば,デフォルトの順序がいやな場合は,以下のように してAC_PROG_CXXを呼び出すことが可能です.

          AC_PROG_CXX(cl KCC CC cxx cc++ xlC aCC c++ g++ egcs gcc)
     

GNU C++コンパイラを使用している場合,シェル変数GXXを `yes'に設定します.出力変数CXXFLAGSがまだ設定されていない 場合,GNU C++コンパイラに対しては-g -O2(`-g'を 受け入れないG++のシステムでは`-O2')を設定し,他のコンパイラでは `-g'を設定します.

— マクロ: AC_PROG_CXXCPP

出力変数CXXCPPを,C++プリプロセッサを実行するコマンドに設定します. `$CXX -E'が動作しない場合,/lib/cppを使用します..c.C,または.ccの拡張子を持つファイルでCXXCPPを実行す るのは移植性のためだけです.

プリプロセッサによっては,足りないインクルードファイルをエラーステータス で示さないものもあります.そのようなプリプロセッサに対して,内部変数は, プリプロセッサからの標準エラー出力を調査する他のマクロに設定され,警告が 報告されない場合はテストに失敗したと考えます.しかし,C++に対してそのよ うな壊れ方をしているプリプロセッサがあるかどうかは知りません.