Next: , Up: Manual Configuration


11.1 システムタイプの指定

他のGNU configureスクリプトのように,Autoconfが生成 した configureスクリプトでは,システムタイプの標準名に基づいて 決定することが可能で,それは以下のような形式になります. ‘cpu-vendor-os’で,osは, ‘system’や‘kernel-system’が可能です.

configureは,通常,実行しているシステムタイプの標準名を推測す ることが可能です.そうするために,config.guessと呼ばれるスクリ プトを呼び出し,それは,unameコマンドや,Cプリプロセッサが前もっ て定義したシンボルを使用して推測します.

その代わりとして,ユーザはconfigureへのコマンドライン引数で, システムタイプを指定可能です.それはクロスコンパイル時に必要です.クロス コンパイルで最も複雑な場合,三つのシステムタイプが呼び出されます.指定す るオプションは以下の通りです.

--build=build-type
パッケージがコンフィグレーションされコンパイルされるシステムのタイプです. デフォルトは,config.guessの実行結果になります.
--host=host-type
パッケージが実行されるシステムタイプです.デフォルトで,それはビルドマシ ンと同じになります.それを指定することでクロスコンパイルモードが使用可能 になります.
--target=target-type
コードを生成するパッケージ中のコンパイラツールに対するシステムのタイプで す(必要になることは滅多にありません).デフォルトはホストと同じです.

config.guessの結果に優先することを意図した場合, --hostはクロスコンパイルを利用可能にするものなので, --hostではなく--buildを使用してください.歴史的な理由 から,--hostを渡してもビルド形式を変更します.そのため, --hostを指定するときは常に--buildも確実に指定してください. これは将来,修正されるでしょう.

     ./configure --build=i686-pc-linux-gnu --host=m68k-coff

上記でクロスコンパイルモードになりますが,以下のようなコンフィグレーショ ンでは,指定されているコンパイラで生成されるコートが実行不可能なので, configureは失敗するでしょう.

     ./configure CC=m68k-coff-gcc

configureは,多くのシステムタイプに対する短い別名を認識します. 例えば,‘decstation’は‘mips-dec-ultrix4.2’の代わりに使用するこ とが可能です. configureは,システムタイプの別名を標準化するた めにconfig.subと呼ばれるスクリプトを実行します.

このセクションでは,故意に時代遅れのインターフェースの記述を省略してきま した.Hosts and Cross-Compilationを参照してください.