Note: 寄稿者 Brian Gallew (<geek+@cmu.edu>)
gcc でデフォルトで特定のフラグを使うための設定は、 /usr/local/lib/gcc-lib/platform/version/specs ファイルを編集するだけの簡単な作業です。このファイルのフォーマットはシンプル です。ファイルは三行ずつの節に分かれています。最初の行は "*section_name:" (例 "*asm:")のようになります。 二行目はフラグのリストで、三行目は空行です。
最も簡単な変更は、求められるデフォルトフラグを相応しい節のリストに 追加することです。例えば、筆者が gcc 2.7.2 をデフォルト位置に インストールした '486 上で起動する Linux を持っているとします。 ファイル /usr/local/lib/gcc-lib/i486-linux/2.7.2/specs の中の 13 行目に下記のような部分があります。
- ----------SECTION---------- *cc1: - ----------SECTION----------見ておわかり頂けるように、デフォルトフラグは何もありません。もし C コードのコンパイルでいつも "-m486 -fomit-frame-pointer" を 使いたければ下記のように変更を加えます。
- ----------SECTION---------- *cc1: - -m486 -fomit-frame-pointer - ----------SECTION----------もし放置された別のもっと古いLinux のために 386 コードを作成したければ 下記のように変更しなければなりません。
- ----------SECTION---------- *cc1: %{!m386:-m486} -fomit-frame-pointer - ----------SECTION----------これは常にフレームポインタを省略します。-m386 がコマンドラインで 指定されない限り 486 に最適化されたコードを作成します。
specs ファイルでは実際に沢山のカスタマイズをすることができます。 しかし、これらの変更はグローバルでありシステム上の全てのユーザに 影響するということを覚えておいて下さい。